@charset "UTF-8";

/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/
	v2.0 | 20110126
	License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {	margin: 0;	padding: 0;	border: 0;	font-size: 100%;	font: inherit;	vertical-align: baseline;	box-sizing:border-box;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {	display: block;}
body {	line-height: 1;}
ol, ul {	list-style: none;}
blockquote, q {	quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {	content: '';	content: none;}
table {/* border-collapse: collapse; *//* border-spacing: 0; */}

form button:hover{ cursor: pointer; cursor: hand; opacity: 0.8; }
	.wysiwyg  iframe{ max-width: 100%; }


.fadeCom{opacity: 0; -webkit-transition: 1500ms ease; -o-transition: 1500ms ease; transition: 1500ms ease; -webkit-transform: translate3d(0, 30px, 0) scale(0.9825, 0.9825); -ms-transform: translate3d(0, 30px, 0) scale(0.9825, 0.9825); transform: translate3d(0, 30px, 0) scale(0.9825, 0.9825); -webkit-transition-property: opacity,transform; -o-transition-property: opacity,transform; transition-property: opacity,transform; }
 /* ===== 表示 ===== */
.fadeCom__On{-webkit-transform:translate3d(0, 0, 0) scale(1,1); -ms-transform:translate3d(0, 0, 0) scale(1,1); transform:translate3d(0, 0, 0) scale(1,1); opacity: 1; }


    /*確認画面と完了画面を非表示*/
    .confirm_area,
    .thanks_area {
        display: none;
    }

    /*デフォルトのサンクスメッセージを非表示*/
    .wpcf7-response-output{
        display: none;
    }
#systmttl{ display: none;}

.grecaptcha-badge{z-index: 30;}

@media screen and (min-width: 768px),print {

#index header .logo-icon{position: absolute;top: 30px;left: 75px;width: 110px;}
#index header .logo-icon img{}
header .logo-icon{position: absolute;top: 20px;left: 25px;width: 85px;}
header .logo-icon img{ width: 100%;}

.l-inner {
	max-width: 1920px;
	width: 100%;
	margin-inline: auto;
}
.btn a {
	background: #fff;
	border-radius: 36px;
	display: inline-block;
	font-size: 25px;
	font-weight: 600;
	letter-spacing: 0em;
	line-height: 1.6;
	padding: 12px 0 8px;
	position: relative;
	width: 353px;
}

.btn a::after {
	background: url(../images/index/online_arrow.svg) no-repeat center center/contain;
	content: "";
	height: 16px;
	position: absolute;
	right: 27px;
	top: 21px;
	width: 24px;
}
/*end-contact*/
#end-contact {
	background: #2E2930;
}
.l-inner.l-end-contact {
	padding: 95px 0px 120px;
}
.p-end__contents {
	display: grid;
	gap: 0 131px;
	grid-template-columns: 436px 360px;
	left: -37px;
	margin-inline: auto;
	max-width: 923px;
	position: relative;
	width: 95%;
}
.p-end__contents::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 245px;
	background: #fff;
	left: calc(50% + 38px);
	top: 20px;
}
.p-end__contents-left p {
	color: #fff;
}
.p-end__contents-left p.top {
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.5909090909;
	margin-bottom: -11px;
}
.p-end__contents-left p.bottom {
	font-size: 80px;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.6;
	margin-bottom: 20px;
}
.p-end__btn {
	text-align: center;
}
.p-end__btn a {
	border-radius: 47px;
	padding: 18px 134px 22px;
	border-radius: 47px;
	text-align: center;
	font-size: 33px;
	line-height: 1.5;
	letter-spacing: 0em;
	background: #fff;
	position: relative;
	width: 100%;
}
.p-end__btn a::after {
	content: "";
	position: absolute;
	top: 32px;
	right: 45px;
	background: url(../images/common/arrow_black.svg) no-repeat center center / contain;
	width: 23px;
	height: 17px;
}
.p-end__contents-right {
	padding-top: 25px;
}
.p-end__list01 {
	margin-bottom: 19px;
}
.p-end__list01 li {
	color: #fff;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.17em;
	line-height: 1.9090909091;
}
.p-end__list02 li {
	color: #fff;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.6666666667;
}

/*footer*/
#footer {

}
.l-inner.l-footer {
	margin-inline: auto;
	max-width: 1160px;
	padding: 87px 0px 104px;
	width: 95%;
	position: relative;
	left: 30px;
}
#footer .f-link-Box {
	display: grid;
	gap: 0 204px;
	grid-template-columns: 280px minmax(0, 1fr);
}
#footer .f-logo {
	margin-bottom: 34px;
}
#footer .f-logo span.top {
	font-size: 19px;
	font-weight: 600;
	letter-spacing: 0.26em;
	line-height: 1.4736842105;
}
#footer .f-logo span.bottom {
	font-size: 36px;
	font-weight: 600;
	letter-spacing: 0.32em;
	line-height: 1.5555555556;
	margin-left: 12px;
}
#footer .f-link {
	align-items: center;
	display: flex;
	gap: 0 40px;
	position: relative;
	top: -15px;
}
#footer .f-link li a {
	display: inline-block;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 0.05;
}
#footer .copyright {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.625;
}


/* base */
body { font-size: 16px; overflow-x: hidden; line-height: 1.6; letter-spacing: 0.8px;color: #000; }
main {max-width: 1920px;width: 100%;margin-inline: auto;}
header{max-width: 1920px;width: 100%;margin-inline: auto;}
header .header-wrap {display: grid;grid-template-columns: repeat(1,1fr);gap: 161px 0;align-items: center;width: 285px;height: 890px;padding: 182px 0 80px;position: relative;}
header .h-logo{ position: relative; left: -13px;}
header .h-logo a{display: grid;grid-template-columns: 1fr;grid-gap: 34px;justify-items: center;}
header .h-logo img.top{width: 19px;height: auto;}
header .h-logo img.bottom{width: 34px;height: auto;}
header .h-link-list{display: grid;grid-template-columns: repeat(1,1fr);gap: 29px 0;position: relative;padding-left: 94px;}
header .h-link-list li {width: 100%; }
header .h-link-list li a::before {content: "";position: absolute;width: 10.5px;height: 1px;left: -28px;top: 12px;background: #000;}
header .h-link-list li a {font-size: 18px;font-weight: 500;display: block;position: relative;}

header .header-wrap-page {display: flex;align-items: center;justify-content: space-between;padding: 34px 40px 36px 135px;}
header .header-wrap-page a {display: flex;align-items: center;gap: 0 20px;}
header .header-wrap-page a span.left {font-size: 19px;line-height: 1.6;letter-spacing: 0.26em;}
header .header-wrap-page a span.right {font-size: 36px;line-height: 1.6;letter-spacing: 0.32em;}
header .h-link-list.page{display: flex;align-items: center;gap: 0 61px;position: relative;padding-left: 0;top: -10px;}
header .h-link-list.page li a {font-size: 16px;line-height: 0.06;letter-spacing: 0.08em;white-space: nowrap;}
header .h-link-list.page li a:before {top: -1px;}
header .header-wrap-page a:hover {text-decoration: none;}

header .btn01{position: absolute;right: 320px;top: 30px;}
header .btn02{position: absolute;right: 230px;top: 30px;}

#pullnavi { opacity: 0; transition: opacity 0.3s, transform 0.3s; transform: translateY(-100%); }
#pullnavi.upMove { opacity: 0; transform: translateY(-100%); }
#pullnavi.dwMove { opacity: 1; transform: translateY(0); }

#pullnavi {position: fixed;top: 0;left: 0;z-index: 10;}
#pullnavi {background: #fff;width: 100%;box-shadow: 0px 3px 20px #00000029;}
#pullnavi .inbox{width: 100%;min-width: 1280px;height: 70px;margin: 0px auto 20px auto;padding-top: 14px;position: relative;}

.pc-menu{ position: fixed; top: 0; right: 0;  z-index: 9999; }
.pc-menu:hover{ opacity: 0.8; cursor: pointer; cursor: hand;}

.side-fix{position: fixed;top: 110px;right: 0;z-index: 10;}

#pc-menu-open{ display: none; background: #f8f8f8; width: 100vw; height: 100vh; position: fixed; top: 0; z-index: 10000; overflow-y: scroll; }
#pc-menu-open .open-close-01{ position: absolute; top: 0; right: 0; }

#pc-menu-open { background: #ccc; padding: 80px 0; line-height: 1.6; }
#pc-menu-open  .menu-open-Box{ width: 1100px; margin: 0 auto; font-size: 16px;}
#pc-menu-open  .f-link-Box{ width: 770px; float: left;  }
#pc-menu-open  .f-link-Box .f-home-link { margin-bottom: 40px;}
#pc-menu-open  .f-link-Box .f-home-link::before { content: "■ "; }
#pc-menu-open  .f-link-Box .parent{ font-size: 14px; color: #fff; }
#pc-menu-open  .f-link-Box .child{ font-size: 14px;}
#pc-menu-open  .f-link-Box .child::before{ content: "- "; padding-right: 5px;}
/*#pc-menu-open  .f-link-Box li::before{ content: "> "; }*/
#pc-menu-open  .f-link-Box li{ margin-bottom: 10px; }
#pc-menu-open  .f-link-l{ float: left; width: 180px; margin-right: 40px; }
#pc-menu-open  .f-link-c{ float: left; width: 180px; margin-right: 40px }
#pc-menu-open  .f-link-r{ float: left; width: 180px; }
#pc-menu-open  .menu-open-con-Box{ width: 320px; float: left; }
#pc-menu-open  .menu-open-con-Box .sns-list{display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;-webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;}

#g-nav{ width: 1100px; margin: 0px auto 10px auto; padding: 20px 0; text-align: center; font-size: 16px;}
#g-nav li.list { position: relative; display: inline-block; margin-right: 2px;}
#g-nav li.list span { cursor: pointer;}
#g-nav li.list span,
#g-nav li.list a{ border-right: 1px solid #999; display: block; text-align: center; padding: 10px 20px; }
#g-nav li.list:first-child a { border-left: 1px solid #999;}
#g-nav .dropmenu li.list ul.sub { visibility: hidden; opacity: 0; transition: 0s; position: absolute; top: 35px; left: 0; margin: 0; padding: 0; z-index: 500; width: 220px;}
#g-nav .dropmenu li.list:hover ul { visibility: visible; opacity: 1; display: block; }
#g-nav .dropmenu li.list ul li:last-child a { border-bottom: 1px solid #ccc; }
#g-nav .dropmenu li.list ul li a { visibility: hidden; opacity: 0; transition: 0.9s; background: #fff; display: block; width: 220px; padding: 10px; color: #000; border: 1px solid #ccc; border-bottom: none; }
#g-nav .dropmenu li.list:hover ul li a { visibility: visible; opacity: 1; }

.open-main-Box{ width: 1200px; margin: 0 auto; text-align: center; }

/* common */

/* 2カラムサイト----------------
#tow-cl{ width: 1100px; margin: 0 auto; padding: 20px 0;}
#tow-cl main{ width: 800px!important; float: left;  }
#tow-cl #side{ width: 280px; float: left; margin-right: 19px; background: #333; height: 800px; }
#blog #tow-cl #side{ display: none;}
#blog #tow-cl main{ width: 1100px !important;}*/
/* 1カラムサイト */
/*#one-cl{ }*/


.main-title{background:#F9F9F9;padding: 78px 0 87px;max-width: 1920px;width: 100%;margin-inline: auto;}
.main-title .jp {display: block;font-size: 20px;line-height: 1.6;letter-spacing: 0;margin-bottom: 1px;max-width: 1763px;width: 95%;margin-left: auto;}
.main-title .en { display: block; font-size: 43px; letter-spacing: 0; font-weight: 600; text-transform: uppercase;max-width: 1763px;width: 95%;margin-left: auto;}
h2.sub-title{ padding: 25px 20px 10px; margin-bottom: 50px; font-size: 28px; font-weight: bold; letter-spacing: 2px; text-align: center; border-bottom: solid 2px #000;}
.seo_bread_list{ width: 1200px; margin: 0 auto 20px; }
.seo_bread_list li{ margin-right: 20px; float: left;  }
.seo_bread_list li::after{ content: " >"; }
.seo_bread_list li:last-child::after{ content: ""; }

/*pc・タブレットcss*/
/*pc_defaultset*/
.pc { display: block !important; }
/*pcのみ表示ブロック*/
.pc2 { display: inline-block !important; }
/*pcのみ表示ブロック*/
.sp, .sp2 { display: none !important; }
/*スマホのみ表示ブロック*/
.h_menu { display: none; }
/*スマホ用ヘッダ*/
.sp-header { display: none; }
/*スマホ用メニュー*/
#sp-global-nav { display: none; }
/*スマホ用メニュー*/
.sp-fix-list { display: none; }
/* Antialiasing ※任意　*/

.fit img { object-fit: cover; font-family: "object-fit: cover;"; }

html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none;  }

/* WEB FONTs 游ゴシックかすれ予防*/
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 200; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 300; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 400; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold"); font-weight: bold; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 100; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 200; }
.f-min { font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }
.f-min-02 { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","Sawarabi Mincho","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
.f-gothic { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック","Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  Verdana, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}


body {-webkit-text-size-adjust: 100%;}
img { vertical-align: bottom; }
a { text-decoration: none; color: #090909; }
a:hover { text-decoration: underline; }
.nobd a:hover { text-decoration: none !important; }

/* clearfix */
.clearfix { zoom: 1; }
.clearfix:after { display: block; clear: both; height: 0; visibility: hidden; line-height: 0; content: "."; }
/* wysiwyg */
.wysiwyg { word-wrap: break-word; margin-bottom: 30px;}
.wysiwyg strong { font-weight: bolder; }
.wysiwyg em { font-family: "ＭＳ ゴシック",sans-serif; font-style: italic; }
.wysiwyg img { max-width: 100% !important; height: auto; }
.wysiwyg p { min-height: 15px; min-width: 10px; line-height: 1.6;}
.wysiwyg h1, .wysiwyg h2, .wysiwyg h3, .wysiwyg h4, .wysiwyg h5, .wysiwyg h6 { color: inherit; font-weight: bold; text-align: left;}
.wysiwyg h1 { padding: 12px 24px; font-size: 24px; line-height: 1.6; margin: 10px 5px 40px;}
.wysiwyg h2 { padding: 12px; font-size: 22px; line-height: 1.6; margin: 10px 5px 40px;}
.wysiwyg h3 { padding: 5px 20px; font-size: 20px; line-height: 1.6;  margin: 10px 5px 40px;}
.wysiwyg h4 { padding: 0 0 10px; font-size: 18px; line-height: 1.6;  margin: 10px 5px 40px;}
.wysiwyg h5 { padding: 0 0 10px; font-size: 18px; line-height: 1.6;  margin: 10px 5px 40px;}
.wysiwyg h6 { padding: 10px; font-size: 16px; line-height: 1.6;  margin: 10px 5px 40px;}
.wysiwyg ul { list-style-type: disc; line-height: 1.6; font-size: 16px; margin: 5px 0 10px 20px}
.wysiwyg ol { list-style-type: decimal; line-height: 1.6; font-size: 16px; margin: 5px 0 10px 20px}
.wysiwyg table{ table-layout: fixed;}
.wysiwyg table th,
.wysiwyg table td { border: 1px solid #999; padding: 10px; font-size: 16px; margin: 10px 5px;}
.wysiwyg iframe{ height: 500px !important; width: 800px !important; margin: 0 auto 40px; display: block;}

/* リンク透明 */
a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
/* リンク透明にしない */
.noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
/*---------------------------------------- 　　外部サービス ----------------------------------------*/
/* ggmap */
/* <div class="ggmap">iframeのコピーしたコード</div> */
.ggmap { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }
.ggmap iframe, .ggmap object, .ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
/*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
@font-face { font-family: 'jp-sttl01';
/* お好きな名前にしましょう */
src: url("../font/.eot");
/* IE9以上用 */
src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
/* iOS, Android用 */
/* 念の為指定しておきます */
font-weight: normal;
/* 念の為指定しておきます */
font-style: normal; vertical-align: top; margin: 0px; padding: 0px; }
.myWebFontClass { font-family: 'jp-sttl01'; }
}


@media screen and (min-width:768px) and (max-width:1919px) {
header {max-width: 100vw; width: 100%; margin-inline: auto;}
header .header-wrap {display: grid;grid-template-columns: repeat(1, 1fr);gap: 4.39vw 0;align-items: center;width: 14.851vw;height: 46.378vw;padding: 11.4vw 0 4.169vw;}
header .h-logo {position: relative; left: -0.677vw;}
header .h-logo a {display: grid; grid-template-columns: 1fr; grid-gap: 1.772vw; justify-items: center;}
header .h-link-list {display: grid; grid-template-columns: repeat(1, 1fr); gap: 1.511vw 0; position: relative; padding-left: 2.8vw;}
header .h-link-list li {width: 100%;}
header .h-link-list li a::before {content: ""; position: absolute; width: 0.547vw; height: 0.052vw; left: -1.459vw; top: 0.6vw; background: #000;}
header .h-link-list li a {font-size: 0.938vw; font-weight: 500; display: block;position: relative;}

#index header .logo-icon{position: absolute;top: 2vw;left: 3vw;width: 8vw;}
#index header .logo-icon img{width: 100%;}

}


@media screen and (min-width:768px) and ( max-width:1280px) {
.l-inner.l-footer {
	left: 0;
}
}

@media screen and (min-width:768px) and ( max-width:1250px) {
/*footer*/
#footer {

}
.l-inner.l-footer {
	margin-inline: auto;
	max-width: 92.8vw;
	padding: 6.96vw 0px 8.32vw;
	width: 95%;
	position: relative;
	left: 2.4vw;
}
#footer .f-link-Box {
	display: grid;
	gap: 0 5.32vw;
	grid-template-columns: 23.4vw minmax(0, 1fr);
}
#footer .f-logo {
	margin-bottom: 2.72vw;
}
#footer .f-logo span.top {
	font-size: 1.52vw;
	font-weight: 600;
	letter-spacing: 0.26em;
	line-height: 1.4736842105;
}
#footer .f-logo span.bottom {
	font-size: 2.88vw;
	font-weight: 600;
	letter-spacing: 0.32em;
	line-height: 1.5555555556;
	margin-left: 0.96vw;
}
#footer .f-link {
	align-items: center;
	display: flex;
	gap: 0 3.2vw;
	position: relative;
	top: -1.2vw;
}
#footer .f-link li a {
	display: inline-block;
	font-size: 1.6vw;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 0.05;
}
}




@media screen and (max-width: 1200px) {
html {overflow: auto;}
body {overflow: visible;}
}

@media screen and (min-width:768px) and ( max-width:1100px) {
.p-end__contents {
	left: 0;
}
}

@media screen and (min-width:768px) and ( max-width:900px) {
/*end-contact*/
#end-contact {
	background: #2E2930;
}
.l-inner.l-end-contact {
	padding: 10.556vw 0px 13.333vw;
}
.p-end__contents {
	display: grid;
	gap: 0 2.556vw;
	grid-template-columns: 48.444vw 40vw;
	/* left: -4.111vw; */
	margin-inline: auto;
	max-width: 102.556vw;
	position: relative;
	width: 95%;
}
.p-end__contents-left p {
	color: #fff;
}
.p-end__contents-left p.top {
	font-size: 2.444vw;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.5909090909;
	margin-bottom: -1.222vw;
}
.p-end__contents-left p.bottom {
	font-size: 8.889vw;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.6;
	margin-bottom: 2.333vw;
}
.p-end__btn {
	text-align: center;
}
.p-end__btn a {
	border-radius: 5.222vw;
	padding: 2vw 11.111vw 2.444vw;
	border-radius: 5.222vw;
	text-align: center;
	font-size: 3.667vw;
	line-height: 1.5;
	letter-spacing: 0em;
	background: #fff;
	position: relative;
}
.p-end__btn a::after {
	content: "";
	position: absolute;
	top: 3.2vw;
	right: 5vw;
}
.p-end__contents::before {
	content: "";
	position: absolute;
	width: 0.111vw;
	height: 27.222vw;
	background: #fff;
	left: calc(50% + 2.222vw);
	top: 1.111vw;
}
.p-end__contents-right {
	padding-top: 2.778vw;
}
.p-end__list01 {
	margin-bottom: 2.111vw;
}
.p-end__list01 li {
	color: #fff;
	font-size: 2.444vw;
	font-weight: 600;
	letter-spacing: 0.17em;
	line-height: 1.9090909091;
}
.p-end__list02 li {
	color: #fff;
	font-size: 2vw;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.6666666667;
}
header .h-logo img.top{width: 2.111vw;height: auto;}
header .h-logo img.bottom{width: 2.778vw;height: auto;}
}

@media screen and (min-width:768px) and ( max-width:900px) {
header .header-wrap-page {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 34px 16px 36px 131px;
}
header .header-wrap-page a span.left {
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.26em;
}
header .header-wrap-page a span.right {
	font-size: 24px;
	line-height: 1.6;
	letter-spacing: 0.32em;
}
header .h-link-list.page {
top: 0;
}
header .h-link-list.page li a {
	font-size: 14px;
	line-height: 0.06;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

}



@media screen and (max-width: 767px) {

header .logo-icon{position: absolute;top: 3.8vw;left: 3.5vw;width: 12vw;}
header .logo-icon img{ width: 100%;}

.l-inner {
	width: 100%;
	margin-inline: auto;
}
.btn a {
	background: #fff;
	border-radius: 8.696vw;
	display: inline-block;
	font-size: 6.039vw;
	font-weight: 600;
	letter-spacing: 0em;
	line-height: 1.6;
	padding: 1.932vw 0;
	position: relative;
	width: 85.266vw;
}
.btn a::after {
	background: url(../images/index/online_arrow.svg) no-repeat center center/100%;
	content: "";
	height: 3.382vw;
	position: absolute;
	right: 6.039vw;
	top: 4.8vw;
	width: 6.589vw;
	/* height: 10vw; */
}
/*end-contact*/
#end-contact {
	background: #2E2930;
}
.l-inner.l-end-contact {
	padding: 15vw 0px 18.599vw;
	display: grid;
	grid-template-columns: repeat(1,minmax(0, 1fr));
	max-width: 82.1vw;
	width: 95%;
	margin-inline: auto;
}
.p-end__contents {
	display: contents;	
}
.p-end__contents-left {
	display: contents;
}
.p-end__contents-left p {
	color: #fff;
}
.p-end__contents-left p.top {
	font-size: 4.348vw;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.6;
	margin-bottom: -2vw;
	order: 1;
}
.p-end__contents-left p.bottom {
	font-size: 12.077vw;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.6;
	padding-bottom: 6.454vw;
	border-bottom: 0.2vw solid #fff;
	margin-bottom: 0.662vw;
	order: 2;
}
.p-end__btn {
	text-align: center;
	order: 4;
	position: relative;
	left: -4vw;
}
.p-end__btn a {
	border-radius: 11.353vw;
	padding: 2.314vw 0;
	text-align: center;
	font-size: 6.039vw;
	line-height: 1.6;
	letter-spacing: 0em;
	background: #fff;
	position: relative;
	width: 110%;
	display: inline-block;
}
.p-end__btn a::after {
	content: "";
	position: absolute;
	top: 4.5vw;
	right: 8vw;
	background: url(../images/common/arrow_black.svg) no-repeat center center / contain;
	width: 4.348vw;
	height: 5.797vw;
}
.p-end__contents-right {
	padding-top: 7.729vw;
	order: 3;
}
.p-end__list01 {
	margin-bottom: 4.039vw;
}
.p-end__list01 li {
	color: #fff;
	font-size: 4.831vw;
	font-weight: 600;
	letter-spacing: 0.11em;
	line-height: 1.7;
}
.p-end__list02 {
	margin-bottom: 11.662vw;
}
.p-end__list02 li {
	color: #fff;
	font-size: 3.865vw;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.625;
}

/*footer*/
#footer {

}
.l-inner.l-footer {
	padding: 24.155vw 0 22.464vw;
}
#footer .f-link-Box {
	
}
#footer .f-logo {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 8.522vw;
	justify-items: center;
	margin-bottom: 14.014vw;
}
#footer .f-logo img.top {
	width: 4.589vw;
	height: auto;
}
#footer .h-logo img.bottom {
	width: 8.696vw;
	height: auto;
}
#footer .copyright {
	font-size: 3.865vw;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.625;
	text-align: center;
	display: block;
}



.mw_wp_form input[type="file"] { display: inline-block; width: 100%; font-size: 3.8vw; }
html{ font-size:62.5%;}

body { overflow: hidden; font-size: 3.6vw; font-family: sans-serif; -webkit-text-size-adjust: 100%;line-height: 1.6;}
.pc, .pc2 { display: none !important; }
/*pcのみ表示ブロック*/
.sp { display: block !important; }
/*スマホのみ表示ブロック*/
.sp2 { display: inline-block !important; }
/*スマホのみ表示ブロック*/
.no-br { display: none; }
/*スマホでbrを解除したい場合に使用*/
.sp_display_block { display: block !important; }
/*スマホでflexboxを解除したい場合等に使用*/
.pc-menu{ display: none; }
.side-fix{ display: none; }
.fix-list{ display: none; }
#pc-menu-open{ display: none; }
#g-nav{ display: none; }

.sp-header{height: 18.357vw;padding: 3.072vw 5.2vw 5.314vw 18.2vw;}
.sp-header .h-logo {}
.sp-header .h-logo a {display: flex;align-items: center;gap: 0 2.865vw;}
.sp-header .h-logo span.top {font-size: 4.106vw;line-height: 1.6;letter-spacing: 0.26em;position: relative;top: -0.2vw;}
.sp-header .h-logo span.bottom {font-size: 6.28vw;line-height: 2.1;letter-spacing: 0.32em;}
.sp-header .h-menu {position: fixed;top: 0vw;right: 0vw;padding: 5vw 5vw;z-index: 997;}
.sp-header .h-menu img { width: 6.5vw;height: 4.5vw;}

nav#sp-global-nav .logo-icon{position: absolute;top: 3.8vw;left: 3.5vw;width: 12vw;}
nav#sp-global-nav .logo-icon img{ width: 100%;}

nav#sp-global-nav .h-logo {height: 18.357vw;padding: 3.072vw 5.2vw 5.314vw 18.2vw;}
nav#sp-global-nav .h-logo a{}
nav#sp-global-nav .h-logo span.top {font-size: 4.106vw;line-height: 1.6;letter-spacing: 0.26em;position: relative;top: -0.8vw;}
nav#sp-global-nav .h-logo span.bottom {font-size: 6.28vw;line-height: 2.1;letter-spacing: 0.32em;margin-left: 1.865vw;}
nav#sp-global-nav {z-index: 999;overflow: scroll;position: fixed;top: 0;width: 100vw;height: 100vh;display: none;background: #fff;}
nav#sp-global-nav .open-close-01 {position: fixed;top: 0;right: 0;padding: 6vw 5vw; z-index: 998;}
nav#sp-global-nav .open-close-01 img {width: 6.5vw;height: 5.5vw;}
nav#sp-global-nav .h-logo a:hover {text-decoration: none;}
nav#sp-global-nav .open-color-Box {padding: 11.1vw 0 0;}
nav#sp-global-nav .open-link { width: 70vw; margin: 0 auto 4vw;}

nav#sp-global-nav .list {max-width: 89.372vw;width: 95%;margin-inline: auto;}
nav#sp-global-nav .list li a {font-size: 5.314vw;line-height: 1;letter-spacing: 0em;font-weight: 600;padding: 6.556vw 0 6.5vw 11.213vw;border-bottom: 0.2vw solid #D1D1D1;position: relative;display: block;color: #0D0D0D;}
nav#sp-global-nav .list li a::before {content: "";position: absolute;width: 2.8vw;height: 0.242vw;left: 3.5vw;top: 9.1vw;background: #000;}

nav#sp-global-nav .h-img {position: absolute;bottom: 0vw;}
nav#sp-global-nav .h-img img {width: 100%;height: auto;}

.side-fix{ display: none!important; }
.sp-fix-list { position: fixed; bottom: 0; width: 100%; z-index: 996; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items: flex-end;}
.sp-fix-list .tel {  }
.sp-fix-list .icon { }

.sp-page-top a { text-align: center; display: block; padding: 5vw 3vw;}
.sp-page-top a img { width: 20vw; height: auto;}

.main-title{width: 100%;background: #F9F9F9;padding: 9vw 5vw 8vw;/* margin-bottom: 4vw; */}
.main-title .jp {display: block;font-size: 3.864vw;line-height: 1.6;font-weight: 400;}
.main-title .en { display: block; font-size: 7.2vw; line-height: 1.6; text-transform: uppercase;}

h2.sub-title{ font-weight: bold; padding: 3vw 3vw 1vw; margin-bottom: 5vw; font-size: 5vw; letter-spacing: 0.3vw; text-align: center; border-bottom: solid #000 0.2vw;}

.seo_bread_list{ width: 100%;text-align: end; padding: 2vw 2vw 3.5vw; margin: 0 auto; font-size: 3.2vw; line-height: 1.6; position: absolute;top: 20vw;right: 2vw;}
.seo_bread_list{display: none;}
.seo_bread_list a { color: inherit;}
.seo_bread_list li{ margin-right: 1.5vw; float: left;  }
.seo_bread_list li::after{ content: ">"; }
.seo_bread_list li:last-child::after{ content: none; } 

/* 2カラムサイト---------------- */
#tow-cl #side{ display: none;}

.fit img { object-fit: cover; }
.wysiwyg img { width: auto !important; height: auto !important; }
html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none; overflow-x: hidden; }
/* WEB FONTs 游ゴシックかすれ予防*/
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 200; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 300; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 400; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold"); font-weight: bold; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 100; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 200; }
.f-min { font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }
.f-min-02 { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","Sawarabi Mincho","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
.f-gothic { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック","Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  Verdana, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}

*:focus { outline: none!important;}
a { -webkit-tap-highlight-color:rgba(0,0,0,0); cursor:pointer;}

body { -webkit-text-size-adjust: 100%; }
img {vertical-align: bottom;max-width: 100%;height: auto;}
a { text-decoration: none; color: #090909; }
a:hover { text-decoration: underline; }
.nobd a:hover { text-decoration: none !important; }
.clearfix { zoom: 1; }
.clearfix:after { display: block; clear: both; height: 0; visibility: hidden; line-height: 0; content: "."; }

/* wysiwyg */
.wysiwyg { word-wrap: break-word; margin-bottom: 5vw; font-size: 3.6vw;}
.wysiwyg strong { font-weight: bolder; }
.wysiwyg em { font-family: "ＭＳ ゴシック",sans-serif; font-style: italic; }
.wysiwyg img { max-width: 100% !important; height: auto; }
.wysiwyg p { min-height: 3vw; min-width: 3vw; line-height: 1.6;}
.wysiwyg h1, .wysiwyg h2, .wysiwyg h3, .wysiwyg h4, .wysiwyg h5, .wysiwyg h6 { color: inherit; font-weight: bold; text-align: left;}
.wysiwyg h1 { padding: 3vw; font-size: 4.2vw; line-height: 1.6; margin: 0.2vw 0 6.2vw;}
.wysiwyg h2 { padding: 3vw; font-size: 4.2vw; line-height: 1.6; margin: 0.2vw 0 6.2vw;}
.wysiwyg h3 {font-size: 4.2vw;line-height: 1.6;padding: 1vw 2vw;margin: 0.2vw 0 6.2vw;}
.wysiwyg h4 { padding: 0 0 3vw; font-size: 4vw; line-height: 1.6; margin: 0.2vw 0 6.2vw;}
.wysiwyg h5 { padding: 0 0 3vw; font-size: 3.6vw; line-height: 1.6; margin: 0.2vw 0 6.2vw;}
.wysiwyg h6 { padding: 3vw; font-size: 3.6vw; line-height: 1.6; margin: 0.2vw 0 6.2vw;}
.wysiwyg ul { list-style-type: disc; line-height: 1.6; margin: 0.2vw 0 4.2vw 8vw}
.wysiwyg ol { list-style-type: decimal; line-height: 1.6; font-size: 3.6vw; margin: 0.2vw 0 4.2vw 8vw}
.wysiwyg table {width: 100% !important;/* table-layout: fixed; */}
.wysiwyg table th,
.wysiwyg table td { border: 0.2vw solid #999; padding: 3vw; font-size: 3.6vw; margin: 0.2vw 0 4.2vw 8vw}
.wysiwyg iframe{ height: 50vw !important; width: 100% !important; margin-bottom: 4vw!important; }


/* img-block */
/* アンカーリンク調整 */
.hideAnchor { display: block; height: 0; overflow: hidden; text-indent: -9999px; margin-top: -2vw; padding-bottom: 2vw; }
/* スクロール縦 */
.scroll-y { box-sizing: border-box; overflow-y: scroll; transform: translateZ(0); }
/* リンク透明 */
a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
/* リンク透明にしない */
.noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
/*---------------------------------------- 　　外部サービス ----------------------------------------*/
/* ggmap */
/* <div class="ggmap">iframeのコピーしたコード</div> */
.sp-ggmap { position: relative; padding-bottom: 56.25%; padding-top: 5vw; height: 0; overflow: hidden; }
.sp-ggmap iframe, .sp-ggmap object, .sp-ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
/*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
@font-face { font-family: 'jp-sttl01';
/* お好きな名前にしましょう */
src: url("../font/.eot");
/* IE9以上用 */
src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
/* iOS, Android用 */
/* 念の為指定しておきます */
font-weight: normal;
/* 念の為指定しておきます */
font-style: normal; vertical-align: top; margin: 0px; padding: 0px; }
.myWebFontClass { font-family: 'jp-sttl01'; }
}
@media screen and (max-height: 450px) {
   /* 高さ450px以下の場合 andoroidのフォーム対策 ストーカーバナー用　*/
	.sp-fix-list{display: none;}
}

.wysiwyg h1 { background-color: #dcdcdc;}
.wysiwyg h2 { border-top: 1px solid #333; border-bottom: 1px solid #333;}
.wysiwyg h3 { border-left: 6px solid #231815;}
.wysiwyg h4 { border-bottom: 1px solid #000;}
.wysiwyg h5 { border-bottom: 1px dashed #000;}
.wysiwyg h6 { background-color: #eee; border: 1px dotted #999;}


