@charset "utf-8";
/*
Theme Name: tokyo-golf-range-solution
Theme URI: http://www.solution-sy.com/
Author: Fyy
Description: This is a default wordpress themes
Version: 1.0
License: GNU General Public License v2 or later
License URI: LICENSE
*/

/* Start Reset Css */
*{margin:0;padding:0;border:0;outline:0;font-size:100%;background:0 0;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

:after,:before{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

html{font-size:100%;overflow-x:hidden;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
}

body{margin:0 auto;width:100%;max-width:1920px;background:#fff;line-height:1.8;font-size:16px;color:#322e2b;font-weight:bold;letter-spacing:1px;
	font-family:"-apple-system",BlinkMacSystemFont,"Yu Gothic Medium","游ゴシック Medium",YuGothic,"游ゴシック体","Noto Sans Japanese","ヒラギノ角ゴ Pro W3","メイリオ","Hiragino Kaku Gothic ProN","MS PGothic",Osaka,sans-serif;
}
@media (max-width:1380px){
	body{font-size:15px;}
}
@media (max-width:1180px){
	body{font-size:14px;}
}

address,caption,code,figcaption,pre,th{font-size:1em;font-weight:normal;font-style:normal;}

blockquote,q{quotes:none;}

blockquote:after,blockquote:before,q:after,q:before{content:'';content:none;}

fieldset,iframe,img{border:0;}

ins{background-color:#ff9;color:#000;text-decoration:none;}

caption,th{text-align:left;}

table{border-collapse:collapse;border-spacing:0;}

article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}

audio,canvas,progress,video{display:inline-block;vertical-align:baseline;}

sup{vertical-align:text-top;}

sub{vertical-align:text-bottom;}

hr{display:block;margin:1em 0;padding:0;height:1px;border:0;border-top:1px solid #ccc;}

input,select{vertical-align:middle;}

button{background:0 0;border:0;color:inherit;cursor:pointer;font:inherit;line-height:inherit;overflow:visible;vertical-align:inherit;
	-webkit-box-sizing:content-box;
	-moz-box-sizing:content-box;
	box-sizing:content-box;
}

button:disabled{cursor:default;}

audio:not([controls]){display:none;}

:focus[data-focus-method=mouse]:not(input):not(textarea):not(select),:focus[data-focus-method=touch]:not(input):not(textarea):not(select){outline:0;}

::-moz-focus-inner{border:0;padding:0;}

a,a:link,a:visited{text-decoration:none;
	-webkit-transition:0.3s;
	transition:0.3s;
}

a:hover,a:active{text-decoration:none;}

ul,ol{list-style:none;}

img{display:block;height:auto;max-width:100%;}

:-moz-placeholder{
  /* Mozilla Firefox 4 to 18 */
  color:#999;opacity:1;}

::-moz-placeholder{
  /* Mozilla Firefox 19+ */
  color:#999;opacity:1;}

input:-ms-input-placeholder{color:#999;opacity:1;}

input::-webkit-input-placeholder{color:#999;opacity:1;}

::-webkit-scrollbar{width:6px;background-color:#f3f3f3;border-left:1px solid #dddddd;}

::-webkit-scrollbar:hover{background-color:transparent;}

::-webkit-scrollbar-thumb{cursor:pointer;background-color:#666;}

::-webkit-scrollbar-thumb:hover{background-color:#333;}

::-webkit-scrollbar-button:start:decrement,::-webkit-scrollbar-button:end:increment{display:none;}

.f-fl{float:left;}
.f-fr{float:right;}
.f-cb:after{content:".";display:block;clear:both;height:0;visibility:hidden;overflow:hidden;}
.f-cb{zoom:1;}

.hasbg{background-repeat:no-repeat;background-size:cover;background-position:center center;}
.hasbg:after{display:block;content:"";padding-top:100%;}
.hasbg>img{display:none;}

em{font-style:normal;}
i{font-style:normal;}
/* Start Reset Css */

/*loading*/
#loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;width:100%;height:100%;background:#fff;}
#loading>figure{position:absolute;top:50%;left:50%;margin:-100px 0 0 -100px;width:200px;height:200px;
	background-image:url(img/loading.gif);
	background-size:200px 200px;
	background-repeat:no-repeat;
	background-position:center;
}

/*tokyoGolfRangeM*/
.tokyoGolfRangeM{position:relative;left:0;z-index:50;
	-webkit-transition:all 500ms cubic-bezier(0.86,0,0.07,1);
	transition:all 500ms cubic-bezier(0.86,0,0.07,1);
}
.tokyoGolfRangeM .tokyoGolfRangeMbg{display:none;position:absolute;top:0;left:0;width:100%;height:100%;z-index:50;background:rgba(0,0,0,0.5);}
.tokyoGolfRangeM-move{left:-240px;overflow:hidden;}

/*mobile-btn*/
.mobile-btn{display:none;margin-left:15px;}
.mobile-btn>div{cursor:pointer;
	-webkit-transition:all 500ms cubic-bezier(0.86,0,0.07,1);
	transition:all 500ms cubic-bezier(0.86,0,0.07,1);
}
.mobile-btn>div>span{display:block;height:3px;background:#fff;
	-webkit-transform-origin:center;
	transform-origin:center;
	
	-webkit-transition:all 0.4s;
	transition:all 0.4s;
}
.mobile-btn>div>span:nth-of-type(1){width:20px;}
.mobile-btn>div>span:nth-of-type(2){margin-top:6px;width:25px;}
.mobile-btn>div>span:nth-of-type(3){margin-top:6px;width:30px;}
.mobile-btn>div:hover>span,.mobile-btn>div.active>span{width:30px;}
.mobile-btn>div.active{
	-webkit-transform:translateX(0) rotate(180deg);
    transform:translateX(0) rotate(180deg);
}
.mobile-btn>div.active>span:nth-of-type(1){width:20px;
  	-webkit-transform:translateY(9px) rotate3d(0,0,1,-40deg);
    transform:translateY(9px) rotate3d(0,0,1,-40deg);
    -webkit-transform-origin:0.71429px center;
  	transform-origin:0.71429px center;
}
.mobile-btn>div.active>span:nth-of-type(3){width:20px;
	-webkit-transform:translateY(-9px) rotate3d(0,0,1,40deg);
    transform:translateY(-9px) rotate3d(0,0,1,40deg);   
    -webkit-transform-origin:0.71429px center;
    transform-origin:0.71429px center;
}
@media (max-width:880px){
	.mobile-btn{display:block;}
}

/*sp-wrapper*/
.sp-wrapper{position:fixed;top:0;right:0;z-index:50;padding:20px 10px;width:240px;text-align:center;height:100vh;background:#515151;
	-webkit-transform:translateX(240px);
	transform:translateX(240px);
	-webkit-transition:all 500ms cubic-bezier(0.86,0,0.07,1);
	transition:all 500ms cubic-bezier(0.86,0,0.07,1);
}
.sp-wrapper.sp-wrapper-move{
	-webkit-transform:translateX(0px) !important;
	transform:translateX(0px) !important;
}
.sp-wrapper>h2{font-family:"Outfit",sans-serif;font-size:20px;color:#fff;}
.sp-wrapper>ul{margin-top:20px;}
.sp-wrapper>ul>li{border-top:1px solid rgba(255,255,255,0.2);}
.sp-wrapper>ul>li>a{position:relative;display:block;padding:10px;font-size:14px;color:#fff;}
.sp-wrapper>ul>li>a:hover,.sp-wrapper>ul>li>a.current{background:#fff;color:#3f454b;}
.sp-wrapper>ul>li.hasMenu>a:after{position:absolute;top:50%;right:20px;display:block;content:"";width:0;height:0;
	border-width:5px 5px 0;
    border-style:solid;
    border-color:#fff transparent transparent transparent;   
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%);
    -webkit-transition:0.3s;
	transition:0.3s;
}
.sp-wrapper>ul>li.hasMenu>a:hover:after{border-color:#3f454b transparent transparent transparent;}
.sp-wrapper>ul>li>a.current:after{border-color:#3f454b transparent transparent transparent;
	-webkit-transform:rotate(-180deg) translateY(5px);
	transform:rotate(-180deg) translateY(5px);
}
.sp-wrapper>ul>li>ol{display:none;background:#000;}
.sp-wrapper>ul>li>ol>li{border-top:1px solid rgba(255,255,255,0.2);}
.sp-wrapper>ul>li>ol>li>a{display:block;padding:8px;text-align:center;font-size:12px;color:#fff;}
.sp-wrapper>ul>li>ol>li>a:hover{background:#fff;color:#3f454b;}

/*bkt*/
.bkt{position:fixed;bottom:20px;right:20px;z-index:999;display:flex;justify-content:center;align-items:center;width:45px;height:45px;
	background:#333;border-radius:50%;cursor:pointer;
	-webkit-transition:0.3s;
	transition:0.3s;
}
.bkt>i{margin-top:-4px;line-height:1;font-size:18px;color:#fff;}
.bkt:hover{opacity:0.6;}

/*diagnosis*/
.diagnosis{position:fixed;bottom:65px;right:20px;z-index:999;display:block;width:243px;}
.diagnosis:hover{opacity:0.6;}
@media (max-width:1380px){
	.diagnosis{width:203px;}
}
@media (max-width:1180px){
	.diagnosis{width:163px;}
}
@media (max-width:980px){
	.diagnosis{width:123px;}
}
@media (max-width:420px){
	.diagnosis{display:none;}
}

/*diagnosisMo*/
.diagnosisMo{display:none;position:fixed;bottom:0;right:0;z-index:99;width:100%;}
.diagnosisMo img{width:100%;}
@media (max-width:420px){
	.diagnosisMo{display:block;}
}

/*common*/
.wrapperMain{margin:0 auto;width:100%;max-width:1320px;}

/*common_tit*/
.common_tit{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;line-height:1;font-family:"Shippori Mincho",serif;}
.common_tit>h2{font-size:40px;}
.common_tit>h3{margin-top:35px;font-size:20px;}
@media (max-width:1380px){
	.common_tit>h2{font-size:52px;}
	.common_tit>h3{margin-top:30px;font-size:18px;}
}
@media (max-width:1180px){
	.common_tit>h2{font-size:38px;}
	.common_tit>h3{margin-top:25px;font-size:16px;}
}
@media (max-width:980px){
	.common_tit>h2{font-size:22px;}
	.common_tit>h3{margin-top:15px;font-size:14px;}
}

/*more*/
.more{display:flex;justify-content:center;margin-top:50px;}
.more>a{display:block;padding:8px;background:#181818;line-height:1;color:#c2c7cc;}
.more>a>hgroup{display:flex;align-items:center;padding:18px 60px;border:2px solid #c2c7cc;}
.more>a>hgroup>h3{font-family:"Shippori Mincho",serif;font-size:20px;}
.more>a>hgroup>i{display:block;margin-top:2px;margin-left:15px;font-size:32px;}
.more>a:hover{
	-webkit-transform:translateY(-10px);
	transform:translateY(-10px);
}
@media (max-width:1380px){
	.more{margin-top:40px;}
	.more>a{padding:6px;}
	.more>a>hgroup{padding:16px 40px;}
	.more>a>hgroup>h3{font-size:18px;}
	.more>a>hgroup>i{margin-left:10px;font-size:28px;}
	.more>a:hover{
		-webkit-transform:translateY(-8px);
		transform:translateY(-8px);
	}
}
@media (max-width:1180px){
	.more{margin-top:30px;}
	.more>a{padding:4px;}
	.more>a>hgroup{padding:14px 30px;}
	.more>a>hgroup>h3{font-size:16px;}
	.more>a>hgroup>i{margin-top:0;margin-left:10px;font-size:24px;}
	.more>a:hover{
		-webkit-transform:translateY(-6px);
		transform:translateY(-6px);
	}
}
@media (max-width:980px){
	.more>a>hgroup{padding:12px 20px;}
	.more>a>hgroup>h3{font-size:14px;}
	.more>a>hgroup>i{margin-top:2px;font-size:20px;}
	.more>a:hover{
		-webkit-transform:translateY(-4px);
		transform:translateY(-4px);
	}
}

/*googlemap*/
.googlemap{position:relative;width:100%;overflow:hidden;background:#ccc url(img/lgm.png) no-repeat center center;background-size:40% auto;}
.googlemap iframe{position:absolute;top:0;left:0;width:100%;height:100%;}

/*header*/
.header{padding:20px 40px;width:100%;line-height:1;background:#000000;
	-webkit-transition:all 500ms cubic-bezier(0.86,0,0.07,1);
	transition:all 500ms cubic-bezier(0.86,0,0.07,1);
}
.header .headerNav{display:flex;justify-content:space-between;align-items:center;max-width:1720px;}
.header .headerNav>a{display:block;width:100%;max-width:321px;}
.header .headerNav>a:hover{opacity:0.6;}
.header .headerNav>div{display:flex;align-items:center;margin-left:60px;}
.header .headerNav>div>ul{display:flex;}
.header .headerNav>div>ul>li{position:relative;}
.header .headerNav>div>ul>li:not(:first-child){margin-left:60px;}
.header .headerNav>div>ul>li>a{color:#fff;}
.header .headerNav>div>ul>li>a:after{display:block;content:"";width:100%;height:2px;background:#fff;opacity:0;
	-webkit-transform:translateY(-10px);
	transform:translateY(-10px);
	-webkit-transition:0.3s;
	transition:0.3s;
}
.header .headerNav>div>ul>li:hover>a:after{opacity:1;
	-webkit-transform:translateY(4px);
	transform:translateY(4px);
}
.header .headerNav>div>ul>li>ol{position:absolute;top:22px;left:50%;z-index:5;display:none;width:165px;text-align:center;
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
}
.header .headerNav>div>ul>li>ol>li:not(:first-child){margin-top:5px;}
.header .headerNav>div>ul>li>ol>li>a{display:block;padding:2px;background:#181818;}
.header .headerNav>div>ul>li>ol>li>a>h3{padding:15px 40px;background:rgba(24,24,24,0.9);border:2px solid #9299a1;font-size:14px;color:#fff;
	-webkit-transition:0.3s;
	transition:0.3s;
}
.header .headerNav>div>ul>li>ol>li>a:hover>h3{background:#9299a1;}
.header .headerNav>div>ol{display:flex;margin-left:60px;}
.header .headerNav>div>ol>li:not(:first-child){margin-left:30px;}
.header .headerNav>div>ol>li>a{display:block;width:100%;max-width:40px;}
.header .headerNav>div>ol>li>a:hover{
	-webkit-transform:translateY(-4px);
	transform:translateY(-4px);
}
.header .headerNav>div>ul>li:hover>ol{display:block;}
@media (max-width:1380px){
	.header{padding:17px 30px;}
	.header .headerNav>a{max-width:281px;}
	.header .headerNav>div{margin-left:40px;}
	.header .headerNav>div>ul>li:not(:first-child){margin-left:40px;}
	.header .headerNav>div>ul>li>ol{top:21px;width:140px;}
	.header .headerNav>div>ul>li>ol>li:not(:first-child){margin-top:4px;}
	.header .headerNav>div>ul>li>ol>li>a>h3{padding:13px 30px;font-size:13px;}
	.header .headerNav>div>ol{margin-left:40px;}
	.header .headerNav>div>ol>li:not(:first-child){margin-left:20px;}
	.header .headerNav>div>ol>li>a{max-width:35px;}
}
@media (max-width:1180px){
	.header{padding:14px 20px;}
	.header .headerNav>a{max-width:241px;}
	.header .headerNav>div{margin-left:20px;}
	.header .headerNav>div>ul>li:not(:first-child){margin-left:8px;}
	.header .headerNav>div>ul>li>ol{top:20px;width:115px;}
	.header .headerNav>div>ul>li>ol>li:not(:first-child){margin-top:3px;}
	.header .headerNav>div>ul>li>ol>li>a>h3{padding:11px 20px;font-size:12px;}
	.header .headerNav>div>ol{margin-left:20px;}
	.header .headerNav>div>ol>li:not(:first-child){margin-left:10px;}
	.header .headerNav>div>ol>li>a{max-width:30px;}
}
@media (max-width:880px){
	.header .headerNav>a{max-width:201px;}
	.header .headerNav>div>ul{display:none;}
	.header .headerNav>div>ol{margin-left:0;}
	.header .headerNav>div>ol>li>a{max-width:25px;}
}
@media (max-width:480px){
	.header .headerNav>a{max-width:161px;}
	.header .headerNav>div>ol>li>a{max-width:20px;}
}

.header.header_fixed{position:fixed;top:0;left:0;z-index:9999;}

/*banner*/
.banner .bannerMo{display:none;position:relative;}
.banner .bannerMo>img{width:100%;}
@media (max-width:420px){
	.banner .bannerPc{display:none;}
	.banner .bannerMo{display:block;}
}

/*indexMain*/
/*sns*/
.sns{padding:40px;background:#24282d;}
.sns .snsMat>ul{display:flex;flex-wrap:wrap;justify-content:center;margin-top:-40px;margin-left:-40px;}
.sns .snsMat>ul>li{margin-top:40px;padding-left:40px;width:33.333333%;}
.sns .snsMat>ul>li>a{display:block;padding:10px;}
.sns .snsMat>ul>li>a>fieldset{padding:15px 20px;min-height:110px;line-height:1;}
.sns .snsMat>ul>li>a:hover{
	-webkit-transform:translateY(-10px);
	transform:translateY(-10px);
}
/* .sns .snsMat>ul>li:nth-of-type(1)>a{background:#60474c;}
.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset{display:flex;flex-direction:column;justify-content:center;align-items:center;border:2px solid #e5e8eb;}
.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset h3{margin-top:10px;color:#fff;font-family:"Shippori Mincho",serif;color:#e5e8eb;}
.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset img{margin:15px auto 0;}
.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset>h2{margin-top:10px;font-family:"Outfit",sans-serif;font-size:20px;color:#f7db27;} */
.sns .snsMat>ul>li:nth-of-type(1)>a{background:#e5e8eb;}
.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset{display:flex;justify-content:center;align-items:center;padding:35px 0;border:2px solid #656c73;}
.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset>hgroup{display:flex;flex-direction:column;justify-content:center;align-items:center;}
.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset>hgroup>i{display:block;width:100%;max-width:29px;}
.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset>hgroup>h3{font-size:18px;text-align:center;line-height:1.4;font-family:"Shippori Mincho",serif;color:#24282d;}
.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset>h3{font-family:"Shippori Mincho",serif;font-size:14px;color:#9299a1;}
.sns .snsMat>ul>li:nth-of-type(2)>a{background:#656c73;}
.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset{text-align:center;border:2px solid #e5e8eb;}
.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset>hgroup{display:flex;flex-direction:column;justify-content:center;align-items:center;}
.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset>hgroup>i{display:block;width:100%;max-width:29px;}
.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset>hgroup>h3{font-size:18px;font-family:"Shippori Mincho",serif;color:#e5e8eb;}
.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset>h3{font-size:18px;font-family:"Shippori Mincho",serif;color:#c2c7cc;}
.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset>h2{margin:10px 0;font-size:24px;color:#e3ca2c;}
.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset>p{font-size:12px;color:#c2c7cc;}
@media (max-width:1380px){
	.sns{padding:35px 30px;}
	.sns .snsMat>ul{margin-top:-30px;margin-left:-30px;}
	.sns .snsMat>ul>li{margin-top:30px;padding-left:30px;}
	.sns .snsMat>ul>li>a{padding:8px;}
	.sns .snsMat>ul>li>a>fieldset{padding:13px 20px;min-height:80px;}
	.sns .snsMat>ul>li>a:hover{
		-webkit-transform:translateY(-8px);
		transform:translateY(-8px);
	}
/* 	.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset>h2{margin-top:8px;font-size:18px;}
	.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset img{margin:10px auto 0;} */
	.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset{padding:31px 0;}
	.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset>hgroup>i{max-width:24px;}
	.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset>h3{font-size:13px;}
	.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset>hgroup>i{max-width:24px;}
	.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset>hgroup>h3{margin-top:8px;}
	.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset>h3{font-size:13px;}	
	.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset>h2{margin:8px 0;font-size:20px;}
}
@media (max-width:1180px){
	.sns{padding:30px 20px;}
	.sns .snsMat>ul{margin-top:-20px;margin-left:-20px;}
	.sns .snsMat>ul>li{margin-top:20px;padding-left:20px;}
	.sns .snsMat>ul>li>a{padding:6px;}
	.sns .snsMat>ul>li>a>fieldset{padding:11px 20px;min-height:62px;}
	.sns .snsMat>ul>li>a:hover{
		-webkit-transform:translateY(-6px);
		transform:translateY(-6px);
	}
/* 	.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset>h2{font-size:16px;} */
	.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset{padding:28px 0;}
	.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset>hgroup>i{max-width:19px;}
	.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset>h3{font-size:12px;}
	.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset>hgroup>i{max-width:19px;}
	.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset>h3{font-size:12px;}	
}
@media (max-width:980px){
	.sns{padding:25px 20px;}
	.sns .snsMat>ul{margin-top:-10px;margin-left:-10px;}
	.sns .snsMat>ul>li{margin-top:10px;padding-left:10px;width:50%;}
}
@media (max-width:540px){
	.sns .snsMat>ul>li>a{margin:0 auto;width:100%;max-width:245px;}
	.sns .snsMat>ul>li>a>fieldset{min-height:auto;padding:10px;}
	.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset{padding:22px 0;}
	.sns .snsMat>ul>li:nth-of-type(1)>a>fieldset>hgroup>h3{font-size:14px;letter-spacing:0;}
	.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset>h2{margin:5px 0;font-size:14px;}
	.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset>p{font-size:10px;}
	.sns .snsMat>ul>li:nth-of-type(2)>a>fieldset>h3{font-size:10px;}
} 

/*concept*/
.concept{position:relative;padding:240px 40px;}
.concept .conceptBg{position:absolute;top:0;left:0;width:100%;height:100%;background-position:bottom center;}
.concept .conceptBg:after{padding-top:0;width:100%;height:100%;}
.concept .conceptMat{position:relative;z-index:5;display:flex;max-width:1120px;}
.concept .conceptMat>dd{width:60%;}
.concept .conceptMat>dd>.common_tit{color:#fff;}
.concept .conceptMat>dd>fieldset{margin-top:50px;font-family:"Shippori Mincho",serif;color:#fff;}
.concept .conceptMat>dd>fieldset>h3{line-height:1;font-size:32px;}
.concept .conceptMat>dd>fieldset>figcaption{margin-top:40px;font-weight:bold;}
.concept .conceptMat>dd>fieldset>figcaption>*:not(:first-child){margin-top:20px;}
@media (max-width:1380px){
	.concept{padding:200px 30px;}
	.concept .conceptMat>dd{width:70%;}
	.concept .conceptMat>dd>fieldset{margin-top:45px;}
	.concept .conceptMat>dd>fieldset>h3{font-size:28px;}
	.concept .conceptMat>dd>fieldset>figcaption{margin-top:30px;}
	.concept .conceptMat>dd>fieldset>figcaption>*:not(:first-child){margin-top:15px;}
}
@media (max-width:1180px){
	.concept{padding:160px 20px;}
	.concept .conceptMat>dd{width:80%;}
	.concept .conceptMat>dd>fieldset{margin-top:40px;}
	.concept .conceptMat>dd>fieldset>h3{font-size:24px;}
	.concept .conceptMat>dd>fieldset>figcaption{margin-top:20px;}
	.concept .conceptMat>dd>fieldset>figcaption>*:not(:first-child){margin-top:10px;}
}
@media (max-width:980px){
	.concept{padding:120px 20px;}
	.concept .conceptMat>dd{width:90%;}
	.concept .conceptMat>dd>fieldset>h3{font-size:20px;}
}
@media (max-width:780px){
	.concept{padding:80px 20px;}
	.concept .conceptMat>dd{width:100%;}
	.concept .conceptMat>dd>.common_tit{align-items:center;}
	.concept .conceptMat>dd>fieldset{text-align:center;}
}

/*features*/
.features{padding:80px 40px;background:#f1f1e7;}
.features .featuresMat{max-width:1120px;}
.features .featuresList{margin-top:50px;}
.features .featuresList>ul{display:flex;flex-wrap:wrap;margin-top:-40px;margin-left:-40px;}
.features .featuresList>ul>li{margin-top:40px;padding-left:40px;width:50%;}
.features .featuresList>ul>li>dl{position:relative;}
.features .featuresList>ul>li>dl>dt{background-position:bottom center;}
.features .featuresList>ul>li>dl>dt:after{padding-top:0;height:350px;}
.features .featuresList>ul>li>dl>dd{position:absolute;bottom:20px;left:0;display:flex;align-items:center;padding:0 20px;width:100%;}
.features .featuresList>ul>li>dl>dd>i{display:block;width:100%;max-width:167px;}
.features .featuresList>ul>li>dl>dd>h3{margin-left:-60px;width:calc(100% - 107px);font-family:"Shippori Mincho",serif;font-size:18px;color:#fff;text-shadow:1px 1px 2px #000;}
@media (max-width:1380px){
	.features{padding:70px 30px;}
	.features .featuresList{margin-top:40px;}
	.features .featuresList>ul{margin-top:-30px;margin-left:-30px;}
	.features .featuresList>ul>li{margin-top:30px;padding-left:30px;}
	.features .featuresList>ul>li>dl>dt:after{height:300px;}
	.features .featuresList>ul>li>dl>dd>i{max-width:137px;}
	.features .featuresList>ul>li>dl>dd>h3{margin-left:-50px;width:calc(100% - 87px);font-size:16px;}
}
@media (max-width:1180px){
	.features{padding:60px 20px;}
	.features .featuresList{margin-top:30px;}
	.features .featuresList>ul{margin-top:-20px;margin-left:-20px;}
	.features .featuresList>ul>li{margin-top:20px;padding-left:20px;}
	.features .featuresList>ul>li>dl>dt:after{height:250px;}
	.features .featuresList>ul>li>dl>dd>i{max-width:107px;}
	.features .featuresList>ul>li>dl>dd>h3{margin-left:-40px;width:calc(100% - 67px);font-size:14px;}
}
@media (max-width:980px){
	.features{padding:50px 20px;}
	.features .featuresList>ul>li>dl>dt:after{height:200px;}
}
@media (max-width:780px){
	.features .common_tit{align-items:center;}
	.features .featuresList>ul>li{width:100%;}
}

/*service*/
.service{padding:80px 40px;
	background-image:url(img/serviceBg.jpg);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
}
.service .serviceMat{padding:100px;background:#fff;}
.service .serviceSep{margin-top:50px;}
.service .serviceSep>dl{display:flex;justify-content:space-between;align-items:center;font-family:"Shippori Mincho",serif;}
.service .serviceSep>dl:not(:first-child){margin-top:60px;}
.service .serviceSep>dl>dd{width:calc(45% - 30px);}
.service .serviceSep>dl>dd>fieldset{display:flex;align-items:center;line-height:1;}
.service .serviceSep>dl>dd>fieldset>h2{font-family:"Outfit",sans-serif;font-size:7vw;color:#3f454b;}
.service .serviceSep>dl>dd>fieldset>hgroup{margin-left:30px;}
.service .serviceSep>dl>dd>fieldset>hgroup>h3{line-height:1.2;font-family:"Outfit",sans-serif;font-size:32px;color:#3f454b;text-transform:uppercase;}
.service .serviceSep>dl>dd>fieldset>hgroup>h4{margin-top:25px;font-size:16px;}
.service .serviceSep>dl>dd>figcaption{margin-top:40px;font-weight:bold;}
.service .serviceSep>dl>dd>figcaption>*:not(:first-child){margin-top:20px;}
.service .serviceSep>dl>dd>.more{flex-direction:column;align-items:flex-start;}
.service .serviceSep>dl>dd>.more>a:nth-of-type(2){margin-top:20px;}
.service .serviceSep>dl:first-child>dd>.more{max-width:450px;width:100%;}
.service .serviceSep>dl:first-child>dd>.more>a{width:100%;justify-content:center;}
.service .serviceSep>dl>dt{width:calc(55% - 30px);
	-webkit-transform:skew(5deg);
	transform:skew(5deg);
}
.service .serviceSep>dl>dt:after{padding-top:70%;}
.service .serviceSep>dl:nth-child(2n){
	-webkit-box-orient:horizontal;
    -webkit-box-direction:reverse;
    -moz-box-orient:horizontal;
    -moz-box-direction:reverse;
    -ms-flex-direction:row-reverse;
    flex-direction:row-reverse;
}
.service .serviceSep>dl:nth-child(2n)>dt{
	-webkit-transform:skew(-5deg);
	transform:skew(-5deg);
}
@media (max-width:1380px){
	.service{padding:70px 30px;}
	.service .serviceMat{padding:80px;}
	.service .serviceSep{margin-top:40px;}
	.service .serviceSep>dl:not(:first-child){margin-top:50px;}
	.service .serviceSep>dl>dd{width:calc(45% - 20px);}
	.service .serviceSep>dl>dd>fieldset>hgroup{margin-left:20px;}
	.service .serviceSep>dl>dd>fieldset>hgroup>h3{font-size:28px;}
	.service .serviceSep>dl>dd>fieldset>hgroup>h4{margin-top:20px;font-size:14px;}
	.service .serviceSep>dl>dd>figcaption{margin-top:30px;}
	.service .serviceSep>dl>dd>figcaption>*:not(:first-child){margin-top:15px;}
	.service .serviceSep>dl>dd>.more>a:nth-of-type(2){margin-top:15px;}
	.service .serviceSep>dl:first-child>dd>.more{max-width:370px;}
	.service .serviceSep>dl>dt{width:calc(55% - 20px);}
}
@media (max-width:1180px){
	.service{padding:60px 20px;}
	.service .serviceMat{padding:60px;}
	.service .serviceSep{margin-top:30px;}
	.service .serviceSep>dl:not(:first-child){margin-top:40px;}
	.service .serviceSep>dl>dd{width:calc(45% - 10px);}
	.service .serviceSep>dl>dd>fieldset>hgroup{margin-left:10px;}
	.service .serviceSep>dl>dd>fieldset>hgroup>h3{font-size:24px;}
	.service .serviceSep>dl>dd>fieldset>hgroup>h4{margin-top:15px;font-size:12px;}
	.service .serviceSep>dl>dd>figcaption{margin-top:20px;}
	.service .serviceSep>dl>dd>figcaption>*:not(:first-child){margin-top:10px;}
	.service .serviceSep>dl>dd>.more>a:nth-of-type(2){margin-top:10px;}
	.service .serviceSep>dl:first-child>dd>.more{max-width:320px;}
	.service .serviceSep>dl>dt{width:calc(55% - 10px);}
}
@media (max-width:980px){
	.service{padding:50px 20px;}
	.service .serviceMat{padding:40px;}
}
@media (max-width:780px){
	.service .common_tit{align-items:center;}
	.service .serviceMat{padding:40px 30px;}
	.service .serviceSep>dl{display:block;}
	.service .serviceSep>dl>dd{width:100%;}
	.service .serviceSep>dl>dd>fieldset{justify-content:center;}
	.service .serviceSep>dl>dd>figcaption{text-align:center;}
	.service .serviceSep>dl>dd>.more{align-items:center;}
	.service .serviceSep>dl:first-child>dd>.more{margin:20px auto 0;max-width:270px;}
	.service .serviceSep>dl>dt{margin:30px auto 0;width:100%;max-width:420px;
		-webkit-transform:skew(0);
		transform:skew(0);
	}
	.service .serviceSep>dl:nth-child(2n)>dt{
		-webkit-transform:skew(0);
		transform:skew(0);
	}
}

/*instagram*/
.instagram{position:relative;padding:80px 40px;}
.instagram .instagramMat{max-width:1120px;}
.instagram #sbi_images{padding:0 !important;}
.instagram .instagramList{margin-top:50px;}
.instagram .instagramList>ul{display:flex;flex-wrap:wrap;margin-top:-30px;margin-left:-30px;}
.instagram .instagramList>ul>li{margin-top:30px;padding-left:30px;width:25%;}
.instagram .instagramList>ul>li>figure:after{padding-top:100%;}
@media (max-width:1380px){
	.instagram{padding:70px 30px;}
	.instagram .instagramList{margin-top:40px;}
	.instagram .instagramList>ul{margin-top:-20px;margin-left:-20px;}
	.instagram .instagramList>ul>li{margin-top:20px;padding-left:20px;}
	.instagram .instagramList>ul>li>figure:after{padding-top:90%;}
}
@media (max-width:1180px){
	.instagram{padding:60px 20px;}
	.instagram .instagramList{margin-top:30px;}
	.instagram .instagramList>ul{margin-top:-10px;margin-left:-10px;}
	.instagram .instagramList>ul>li{margin-top:10px;padding-left:10px;}
	.instagram .instagramList>ul>li>figure:after{padding-top:80%;}
}
@media (max-width:980px){
	.instagram{padding:50px 20px;}
}
@media (max-width:780px){
	.instagram .common_tit{align-items:center;}
	.instagram .instagramList>ul>li{width:50%;}
}

/*instructor*/
.instructor{padding:80px 40px;background:#f9f9f6;}
.instructor .instructorMat{position:relative;}
.instructor .instructorVer{position:absolute;bottom:0;left:50%;z-index:5;display:flex;justify-content:space-between;max-width:1120px;height:calc(100% - 14%);
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
}
.instructor .instructorVer>dt{width:50%;}
.instructor .instructorVer>dd{display:flex;flex-direction:column;justify-content:center;width:50%;}
.instructor .instructorVer>dd>.common_tit{color:#fff;}
.instructor .instructorVer>dd>.more{justify-content:flex-start;}
.instructor .instructorVer>dd>.more>a{background:#fff;}
.instructor .instructorVer>dd>.more>a>hgroup{border-color:#282828;color:#282828;}
@media (max-width:1380px){
	.instructor{padding:70px 30px;}
}
@media (max-width:1180px){
	.instructor{padding:60px 20px;}
}
@media (max-width:980px){
	.instructor{padding:50px 20px;}
}
@media (max-width:780px){
	.instructor .instructorVer{position:static;display:block;margin-top:30px;
		-webkit-transform:translateX(0);
		transform:translateX(0);
	}
	.instructor .instructorVer>dd{width:100%;}
	.instructor .instructorVer>dd>.common_tit{align-items:center;color:#322e2b;}
	.instructor .instructorVer>dd>.more>a{background:#181818;}
	.instructor .instructorVer>dd>.more>a>hgroup{border-color:#c2c7cc;color:#c2c7cc;}
	.instructor .instructorVer>dd>.more{justify-content:center;}
}

/*access*/
.accessVer{position:relative;padding:80px 40px;background:#3f454b;font-family:"Shippori Mincho",serif;}
.accessVer .accessVerMat{display:flex;max-width:1120px;}
.accessVer .accessVerMat>dt{width:50%;}
.accessVer .accessVerMat>dt>dl{display:flex;align-items:center;color:#c2c7cc;}
.accessVer .accessVerMat>dt>dl:not(:first-child){margin-top:20px;}
.accessVer .accessVerMat>dt>dl>dt{width:100px;}
.accessVer .accessVerMat>dt>dl>dd{width:calc(100% - 100px);}
.accessVer .accessVerMat>dt:nth-of-type(1){padding:40px 40px 40px 0;}
.accessVer .accessVerMat>dt:nth-of-type(2){padding:40px 0 40px 40px;border-left:2px solid #595959;}
@media (max-width:1380px){
	.accessVer{padding:70px 30px;}
	.accessVer .accessVerMat>dt>dl:not(:first-child){margin-top:15px;}
	.accessVer .accessVerMat>dt>dl>dt{width:90px;}
	.accessVer .accessVerMat>dt>dl>dd{width:calc(100% - 90px);}
	.accessVer .accessVerMat>dt:nth-of-type(1){padding:30px 30px 30px 0;}
	.accessVer .accessVerMat>dt:nth-of-type(2){padding:30px 0 30px 30px;}
}
@media (max-width:1180px){
	.accessVer{padding:60px 20px;}
	.accessVer .accessVerMat>dt>dl>dt{width:80px;}
	.accessVer .accessVerMat>dt>dl>dd{width:calc(100% - 80px);}
	.accessVer .accessVerMat>dt:nth-of-type(1){padding:20px 20px 20px 0;}
	.accessVer .accessVerMat>dt:nth-of-type(2){padding:20px 0 20px 20px;}
}
@media (max-width:980px){
	.accessVer{padding:50px 20px;}
}
@media (max-width:780px){
	.accessVer .accessVerMat{display:block;}
	.accessVer .accessVerMat>dt{width:100%;}	
	.accessVer .accessVerMat>dt:nth-of-type(1){padding:0;}
	.accessVer .accessVerMat>dt:nth-of-type(2){margin-top:15px;padding:0;border-left:none;}
	.more>a>hgroup{justify-content:center;}
	
}

.accessMap>.googlemap{height:550px;}
@media (max-width:1380px){
	.accessMap>.googlemap{height:500px;}
}
@media (max-width:1180px){
	.accessMap>.googlemap{height:450px;}
}
@media (max-width:980px){
	.accessMap>.googlemap{height:400px;}
}
@media (max-width:780px){
	.accessMap>.googlemap{height:350px;}
}

/*connection*/
.connection{padding:80px 40px;background:#3f454b;border-top:2px solid #fff;}
.connection .connectionMat{display:flex;justify-content:space-between;}
.connection .connectionMat>a{width:calc(50% - 20px);line-height:1;}
.connection .connectionMat>a:hover{
	-webkit-transform:translateY(-10px);
	transform:translateY(-10px);
}
.connection .connectionMat>a:nth-of-type(1){display:block;padding:15px;background:#c2c7cc;color:#3f454b;}
.connection .connectionMat>a:nth-of-type(1)>hgroup{display:flex;justify-content:center;align-items:center;padding:35px 20px;border:2px solid #e5e8eb;}
.connection .connectionMat>a:nth-of-type(1)>hgroup>i{display:block;margin-top:3px;font-size:40px;}
.connection .connectionMat>a:nth-of-type(1)>hgroup>h3{margin-left:30px;font-family:"Shippori Mincho",serif;font-size:20px;text-align:center;line-height:1.4;}
.connection .connectionMat>a:nth-of-type(1)>hgroup>span{display:block;margin-top:3px;margin-left:14px;width:100%;max-width:40px;}
.connection .connectionMat>a:nth-of-type(2){display:flex;flex-direction:column;justify-content:center;align-items:center;color:#000;background:#fff;font-family:"Shippori Mincho",serif;}
.connection .connectionMat>a:nth-of-type(2)>img{margin-top:10px;width:100%;max-width:439px;}
@media (max-width:1380px){
	.connection{padding:70px 30px;}
	.connection .connectionMat>a{width:calc(50% - 15px);}
	.connection .connectionMat>a:hover{
		-webkit-transform:translateY(-8px);
		transform:translateY(-8px);
	}
	.connection .connectionMat>a:nth-of-type(1){padding:13px;}
	.connection .connectionMat>a:nth-of-type(1)>hgroup{padding:40px 20px;}
	.connection .connectionMat>a:nth-of-type(1)>hgroup>i{margin-top:2px;font-size:35px;}
	.connection .connectionMat>a:nth-of-type(1)>hgroup>h3{margin-left:20px;font-size:18px;}
	.connection .connectionMat>a:nth-of-type(1)>hgroup>span{margin-top:2px;margin-left:8px;max-width:35px;}
	.connection .connectionMat>a:nth-of-type(2){padding:10px;}
	.connection .connectionMat>a:nth-of-type(2)>img{max-width:389px;}
}
@media (max-width:1180px){
	.connection{padding:60px 20px;}
	.connection .connectionMat>a{width:calc(50% - 10px);}
	.connection .connectionMat>a:hover{
		-webkit-transform:translateY(-6px);
		transform:translateY(-6px);
	}
	.connection .connectionMat>a:nth-of-type(1){padding:11px;}
	.connection .connectionMat>a:nth-of-type(1)>hgroup{padding:35px 20px;}
	.connection .connectionMat>a:nth-of-type(1)>hgroup>i{margin-top:3px;font-size:30px;}
	.connection .connectionMat>a:nth-of-type(1)>hgroup>h3{margin-left:10px;font-size:16px;}
	.connection .connectionMat>a:nth-of-type(1)>hgroup>span{margin-top:3px;max-width:30px;}
	.connection .connectionMat>a:nth-of-type(2)>img{max-width:339px;}
}
@media (max-width:980px){
	.connection{padding:50px 20px;}
	.connection .connectionMat>a:hover{
		-webkit-transform:translateY(-4px);
		transform:translateY(-4px);
	}
	.connection .connectionMat>a:nth-of-type(1){padding:9px;}
	.connection .connectionMat>a:nth-of-type(1)>hgroup{padding:30px;}
	.connection .connectionMat>a:nth-of-type(1)>hgroup>i{font-size:20px;}
	.connection .connectionMat>a:nth-of-type(1)>hgroup>h3{font-size:14px;}
	.connection .connectionMat>a:nth-of-type(1)>hgroup>span{max-width:20px;}
	.connection .connectionMat>a:nth-of-type(2)>img{max-width:289px;}
}
@media (max-width:780px){
	.connection .connectionMat{display:block;}
	.connection .connectionMat>a{width:100%;}
	.connection .connectionMat>a:nth-of-type(2){margin-top:20px;padding:15px;}
}

/*footer*/
.footer .footerNav{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px 40px;background:#000;}
.footer .footerNav>dt>a{display:block;width:100%;max-width:321px;}
.footer .footerNav>dt>a:hover{opacity:0.6;}
.footer .footerNav>dd{display:flex;align-items:center;margin-top:40px;}
.footer .footerNav>dd>ul{display:flex;line-height:1;}
.footer .footerNav>dd>ul>li:not(:first-child){margin-left:60px;}
.footer .footerNav>dd>ul>li>a{color:#fff;}
.footer .footerNav>dd>ul>li>a:after{display:block;content:"";width:100%;height:2px;background:#fff;opacity:0;
	-webkit-transform:translateY(-10px);
	transform:translateY(-10px);
	-webkit-transition:0.3s;
	transition:0.3s;
}
.footer .footerNav>dd>ul>li:hover>a:after{opacity:1;
	-webkit-transform:translateY(4px);
	transform:translateY(4px);
}
.footer .footerNav>dd>ol{display:flex;margin-left:60px;}
.footer .footerNav>dd>ol>li:not(:first-child){margin-left:30px;}
.footer .footerNav>dd>ol>li>a{display:block;width:100%;max-width:40px;}
.footer .footerNav>dd>ol>li>a:hover{
	-webkit-transform:translateY(-4px);
	transform:translateY(-4px);
}

.footer .footerCopy{padding:20px 40px;text-align:center;background:#24282d;font-family:"Outfit",sans-serif;font-size:15px;color:#fff;}
@media (max-width:1380px){
	.footer .footerNav{padding:50px 30px;}
	.footer .footerNav>dt>a{max-width:281px;}
	.footer .footerNav>dd{margin-top:30px;}
	.footer .footerNav>dd>ul>li:not(:first-child){margin-left:40px;}
	.footer .footerNav>dd>ol{margin-left:40px;}
	.footer .footerNav>dd>ol>li:not(:first-child){margin-left:20px;}
	.footer .footerNav>dd>ol>li>a{max-width:35px;}
	
	.footer .footerCopy{padding:17px 30px;font-size:14px;}
}
@media (max-width:1180px){
	.footer .footerNav{padding:40px 20px;}
	.footer .footerNav>dt>a{max-width:241px;}
	.footer .footerNav>dd{margin-top:20px;}
	.footer .footerNav>dd>ul>li:not(:first-child){margin-left:20px;}
	.footer .footerNav>dd>ol{margin-left:20px;}
	.footer .footerNav>dd>ol>li:not(:first-child){margin-left:10px;}
	.footer .footerNav>dd>ol>li>a{max-width:30px;}
	
	.footer .footerCopy{padding:14px 20px;font-size:13px;}
}
@media (max-width:720px){
	.footer .footerNav>dd{display:block;}
	.footer .footerNav>dd>ul{flex-wrap:wrap;justify-content:center;margin-top:-15px;}
	.footer .footerNav>dd>ul>li{margin:15px 10px 0 !important;}

	.footer .footerNav>dd>ol{justify-content:center;margin-top:20px;margin-left:0;}
}
@media (max-width:420px){
	.footer{padding-bottom:110px;}
}

/*page*/
.pageBan{position:relative;}
.pageBan figure{width:100%;height:420px;position:relative;}
.pageBan figure:after{padding-top:0;width:100%;height:100%;position:absolute;top:0;left:0;background:rgba(0,0,0,0.5);}
.pageBanText{position:absolute;top:50%;left:20%;transform:translateY(-50%);color:#FFF;font-family: "Shippori Mincho", serif;}
.pageBanText h2{font-size:80px;font-weight:normal;}
.pageBanText h1{font-size:28px;font-weight:normal;}
@media (max-width:1380px){
	.pageBan figure{height:360px;}
	.pageBanText{left:50px;}
	.pageBanText h2{font-size:56px;}
	.pageBanText h1{font-size:22px;}
}
@media (max-width:1180px){
	.pageBan figure{height:300px;}
	.pageBanText{left:5%;}
	.pageBanText h2{font-size:38px;}
	.pageBanText h1{font-size:16px;}
}
@media (max-width:720px){
	.pageBan figure{height:240px;}
	.pageBanText{left:15px;}
	.pageBanText h2{font-size:24px;}
	.pageBanText h1{font-size:14px;}
}


.machine{background:#181818;padding:80px 40px;color:#FFF;}
.machine .machineMat{font-family: "Shippori Mincho", serif;}
.machine .machineMat .common_tit{margin-bottom:50px;}
.machine .machineMat p{font-size:20px;line-height:1.8;}
.machine .machineMat .viewbox{background:url(img/viewboxbg.jpg) no-repeat;background-position:center;background-size:cover;border:8px solid #9299a1;overflow:hidden;width:100%;margin:30px auto 80px;object-fit:fill;height:600px;}
.machine .machineCando{display:flex;justify-content:space-between;align-items:flex-start;flex-direction:row-reverse;flex-wrap:wrap;width:100%;margin:60px auto;}
.machine .machineCando:nth-of-type(odd){flex-direction:row;}
.machine .machineCando .text{width:calc(50% - 50px);}
.machine .machineCando .text h3{font-size:24px;color:#9299a1;margin-bottom:20px;}
.machine .machineCando .text p{font-size:20px;margin-bottom:30px;}
.machine .machineCando .pic{width:calc(50% - 20px);}
.machine .machineCando .pic figure{width:100%;height:100%;border:8px solid #9299a1;}
.machine .machineCando .pic figure:after{padding-top:60%;}
@media (max-width:1380px){
	.machine{padding: 70px 30px;}
	.machine .machineMat p{font-size:16px;}
	.machine .machineMat .viewbox{border-width:5px;height:500px;}
	.machine .machineCando{margin:50px auto;}
	.machine .machineCando .text p{font-size:16px;}
	.machine .machineCando .pic figure{border-width:5px;}
}
@media (max-width:1180px){
	.machine{padding: 60px 20px;}
	.machine .machineMat .common_tit{margin-bottom:30px;}
	.machine .machineMat p{font-size:14px;}
	.machine .machineMat .viewbox{border-width:3px;height:450px;margin:20px auto 70px;}
	.machine .machineCando{margin:30px auto;}
	.machine .machineCando .text{width:calc(50% - 30px);}
	.machine .machineCando .text h3{font-size:20px;margin-bottom:15px;}
	.machine .machineCando .text p{font-size:14px;margin-bottom:20px;}
	.machine .machineCando .pic{width:calc(50% - 10px);}
	.machine .machineCando .pic figure{border-width:3px;}
}
@media (max-width:980px){
	.machine{padding:50px 20px;}
	.machine .machineMat .common_tit{margin-bottom:20px;}
	.machine .machineMat .viewbox{border-width:2px;height:auto;margin:15px auto 50px;line-height:1;}
	.machine .machineMat .viewbox>video{width:100%;}
	.machine .machineCando .text{width:calc(50% - 10px);}
	.machine .machineCando .pic figure{border-width:2px;}
}
@media (max-width:720px){
	.machine .machineCando .text{width:100%;max-width:500px;margin:0 auto 15px;}
	.machine .machineCando .pic{width:100%;max-width:500px;margin:0 auto;}
}


.instructors{position:relative;display:block;background:#181818;padding:80px 40px;color:#FFF;}
.instructors .instructorsMat{font-family: "Shippori Mincho", serif;}
.instructors .instructorsItem{margin:60px auto;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;}
.instructors .instructorsItem .pic{width:420px;}
.instructors .instructorsItem .pic figure{width:100%;border:8px solid #9299a1;}
.instructors .instructorsItem .pic figure:after{padding-top:130%;}
.instructors .instructorsItem .pic h3{text-align:center;font-size:24px;color:#9299a1;margin-top:10px;}
.instructors .instructorsItem .pic h3 span{font-size:18px;}
.instructors .instructorsItem .text{width:calc(100% - 500px);}
.instructors .instructorsItem .text p{font-size:20px;margin-bottom:30px;}
.instructors .instructorsItem .text dl{display:flex;justify-content:space-between;flex-wrap:wrap;font-size:20px;}
.instructors .instructorsItem .text dl dt{width:130px;}
.instructors .instructorsItem .text dl dd{width:calc(100% - 140px);}
@media (max-width:1380px){
	.instructors{padding: 70px 30px;}
	.instructors .instructorsItem{margin:50px auto;}
	.instructors .instructorsItem .pic{width:360px;}
	.instructors .instructorsItem .pic figure{border-width:5px;}
	.instructors .instructorsItem .pic h3 span{font-size:16px;}
	.instructors .instructorsItem .text{width:calc(100% - 420px);}
	.instructors .instructorsItem .text p{font-size:16px;margin-bottom:20px;}
	.instructors .instructorsItem .text dl{font-size:16px;}
	.instructors .instructorsItem .text dl dt{width:120px;}
	.instructors .instructorsItem .text dl dd{width:calc(100% - 130px);}
}
@media (max-width:1180px){
	.instructors{padding: 60px 20px;}
	.instructors .instructorsItem{margin:30px auto;}
	.instructors .instructorsItem .pic{width:320px;}
	.instructors .instructorsItem .pic figure{border-width:3px;}
	.instructors .instructorsItem .pic h3{font-size:20px;margin-top:5px;}
	.instructors .instructorsItem .pic h3 span{font-size:14px;}
	.instructors .instructorsItem .text{width:calc(100% - 360px);}
	.instructors .instructorsItem .text p{font-size:14px;margin-bottom:15px;}
	.instructors .instructorsItem .text dl{font-size:14px;}
	.instructors .instructorsItem .text dl dt{width:110px;}
	.instructors .instructorsItem .text dl dd{width:calc(100% - 120px);}
}
@media (max-width:980px){
	.instructors{padding:50px 20px;}
	.instructors .instructorsItem{max-width:500px;}
	.instructors .instructorsItem .pic{width:100%;max-width:240px;margin:0 auto 15px;}
	.instructors .instructorsItem .pic h3{font-size:16px;margin-top:3px;}
	.instructors .instructorsItem .text{width:100%;}
	.instructors .instructorsItem .text dl dt{width:90px;}
	.instructors .instructorsItem .text dl dd{width:calc(100% - 100px);}
}


.priceone{padding:80px 40px;background:#000;}
.priceonecon{max-width:1320px;}
.priceonecon .common_tit{color:#fff;}
.priceonecon>p{margin-top:60px;color:#fff;}
.priceonecon>ul{margin:30px 0 0 -30px;display:flex;align-items:flex-end;flex-flow:wrap;}
.priceonecon>ul>li{margin:30px 0 0 30px;width:calc(33.33% - 30px);}
.priceonecon>ul>li>.pictit{padding:20px 0;font-size:50px;text-align:center;color:#fff;line-height:1.2;letter-spacing:5px;font-family: "Shippori Mincho", serif;}
.priceonecon>ul>li>.pictit2{letter-spacing:0;}
.priceonecon>ul>li>.pictit>h3>span{margin-top:14px;display:block;font-size:20px;}
.priceonecon>ul>li:nth-child(4)>.pictit{color:#343434;}
.priceonecon>ul>li>dl{display:flex;flex-flow:wrap;justify-content:space-between;padding:20px;height:calc(100% - 140px);background:#eeeae0;font-family: "Shippori Mincho", serif;}
.priceonecon>ul>li>dl>dt{display:flex;align-items:center;justify-content:center;padding:10px 0;width:66px;font-size:18px;font-weight:bold;border-bottom:1px solid #565656;}
.priceonecon>ul>li>dl>dd{padding:10px 0 10px 20px;width:calc(100% - 66px);border-bottom:1px solid #565656;}
.priceonecon>ul>li>dl>dd>span{margin-right:5px;font-size:40px;line-height:1;}
.priceonecon>ul>li>dl>dd>em{font-size:12px;}
.priceonecon .common_tittop{margin-top:80px;}
.priceonecon .tectcon{margin-top:50px;font-family: "Shippori Mincho", serif;}
.priceonecon .tectcon>p{margin-top:20px;display:flex;justify-content:space-between;}
.priceonecon .tectcon>p>span{width:40px;font-size:34px;color:#9299a1;line-height:1;font-weight:bold;}
.priceonecon .tectcon>p>em>strong{margin-bottom:10px;font-size:28px;line-height:1;}
.priceonecon .tectcon>p>em{width:calc(100% - 40px);font-size:24px;color:#fff;font-weight:bold;}
@media (max-width:1380px){
	.priceone{padding:70px 30px;}
	.priceonecon>p{margin-top:40px;color:#fff;}
	.priceonecon>ul{margin:20px 0 0 -20px;}
	.priceonecon>ul>li{margin:20px 0 0 20px;width:calc(33.33% - 20px);}
	.priceonecon>ul>li>.pictit{padding:15px 0;font-size:42px;letter-spacing:4px;}
	.priceonecon>ul>li>.pictit>h3>span{font-size:18px;}
	.priceonecon>ul>li>.pictit2{letter-spacing:0;}
	.priceonecon>ul>li>dl{height:calc(100% - 115px);}
	.priceonecon>ul>li>dl>dt{width:60px;font-size:16px;}
	.priceonecon>ul>li>dl>dd{width:calc(100% - 60px);}
	.priceonecon>ul>li>dl>dd>span{font-size:32px;}
	.priceonecon>ul>li>dl>dd>em{font-size:14px;}
	.priceonecon .common_tittop{margin-top:70px;}
	.priceonecon .tectcon{margin-top:40px;}
	.priceonecon .tectcon>p>span{width:36px;font-size:30px;}
	.priceonecon .tectcon>p>em{width:calc(100% - 36px);font-size:18px;}
	.priceonecon .tectcon>p>em>strong{margin-bottom:6px;font-size:24px;}
}
@media (max-width:1180px){
	.priceone{padding:60px 20px;}
	.priceonecon>p{margin-top:30px;color:#fff;}
	.priceonecon>ul{margin:20px 0 0 -10px;}
	.priceonecon>ul>li{margin:10px 0 0 10px;width:calc(33.33% - 10px);}
	.priceonecon>ul>li>.pictit{padding:10px 0;font-size:34px;letter-spacing:3px;}
	.priceonecon>ul>li>.pictit>h3>span{font-size:16px;}
	.priceonecon>ul>li>.pictit2{letter-spacing:0;}
	.priceonecon>ul>li>dl{height:calc(100% - 94px);}
	.priceonecon>ul>li>dl>dt{width:50px;font-size:14px;}
	.priceonecon>ul>li>dl>dd{width:calc(100% - 50px);}
	.priceonecon>ul>li>dl>dd>span{font-size:24px;}
	.priceonecon>ul>li>dl>dd>em{font-size:12px;}
	.priceonecon .common_tittop{margin-top:60px;}
	.priceonecon .tectcon{margin-top:30px;}
	.priceonecon .tectcon>p>span{width:32px;font-size:26px;}
	.priceonecon .tectcon>p>em{width:calc(100% - 32px);font-size:16px;}
	.priceonecon .tectcon>p>em>strong{margin-bottom:4px;font-size:20px;}
}
@media (max-width:780px){
	.priceone{padding:50px 20px;}
	.priceonecon>p{margin-top:20px;color:#fff;}
	.priceonecon>ul{margin:20px 0 0 -10px;}
	.priceonecon>ul>li{margin:10px 0 0 10px;width:calc(50% - 10px);}
	.priceonecon>ul>li>.pictit{font-size:26px;letter-spacing:2px;}
	.priceonecon>ul>li>.pictit>h3>span{font-size:14px;}
	.priceonecon>ul>li>.pictit2{letter-spacing:0;}
	.priceonecon>ul>li>dl{height:calc(100% - 84px);}
	.priceonecon>ul>li>dl>dd>span{font-size:20px;}
	.priceonecon .common_tittop{margin-top:50px;}
	.priceonecon .tectcon{margin-top:20px;}
	.priceonecon .tectcon>p>span{width:28px;font-size:24px;}
	.priceonecon .tectcon>p>em{width:calc(100% - 28px);font-size:14px;}
	.priceonecon .tectcon>p>em>strong{font-size:16px;}
}
@media (max-width:500px){
	.priceonecon>ul{margin:30px 0 0 0px;}
	.priceonecon>ul>li{margin:10px 0 0 0px;width:100%;}
}


.pricetwo{padding:80px 40px;background:url(img/bg02.jpg)no-repeat;}
.pricetwocon{max-width:1320px;}
.pricetwocon>hgroup{align-items:center;}
.pricetwocon>h3{margin-top:60px;font-size:34px;color:#181818;text-align:center;font-family: "Shippori Mincho", serif;}
.pricetwocon>p{margin-top:30px;font-size:20px;color:#181818;text-align:center;font-family: "Shippori Mincho", serif;}
.pricetwocon>dl{margin-top:80px;display:flex;justify-content:space-between;}
.pricetwocon>dl>dt{width:calc(50% - 25px);}
.pricetwocon>dl>dd{width:calc(50% - 25px);}
.pricetwocon>dl>dd>dl{display:flex;flex-flow:wrap;justify-content:space-between;text-align:center;font-family: "Shippori Mincho", serif;}
.pricetwocon>dl>dd>dl>dt{padding:20px 10px;width:25%;font-size:24px;font-weight:bold;border-right:1px solid #c2c7cc;border-bottom:1px solid #c2c7cc;background:#f7f5f0;}
.pricetwocon>dl>dd>dl>dt.dt01{border-right:none;}
.pricetwocon>dl>dd>dl>dd{padding:20px 0;width:25%;font-size:20px;border-right:1px solid #c2c7cc;}
.pricetwocon>dl>dd>dl>dd:last-child{border-right:none;}
.pricetwocon>dl>dd>dl .wid01{width:20%;}
.pricetwocon>dl>dd>dl .wid02{width:30%;}
@media (max-width:1380px){
	.pricetwo{padding:70px 30px;}
	.pricetwocon>hgroup{margin-bottom:50px;}
	.pricetwocon>h3{margin-top:50px;font-size:30px;}
	.pricetwocon>p{margin-top:20px;font-size:16px;}
	.pricetwocon>dl{margin-top:60px;}
	.pricetwocon>dl>dt{width:calc(50% - 15px);}
	.pricetwocon>dl>dd{width:calc(50% - 15px);}
	.pricetwocon>dl>dd>dl>dt{padding:15px 5px;font-size:20px;}
	.pricetwocon>dl>dd>dl>dd{padding:15px 0;font-size:16px;}
}
@media (max-width:1180px){
	.pricetwo{padding:60px 20px;}
	.pricetwocon>hgroup{margin-bottom:40px;}
	.pricetwocon>h3{margin-top:40px;font-size:26px;}
	.pricetwocon>p{font-size:14px;}
	.pricetwocon>dl{margin-top:40px;}
	.pricetwocon>dl>dt{width:calc(50% - 10px);}
	.pricetwocon>dl>dd{width:calc(50% - 10px);}
	.pricetwocon>dl>dd>dl>dt{padding:10px 5px;font-size:18px;}
	.pricetwocon>dl>dd>dl>dd{padding:10px 0;font-size:14px;}
}
@media (max-width:780px){
	.pricetwocon>hgroup{margin-bottom:30px;}
	.pricetwocon>h3{margin-top:30px;font-size:20px;}
	.pricetwocon>dl{display:block;margin-top:30px;}
	.pricetwocon>dl>dt{width:100%;}
	.pricetwocon>dl>dt:last-child{margin-top:20px;width:100%;}
	.pricetwocon>dl>dd>dl>dt{font-size:16px;}
	.pricetwocon>dl>dd>dl>dd{font-size:11px;}
}



.pricethree{padding:80px 40px;background:#fff;border-top:4px dashed #ccc;}
.pricethreecon{max-width:1120px;}
.pricethreecon>ul>li{display:flex;margin-top:80px;align-items:flex-start;justify-content:space-between;font-family:"Shippori Mincho",serif;}
.pricethreecon>ul>li>div{padding:10px 0;width:70px;font-size:18px;color:#fff;text-align:center;line-height:1;background:#3f454b;}
.pricethreecon>ul>li>div>span{margin-top:10px;display:block;font-size:44px;font-family:"ヒラギノ角ゴ Pro W3",sans-serif;}
.pricethreecon>ul>li>hgroup{width:calc(100% - 100px);}
.pricethreecon>ul>li>hgroup>h3{font-size:24px;color:#181818;line-height:1.4;}
.pricethreecon>ul>li>hgroup>p{margin-top:15px;font-size:20px;font-weight:300;}
@media (max-width:1380px){
	.pricethree{padding:70px 30px;border-top:3px dashed #ccc;}
	.pricethreecon>ul>li{margin-top:70px;}
	.pricethreecon>ul>li>div{width:60px;font-size:16px;}
	.pricethreecon>ul>li>div>span{font-size:38px;}
	.pricethreecon>ul>li>hgroup{width:calc(100% - 80px);}
	.pricethreecon>ul>li>hgroup>h3{font-size:22px;}
	.pricethreecon>ul>li>hgroup>p{margin-top:10px;font-size:18px;}
}
@media (max-width:1180px){
	.pricethree{padding:60px 20px;border-top:2px dashed #ccc;}
	.pricethreecon>ul>li{margin-top:60px;}
	.pricethreecon>ul>li>div{width:60px;font-size:14px;}
	.pricethreecon>ul>li>div>span{font-size:32px;}
	.pricethreecon>ul>li>hgroup{width:calc(100% - 70px);}
	.pricethreecon>ul>li>hgroup>h3{font-size:20px;}
	.pricethreecon>ul>li>hgroup>p{font-size:16px;}
}
@media (max-width:780px){
	.pricethreecon>ul>li{margin-top:50px;}
	.pricethreecon>ul>li>div{padding:5px;width:45px;font-size:12px;}
	.pricethreecon>ul>li>div>span{font-size:20px;}
	.pricethreecon>ul>li>hgroup{width:calc(100% - 50px);}
	.pricethreecon>ul>li>hgroup>h3{font-size:18px;}
	.pricethreecon>ul>li>hgroup>p{font-size:14px;line-height:1.4;}
}


.pricefour{padding:80px 40px;background:#3f454b;}
.pricefourcon{max-width:1120px;}
.pricefourcon>dl{display:flex;justify-content:space-between;}
.pricefourcon>dl>dt{width:40%;border-right:1px solid #c2c7cc;}
.pricefourcon>dl dl{display:flex;flex-flow:wrap;justify-content:space-between;font-size:18px;color:#c2c7cc;}
.pricefourcon>dl dl>dt{margin:10px 0;width:118px;font-weight:bold;}
.pricefourcon>dl dl>dd{margin:10px 0;width:calc(100% - 118px);}
.pricefourcon>dl dl>dd>a{color:#c2c7cc;}
.pricefourcon>dl dl>dd>a:hover{text-decoration:underline;}
.pricefourcon>dl>dd{display:flex;align-items:center;padding-left:100px;width:60%;}
.pricefourcon>dl>dd>dl>dt{display:flex;align-items:center;}
@media (max-width:1380px){
	.pricefour{padding:70px 30px;}
	.pricefourcon>dl dl{font-size:16px;}
	.pricefourcon>dl dl>dt{width:100px;}
	.pricefourcon>dl dl>dd{width:calc(100% - 100px);}
	.pricefourcon>dl>dd{padding-left:80px;}
}
@media (max-width:1180px){
	.pricefour{padding:60px 20px;}
	.pricefourcon>dl dl{font-size:14px;}
	.pricefourcon>dl dl>dt{width:90px;}
	.pricefourcon>dl dl>dd{width:calc(100% - 90px);}
	.pricefourcon>dl>dd{padding-left:40px;}
}
@media (max-width:780px){
	.pricefourcon>dl{display:block;}
	.pricefourcon>dl>dt{width:100%;border-right:none;}
	.pricefourcon>dl dl>dt{width:80px;}
	.pricefourcon>dl dl>dd{width:calc(100% - 80px);}
	.pricefourcon>dl>dd{padding-left:0px;width:100%;}
}

.map{width:100%;height:600px;background:#ccc url(img/lgm.png) no-repeat center center;background-size:40% auto;}
.map>iframe{width:100%;height:100%;}
@media screen and (max-width:1520px){
	.map{height:500px;}
}
@media screen and (max-width:1080px){
	.map{height:400px;}
}
@media screen and (max-width:780px){
	.map{height:300px;}
}

.contactone{padding:80px 40px;background:#181818;}
.contactonecon{max-width:1120px;font-family:"Shippori Mincho",serif;}
.contactonecon dl{display:flex;flex-flow:wrap;justify-content:space-between;}
.contactonecon dl>dt{margin-top:20px;width:350px;font-size:20px;color:#9299a1;}
.contactonecon dl>dd{width:calc(100% - 350px);color:#fff;}
.contactonecon dl dt span{margin-right:15px;padding:2px 5px;width:50px;font-size:14px;color:#fff;font-weight:normal;background:#3f454b;}
.contactonecon dl dt span.color01{background:#ff0000;}
.contactonecon dl>dt>em{display:inline-block;width:54px;}
.contactonecon dl>dd{margin-top:20px;}
.contactonecon dl>dd input{padding:15px;width:100%;color:#fff;background:#24282d;border-radius:10px;}
.contactonecon dl>dd textarea{padding:15px;width:100%;height:150px;color:#fff;background:#24282d;border-radius:10px;}
.contactonecon dl>dd select{padding:15px;width:100%;color:#fff;background:#24282d;border-radius:10px;}
.contactonecon dl>dd.dd01{display:flex;flex-flow:wrap;justify-content:space-between;}
.contactonecon dl>dd.dd01>div{width:calc(50% - 20px);font-size:18px;color:#fff;}
.contactonecon dl>dd.dd01>div>span:first-child{margin-left:15px;padding:2px 5px;width:50px;font-size:14px;color:#fff;font-weight:normal;background:#ff0000;}
.contactonecon dl>dd.dd02 input{width:auto;color:#fff;}
.contactonecon dl>dd.dd02 label{color:#fff;}
.contactonecon dl>dd.dd02>span{display:block;margin-left:0 !important;}
.contactonecon dl>dd.dd03 input{width:auto;color:#fff;}
.contactonecon dl>dd.dd03 label{color:#fff;}
.contactonecon dl>dd.dd03>span{display:block;margin-left:0 !important;}
.p02{text-align:center;color:#fff;}
.contacttwo{background:#000;}
.contacttwocon>h3{font-size:24px;color:#9299a1;}
.contacttwocon>dl{margin-top:60px;}
.contacttwocon>dl>dt{padding:0 20px 0 50px;}
.scrollbox{margin-top:20px;max-height:200px;overflow-y:scroll;border:1px solid #fff;}
.scrollbox>p{padding:20px;height:300px;color:#fff;}
.scrollbox>p>a{color:#fff;text-decoration:underline;}
.scrollbox>p>a:hover{text-decoration:none;}
.p03{margin-top:20px;color:#ff0000;text-align:center;}
.agree{display:flex;justify-content:center;align-items:center;margin-top:40px;color:#fff;}
.mw_wp_form .agree .horizontal-item{margin-right:5px;}
.btnboxs{margin-top:40px;display:flex;align-items:center;justify-content:center;}
.back{margin:0 20px;display:flex;justify-content:center;padding:15px;width:150px;text-align:center;font-weight:bold;letter-spacing:4px;color:#000;cursor:pointer;background:#ccc;transition:.3s;}
.back:hover{opacity:.7;}
.send{margin:0 20px;display:flex;justify-content:center;padding:15px;width:240px;text-align:center;font-weight:bold;letter-spacing:4px;color:#fff;cursor:pointer;background:#656c73;transition:.3s;}
.send:hover{opacity:.7;}
.error{color:#ff0000 !important;}
@media (max-width:1380px){
	.contactone{padding:70px 30px;}
	.contactonecon dl>dt{width:300px;font-size:18px;}
	.contactonecon dl>dd{width:calc(100% - 300px);}
	.contactonecon dl dt span{margin-right:10px;width:40px;font-size:12px;}
	.contactonecon dl>dt>em{width:40px;}
	.contactonecon dl>dd.dd01>div{width:calc(50% - 15px);font-size:16px;}
	.contacttwocon>h3{font-size:20px;}
	.contactonecon dl>dd.dd01>div>span:first-child{margin-left:10px;width:40px;font-size:12px;}
	.contacttwocon>dl{margin-top:0px;}
	.contacttwocon>dl>dt{padding:0 20px 0 40px;}
	.send{margin:0 10px;width:200px;letter-spacing:3px;}
	.back{margin:0 10px;width:130px;letter-spacing:3px;}
	.btnboxs{margin-top:30px;}
}
@media (max-width:1180px){
	.contactone{padding:60px 20px;}
	.contactonecon dl>dt{width:260px;font-size:16px;}
	.contactonecon dl>dd{width:calc(100% - 260px);}
	.contactonecon dl dt span{margin-right:5px;}
	.contactonecon dl>dd.dd01>div>span:first-child{margin-left:5px;}
	.contactonecon dl>dt>em{width:45px;}
	.contactonecon dl>dd.dd01>div{width:calc(50% - 10px);font-size:14px;}
	.contacttwocon>h3{font-size:18px;}
	.contacttwocon>dl>dt{padding:0 20px 0 30px;}
	.send{width:180px;letter-spacing:2px;}
	.back{width:120px;letter-spacing:2px;}
	.btnboxs{margin-top:20px;}
}
@media (max-width:780px){
	.contactonecon dl{display:block;}
	.contactonecon dl>dt{width:100%;font-size:14px;}
	.contactonecon dl>dd{width:100%;}
	.contactonecon dl>dd.dd01>div{width:calc(50% - 10px);}
	.contactonecon dl>dd input{padding:10px;}
	.contactonecon dl>dd textarea{padding:10px;}
	.contactonecon dl>dd select{padding:10px;}
	.contactonecon dl>dt>em{width:0px;}
	.contactonecon dl>dd.dd02 input{padding:0;}
	.contactonecon dl>dd.dd02>span{display:block;margin-left:0 !important;}
	.contactonecon dl>dd select{padding:10px;}
	.contacttwocon>h3{font-size:16px;}
	.contacttwocon>dl>dt{padding:0;}
	.send{width:160px;letter-spacing:1px;}
	.back{width:100px;letter-spacing:1px;}
}


#otherInput{margin:-40px 0 0 90px;padding:8px;display:none;}
@media (max-width:780px){
	#otherInput{margin:4px 0 0 0px;max-width:400px;width:100%;display:none;}
}

.page-id-50 .p03{display:none;}

.formstep{margin-bottom:50px;list-style-type:none;display:flex;justify-content:center;align-items:center;}
.formstep li{font-size:28px;color:#a7a7a7;display:flex;align-items: center;}
.formstep li.current{color:#ffffff;}
.formstep li span{font-size:20px;letter-spacing:0.1em;margin-right:10px;}
.formstep li:not(:last-child){padding-right:15vw;position:relative;}
.formstep li:not(:last-child):after{content:"";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:12vw;border-top:1px solid #a7a7a7;}
.formstep li.current:after{border-top:1px solid #a7a7a7;}
@media screen and (max-width: 1520px) {
    .formstep li{font-size:24px;}
    .formstep li span{font-size:14px;}
    .formstep li:not(:last-child){padding-right:12vw;}
    .formstep li:not(:last-child):after{right:15px;width:10vw;}
}
@media screen and (max-width: 1080px){
    .formstep{margin-bottom:20px;}
    .formstep li{font-size:18px;}
    .formstep li span{font-size:12px;letter-spacing:1px;margin-right:5px;}
    .formstep li:not(:last-child){padding-right:10vw;}
    .formstep li:not(:last-child):after{right:10px;width:8vw;}
}
@media screen and (max-width: 768px){
    .formstep li{font-size:14px;}
    .formstep li:not(:last-child){padding-right:6vw;}
    .formstep li:not(:last-child):after{right:5px;width:3vw;}
}

/* ==================================================
   PRICE PAGE
   料金画像のテキストカード化
================================================== */

.priceone,
.pricetwo {
	color: #fff;
}

.priceonecon,
.pricetwocon {
	position: relative;
}


/* ------------------------------
   お知らせ
------------------------------ */

.priceNotice {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	margin-top: 45px;
	border: 1px solid rgba(201, 159, 61, 0.75);
	background:
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.04),
			rgba(255, 255, 255, 0)
		),
		#111;
	box-shadow:
		0 20px 50px rgba(0, 0, 0, 0.28),
		inset 0 0 30px rgba(255, 255, 255, 0.02);
}

.priceNoticeMain,
.priceNoticeUpdate {
	padding: 35px 38px;
}

.priceNoticeMain {
	border-right: 1px solid rgba(201, 159, 61, 0.5);
}

.priceNoticeTitle {
	margin: 0 0 15px;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.6;
}

.priceNoticeTitle strong,
.priceNoticeCampaign strong {
	color: #ff3131;
}

.priceNoticeCampaign {
	margin: 0 0 12px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.8;
}

.priceNoticeSmall {
	margin: 0 0 25px;
	color: rgba(255, 255, 255, 0.75);
	font-size: 13px;
}

.priceNoticePoints {
	margin: 0;
	padding: 0;
	list-style: none;
}

.priceNoticePoints li {
	position: relative;
	margin-top: 8px;
	padding-left: 1.2em;
	color: #ff9a22;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.8;
}

.priceNoticePoints li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "・";
}

.priceUpdateBlock + .priceUpdateBlock {
	margin-top: 24px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.priceUpdateBlock p,
.priceUpdateBlock li {
	font-size: 14px;
	line-height: 1.8;
}

.priceUpdateBlock ul {
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.priceUpdateBlock li {
	position: relative;
	padding-left: 1.1em;
}

.priceUpdateBlock li::before {
	position: absolute;
	left: 0;
	content: "・";
}

.priceUpdateDate {
	margin: 0 0 5px;
	color: #ff512f;
	font-weight: 700;
}


/* ------------------------------
   カテゴリー
------------------------------ */

.priceCategory {
	margin-top: 100px;
}

.priceCategoryLead {
	margin: 12px 0 35px;
	color: #ff9518;
	font-size: clamp(18px, 2vw, 24px);
	font-weight: 700;
	line-height: 1.7;
	text-align: center;
}

.priceCategory .common_tit h2 small {
	display: inline-block;
	margin-top: 7px;
	font-size: 0.65em;
	line-height: 1.6;
}


/* ------------------------------
   料金プラングリッド
------------------------------ */

.pricePlanGrid {
	display: grid;
	gap: 24px;
	margin-top: 35px;
}

.pricePlanGrid-basic {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pricePlanGrid-time {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pricePlanGrid-lesson {
	grid-template-columns: minmax(280px, 440px);
	justify-content: center;
}


/* ------------------------------
   料金カード共通
------------------------------ */

.priceCard {
	--card-main: #d7d7d7;
	--card-border: #666;
	--card-text: #222;
	--card-accent: #ff165d;

	position: relative;
	min-width: 0;
	padding: 10px;
	overflow: hidden;
	color: var(--card-text);
	background:
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.8),
			rgba(255, 255, 255, 0.25)
		),
		var(--card-main);
	border: 1px solid var(--card-border);
	box-shadow:
		0 16px 40px rgba(0, 0, 0, 0.3),
		inset 0 0 30px rgba(255, 255, 255, 0.5);
}

.priceCard::before,
.priceCard::after {
	position: absolute;
	width: 42px;
	height: 42px;
	pointer-events: none;
	content: "";
}

.priceCard::before {
	top: 6px;
	left: 6px;
	border-top: 2px solid var(--card-border);
	border-left: 2px solid var(--card-border);
	border-radius: 14px 0 0;
}

.priceCard::after {
	right: 6px;
	bottom: 6px;
	border-right: 2px solid var(--card-border);
	border-bottom: 2px solid var(--card-border);
	border-radius: 0 0 14px;
}

.priceCardInner {
	position: relative;
	z-index: 1;
	height: 100%;
	padding: 26px 18px 22px;
	border: 1px solid color-mix(in srgb, var(--card-border) 70%, transparent);
}

.priceCardInner::before,
.priceCardInner::after {
	position: absolute;
	width: 26px;
	height: 26px;
	content: "";
}

.priceCardInner::before {
	top: 5px;
	right: 5px;
	border-top: 1px solid var(--card-border);
	border-right: 1px solid var(--card-border);
}

.priceCardInner::after {
	bottom: 5px;
	left: 5px;
	border-bottom: 1px solid var(--card-border);
	border-left: 1px solid var(--card-border);
}

.priceCardHeader {
	position: relative;
	margin-bottom: 18px;
	padding-bottom: 18px;
	text-align: center;
}

.priceCardHeader::after {
	position: absolute;
	right: 8%;
	bottom: 0;
	left: 8%;
	height: 1px;
	background: var(--card-border);
	content: "";
}

.priceCardEnglish {
	margin: 0;
	font-family: "Times New Roman", "Yu Mincho", serif;
	font-size: clamp(28px, 2.5vw, 42px);
	line-height: 1.1;
	letter-spacing: 0.06em;
}

.priceCardHeader h3 {
	margin: 7px 0 0;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.priceCardPrice {
	padding: 2px 0 20px;
	text-align: center;
}

.priceCardOld {
	margin: 0;
	font-family: "Times New Roman", "Yu Mincho", serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}

.priceCardArrow {
	display: block;
	margin: 3px 0;
	color: var(--card-accent);
	font-size: 18px;
	line-height: 1;
}

.priceCardCurrent {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 4px;
	margin: 0;
	color: var(--card-accent);
	white-space: nowrap;
}

.priceCardCurrent strong {
	font-family: "Times New Roman", "Yu Mincho", serif;
	font-size: clamp(34px, 3.1vw, 48px);
	line-height: 1;
	letter-spacing: 0.01em;
}

.priceCardCurrent span {
	font-size: 14px;
	font-weight: 700;
}

.priceCardPayment {
	margin: 12px 0 0;
	font-size: 17px;
	letter-spacing: 0.15em;
}

.priceCardDetails {
	margin: 0;
}

.priceCardDetails > div {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	align-items: center;
	min-height: 64px;
	border-top: 1px solid color-mix(
		in srgb,
		var(--card-border) 38%,
		transparent
	);
}

.priceCardDetails dt {
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.15em;
}

.priceCardDetails dd {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.55;
}

.priceCardDetails dd strong {
	display: inline-block;
	font-size: 17px;
}

.priceCardDetails dd small {
	display: block;
	margin-top: 3px;
	font-size: 11px;
	line-height: 1.5;
}

.priceCardDetails ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.priceCardDetails li {
	position: relative;
	margin-top: 5px;
	padding-left: 1.25em;
}

.priceCardDetails li::before {
	position: absolute;
	left: 0;
	font-weight: 700;
	content: "◎";
}

.priceCardBenefit {
	align-items: start !important;
	padding-top: 17px;
}

.priceTextRed {
	color: #f42532;
	font-weight: 700;
}

.priceCardRecommend {
	position: absolute;
	z-index: 3;
	top: 13px;
	right: -36px;
	width: 145px;
	padding: 6px 0;
	color: #fff;
	background: #9299a1;
	font-size: 11px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.08em;
	transform: rotate(42deg);
}


/* ------------------------------
   カード配色
------------------------------ */

.priceCard-silver {
	--card-main: #eee;
	--card-border: #343434;
	--card-text: #222;
	--card-accent: #ff164c;

	background-image:
		linear-gradient(
			rgba(255, 255, 255, 0.72),
			rgba(235, 235, 235, 0.86)
		),
		repeating-linear-gradient(
			45deg,
			rgba(0, 0, 0, 0.025) 0,
			rgba(0, 0, 0, 0.025) 1px,
			transparent 1px,
			transparent 6px
		);
}

.priceCard-gold {
	--card-main: #c2c7cc;
	--card-border: #3f454b;
	--card-text: #0f1114;
	--card-accent: #f31647;

	background-image:
		linear-gradient(
			rgba(247, 231, 178, 0.72),
			rgba(202, 172, 93, 0.72)
		),
		radial-gradient(
			circle at 1px 1px,
			rgba(78, 57, 16, 0.15) 1px,
			transparent 1.5px
		);
	background-size: auto, 8px 8px;
}

.priceCard-platinum {
	--card-main: #f4f4f1;
	--card-border: #303030;
	--card-text: #202020;
	--card-accent: #f51d38;

	background-image:
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.95),
			rgba(213, 213, 213, 0.76)
		),
		repeating-linear-gradient(
			-45deg,
			rgba(0, 0, 0, 0.035) 0,
			rgba(0, 0, 0, 0.035) 1px,
			transparent 1px,
			transparent 7px
		);
}

.priceCard-junior {
	--card-main: #67aeb2;
	--card-border: #fff;
	--card-text: #fff;
	--card-accent: #ff164d;

	background-image:
		linear-gradient(
			rgba(92, 165, 169, 0.92),
			rgba(62, 137, 143, 0.92)
		),
		radial-gradient(
			circle at 1px 1px,
			rgba(255, 255, 255, 0.16) 1px,
			transparent 1.5px
		);
	background-size: auto, 9px 9px;
}

.priceCard-midnight {
	--card-main: #273b47;
	--card-border: #0e2635;
	--card-text: #fff;
	--card-accent: #ff0f6c;

	background:
		linear-gradient(
			160deg,
			rgba(122, 211, 231, 0.95) 0%,
			rgba(122, 211, 231, 0.88) 42%,
			rgba(32, 39, 43, 0.96) 42.3%,
			rgba(21, 26, 29, 0.98) 100%
		);
}

.priceCard-lunch {
	--card-main: #bde7d0;
	--card-border: #304e43;
	--card-text: #24352f;
	--card-accent: #ff0e70;

	background-image:
		linear-gradient(
			rgba(195, 236, 213, 0.92),
			rgba(160, 209, 181, 0.92)
		),
		repeating-linear-gradient(
			45deg,
			rgba(36, 78, 58, 0.05) 0,
			rgba(36, 78, 58, 0.05) 1px,
			transparent 1px,
			transparent 7px
		);
}

.priceCard-weekend {
	--card-main: #17365e;
	--card-border: #fff;
	--card-text: #fff;
	--card-accent: #ff176e;

	background-image:
		linear-gradient(
			rgba(21, 53, 94, 0.94),
			rgba(12, 36, 69, 0.98)
		),
		repeating-linear-gradient(
			0deg,
			rgba(255, 255, 255, 0.035) 0,
			rgba(255, 255, 255, 0.035) 1px,
			transparent 1px,
			transparent 4px
		);
}

.priceCard-lesson {
	--card-main: #ffa23b;
	--card-border: #20150c;
	--card-text: #0f1114;
	--card-accent: #0f1114;

	background:
		linear-gradient(
			135deg,
			#c2c7cc 0%,
			#f7952c 100%
		);
}


/* ------------------------------
   注釈
------------------------------ */

.priceNotes {
	margin-top: 18px;
	padding-left: 10px;
}

.priceNotes p {
	margin: 3px 0;
	color: rgba(255, 255, 255, 0.86);
	font-size: 14px;
	line-height: 1.7;
}


/* ------------------------------
   レッスン・イベント
------------------------------ */

.lessonEventGrid {
	display: grid;
	grid-template-columns: 1.45fr 1fr 1fr;
	gap: 20px;
	margin-top: 40px;
}

.lessonEventCard {
	position: relative;
	padding: 40px 28px 30px;
	border: 1px solid rgba(201, 159, 61, 0.85);
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.055),
			rgba(255, 255, 255, 0)
		),
		#111;
	box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
}

.lessonEventNumber {
	position: absolute;
	top: 16px;
	left: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	color: #0f1114;
	background: #9299a1;
	border-radius: 50%;
	font-family: "Times New Roman", serif;
	font-size: 22px;
	font-weight: 700;
}

.lessonEventCard h3 {
	margin: 0 0 20px;
	padding-left: 38px;
	color: #c2c7cc;
	font-size: 21px;
	line-height: 1.5;
}

.lessonEventCard p,
.lessonEventCard li {
	font-size: 14px;
	line-height: 1.85;
}

.lessonEventCard ul {
	margin: 20px 0;
	padding-left: 1.3em;
}

.lessonPriceList {
	margin: 20px 0;
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	background: rgba(255, 255, 255, 0.035);
}

.lessonPriceList p {
	margin: 4px 0;
}

.lessonSubNote {
	padding-left: 1em;
	font-size: 12px !important;
	opacity: 0.7;
}

.lessonEventEmphasis {
	color: #ff8c00;
	font-weight: 700;
}


/* ------------------------------
   法人プラン
------------------------------ */

.corporateIntro {
	max-width: 900px;
	margin: 35px auto 0;
	text-align: center;
}

.corporateIntro h3 {
	margin: 0 0 18px;
	font-size: clamp(20px, 2.5vw, 30px);
}

.corporateIntro p {
	font-size: 15px;
	line-height: 2;
}

.corporateIntroEmphasis {
	color: #ff4b22;
	font-size: clamp(20px, 2.2vw, 27px) !important;
	font-weight: 700;
}

.corporatePlanGrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 35px;
	margin-top: 50px;
}

.corporateCard {
	position: relative;
	padding: 10px;
	color: #fff;
	background:
		linear-gradient(
			135deg,
			rgba(109, 95, 60, 0.86),
			rgba(41, 39, 32, 0.98)
		);
	border: 1px solid #9299a1;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.32);
}

.corporateCard::before,
.corporateCard::after {
	position: absolute;
	width: 55px;
	height: 55px;
	content: "";
	pointer-events: none;
}

.corporateCard::before {
	top: 4px;
	left: 4px;
	border-top: 3px double #c2c7cc;
	border-left: 3px double #c2c7cc;
}

.corporateCard::after {
	right: 4px;
	bottom: 4px;
	border-right: 3px double #c2c7cc;
	border-bottom: 3px double #c2c7cc;
}

.corporateCardInner {
	position: relative;
	z-index: 1;
	height: 100%;
	border: 1px solid rgba(230, 207, 151, 0.4);
}

.corporateCard header {
	padding: 38px 25px 28px;
	text-align: center;
}

.corporateCardEnglish {
	margin: 0;
	font-family: "Times New Roman", "Yu Mincho", serif;
	font-size: clamp(32px, 4vw, 54px);
	line-height: 1.2;
}

.corporateCard header h3 {
	margin: 13px 0 5px;
	font-size: 21px;
	letter-spacing: 0.08em;
}

.corporateCard header > p:last-child {
	margin: 0;
	font-size: 15px;
	letter-spacing: 0.08em;
}

.corporatePrices {
	padding: 5px 30px 30px;
	text-align: center;
}

.corporatePrices > p {
	display: grid;
	grid-template-columns: 100px 1fr auto;
	align-items: baseline;
	gap: 10px;
	max-width: 520px;
	margin: 9px auto;
}

.corporatePrices span {
	text-align: right;
	font-size: 18px;
}

.corporatePrices strong {
	font-family: "Times New Roman", "Yu Mincho", serif;
	font-size: clamp(24px, 3vw, 35px);
	text-align: left;
}

.corporatePrices small {
	font-size: 13px;
}

.corporateTax {
	display: block !important;
	margin-top: 15px !important;
	font-size: 11px;
	text-align: right;
}

.corporateMainPrice {
	padding: 4px 20px 35px;
	text-align: center;
}

.corporateMainPrice strong {
	font-family: "Times New Roman", "Yu Mincho", serif;
	font-size: clamp(50px, 6vw, 78px);
	line-height: 1;
}

.corporateMainPrice span {
	margin-left: 7px;
	font-size: 20px;
}

.corporateDetails {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	border-top: 1px solid rgba(230, 207, 151, 0.45);
}

.corporateDetails > div {
	min-height: 190px;
	padding: 30px 22px;
	text-align: center;
	border-right: 1px solid rgba(230, 207, 151, 0.38);
	border-bottom: 1px solid rgba(230, 207, 151, 0.38);
}

.corporateDetails > div:nth-child(2n) {
	border-right: 0;
}

.corporateDetails dt {
	margin-bottom: 25px;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: 18px;
	letter-spacing: 0.15em;
}

.corporateDetails dd {
	margin: 0;
	font-size: 22px;
	line-height: 1.65;
}

.corporateDetails dd small {
	display: block;
	margin-top: 8px;
	font-size: 13px;
	line-height: 1.7;
}


/* ------------------------------
   MAP修正
------------------------------ */

.map {
	width: 100%;
	height: 450px;
}

.map iframe {
	display: block;
	width: 100% !important;
	height: 100% !important;
}


/* ==================================================
   RESPONSIVE
================================================== */

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

	.pricePlanGrid-basic {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lessonEventGrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lessonEventCard:first-child {
		grid-column: 1 / -1;
	}

}


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

	.priceNotice {
		grid-template-columns: 1fr;
	}

	.priceNoticeMain {
		border-right: 0;
		border-bottom: 1px solid rgba(201, 159, 61, 0.5);
	}

	.pricePlanGrid-time,
	.corporatePlanGrid {
		grid-template-columns: 1fr;
	}

}


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

	.priceCategory {
		margin-top: 70px;
	}

	.priceNotice {
		margin-top: 30px;
	}

	.priceNoticeMain,
	.priceNoticeUpdate {
		padding: 25px 20px;
	}

	.priceNoticeTitle {
		font-size: 18px;
	}

	.priceNoticeCampaign {
		font-size: 17px;
	}

	.priceNoticePoints li {
		font-size: 15px;
	}

	.pricePlanGrid-basic,
	.pricePlanGrid-time,
	.lessonEventGrid {
		grid-template-columns: 1fr;
	}

	.lessonEventCard:first-child {
		grid-column: auto;
	}

	.priceCard {
		max-width: 430px;
		width: 100%;
		margin-right: auto;
		margin-left: auto;
	}

	.priceCardEnglish {
		font-size: 35px;
	}

	.priceCardCurrent strong {
		font-size: 42px;
	}

	.corporatePrices > p {
		grid-template-columns: 82px 1fr;
	}

	.corporatePrices small {
		grid-column: 2;
		text-align: left;
	}

	.corporateDetails {
		grid-template-columns: 1fr;
	}

	.corporateDetails > div,
	.corporateDetails > div:nth-child(2n) {
		min-height: 0;
		border-right: 0;
	}

	.corporateMainPrice strong {
		font-size: 52px;
	}

	.corporateMainPrice span {
		font-size: 15px;
	}

	.map {
		height: 350px;
	}

}

/* ==================================================
   ツアープロサービス料金ページ
================================================== */

.tourProPage {
	background: #0b0b0b;
	color: #fff;
}

.tourPro {
	position: relative;
	padding: 90px 0 110px;
	overflow: hidden;
	background:
		linear-gradient(
			rgba(8, 8, 8, 0.96),
			rgba(15, 15, 15, 0.98)
		),
		radial-gradient(
			circle at top left,
			rgba(184, 143, 49, 0.1),
			transparent 45%
		);
}

.tourPro::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.012) 0,
			rgba(255, 255, 255, 0.012) 1px,
			transparent 1px,
			transparent 7px
		);
	content: "";
}

.tourProInner {
	position: relative;
	z-index: 1;
}


/* ==================================================
   上部見出し
================================================== */

.tourProHeading {
	display: flex;
	align-items: flex-start;
	gap: 40px;
	margin-bottom: 40px;
}

.tourProPopular {
	flex: 0 0 auto;
	min-width: 170px;
	margin: 5px 0 0;
	padding: 13px 30px;
	color: #fff;
	border: 1px solid #c2c7cc;
	border-radius: 999px;
	background:
		linear-gradient(
			135deg,
			#656c73 0%,
			#24282d 100%
		);
	box-shadow:
		inset 0 0 18px rgba(255, 255, 255, 0.08),
		0 8px 25px rgba(0, 0, 0, 0.35);
	font-family:
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;
	font-size: 24px;
	text-align: center;
	letter-spacing: 0.08em;
}

.tourProHeadingText {
	flex: 1;
}

.tourProEnglish {
	margin: 0 0 10px;
	color: #c2c7cc;
	font-family: "Times New Roman", serif;
	font-size: 20px;
	letter-spacing: 0.32em;
}

.tourProHeadingText h2 {
	margin: 0;
	color: #fff;
	font-family:
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;
	font-size: clamp(38px, 5vw, 62px);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.05em;
}


/* ==================================================
   メイン画像
================================================== */

.tourProMainImage {
	position: relative;
	margin: 0 0 70px;
	overflow: hidden;
	border: 1px solid rgba(202, 162, 66, 0.8);
	background: #111;
	box-shadow:
		0 24px 55px rgba(0, 0, 0, 0.45),
		0 0 0 1px rgba(255, 255, 255, 0.03);
}

.tourProMainImage::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
	box-shadow: inset 0 0 55px rgba(0, 0, 0, 0.35);
	content: "";
}

.tourProMainImage img {
	display: block;
	width: 100%;
	height: auto;
}


/* ==================================================
   各セクション見出し
================================================== */

.tourProSection + .tourProSection {
	margin-top: 85px;
}

.tourProSectionHeading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 22px;
}

.tourProSectionHeading h3 {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	color: #fff;
	font-family:
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;
	font-size: clamp(24px, 3vw, 35px);
	font-weight: 500;
	line-height: 1.5;
}

.tourProSectionHeading h3 > span {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	color: #c2c7cc;
	border: 1px solid #c2c7cc;
	border-radius: 50%;
	font-family: "Times New Roman", serif;
	font-size: 19px;
}

.tourProBadge {
	flex: 0 0 auto;
	margin: 0;
	padding: 10px 25px;
	color: #fff;
	border: 1px solid #c2c7cc;
	border-radius: 999px;
	background:
		linear-gradient(
			135deg,
			#9299a1,
			#3f454b
		);
	box-shadow:
		inset 0 0 12px rgba(255, 255, 255, 0.08),
		0 7px 20px rgba(0, 0, 0, 0.25);
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
}


/* ==================================================
   料金表
================================================== */

.tourProTableWrap {
	overflow-x: auto;
	border: 1px solid rgba(203, 165, 72, 0.75);
	background: #f6f1e7;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.32);
}

.tourProTable {
	width: 100%;
	min-width: 700px;
	margin: 0;
	border-collapse: collapse;
	color: #151515;
	background: #f6f1e7;
}

.tourProTable th,
.tourProTable td {
	padding: 19px 22px;
	border-right: 1px solid #d6cfc1;
	border-bottom: 1px solid #d6cfc1;
	font-size: 21px;
	line-height: 1.5;
	vertical-align: middle;
}

.tourProTable tr > *:last-child {
	border-right: 0;
}

.tourProTable tbody tr:last-child > * {
	border-bottom: 0;
}

.tourProTable thead th {
	color: #fff;
	background:
		linear-gradient(
			180deg,
			#242424,
			#151515
		);
	border-color: #656c73;
	font-family:
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;
	font-weight: 500;
	text-align: center;
}

.tourProTable tbody th {
	width: 34%;
	background: #eee5d9;
	font-weight: 500;
	text-align: left;
}

.tourProTable tbody td {
	text-align: center;
}

.tourProTable .is-highlight th,
.tourProTable .is-highlight td {
	color: #138634;
	font-weight: 700;
	background: #f6eee6;
}

.tourProTable small {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
}


/* ==================================================
   特別料金
================================================== */

.tourProSpecial {
	position: relative;
	margin-top: 34px;
	padding: 48px 40px 34px;
	color: #171717;
	border: 2px solid #9299a1;
	border-radius: 20px;
	background:
		linear-gradient(
			135deg,
			#fff 0%,
			#ece5da 100%
		);
	box-shadow:
		0 18px 42px rgba(0, 0, 0, 0.3),
		inset 0 0 24px rgba(187, 146, 50, 0.08);
}

.tourProSpecialTitle {
	position: absolute;
	top: -22px;
	left: 30px;
	margin: 0;
	padding: 10px 27px;
	color: #fff;
	border-radius: 999px;
	background:
		linear-gradient(
			135deg,
			#9299a1,
			#3f454b
		);
	box-shadow: 0 7px 18px rgba(0, 0, 0, 0.22);
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.tourProSpecial ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tourProSpecial li {
	display: flex;
	align-items: baseline;
	gap: 15px;
	margin: 8px 0;
	font-size: 21px;
	line-height: 1.65;
}

.tourProSpecial li::before {
	content: "・";
}

.tourProSpecial li strong {
	min-width: 190px;
	font-weight: 700;
}

.tourProSpecial li span {
	font-weight: 600;
}

.tourProSpecial li:nth-child(3) span {
	color: #168d38;
	font-weight: 700;
}

.tourProNote {
	margin-top: 17px;
	font-size: 13px;
	line-height: 1.75;
}


/* ==================================================
   ラウンドレッスン
================================================== */

.tourProRoundTable tbody th {
	width: 25%;
}

.tourProRoundTable tbody td:nth-child(2) {
	width: 22%;
	font-size: 26px;
	font-weight: 700;
}

.tourProRoundTable tbody td:last-child {
	text-align: left;
}

.tourProImportant {
	position: relative;
	margin-top: 32px;
	padding: 28px 38px;
	color: #171717;
	border: 2px solid #9299a1;
	border-radius: 18px;
	background:
		linear-gradient(
			135deg,
			#fff,
			#ece6db
		);
	box-shadow:
		0 18px 42px rgba(0, 0, 0, 0.26),
		inset 0 0 22px rgba(187, 146, 50, 0.08);
}

.tourProImportant p {
	margin: 0;
	font-size: 18px;
	line-height: 1.85;
}

.tourProImportant strong {
	font-weight: 700;
}


/* ==================================================
   お問い合わせ
================================================== */

.tourProContact {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	margin-top: 85px;
	padding: 30px 34px;
	border-top: 1px solid rgba(201, 162, 68, 0.55);
	border-bottom: 1px solid rgba(201, 162, 68, 0.55);
	background:
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.03),
			rgba(255, 255, 255, 0.01)
		);
}

.tourProContactText {
	display: flex;
	align-items: center;
	gap: 22px;
}

.tourProContactIcon {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	color: #c2c7cc;
	border: 1px solid #656c73;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.02);
	font-size: 24px;
}

.tourProContactText p {
	margin: 0;
	color: #fff;
	font-size: 16px;
	line-height: 1.8;
}

.tourProLineButton {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 12px;
	min-width: 285px;
	padding: 17px 23px;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.25);
	background:
		linear-gradient(
			135deg,
			#9299a1,
			#3f454b
		);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.28);
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
}

.tourProLineButton > span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	color: #656c73;
	background: #fff;
	border-radius: 50%;
	font-size: 10px;
	font-weight: 700;
}

.tourProLineButton i {
	margin-left: auto;
	font-size: 22px;
	font-style: normal;
}

.tourProLineButton:hover {
	color: #fff;
	opacity: 0.86;
	transform: translateY(-2px);
}


/* ==================================================
   タブレット
================================================== */

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

	.tourPro {
		padding: 75px 0 90px;
	}

	.tourProHeading {
		gap: 25px;
	}

	.tourProPopular {
		min-width: 145px;
		padding: 11px 23px;
		font-size: 20px;
	}

	.tourProSectionHeading {
		align-items: flex-start;
	}

	.tourProContact {
		align-items: flex-start;
		flex-direction: column;
	}

}


/* ==================================================
   スマートフォン
================================================== */

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

	.tourPro {
		padding: 55px 0 70px;
	}

	.tourProHeading {
		display: block;
		margin-bottom: 30px;
	}

	.tourProPopular {
		display: inline-block;
		min-width: 120px;
		margin: 0 0 20px;
		padding: 8px 20px;
		font-size: 17px;
	}

	.tourProEnglish {
		font-size: 13px;
		letter-spacing: 0.18em;
	}

	.tourProHeadingText h2 {
		font-size: 29px;
		line-height: 1.45;
	}

	.tourProMainImage {
		margin-bottom: 48px;
	}

	.tourProSection + .tourProSection {
		margin-top: 62px;
	}

	.tourProSectionHeading {
		display: block;
		margin-bottom: 18px;
	}

	.tourProSectionHeading h3 {
		gap: 9px;
		font-size: 21px;
	}

	.tourProSectionHeading h3 > span {
		width: 38px;
		height: 38px;
		font-size: 15px;
	}

	.tourProBadge {
		display: inline-block;
		margin-top: 13px;
		padding: 8px 16px;
		font-size: 12px;
		white-space: normal;
	}

	.tourProTable {
		min-width: 620px;
	}

	.tourProTable th,
	.tourProTable td {
		padding: 13px 14px;
		font-size: 15px;
	}

	.tourProRoundTable tbody td:nth-child(2) {
		font-size: 19px;
	}

	.tourProSpecial {
		padding: 42px 20px 24px;
		border-radius: 14px;
	}

	.tourProSpecialTitle {
		top: -18px;
		left: 14px;
		padding: 8px 17px;
		font-size: 14px;
	}

	.tourProSpecial li {
		display: block;
		padding-left: 1em;
		text-indent: -1em;
		font-size: 15px;
	}

	.tourProSpecial li strong {
		min-width: 0;
	}

	.tourProNote {
		font-size: 11px;
	}

	.tourProImportant {
		padding: 22px 19px;
		border-radius: 14px;
	}

	.tourProImportant p {
		font-size: 14px;
		line-height: 1.75;
	}

	.tourProContact {
		margin-top: 60px;
		padding: 24px 18px;
	}

	.tourProContactText {
		align-items: flex-start;
		gap: 15px;
	}

	.tourProContactIcon {
		width: 46px;
		height: 46px;
		font-size: 20px;
	}

	.tourProContactText p {
		font-size: 13px;
	}

	.tourProLineButton {
		width: 100%;
		min-width: 0;
		margin-top: 5px;
		padding: 15px 18px;
	}

}

.tourProMainImage img {
	aspect-ratio: 16 / 5.5;
	object-fit: cover;
	object-position: center;
}

@media screen and (max-width: 767px) {
	.tourProMainImage img {
		aspect-ratio: 16 / 9;
	}
}

/* ==================================================
   ツアープロお問い合わせ画像 修正
================================================== */

/* お問い合わせ全体 */
.tourProContact {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

/* 左側：カレンダー＋文章 */
.tourProContactText {
	display: flex;
	flex: 1;
	align-items: center;
	gap: 22px;
	min-width: 0;
}

/* カレンダーアイコン */
.tourProContactIcon {
	display: block;
	flex: 0 0 auto;
	width: 72px;
	height: 72px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: inherit;
	font-size: 0;
}

.tourProContactIcon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* 案内文章 */
.tourProContactText p {
	flex: 1;
	margin: 0;
	color: #fff;
	font-size: 16px;
	line-height: 1.8;
}

/* LINE画像バナー */
.tourProLineBanner {
	display: block;
	flex: 0 0 auto;
	width: 360px;
	max-width: 38%;
	line-height: 1;
	text-decoration: none;
	transition:
		opacity 0.3s ease,
		transform 0.3s ease;
}

.tourProLineBanner img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}

.tourProLineBanner:hover {
	opacity: 0.85;
	transform: translateY(-3px);
}


/* タブレット */
@media screen and (max-width: 900px) {

	.tourProContact {
		align-items: stretch;
		flex-direction: column;
		gap: 25px;
	}

	.tourProLineBanner {
		width: 360px;
		max-width: 100%;
		margin-left: auto;
	}

}


/* スマートフォン */
@media screen and (max-width: 767px) {

	.tourProContact {
		gap: 22px;
	}

	.tourProContactText {
		align-items: flex-start;
		gap: 14px;
	}

	.tourProContactIcon {
		width: 52px;
		height: 52px;
	}

	.tourProContactText p {
		font-size: 13px;
		line-height: 1.75;
	}

	.tourProLineBanner {
		width: 100%;
		max-width: 100%;
		margin: 0;
	}

}

/* LINEバナーのサイズ調整 */
.tourProLineBanner {
	width: 280px;
	max-width: 280px;
	margin-left: auto;
}

.tourProLineBanner img {
	display: block;
	width: 100%;
	height: auto;
}

@media screen and (max-width: 767px) {
	.tourProLineBanner {
		width: 100%;
		max-width: 320px;
		margin: 15px auto 0;
	}
}

/* LINEバナーを強制的に小さくする */
.tourProContact .tourProLineBanner {
	display: block !important;
	flex: 0 0 360px !important;
	width: 360px !important;
	max-width: 360px !important;
	margin-left: auto !important;
}

.tourProContact .tourProLineBanner img {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
}

/* 左側の文章 */
.tourProContact .tourProContactText {
	flex: 1 1 auto !important;
	min-width: 0;
}

/* スマホ */
@media screen and (max-width: 767px) {
	.tourProContact .tourProLineBanner {
		flex: none !important;
		width: 280px !important;
		max-width: 100% !important;
		margin: 20px auto 0 !important;
	}
}

/* 法人プランページ */
.corporatePlanPage {
	background: #0c0c0c;
	color: #fff;
}

.corporatePlans {
	padding: 90px 40px;
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.012) 0,
			rgba(255, 255, 255, 0.012) 1px,
			transparent 1px,
			transparent 7px
		),
		#101010;
}

.corporateSectionTitle {
	margin-bottom: 45px;
	text-align: center;
}

.corporateSectionTitle > p {
	margin: 0 0 8px;
	color: #9299a1;
	font-family: "Times New Roman", serif;
	font-size: 18px;
	letter-spacing: 0.25em;
}

.corporateSectionTitle h2 {
	margin: 0;
	color: #fff;
	font-family: "Shippori Mincho", serif;
	font-size: 42px;
	font-weight: 500;
}

.corporateSectionTitle span {
	display: block;
	margin-top: 15px;
	color: rgba(255, 255, 255, 0.75);
}

.corporatePlanCards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
}

.corporatePlanCard {
	padding: 7px;
	border: 1px solid #9299a1;
	background: #111;
	box-shadow: 0 25px 55px rgba(0, 0, 0, 0.4);
}

.corporatePlanCardTitle {
	padding: 22px 20px;
	text-align: center;
	background:
		linear-gradient(
			90deg,
			#24282d,
			#656c73,
			#24282d
		);
}

.corporatePlanCardTitle p {
	margin: 0;
	color: rgba(255, 255, 255, 0.65);
	font-family: "Times New Roman", serif;
	font-size: 13px;
	letter-spacing: 0.18em;
}

.corporatePlanCardTitle h3 {
	margin: 4px 0 0;
	color: #fff;
	font-family: "Shippori Mincho", serif;
	font-size: 28px;
	font-weight: 500;
}

.corporatePlanCardBody {
	padding: 30px 28px;
	border: 1px solid rgba(201, 162, 70, 0.45);
	background:
		linear-gradient(
			145deg,
			#181818,
			#0d0d0d
		);
}

.corporatePlanCatch {
	padding-bottom: 22px;
	text-align: center;
	border-bottom: 1px solid rgba(201, 162, 70, 0.3);
}

.corporatePlanCatch p {
	margin: 0;
	color: rgba(255, 255, 255, 0.7);
}

.corporatePlanCatch h4 {
	margin: 7px 0 0;
	color: #fff;
	font-family: "Shippori Mincho", serif;
	font-size: 23px;
}

.corporatePlanPriceList {
	padding: 24px 0 10px;
}

.corporatePlanPriceList > div {
	display: grid;
	grid-template-columns: 105px 1fr 115px;
	align-items: baseline;
	gap: 12px;
	padding: 9px 4px;
	border-bottom: 1px solid rgba(201, 162, 70, 0.25);
}

.corporatePlanPriceList span {
	color: #c2c7cc;
}

.corporatePlanPriceList strong {
	color: #fff;
	font-family: "Times New Roman", serif;
	font-size: 28px;
}

.corporatePlanPriceList small {
	color: rgba(255, 255, 255, 0.55);
	text-align: right;
}

.corporatePlanMainPrice {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 8px;
	min-height: 175px;
	padding: 40px 10px;
	border-bottom: 1px solid rgba(201, 162, 70, 0.3);
}

.corporatePlanMainPrice p {
	margin-right: 10px;
	color: #c2c7cc;
}

.corporatePlanMainPrice strong {
	color: #c2c7cc;
	font-family: "Times New Roman", serif;
	font-size: 70px;
	font-weight: 400;
	line-height: 1;
}

.corporatePlanMainPrice span {
	color: rgba(255, 255, 255, 0.8);
}

.corporatePlanDetails {
	margin: 15px 0 0;
}

.corporatePlanDetails > div {
	display: grid;
	grid-template-columns: 155px minmax(0, 1fr);
	align-items: center;
	min-height: 75px;
	border-bottom: 1px solid rgba(201, 162, 70, 0.25);
}

.corporatePlanDetails dt {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #c2c7cc;
}

.corporatePlanDetails dd {
	margin: 0;
	color: #fff;
	line-height: 1.65;
}

.corporatePlanDetails dd small {
	color: rgba(255, 255, 255, 0.55);
}

.corporateDetailIcon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid #9299a1;
	border-radius: 50%;
	color: #c2c7cc;
	font-size: 7px;
}

.corporateCommon {
	display: grid;
	grid-template-columns: 165px 1fr;
	margin-top: 38px;
	border: 1px solid #656c73;
	background: rgba(255, 255, 255, 0.02);
}

.corporateCommon h3 {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	color: #c2c7cc;
	border-right: 1px solid rgba(201, 162, 70, 0.4);
	font-family: "Shippori Mincho", serif;
	font-size: 20px;
}

.corporateCommon ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 15px 25px;
	padding: 28px;
}

.corporateCommon li {
	position: relative;
	padding-left: 1.6em;
	color: rgba(255, 255, 255, 0.85);
}

.corporateCommon li::before {
	position: absolute;
	left: 0;
	color: #c2c7cc;
	content: "✓";
}

@media screen and (max-width: 900px) {
	.corporatePlanCards {
		grid-template-columns: 1fr;
	}

	.corporateCommon ul {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 767px) {
	.corporatePlans {
		padding: 60px 20px;
	}

	.corporateSectionTitle h2 {
		font-size: 29px;
	}

	.corporatePlanCardBody {
		padding: 24px 17px;
	}

	.corporatePlanPriceList > div {
		grid-template-columns: 82px 1fr;
	}

	.corporatePlanPriceList small {
		grid-column: 2;
		text-align: left;
	}

	.corporatePlanMainPrice {
		flex-wrap: wrap;
	}

	.corporatePlanMainPrice p {
		width: 100%;
		margin: 0;
		text-align: center;
	}

	.corporatePlanMainPrice strong {
		font-size: 50px;
	}

	.corporatePlanDetails > div {
		grid-template-columns: 110px 1fr;
	}

	.corporateCommon {
		display: block;
	}

	.corporateCommon h3 {
		padding: 16px;
		border-right: 0;
		border-bottom: 1px solid rgba(201, 162, 70, 0.4);
	}

	.corporateCommon ul {
		grid-template-columns: 1fr;
	}
}

/* ==================================================
   法人プランページ 最終調整
================================================== */

/* ページ全体の白背景を消す */
.corporatePlanPage {
	width: 100%;
	overflow: hidden;
	background: #101010;
	color: #fff;
}

/* 法人プランエリアを見出しから黒背景にする */
.corporatePlanPage .corporatePlans {
	position: relative;
	padding: 80px 40px 90px;
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.012) 0,
			rgba(255, 255, 255, 0.012) 1px,
			transparent 1px,
			transparent 7px
		),
		#101010;
}

/* ラッパー幅と左右余白 */
.corporatePlanPage .corporatePlansInner {
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
}

/* 上部タイトル */
.corporatePlanPage .corporateSectionTitle {
	margin: 0 0 45px;
	text-align: center;
}

.corporatePlanPage .corporateSectionTitle > p {
	margin: 0 0 8px;
	color: #9299a1;
	font-family: "Times New Roman", serif;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0.28em;
}

.corporatePlanPage .corporateSectionTitle h2 {
	margin: 0;
	color: #fff;
	font-family: "Shippori Mincho", serif;
	font-size: 42px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.corporatePlanPage .corporateSectionTitle span {
	display: block;
	margin-top: 16px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.8;
}

/* カード上部の余白をそろえる */
.corporatePlanPage .corporatePlanCards {
	align-items: stretch;
}

.corporatePlanPage .corporatePlanCard {
	display: flex;
	flex-direction: column;
}

.corporatePlanPage .corporatePlanCardBody {
	flex: 1;
}

/* 共通内容の文字を見やすくする */
.corporatePlanPage .corporateCommon {
	color: #fff;
	background:
		linear-gradient(
			90deg,
			rgba(108, 75, 28, 0.25),
			rgba(255, 255, 255, 0.025)
		),
		#151515;
}

.corporatePlanPage .corporateCommon li {
	color: rgba(255, 255, 255, 0.88);
}

/* このページだけ固定診断バナーを非表示 */
.corporatePlanPage ~ .diagnosis,
body:has(.corporatePlanPage) .diagnosis {
	display: none;
}

/* スマホ調整 */
@media screen and (max-width: 767px) {

	.corporatePlanPage .corporatePlans {
		padding: 55px 20px 65px;
	}

	.corporatePlanPage .corporateSectionTitle {
		margin-bottom: 30px;
	}

	.corporatePlanPage .corporateSectionTitle > p {
		font-size: 14px;
	}

	.corporatePlanPage .corporateSectionTitle h2 {
		font-size: 28px;
	}

	.corporatePlanPage .corporateSectionTitle span {
		font-size: 13px;
	}

}

/* ==================================================
   法人プラン MVをラフに合わせて修正
================================================== */

.corporatePlanPage .corporateHero {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #080808;
	border-bottom: 1px solid rgba(197, 154, 58, 0.55);
}

/* wrapperMainの既存指定を上書き */
.corporatePlanPage .corporateHeroInner.wrapperMain {
	display: grid !important;
	grid-template-columns: 46% 54% !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 520px;
	margin: 0 !important;
	padding: 0 !important;
}

/* 左側テキスト */
.corporatePlanPage .corporateHeroText {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding:
		65px
		clamp(35px, 5vw, 90px)
		65px
		max(40px, calc((100vw - 1320px) / 2));
	background:
		linear-gradient(
			90deg,
			#080808 0%,
			#080808 82%,
			rgba(8, 8, 8, 0.9) 92%,
			rgba(8, 8, 8, 0) 100%
		);
}

.corporatePlanPage .corporateHeroEnglish {
	margin: 0 0 14px;
	color: #c2c7cc;
	font-family: "Times New Roman", serif;
	font-size: 17px;
	line-height: 1;
	letter-spacing: 0.25em;
}

.corporatePlanPage .corporateHeroText h1 {
	margin: 0;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: clamp(43px, 4.2vw, 66px);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.07em;
}

.corporatePlanPage .corporateHeroText h2 {
	margin: 23px 0 0;
	color: #c2c7cc;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: clamp(18px, 1.7vw, 25px);
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.corporatePlanPage .corporateHeroEmphasis {
	margin: 20px 0 0;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.9;
}

.corporatePlanPage .corporateHeroDescription {
	margin-top: 15px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 13px;
	line-height: 2;
}

/* 右側画像 */
.corporatePlanPage .corporateHeroImage {
	position: relative;
	z-index: 1;
	width: 100%;
	min-width: 0;
	min-height: 520px;
	margin: 0;
	overflow: hidden;
}

.corporatePlanPage .corporateHeroImage::before {
	position: absolute;
	z-index: 2;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(
			90deg,
			#080808 0%,
			rgba(8, 8, 8, 0.72) 8%,
			rgba(8, 8, 8, 0.25) 22%,
			transparent 42%
		);
	content: "";
}

.corporatePlanPage .corporateHeroImage::after {
	position: absolute;
	z-index: 2;
	inset: 0;
	pointer-events: none;
	box-shadow:
		inset 0 0 70px rgba(0, 0, 0, 0.48);
	content: "";
}

.corporatePlanPage .corporateHeroImage img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 520px;
	object-fit: cover;
	object-position: center;
}


/* ==================================================
   法人プラン本文とのつながり
================================================== */

.corporatePlanPage .corporatePlans {
	padding-top: 65px;
}

.corporatePlanPage .corporateSectionTitle {
	margin-bottom: 38px;
}


/* ==================================================
   タブレット
================================================== */

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

	.corporatePlanPage .corporateHeroInner.wrapperMain {
		display: block !important;
		min-height: 0;
	}

	.corporatePlanPage .corporateHeroText {
		padding: 55px 30px 45px;
		background: #080808;
	}

	.corporatePlanPage .corporateHeroImage {
		min-height: 390px;
	}

	.corporatePlanPage .corporateHeroImage img {
		min-height: 390px;
	}

	.corporatePlanPage .corporateHeroImage::before {
		background:
			linear-gradient(
				180deg,
				#080808 0%,
				rgba(8, 8, 8, 0.35) 15%,
				transparent 38%
			);
	}

}


/* ==================================================
   スマートフォン
================================================== */

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

	.corporatePlanPage .corporateHeroText {
		padding: 45px 20px 35px;
	}

	.corporatePlanPage .corporateHeroEnglish {
		font-size: 13px;
	}

	.corporatePlanPage .corporateHeroText h1 {
		font-size: 36px;
	}

	.corporatePlanPage .corporateHeroText h2 {
		margin-top: 18px;
		font-size: 18px;
	}

	.corporatePlanPage .corporateHeroEmphasis {
		font-size: 14px;
	}

	.corporatePlanPage .corporateHeroDescription {
		font-size: 12px;
		line-height: 1.9;
	}

	.corporatePlanPage .corporateHeroImage,
	.corporatePlanPage .corporateHeroImage img {
		min-height: 270px;
	}

	.corporatePlanPage .corporatePlans {
		padding-top: 55px;
	}

}

/* ==================================================
   法人プラン メインビュー
   ツアープロページと同じ構成
================================================== */

.corporateMv {
	position: relative;
	padding: 90px 0 80px;
	overflow: hidden;
	color: #fff;
	background:
		linear-gradient(
			rgba(8, 8, 8, 0.97),
			rgba(14, 14, 14, 0.99)
		),
		#0b0b0b;
	border-bottom: 1px solid rgba(199, 158, 61, 0.45);
}

.corporateMv::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.012) 0,
			rgba(255, 255, 255, 0.012) 1px,
			transparent 1px,
			transparent 7px
		);
	content: "";
}

.corporateMvInner {
	position: relative;
	z-index: 1;
}


/* タイトル */

.corporateMvHeading {
	display: flex;
	align-items: flex-start;
	gap: 40px;
	margin-bottom: 40px;
}

.corporateMvLabel {
	flex: 0 0 auto;
	min-width: 170px;
	margin: 5px 0 0;
	padding: 13px 30px;
	color: #fff;
	border: 1px solid #c2c7cc;
	border-radius: 999px;
	background:
		linear-gradient(
			135deg,
			#656c73,
			#24282d
		);
	font-family:
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;
	font-size: 22px;
	text-align: center;
	letter-spacing: 0.08em;
}

.corporateMvHeadingText {
	flex: 1;
}

.corporateMvEnglish {
	margin: 0 0 10px;
	color: #c2c7cc;
	font-family: "Times New Roman", serif;
	font-size: 20px;
	letter-spacing: 0.32em;
}

.corporateMvHeadingText h1 {
	margin: 0;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: clamp(42px, 5vw, 64px);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.06em;
}


/* 横長画像 */

.corporateMvImage {
	position: relative;
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(202, 162, 66, 0.85);
	background: #111;
	box-shadow:
		0 24px 55px rgba(0, 0, 0, 0.45),
		0 0 0 1px rgba(255, 255, 255, 0.03);
}

.corporateMvImage::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.15),
			transparent 45%,
			rgba(0, 0, 0, 0.1)
		);
	box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.38);
	content: "";
}

.corporateMvImage img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 6;
	object-fit: cover;
	object-position: center;
}


/* 説明文 */

.corporateMvContent {
	max-width: 1000px;
	margin: 45px auto 0;
	text-align: center;
}

.corporateMvContent h2 {
	margin: 0;
	color: #c2c7cc;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: clamp(23px, 3vw, 34px);
	font-weight: 500;
	line-height: 1.7;
}

.corporateMvEmphasis {
	margin: 22px 0 0;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.9;
}

.corporateMvDescription {
	margin-top: 18px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 15px;
	line-height: 2;
}


/* タブレット */

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

	.corporateMv {
		padding: 70px 0 65px;
	}

	.corporateMvHeading {
		gap: 25px;
	}

	.corporateMvLabel {
		min-width: 140px;
		padding: 10px 22px;
		font-size: 18px;
	}

	.corporateMvImage img {
		aspect-ratio: 16 / 7;
	}

}


/* スマートフォン */

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

	.corporateMv {
		padding: 55px 0 55px;
	}

	.corporateMvHeading {
		display: block;
		margin-bottom: 28px;
	}

	.corporateMvLabel {
		display: inline-block;
		min-width: 120px;
		margin: 0 0 18px;
		padding: 8px 18px;
		font-size: 16px;
	}

	.corporateMvEnglish {
		font-size: 13px;
		letter-spacing: 0.2em;
	}

	.corporateMvHeadingText h1 {
		font-size: 34px;
	}

	.corporateMvImage img {
		aspect-ratio: 16 / 10;
	}

	.corporateMvContent {
		margin-top: 30px;
		text-align: left;
	}

	.corporateMvContent h2 {
		font-size: 21px;
	}

	.corporateMvEmphasis {
		margin-top: 17px;
		font-size: 14px;
	}

	.corporateMvDescription {
		font-size: 13px;
		line-height: 1.9;
	}

}

/* ==================================================
   法人プランMV 最終上書き
================================================== */

body .corporatePlanPage .corporateMv {
	position: relative !important;
	padding: 80px 40px 75px !important;
	overflow: hidden !important;
	color: #fff !important;
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.012) 0,
			rgba(255, 255, 255, 0.012) 1px,
			transparent 1px,
			transparent 7px
		),
		#0b0b0b !important;
}

body .corporatePlanPage .corporateMvInner.wrapperMain {
	width: 100% !important;
	max-width: 1320px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

body .corporatePlanPage .corporateMvHeading {
	display: flex !important;
	align-items: flex-start !important;
	gap: 40px !important;
	margin: 0 0 40px !important;
}

body .corporatePlanPage .corporateMvEnglish {
	margin: 0 0 10px !important;
	color: #c2c7cc !important;
	font-family: "Times New Roman", serif !important;
	font-size: 20px !important;
	letter-spacing: 0.32em !important;
}

body .corporatePlanPage .corporateMvHeadingText h1 {
	margin: 0 !important;
	color: #fff !important;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif !important;
	font-size: clamp(42px, 5vw, 64px) !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.06em !important;
}

body .corporatePlanPage .corporateMvImage {
	position: relative !important;
	margin: 0 !important;
	overflow: hidden !important;
	border: 1px solid rgba(202, 162, 66, 0.85) !important;
	box-shadow: 0 24px 55px rgba(0, 0, 0, 0.45) !important;
}

body .corporatePlanPage .corporateMvImage img {
	display: block !important;
	width: 100% !important;
	height: 480px !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center !important;
}

body .corporatePlanPage .corporateMvContent {
	max-width: 1000px !important;
	margin: 45px auto 0 !important;
	text-align: center !important;
}

body .corporatePlanPage .corporateMvContent h2 {
	margin: 0 !important;
	color: #c2c7cc !important;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif !important;
	font-size: clamp(23px, 3vw, 34px) !important;
	font-weight: 500 !important;
	line-height: 1.7 !important;
}

body .corporatePlanPage .corporateMvEmphasis {
	margin: 22px 0 0 !important;
	color: #fff !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.9 !important;
}

body .corporatePlanPage .corporateMvDescription {
	margin-top: 18px !important;
	color: rgba(255, 255, 255, 0.8) !important;
	font-size: 15px !important;
	line-height: 2 !important;
}

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

	body .corporatePlanPage .corporateMv {
		padding: 50px 20px !important;
	}

	body .corporatePlanPage .corporateMvHeading {
		display: block !important;
		margin-bottom: 28px !important;
	}

	body .corporatePlanPage .corporateMvEnglish {
		font-size: 13px !important;
	}

	body .corporatePlanPage .corporateMvHeadingText h1 {
		font-size: 34px !important;
	}

	body .corporatePlanPage .corporateMvImage img {
		height: 260px !important;
	}

	body .corporatePlanPage .corporateMvContent {
		margin-top: 30px !important;
		text-align: left !important;
	}

}



/* ==================================================
   料金プランページ
================================================== */

.newPricing,
.pricethree {
	--price-bg: #0c0c0c;
	--price-card: #121212;
	--price-card-light: #171717;
	--price-gold: #c2c7cc;
	--price-gold-light: #c2c7cc;
	--price-gold-dark: #3f454b;
	--price-border: rgba(202, 163, 72, 0.55);
	--price-line: rgba(202, 163, 72, 0.22);
	--price-white: #fff;
	--price-text: rgba(255, 255, 255, 0.82);
	--price-subtext: rgba(255, 255, 255, 0.58);
}

.newPricing {
	position: relative;
	padding: 95px 30px 110px;
	overflow: hidden;
	color: var(--price-white);
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.012) 0,
			rgba(255, 255, 255, 0.012) 1px,
			transparent 1px,
			transparent 7px
		),
		var(--price-bg);
}

.newPricing::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(
			circle at 50% 0,
			rgba(166, 111, 20, 0.09),
			transparent 40%
		);
	content: "";
}

.newPricingInner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
}


/* ==================================================
   共通見出し
================================================== */

.newPricingHeading,
.pricingSectionHeading {
	text-align: center;
}

.newPricingEnglish,
.pricingSectionHeading > p {
	margin: 0 0 10px;
	color: var(--price-gold);
	font-family: "Times New Roman", serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.28em;
}

.newPricingHeading h2,
.pricingSectionHeading h2 {
	margin: 0;
	color: var(--price-white);
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;
	font-size: clamp(34px, 4vw, 52px);
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.08em;
}

.newPricingLead,
.pricingSectionHeading > span {
	display: block;
	margin-top: 18px;
	color: var(--price-subtext);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.9;
}


/* ==================================================
   オープン記念キャンペーン
================================================== */

.pricingCampaign {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	margin-top: 55px;
	overflow: hidden;
	border: 1px solid var(--price-border);
	background: var(--price-card);
	box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
}

.pricingCampaignLabel {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 32px 25px;
	background:
		linear-gradient(
			135deg,
			#656c73,
			#24282d
		);
	text-align: center;
}

.pricingCampaignLabel span {
	color: rgba(255, 255, 255, 0.67);
	font-family: "Times New Roman", serif;
	font-size: 12px;
	letter-spacing: 0.2em;
}

.pricingCampaignLabel strong {
	display: block;
	margin-top: 8px;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: 22px;
	font-weight: 500;
}

.pricingCampaignContent {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pricingCampaignItem {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 25px;
	min-width: 0;
	padding: 28px 25px;
	border-left: 1px solid var(--price-line);
}

.pricingCampaignItem > span {
	color: var(--price-gold);
	font-size: 16px;
	font-weight: 700;
}

.pricingCampaignItem p {
	display: flex;
	align-items: center;
	gap: 13px;
	margin: 0;
}

.pricingCampaignItem del {
	color: rgba(255, 255, 255, 0.48);
	font-family: "Times New Roman", serif;
	font-size: 18px;
}

.pricingCampaignItem i {
	color: var(--price-gold);
	font-size: 18px;
	font-style: normal;
}

.pricingCampaignItem strong {
	color: #ff5454;
	font-family: "Times New Roman", serif;
	font-size: 28px;
	font-weight: 500;
}

.pricingCampaignNote {
	grid-column: 1 / -1;
	margin: 0;
	padding: 12px 20px;
	color: rgba(255, 255, 255, 0.56);
	border-top: 1px solid var(--price-line);
	font-size: 12px;
	text-align: center;
}


/* ==================================================
   お知らせ
================================================== */

.pricingNews {
	margin-top: 28px;
	padding: 28px 32px;
	border: 1px solid rgba(198, 156, 60, 0.5);
	background:
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.035),
			transparent
		),
		rgba(17, 17, 17, 0.92);
}

.pricingNews h3 {
	margin: 0 0 22px;
	color: var(--price-gold);
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: 20px;
	font-weight: 500;
}

.pricingNewsContent {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 35px;
}

.pricingNewsContent > div {
	min-width: 0;
	padding-left: 20px;
	border-left: 1px solid rgba(201, 161, 67, 0.45);
}

.pricingNews time {
	color: var(--price-gold);
	font-family: "Times New Roman", serif;
	font-size: 14px;
	letter-spacing: 0.08em;
}

.pricingNews p,
.pricingNews li {
	color: var(--price-text);
	font-size: 13px;
	line-height: 1.8;
}

.pricingNews p {
	margin: 9px 0 0;
}

.pricingNews ul {
	margin: 9px 0 0;
	padding-left: 1.5em;
}

.pricingNewsSmall {
	color: var(--price-subtext) !important;
	font-size: 12px !important;
}


/* ==================================================
   各料金セクション
================================================== */

.pricingSection {
	padding-top: 105px;
}

.pricingSectionHeading {
	margin-bottom: 48px;
}


/* ==================================================
   料金カード配置
================================================== */

.pricingCards {
	display: grid;
	align-items: stretch;
	gap: 24px;
}

.pricingCardsBasic {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pricingCardsThree {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}


/* ==================================================
   料金カード共通
================================================== */

.pricingCard {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 6px;
	border: 1px solid var(--price-border);
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.035),
			transparent 52%
		),
		#101010;
	box-shadow: 0 20px 45px rgba(0, 0, 0, 0.34);
	transition:
		border-color 0.3s ease,
		transform 0.3s ease,
		box-shadow 0.3s ease;
}

.pricingCard:hover {
	border-color: var(--price-gold-light);
	box-shadow:
		0 26px 58px rgba(0, 0, 0, 0.48),
		0 0 22px rgba(197, 149, 40, 0.08);
	transform: translateY(-5px);
}

.pricingCardHeader {
	padding: 27px 18px 24px;
	text-align: center;
	border-bottom: 1px solid rgba(198, 158, 62, 0.4);
	background: rgba(255, 255, 255, 0.025);
}

.pricingCardHeader > p {
	margin: 0;
	color: var(--price-gold);
	font-family: "Times New Roman", serif;
	font-size: 18px;
	line-height: 1.4;
	letter-spacing: 0.12em;
}

.pricingCardHeader h3 {
	margin: 7px 0 0;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: 25px;
	font-weight: 500;
	line-height: 1.45;
}

.pricingCardHeader > span {
	display: block;
	min-height: 1.6em;
	margin-top: 9px;
	color: var(--price-subtext);
	font-size: 12px;
	line-height: 1.6;
}

.pricingCardPrice {
	padding: 28px 15px 25px;
	text-align: center;
}

.pricingCardPrice del {
	display: block;
	color: rgba(255, 255, 255, 0.42);
	font-family: "Times New Roman", serif;
	font-size: 14px;
}

.pricingCardPrice strong {
	display: block;
	margin-top: 6px;
	color: #fff;
	font-family: "Times New Roman", serif;
	font-size: clamp(32px, 3vw, 47px);
	font-weight: 400;
	line-height: 1.2;
	white-space: nowrap;
}

.pricingCardPrice strong small {
	margin-left: 4px;
	font-family:
		"Yu Gothic",
		"Hiragino Kaku Gothic ProN",
		sans-serif;
	font-size: 13px;
	font-weight: 500;
}

.pricingCardPrice p {
	margin: 5px 0 0;
	color: var(--price-gold);
	font-size: 11px;
}

.pricingCardDetails {
	flex: 1;
	margin: 0;
	padding: 0 18px 20px;
}

.pricingCardDetails > div {
	display: grid;
	grid-template-columns: 85px minmax(0, 1fr);
	align-items: center;
	min-height: 68px;
	border-top: 1px solid var(--price-line);
}

.pricingCardDetails dt {
	color: var(--price-gold);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
}

.pricingCardDetails dd {
	margin: 0;
	color: var(--price-text);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.65;
}

.pricingCardDetails dd span {
	display: block;
	margin-top: 2px;
	color: rgba(255, 255, 255, 0.48);
	font-size: 10px;
	line-height: 1.5;
}


/* ==================================================
   ゴールドプラン・おすすめ
================================================== */

.pricingCardGold {
	z-index: 2;
	border-color: var(--price-gold-light);
	background:
		linear-gradient(
			145deg,
			rgba(167, 116, 23, 0.27),
			transparent 52%
		),
		#0f1114;
	box-shadow:
		0 28px 65px rgba(0, 0, 0, 0.52),
		0 0 28px rgba(195, 148, 45, 0.13);
	transform: translateY(-14px);
}

.pricingCardGold:hover {
	transform: translateY(-20px);
}

.pricingCardGold .pricingCardHeader {
	background:
		linear-gradient(
			135deg,
			#656c73,
			#24282d
		);
}

.pricingCardGold .pricingCardPrice strong {
	color: var(--price-gold-light);
}

.pricingRecommend {
	position: absolute;
	z-index: 3;
	top: -30px;
	right: 15px;
	left: 15px;
	margin: 0;
	padding: 9px 12px;
	color: #0f1114;
	background:
		linear-gradient(
			90deg,
			#9299a1,
			#c2c7cc,
			#9299a1
		);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.3);
}

.pricingRecommend span {
	margin-right: 8px;
	font-family: "Times New Roman", serif;
	font-size: 9px;
	letter-spacing: 0.12em;
}

.pricingCardBottom {
	margin: 0 18px 18px;
	padding: 11px;
	color: #0f1114;
	background:
		linear-gradient(
			90deg,
			#9299a1,
			#c2c7cc,
			#9299a1
		);
	font-size: 13px;
	font-weight: 700;
	text-align: center;
}


/* ==================================================
   各プランの見出し色
================================================== */

.pricingCardSilver .pricingCardHeader {
	background:
		linear-gradient(
			135deg,
			#414141,
			#181818
		);
}

.pricingCardPlatinum .pricingCardHeader {
	background:
		linear-gradient(
			135deg,
			#65656a,
			#25252a
		);
}

.pricingCardJunior .pricingCardHeader {
	background:
		linear-gradient(
			135deg,
			#376f77,
			#18393f
		);
}

.pricingCardTime .pricingCardHeader {
	background:
		linear-gradient(
			135deg,
			#273f54,
			#101c27
		);
}

.pricingCardAttention {
	margin: 0 18px 18px;
	color: rgba(255, 255, 255, 0.5);
	font-size: 10px;
	line-height: 1.65;
}


/* ==================================================
   レッスン集中プラン
================================================== */

.pricingLessonCard {
	display: grid;
	grid-template-columns: 1fr 0.75fr 1.5fr;
	align-items: stretch;
	overflow: hidden;
	border: 1px solid var(--price-border);
	background: #121212;
	box-shadow: 0 22px 48px rgba(0, 0, 0, 0.32);
}

.pricingLessonIntro,
.pricingLessonPrice,
.pricingLessonDetails {
	padding: 35px;
}

.pricingLessonIntro {
	display: flex;
	justify-content: center;
	flex-direction: column;
	background:
		linear-gradient(
			135deg,
			#656c73,
			#24282d
		);
}

.pricingLessonIntro > p {
	margin: 0;
	color: rgba(255, 255, 255, 0.65);
	font-family: "Times New Roman", serif;
	font-size: 13px;
	letter-spacing: 0.2em;
}

.pricingLessonIntro h3 {
	margin: 10px 0;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: 27px;
	font-weight: 500;
}

.pricingLessonIntro > span {
	color: rgba(255, 255, 255, 0.72);
	font-size: 12px;
	line-height: 1.7;
}

.pricingLessonPrice {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	border-right: 1px solid var(--price-line);
}

.pricingLessonPrice p,
.pricingLessonPrice > span {
	margin: 0;
	color: var(--price-gold);
	font-size: 12px;
}

.pricingLessonPrice strong {
	margin: 7px 0;
	color: #fff;
	font-family: "Times New Roman", serif;
	font-size: 44px;
	font-weight: 400;
	line-height: 1.2;
	white-space: nowrap;
}

.pricingLessonPrice strong small {
	font-family:
		"Yu Gothic",
		"Hiragino Kaku Gothic ProN",
		sans-serif;
	font-size: 16px;
}

.pricingLessonDetails {
	margin: 0;
}

.pricingLessonDetails > div {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	padding: 11px 0;
	border-bottom: 1px solid var(--price-line);
}

.pricingLessonDetails > div:last-child {
	border-bottom: 0;
}

.pricingLessonDetails dt {
	color: var(--price-gold);
	font-size: 13px;
	font-weight: 700;
}

.pricingLessonDetails dd {
	margin: 0;
	color: var(--price-text);
	font-size: 13px;
	line-height: 1.7;
}

.pricingLessonDetails dd span {
	color: var(--price-subtext);
	font-size: 11px;
}


/* ==================================================
   ツアープロ・法人プランへの導線
================================================== */

.pricingOtherServices {
	padding-top: 105px;
}

.pricingServiceLinks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.pricingServiceLinks a {
	position: relative;
	display: block;
	min-width: 0;
	padding: 38px 42px;
	overflow: hidden;
	color: #fff;
	border: 1px solid #9299a1;
	background:
		linear-gradient(
			135deg,
			rgba(142, 92, 19, 0.35),
			rgba(255, 255, 255, 0.01)
		),
		#111;
	text-decoration: none;
	transition:
		border-color 0.3s ease,
		transform 0.3s ease,
		box-shadow 0.3s ease;
}

.pricingServiceLinks a::after {
	position: absolute;
	top: 0;
	left: -100%;
	width: 80%;
	height: 100%;
	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(255, 255, 255, 0.07),
			transparent
		);
	transform: skewX(-20deg);
	transition: left 0.6s ease;
	content: "";
}

.pricingServiceLinks a:hover {
	color: #fff;
	border-color: var(--price-gold-light);
	box-shadow: 0 22px 48px rgba(0, 0, 0, 0.38);
	transform: translateY(-5px);
}

.pricingServiceLinks a:hover::after {
	left: 130%;
}

.pricingServiceLinks span {
	color: var(--price-gold);
	font-family: "Times New Roman", serif;
	font-size: 12px;
	letter-spacing: 0.2em;
}

.pricingServiceLinks strong {
	display: block;
	margin-top: 8px;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: 27px;
	font-weight: 500;
	line-height: 1.5;
}

.pricingServiceLinks p {
	margin: 15px 0 0;
	color: rgba(255, 255, 255, 0.66);
	font-size: 13px;
	line-height: 1.8;
}

.pricingServiceLinks i {
	display: block;
	margin-top: 24px;
	color: var(--price-gold);
	font-family: "Times New Roman", serif;
	font-size: 12px;
	font-style: normal;
	letter-spacing: 0.15em;
}


/* ==================================================
   体験入店までの手順
================================================== */

.pricethree {
	position: relative;
	padding: 105px 30px 115px;
	overflow: hidden;
	color: #fff;
	border-top: 1px solid rgba(200, 158, 62, 0.45);
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.012) 0,
			rgba(255, 255, 255, 0.012) 1px,
			transparent 1px,
			transparent 7px
		),
		#0c0c0c;
}

.pricethree::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(
			circle at 50% 0,
			rgba(178, 124, 30, 0.08),
			transparent 45%
		);
	content: "";
}

.pricethreecon {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
}

.pricingStepHeading {
	margin-bottom: 55px;
	text-align: center;
}

.pricingStepList {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pricingStepList::before {
	position: absolute;
	z-index: 0;
	top: 74px;
	right: 7%;
	left: 7%;
	height: 1px;
	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(204, 165, 74, 0.8) 10%,
			rgba(204, 165, 74, 0.8) 90%,
			transparent
		);
	content: "";
}

.pricingStepList > li {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 27px 22px 30px;
	border: 1px solid rgba(192, 148, 48, 0.62);
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.035),
			transparent 55%
		),
		#111;
	box-shadow: 0 20px 45px rgba(0, 0, 0, 0.35);
	transition:
		border-color 0.3s ease,
		transform 0.3s ease,
		box-shadow 0.3s ease;
}

.pricingStepList > li:hover {
	border-color: var(--price-gold-light);
	box-shadow:
		0 26px 55px rgba(0, 0, 0, 0.46),
		0 0 22px rgba(196, 149, 42, 0.09);
	transform: translateY(-5px);
}

.pricingStepList > li:nth-child(3) {
	border-color: rgba(211, 170, 74, 0.95);
	background:
		linear-gradient(
			145deg,
			rgba(167, 113, 24, 0.24),
			transparent 55%
		),
		#0f1114;
}

.pricingStepNumber {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 96px;
	height: 96px;
	margin: 0 auto 27px;
	color: var(--price-gold-light);
	border: 1px solid rgba(207, 165, 69, 0.9);
	border-radius: 50%;
	background:
		linear-gradient(
			145deg,
			#0f1114,
			#0d0d0d
		);
	box-shadow:
		inset 0 0 22px rgba(207, 165, 69, 0.08),
		0 8px 20px rgba(0, 0, 0, 0.35);
}

.pricingStepNumber small {
	font-family: "Times New Roman", serif;
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0.16em;
}

.pricingStepNumber span {
	margin-top: 4px;
	font-family: "Times New Roman", serif;
	font-size: 36px;
	line-height: 1;
}

.pricingStepContent {
	text-align: center;
}

.pricingStepContent h3 {
	margin: 0;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0.04em;
}

.pricingStepContent p {
	margin: 17px 0 0;
	color: rgba(255, 255, 255, 0.68);
	font-size: 13px;
	line-height: 1.9;
	text-align: left;
}

.pricingStepContent p + p {
	margin-top: 10px;
}


/* ==================================================
   1100px以下
================================================== */

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

	.pricingCardsBasic {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 48px 25px;
	}

	.pricingCardGold,
	.pricingCardGold:hover {
		transform: none;
	}

	.pricingStepList {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}

	.pricingStepList::before {
		display: none;
	}

	.pricingStepList > li:last-child {
		grid-column: 1 / -1;
		width: calc(50% - 12px);
		margin: 0 auto;
	}

}


/* ==================================================
   800px以下
================================================== */

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

	.pricingCardsThree {
		grid-template-columns: 1fr;
	}

	.pricingLessonCard {
		grid-template-columns: 1fr;
	}

	.pricingLessonPrice {
		border-right: 0;
		border-bottom: 1px solid var(--price-line);
	}

}


/* ==================================================
   スマートフォン
================================================== */

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

	.newPricing {
		padding: 65px 20px 78px;
	}

	.newPricingEnglish,
	.pricingSectionHeading > p {
		font-size: 13px;
		letter-spacing: 0.18em;
	}

	.newPricingHeading h2,
	.pricingSectionHeading h2 {
		font-size: 30px;
	}

	.newPricingLead,
	.pricingSectionHeading > span {
		margin-top: 13px;
		font-size: 13px;
		line-height: 1.8;
	}

	.pricingCampaign {
		display: block;
		margin-top: 40px;
	}

	.pricingCampaignLabel {
		padding: 25px 20px;
	}

	.pricingCampaignContent,
	.pricingNewsContent {
		grid-template-columns: 1fr;
	}

	.pricingCampaignItem {
		justify-content: space-between;
		gap: 15px;
		padding: 22px 18px;
		border-top: 1px solid var(--price-line);
		border-left: 0;
	}

	.pricingCampaignItem p {
		gap: 8px;
	}

	.pricingCampaignItem del {
		font-size: 14px;
	}

	.pricingCampaignItem strong {
		font-size: 22px;
	}

	.pricingNews {
		padding: 24px 20px;
	}

	.pricingNewsContent {
		gap: 24px;
	}

	.pricingNewsContent > div {
		padding-left: 14px;
	}

	.pricingSection,
	.pricingOtherServices {
		padding-top: 75px;
	}

	.pricingSectionHeading {
		margin-bottom: 38px;
	}

	.pricingCardsBasic {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.pricingCardGold {
		margin-top: 28px;
	}

	.pricingCard:hover {
		transform: none;
	}

	.pricingCardHeader h3 {
		font-size: 23px;
	}

	.pricingCardPrice strong {
		font-size: 42px;
	}

	.pricingCardDetails > div {
		grid-template-columns: 90px minmax(0, 1fr);
	}

	.pricingLessonIntro,
	.pricingLessonPrice,
	.pricingLessonDetails {
		padding: 27px 22px;
	}

	.pricingLessonIntro h3 {
		font-size: 23px;
	}

	.pricingLessonDetails > div {
		grid-template-columns: 95px minmax(0, 1fr);
		font-size: 13px;
	}

	.pricingServiceLinks {
		grid-template-columns: 1fr;
	}

	.pricingServiceLinks a {
		padding: 30px 25px;
	}

	.pricingServiceLinks strong {
		font-size: 23px;
	}

	.pricethree {
		padding: 70px 20px 80px;
	}

	.pricingStepHeading {
		margin-bottom: 38px;
	}

	.pricingStepList {
		display: block;
	}

	.pricingStepList > li,
	.pricingStepList > li:last-child {
		width: 100%;
		margin: 0;
		padding: 24px 20px 27px;
	}

	.pricingStepList > li + li {
		margin-top: 20px;
	}

	.pricingStepList > li:hover {
		transform: none;
	}

	.pricingStepNumber {
		width: 78px;
		height: 78px;
		margin-bottom: 21px;
	}

	.pricingStepNumber small {
		font-size: 8px;
	}

	.pricingStepNumber span {
		font-size: 29px;
	}

	.pricingStepContent h3 {
		font-size: 19px;
	}

	.pricingStepContent p {
		margin-top: 13px;
		font-size: 12px;
		line-height: 1.85;
	}

}


/* ==================================================
   小さいスマートフォン
================================================== */

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

	.pricingCampaignItem {
		display: block;
		text-align: center;
	}

	.pricingCampaignItem > span {
		display: block;
		margin-bottom: 10px;
	}

	.pricingCampaignItem p {
		justify-content: center;
	}

	.pricingCardDetails > div {
		grid-template-columns: 78px minmax(0, 1fr);
	}

	.pricingLessonPrice strong {
		font-size: 38px;
	}

}

/* ==================================================
   体験入店までの手順 レイアウト競合修正
================================================== */

/* 古い「li直下のdiv」指定を解除 */
.pricethree .pricingStepList > li > .pricingStepContent {
	display: block !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
	letter-spacing: normal !important;
}

/* STEP番号だけ円形にする */
.pricethree .pricingStepList > li > .pricingStepNumber {
	position: relative !important;
	z-index: 2 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-direction: column !important;
	width: 96px !important;
	height: 96px !important;
	min-width: 96px !important;
	min-height: 96px !important;
	margin: 0 auto 27px !important;
	padding: 0 !important;
	color: #c2c7cc !important;
	border: 1px solid rgba(207, 165, 69, 0.9) !important;
	border-radius: 50% !important;
	background: linear-gradient(145deg, #0f1114, #0d0d0d) !important;
	box-shadow:
		inset 0 0 22px rgba(207, 165, 69, 0.08),
		0 8px 20px rgba(0, 0, 0, 0.35) !important;
	line-height: 1 !important;
}

/* カード */
.pricethree .pricingStepList {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	align-items: stretch !important;
	gap: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.pricethree .pricingStepList > li {
	display: flex !important;
	flex-direction: column !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 500px !important;
	margin: 0 !important;
	padding: 27px 22px 30px !important;
	border: 1px solid rgba(192, 148, 48, 0.62) !important;
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.035),
			transparent 55%
		),
		#111 !important;
}

/* STEP文字 */
.pricethree .pricingStepNumber small {
	display: block !important;
	margin: 0 !important;
	font-size: 10px !important;
	line-height: 1 !important;
	letter-spacing: 0.16em !important;
}

.pricethree .pricingStepNumber span {
	display: block !important;
	margin: 4px 0 0 !important;
	font-size: 36px !important;
	line-height: 1 !important;
}

/* 本文 */
.pricethree .pricingStepContent {
	flex: 1 !important;
	text-align: center !important;
}

.pricethree .pricingStepContent h3 {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	background: transparent !important;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif !important;
	font-size: 21px !important;
	font-weight: 500 !important;
	line-height: 1.55 !important;
	letter-spacing: 0.04em !important;
	text-align: center !important;
	writing-mode: horizontal-tb !important;
	word-break: normal !important;
}

.pricethree .pricingStepContent p {
	display: block !important;
	width: 100% !important;
	margin: 17px 0 0 !important;
	padding: 0 !important;
	color: rgba(255, 255, 255, 0.68) !important;
	background: transparent !important;
	font-size: 13px !important;
	line-height: 1.9 !important;
	text-align: left !important;
	writing-mode: horizontal-tb !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

/* タブレット */
@media screen and (max-width: 1100px) {

	.pricethree .pricingStepList {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 24px !important;
	}

	.pricethree .pricingStepList > li {
		min-height: 0 !important;
	}

	.pricethree .pricingStepList > li:last-child {
		grid-column: 1 / -1 !important;
		width: calc(50% - 12px) !important;
		margin: 0 auto !important;
	}

}


/* スマホ */
@media screen and (max-width: 767px) {

	.pricethree .pricingStepList {
		display: block !important;
	}

	.pricethree .pricingStepList > li,
	.pricethree .pricingStepList > li:last-child {
		width: 100% !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 24px 20px 27px !important;
	}

	.pricethree .pricingStepList > li + li {
		margin-top: 20px !important;
	}

	.pricethree .pricingStepList > li > .pricingStepNumber {
		width: 78px !important;
		height: 78px !important;
		min-width: 78px !important;
		min-height: 78px !important;
		margin-bottom: 21px !important;
	}

	.pricethree .pricingStepNumber small {
		font-size: 8px !important;
	}

	.pricethree .pricingStepNumber span {
		font-size: 29px !important;
	}

	.pricethree .pricingStepContent h3 {
		font-size: 19px !important;
	}

	.pricethree .pricingStepContent p {
		margin-top: 13px !important;
		font-size: 12px !important;
		line-height: 1.85 !important;
	}

}

/* ==================================================
   料金ページ メイン見出し
   ツアープロ・法人ページと統一
================================================== */

.pricingMainHeading {
	position: relative;
	max-width: 1000px;
	margin: 0 auto 60px;
	padding: 0 20px;
	text-align: center;
}

.pricingMainEnglish {
	margin: 0 0 14px;
	color: #c2c7cc;
	font-family: "Times New Roman", serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.32em;
}

.pricingMainTitle {
	margin: 0;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;
	font-size: clamp(42px, 5vw, 64px);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.08em;
}

.pricingMainLead {
	max-width: 760px;
	margin: 22px auto 0;
	color: rgba(255, 255, 255, 0.68);
	font-size: 15px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.03em;
}

/* 見出し下の装飾 */
.pricingMainHeading::after {
	display: block;
	width: 70px;
	height: 1px;
	margin: 28px auto 0;
	background: #c2c7cc;
	content: "";
}


/* スマホ */
@media screen and (max-width: 767px) {

	.pricingMainHeading {
		margin-bottom: 42px;
		padding: 0;
	}

	.pricingMainEnglish {
		margin-bottom: 10px;
		font-size: 13px;
		letter-spacing: 0.22em;
	}

	.pricingMainTitle {
		font-size: 34px;
	}

	.pricingMainLead {
		margin-top: 16px;
		font-size: 13px;
		line-height: 1.85;
	}

	.pricingMainHeading::after {
		width: 50px;
		margin-top: 22px;
	}

}

/* ==================================================
   時間帯限定プラン 個別カラー
================================================== */

/* 早起き＆ミッドナイト：ネイビー */
.pricingCardEarly {
	border-color: rgba(78, 133, 181, 0.75);
}

.pricingCardEarly .pricingCardHeader {
	background:
		linear-gradient(
			135deg,
			#315776,
			#132736
		);
}

.pricingCardEarly .pricingCardHeader > p,
.pricingCardEarly .pricingCardDetails dt,
.pricingCardEarly .pricingCardPrice p {
	color: #8fc4e8;
}


/* お昼休みにサクッと：グリーン */
.pricingCardLunch {
	border-color: rgba(104, 157, 93, 0.75);
}

.pricingCardLunch .pricingCardHeader {
	background:
		linear-gradient(
			135deg,
			#416a42,
			#1c3420
		);
}

.pricingCardLunch .pricingCardHeader > p,
.pricingCardLunch .pricingCardDetails dt,
.pricingCardLunch .pricingCardPrice p {
	color: #a9d99e;
}


/* 土日だけ：ボルドー */
.pricingCardWeekend {
	border-color: rgba(157, 92, 78, 0.75);
}

.pricingCardWeekend .pricingCardHeader {
	background:
		linear-gradient(
			135deg,
			#743d35,
			#351b19
		);
}

.pricingCardWeekend .pricingCardHeader > p,
.pricingCardWeekend .pricingCardDetails dt,
.pricingCardWeekend .pricingCardPrice p {
	color: #e0a496;
}

.featuresList dd h3 span {
	display: block;
	margin-top: 6px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
}

@media screen and (max-width: 767px) {
	.featuresList dd h3 span {
		margin-top: 4px;
		font-size: 11px;
	}
}

/* ==================================================
   TOP NEWS
================================================== */

.topNews {
	position: relative;
	padding: 45px 30px;
	overflow: hidden;
	color: #fff;
	border-top: 1px solid rgba(205, 166, 76, 0.35);
	border-bottom: 1px solid rgba(205, 166, 76, 0.35);
	background:
		linear-gradient(
			90deg,
			#24282d 0%,
			#3f454b 45%,
			#24282d 100%
		);
}

.topNews::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.018) 0,
			rgba(255, 255, 255, 0.018) 1px,
			transparent 1px,
			transparent 7px
		);
	content: "";
}

.topNewsInner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	gap: 55px;
	align-items: start;
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
}


/* 見出し */

.topNewsHeading {
	padding-top: 7px;
}

.topNewsHeading p {
	margin: 0;
	color: #c2c7cc;
	font-family: "Times New Roman", serif;
	font-size: 17px;
	line-height: 1.4;
	letter-spacing: 0.26em;
}

.topNewsHeading h2 {
	margin: 7px 0 0;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.08em;
}


/* 一覧 */

.topNewsList {
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
	list-style: none;
}

.topNewsItem {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.topNewsItem a {
	position: relative;
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr) 40px;
	align-items: center;
	gap: 25px;
	min-height: 72px;
	padding: 14px 5px;
	color: #fff;
	text-decoration: none;
	transition:
		background-color 0.3s ease,
		padding 0.3s ease;
}

.topNewsItem a:hover {
	padding-right: 15px;
	padding-left: 15px;
	background: rgba(255, 255, 255, 0.055);
}


/* 日付・カテゴリー */

.topNewsMeta {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

.topNewsMeta time {
	flex: 0 0 auto;
	color: rgba(255, 255, 255, 0.72);
	font-family: "Times New Roman", serif;
	font-size: 14px;
	letter-spacing: 0.05em;
}

.topNewsCategory {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 72px;
	padding: 5px 12px;
	color: #e5e8eb;
	border: 1px solid rgba(223, 189, 105, 0.72);
	font-size: 10px;
	line-height: 1.3;
	white-space: nowrap;
}


/* タイトル */

.topNewsTitle {
	min-width: 0;
	margin: 0;
	overflow: hidden;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.02em;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.topNewsArrow {
	color: #c2c7cc;
	font-family: "Times New Roman", serif;
	font-size: 20px;
	text-align: right;
	transition: transform 0.3s ease;
}

.topNewsItem a:hover .topNewsArrow {
	transform: translateX(5px);
}


/* 一覧ボタン */

.topNewsMore {
	display: flex;
	justify-content: flex-end;
	margin-top: 22px;
}

.topNewsMore a {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	padding: 10px 0;
	color: #fff;
	border-bottom: 1px solid #c2c7cc;
	font-size: 13px;
	text-decoration: none;
	transition: color 0.3s ease;
}

.topNewsMore a span {
	color: #c2c7cc;
	font-family: "Times New Roman", serif;
	font-size: 10px;
	letter-spacing: 0.16em;
}

.topNewsMore a i {
	color: #c2c7cc;
	font-style: normal;
	transition: transform 0.3s ease;
}

.topNewsMore a:hover {
	color: #c2c7cc;
}

.topNewsMore a:hover i {
	transform: translateX(5px);
}

.topNewsEmpty {
	margin: 0;
	padding: 20px 0;
	color: rgba(255, 255, 255, 0.7);
	border-top: 1px solid rgba(255, 255, 255, 0.22);
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}


/* ==================================================
   タブレット
================================================== */

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

	.topNewsInner {
		grid-template-columns: 150px minmax(0, 1fr);
		gap: 35px;
	}

	.topNewsItem a {
		grid-template-columns: 165px minmax(0, 1fr) 30px;
		gap: 18px;
	}

}


/* ==================================================
   スマートフォン
================================================== */

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

	.topNews {
		padding: 42px 20px;
	}

	.topNewsInner {
		display: block;
	}

	.topNewsHeading {
		margin-bottom: 25px;
		padding-top: 0;
	}

	.topNewsHeading p {
		font-size: 13px;
	}

	.topNewsHeading h2 {
		margin-top: 4px;
		font-size: 25px;
	}

	.topNewsItem a {
		display: block;
		min-height: 0;
		padding: 17px 30px 17px 0;
	}

	.topNewsItem a:hover {
		padding-right: 30px;
		padding-left: 0;
		background: transparent;
	}

	.topNewsMeta {
		gap: 10px;
		margin-bottom: 8px;
	}

	.topNewsMeta time {
		font-size: 12px;
	}

	.topNewsCategory {
		min-width: 62px;
		padding: 4px 9px;
		font-size: 9px;
	}

	.topNewsTitle {
		font-size: 13px;
		line-height: 1.65;
		white-space: normal;
	}

	.topNewsArrow {
		position: absolute;
		top: 50%;
		right: 2px;
		font-size: 17px;
		transform: translateY(-50%);
	}

	.topNewsItem a:hover .topNewsArrow {
		transform: translate(4px, -50%);
	}

	.topNewsMore {
		margin-top: 18px;
	}

}

/* ==================================================
   お知らせ詳細ページ
================================================== */

.newsSingle {
	position: relative;
	padding: 100px 30px 120px;
	color: #fff;
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.012) 0,
			rgba(255, 255, 255, 0.012) 1px,
			transparent 1px,
			transparent 7px
		),
		#0c0c0c;
}

.newsSingleInner {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}

.newsSingleHeader {
	padding-bottom: 35px;
	border-bottom: 1px solid rgba(205, 166, 76, 0.45);
}

.newsSingleMeta {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 18px;
}

.newsSingleMeta time {
	color: #c2c7cc;
	font-family: "Times New Roman", serif;
	font-size: 15px;
	letter-spacing: 0.08em;
}

.newsSingleCategory {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 80px;
	padding: 5px 14px;
	color: #c2c7cc;
	border: 1px solid rgba(205, 166, 76, 0.72);
	font-size: 11px;
	line-height: 1.3;
}

.newsSingleTitle {
	margin: 0;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;
	font-size: clamp(27px, 3.5vw, 42px);
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0.04em;
}

.newsSingleThumbnail {
	margin: 45px 0 0;
}

.newsSingleThumbnail img {
	display: block;
	width: 100%;
	height: auto;
}

.newsSingleContent {
	margin-top: 45px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 15px;
	line-height: 2.1;
}

.newsSingleContent p {
	margin: 0 0 1.8em;
}

.newsSingleContent h2 {
	margin: 60px 0 25px;
	padding: 15px 20px;
	color: #fff;
	border-left: 4px solid #c2c7cc;
	background: rgba(205, 166, 76, 0.08);
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.6;
}

.newsSingleContent h3 {
	margin: 45px 0 20px;
	padding-bottom: 12px;
	color: #fff;
	border-bottom: 1px solid rgba(205, 166, 76, 0.55);
	font-size: 21px;
	font-weight: 500;
}

.newsSingleContent ul,
.newsSingleContent ol {
	margin: 25px 0;
	padding-left: 1.7em;
}

.newsSingleContent li {
	margin-bottom: 10px;
}

.newsSingleContent a {
	color: #c2c7cc;
	text-decoration: underline;
}

.newsSingleContent img {
	max-width: 100%;
	height: auto;
}

.newsSingleBack {
	display: flex;
	justify-content: center;
	margin-top: 75px;
	padding-top: 45px;
	border-top: 1px solid rgba(205, 166, 76, 0.35);
}

.newsSingleBack a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-width: 270px;
	padding: 18px 30px;
	color: #fff;
	border: 1px solid #c2c7cc;
	background: #151515;
	font-size: 14px;
	text-decoration: none;
	transition:
		color 0.3s ease,
		background-color 0.3s ease;
}

.newsSingleBack a span {
	color: #c2c7cc;
	font-family: "Times New Roman", serif;
	font-size: 18px;
}

.newsSingleBack a:hover {
	color: #0f1114;
	background: #c2c7cc;
}

.newsSingleBack a:hover span {
	color: #0f1114;
}


/* スマートフォン */
@media screen and (max-width: 767px) {

	.newsSingle {
		padding: 65px 20px 80px;
	}

	.newsSingleHeader {
		padding-bottom: 25px;
	}

	.newsSingleMeta {
		gap: 10px;
		margin-bottom: 13px;
	}

	.newsSingleMeta time {
		font-size: 13px;
	}

	.newsSingleCategory {
		min-width: 65px;
		padding: 4px 10px;
		font-size: 9px;
	}

	.newsSingleTitle {
		font-size: 25px;
		line-height: 1.55;
	}

	.newsSingleThumbnail {
		margin-top: 30px;
	}

	.newsSingleContent {
		margin-top: 32px;
		font-size: 14px;
		line-height: 1.95;
	}

	.newsSingleContent h2 {
		margin-top: 45px;
		padding: 12px 15px;
		font-size: 21px;
	}

	.newsSingleContent h3 {
		margin-top: 35px;
		font-size: 18px;
	}

	.newsSingleBack {
		margin-top: 55px;
		padding-top: 35px;
	}

	.newsSingleBack a {
		width: 100%;
		min-width: 0;
	}

}

/* ==================================================
   お知らせ一覧ページ
================================================== */

.newsArchive {
	position: relative;
	padding: 90px 30px 110px;
	color: #fff;
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.012) 0,
			rgba(255, 255, 255, 0.012) 1px,
			transparent 1px,
			transparent 7px
		),
		#0b0b0b;
}

.newsArchiveInner {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.newsArchiveHeading {
	margin-bottom: 55px;
	text-align: center;
}

.newsArchiveHeading > p {
	margin: 0 0 10px;
	color: #c2c7cc;
	font-family: "Times New Roman", serif;
	font-size: 17px;
	letter-spacing: 0.28em;
}

.newsArchiveHeading h2 {
	margin: 0;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.newsArchiveHeading > span {
	display: block;
	margin-top: 16px;
	color: rgba(255, 255, 255, 0.6);
	font-size: 14px;
	line-height: 1.9;
}

.newsArchiveList {
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(205, 166, 76, 0.45);
	list-style: none;
}

.newsArchiveItem {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid rgba(205, 166, 76, 0.35);
}

.newsArchiveItem > a {
	position: relative;
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr) 40px;
	align-items: center;
	gap: 28px;
	min-height: 125px;
	padding: 25px 15px;
	color: #fff;
	text-decoration: none;
	transition:
		background-color 0.3s ease,
		padding 0.3s ease;
}

.newsArchiveItem > a:hover {
	padding-right: 25px;
	padding-left: 25px;
	background: rgba(205, 166, 76, 0.07);
}

.newsArchiveMeta {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 10px;
}

.newsArchiveMeta time {
	color: #c2c7cc;
	font-family: "Times New Roman", serif;
	font-size: 15px;
	letter-spacing: 0.08em;
}

.newsArchiveCategory {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 80px;
	padding: 5px 13px;
	color: #c2c7cc;
	border: 1px solid rgba(205, 166, 76, 0.7);
	font-size: 10px;
	line-height: 1.3;
}

.newsArchiveContent {
	min-width: 0;
}

.newsArchiveContent h3 {
	margin: 0;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.6;
}

.newsArchiveContent p {
	margin: 10px 0 0;
	color: rgba(255, 255, 255, 0.62);
	font-size: 13px;
	line-height: 1.8;
}

.newsArchiveArrow {
	color: #c2c7cc;
	font-size: 22px;
	text-align: right;
	transition: transform 0.3s ease;
}

.newsArchiveItem > a:hover .newsArchiveArrow {
	transform: translateX(6px);
}


/* ページネーション */

.newsPagination {
	margin-top: 60px;
}

.newsPagination .nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
}

.newsPagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 46px;
	height: 46px;
	padding: 0 13px;
	color: #fff;
	border: 1px solid rgba(205, 166, 76, 0.65);
	background: #111;
	text-decoration: none;
}

.newsPagination .page-numbers.current,
.newsPagination .page-numbers:hover {
	color: #0f1114;
	background: #c2c7cc;
}


/* スマホ */

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

	.newsArchive {
		padding: 60px 20px 75px;
	}

	.newsArchiveHeading {
		margin-bottom: 35px;
	}

	.newsArchiveHeading > p {
		font-size: 13px;
	}

	.newsArchiveHeading h2 {
		font-size: 30px;
	}

	.newsArchiveHeading > span {
		font-size: 12px;
	}

	.newsArchiveItem > a {
		display: block;
		min-height: 0;
		padding: 22px 35px 22px 0;
	}

	.newsArchiveMeta {
		flex-direction: row;
		align-items: center;
		margin-bottom: 12px;
	}

	.newsArchiveContent h3 {
		font-size: 17px;
	}

	.newsArchiveContent p {
		font-size: 12px;
	}

	.newsArchiveArrow {
		position: absolute;
		top: 50%;
		right: 3px;
		transform: translateY(-50%);
	}

}

/* 料金プランボタンの間隔を統一 */
.service .serviceSep dl:first-child .more a {
	display: block !important;
	margin: 0 !important;
}

.service .serviceSep dl:first-child .more a + a {
	margin-top: 20px !important;
}

/* ==================================================
   FC CONTACT PAGE
================================================== */

.fcContactPage {
	--fc-bg: #0c0c0c;
	--fc-card: #121212;
	--fc-gold: #c2c7cc;
	--fc-gold-light: #c2c7cc;
	--fc-line: rgba(205, 166, 76, 0.38);
	--fc-text: rgba(255, 255, 255, 0.8);
	--fc-subtext: rgba(255, 255, 255, 0.58);

	position: relative;
	padding: 100px 30px 120px;
	overflow: hidden;
	color: #fff;
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.012) 0,
			rgba(255, 255, 255, 0.012) 1px,
			transparent 1px,
			transparent 7px
		),
		var(--fc-bg);
}

.fcContactPage::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(
			circle at 50% 0,
			rgba(165, 112, 21, 0.1),
			transparent 38%
		);
	content: "";
}

.fcContactInner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
}


/* ==================================================
   メイン見出し
================================================== */

.fcContactHeading,
.fcContactSectionHeading {
	text-align: center;
}

.fcContactHeading {
	margin-bottom: 65px;
}

.fcContactEnglish,
.fcContactSectionHeading > p {
	margin: 0 0 11px;
	color: var(--fc-gold);
	font-family: "Times New Roman", serif;
	font-size: 17px;
	line-height: 1.4;
	letter-spacing: 0.3em;
}

.fcContactHeading h2,
.fcContactSectionHeading h2 {
	margin: 0;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;
	font-size: clamp(36px, 4.5vw, 54px);
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.07em;
}

.fcContactLead,
.fcContactSectionHeading > span {
	display: block;
	margin-top: 18px;
	color: var(--fc-subtext);
	font-size: 14px;
	line-height: 1.95;
}


/* ==================================================
   ご案内
================================================== */

.fcContactIntroduction {
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	overflow: hidden;
	border: 1px solid var(--fc-line);
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.035),
			transparent 52%
		),
		var(--fc-card);
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.38);
}

.fcContactIntroductionLabel {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 55px 35px;
	background:
		linear-gradient(
			145deg,
			#656c73,
			#24282d
		);
	text-align: center;
}

.fcContactIntroductionLabel span {
	color: rgba(255, 255, 255, 0.63);
	font-family: "Times New Roman", serif;
	font-size: 12px;
	letter-spacing: 0.22em;
}

.fcContactIntroductionLabel strong {
	display: block;
	margin-top: 12px;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: 23px;
	font-weight: 500;
	line-height: 1.6;
}

.fcContactIntroductionContent {
	padding: 50px 55px;
}

.fcContactIntroductionContent h3 {
	margin: 0 0 25px;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: 29px;
	font-weight: 500;
	line-height: 1.65;
	letter-spacing: 0.04em;
}

.fcContactIntroductionContent p {
	margin: 0;
	color: var(--fc-text);
	font-size: 14px;
	line-height: 2;
}

.fcContactIntroductionContent p + p {
	margin-top: 13px;
}


/* ==================================================
   サポート
================================================== */

.fcContactFeatures {
	padding-top: 105px;
}

.fcContactSectionHeading {
	margin-bottom: 48px;
}

.fcContactFeatureList {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fcContactFeatureList > li {
	position: relative;
	min-width: 0;
	padding: 38px 30px 35px;
	border: 1px solid var(--fc-line);
	background:
		linear-gradient(
			145deg,
			rgba(156, 105, 19, 0.16),
			transparent 55%
		),
		#111;
	box-shadow: 0 20px 45px rgba(0, 0, 0, 0.32);
	text-align: center;
}

.fcContactFeatureNumber {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin: 0 auto 23px;
	color: var(--fc-gold-light);
	border: 1px solid var(--fc-gold);
	border-radius: 50%;
	background: #0f1114;
	font-family: "Times New Roman", serif;
	font-size: 25px;
}

.fcContactFeatureList h3 {
	margin: 0;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.6;
}

.fcContactFeatureList p {
	margin: 16px 0 0;
	color: var(--fc-subtext);
	font-size: 13px;
	line-height: 1.9;
	text-align: left;
}


/* ==================================================
   フォーム
================================================== */

.fcContactFormSection {
	padding-top: 110px;
}

.fcContactFormBox {
	max-width: 960px;
	margin: 0 auto;
	padding: 55px 60px;
	border: 1px solid var(--fc-line);
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.03),
			transparent 52%
		),
		#111;
	box-shadow: 0 28px 65px rgba(0, 0, 0, 0.38);
}

.fcFormTable {
	border-top: 1px solid var(--fc-line);
}

.fcFormRow {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	border-bottom: 1px solid var(--fc-line);
}

.fcFormLabel {
	padding: 28px 25px;
	color: #fff;
	background: rgba(205, 166, 76, 0.07);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
}

.fcFormLabel .is-required {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 9px;
	padding: 3px 8px;
	color: #fff;
	background: #8f371f;
	font-size: 9px;
	font-weight: 500;
	line-height: 1.3;
	vertical-align: middle;
}

.fcFormInput {
	padding: 22px 25px;
}

.fcFormInput input[type="text"],
.fcFormInput input[type="email"],
.fcFormInput input[type="tel"],
.fcFormInput select,
.fcFormInput textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 14px 16px;
	color: #fff;
	border: 1px solid rgba(205, 166, 76, 0.42);
	border-radius: 0;
	outline: none;
	background: #090909;
	font-family: inherit;
	font-size: 14px;
	line-height: 1.6;
	transition:
		border-color 0.3s ease,
		box-shadow 0.3s ease;
}

.fcFormInput textarea {
	min-height: 220px;
	resize: vertical;
}

.fcFormInput select {
	cursor: pointer;
}

.fcFormInput select option {
	color: #111;
	background: #fff;
}

.fcFormInput input::placeholder,
.fcFormInput textarea::placeholder {
	color: rgba(255, 255, 255, 0.32);
}

.fcFormInput input:focus,
.fcFormInput select:focus,
.fcFormInput textarea:focus {
	border-color: var(--fc-gold-light);
	box-shadow: 0 0 0 2px rgba(205, 166, 76, 0.09);
}

.fcContactFormBox .error {
	display: block;
	margin-top: 7px;
	color: #ff8a76;
	font-size: 12px;
}


/* プライバシーポリシー */

.fcFormPrivacy {
	margin-top: 40px;
	color: var(--fc-text);
	font-size: 13px;
	line-height: 1.8;
	text-align: center;
}

.fcFormPrivacy label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	cursor: pointer;
}

.fcFormPrivacy input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: var(--fc-gold);
}

.fcFormPrivacy p {
	margin: 10px 0 0;
}

.fcFormPrivacy a {
	color: var(--fc-gold-light);
	text-decoration: underline;
}


/* ボタン */

.fcFormButtons {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 42px;
}

.fcFormButtons button,
.fcFormButtons input[type="submit"] {
	min-width: 280px;
	min-height: 62px;
	padding: 16px 30px;
	color: #0f1114;
	border: 1px solid var(--fc-gold);
	border-radius: 0;
	background:
		linear-gradient(
			90deg,
			#9299a1,
			#c2c7cc,
			#9299a1
		);
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.05em;
	cursor: pointer;
	transition:
		color 0.3s ease,
		background 0.3s ease,
		transform 0.3s ease;
}

.fcFormButtons button:hover,
.fcFormButtons input[type="submit"]:hover {
	color: #fff;
	background: #171717;
	transform: translateY(-3px);
}

.fcFormButtons .fcFormBack {
	color: #fff;
	background: #171717;
}

.fcFormButtons .fcFormBack:hover {
	color: #0f1114;
	background: var(--fc-gold);
}


/* ==================================================
   タブレット
================================================== */

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

	.fcContactIntroduction {
		grid-template-columns: 250px minmax(0, 1fr);
	}

	.fcContactIntroductionContent {
		padding: 40px;
	}

	.fcContactFormBox {
		padding: 45px 35px;
	}

	.fcFormRow {
		grid-template-columns: 190px minmax(0, 1fr);
	}

}


/* ==================================================
   スマートフォン
================================================== */

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

	.fcContactPage {
		padding: 65px 20px 80px;
	}

	.fcContactHeading {
		margin-bottom: 40px;
	}

	.fcContactEnglish,
	.fcContactSectionHeading > p {
		font-size: 13px;
		letter-spacing: 0.2em;
	}

	.fcContactHeading h2,
	.fcContactSectionHeading h2 {
		font-size: 30px;
	}

	.fcContactLead,
	.fcContactSectionHeading > span {
		margin-top: 13px;
		font-size: 12px;
	}

	.pcOnly {
		display: none;
	}

	.fcContactIntroduction {
		display: block;
	}

	.fcContactIntroductionLabel {
		padding: 30px 20px;
	}

	.fcContactIntroductionLabel strong {
		font-size: 20px;
	}

	.fcContactIntroductionContent {
		padding: 30px 23px;
	}

	.fcContactIntroductionContent h3 {
		margin-bottom: 19px;
		font-size: 23px;
	}

	.fcContactIntroductionContent p {
		font-size: 13px;
		line-height: 1.9;
	}

	.fcContactFeatures,
	.fcContactFormSection {
		padding-top: 75px;
	}

	.fcContactSectionHeading {
		margin-bottom: 35px;
	}

	.fcContactFeatureList {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.fcContactFeatureList > li {
		padding: 30px 24px;
	}

	.fcContactFormBox {
		padding: 25px 18px 30px;
	}

	.fcFormTable {
		border-top: 0;
	}

	.fcFormRow {
		display: block;
		border: 0;
	}

	.fcFormRow + .fcFormRow {
		margin-top: 24px;
	}

	.fcFormLabel {
		padding: 0 0 10px;
		background: transparent;
	}

	.fcFormInput {
		padding: 0;
	}

	.fcFormInput input[type="text"],
	.fcFormInput input[type="email"],
	.fcFormInput input[type="tel"],
	.fcFormInput select,
	.fcFormInput textarea {
		padding: 13px 14px;
		font-size: 16px;
	}

	.fcFormInput textarea {
		min-height: 180px;
	}

	.fcFormPrivacy {
		margin-top: 30px;
		font-size: 12px;
	}

	.fcFormButtons {
		display: block;
		margin-top: 32px;
	}

	.fcFormButtons button,
	.fcFormButtons input[type="submit"] {
		width: 100%;
		min-width: 0;
		min-height: 58px;
	}

	.fcFormButtons button + button,
	.fcFormButtons input + input,
	.fcFormButtons button + input,
	.fcFormButtons input + button {
		margin-top: 12px;
	}

}

/* ==================================================
   PRIVACY POLICY
================================================== */

.privacyPage {
	--privacy-bg: #0c0c0c;
	--privacy-card: #121212;
	--privacy-gold: #c2c7cc;
	--privacy-gold-light: #c2c7cc;
	--privacy-border: rgba(205, 166, 76, 0.42);
	--privacy-line: rgba(205, 166, 76, 0.25);
	--privacy-text: rgba(255, 255, 255, 0.8);
	--privacy-subtext: rgba(255, 255, 255, 0.58);

	position: relative;
	padding: 100px 30px 120px;
	overflow: hidden;
	color: #fff;
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.012) 0,
			rgba(255, 255, 255, 0.012) 1px,
			transparent 1px,
			transparent 7px
		),
		var(--privacy-bg);
}

.privacyPage::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(
			circle at 50% 0,
			rgba(165, 112, 21, 0.09),
			transparent 38%
		);
	content: "";
}

.privacyInner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1050px;
	margin: 0 auto;
}


/* 見出し */

.privacyHeading {
	margin-bottom: 58px;
	text-align: center;
}

.privacyHeading > p {
	margin: 0 0 11px;
	color: var(--privacy-gold);
	font-family: "Times New Roman", serif;
	font-size: 17px;
	line-height: 1.4;
	letter-spacing: 0.3em;
}

.privacyHeading h2 {
	margin: 0;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;
	font-size: clamp(36px, 4.5vw, 54px);
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.07em;
}

.privacyHeading > span {
	display: block;
	margin-top: 18px;
	color: var(--privacy-subtext);
	font-size: 14px;
	line-height: 1.9;
}


/* 導入 */

.privacyIntroduction {
	margin-bottom: 55px;
	padding: 35px 40px;
	border: 1px solid var(--privacy-border);
	background:
		linear-gradient(
			145deg,
			rgba(150, 98, 15, 0.16),
			transparent 55%
		),
		var(--privacy-card);
}

.privacyIntroduction p {
	margin: 0;
	color: var(--privacy-text);
	font-size: 14px;
	line-height: 2.1;
}

.privacyIntroduction p + p {
	margin-top: 13px;
}


/* 各項目 */

.privacyContents {
	border-top: 1px solid var(--privacy-border);
}

.privacySection {
	padding: 55px 0;
	border-bottom: 1px solid var(--privacy-border);
}

.privacySection > h2 {
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 0 0 30px;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: 25px;
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0.04em;
}

.privacySection > h2 > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 58px;
	width: 58px;
	height: 58px;
	color: var(--privacy-gold-light);
	border: 1px solid var(--privacy-gold);
	border-radius: 50%;
	background:
		linear-gradient(
			145deg,
			#0f1114,
			#0e0e0e
		);
	font-family: "Times New Roman", serif;
	font-size: 20px;
	font-weight: 400;
}

.privacyText {
	padding-left: 78px;
}

.privacyText p {
	margin: 0;
	color: var(--privacy-text);
	font-size: 14px;
	line-height: 2.05;
}

.privacyText p + p {
	margin-top: 16px;
}

.privacyText ol,
.privacyText ul {
	margin: 25px 0 0;
	padding-left: 1.7em;
	color: var(--privacy-text);
}

.privacyText li {
	margin-bottom: 13px;
	padding-left: 5px;
	font-size: 14px;
	line-height: 1.95;
}

.privacyText li::marker {
	color: var(--privacy-gold);
	font-family: "Times New Roman", serif;
}


/* 事業者情報 */

.privacyCompany,
.privacyContactBox {
	margin-top: 30px;
	padding: 28px 30px;
	border: 1px solid var(--privacy-line);
	background: rgba(255, 255, 255, 0.025);
}

.privacyCompany h3,
.privacyContactBox h3 {
	margin: 0 0 15px;
	color: var(--privacy-gold-light);
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif;
	font-size: 19px;
	font-weight: 500;
}

.privacyCompany p,
.privacyContactBox address {
	margin: 0;
	color: var(--privacy-text);
	font-size: 14px;
	font-style: normal;
	line-height: 1.9;
}

.privacyNote {
	margin-top: 18px !important;
	color: rgba(255, 255, 255, 0.45) !important;
	font-size: 11px !important;
	line-height: 1.8 !important;
}


/* お問い合わせ */

.privacyContactBox {
	margin-top: 0;
}

.privacyContactBox dl {
	margin: 25px 0 0;
	border-top: 1px solid var(--privacy-line);
}

.privacyContactBox dl > div {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr);
	padding: 15px 0;
	border-bottom: 1px solid var(--privacy-line);
}

.privacyContactBox dt {
	color: var(--privacy-gold);
	font-size: 13px;
	font-weight: 700;
}

.privacyContactBox dd {
	margin: 0;
	color: var(--privacy-text);
	font-size: 14px;
}

.privacyContactBox a {
	color: var(--privacy-gold-light);
	text-decoration: none;
}


/* ==================================================
   スマートフォン
================================================== */

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

	.privacyPage {
		padding: 65px 20px 80px;
	}

	.privacyHeading {
		margin-bottom: 38px;
	}

	.privacyHeading > p {
		font-size: 13px;
		letter-spacing: 0.2em;
	}

	.privacyHeading h2 {
		font-size: 29px;
	}

	.privacyHeading > span {
		margin-top: 13px;
		font-size: 12px;
	}

	.privacyIntroduction {
		margin-bottom: 35px;
		padding: 25px 21px;
	}

	.privacyIntroduction p {
		font-size: 13px;
		line-height: 1.9;
	}

	.privacySection {
		padding: 38px 0;
	}

	.privacySection > h2 {
		align-items: flex-start;
		gap: 13px;
		margin-bottom: 23px;
		font-size: 20px;
	}

	.privacySection > h2 > span {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
		font-size: 15px;
	}

	.privacyText {
		padding-left: 0;
	}

	.privacyText p,
	.privacyText li {
		font-size: 13px;
		line-height: 1.9;
	}

	.privacyText ol,
	.privacyText ul {
		margin-top: 20px;
		padding-left: 1.4em;
	}

	.privacyCompany,
	.privacyContactBox {
		padding: 23px 19px;
	}

	.privacyCompany h3,
	.privacyContactBox h3 {
		font-size: 17px;
	}

	.privacyContactBox dl > div {
		display: block;
	}

	.privacyContactBox dt {
		margin-bottom: 5px;
	}

}

/* 個人情報取扱事業者 */
.privacyCompany dl {
	margin: 0;
	border-top: 1px solid var(--privacy-line);
}

.privacyCompany dl > div {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	border-bottom: 1px solid var(--privacy-line);
}

.privacyCompany dt {
	padding: 15px 18px;
	color: var(--privacy-gold);
	background: rgba(205, 166, 76, 0.06);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.privacyCompany dd {
	margin: 0;
	padding: 15px 18px;
	color: var(--privacy-text);
	font-size: 14px;
	line-height: 1.8;
}

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

	.privacyCompany dl > div {
		display: block;
	}

	.privacyCompany dt {
		padding: 12px 14px 5px;
		background: rgba(205, 166, 76, 0.06);
	}

	.privacyCompany dd {
		padding: 7px 14px 13px;
	}

}

.privacyStoreName {
	margin: -8px 0 14px !important;
	color: var(--privacy-gold-light) !important;
	font-family: "Times New Roman", serif;
	font-size: 15px !important;
	letter-spacing: 0.06em;
}


/* ==================================================
   TOP 公式LINEバナー
================================================== */

.topLineBanner {
	position: relative;
	padding: 55px 30px;
	overflow: hidden;
	border-bottom: 1px solid rgba(205, 166, 76, 0.4);
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.012) 0,
			rgba(255, 255, 255, 0.012) 1px,
			transparent 1px,
			transparent 7px
		),
		#0b0b0b;
}

.topLineBannerInner {
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
}

.topLineBanner a {
	display: block;
	width: 100%;
	overflow: hidden;
	border: 1px solid rgba(205, 166, 76, 0.72);
	background: #080808;
	box-shadow:
		0 20px 50px rgba(0, 0, 0, 0.45),
		0 0 25px rgba(205, 166, 76, 0.08);
	transition:
		border-color 0.3s ease,
		box-shadow 0.3s ease,
		transform 0.3s ease;
}

.topLineBanner a:hover {
	border-color: #c2c7cc;
	box-shadow:
		0 27px 60px rgba(0, 0, 0, 0.55),
		0 0 30px rgba(205, 166, 76, 0.15);
	transform: translateY(-4px);
}

.topLineBanner picture {
	display: block;
}

.topLineBanner img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	transition: transform 0.5s ease;
}

.topLineBanner a:hover img {
	transform: scale(1.012);
}


/* スマートフォン */
@media screen and (max-width: 767px) {

	.topLineBanner {
		padding: 30px 15px;
	}

	.topLineBanner a {
		border-width: 1px;
	}

	/*
	横長画像をスマホ画面いっぱいに見せる場合
	画像内の文字が小さくなるため、横スクロールではなく
	画像を中央基準でトリミングします。
	*/
	.topLineBanner picture {
		display: block;
		overflow: hidden;
	}

	.topLineBanner img {
		width: 150%;
		max-width: none;
		margin-left: -25%;
	}

	.topLineBanner a:hover {
		transform: none;
	}

	.topLineBanner a:hover img {
		transform: none;
	}

}

/* ==================================================
   LINEバナー スマホ余白調整
================================================== */
@media screen and (max-width: 767px) {

	.topLineBanner {
		padding: 28px 20px 32px !important;
	}

	.topLineBannerInner {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
	}

	.topLineBanner a {
		display: block !important;
		width: 100% !important;
		margin: 0 auto !important;
		box-sizing: border-box !important;
	}

	.topLineBanner picture {
		display: block !important;
		width: 100% !important;
	}

	.topLineBanner img {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		margin: 0 !important;
	}

}

/* ==================================================
   ノートPC用ヘッダー
   グローバルメニューを1行表示
================================================== */
@media screen and (min-width: 881px) and (max-width: 1440px) {

	.header {
		padding: 15px 24px !important;
	}

	.header .headerNav {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		flex-wrap: nowrap !important;
		gap: 24px !important;
		width: 100% !important;
		max-width: none !important;
	}

	/* ロゴ */
	.header .headerNav > a {
		flex: 0 0 250px !important;
		width: 250px !important;
		max-width: 250px !important;
	}

	/* メニュー＋SNSエリア */
	.header .headerNav > div {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		margin-left: 0 !important;
	}

	/* グローバルメニュー */
	.header .headerNav > div > ul {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		flex: 1 1 auto !important;
		flex-wrap: nowrap !important;
		gap: clamp(12px, 1.4vw, 26px) !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.header .headerNav > div > ul > li,
	.header .headerNav > div > ul > li:not(:first-child) {
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: max-content !important;
		margin-left: 0 !important;
	}

	.header .headerNav > div > ul > li > a {
		display: block !important;
		width: auto !important;
		min-width: max-content !important;
		padding: 8px 0 !important;
		font-size: clamp(11px, 0.92vw, 14px) !important;
		line-height: 1.25 !important;
		letter-spacing: 0 !important;
		white-space: nowrap !important;
		word-break: keep-all !important;
		overflow-wrap: normal !important;
	}

	/* メニュー内にbrがある場合も1行にする */
	.header .headerNav > div > ul > li > a br {
		display: none !important;
	}

	/* SNS */
	.header .headerNav > div > ol {
		display: flex !important;
		align-items: center !important;
		flex: 0 0 auto !important;
		gap: 13px !important;
		margin-left: 24px !important;
	}

	.header .headerNav > div > ol > li,
	.header .headerNav > div > ol > li:not(:first-child) {
		margin-left: 0 !important;
	}

	.header .headerNav > div > ol > li > a {
		width: 32px !important;
		max-width: 32px !important;
	}

}

/* ==================================================
   ノートPC ヘッダーメニュー間隔調整
================================================== */
@media screen and (min-width: 881px) and (max-width: 1440px) {

	.header .headerNav {
		justify-content: flex-start !important;
		gap: 35px !important;
	}

	.header .headerNav > a {
		flex: 0 0 250px !important;
		width: 250px !important;
		max-width: 250px !important;
	}

	.header .headerNav > div {
		justify-content: flex-start !important;
		flex: 1 1 auto !important;
	}

	.header .headerNav > div > ul {
		justify-content: flex-start !important;
		flex: 0 1 auto !important;
		width: auto !important;
		gap: 38px !important;
	}

	.header .headerNav > div > ul > li,
	.header .headerNav > div > ul > li:not(:first-child) {
		margin-left: 0 !important;
	}

	.header .headerNav > div > ol {
		margin-left: 38px !important;
		gap: 14px !important;
	}

}

/* ==================================================
   SITE DESIGN SYSTEM
   サイト全体のフォント・余白・見出し統一
================================================== */

:root {
	--site-black: #0b0b0b;
	--site-black-light: #151515;
	--site-gold: #c2c7cc;
	--site-gold-light: #c2c7cc;
	--site-green: #3f454b;
	--site-white: #ffffff;
	--site-text-dark: #322e2b;
	--site-text-light: rgba(255, 255, 255, 0.8);
	--site-text-muted: rgba(255, 255, 255, 0.58);
	--site-line: rgba(205, 166, 76, 0.38);

	--font-jp:
		-apple-system,
		BlinkMacSystemFont,
		"Yu Gothic",
		"YuGothic",
		"Hiragino Kaku Gothic ProN",
		"Meiryo",
		sans-serif;

	--font-mincho:
		"Shippori Mincho",
		"Yu Mincho",
		"YuMincho",
		"Hiragino Mincho ProN",
		serif;

	--font-en:
		"Times New Roman",
		Georgia,
		serif;
}


/* ==================================================
   基本文字
================================================== */

html {
	font-size: 100%;
}

body {
	color: var(--site-text-dark);
	font-family: var(--font-jp) !important;
	font-size: 16px;
	font-weight: 500 !important;
	line-height: 1.9;
	letter-spacing: 0.035em;
	-webkit-font-smoothing: antialiased;
}

p,
li,
dt,
dd,
figcaption,
address {
	font-family: var(--font-jp);
	font-weight: 500;
}

p {
	line-height: 2;
}

strong,
b {
	font-weight: 700;
}


/* ==================================================
   日本語見出し
================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	font-family: var(--font-mincho);
	font-weight: 500;
	letter-spacing: 0.05em;
}

h1 {
	line-height: 1.4;
}

h2 {
	line-height: 1.45;
}

h3,
h4 {
	line-height: 1.6;
}


/* ==================================================
   共通コンテンツ幅
================================================== */

.wrapperMain {
	box-sizing: border-box;
	width: calc(100% - 80px);
	max-width: 1180px;
	margin-right: auto;
	margin-left: auto;
}


/* ==================================================
   共通見出し
================================================== */

.common_tit {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	font-family: var(--font-mincho);
	line-height: 1;
}

.common_tit > h2 {
	margin: 0;
	color: inherit;
	font-family: var(--font-en);
	font-size: clamp(38px, 4.2vw, 58px);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: 0.06em;
	text-transform: none;
}

.common_tit > h3 {
	margin: 16px 0 0;
	color: inherit;
	font-family: var(--font-mincho);
	font-size: clamp(16px, 1.5vw, 21px);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
}


/* 英字＋日本語見出しの共通形式 */

.newPricingEnglish,
.pricingSectionHeading > p,
.newsArchiveHeading > p,
.privacyHeading > p,
.fcContactEnglish,
.fcContactSectionHeading > p,
.topNewsHeading > p {
	color: var(--site-gold);
	font-family: var(--font-en);
	font-weight: 400;
	letter-spacing: 0.25em;
}


/* ==================================================
   TOP Concept
================================================== */

.concept {
	padding-top: 150px;
	padding-bottom: 150px;
}

.concept .conceptMat > dd > fieldset {
	margin-top: 42px;
	font-family: var(--font-mincho);
}

.concept .conceptMat > dd > fieldset > h3 {
	font-family: var(--font-mincho);
	font-size: clamp(25px, 2.4vw, 34px);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.concept .conceptMat > dd > fieldset > figcaption {
	margin-top: 32px;
	font-family: var(--font-jp);
	font-size: 15px;
	font-weight: 500;
	line-height: 2.1;
	letter-spacing: 0.035em;
}

.concept .conceptMat > dd > fieldset > figcaption > * {
	font-weight: 500;
}


/* ==================================================
   TOP Features
================================================== */

.features {
	padding-top: 100px;
	padding-bottom: 110px;
}

.features .featuresList {
	margin-top: 55px;
}

.features .featuresList > ul > li > dl > dd > h3 {
	font-family: var(--font-mincho);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.04em;
	text-shadow: 0 2px 5px rgba(0, 0, 0, 0.85);
}

.featuresList dd h3 span {
	font-family: var(--font-jp);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.02em;
}


/* ==================================================
   TOP Service
================================================== */

.service .serviceMat {
	padding: 80px;
}

.service .serviceSep > dl > dd > fieldset > h2 {
	font-family: var(--font-en);
	font-weight: 400;
}

.service .serviceSep > dl > dd > fieldset > hgroup > h3 {
	font-family: var(--font-en);
	font-size: clamp(27px, 2.6vw, 38px);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: 0.03em;
}

.service .serviceSep > dl > dd > fieldset > hgroup > h4 {
	font-family: var(--font-mincho);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
}

.service .serviceSep > dl > dd > figcaption {
	font-family: var(--font-jp);
	font-size: 15px;
	font-weight: 500;
	line-height: 2;
}


/* ==================================================
   共通ボタン
================================================== */

.more {
	margin-top: 40px;
}

.more > a {
	padding: 6px;
	color: var(--site-gold-light);
	background: var(--site-black-light);
}

.more > a > hgroup {
	min-height: 66px;
	padding: 15px 34px;
	border: 1px solid var(--site-gold);
}

.more > a > hgroup > h3 {
	font-family: var(--font-mincho);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.more > a > hgroup > i {
	color: var(--site-gold);
}

.more > a:hover {
	transform: translateY(-4px);
}


/* ==================================================
   Instagram・Instructor
================================================== */

.instagram,
.instructor {
	padding-top: 100px;
	padding-bottom: 105px;
}

.instructor .instructorVer > dd > .more > a > hgroup > h3 {
	font-family: var(--font-mincho);
	font-weight: 500;
}


/* ==================================================
   店舗情報
================================================== */

.accessVer {
	padding-top: 80px;
	padding-bottom: 80px;
	font-family: var(--font-mincho);
}

.accessVer .accessVerMat > dt > dl > dt {
	color: var(--site-gold-light);
	font-family: var(--font-mincho);
	font-weight: 500;
}

.accessVer .accessVerMat > dt > dl > dd {
	font-family: var(--font-jp);
	font-weight: 500;
	line-height: 1.8;
}


/* ==================================================
   ヘッダー
================================================== */

.header {
	font-family: var(--font-jp);
}

.header .headerNav > div > ul > li > a {
	font-family: var(--font-jp);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.header .headerNav > div > ul > li > ol > li > a > h3 {
	font-family: var(--font-jp);
	font-weight: 600;
}


/* ==================================================
   フッター
================================================== */

.footer .footerNav > dd > ul > li > a {
	font-family: var(--font-jp);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.03em;
}

.footer .footerCopy {
	font-family: var(--font-en);
	font-weight: 400;
	letter-spacing: 0.04em;
}


/* ==================================================
   下層ページバナー
================================================== */

.pageBanText h2 {
	font-family: var(--font-en);
	font-weight: 400;
	letter-spacing: 0.04em;
}

.pageBanText h1 {
	margin-top: 8px;
	font-family: var(--font-mincho);
	font-weight: 500;
	letter-spacing: 0.08em;
}


/* ==================================================
   ノートPC
================================================== */

@media screen and (min-width: 881px) and (max-width: 1440px) {

	body {
		font-size: 14px;
	}

	.wrapperMain {
		width: calc(100% - 100px);
		max-width: 1120px;
	}

	.concept {
		padding-top: 120px;
		padding-bottom: 120px;
	}

	.features,
	.instagram,
	.instructor {
		padding-top: 80px;
		padding-bottom: 85px;
	}

	.service .serviceMat {
		padding: 65px;
	}

	.concept .conceptMat > dd > fieldset > figcaption,
	.service .serviceSep > dl > dd > figcaption {
		font-size: 14px;
	}

}


/* ==================================================
   タブレット
================================================== */

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

	.wrapperMain {
		width: calc(100% - 40px);
	}

	.common_tit > h2 {
		font-size: 36px;
	}

	.common_tit > h3 {
		margin-top: 12px;
		font-size: 15px;
	}

	.concept,
	.features,
	.instagram,
	.instructor,
	.accessVer {
		padding-top: 70px;
		padding-bottom: 70px;
	}

	.service .serviceMat {
		padding: 45px;
	}

}


/* ==================================================
   スマートフォン
================================================== */

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

	body {
		font-size: 13px;
		line-height: 1.85;
		letter-spacing: 0.02em;
	}

	.wrapperMain {
		width: calc(100% - 40px);
	}

	p {
		line-height: 1.9;
	}

	.common_tit {
		align-items: center;
		text-align: center;
	}

	.common_tit > h2 {
		font-size: 31px;
	}

	.common_tit > h3 {
		margin-top: 10px;
		font-size: 14px;
	}

	.concept,
	.features,
	.instagram,
	.instructor,
	.accessVer {
		padding: 65px 20px;
	}

	.concept .conceptMat > dd > fieldset {
		margin-top: 30px;
	}

	.concept .conceptMat > dd > fieldset > h3 {
		font-size: 23px;
		line-height: 1.65;
	}

	.concept .conceptMat > dd > fieldset > figcaption {
		margin-top: 24px;
		font-size: 13px;
		line-height: 1.95;
	}

	.features .featuresList > ul > li > dl > dd > h3 {
		font-size: 15px;
	}

	.service .serviceMat {
		padding: 38px 24px;
	}

	.more {
		margin-top: 28px;
	}

	.more > a > hgroup {
		min-height: 56px;
		padding: 12px 20px;
	}

	.more > a > hgroup > h3 {
		font-size: 14px;
	}

}

/* ==================================================
   TOP MV 完成版
   文字固定・背景画像のみ滑らかにフェード
================================================== */

/* メインビジュアル全体 */
.topMv {
	position: relative;
	width: 100%;
	height: 760px;
	overflow: hidden;
	background: #000;
}

/* 背景画像を配置する領域 */
.topMvSlider {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

/* 各背景画像 */
.topMvSlide {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	margin: 0;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transition:
		opacity 2s ease-in-out,
		visibility 2s ease-in-out;

	transform: translateZ(0);
	backface-visibility: hidden;
	will-change: opacity;
}

/* 表示中の背景画像 */
.topMvSlide.is-active {
	z-index: 2;
	opacity: 1;
	visibility: visible;
}

/* 背景画像のfigure */
.topMvImage {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

/* 背景画像 */
.topMvImage img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center center;

	animation: none !important;
	transform: none !important;
	transition: none !important;
}

/* スライド側の暗幕を無効化 */
.topMvSlide::before,
.topMvSlide::after {
	display: none !important;
	content: none !important;
}

/* 固定文字レイヤー */
.topMvOverlay {
	position: absolute;
	inset: 0;
	z-index: 5;

	display: flex;
	align-items: center;

	width: 100%;
	height: 100%;
	min-height: 0;
	padding: 0;

	pointer-events: none;

	background:
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.88) 0%,
			rgba(0, 0, 0, 0.72) 30%,
			rgba(0, 0, 0, 0.30) 62%,
			rgba(0, 0, 0, 0.04) 100%
		);
}

/* 文字全体 */
.topMvContent {
	box-sizing: border-box;
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 40px;
	color: #fff;
}

/* キャッチコピー */
.topMvTitle {
	display: flex;
	flex-direction: column;
	align-items: flex-start;

	width: fit-content;
	max-width: 100%;
	margin: 0;

	color: #fff;
	font-family:
		"Yu Mincho",
		"YuMincho",
		"Hiragino Mincho ProN",
		"Hiragino Mincho Pro",
		serif;
	font-weight: 500;
	line-height: 1.45;
	text-align: left;

	text-shadow:
		0 3px 18px rgba(0, 0, 0, 0.80),
		0 1px 5px rgba(0, 0, 0, 0.95);
}

.topMvTitle small {
	display: block;
	width: auto;
	margin: 0;

	font-size: clamp(30px, 2.8vw, 54px);
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

/* ×だけ上下文章の中央へ */
.topMvTitle small:nth-child(2) {
	align-self: center;
	width: auto;
	margin: 10px 0;

	font-size: clamp(23px, 2vw, 34px);
	line-height: 1;
	text-align: center;
	transform: none;
}

/* 最終行の間隔 */
.topMvTitle small:nth-child(4) {
	margin-top: 5px;
}

/* 3つの特徴 */
.topMvPoints {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;

	width: auto;
	margin: 32px 0 0;
	padding: 0;

	list-style: none;
}

/* 特徴の枠 */
.topMvPoints li {
	display: flex;
	align-items: center;
	justify-content: center;

	min-height: 52px;
	padding: 8px 18px;

	border: 1px solid rgba(202, 166, 74, 0.95);
	background: rgba(0, 0, 0, 0.38);
	box-sizing: border-box;

	color: #fff;
	font-family:
		"Yu Mincho",
		"YuMincho",
		"Hiragino Mincho ProN",
		serif;
	font-size: clamp(16px, 1.4vw, 24px);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-align: center;
	white-space: nowrap;

	backdrop-filter: blur(2px);
}

/* スライド切り替えボタン */
.topMvDots {
	position: absolute;
	right: 40px;
	bottom: 26px;
	z-index: 10;

	display: flex;
	gap: 10px;
}

/* ドット */
.topMvDots button {
	display: block;
	width: 34px;
	height: 4px;
	margin: 0;
	padding: 0;

	border: 0;
	background: rgba(255, 255, 255, 0.40);
	cursor: pointer;

	transition: background-color 0.5s ease;
}

/* 選択中のドット */
.topMvDots button.is-active {
	background: #c2c7cc;
}

/* ==================================================
   タブレット
================================================== */
@media screen and (max-width: 1280px) {

	.topMv {
		height: 680px;
	}

	.topMvContent {
		padding-right: 30px;
		padding-left: 30px;
	}

	.topMvPoints {
		margin-top: 28px;
	}

	.topMvPoints li {
		min-height: 48px;
		padding: 7px 15px;
	}

}

/* ==================================================
   スマホ
================================================== */
@media screen and (max-width: 767px) {

	/* 縦長すぎない高さへ統一 */
	.topMv {
		height: 660px;
		min-height: 660px;
	}

	.topMvSlider,
	.topMvSlide {
		height: 100%;
		min-height: 0;
	}

	/* 人物が見えやすい背景位置 */
	.topMvImage img {
		object-position: 57% center;
		filter: brightness(1.08) contrast(1.03);
	}

	/* PCの雰囲気を残しつつ、スマホでは明るめに */
	.topMvOverlay {
		align-items: center;

		background:
			linear-gradient(
				90deg,
				rgba(0, 0, 0, 0.70) 0%,
				rgba(0, 0, 0, 0.48) 55%,
				rgba(0, 0, 0, 0.14) 100%
			);
	}

	/* 文字位置 */
	.topMvContent {
		max-width: none;
		margin: 0;
		padding: 0 28px 20px;
		transform: translateY(-18px);
	}

	/* 見出し */
	.topMvTitle {
		width: fit-content;
		max-width: 100%;
		line-height: 1.5;
	}

	.topMvTitle small {
		font-size: clamp(19px, 5.5vw, 24px);
		line-height: 1.5;
		letter-spacing: 0.02em;
	}

	/* × */
	.topMvTitle small:nth-child(2) {
		margin: 9px 0;
		font-size: 20px;
	}

	.topMvTitle small:nth-child(4) {
		margin-top: 3px;
	}

	/* 特徴は幅を揃えた縦並び */
	.topMvPoints {
		display: inline-flex;
		flex-direction: column;
		align-items: stretch;
		gap: 7px;

		width: 220px;
		margin-top: 23px;
	}

	.topMvPoints li {
		width: 220px;
		height: 40px;
		min-height: 40px;
		padding: 4px 7px;

		font-size: 14px;
		line-height: 1.3;
		letter-spacing: 0.01em;
		white-space: nowrap;
	}

	.topMvDots {
		right: 20px;
		bottom: 16px;
	}

	.topMvDots button {
		width: 28px;
		height: 3px;
	}

}

/* ==================================================
   小さいスマホ
================================================== */
@media screen and (max-width: 390px) {

	.topMv {
		height: 630px;
		min-height: 630px;
	}

	.topMvContent {
		padding-right: 20px;
		padding-left: 20px;
		transform: translateY(-12px);
	}

	.topMvTitle small {
		font-size: clamp(18px, 5.3vw, 21px);
	}

	.topMvPoints {
		width: 210px;
	}

	.topMvPoints li {
		width: 210px;
		font-size: 13px;
	}

}

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

	.topMvOverlay {
		background: linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.02) 0%,
			rgba(0, 0, 0, 0.06) 28%,
			rgba(0, 0, 0, 0.24) 58%,
			rgba(0, 0, 0, 0.48) 100%
		) !important;
	}

	.topMvImage img {
		filter: brightness(1.12) contrast(1.02) !important;
	}
}

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

	/* 背景画像 */
	.topMvImage img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;

		/* 左側を多く見せる */
		object-position: 5% center !important;

		/* 画像を明るく */
		filter:
			brightness(1.42)
			contrast(1.01)
			saturate(1.06) !important;
	}

	/* 左側を暗くしない */
	.topMvOverlay {
		background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0.00) 0%,
			rgba(0, 0, 0, 0.02) 38%,
			rgba(0, 0, 0, 0.14) 62%,
			rgba(0, 0, 0, 0.48) 100%
		) !important;
	}

	/* 文字の読みやすさ */
	.topMvTitle {
		text-shadow:
			0 2px 4px rgba(0, 0, 0, 1),
			0 0 10px rgba(0, 0, 0, 0.85),
			0 0 18px rgba(0, 0, 0, 0.55) !important;
	}

	.topMvPoints li {
		background: rgba(0, 0, 0, 0.50) !important;
		backdrop-filter: blur(2px);
	}
}

.features .featuresList > ul > li > dl > dd > h3 small {
	font-family: inherit;
	font-weight: inherit;
	font-size: calc(1em - 4px);
	line-height: inherit;
	letter-spacing: inherit;
}

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

	.features .featuresList > ul > li > dl > dd > h3 > small {
		display: inline-block !important;
		font-family: inherit !important;
		font-size: 12px !important;
		font-weight: inherit !important;
		line-height: 1.5 !important;
		letter-spacing: inherit !important;
	}
}

/* 駐車場の文章を写真の左端に揃える */
.features .featuresList > ul > dd {
	width: 100%;
	margin-left: 40px;
	margin-top: 10px;
}

/* ==================================================
   ヘッダー プルダウンメニュー 高級感調整
================================================== */

/* プルダウン全体 */
.header .headerNav > div > ul > li > ol {
	position: absolute;
	top: calc(100% + 18px);
	left: 50%;
	z-index: 1000;

	display: none;
	width: 230px;
	padding: 8px;

	background: rgba(12, 12, 12, 0.96);
	border: 1px solid rgba(188, 165, 102, 0.85);
	box-shadow:
		0 12px 30px rgba(0, 0, 0, 0.4),
		inset 0 0 0 1px rgba(255, 255, 255, 0.03);

	transform: translateX(-50%);
	backdrop-filter: blur(6px);
}

/* 上向きの小さな三角 */
.header .headerNav > div > ul > li > ol::before {
	position: absolute;
	top: -7px;
	left: 50%;

	width: 12px;
	height: 12px;

	content: "";
	background: #111;
	border-top: 1px solid rgba(188, 165, 102, 0.85);
	border-left: 1px solid rgba(188, 165, 102, 0.85);

	transform: translateX(-50%) rotate(45deg);
}

/* 項目間の余白をなくす */
.header .headerNav > div > ul > li > ol > li {
	margin: 0 !important;
	border-bottom: 1px solid rgba(188, 165, 102, 0.25);
}

.header .headerNav > div > ul > li > ol > li:last-child {
	border-bottom: 0;
}

/* リンク */
.header .headerNav > div > ul > li > ol > li > a {
	display: block;
	padding: 0;
	background: transparent;
}

/* 項目テキスト */
.header .headerNav > div > ul > li > ol > li > a > h3 {
	position: relative;
	display: flex;
	align-items: center;

	min-height: 52px;
	padding: 10px 32px 10px 18px;

	background: transparent;
	border: 0;

	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		"YuMincho",
		serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.04em;
	text-align: left;

	transition:
		background-color 0.3s ease,
		color 0.3s ease,
		padding-left 0.3s ease;
}

/* 右側矢印 */
.header .headerNav > div > ul > li > ol > li > a > h3::after {
	position: absolute;
	top: 50%;
	right: 16px;

	content: "›";
	color: #c2c7cc;
	font-size: 20px;
	font-weight: normal;
	line-height: 1;

	transform: translateY(-52%);
	transition: transform 0.3s ease;
}

/* ホバー */
.header .headerNav > div > ul > li > ol > li > a:hover > h3 {
	padding-left: 23px;
	background: rgba(188, 165, 102, 0.13);
	color: #e5e8eb;
}

.header .headerNav > div > ul > li > ol > li > a:hover > h3::after {
	transform: translate(3px, -52%);
}

/* 親メニューにマウスを合わせたとき表示 */
.header .headerNav > div > ul > li:hover > ol {
	display: block;
	animation: dropdownFade 0.25s ease both;
}

@keyframes dropdownFade {
	from {
		opacity: 0;
		transform: translate(-50%, -8px);
	}
	to {
		opacity: 1;
		transform: translate(-50%, 0);
	}
}

/* ==================================================
   お問い合わせ・ACTEKバナー スマホ調整
================================================== */
@media screen and (max-width: 780px) {

	/* セクション全体の上下余白を縮小 */
	.connection {
		padding: 28px 16px !important;
	}

	.connection .connectionMat {
		width: 100% !important;
		max-width: 680px !important;
		margin: 0 auto !important;
	}

	/* 2つのバナーを横幅いっぱいに */
	.connection .connectionMat > a {
		width: 100% !important;
		max-width: none !important;
	}

	/* お問い合わせバナー */
	.connection .connectionMat > a:nth-of-type(1) {
		padding: 7px !important;
	}

	.connection .connectionMat > a:nth-of-type(1) > hgroup {
		min-height: 0 !important;
		padding: 20px 14px !important;
	}

	.connection .connectionMat > a:nth-of-type(1) > hgroup > i {
		font-size: 25px !important;
	}

	.connection .connectionMat > a:nth-of-type(1) > hgroup > h3 {
		margin-left: 14px !important;
		font-size: 15px !important;
		line-height: 1.55 !important;
	}

	.connection .connectionMat > a:nth-of-type(1) > hgroup > span {
		margin-left: 12px !important;
		max-width: 27px !important;
	}

	/* ACTEK GOLFバナー */
	.connection .connectionMat > a:nth-of-type(2) {
		margin-top: 14px !important;
		padding: 0 !important;
	}

	.connection .connectionMat > a:nth-of-type(2) > img {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}
}

/* ==================================================
   お問い合わせ・FC募集・ACTEKバナー
================================================== */
.connection .connectionMat {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
}

.connection .connectionBanner {
	width: 100% !important;
	margin: 0 !important;
	box-sizing: border-box;
}

/* お問い合わせ */
.connection .connectionContact {
	display: block;
	padding: 10px;
	background: #c2c7cc;
	color: #3f454b;
}

.connection .connectionContact > hgroup {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	min-height: 180px;
	padding: 24px 16px;
	border: 2px solid #e5e8eb;
}

.connection .connectionContact > hgroup > h3 {
	margin-left: 18px;
	font-family: "Shippori Mincho", serif;
	font-size: 17px;
	line-height: 1.55;
	text-align: center;
}

.connection .connectionContact > hgroup > i {
	font-size: 32px;
}

.connection .connectionContact > hgroup > span {
	width: 30px;
	margin-left: 12px;
}


/* フランチャイズ募集 */
.connection .connectionFc {
	display: block;
	padding: 10px;
	background:
		linear-gradient(
			135deg,
			#191919 0%,
			#24282d 55%,
			#24282d 100%
		);
	color: #fff;
}

.connection .connectionFcInner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	min-height: 180px;
	padding: 22px 48px 22px 22px;
	border: 1px solid rgba(212, 175, 82, 0.85);
	text-align: center;
}

.connection .connectionFcText > p {
	margin-bottom: 8px;
	color: #c2c7cc;
	font-family: "Outfit", sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.16em;
}

.connection .connectionFcText > h3 {
	color: #fff;
	font-family: "Shippori Mincho", serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.06em;
}

.connection .connectionFcText > span {
	display: block;
	margin-top: 10px;
	color: #d7d0c3;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.6;
}

.connection .connectionFcArrow {
	position: absolute;
	top: 50%;
	right: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid #c2c7cc;
	border-radius: 50%;
	color: #c2c7cc;
	font-family: serif;
	font-size: 25px;
	line-height: 1;
	transform: translateY(-50%);
	transition:
		background-color 0.3s ease,
		color 0.3s ease,
		transform 0.3s ease;
}

.connection .connectionFc:hover .connectionFcArrow {
	background: #c2c7cc;
	color: #111;
	transform: translate(3px, -50%);
}


/* ACTEK */
.connection .connectionActek {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px;
	background: #fff;
}

.connection .connectionActek > img {
	width: 100%;
	max-width: 390px;
	margin: 0;
}


/* タブレット */
@media screen and (max-width: 980px) {

	.connection .connectionMat {
		grid-template-columns: 1fr;
		gap: 16px;
		max-width: 680px;
	}

	.connection .connectionContact > hgroup,
	.connection .connectionFcInner {
		min-height: 130px;
	}

}


/* スマホ */
@media screen and (max-width: 780px) {

	.connection {
		padding: 24px 16px !important;
	}

	.connection .connectionMat {
		display: flex !important;
		flex-direction: column;
		gap: 14px;
		width: 100%;
	}

	.connection .connectionContact {
		padding: 7px;
	}

	.connection .connectionContact > hgroup {
		min-height: 0;
		padding: 18px 12px;
	}

	.connection .connectionContact > hgroup > i {
		font-size: 23px;
	}

	.connection .connectionContact > hgroup > h3 {
		margin-left: 12px;
		font-size: 15px;
		line-height: 1.5;
	}

	.connection .connectionContact > hgroup > span {
		width: 25px;
		margin-left: 10px;
	}

	.connection .connectionFc {
		padding: 7px;
	}

	.connection .connectionFcInner {
		min-height: 0;
		padding: 17px 46px 17px 16px;
	}

	.connection .connectionFcText > p {
		margin-bottom: 5px;
		font-size: 9px;
	}

	.connection .connectionFcText > h3 {
		font-size: 21px;
		line-height: 1.35;
	}

	.connection .connectionFcText > span {
		margin-top: 6px;
		font-size: 11px;
	}

	.connection .connectionFcArrow {
		right: 13px;
		width: 30px;
		height: 30px;
		font-size: 22px;
	}

	.connection .connectionActek {
		padding: 8px !important;
	}

	.connection .connectionActek > img {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}
}

/* ==================================================
   connectionバナー スマホ統一・FC募集強調
================================================== */
@media screen and (max-width: 780px) {

	.connection {
		padding: 24px 16px !important;
	}

	.connection .connectionMat {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
	}

	/* 3つのバナーを同じ大きさへ統一 */
	.connection .connectionMat > a {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 100% !important;
		height: 122px !important;
		min-height: 122px !important;
		margin: 0 !important;
		padding: 7px !important;

		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	/* ==============================
	   お問い合わせ
	============================== */
	.connection .connectionContact {
		background: #c2c7cc !important;
	}

	.connection .connectionContact > hgroup {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		padding: 12px 16px !important;

		border: 2px solid #e5e8eb !important;
		box-sizing: border-box !important;
	}

	.connection .connectionContact > hgroup > i {
		flex: 0 0 auto !important;
		margin: 0 !important;
		font-size: 24px !important;
	}

	.connection .connectionContact > hgroup > h3 {
		margin: 0 12px !important;
		font-size: 14px !important;
		line-height: 1.55 !important;
		letter-spacing: 0.04em !important;
	}

	.connection .connectionContact > hgroup > span {
		flex: 0 0 26px !important;
		width: 26px !important;
		max-width: 26px !important;
		margin: 0 !important;
	}

	/* ==============================
	   フランチャイズ募集
	   ゴールドで目立たせる
	============================== */
	.connection .connectionFc {
		position: relative !important;
		background:
			linear-gradient(
				135deg,
				#656c73 0%,
				#c2c7cc 45%,
				#656c73 100%
			) !important;

		box-shadow:
			0 7px 18px rgba(0, 0, 0, 0.38),
			0 0 18px rgba(211, 181, 104, 0.20) !important;
	}

	.connection .connectionFc::before {
		position: absolute;
		inset: 0;

		content: "";
		pointer-events: none;

		background:
			linear-gradient(
				110deg,
				transparent 0%,
				rgba(255, 255, 255, 0.20) 45%,
				transparent 70%
			);
	}

	.connection .connectionFcInner {
		position: relative !important;
		z-index: 2 !important;

		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		padding: 10px 46px 10px 16px !important;

		border: 2px solid rgba(255, 246, 210, 0.85) !important;
		box-sizing: border-box !important;
	}

	.connection .connectionFcText > p {
		margin: 0 0 3px !important;
		color: #24282d !important;
		font-size: 9px !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		letter-spacing: 0.16em !important;
	}

	.connection .connectionFcText > h3 {
		color: #0f1114 !important;
		font-size: 21px !important;
		font-weight: 700 !important;
		line-height: 1.25 !important;
		letter-spacing: 0.08em !important;
		text-shadow: 0 1px 0 rgba(255, 255, 255, 0.28) !important;
	}

	.connection .connectionFcText > span {
		margin-top: 4px !important;
		color: #24282d !important;
		font-size: 10px !important;
		font-weight: 600 !important;
		line-height: 1.4 !important;
	}

	.connection .connectionFcArrow {
		right: 14px !important;

		width: 31px !important;
		height: 31px !important;

		border: 1px solid #c2c7cc !important;
		background: #0f1114 !important;
		color: #c2c7cc !important;
		font-size: 22px !important;
	}

	/* ==============================
	   ACTEK
	============================== */
	.connection .connectionActek {
		padding: 7px !important;
		background: #fff !important;
	}

	.connection .connectionActek > img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 10px 18px !important;

		object-fit: contain !important;
		box-sizing: border-box !important;
	}
}

/* ==================================================
   connectionバナー PC調整
================================================== */
@media screen and (min-width: 981px) {

	.connection .connectionMat {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 24px !important;
		align-items: stretch !important;
		max-width: 1080px !important;
	}

	.connection .connectionMat > a {
		width: 100% !important;
		height: 198px !important;
		min-height: 198px !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	/* お問い合わせ */
	.connection .connectionContact {
		padding: 10px !important;
	}

	.connection .connectionContact > hgroup {
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		padding: 20px 18px !important;
		box-sizing: border-box !important;
	}

	/* FC募集を目立たせる */
	.connection .connectionFc {
		position: relative !important;
		padding: 10px !important;
		background:
			linear-gradient(
				135deg,
				#0f1114 0%,
				#24282d 58%,
				#656c73 100%
			) !important;
		box-shadow:
			0 10px 24px rgba(0, 0, 0, 0.35),
			0 0 0 1px rgba(212, 175, 82, 0.25) !important;
		overflow: hidden !important;
	}

	.connection .connectionFc::before {
		position: absolute;
		inset: -40% auto auto -18%;
		width: 160px;
		height: 260px;

		content: "";
		background: rgba(212, 175, 82, 0.12);
		transform: rotate(24deg);
		pointer-events: none;
	}

	.connection .connectionFcInner {
		position: relative !important;
		z-index: 2 !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		padding: 20px 52px 20px 20px !important;

		border: 1px solid rgba(224, 194, 112, 0.9) !important;
		box-sizing: border-box !important;
	}

	.connection .connectionFcText > p {
		margin-bottom: 8px !important;
		color: #c2c7cc !important;
		font-size: 11px !important;
		font-weight: 700 !important;
		letter-spacing: 0.18em !important;
	}

	.connection .connectionFcText > h3 {
		color: #fff !important;
		font-size: 25px !important;
		font-weight: 600 !important;
		line-height: 1.35 !important;
		letter-spacing: 0.06em !important;
		text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45) !important;
	}

	.connection .connectionFcText > span {
		margin-top: 10px !important;
		color: #e5e8eb !important;
		font-size: 12px !important;
		line-height: 1.55 !important;
	}

	.connection .connectionFcArrow {
		right: 16px !important;
		width: 34px !important;
		height: 34px !important;

		border: 1px solid #c2c7cc !important;
		background: rgba(0, 0, 0, 0.42) !important;
		color: #c2c7cc !important;
	}

	/* ACTEK */
	.connection .connectionActek {
		padding: 10px !important;
	}

	.connection .connectionActek > img {
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 24px !important;
		object-fit: contain !important;
		box-sizing: border-box !important;
	}
}

/* ==================================================
   スマホ固定バナー
   黒・深緑・ゴールドに統一
================================================== */
@media screen and (max-width: 420px) {

	.diagnosisMo {
		position: fixed;
		right: 0;
		bottom: 0;
		z-index: 9999;

		display: block;
		width: 100%;
		overflow: hidden;

		background: #111;
		border-top: 1px solid #c2c7cc;

		box-shadow:
			0 -8px 24px rgba(0, 0, 0, 0.45),
			0 -1px 0 rgba(255, 255, 255, 0.04);
	}

	/* 深緑＋ゴールドの色を重ねる */
	.diagnosisMo::after {
		position: absolute;
		inset: 0;
		z-index: 2;

		content: "";
		pointer-events: none;

		background:
			linear-gradient(
				90deg,
				rgba(19, 54, 20, 0.58) 0%,
				rgba(29, 72, 29, 0.38) 42%,
				rgba(102, 78, 27, 0.28) 100%
			);

		mix-blend-mode: multiply;
	}

	.diagnosisMo img {
		position: relative;
		z-index: 1;

		display: block;
		width: 100%;

		/* 蛍光色を抑え、落ち着いた色に */
		filter:
			brightness(0.72)
			saturate(0.55)
			contrast(1.12)
			sepia(0.12);
	}

	.diagnosisMo:active img {
		filter:
			brightness(0.82)
			saturate(0.62)
			contrast(1.12)
			sepia(0.10);
	}
}

/* ==================================================
   スマホ固定CTA
   黒・深緑・ゴールド
================================================== */
.diagnosisMo {
	display: none;
}

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

	.diagnosisMo {
		position: fixed;
		right: 0;
		bottom: 0;
		z-index: 9999;

		display: block;
		width: 100%;
		padding: 7px 10px 9px;

		background: rgba(7, 9, 7, 0.96);
		border-top: 1px solid rgba(190, 164, 96, 0.9);

		box-shadow:
			0 -10px 28px rgba(0, 0, 0, 0.48),
			inset 0 1px 0 rgba(255, 255, 255, 0.04);

		color: #fff;
		box-sizing: border-box;
		backdrop-filter: blur(8px);
	}

	.diagnosisMoInner {
		position: relative;

		display: grid;
		grid-template-columns: 62px 1fr 78px;
		align-items: center;

		width: 100%;
		min-height: 76px;
		overflow: hidden;

		background:
			linear-gradient(
				120deg,
				#0b180d 0%,
				#16331b 48%,
				#1f4122 100%
			);

		border: 1px solid rgba(190, 164, 96, 0.65);
		box-shadow:
			inset 0 0 0 1px rgba(255, 255, 255, 0.025),
			0 5px 16px rgba(0, 0, 0, 0.28);
	}

	/* 控えめな光沢 */
	.diagnosisMoInner::before {
		position: absolute;
		top: -60%;
		left: 36%;

		width: 90px;
		height: 180px;

		content: "";
		pointer-events: none;

		background: rgba(218, 190, 112, 0.08);
		transform: rotate(24deg);
	}

	/* 初回無料 */
	.diagnosisMoFree {
		position: relative;
		z-index: 2;

		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;

		height: 100%;

		background:
			linear-gradient(
				180deg,
				#101710 0%,
				#182719 100%
			);

		border-right: 1px solid rgba(190, 164, 96, 0.42);

		color: #c2c7cc;
		font-family: "Shippori Mincho", serif;
		line-height: 1.15;
		letter-spacing: 0.08em;
	}

	.diagnosisMoFree span {
		font-size: 11px;
		font-weight: 500;
	}

	.diagnosisMoFree strong {
		margin-top: 3px;
		font-size: 19px;
		font-weight: 600;
	}

	/* 中央 */
	.diagnosisMoMain {
		position: relative;
		z-index: 2;

		padding: 8px 8px 8px 13px;
		text-align: left;
	}

	.diagnosisMoMain p {
		margin: 0;

		color: #e5e8eb;
		font-size: 10px;
		font-weight: 500;
		line-height: 1.3;
		letter-spacing: 0.08em;
	}

	.diagnosisMoMain h3 {
		margin: 3px 0 0;

		color: #c2c7cc;
		font-family: "Shippori Mincho", serif;
		font-size: 21px;
		font-weight: 600;
		line-height: 1.2;
		letter-spacing: 0.06em;

		text-shadow: 0 2px 8px rgba(0, 0, 0, 0.38);
	}

	/* 予約ボタン */
	.diagnosisMoButton {
		position: relative;
		z-index: 2;

		display: flex;
		align-items: center;
		justify-content: center;
		gap: 5px;

		height: 38px;
		margin-right: 9px;

		background:
			linear-gradient(
				135deg,
				#9299a1 0%,
				#c2c7cc 52%,
				#656c73 100%
			);

		border: 1px solid rgba(239, 217, 157, 0.7);

		color: #0f1114;
		font-size: 10px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.03em;

		box-shadow:
			0 4px 12px rgba(0, 0, 0, 0.28),
			inset 0 1px 0 rgba(255, 255, 255, 0.32);
	}

	.diagnosisMoButton i {
		font-family: serif;
		font-size: 20px;
		font-weight: normal;
		line-height: 1;
	}

	.diagnosisMo:active .diagnosisMoInner {
		transform: translateY(1px);
	}
}

/* スマホ固定CTAの表示崩れ防止 */
@media screen and (max-width: 767px) {

	.diagnosisMo,
	.diagnosisMo:link,
	.diagnosisMo:visited {
		display: block !important;
		color: #fff !important;
		text-decoration: none !important;
	}

	.diagnosisMo * {
		box-sizing: border-box !important;
	}

	.diagnosisMo p,
.diagnosisMo h3,
.diagnosisMo span,
.diagnosisMo strong,
.diagnosisMo i {
	margin-top: 0;
	margin-bottom: 0;
	text-decoration: none;
}

	/* 古い画像用指定を無効化 */
	.diagnosisMo > img {
		display: none !important;
	}
}

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

	.diagnosisMoMain {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;

		height: 100% !important;
		padding: 6px 8px !important;

		text-align: center !important;
	}

	.diagnosisMoMain p {
		margin: 0 0 4px !important;
		font-size: 10px !important;
		line-height: 1.2 !important;
		letter-spacing: 0.08em !important;
		text-align: center !important;
	}

	.diagnosisMoMain h3 {
		margin: 0 !important;
		font-size: 20px !important;
		line-height: 1.2 !important;
		letter-spacing: 0.05em !important;
		text-align: center !important;
		white-space: nowrap !important;
	}
}

/* ==================================================
   料金ページ スマホ時の余白・間延び修正
================================================== */
@media screen and (max-width: 767px) {

	/* ページ全体 */
	.newPricing {
		padding: 38px 16px 55px !important;
	}

	/* ページ冒頭の説明 */
	.newPricingLead,
	.pricingSectionHeading > span {
		margin-top: 9px !important;
		line-height: 1.65 !important;
	}

	/* オープン記念料金 */
	.pricingCampaign {
		margin-top: 26px !important;
	}

	.pricingCampaignLabel {
		padding: 18px 14px !important;
	}

	.pricingCampaignLabel p {
		margin-bottom: 7px !important;
	}

	.pricingCampaignLabel h3 {
		margin: 0 !important;
		font-size: 24px !important;
		line-height: 1.4 !important;
	}

	.pricingCampaignItem {
		min-height: 0 !important;
		padding: 15px 14px !important;
		gap: 8px !important;
	}

	.pricingCampaignItem > span {
		font-size: 14px !important;
	}

	.pricingCampaignItem p {
		gap: 7px !important;
	}

	.pricingCampaignItem del {
		font-size: 13px !important;
	}

	.pricingCampaignItem i {
		font-size: 15px !important;
	}

	.pricingCampaignItem strong {
		font-size: 21px !important;
	}

	.pricingCampaignNote {
		padding: 9px 12px !important;
		font-size: 11px !important;
		line-height: 1.5 !important;
	}

	/* 各料金セクション間 */
	.pricingSection,
	.pricingOtherServices {
		padding-top: 48px !important;
	}

	/* セクション見出し下 */
	.pricingSectionHeading {
		margin-bottom: 24px !important;
	}

	.newPricingEnglish,
	.pricingSectionHeading > p {
		font-size: 11px !important;
	}

	.newPricingHeading h2,
	.pricingSectionHeading h2 {
		font-size: 26px !important;
		line-height: 1.35 !important;
	}

	/* カード同士の間隔 */
	.pricingCards,
	.pricingCardsBasic,
	.pricingCardsThree {
		gap: 16px !important;
	}

	/* ゴールドカードだけ余分に下がる指定を解除 */
	.pricingCardGold {
		margin-top: 0 !important;
	}

	/* 各カード */
	.pricingCard {
		padding: 4px !important;
		box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25) !important;
	}

	.pricingCardHeader {
		padding: 18px 14px 16px !important;
	}

	.pricingCardHeader > p {
		font-size: 14px !important;
	}

	.pricingCardHeader h3 {
		margin-top: 4px !important;
		font-size: 21px !important;
		line-height: 1.35 !important;
	}

	.pricingCardPrice {
		padding-top: 18px !important;
		padding-bottom: 18px !important;
	}

	.pricingCardPrice strong {
		font-size: 36px !important;
	}

	.pricingCardDetails {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	.pricingCardDetails > div {
		grid-template-columns: 78px minmax(0, 1fr) !important;
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	/* レッスンカード */
	.pricingLessonIntro,
	.pricingLessonPrice,
	.pricingLessonDetails {
		padding: 20px 16px !important;
	}

	.pricingLessonIntro h3 {
		font-size: 21px !important;
	}

	.pricingLessonDetails > div {
		grid-template-columns: 80px minmax(0, 1fr) !important;
	}

	/* その他サービス */
	.pricingServiceLinks {
		gap: 14px !important;
	}

	.pricingServiceLinks a {
		padding: 21px 18px !important;
	}

	/* ご利用までの流れ */
	.pricethree {
		padding: 48px 16px 60px !important;
	}

	.pricingStepHeading {
		margin-bottom: 25px !important;
	}

	.pricingStepList > li,
	.pricingStepList > li:last-child {
		padding: 19px 16px 21px !important;
	}

	.pricingStepList > li + li {
		margin-top: 14px !important;
	}
}

/* 料金ページ スマホ余白 最終上書き */
@media screen and (max-width: 767px) {

	.newPricing {
		padding: 30px 16px 50px !important;
	}

	.pricingCampaign {
		margin-top: 22px !important;
	}

	.pricingSection,
	.pricingOtherServices {
		padding-top: 38px !important;
	}

	.pricingSectionHeading {
		margin-bottom: 20px !important;
	}

	.pricingCardsBasic,
	.pricingCardsThree {
		gap: 14px !important;
	}

	.pricingCardGold {
		margin-top: 0 !important;
		transform: none !important;
	}
}

/* ==================================================
   料金ページ スマホ最終コンパクト版
================================================== */
@media screen and (max-width: 767px) {

	/* ページ外側 */
	body .newPricing {
		padding: 24px 14px 42px !important;
	}

	body .newPricingInner {
		max-width: 520px !important;
	}

	/* 冒頭見出し */
	body .newPricingEnglish {
		margin-bottom: 5px !important;
		font-size: 10px !important;
	}

	body .newPricingHeading h2 {
		font-size: 23px !important;
		line-height: 1.3 !important;
	}

	body .newPricingLead {
		margin-top: 8px !important;
		font-size: 12px !important;
		line-height: 1.6 !important;
	}

	/* オープン記念料金 */
	body .pricingCampaign {
		display: block !important;
		margin-top: 20px !important;
	}

	body .pricingCampaignLabel {
		padding: 13px 10px !important;
	}

	body .pricingCampaignLabel span {
		font-size: 9px !important;
	}

	body .pricingCampaignLabel strong {
		margin-top: 3px !important;
		font-size: 19px !important;
	}

	/* 入会金・月会費を横並び */
	body .pricingCampaignContent {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body .pricingCampaignItem {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		gap: 5px !important;

		min-height: 96px !important;
		padding: 10px 6px !important;

		border-top: 1px solid var(--price-line) !important;
		border-left: 0 !important;
		text-align: center !important;
	}

	body .pricingCampaignItem + .pricingCampaignItem {
		border-left: 1px solid var(--price-line) !important;
	}

	body .pricingCampaignItem > span {
		display: block !important;
		margin: 0 !important;
		font-size: 13px !important;
	}

	body .pricingCampaignItem p {
		justify-content: center !important;
		flex-wrap: wrap !important;
		gap: 4px !important;
	}

	body .pricingCampaignItem del {
		font-size: 11px !important;
	}

	body .pricingCampaignItem i {
		font-size: 12px !important;
	}

	body .pricingCampaignItem strong {
		font-size: 18px !important;
		white-space: nowrap !important;
	}

	body .pricingCampaignNote {
		padding: 7px 8px !important;
		font-size: 10px !important;
		line-height: 1.45 !important;
	}

	/* お知らせ */
	body .pricingNews {
		margin-top: 18px !important;
		padding: 16px 13px !important;
	}

	body .pricingNews h3 {
		margin-bottom: 12px !important;
		font-size: 17px !important;
	}

	body .pricingNewsContent {
		gap: 14px !important;
	}

	/* 各料金セクション */
	body .pricingSection,
	body .pricingOtherServices {
		padding-top: 34px !important;
	}

	body .pricingSectionHeading {
		margin-bottom: 16px !important;
	}

	body .pricingSectionHeading > p {
		margin-bottom: 4px !important;
		font-size: 10px !important;
	}

	body .pricingSectionHeading h2 {
		font-size: 23px !important;
		line-height: 1.3 !important;
	}

	body .pricingSectionHeading > span {
		margin-top: 7px !important;
		font-size: 12px !important;
		line-height: 1.6 !important;
	}

	/* カード間隔 */
	body .pricingCards,
	body .pricingCardsBasic,
	body .pricingCardsThree {
		gap: 12px !important;
	}

	body .pricingCardGold {
		margin-top: 0 !important;
		transform: none !important;
	}

	/* カード内側 */
	body .pricingCard {
		padding: 3px !important;
	}

	body .pricingCardHeader {
		padding: 13px 10px 11px !important;
	}

	body .pricingCardHeader > p {
		font-size: 12px !important;
	}

	body .pricingCardHeader h3 {
		margin-top: 2px !important;
		font-size: 18px !important;
	}

	body .pricingCardPrice {
		padding-top: 13px !important;
		padding-bottom: 13px !important;
	}

	body .pricingCardPrice strong {
		font-size: 30px !important;
	}

	body .pricingCardDetails {
		padding-top: 6px !important;
		padding-bottom: 6px !important;
	}

	body .pricingCardDetails > div {
		padding-top: 7px !important;
		padding-bottom: 7px !important;
	}

	/* レッスンカード */
	body .pricingLessonIntro,
	body .pricingLessonPrice,
	body .pricingLessonDetails {
		padding: 15px 12px !important;
	}

	/* 下部ステップ */
	body .pricethree {
		padding: 36px 14px 46px !important;
	}

	body .pricingStepHeading {
		margin-bottom: 18px !important;
	}

	body .pricingStepList > li,
	body .pricingStepList > li:last-child {
		padding: 15px 12px 17px !important;
	}

	body .pricingStepList > li + li {
		margin-top: 10px !important;
	}
}

/* ==================================================
   個人料金ページ
   法人ページに近いスマホ幅・余白へ統一
================================================== */
@media screen and (max-width: 767px) {

	/* ページ全体を法人ページと同じ幅感に */
	body .newPricing {
		padding: 30px 12px 48px !important;
	}

	body .newPricingInner {
		width: 100% !important;
		max-width: none !important;
		margin: 0 auto !important;
	}

	/* 冒頭説明 */
	body .newPricingLead {
		max-width: 100% !important;
		margin: 10px auto 0 !important;
		font-size: 13px !important;
		line-height: 1.8 !important;
	}

	/* キャンペーン枠を横幅いっぱいに */
	body .pricingCampaign {
		width: 100% !important;
		max-width: none !important;
		margin: 28px 0 0 !important;
	}

	body .pricingCampaignLabel {
		padding: 20px 12px !important;
	}

	body .pricingCampaignLabel strong {
		font-size: 25px !important;
	}

	body .pricingCampaignContent {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: 100% !important;
	}

	body .pricingCampaignItem {
		min-height: 112px !important;
		padding: 14px 8px !important;
	}

	body .pricingCampaignItem strong {
		font-size: 22px !important;
	}

	/* お知らせ */
	body .pricingNews {
		width: 100% !important;
		margin-top: 24px !important;
		padding: 20px 16px !important;
	}

	/* 各セクション */
	body .pricingSection,
	body .pricingOtherServices {
		width: 100% !important;
		padding-top: 48px !important;
	}

	body .pricingSectionHeading {
		margin-bottom: 22px !important;
	}

	/* カードを法人ページに近い横幅へ */
	body .pricingCards,
	body .pricingCardsBasic,
	body .pricingCardsThree {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 18px !important;
		width: 100% !important;
	}

	body .pricingCard {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	body .pricingCardGold {
		margin-top: 0 !important;
		transform: none !important;
	}

	/* カード内部の余白 */
	body .pricingCardHeader {
		padding: 20px 16px 17px !important;
	}

	body .pricingCardHeader h3 {
		font-size: 22px !important;
	}

	body .pricingCardPrice {
		padding: 20px 14px !important;
	}

	body .pricingCardPrice strong {
		font-size: 38px !important;
	}

	body .pricingCardDetails {
		padding: 8px 16px 16px !important;
	}

	body .pricingCardDetails > div {
		grid-template-columns: 92px minmax(0, 1fr) !important;
		padding: 12px 0 !important;
	}

	/* レッスンカード */
	body .pricingLessonCard {
		width: 100% !important;
		max-width: none !important;
	}

	body .pricingLessonIntro,
	body .pricingLessonPrice,
	body .pricingLessonDetails {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}

	/* 下部リンク */
	body .pricingServiceLinks {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	/* 体験手順 */
	body .pricethree {
		padding: 50px 20px 60px !important;
	}

	body .pricingStepInner {
		width: 100% !important;
		max-width: none !important;
	}
}

/* 基本プラン・時間限定プランの料金表記 */
.pricingCardsBasic .pricingCardPrice,
.pricingCardsThree .pricingCardPrice,
.pricingCardsBasic .pricingCardPrice strong,
.pricingCardsBasic .pricingCardPrice span,
.pricingCardsBasic .pricingCardPrice small,
.pricingCardsBasic .pricingCardPrice em,
.pricingCardsThree .pricingCardPrice strong,
.pricingCardsThree .pricingCardPrice span,
.pricingCardsThree .pricingCardPrice small,
.pricingCardsThree .pricingCardPrice em {
	color: #c2c7cc !important;
}

/* 取り消し線が付いた旧料金は白のまま */
.pricingCardsBasic .pricingCardPrice del,
.pricingCardsBasic .pricingCardPrice del *,
.pricingCardsThree .pricingCardPrice del,
.pricingCardsThree .pricingCardPrice del * {
	color: #fff !important;
}

/* ==================================================
   プラチナプランを明るく・キラキラした表現に
================================================== */

/* カード全体 */
.pricingCardPlatinum {
	position: relative;
	overflow: hidden;

	border-color: #d9dde5 !important;

	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.13) 0%,
			rgba(176, 186, 202, 0.07) 28%,
			transparent 55%
		),
		#101115 !important;

	box-shadow:
		0 25px 60px rgba(0, 0, 0, 0.48),
		0 0 28px rgba(210, 220, 238, 0.22),
		inset 0 0 0 1px rgba(255, 255, 255, 0.12) !important;
}

/* 見出し部分 */
.pricingCardPlatinum .pricingCardHeader {
	position: relative;
	overflow: hidden;

	background:
		linear-gradient(
			120deg,
			#2f3239 0%,
			#8d939f 28%,
			#e7eaf0 50%,
			#777d88 72%,
			#292c32 100%
		) !important;
}

/* 見出し文字 */
.pricingCardPlatinum .pricingCardHeader,
.pricingCardPlatinum .pricingCardHeader p,
.pricingCardPlatinum .pricingCardHeader h3 {
	color: #fff !important;

	text-shadow:
		0 1px 2px rgba(0, 0, 0, 0.85),
		0 0 8px rgba(255, 255, 255, 0.32);
}

/* 光が横切る演出 */
.pricingCardPlatinum .pricingCardHeader::before {
	position: absolute;
	top: -70%;
	left: -45%;

	width: 38%;
	height: 240%;

	content: "";
	pointer-events: none;

	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(255, 255, 255, 0.55),
			transparent
		);

	transform: rotate(22deg);
	animation: platinumShine 4.5s ease-in-out infinite;
}

/* 小さな輝き */
.pricingCardPlatinum::before,
.pricingCardPlatinum::after {
	position: absolute;
	z-index: 3;

	color: #fff;
	pointer-events: none;

	text-shadow:
		0 0 4px #fff,
		0 0 10px rgba(210, 225, 255, 0.9);

	content: "✦";
	animation: platinumSparkle 2.4s ease-in-out infinite;
}

.pricingCardPlatinum::before {
	top: 18px;
	right: 19px;
	font-size: 17px;
}

.pricingCardPlatinum::after {
	top: 58px;
	left: 17px;
	font-size: 10px;
	animation-delay: 1.1s;
}

/* 料金をプラチナ色に */
.pricingCardPlatinum .pricingCardPrice,
.pricingCardPlatinum .pricingCardPrice strong,
.pricingCardPlatinum .pricingCardPrice span,
.pricingCardPlatinum .pricingCardPrice small,
.pricingCardPlatinum .pricingCardPrice em {
	color: #e2e6ee !important;

	text-shadow:
		0 0 9px rgba(218, 227, 242, 0.28);
}

/* 取り消し線の旧料金は白 */
.pricingCardPlatinum .pricingCardPrice del,
.pricingCardPlatinum .pricingCardPrice del * {
	color: #fff !important;
	text-shadow: none !important;
}

/* アニメーション */
@keyframes platinumShine {
	0% {
		left: -45%;
		opacity: 0;
	}

	15% {
		opacity: 0.8;
	}

	45% {
		left: 115%;
		opacity: 0;
	}

	100% {
		left: 115%;
		opacity: 0;
	}
}

@keyframes platinumSparkle {
	0%,
	100% {
		opacity: 0.25;
		transform: scale(0.75) rotate(0deg);
	}

	50% {
		opacity: 1;
		transform: scale(1.25) rotate(90deg);
	}
}

/* ==================================================
   基本プラン4枚の大きさを揃える
================================================== */
@media screen and (min-width: 768px) {

	.pricingCardsBasic {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 28px !important;
		align-items: stretch !important;
	}

	.pricingCardsBasic .pricingCard {
		width: 100% !important;
		height: 100% !important;
		min-height: 650px !important;
		display: flex !important;
		flex-direction: column !important;
	}

	/* タイトル部分の高さを統一 */
	.pricingCardsBasic .pricingCardHeader {
		min-height: 155px !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
	}

	/* 金額エリアの高さを統一 */
	.pricingCardsBasic .pricingCardPrice {
		min-height: 170px !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
	}

	/* 詳細エリアを下まで伸ばす */
	.pricingCardsBasic .pricingCardDetails {
		flex: 1 1 auto !important;
	}

	/* シルバーだけズレるのを防ぐ */
	.pricingCardSilver {
		margin-top: 0 !important;
		transform: none !important;
	}
}

/* 8,000円セルを基準にする */
.tourProTable .memberPrice1h {
	position: relative;
	overflow: visible !important;
}

/* 吹き出し本体 */
.tourProTable .memberPrice1h::before {
	content: "相場15,000円以上のところ、破格でご提供！！";
	position: absolute;
	left: 50%;
	bottom: calc(100% - 5px);
	z-index: 10;

	display: block;
	width: max-content;
	max-width: 340px;
	padding: 11px 22px;

	border-radius: 999px;
	background: linear-gradient(
		135deg,
		#c49425 0%,
		#c2c7cc 50%,
		#656c73 100%
	);

	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25);

	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
	text-align: center;
	white-space: nowrap;

	transform: translateX(-50%);
}

/* 三角 */
.tourProTable .memberPrice1h::after {
	content: "";
	position: absolute;
	left: 50%;
	top: -5px;
	z-index: 11;

	width: 0;
	height: 0;

	border-top: 10px solid #9299a1;
	border-right: 9px solid transparent;
	border-left: 9px solid transparent;

	transform: translateX(-50%);
}

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

	.tourProTable .memberPrice1h::before {
		bottom: calc(100% - 2px);
		width: 170px;
		max-width: 170px;
		padding: 7px 8px;
		border-radius: 8px;

		font-size: 9px;
		line-height: 1.4;
		white-space: normal;
	}

	.tourProTable .memberPrice1h::after {
		top: -2px;
		border-top-width: 7px;
		border-right-width: 6px;
		border-left-width: 6px;
	}
}

/* ==================================================
   レッスン料金表
   スマホ時の横スクロールを防止
================================================== */
@media screen and (max-width: 767px) {

	/* 通常料金表だけ対象 */
	.tourProSection:first-of-type .tourProTableWrap {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	.tourProSection:first-of-type .tourProTable {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		table-layout: fixed !important;
		border-collapse: collapse !important;
	}

	/* 3列を画面内に配分 */
	.tourProSection:first-of-type .tourProTable th:first-child {
		width: 40% !important;
	}

	.tourProSection:first-of-type .tourProTable th:nth-child(2),
	.tourProSection:first-of-type .tourProTable th:nth-child(3) {
		width: 30% !important;
	}

	/* 見出し */
	.tourProSection:first-of-type .tourProTable thead th {
		padding: 10px 2px !important;
		font-size: 12px !important;
		line-height: 1.3 !important;
		letter-spacing: 0 !important;
		text-align: center !important;
		white-space: nowrap !important;
	}

	/* 本文セル */
	.tourProSection:first-of-type .tourProTable tbody th,
	.tourProSection:first-of-type .tourProTable tbody td {
		padding: 12px 2px !important;
		font-size: 12px !important;
		line-height: 1.4 !important;
		letter-spacing: 0 !important;
		text-align: center !important;
		vertical-align: middle !important;
		white-space: nowrap !important;
		word-break: keep-all !important;
	}

	/* 非会員様だけ改行可能 */
	.tourProSection:first-of-type .tourProTable .is-visitor th {
		font-size: 10px !important;
		white-space: normal !important;
		line-height: 1.35 !important;
	}

	/* 法人会員 */
	.tourProSection:first-of-type .tourProTable .is-corporate th,
	.tourProSection:first-of-type .tourProTable .is-corporate td {
		font-size: 11px !important;
	}

	/* 吹き出しが画面外へ出ないようにする */
	.tourProTable .memberPrice1h::before {
		left: 50% !important;
		bottom: calc(100% - 2px) !important;
		width: 145px !important;
		max-width: 145px !important;
		padding: 6px 7px !important;
		border-radius: 7px !important;
		font-size: 8px !important;
		line-height: 1.35 !important;
		white-space: normal !important;
		text-align: center !important;
		transform: translateX(-50%) !important;
	}

	.tourProTable .memberPrice1h::after {
		top: -2px !important;
		border-top-width: 7px !important;
		border-right-width: 6px !important;
		border-left-width: 6px !important;
	}
}

/* ==================================================
   特別料金
   スマホ時も1行で表示
================================================== */
@media screen and (max-width: 767px) {

	.tourProSpecial ul li {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex-wrap: nowrap !important;
		gap: 4px !important;

		width: 100% !important;
		white-space: nowrap !important;
	}

	.tourProSpecial ul li strong,
	.tourProSpecial ul li span {
		display: inline !important;
		width: auto !important;
		margin: 0 !important;
		white-space: nowrap !important;
	}

	.tourProSpecial ul li strong {
		flex: 0 0 auto !important;
	}

	.tourProSpecial ul li span {
		flex: 0 1 auto !important;
	}

	/* 画面内に収める */
	.tourProSpecial ul li {
		font-size: 11px !important;
		letter-spacing: 0 !important;
		line-height: 1.5 !important;
	}
}

/* ==================================================
   ラウンドレッスン料金表
   スマホ時の横スクロールを防止
================================================== */
@media screen and (max-width: 767px) {

	.tourProRound .tourProTableWrap {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	.tourProRoundTable {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		table-layout: fixed !important;
		border-collapse: collapse !important;
	}

	/* 3列の幅 */
	.tourProRoundTable th:first-child {
		width: 25% !important;
	}

	.tourProRoundTable th:nth-child(2) {
		width: 25% !important;
	}

	.tourProRoundTable th:nth-child(3) {
		width: 50% !important;
	}

	/* 見出し */
	.tourProRoundTable thead th {
		padding: 10px 3px !important;
		font-size: 11px !important;
		line-height: 1.3 !important;
		letter-spacing: 0 !important;
		text-align: center !important;
		white-space: nowrap !important;
	}

	/* 本文セル */
	.tourProRoundTable tbody th,
	.tourProRoundTable tbody td {
		padding: 12px 4px !important;
		font-size: 11px !important;
		line-height: 1.45 !important;
		letter-spacing: 0 !important;
		text-align: center !important;
		vertical-align: middle !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
	}

	/* 1組・2組 */
	.tourProRoundTable tbody th strong {
		display: block !important;
		font-size: 15px !important;
		line-height: 1.3 !important;
		white-space: nowrap !important;
	}

	/* 最大人数など */
	.tourProRoundTable tbody th small {
		display: block !important;
		margin-top: 4px !important;
		font-size: 9px !important;
		line-height: 1.4 !important;
	}

	/* 金額 */
	.tourProRoundTable tbody td:nth-child(2) {
		font-size: 13px !important;
		font-weight: 700 !important;
		white-space: nowrap !important;
	}

	/* 補足欄 */
	.tourProRoundTable tbody td:nth-child(3) {
		font-size: 9px !important;
		line-height: 1.5 !important;
		text-align: left !important;
	}
}

/* ==================================================
   スマホ時 SNSアイコン調整
================================================== */
@media screen and (max-width: 767px) {

	/* ヘッダー右上のSNSアイコンを非表示 */
	.header .headerNav > div > ol {
		display: none !important;
	}

	/* フッターのSNSアイコンは表示 */
	.footer .footerNav > dd > ol {
		display: flex !important;
		justify-content: center !important;
		margin-top: 22px !important;
		margin-left: 0 !important;
	}

	/* フッターSNSアイコンをモノクロ化 */
	.footer .footerNav > dd > ol > li > a img {
		filter: grayscale(100%) brightness(0.75) contrast(0.9) !important;
		opacity: 0.8 !important;
	}

	.footer .footerNav > dd > ol > li > a {
		opacity: 1 !important;
	}

	.footer .footerNav > dd > ol > li:not(:first-child) {
		margin-left: 18px !important;
	}
}

/* ==================================================
   TOP メインビジュアル
================================================== */
.topMv {
	position: relative;
	width: 100%;
	height: 760px;
	overflow: hidden;
	background: #000;
}

/* 背景 */
.topMvSlider {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.topMvSlide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;

	opacity: 0;
	visibility: hidden;

	transition:
		opacity 1.8s ease,
		visibility 1.8s ease;
}

.topMvSlide.is-active {
	opacity: 1;
	visibility: visible;
}

.topMvSlide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

/* テキストレイヤー */
.topMvOverlay {
	position: absolute;
	inset: 0;
	z-index: 3;

	display: flex;
	align-items: center;

	background:
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.92) 0%,
			rgba(0, 0, 0, 0.74) 34%,
			rgba(0, 0, 0, 0.25) 68%,
			rgba(0, 0, 0, 0.02) 100%
		);
}

.topMvContent {
	width: 100%;
	padding-right: 40px;
	padding-left: 70px;
	color: #fff;
	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		YuMincho,
		serif;
}

/* タイトル */
.topMvTitle {
	margin: 0;
	color: #fff;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.08em;
	text-shadow: 0 3px 15px rgba(0, 0, 0, 0.8);
}

.topMvTitleLine {
	display: block;
	font-size: clamp(32px, 3vw, 56px);
}

.topMvCross {
	display: block;
	margin: 13px 0;
	font-size: 25px;
	font-weight: 400;
}

.topMvTitleLast {
	margin-top: 4px;
}

/* ポイント */
.topMvPoints {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 310px;
	margin-top: 35px;
}

.topMvPoints li {
	display: flex;
	align-items: center;
	justify-content: center;

	min-height: 52px;
	padding: 9px 15px;

	border: 1px solid #c2c7cc;
	background: rgba(0, 0, 0, 0.48);

	color: #fff;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
}

/* ドット */
.topMvDots {
	position: absolute;
	right: 38px;
	bottom: 24px;
	z-index: 5;

	display: flex;
	gap: 9px;
}

.topMvDots button {
	width: 34px;
	height: 4px;
	padding: 0;
	border: 0;
	background: rgba(255, 255, 255, 0.4);
}

.topMvDots button.is-active {
	background: #c2c7cc;
}


/* ==================================================
   スマホ固定パネル
================================================== */
.spFixedPanel {
	display: none;
}


/* ==================================================
   スマートフォン
================================================== */
@media screen and (max-width: 767px) {

	:root {
		--sp-fixed-diagnosis-height: 86px;
		--sp-fixed-nav-height: 78px;
		--sp-fixed-total-height: 164px;
	}

	/* ページ下部が固定パネルに隠れないようにする */
	body {
		padding-bottom: var(--sp-fixed-total-height);
		background: #000;
	}

	/* メインビジュアル */
	.topMv {
		width: 100%;
		height: calc(100svh - 92px);
		min-height: 700px;
		max-height: 950px;
		overflow: hidden;
	}

	.topMvSlider,
	.topMvSlide {
		width: 100%;
		height: 100%;
	}

	/* 写真を右側中心に表示 */
	.topMvSlide img {
		width: 100%;
		height: 100%;

		object-fit: cover;
		object-position: 64% center;

		filter:
			brightness(0.92)
			contrast(1.06)
			saturate(0.92);
	}

	/* 左側を黒くする */
	.topMvOverlay {
		align-items: flex-start;

		padding:
			clamp(105px, 17vh, 165px)
			0
			calc(var(--sp-fixed-total-height) + 20px);

		background:
			linear-gradient(
				90deg,
				rgba(0, 0, 0, 0.98) 0%,
				rgba(0, 0, 0, 0.92) 26%,
				rgba(0, 0, 0, 0.62) 50%,
				rgba(0, 0, 0, 0.15) 78%,
				rgba(0, 0, 0, 0.02) 100%
			),
			linear-gradient(
				180deg,
				rgba(0, 0, 0, 0.05) 0%,
				rgba(0, 0, 0, 0.08) 62%,
				rgba(0, 0, 0, 0.72) 100%
			);
	}

	.topMvContent {
		width: 100%;
		padding: 0 20px 0 24px;
	}

	/* タイトル */
	.topMvTitle {
		width: 100%;
		max-width: 360px;

		font-weight: 500;
		line-height: 1.55;
		letter-spacing: 0.035em;
	}

	.topMvTitleLine {
		font-size: clamp(24px, 7vw, 33px);
		white-space: nowrap;
	}

	.topMvTitleLine:nth-of-type(2) {
		margin-top: 2px;
	}

	.topMvCross {
		margin: 17px 0;
		padding-left: 70px;

		font-size: 20px;
		line-height: 1;
	}

	.topMvTitleLast {
		margin-top: 4px;
		font-size: clamp(23px, 6.6vw, 31px);
	}

	/* 訴求3項目 */
	.topMvPoints {
		gap: 9px;

		width: min(64vw, 270px);
		margin-top: 30px;
	}

	.topMvPoints li {
		width: 100%;
		min-height: 48px;
		padding: 7px 8px;

		border: 1px solid rgba(207, 174, 75, 0.95);
		background: rgba(0, 0, 0, 0.57);

		font-size: clamp(13px, 3.8vw, 16px);
		font-weight: 500;
		line-height: 1.35;
		letter-spacing: 0.02em;

		backdrop-filter: blur(2px);
	}

	/* スライドドットはスマホでは非表示 */
	.topMvDots {
		display: none;
	}


	/* ==================================================
	   固定パネル
	================================================== */
	.spFixedPanel {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 9999;

		display: block;
		width: 100%;

		background: #050705;
		box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.52);
	}

	/* スイング診断 */
	.spFixedDiagnosis,
	.spFixedDiagnosis:link,
	.spFixedDiagnosis:visited {
		display: grid;
		grid-template-columns: 74px minmax(0, 1fr) 105px;
		align-items: stretch;

		width: calc(100% - 14px);
		height: var(--sp-fixed-diagnosis-height);
		margin: 7px;

		overflow: hidden;

		border: 1px solid #9299a1;
		background:
			linear-gradient(
				110deg,
				#061408 0%,
				#0a2c12 52%,
				#10451c 100%
			);

		color: #fff;
		text-decoration: none;
	}

	.spFixedDiagnosisFree {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;

		border-right: 1px solid rgba(201, 167, 76, 0.68);
		background: rgba(0, 0, 0, 0.32);

		color: #c2c7cc;
		font-family:
			"Shippori Mincho",
			"Yu Mincho",
			serif;
		line-height: 1.05;
	}

	.spFixedDiagnosisFree span {
		font-size: 13px;
	}

	.spFixedDiagnosisFree strong {
		margin-top: 5px;
		font-size: 24px;
		font-weight: 500;
	}

	.spFixedDiagnosisMain {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;

		min-width: 0;
		padding: 7px 4px;
		text-align: center;
	}

	.spFixedDiagnosisMain span {
		color: #eee8d8;
		font-size: 12px;
		font-weight: 500;
		line-height: 1.25;
		letter-spacing: 0.05em;
	}

	.spFixedDiagnosisMain strong {
		margin-top: 5px;

		color: #c2c7cc;
		font-family:
			"Shippori Mincho",
			"Yu Mincho",
			serif;
		font-size: clamp(20px, 5.7vw, 26px);
		font-weight: 500;
		line-height: 1.15;
		letter-spacing: 0.035em;
		white-space: nowrap;
	}

	.spFixedDiagnosisButton {
		align-self: center;

		display: flex;
		align-items: center;
		justify-content: center;
		gap: 5px;

		height: 45px;
		margin-right: 10px;

		border: 1px solid rgba(255, 234, 174, 0.72);
		background:
			linear-gradient(
				135deg,
				#9299a1,
				#c2c7cc 53%,
				#9299a1
			);

		color: #0f1114;
		font-size: 12px;
		font-weight: 700;
		line-height: 1;
		white-space: nowrap;

		box-shadow:
			0 5px 13px rgba(0, 0, 0, 0.32),
			inset 0 1px rgba(255, 255, 255, 0.32);
	}

	.spFixedDiagnosisButton i {
		font-size: 22px;
		font-weight: 400;
		line-height: 1;
	}

	/* 店舗案内・LINE */
	.spFixedNav {
		display: grid;
		grid-template-columns: 1fr 1fr;

		width: 100%;
		height: var(--sp-fixed-nav-height);

		border-top: 1px solid rgba(201, 167, 76, 0.42);
	}

	.spFixedNav > a,
	.spFixedNav > a:link,
	.spFixedNav > a:visited {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;

		min-width: 0;

		color: #fff;
		font-size: 14px;
		font-weight: 600;
		line-height: 1;
		letter-spacing: 0.02em;
		text-decoration: none;
	}

	.spFixedNav > a:first-child {
		background:
			linear-gradient(
				180deg,
				#111 0%,
				#050505 100%
			);
	}

	.spFixedNav > a + a {
		border-left: 1px solid rgba(255, 255, 255, 0.24);
	}

	.spFixedNav > a.spFixedLine {
		background:
			linear-gradient(
				135deg,
				#087d31 0%,
				#0aa342 100%
			);
	}

	.spFixedNavIcon {
		display: block;
		flex: 0 0 auto;
		width: 30px;
		height: 30px;
	}

	.spFixedNavIcon svg {
		display: block;
		width: 100%;
		height: 100%;

		fill: none;
		stroke: currentColor;
		stroke-width: 2;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	/* 以前の固定CTAを完全に非表示 */
	.diagnosisMo {
		display: none !important;
	}

	/* フッターの固定CTA分余白 */
	.footer {
		padding-bottom: 0 !important;
	}
}


/* 小さいスマホ */
@media screen and (max-width: 374px) {

	.topMvContent {
		padding-left: 18px;
	}

	.topMvTitleLine {
		font-size: 22px;
	}

	.topMvTitleLast {
		font-size: 21px;
	}

	.topMvPoints {
		width: 245px;
	}

	.topMvPoints li {
		min-height: 44px;
		font-size: 12px;
	}

	.spFixedDiagnosis,
	.spFixedDiagnosis:link,
	.spFixedDiagnosis:visited {
		grid-template-columns: 64px minmax(0, 1fr) 92px;
	}

	.spFixedDiagnosisFree strong {
		font-size: 21px;
	}

	.spFixedDiagnosisMain span {
		font-size: 10px;
	}

	.spFixedDiagnosisMain strong {
		font-size: 19px;
	}

	.spFixedDiagnosisButton {
		margin-right: 7px;
		font-size: 10px;
	}

	.spFixedNav > a {
		gap: 7px !important;
		font-size: 12px !important;
	}

	.spFixedNavIcon {
		width: 26px;
		height: 26px;
	}
}

/* ==================================================
   スマホTOPメインビジュアル
   ラフデザイン再現
================================================== */
@media screen and (max-width: 767px) {

	:root {
		--sp-header-height: 92px;
		--sp-cta-height: 102px;
	}

	html,
	body {
		overflow-x: hidden !important;
	}

	body {
		padding-bottom: var(--sp-cta-height) !important;
		background: #000 !important;
	}

	/* ヘッダー */
	.header {
		position: relative;
		z-index: 20;
		min-height: var(--sp-header-height);
		padding: 20px 18px !important;
		background: #000 !important;
	}

	.header .headerNav {
		min-height: 52px;
	}

	/* 右上SNSを非表示 */
	.header .headerNav > div > ol {
		display: none !important;
	}

	/* メインビジュアル */
	.topMv {
		position: relative !important;
		width: 100% !important;

		/*
		 ヘッダー下から固定CTA直前まで見せる
	*/
		height: calc(100svh - var(--sp-header-height)) !important;
		min-height: 700px !important;
		max-height: 900px !important;

		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		background: #000 !important;
	}

	.topMvSlider,
	.topMvSlide {
		position: absolute !important;
		inset: 0 !important;

		width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
	}

	.topMvSlide {
		opacity: 0;
		visibility: hidden;
		transition:
			opacity 1.5s ease,
			visibility 1.5s ease;
	}

	.topMvSlide.is-active {
		opacity: 1;
		visibility: visible;
	}

	/* 写真を右側中心に表示 */
	.topMvSlide img {
		display: block !important;

		width: 100% !important;
		height: 100% !important;
		max-width: none !important;

		object-fit: cover !important;
		object-position: 68% center !important;

		filter:
			brightness(0.9)
			contrast(1.06)
			saturate(0.95);
	}

	/* 左側に黒いグラデーション */
	.topMvOverlay {
		position: absolute !important;
		inset: 0 !important;
		z-index: 3 !important;

		display: flex !important;
		align-items: center !important;

		width: 100% !important;
		height: 100% !important;

		padding:
			30px
			0
			calc(var(--sp-cta-height) + 22px) !important;

		background:
			linear-gradient(
				90deg,
				rgba(0, 0, 0, 0.99) 0%,
				rgba(0, 0, 0, 0.94) 23%,
				rgba(0, 0, 0, 0.74) 44%,
				rgba(0, 0, 0, 0.28) 72%,
				rgba(0, 0, 0, 0.04) 100%
			),
			linear-gradient(
				180deg,
				rgba(0, 0, 0, 0.05) 0%,
				rgba(0, 0, 0, 0.02) 65%,
				rgba(0, 0, 0, 0.68) 100%
			) !important;
	}

	.topMvContent {
		position: relative !important;
		z-index: 4 !important;

		width: 100% !important;
		max-width: none !important;

		padding:
			0
			18px
			0
			26px !important;

		color: #fff !important;
		text-align: left !important;
	}

	/* タイトル */
	.topMvTitle {
		width: 100% !important;
		max-width: 390px !important;

		margin: 0 !important;

		color: #fff !important;
		font-family:
			"Shippori Mincho",
			"Yu Mincho",
			YuMincho,
			serif !important;

		font-weight: 400 !important;
		line-height: 1.55 !important;
		letter-spacing: 0.025em !important;
		text-align: left !important;

		text-shadow:
			0 2px 4px rgba(0, 0, 0, 0.85),
			0 0 15px rgba(0, 0, 0, 0.5) !important;
	}

	.topMvTitleLine {
		display: block !important;

		margin: 0 !important;

		font-size: clamp(25px, 7vw, 32px) !important;
		line-height: 1.55 !important;
		white-space: nowrap !important;
	}

	.topMvTitleLine:nth-of-type(2) {
		margin-top: 2px !important;
	}

	.topMvCross {
		display: block !important;

		margin: 16px 0 17px 75px !important;

		font-size: 21px !important;
		font-weight: 300 !important;
		line-height: 1 !important;
	}

	.topMvTitleLast {
		margin-top: 1px !important;
	}

	/* 3つの訴求 */
	.topMvPoints {
		display: flex !important;
		flex-direction: column !important;
		gap: 9px !important;

		width: min(64vw, 270px) !important;
		margin: 29px 0 0 !important;
		padding: 0 !important;
	}

	.topMvPoints li {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 100% !important;
		min-height: 47px !important;
		margin: 0 !important;
		padding: 7px 8px !important;

		border: 1px solid #c2c7cc !important;
		background: rgba(0, 0, 0, 0.56) !important;

		color: #fff !important;
		font-family:
			"Shippori Mincho",
			"Yu Mincho",
			YuMincho,
			serif !important;

		font-size: clamp(13px, 3.7vw, 16px) !important;
		font-weight: 400 !important;
		line-height: 1.35 !important;
		letter-spacing: 0.015em !important;
		text-align: center !important;

		backdrop-filter: blur(2px);
	}

	.topMvDots {
		display: none !important;
	}


	/* ==================================================
	   固定CTA
	================================================== */
	.spFixedPanel {
		position: fixed !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		z-index: 99999 !important;

		display: block !important;

		width: 100% !important;
		height: var(--sp-cta-height) !important;

		padding: 7px !important;

		background: rgba(2, 5, 3, 0.98) !important;
		border-top: 1px solid rgba(197, 157, 55, 0.75) !important;

		box-shadow: 0 -12px 32px rgba(0, 0, 0, 0.52) !important;
	}

	.spFixedDiagnosis,
	.spFixedDiagnosis:link,
	.spFixedDiagnosis:visited {
		display: grid !important;
		grid-template-columns:
			76px
			minmax(0, 1fr)
			108px !important;
		align-items: stretch !important;

		width: 100% !important;
		height: 88px !important;
		margin: 0 !important;

		overflow: hidden !important;

		border: 1px solid #9299a1 !important;

		background:
			linear-gradient(
				110deg,
				#041007 0%,
				#082510 49%,
				#0d3d18 100%
			) !important;

		color: #fff !important;
		text-decoration: none !important;
	}

	/* 初回無料 */
	.spFixedDiagnosisFree {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;

		height: 100% !important;

		border-right: 1px solid rgba(203, 165, 67, 0.67) !important;
		background: rgba(0, 0, 0, 0.3) !important;

		color: #c2c7cc !important;
		font-family:
			"Shippori Mincho",
			"Yu Mincho",
			serif !important;

		line-height: 1.05 !important;
	}

	.spFixedDiagnosisFree span {
		margin: 0 !important;
		color: inherit !important;
		font-size: 13px !important;
	}

	.spFixedDiagnosisFree strong {
		margin: 5px 0 0 !important;
		color: inherit !important;
		font-size: 24px !important;
		font-weight: 500 !important;
	}

	/* 中央文字 */
	.spFixedDiagnosisMain {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;

		min-width: 0 !important;
		padding: 5px 4px !important;

		text-align: center !important;
	}

	.spFixedDiagnosisMain span {
		margin: 0 !important;

		color: #eee8da !important;
		font-size: 12px !important;
		font-weight: 500 !important;
		line-height: 1.2 !important;
		letter-spacing: 0.04em !important;
		white-space: nowrap !important;
	}

	.spFixedDiagnosisMain strong {
		margin: 5px 0 0 !important;

		color: #c2c7cc !important;
		font-family:
			"Shippori Mincho",
			"Yu Mincho",
			serif !important;

		font-size: clamp(20px, 5.7vw, 26px) !important;
		font-weight: 500 !important;
		line-height: 1.1 !important;
		letter-spacing: 0.025em !important;
		white-space: nowrap !important;
	}

	/* WEB予約 */
	.spFixedDiagnosisButton {
		align-self: center !important;

		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 5px !important;

		height: 46px !important;
		margin-right: 10px !important;
		padding: 0 8px !important;

		border: 1px solid rgba(255, 235, 175, 0.78) !important;

		background:
			linear-gradient(
				135deg,
				#9299a1 0%,
				#c2c7cc 52%,
				#656c73 100%
			) !important;

		color: #0f1114 !important;
		font-size: 12px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
		letter-spacing: 0 !important;
		white-space: nowrap !important;

		box-shadow:
			0 4px 12px rgba(0, 0, 0, 0.32),
			inset 0 1px 0 rgba(255, 255, 255, 0.34) !important;
	}

	.spFixedDiagnosisButton i {
		font-size: 21px !important;
		font-weight: 400 !important;
		line-height: 1 !important;
	}

	/* 下部2メニューを非表示 */
	.spFixedNav {
		display: none !important;
	}

	/* 古い固定バナーを非表示 */
	.diagnosisMo {
		display: none !important;
	}

	.footer {
		padding-bottom: 0 !important;
	}
}


/* 375px以下 */
@media screen and (max-width: 375px) {

	.topMvContent {
		padding-left: 19px !important;
	}

	.topMvTitleLine {
		font-size: 22px !important;
	}

	.topMvCross {
		margin-left: 63px !important;
	}

	.topMvPoints {
		width: 245px !important;
	}

	.topMvPoints li {
		min-height: 43px !important;
		font-size: 12px !important;
	}

	.spFixedDiagnosis,
	.spFixedDiagnosis:link,
	.spFixedDiagnosis:visited {
		grid-template-columns:
			66px
			minmax(0, 1fr)
			94px !important;
	}

	.spFixedDiagnosisFree strong {
		font-size: 21px !important;
	}

	.spFixedDiagnosisMain span {
		font-size: 10px !important;
	}

	.spFixedDiagnosisMain strong {
		font-size: 19px !important;
	}

	.spFixedDiagnosisButton {
		margin-right: 7px !important;
		padding: 0 5px !important;
		font-size: 10px !important;
	}
}

/* ==================================================
   TOPメインビジュアル 修正版
================================================== */

/* ---------- PC / 共通 ---------- */
.topMv {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #000;
}

.topMvSlider {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.topMvSlide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1.4s ease, visibility 1.4s ease;
}

.topMvSlide.is-active {
	opacity: 1;
	visibility: visible;
}

.topMvSlide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.topMvOverlay {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	background: linear-gradient(
		90deg,
		rgba(0, 0, 0, 0.92) 0%,
		rgba(0, 0, 0, 0.72) 35%,
		rgba(0, 0, 0, 0.20) 70%,
		rgba(0, 0, 0, 0.03) 100%
	);
}

.topMvContent {
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 40px;
	color: #fff;
}

.topMvTitle {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: fit-content;
	margin: 0;
	color: #fff;
	font-family: "Shippori Mincho", "Yu Mincho", YuMincho, serif;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.75);
}

.topMvTitleLine {
	display: block;
	font-size: clamp(38px, 3.3vw, 64px);
}

.topMvCross {
	align-self: center;
	display: block;
	margin: 16px 0;
	padding: 0 !important;
	font-size: 28px;
	line-height: 1;
	text-align: center;
}

.topMvPoints {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 330px;
	margin: 34px 0 0;
	padding: 0;
}

.topMvPoints li {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 10px 14px;
	border: 1px solid #c2c7cc;
	background: rgba(0, 0, 0, 0.45);
	color: #fff;
	font-family: "Shippori Mincho", "Yu Mincho", YuMincho, serif;
	font-size: 18px;
	line-height: 1.4;
	text-align: center;
}

/* PC時の高さ */
@media screen and (min-width: 768px) {
	.topMv {
		height: 690px;
	}

	.topMvSlide img {
		object-position: 65% center;
	}

	.topMvContent {
		padding-left: 90px;
	}
}

/* ---------- スマホ ---------- */
@media screen and (max-width: 767px) {

	:root {
		--sp-header-height: 92px;
		--sp-cta-height: 104px;
	}

	body {
		padding-bottom: var(--sp-cta-height) !important;
	}

	.topMv {
		height: calc(100svh - var(--sp-header-height));
		min-height: 760px;
		background: #000;
	}

	.topMvSlide img {
		object-position: 68% center !important;
		filter: brightness(0.92) contrast(1.05);
	}

	.topMvOverlay {
		align-items: flex-start;
		padding: 118px 0 calc(var(--sp-cta-height) + 48px);
		background:
			linear-gradient(
				90deg,
				rgba(0, 0, 0, 0.98) 0%,
				rgba(0, 0, 0, 0.90) 24%,
				rgba(0, 0, 0, 0.66) 48%,
				rgba(0, 0, 0, 0.22) 74%,
				rgba(0, 0, 0, 0.03) 100%
			),
			linear-gradient(
				180deg,
				rgba(0, 0, 0, 0.02) 0%,
				rgba(0, 0, 0, 0.06) 70%,
				rgba(0, 0, 0, 0.62) 100%
			);
	}

	.topMvContent {
		padding: 0 20px 0 24px;
	}

	.topMvTitle {
		max-width: 100%;
	}

	.topMvTitleLine {
		font-size: clamp(23px, 7vw, 34px);
		line-height: 1.5;
		white-space: nowrap;
	}

	.topMvCross {
		margin: 14px 0;
		font-size: 22px;
	}

	.topMvPoints {
		width: min(72vw, 290px);
		gap: 8px;
		margin-top: 26px;
	}

	.topMvPoints li {
		min-height: 46px;
		padding: 8px 10px;
		font-size: clamp(13px, 3.8vw, 16px);
		line-height: 1.35;
	}

	/* 念のため旧固定バナー非表示 */
	.diagnosisMo {
		display: none !important;
	}
}

/* 超小さい端末 */
@media screen and (max-width: 375px) {

	.topMv {
		min-height: 780px;
	}

	.topMvTitleLine {
		font-size: 22px;
	}

	.topMvCross {
		font-size: 20px;
		margin: 12px 0;
	}

	.topMvPoints {
		width: 100%;
		max-width: 270px;
		margin-top: 22px;
	}

	.topMvPoints li {
		min-height: 44px;
		font-size: 12px;
	}
}

@media screen and (max-width: 767px) {
	.spFixedPanel {
		height: 98px !important;
		padding: 6px !important;
	}

	.spFixedDiagnosis,
	.spFixedDiagnosis:link,
	.spFixedDiagnosis:visited {
		height: 84px !important;
	}

	.spFixedDiagnosisMain strong {
		font-size: clamp(18px, 5.6vw, 24px) !important;
	}
}

/* スマホ時：メインビジュアル内のテキストを上へ調整 */
@media screen and (max-width: 767px) {

	.topMvOverlay {
		padding-top: 92px !important;
		padding-bottom: 165px !important;
	}

	.topMvPoints {
		margin-top: 20px !important;
		gap: 7px !important;
	}

	.topMvPoints li {
		min-height: 42px !important;
		padding: 6px 8px !important;
	}

	.topMvCross {
		margin-top: 10px !important;
		margin-bottom: 10px !important;
	}
}

/* =========================================
   TOP MV 微調整
   ・×を中央
   ・スマホ時に画像の左側をもっと表示
========================================= */

/* × を上下テキストの中央にそろえる */
.topMvTitle {
	width: fit-content !important;
}

.topMvCross {
	display: block !important;
	width: 100% !important;
	margin: 12px 0 !important;
	padding: 0 !important;
	text-align: center !important;
	align-self: stretch !important;
	line-height: 1 !important;
	transform: none !important;
	left: auto !important;
}

/* スマホ時：画像の左側をもっと見せる */
@media screen and (max-width: 767px) {

	.topMvSlide img {
		object-position: 58% center !important;
	}

	/* 左の黒が強すぎる場合は少しだけ弱める */
	.topMvOverlay {
		background:
			linear-gradient(
				90deg,
				rgba(0, 0, 0, 0.82) 0%,
				rgba(0, 0, 0, 0.66) 24%,
				rgba(0, 0, 0, 0.36) 48%,
				rgba(0, 0, 0, 0.10) 74%,
				rgba(0, 0, 0, 0.02) 100%
			),
			linear-gradient(
				180deg,
				rgba(0, 0, 0, 0.02) 0%,
				rgba(0, 0, 0, 0.06) 70%,
				rgba(0, 0, 0, 0.50) 100%
			) !important;
	}
}

/* =========================================
   TOP MV 訴求3項目
   PCは横並び、スマホは縦並び
========================================= */

/* PC */
@media screen and (min-width: 768px) {

	.topMvPoints {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 14px !important;

		width: 760px !important;
		max-width: 100% !important;
		margin-top: 34px !important;
	}

	.topMvPoints li {
		width: 100% !important;
		min-height: 56px !important;
		margin: 0 !important;
		padding: 10px 12px !important;

		font-size: 15px !important;
		line-height: 1.4 !important;
		white-space: nowrap !important;
	}
}

/* スマホは縦並びを維持 */
@media screen and (max-width: 767px) {

	.topMvPoints {
		display: flex !important;
		flex-direction: column !important;
		width: min(72vw, 290px) !important;
	}

	.topMvPoints li {
		width: 100% !important;
		white-space: normal !important;
	}
}

/* =========================================
   スマホMV テキスト全体の上下バランス調整
========================================= */
@media screen and (max-width: 767px) {

	/* MV内の内容全体を上へ移動 */
	.topMvOverlay {
		display: flex !important;
		align-items: flex-start !important;

		/* 上下の余白をそろえる */
		padding-top: 72px !important;
		padding-bottom: 145px !important;
	}

	.topMvContent {
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;

		width: 100% !important;
		height: 100% !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	/* 見出しと3つの枠を少し詰める */
	.topMvCross {
		margin-top: 10px !important;
		margin-bottom: 10px !important;
	}

	.topMvPoints {
		margin-top: 20px !important;
		gap: 7px !important;
	}

	.topMvPoints li {
		min-height: 43px !important;
		padding-top: 6px !important;
		padding-bottom: 6px !important;
	}
}

/* ==================================================
   スマホ時：料金表の吹き出し調整
================================================== */
@media screen and (max-width: 767px) {

	/* 吹き出しを表示する基準 */
	.tourProTable .memberPrice1h {
		position: relative !important;
		overflow: visible !important;
	}

	/* 吹き出し本体 */
	.tourProTable .memberPrice1h::before {
		content: "相場15,000円以上のところ、破格でご提供！！";

		position: absolute !important;
		left: 50% !important;
		top: -76px !important;
		bottom: auto !important;
		z-index: 20 !important;

		width: 245px !important;
		max-width: calc(100vw - 32px) !important;
		padding: 8px 10px !important;

		border-radius: 999px !important;
		background: linear-gradient(
			135deg,
			#c49425 0%,
			#c2c7cc 50%,
			#656c73 100%
		) !important;

		color: #fff !important;
		font-size: 10px !important;
		font-weight: 700 !important;
		line-height: 1.4 !important;
		letter-spacing: 0 !important;
		white-space: nowrap !important;
		text-align: center !important;

		box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25) !important;
		transform: translateX(-50%) !important;
	}

	/* 吹き出しの三角 */
	.tourProTable .memberPrice1h::after {
		content: "";

		position: absolute !important;
		left: 50% !important;
		top: -39px !important;
		bottom: auto !important;
		z-index: 21 !important;

		width: 0 !important;
		height: 0 !important;

		border-top: 9px solid #9299a1 !important;
		border-right: 7px solid transparent !important;
		border-left: 7px solid transparent !important;
		border-bottom: 0 !important;

		transform: translateX(-50%) !important;
	}

	/* 吹き出しを出すための上余白 */
	.tourProSection:first-of-type .tourProTableWrap {
		margin-top: 38px !important;
		overflow: visible !important;
	}
}

/* ==================================================
   TOP お知らせ：上下ラインをシルバーに変更
================================================== */
.topNews {
	border-top: 1px solid rgba(210, 215, 220, 0.55) !important;
	border-bottom: 1px solid rgba(210, 215, 220, 0.55) !important;
}

/* ==================================================
   スマホ：バナー3枚の表示サイズを統一
================================================== */
@media screen and (max-width: 767px) {

	.connection {
		padding: 36px 20px 54px !important;
		background: #050607 !important;
	}

	.connection .connectionMat {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 28px !important;

		width: 100% !important;
		max-width: 360px !important;
		margin: 0 auto !important;
		padding: 0 !important;
	}

	/* 3枚共通の表示枠 */
	.connection .connectionBanner {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 100% !important;
		max-width: 360px !important;
		height: 90px !important;
		aspect-ratio: auto !important;

		margin: 0 auto !important;
		padding: 0 !important;

		overflow: hidden !important;
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
		line-height: 0 !important;
		transform: none !important;
	}

	/* 3画像共通 */
	.connection .connectionBanner img,
	.connection .connectionContact img,
	.connection .connectionFc img,
	.connection .connectionActek img {
		display: block !important;

		width: 100% !important;
		height: 90px !important;
		max-width: none !important;

		margin: 0 !important;
		padding: 0 !important;

		object-fit: contain !important;
		object-position: center center !important;

		transform: none !important;
		filter: none !important;
	}

	/* スマホではhover移動を解除 */
	.connection .connectionBanner:hover {
		opacity: 1 !important;
		transform: none !important;
	}

}


/* ==================================================
   Tokyo Golf Range
   COLOR SYSTEM
   Deep Black / Silver Gray / Bright White
================================================== */

:root {
	--tgr-black: #0A0A0A;
	--tgr-silver: #D8D8DA;
	--tgr-white: #FAFAFA;

	--tgr-silver-70: rgba(216, 216, 218, 0.70);
	--tgr-silver-40: rgba(216, 216, 218, 0.40);
	--tgr-silver-20: rgba(216, 216, 218, 0.20);
	--tgr-silver-10: rgba(216, 216, 218, 0.10);
}


/* ==================================================
   BODY
================================================== */

html,
body {
	background: var(--tgr-black);
	color: var(--tgr-silver);
}


/* ==================================================
   HEADER
================================================== */

.header {
	background: var(--tgr-black) !important;
	border-bottom: 1px solid var(--tgr-silver-20);
}

.header .headerNav > div > ul > li > a {
	color: var(--tgr-silver) !important;
}

.header .headerNav > div > ul > li > a::after {
	background: var(--tgr-white) !important;
}


/* ドロップダウン */

.header .headerNav > div > ul > li > ol {
	background: var(--tgr-black) !important;
	border: 1px solid var(--tgr-silver-40) !important;
}

.header .headerNav > div > ul > li > ol > li {
	border-bottom: 1px solid var(--tgr-silver-20) !important;
}

.header .headerNav > div > ul > li > ol > li:last-child {
	border-bottom: 0 !important;
}

.header .headerNav > div > ul > li > ol > li > a {
	background: var(--tgr-black) !important;
}

.header .headerNav > div > ul > li > ol > li > a > h3 {
	background: transparent !important;
	border: 0 !important;
	color: var(--tgr-silver) !important;
}

.header .headerNav > div > ul > li > ol > li > a > h3::after {
	color: var(--tgr-silver) !important;
}

.header .headerNav > div > ul > li > ol > li > a:hover > h3 {
	background: var(--tgr-silver-10) !important;
	color: var(--tgr-white) !important;
}


/* ハンバーガー */

.mobile-btn > div > span {
	background: var(--tgr-white) !important;
}


/* ==================================================
   SP MENU
================================================== */

.sp-wrapper {
	background: var(--tgr-black) !important;
	border-left: 1px solid var(--tgr-silver-20);
}

.sp-wrapper > h2 {
	color: var(--tgr-white) !important;
}

.sp-wrapper > ul > li {
	border-color: var(--tgr-silver-20) !important;
}

.sp-wrapper > ul > li > a {
	color: var(--tgr-silver) !important;
}

.sp-wrapper > ul > li > a:hover,
.sp-wrapper > ul > li > a.current {
	background: var(--tgr-silver) !important;
	color: var(--tgr-black) !important;
}

.sp-wrapper > ul > li > ol {
	background: #111 !important;
}

.sp-wrapper > ul > li > ol > li {
	border-color: var(--tgr-silver-20) !important;
}

.sp-wrapper > ul > li > ol > li > a {
	color: var(--tgr-silver) !important;
}

.sp-wrapper > ul > li > ol > li > a:hover {
	background: var(--tgr-silver) !important;
	color: var(--tgr-black) !important;
}


/* ==================================================
   COMMON BUTTON
================================================== */

.more > a {
	background: var(--tgr-black) !important;
	color: var(--tgr-silver) !important;
}

.more > a > hgroup {
	border-color: var(--tgr-silver) !important;
}

.more > a:hover {
	background: var(--tgr-silver) !important;
	color: var(--tgr-black) !important;
}

.more > a:hover > hgroup {
	border-color: var(--tgr-silver) !important;
}


/* ==================================================
   CONNECTION
================================================== */

.connection {
	background: var(--tgr-black) !important;
	border-top: 1px solid var(--tgr-silver-20) !important;
}


/* バナー3枚 */

.connection .connectionBanner {
	background: var(--tgr-black) !important;
	border: 1px solid var(--tgr-silver-40) !important;

	transition:
		transform 0.3s ease,
		border-color 0.3s ease,
		box-shadow 0.3s ease !important;
}

.connection .connectionBanner:hover {
	border-color: var(--tgr-silver) !important;
	box-shadow:
		0 12px 34px rgba(0, 0, 0, 0.40),
		0 0 0 1px rgba(216, 216, 218, 0.10) !important;
}


/*
 * 以前の nth-of-type 指定による
 * 白背景・グレー背景を解除
 */
.connection .connectionMat > a:nth-of-type(1),
.connection .connectionMat > a:nth-of-type(2),
.connection .connectionMat > a:nth-of-type(3) {
	background: var(--tgr-black) !important;
	color: var(--tgr-silver) !important;
}


/* 画像は元データの色を維持 */

.connection .connectionBanner img {
	display: block;
	width: 100%;
	height: auto;
}


/* ==================================================
   FOOTER
================================================== */

.footer {
	background: var(--tgr-black) !important;
}

.footer .footerNav {
	background: var(--tgr-black) !important;
	border-top: 1px solid var(--tgr-silver-20);
}

.footer .footerNav > dd > ul > li > a {
	color: var(--tgr-silver) !important;
}

.footer .footerNav > dd > ul > li > a:hover {
	color: var(--tgr-white) !important;
}

.footer .footerNav > dd > ul > li > a::after {
	background: var(--tgr-white) !important;
}


/* コピーライト */

.footerCopy {
	background: var(--tgr-black) !important;
	color: var(--tgr-silver) !important;
	border-top: 1px solid var(--tgr-silver-20);
}


/* ==================================================
   BACK TO TOP
================================================== */

.bkt {
	background: var(--tgr-black) !important;
	border: 1px solid var(--tgr-silver-40);
}

.bkt > i {
	color: var(--tgr-silver) !important;
}

.bkt:hover {
	background: var(--tgr-silver) !important;
	opacity: 1 !important;
}

.bkt:hover > i {
	color: var(--tgr-black) !important;
}


/* ==================================================
   SP FIXED SWING DIAGNOSIS
================================================== */

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

	.spFixedPanel {
		background: rgba(10, 10, 10, 0.98) !important;
		border-top: 1px solid var(--tgr-silver-40) !important;

		box-shadow:
			0 -12px 32px rgba(0, 0, 0, 0.55) !important;
	}


	.spFixedDiagnosis,
	.spFixedDiagnosis:link,
	.spFixedDiagnosis:visited {

		background:
			linear-gradient(
				110deg,
				#0A0A0A 0%,
				#171719 52%,
				#29292C 100%
			) !important;

		border: 1px solid var(--tgr-silver) !important;

		color: var(--tgr-white) !important;
	}


	/* 初回無料 */

	.spFixedDiagnosisFree {
		background: rgba(0, 0, 0, 0.30) !important;
		border-right: 1px solid var(--tgr-silver-40) !important;

		color: var(--tgr-silver) !important;
	}


	.spFixedDiagnosisFree span,
	.spFixedDiagnosisFree strong {
		color: var(--tgr-silver) !important;
	}


	/* 中央 */

	.spFixedDiagnosisMain span {
		color: var(--tgr-white) !important;
	}

	.spFixedDiagnosisMain strong {
		color: var(--tgr-silver) !important;
	}


	/* WEB予約 */

	.spFixedDiagnosisButton {
		background:
			linear-gradient(
				135deg,
				#D8D8DA 0%,
				#FAFAFA 100%
			) !important;

		border: 1px solid var(--tgr-white) !important;

		color: var(--tgr-black) !important;
	}

	.spFixedDiagnosisButton span,
	.spFixedDiagnosisButton i {
		color: var(--tgr-black) !important;
	}

}


/* ==================================================
   MAIN VISUAL
================================================== */

.topMvTitle,
.topMvContent {
	color: var(--tgr-white) !important;
}

.topMvPoints li {
	background: rgba(10, 10, 10, 0.58) !important;
	border-color: var(--tgr-silver) !important;
	color: var(--tgr-white) !important;
}

.topMvDots button {
	background: rgba(216, 216, 218, 0.35) !important;
}

.topMvDots button.is-active {
	background: var(--tgr-white) !important;
}

/* ==================================================
   Tokyo Golf Range
   Silver / Luxury color tuning
   ※メインビューは動画差し替え前提なので除外
================================================== */

:root {
	--tgr-black: #0A0A0A;
	--tgr-silver: #D8D8DA;
	--tgr-white: #FAFAFA;

	--tgr-line: rgba(216, 216, 218, 0.22);
	--tgr-line-strong: rgba(216, 216, 218, 0.42);
	--tgr-panel: #111214;
	--tgr-panel-2: #1A1C1F;
}


/* ==================================================
   共通
================================================== */

body {
	background: var(--tgr-black);
	color: var(--tgr-silver);
}

a {
	color: inherit;
}

.common_tit > h2,
.topNewsHeading h2,
.instagram .common_tit > h2,
.instructor .common_tit > h2 {
	color: var(--tgr-white) !important;
}

.common_tit > h3,
.topNewsHeading p,
.instagram .common_tit > h3,
.instructor .common_tit > h3 {
	color: var(--tgr-silver) !important;
}


/* ==================================================
   ヘッダー
================================================== */

.header {
	background: var(--tgr-black) !important;
	border-bottom: 1px solid var(--tgr-line);
}

.header .headerNav > div > ul > li > a {
	color: var(--tgr-silver) !important;
}

.header .headerNav > div > ul > li > a:hover {
	color: var(--tgr-white) !important;
}

.header .headerNav > div > ul > li > a:after {
	background: var(--tgr-white) !important;
}

/* ドロップダウン */
.header .headerNav > div > ul > li > ol {
	background: var(--tgr-black) !important;
	border: 1px solid var(--tgr-line-strong);
}

.header .headerNav > div > ul > li > ol > li > a {
	background: transparent !important;
}

.header .headerNav > div > ul > li > ol > li > a > h3 {
	background: transparent !important;
	border: 0 !important;
	color: var(--tgr-silver) !important;
}

.header .headerNav > div > ul > li > ol > li > a:hover > h3 {
	background: rgba(255, 255, 255, 0.06) !important;
	color: var(--tgr-white) !important;
}

.header .headerNav > div > ol > li > a:hover {
	opacity: 0.8;
	transform: translateY(-2px);
}


/* ==================================================
   SPメニュー
================================================== */

.sp-wrapper {
	background: var(--tgr-black) !important;
	border-left: 1px solid var(--tgr-line);
}

.sp-wrapper > h2,
.sp-wrapper > ul > li > a,
.sp-wrapper > ul > li > ol > li > a {
	color: var(--tgr-silver) !important;
}

.sp-wrapper > ul > li {
	border-top: 1px solid var(--tgr-line) !important;
}

.sp-wrapper > ul > li > a:hover,
.sp-wrapper > ul > li > a.current,
.sp-wrapper > ul > li > ol > li > a:hover {
	background: var(--tgr-silver) !important;
	color: var(--tgr-black) !important;
}

.sp-wrapper > ul > li > ol {
	background: #111 !important;
}


/* ==================================================
   ボタン・導線
================================================== */

.more > a {
	background: var(--tgr-black) !important;
	color: var(--tgr-silver) !important;
}

.more > a > hgroup {
	border: 1px solid var(--tgr-silver) !important;
}

.more > a:hover {
	background: var(--tgr-panel) !important;
	color: var(--tgr-white) !important;
	transform: translateY(-4px);
}


/* ==================================================
   NEWS / 罫線系
================================================== */

.topNews,
.accessVer,
.footer,
.footerCopy {
	background: var(--tgr-black) !important;
	color: var(--tgr-silver) !important;
}

.topNewsInner,
.accessVerMat {
	border-color: var(--tgr-line) !important;
}

.topNewsList,
.topNewsItem,
.topNewsMeta,
.topNewsMore {
	border-color: var(--tgr-line) !important;
}

.topNewsTitle,
.topNewsMore a,
.accessVer dt,
.accessVer dd {
	color: var(--tgr-silver) !important;
}

.topNewsMore a:hover {
	color: var(--tgr-white) !important;
}


/* ==================================================
   フッター
================================================== */

.footer .footerNav {
	background: var(--tgr-black) !important;
	border-top: 1px solid var(--tgr-line);
}

.footer .footerNav > dd > ul > li > a {
	color: var(--tgr-silver) !important;
}

.footer .footerNav > dd > ul > li > a:after {
	background: var(--tgr-white) !important;
}

.footer .footerNav > dd > ul > li > a:hover {
	color: var(--tgr-white) !important;
}

.footerCopy {
	border-top: 1px solid var(--tgr-line);
	color: var(--tgr-silver) !important;
}


/* ==================================================
   下部 connection バナー
   ・枠削除
   ・バナーサイズのまま横一列
================================================== */

.connection {
	padding: 44px 20px !important;
	background: var(--tgr-black) !important;
	border-top: 1px solid var(--tgr-line) !important;
}

.connection .connectionMat {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 24px !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 1320px !important;
	margin: 0 auto !important;
}

/* 旧2バナー前提の背景・枠・paddingを全部無効化 */
.connection .connectionMat > a,
.connection .connectionMat > a:nth-of-type(1),
.connection .connectionMat > a:nth-of-type(2),
.connection .connectionMat > a:nth-of-type(3),
.connection .connectionBanner,
.connection .connectionContact,
.connection .connectionFc,
.connection .connectionActek {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	line-height: 0 !important;
	color: inherit !important;
}

/* バナー画像そのものを見せる */
.connection .connectionBanner img,
.connection .connectionMat > a img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
}

/* hoverは軽く */
.connection .connectionMat > a:hover {
	transform: translateY(-4px) !important;
	opacity: 0.94;
}


/* ==================================================
   PCサイズで少しだけバナー幅を揃える
================================================== */
@media screen and (min-width: 981px) {
	.connection .connectionMat {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}


/* ==================================================
   タブレット以下
================================================== */
@media screen and (max-width: 980px) {
	.connection .connectionMat {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
		max-width: 520px !important;
	}
}


/* ==================================================
   スマホ固定CTA
   ※残っているゴールド感をシルバー寄りに
================================================== */
@media screen and (max-width: 767px) {
	.spFixedPanel {
		background: rgba(10, 10, 10, 0.98) !important;
		border-top: 1px solid var(--tgr-line-strong) !important;
	}

	.spFixedDiagnosis,
	.spFixedDiagnosis:link,
	.spFixedDiagnosis:visited {
		border: 1px solid var(--tgr-silver) !important;
		background: linear-gradient(
			135deg,
			#0A0A0A 0%,
			#191B1F 50%,
			#2A2D32 100%
		) !important;
		color: var(--tgr-white) !important;
	}

	.spFixedDiagnosisFree {
		border-right: 1px solid var(--tgr-line-strong) !important;
		background: rgba(255, 255, 255, 0.03) !important;
		color: var(--tgr-silver) !important;
	}

	.spFixedDiagnosisMain span {
		color: var(--tgr-white) !important;
	}

	.spFixedDiagnosisMain strong {
		color: var(--tgr-silver) !important;
	}

	.spFixedDiagnosisButton {
		background: var(--tgr-silver) !important;
		border: 1px solid var(--tgr-white) !important;
		color: var(--tgr-black) !important;
	}

	.spFixedDiagnosisButton span,
	.spFixedDiagnosisButton i {
		color: var(--tgr-black) !important;
	}
}


/* ==================================================
   Tokyo Golf Range
   Readability + Luxury Arrange
================================================== */

:root {
	--tgr-black: #0A0A0A;
	--tgr-black-2: #121315;
	--tgr-black-3: #1B1D20;

	--tgr-silver: #D8D8DA;
	--tgr-silver-soft: #BFC2C7;
	--tgr-white: #FAFAFA;

	--tgr-line: rgba(216, 216, 218, 0.16);
	--tgr-line-strong: rgba(216, 216, 218, 0.32);
	--tgr-glass: rgba(255, 255, 255, 0.04);
	--tgr-shadow: 0 18px 40px rgba(0, 0, 0, 0.34);
}


/* ==================================================
   共通
================================================== */

body {
	background: var(--tgr-black);
	color: var(--tgr-silver);
}

.common_tit > h2 {
	color: var(--tgr-white) !important;
	letter-spacing: 0.05em;
}

.common_tit > h3 {
	color: var(--tgr-silver-soft) !important;
	letter-spacing: 0.08em;
}

.common_tit {
	position: relative;
}

.common_tit::after {
	content: "";
	display: block;
	margin-top: 18px;
	width: 72px;
	height: 1px;
	background: var(--tgr-line-strong);
}

@media (max-width: 780px) {
	.common_tit::after {
		margin-left: auto;
		margin-right: auto;
	}
}


/* ==================================================
   NEWS
================================================== */

.topNews {
	background:
		linear-gradient(180deg, #0A0A0A 0%, #111214 100%) !important;
	border-top: 1px solid var(--tgr-line);
	border-bottom: 1px solid var(--tgr-line);
}

.topNewsHeading p,
.topNewsMeta time,
.topNewsCategory {
	color: var(--tgr-silver-soft) !important;
}

.topNewsHeading h2,
.topNewsTitle,
.topNewsMore a {
	color: var(--tgr-white) !important;
}

.topNewsItem {
	border-color: var(--tgr-line) !important;
}

.topNewsMore a {
	border-bottom: 1px solid transparent;
}

.topNewsMore a:hover {
	border-color: var(--tgr-silver);
}


/* ==================================================
   公式LINEバナー周辺
================================================== */

.topLineBanner {
	padding: 48px 20px !important;
	background:
		radial-gradient(circle at center, rgba(255,255,255,0.04), transparent 55%),
		linear-gradient(180deg, #0B0B0C 0%, #090909 100%) !important;
	border-top: 1px solid var(--tgr-line);
	border-bottom: 1px solid var(--tgr-line);
}

.topLineBannerInner {
	max-width: 1120px !important;
}

.topLineBanner a {
	display: block;
	padding: 14px;
	background: rgba(255,255,255,0.02);
	border: 1px solid var(--tgr-line);
	box-shadow: var(--tgr-shadow);
}


/* ==================================================
   Concept
================================================== */

.concept {
	position: relative;
	padding: 150px 40px !important;
	background: #050505;
	overflow: hidden;
}

.concept::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.82) 0%,
			rgba(0, 0, 0, 0.68) 38%,
			rgba(0, 0, 0, 0.28) 65%,
			rgba(0, 0, 0, 0.08) 100%
		),
		linear-gradient(
			180deg,
			rgba(0, 0, 0, 0.18) 0%,
			rgba(0, 0, 0, 0.42) 100%
		);
}

.concept .conceptBg {
	filter: brightness(0.78) saturate(0.9);
}

.concept .conceptMat {
	position: relative;
	z-index: 2;
}

.concept .conceptMat > dd {
	width: 56% !important;
	max-width: 620px;
}

.concept .conceptMat > dd > .common_tit {
	color: var(--tgr-white) !important;
}

.concept .conceptMat > dd > fieldset {
	margin-top: 34px !important;
	padding: 34px 38px;
	background: rgba(10, 10, 10, 0.36);
	border: 1px solid rgba(255,255,255,0.08);
	backdrop-filter: blur(4px);
	box-shadow: var(--tgr-shadow);
}

.concept .conceptMat > dd > fieldset > h3 {
	font-size: 34px !important;
	line-height: 1.55 !important;
	color: var(--tgr-white) !important;
	letter-spacing: 0.05em;
}

.concept .conceptMat > dd > fieldset > figcaption {
	margin-top: 22px !important;
	color: var(--tgr-silver) !important;
	font-size: 15px;
	font-weight: 500;
	line-height: 2.1;
}

@media (max-width: 980px) {
	.concept {
		padding: 100px 20px !important;
	}

	.concept .conceptMat > dd {
		width: 100% !important;
		max-width: none;
	}

	.concept .conceptMat > dd > fieldset {
		padding: 24px 22px;
	}

	.concept .conceptMat > dd > fieldset > h3 {
		font-size: 26px !important;
	}
}


/* ==================================================
   Features
================================================== */

.features {
	padding: 100px 40px !important;
	background: #E9E7E1 !important;
}

.features .common_tit > h2 {
	color: #1A1B1D !important;
}

.features .common_tit > h3 {
	color: #686C73 !important;
}

.features .common_tit::after {
	background: rgba(26, 27, 29, 0.24);
}

.features .featuresList {
	margin-top: 56px !important;
}

.features .featuresList > ul > li > dl {
	overflow: hidden;
	background: #000;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.10);
}

.features .featuresList > ul > li > dl > dt {
	position: relative;
}

.features .featuresList > ul > li > dl > dt::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(
			180deg,
			rgba(0, 0, 0, 0.04) 0%,
			rgba(0, 0, 0, 0.18) 40%,
			rgba(0, 0, 0, 0.72) 100%
		);
}

.features .featuresList > ul > li > dl > dd {
	z-index: 2;
	bottom: 18px !important;
	padding: 0 18px !important;
	align-items: flex-end !important;
}

.features .featuresList > ul > li > dl > dd > i {
	max-width: 88px !important;
	opacity: 0.92;
}

.features .featuresList > ul > li > dl > dd > h3 {
	margin-left: -18px !important;
	width: calc(100% - 70px) !important;
	padding: 14px 16px;
	background: rgba(0,0,0,0.42);
	backdrop-filter: blur(3px);
	color: var(--tgr-white) !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
	text-shadow: none !important;
}

.features .featuresList > ul > li > dl > dd > h3 small {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.6;
	color: rgba(255,255,255,0.84);
}

@media (max-width: 780px) {
	.features {
		padding: 72px 20px !important;
	}
}


/* ==================================================
   料金と設置機器
================================================== */

.service {
	padding: 100px 40px !important;
	background:
		linear-gradient(135deg, #181714 0%, #2C2924 55%, #3A3731 100%) !important;
}

.service .serviceMat {
	padding: 78px 70px !important;
	background: rgba(255,255,255,0.92) !important;
	border: 1px solid rgba(255,255,255,0.55);
	box-shadow: 0 20px 50px rgba(0,0,0,0.18);
}

.service .common_tit > h2 {
	color: #C8C4BD !important;
	letter-spacing: 0.08em;
}

.service .serviceSep > dl > dd > fieldset > h2 {
	color: #3A3C41 !important;
	font-size: clamp(54px, 6vw, 82px) !important;
}

.service .serviceSep > dl > dd > fieldset > hgroup > h3 {
	color: #2E3035 !important;
	font-size: 30px !important;
	letter-spacing: 0.04em;
}

.service .serviceSep > dl > dd > fieldset > hgroup > h4 {
	color: #8A8E95 !important;
	font-size: 14px !important;
	letter-spacing: 0.10em;
}

.service .serviceSep > dl > dd > figcaption {
	color: #63676E !important;
	font-size: 14px;
	line-height: 2;
	font-weight: 500 !important;
}

.service .more > a {
	background: #0A0A0A !important;
	color: var(--tgr-white) !important;
}

.service .more > a > hgroup {
	border: 1px solid rgba(255,255,255,0.18) !important;
}

.service .more > a:hover {
	background: #1C1E22 !important;
	transform: translateY(-2px);
}

@media (max-width: 780px) {
	.service {
		padding: 72px 20px !important;
	}

	.service .serviceMat {
		padding: 40px 24px !important;
	}
}


/* ==================================================
   Instagram
================================================== */

.instagram {
	padding: 90px 40px !important;
	background:
		linear-gradient(180deg, #060606 0%, #0B0B0C 100%) !important;
	border-top: 1px solid var(--tgr-line);
	border-bottom: 1px solid var(--tgr-line);
}

.instagram .instagramList {
	margin-top: 42px !important;
}

.instagram .instagramList,
.instagram #sb_instagram,
.instagram #sbi_images {
	background: transparent !important;
}

.instagram .instagramList > ul,
.instagram #sbi_images {
	row-gap: 20px !important;
}

.instagram .common_tit > h2,
.instagram .common_tit > h3 {
	color: var(--tgr-white) !important;
}

.instagram .common_tit > h3 {
	color: var(--tgr-silver-soft) !important;
}


/* ==================================================
   Instructor
================================================== */

.instructor {
	padding: 100px 40px !important;
	background: #ECEAE5 !important;
}

.instructor .instructorMat {
	box-shadow: 0 18px 40px rgba(0,0,0,0.08);
}

.instructor .instructorBg {
	position: relative;
	overflow: hidden;
}

.instructor .instructorBg::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.10) 0%,
			rgba(0, 0, 0, 0.08) 35%,
			rgba(0, 0, 0, 0.52) 100%
		);
}

.instructor .instructorVer {
	height: 100% !important;
}

.instructor .instructorVer > dd {
	padding: 40px 50px 40px 30px;
}

.instructor .instructorVer > dd > .common_tit {
	color: var(--tgr-white) !important;
}

.instructor .instructorVer > dd > .more > a {
	background: rgba(10, 10, 10, 0.58) !important;
	backdrop-filter: blur(3px);
}

.instructor .instructorVer > dd > .more > a > hgroup {
	border-color: rgba(255,255,255,0.52) !important;
	color: var(--tgr-white) !important;
}

@media (max-width: 780px) {
	.instructor {
		padding: 72px 20px !important;
	}
}


/* ==================================================
   Access
================================================== */

.accessVer {
	padding: 64px 40px !important;
	background:
		linear-gradient(180deg, #141519 0%, #0D0E10 100%) !important;
	border-top: 1px solid var(--tgr-line);
}

.accessVer .accessVerMat {
	max-width: 1120px;
}

.accessVer .accessVerMat > dt > dl {
	color: var(--tgr-silver) !important;
	font-size: 14px;
	line-height: 1.9;
}

.accessVer .accessVerMat > dt > dl > dt {
	color: var(--tgr-white) !important;
	letter-spacing: 0.08em;
}

.accessVer .accessVerMat > dt:nth-of-type(2) {
	border-left: 1px solid var(--tgr-line-strong) !important;
}


/* ==================================================
   connection バナー
   枠なし・横並び・高級感
================================================== */

.connection {
	padding: 40px 20px 56px !important;
	background: #090909 !important;
	border-top: 1px solid var(--tgr-line);
}

.connection .connectionMat {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 20px !important;
	max-width: 1120px !important;
}

.connection .connectionMat > a,
.connection .connectionBanner,
.connection .connectionMat > a:nth-of-type(1),
.connection .connectionMat > a:nth-of-type(2),
.connection .connectionMat > a:nth-of-type(3) {
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	line-height: 0 !important;
}

.connection .connectionMat > a img {
	display: block;
	width: 100%;
	height: auto;
}

.connection .connectionMat > a:hover {
	transform: translateY(-3px) !important;
	opacity: 0.95;
}

@media (max-width: 980px) {
	.connection .connectionMat {
		grid-template-columns: 1fr !important;
	}
}


/* ==================================================
   Footer
================================================== */

.footer .footerNav {
	background: #060606 !important;
	border-top: 1px solid var(--tgr-line);
}

.footer .footerNav > dd > ul > li > a {
	color: var(--tgr-silver) !important;
}

.footer .footerNav > dd > ul > li > a:hover {
	color: var(--tgr-white) !important;
}

.footerCopy {
	background: #060606 !important;
	color: rgba(250,250,250,0.72) !important;
	border-top: 1px solid var(--tgr-line);
}


/* ==================================================
   connectionバナー 最終調整
   ・不要な背景装飾を削除
   ・3枚の高さを統一
   ・横一列で整列
================================================== */

.connection {
	padding: 36px 20px 48px !important;
	background: #0A0A0A !important;
	border-top: 1px solid rgba(216, 216, 218, 0.14) !important;
}

.connection .connectionMat {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 18px !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 1080px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

/* バナー共通リセット */
.connection .connectionMat > a,
.connection .connectionBanner,
.connection .connectionContact,
.connection .connectionFc,
.connection .connectionActek {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	height: 72px !important;
	min-height: 72px !important;
	max-height: 72px !important;

	padding: 0 !important;
	margin: 0 !important;

	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	line-height: 1 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

/* 不要装飾を完全削除 */
.connection .connectionMat > a::before,
.connection .connectionMat > a::after,
.connection .connectionBanner::before,
.connection .connectionBanner::after,
.connection .connectionContact::before,
.connection .connectionContact::after,
.connection .connectionFc::before,
.connection .connectionFc::after,
.connection .connectionActek::before,
.connection .connectionActek::after {
	content: none !important;
	display: none !important;
	background: none !important;
}

/* FC用の内部装飾が残っている場合もリセット */
.connection .connectionFcInner,
.connection .connectionFcText,
.connection .connectionFcArrow {
	all: unset;
}

.connection .connectionFcInner {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

/* 画像共通 */
.connection .connectionMat > a img,
.connection .connectionBanner img,
.connection .connectionContact img,
.connection .connectionFc img,
.connection .connectionActek img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center center !important;
	background: transparent !important;
}

/* hover */
.connection .connectionMat > a:hover {
	transform: translateY(-2px) !important;
	opacity: 0.96 !important;
}

/* タブレット以下 */
@media screen and (max-width: 980px) {
	.connection .connectionMat {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
		max-width: 520px !important;
	}

	.connection .connectionMat > a,
	.connection .connectionBanner,
	.connection .connectionContact,
	.connection .connectionFc,
	.connection .connectionActek {
		height: 78px !important;
		min-height: 78px !important;
		max-height: 78px !important;
	}
}


/* =========================================
   下部バナー3枚を同サイズに統一
========================================= */

.connection {
	padding: 36px 20px 48px !important;
	background: #0A0A0A !important;
}

.connection .connectionMat {
	display: grid !important;
	grid-template-columns: repeat(3, 320px) !important;
	gap: 24px !important;
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

/* 3つのバナー枠を完全に同サイズに */
.connection .connectionMat > a,
.connection .connectionBanner,
.connection .connectionContact,
.connection .connectionFc,
.connection .connectionActek {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 320px !important;
	height: 100px !important;
	min-width: 320px !important;
	max-width: 320px !important;
	min-height: 100px !important;
	max-height: 100px !important;

	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

/* 不要な装飾を消す */
.connection .connectionMat > a::before,
.connection .connectionMat > a::after,
.connection .connectionBanner::before,
.connection .connectionBanner::after,
.connection .connectionContact::before,
.connection .connectionContact::after,
.connection .connectionFc::before,
.connection .connectionFc::after,
.connection .connectionActek::before,
.connection .connectionActek::after {
	content: none !important;
	display: none !important;
}

/* 画像も枠いっぱいに収める */
.connection .connectionMat > a img,
.connection .connectionBanner img,
.connection .connectionContact img,
.connection .connectionFc img,
.connection .connectionActek img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center center !important;
}

/* スマホは縦並び */
@media screen and (max-width: 1100px) {
	.connection .connectionMat {
		grid-template-columns: 1fr !important;
		justify-items: center !important;
	}

	.connection .connectionMat > a,
	.connection .connectionBanner,
	.connection .connectionContact,
	.connection .connectionFc,
	.connection .connectionActek {
		width: 320px !important;
		height: 100px !important;
		min-width: 320px !important;
		max-width: 320px !important;
	}
}


/* ==================================================
   ZENITH GOLF LOGO
================================================== */

/* ==================================================
   ヘッダーロゴ サイズ調整
================================================== */

.header .headerNav > a.headerLogo {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;

	width: 230px !important;
	max-width: 230px !important;
	height: 72px !important;
	flex: 0 0 230px;

	overflow: visible;
}

.header .headerNav > a.headerLogo img {
	display: block;

	width: 230px !important;
	height: 72px !important;

	object-fit: contain;
	object-position: left center;

	/* SVG内部の余白対策 */
	transform: scale(2.2);
	transform-origin: left center;
}


/* 1380px以下 */
@media screen and (max-width: 1380px) {

	.header .headerNav > a.headerLogo {
		width: 200px !important;
		max-width: 200px !important;
		height: 64px !important;
		flex-basis: 200px;
	}

	.header .headerNav > a.headerLogo img {
		width: 200px !important;
		height: 64px !important;
		transform: scale(2.1);
	}
}


/* スマホ */
@media screen and (max-width: 880px) {

	.header .headerNav > a.headerLogo {
		width: 150px !important;
		max-width: 150px !important;
		height: 58px !important;
		flex-basis: 150px;
	}

	.header .headerNav > a.headerLogo img {
		width: 150px !important;
		height: 58px !important;
		transform: scale(2);
	}
}


/* フッター */
.footer .footerNav > dt > a {
	width: 180px !important;
	max-width: 180px !important;
}

.footer .footerNav > dt > a img {
	display: block;
	width: 100% !important;
	height: 110px !important;
	object-fit: contain;
	object-position: center;
}


/* タブレット */
@media screen and (max-width: 1180px) {

	.header .headerNav > a.headerLogo {
		width: 150px !important;
		max-width: 150px !important;
		flex-basis: 150px;
	}

	.header .headerNav > a.headerLogo img {
		height: 52px !important;
	}

}


/* スマホ */
@media screen and (max-width: 767px) {

	.header .headerNav > a.headerLogo {
		width: 120px !important;
		max-width: 120px !important;
		flex-basis: 120px;
	}

	.header .headerNav > a.headerLogo img {
		height: 48px !important;
	}

	.footer .footerNav > dt > a {
		width: 150px !important;
		max-width: 150px !important;
	}
}


/* ==================================================
   TOP NEWS カテゴリー枠 シルバー化
================================================== */

.topNewsCategory {
	color: #D8D8DA !important;
	border: 1px solid rgba(216, 216, 218, 0.55) !important;
	background: rgba(216, 216, 218, 0.04) !important;
}

/* ==================================================
   ZENITH GOLF
   HEADER / FOOTER / CTA
   Minimal Luxury Edition
================================================== */

:root {
	--zen-black: #0a0a0a;
	--zen-black-soft: #121212;
	--zen-white: #f5f4f0;
	--zen-gray: #9b9b98;
	--zen-silver: #c9c9c7;

	--zen-line: rgba(245, 244, 240, 0.18);
	--zen-line-light: rgba(245, 244, 240, 0.10);
}


/* ==================================================
   HEADER
================================================== */

.zenHeader {
	position: sticky;
	top: 0;
	z-index: 9990;

	width: 100%;

	background: rgba(10, 10, 10, 0.97);
	border-bottom: 1px solid var(--zen-line);

	font-weight: 400;

	backdrop-filter: blur(12px);
}

.zenHeaderInner {
	display: flex;
	align-items: center;
	justify-content: space-between;

	width: 100%;
	max-width: 1680px;

	min-height: 92px;

	margin: 0 auto;
	padding: 0 50px;
}


/* LOGO */

.zenHeaderLogo {
	position: relative;

	display: flex;
	align-items: center;

	width: 165px;
	height: 82px;

	overflow: visible;
}

.zenHeaderLogo img {
	display: block;

	width: auto;
	height: 76px;
	max-width: none;

	transform: scale(1.18);
	transform-origin: left center;
}

.zenHeaderLogo:hover {
	opacity: 0.72;
}


/* RIGHT */

.zenHeaderRight {
	display: flex;
	align-items: center;
}


/* NAV */

.zenGlobalNav > ul {
	display: flex;
	align-items: center;
	gap: 42px;
}

.zenGlobalNav > ul > li {
	position: relative;
}

.zenGlobalNav a,
.zenNavToggle {
	display: block;

	padding: 36px 0;

	color: var(--zen-white);

	font-family:
		"Shippori Mincho",
		serif;

	font-size: 13px;
	font-weight: 400;

	line-height: 1;

	letter-spacing: 0.07em;

	white-space: nowrap;
}

.zenNavToggle {
	cursor: pointer;
}

.zenGlobalNav > ul > li > a::after,
.zenNavToggle::after {
	display: block;

	width: 0;
	height: 1px;

	margin-top: 10px;

	content: "";

	background: var(--zen-silver);

	transition: width 0.35s ease;
}

.zenGlobalNav > ul > li:hover > a::after,
.zenNavHasChild:hover .zenNavToggle::after {
	width: 100%;
}


/* SUB MENU */

.zenSubNav {
	position: absolute;
	top: calc(100% - 10px);
	left: 50%;

	z-index: 10;

	width: 260px;

	padding: 16px 22px;

	visibility: hidden;

	background: rgba(10, 10, 10, 0.98);
	border: 1px solid var(--zen-line);

	opacity: 0;

	transform:
		translate(-50%, 8px);

	transition:
		opacity 0.25s ease,
		transform 0.25s ease,
		visibility 0.25s;
}

.zenNavHasChild:hover .zenSubNav,
.zenNavHasChild:focus-within .zenSubNav,
.zenNavHasChild.is-open .zenSubNav {
	visibility: visible;

	opacity: 1;

	transform:
		translate(-50%, 0);
}

.zenSubNav li + li {
	border-top: 1px solid var(--zen-line-light);
}

.zenSubNav a {
	padding: 17px 4px;

	color: #ccc;

	font-size: 12px;

	line-height: 1.6;
}

.zenSubNav a:hover {
	color: #fff;
	padding-left: 10px;
}


/* SNS */

.zenHeaderSocial {
	display: flex;
	align-items: center;
	gap: 17px;

	margin-left: 44px;
}

.zenHeaderSocial a {
	display: block;

	width: 21px;
}

.zenHeaderSocial img {
	width: 100%;

	filter:
		grayscale(1)
		brightness(1.8);

	opacity: 0.72;

	transition:
		opacity 0.3s ease,
		transform 0.3s ease;
}

.zenHeaderSocial a:hover img {
	opacity: 1;

	transform:
		translateY(-2px);
}


/* MOBILE BUTTON */

.zenMenuButton {
	display: none;

	width: 44px;
	height: 44px;

	cursor: pointer;
}

.zenMenuButton span {
	display: block;

	width: 28px;
	height: 1px;

	margin: 8px auto;

	background: var(--zen-white);
}



/* ==================================================
   RELATED LINKS
================================================== */

.zenConnection {
	padding: 90px 50px;

	background: var(--zen-black);
	color: var(--zen-white);

	font-weight: 400;
}

.zenConnectionInner {
	display: grid;

	grid-template-columns:
		repeat(3, minmax(0, 1fr));

	width: 100%;
	max-width: 1320px;

	margin: 0 auto;

	border-top: 1px solid var(--zen-line);
	border-bottom: 1px solid var(--zen-line);
}

.zenConnectionItem {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: space-between;

	min-height: 170px;

	padding: 36px 40px;

	color: var(--zen-white);
}

.zenConnectionItem + .zenConnectionItem {
	border-left: 1px solid var(--zen-line);
}

.zenConnectionEn {
	display: block;

	margin-bottom: 16px;

	color: var(--zen-gray);

	font-family: "Outfit", sans-serif;

	font-size: 11px;

	letter-spacing: 0.22em;
}

.zenConnectionItem strong {
	display: block;

	font-family:
		"Shippori Mincho",
		serif;

	font-size: 20px;
	font-weight: 400;

	line-height: 1.5;

	letter-spacing: 0.05em;
}

.zenConnectionItem p {
	margin-top: 8px;

	color: var(--zen-gray);

	font-size: 11px;
	font-weight: 400;

	line-height: 1.7;
}

.zenConnectionArrow {
	margin-left: 20px;

	color: var(--zen-silver);

	font-family: "Outfit", sans-serif;

	font-size: 22px;

	transition:
		transform 0.3s ease;
}

.zenConnectionItem:hover {
	background: rgba(255, 255, 255, 0.025);
}

.zenConnectionItem:hover .zenConnectionArrow {
	transform:
		translateX(6px);
}



/* ==================================================
   FOOTER
================================================== */

.zenFooter {
	padding: 95px 50px 32px;

	background: #070707;

	color: var(--zen-white);

	border-top: 1px solid var(--zen-line-light);

	font-weight: 400;
}

.zenFooterInner {
	width: 100%;
	max-width: 1320px;

	margin: 0 auto;
}


/* BRAND */

.zenFooterBrand {
	display: flex;
	justify-content: center;
}

.zenFooterBrand a {
	display: block;

	width: 170px;
}

.zenFooterBrand img {
	display: block;

	width: 170px;
	height: auto;
}


/* NAV */

.zenFooterNavigation {
	display: flex;
	align-items: center;
	justify-content: center;

	margin-top: 70px;
}

.zenFooterNavigation nav > ul {
	display: flex;
	align-items: center;
	justify-content: center;

	gap: 34px;
}

.zenFooterNavigation nav a {
	color: #b7b7b5;

	font-size: 11px;
	font-weight: 400;

	letter-spacing: 0.05em;
}

.zenFooterNavigation nav a:hover {
	color: #fff;
}


/* SOCIAL */

.zenFooterSocial {
	display: flex;

	gap: 15px;

	margin-left: 36px;
}

.zenFooterSocial a {
	display: block;

	width: 19px;
}

.zenFooterSocial img {
	width: 100%;

	filter:
		grayscale(1)
		brightness(1.7);

	opacity: 0.7;
}

.zenFooterSocial a:hover img {
	opacity: 1;
}


/* COPYRIGHT */

.zenFooterBottom {
	margin-top: 65px;
	padding-top: 25px;

	border-top: 1px solid var(--zen-line-light);

	text-align: center;
}

.zenFooterBottom p {
	color: #777;

	font-family: "Outfit", sans-serif;

	font-size: 10px;
	font-weight: 300;

	letter-spacing: 0.08em;
}



/* ==================================================
   PC FIXED CTA
================================================== */

.zenDiagnosis {
	position: fixed;
	right: 22px;
	bottom: 30px;

	z-index: 900;

	display: flex;
	flex-direction: column;

	width: 185px;

	padding: 20px 22px;

	background: rgba(10, 10, 10, 0.94);

	border: 1px solid rgba(245, 244, 240, 0.34);

	color: var(--zen-white);

	box-shadow:
		0 10px 30px rgba(0, 0, 0, 0.28);

	backdrop-filter: blur(10px);
}

.zenDiagnosis > span {
	color: var(--zen-gray);

	font-family: "Outfit", sans-serif;

	font-size: 9px;

	letter-spacing: 0.20em;
}

.zenDiagnosis > strong {
	margin-top: 9px;

	font-family:
		"Shippori Mincho",
		serif;

	font-size: 18px;
	font-weight: 400;

	letter-spacing: 0.04em;
}

.zenDiagnosis > small {
	margin-top: 10px;

	color: #c5c5c2;

	font-size: 10px;
	font-weight: 400;
}

.zenDiagnosis:hover {
	background: #f1f0ec;

	color: #111;
}

.zenDiagnosis:hover > span,
.zenDiagnosis:hover > small {
	color: #555;
}



/* ==================================================
   BACK TO TOP
================================================== */

.zenBackTop {
	position: fixed;
	right: 24px;
	bottom: 160px;

	z-index: 899;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 38px;
	height: 38px;

	border: 1px solid var(--zen-line);

	background: #0a0a0a;

	color: var(--zen-white);

	font-size: 13px;

	cursor: pointer;
}



/* ==================================================
   SP MENU
================================================== */

.zenSpMenu {
	position: fixed;
	inset: 0;

	z-index: 10000;

	padding: 28px 26px 110px;

	overflow-y: auto;

	background: #090909;

	visibility: hidden;

	opacity: 0;

	transform:
		translateX(100%);

	transition:
		transform 0.45s cubic-bezier(.76,0,.24,1),
		opacity 0.35s ease,
		visibility 0.45s;
}

.zenSpMenu.is-open {
	visibility: visible;

	opacity: 1;

	transform:
		translateX(0);
}

body.zenMenuOpen {
	overflow: hidden;
}

.zenSpMenuHead {
	display: flex;
	align-items: center;
	justify-content: space-between;

	padding-bottom: 24px;

	border-bottom: 1px solid var(--zen-line);
}

.zenSpMenuHead > span {
	color: var(--zen-gray);

	font-family: "Outfit", sans-serif;

	font-size: 11px;

	letter-spacing: 0.24em;
}

.zenSpMenuClose {
	position: relative;

	width: 42px;
	height: 42px;
}

.zenSpMenuClose span {
	position: absolute;
	top: 50%;
	left: 50%;

	width: 27px;
	height: 1px;

	background: #fff;
}

.zenSpMenuClose span:first-child {
	transform:
		translate(-50%, -50%)
		rotate(45deg);
}

.zenSpMenuClose span:last-child {
	transform:
		translate(-50%, -50%)
		rotate(-45deg);
}


/* MAIN */

.zenSpMenuMain {
	margin-top: 38px;
}

.zenSpMenuMain > li {
	border-bottom: 1px solid var(--zen-line-light);
}

.zenSpMenuMain > li > a,
.zenSpMenuGroup > span {
	display: block;

	padding: 22px 2px;

	color: var(--zen-white);

	font-family:
		"Shippori Mincho",
		serif;

	font-size: 18px;
	font-weight: 400;

	letter-spacing: 0.05em;
}

.zenSpMenuGroup > ul {
	padding:
		0 0 18px 16px;
}

.zenSpMenuGroup > ul li + li {
	margin-top: 13px;
}

.zenSpMenuGroup > ul a {
	color: #8f8f8c;

	font-size: 12px;
	font-weight: 400;
}



/* ==================================================
   SP FIXED CTA
================================================== */

.zenSpFixedCta {
	display: none;
}



/* ==================================================
   TABLET
================================================== */

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

	.zenHeaderInner {
		padding:
			0 30px;
	}

	.zenGlobalNav > ul {
		gap: 24px;
	}

	.zenHeaderSocial {
		margin-left: 28px;
	}

}



/* ==================================================
   MOBILE
================================================== */

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

	.zenHeaderInner {
		min-height: 82px;

		padding:
			0 20px;
	}

	.zenHeaderLogo {
		width: 145px;
		height: 72px;
	}

	.zenHeaderLogo img {
		height: 68px;

		transform:
			scale(1.15);
	}

	.zenGlobalNav,
	.zenHeaderSocial {
		display: none;
	}

	.zenMenuButton {
		display: block;
	}


	/* CONNECTION */

	.zenConnection {
		padding:
			65px 20px;
	}

	.zenConnectionInner {
		grid-template-columns: 1fr;
	}

	.zenConnectionItem {
		min-height: 135px;

		padding:
			28px 12px;
	}

	.zenConnectionItem + .zenConnectionItem {
		border-top: 1px solid var(--zen-line);
		border-left: 0;
	}


	/* FOOTER */

	.zenFooter {
		padding:
			70px 20px 95px;
	}

	.zenFooterBrand a,
	.zenFooterBrand img {
		width: 150px;
	}

	.zenFooterNavigation {
		display: block;

		margin-top: 50px;
	}

	.zenFooterNavigation nav > ul {
		display: grid;

		grid-template-columns:
			repeat(2, minmax(0, 1fr));

		gap:
			20px 18px;
	}

	.zenFooterNavigation nav a {
		font-size: 10px;
	}

	.zenFooterSocial {
		justify-content: center;

		margin:
			42px 0 0;
	}


	/* PC CTA OFF */

	.zenDiagnosis {
		display: none;
	}

	.zenBackTop {
		right: 18px;
		bottom: 82px;
	}


	/* SP CTA */

	.zenSpFixedCta {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;

		z-index: 9990;

		display: block;

		background: #0a0a0a;

		border-top: 1px solid rgba(245,244,240,0.28);
	}

	.zenSpFixedCta a {
		display: grid;

		grid-template-columns:
			auto minmax(0, 1fr) auto;

		align-items: center;

		gap: 12px;

		min-height: 66px;

		padding:
			10px 18px;

		color: #fff;
	}

	.zenSpFixedCta span {
		color: #8d8d8a;

		font-family: "Outfit", sans-serif;

		font-size: 8px;

		letter-spacing: 0.13em;
	}

	.zenSpFixedCta strong {
		font-family:
			"Shippori Mincho",
			serif;

		font-size: 16px;
		font-weight: 400;

		text-align: center;
	}

	.zenSpFixedCta em {
		color: #d0d0cd;

		font-size: 10px;
		font-style: normal;
	}

	body {
		padding-bottom: 66px;
	}

}


/* ==================================================
   FEATURES PARKING
   高級感・可読性調整
================================================== */

.featuresParking {
	position: relative;

	width: 100%;
	max-width: 1120px;

	margin: 54px auto 0 !important;
	padding: 30px 0 34px !important;

	background: transparent !important;

	border-top: 1px solid rgba(20, 20, 20, 0.22) !important;
	border-bottom: 1px solid rgba(20, 20, 20, 0.10) !important;

	color: #1A1A1A !important;

	text-align: left !important;
}


/* PARKING */
.featuresParkingLabel {
	display: block !important;

	margin: 0 0 14px !important;

	color: #777774 !important;

	font-family: "Outfit", sans-serif !important;
	font-size: 11px !important;
	font-weight: 400 !important;

	line-height: 1 !important;
	letter-spacing: 0.20em !important;

	text-transform: uppercase;
}


/* メイン見出し */
.featuresParking h3 {
	margin: 0 !important;

	color: #151515 !important;

	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif !important;

	font-size: 23px !important;
	font-weight: 500 !important;

	line-height: 1.7 !important;
	letter-spacing: 0.04em !important;
}


/* 説明 */
.featuresParking p {
	margin: 9px 0 0 !important;

	color: #5E5E5A !important;

	font-size: 14px !important;
	font-weight: 400 !important;

	line-height: 1.9 !important;
	letter-spacing: 0.03em !important;
}


/* ==================================================
   スマホ
================================================== */

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

	.featuresParking {
		margin-top: 36px !important;
		padding: 24px 0 26px !important;
	}

	.featuresParkingLabel {
		margin-bottom: 11px !important;
		font-size: 10px !important;
	}

	.featuresParking h3 {
		font-size: 18px !important;
		line-height: 1.7 !important;
	}

	.featuresParking p {
		margin-top: 8px !important;
		font-size: 13px !important;
		line-height: 1.85 !important;
	}

}

/* ==================================================
   TOP MV VIDEO ONLY
================================================== */

.topMvVideoOnly {
	position: relative;
	width: 100%;
	height: calc(100vh - 92px);
	min-height: 650px;
	overflow: hidden;
	background: #0A0A0A;
}

.topMvVideoOnlyMovie {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}


/* タブレット */
@media screen and (max-width: 1180px) {

	.topMvVideoOnly {
		height: calc(100vh - 82px);
		min-height: 600px;
	}

}


/* スマホ */
@media screen and (max-width: 767px) {

	.topMvVideoOnly {
		height: calc(100svh - 82px);
		min-height: 560px;
	}

	.topMvVideoOnlyMovie {
		object-position: center center;
	}

}


/* ==================================================
   料金と設置機器
   文字色のみ調整
================================================== */

/* セクションタイトル */
.service .common_tit > h2 {
	color: #2B2B2B !important;
	opacity: 1 !important;
}


/* 01 / 02 */
.service .serviceSep > dl > dd > fieldset > h2 {
	color: #34363A !important;
}


/* PRICING PLANS / MACHINE INTRODUCTION */
.service .serviceSep > dl > dd > fieldset > hgroup > h3 {
	color: #232323 !important;
}


/* 料金プラン / マシン紹介 */
.service .serviceSep > dl > dd > fieldset > hgroup > h4 {
	color: #666666 !important;
}


/* 説明文 */
.service .serviceSep > dl > dd > figcaption {
	color: #555555 !important;
}


/* 説明文内 */
.service .serviceSep > dl > dd > figcaption p {
	color: #555555 !important;
}


/* ボタン文字 */
.service .more > a,
.service .more > a > hgroup,
.service .more > a > hgroup > h3,
.service .more > a > hgroup > i {
	color: #FAFAFA !important;
}


/* PC */
.topMvVideoOnly {
	aspect-ratio: 16 / 9;
	height: auto;
	min-height: 0;
}

.topMvVideoOnlyMovie {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


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

	.topMvVideoOnly {
		aspect-ratio: 9 / 16;
		height: auto;
		min-height: 0;
	}

}


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

	.concept .conceptMat > dd > fieldset > h3 {
		white-space: nowrap !important;
		font-size: 17px !important;
		letter-spacing: 0.02em !important;
		line-height: 1.5 !important;
	}

}

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

	.concept .conceptMat > dd > fieldset {
		text-align: left !important;
	}

	.concept .conceptMat > dd > fieldset > figcaption {
		text-align: left !important;
	}

	.concept .conceptMat > dd > fieldset > figcaption p {
		text-align: left !important;
	}

} /* ← これを追加 */


/* 右打ち打席の注記 */
.featuresNotice {
	display: inline-block !important;
	margin-top: 8px !important;
	padding: 4px 10px !important;

	border: 1px solid #fff !important;

	color: #fff !important;
	font-size: 10px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	letter-spacing: 0.02em !important;
}

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

	/* Featuresのテキストを2行程度に収めやすくする */
	.features .featuresList > ul > li > dl > dd > i {
		max-width: 85px !important;
	}

	.features .featuresList > ul > li > dl > dd > h3 {
		margin-left: -28px !important;
		width: calc(100% - 45px) !important;

		font-size: 13px !important;
		line-height: 1.55 !important;
		letter-spacing: 0 !important;
	}


	/* 1番目だけ必ず
	   「ストレスフリーな広々打席」
	   「当スタジオは右打ち打席のみです」
	   の2行にする
	*/
	.features .featuresList > ul > li:first-child > dl > dd > h3 {
		white-space: nowrap !important;
	}


	/* 右打ち打席の注記 */
	.features .featuresList .featuresNotice {
		display: inline-block !important;
		margin-top: 5px !important;
		padding: 3px 7px !important;

		border: 1px solid #fff !important;

		font-size: 11px !important;
		font-weight: 400 !important;
		line-height: 1.4 !important;
		letter-spacing: 0 !important;

		white-space: nowrap !important;
	}

}

/* ==================================================
   料金と設置機器 / SP 横幅・文字はみ出し修正
================================================== */

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

	/* セクション全体 */
	.service {
		width: 100% !important;
		padding: 50px 12px !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	/* 白いエリア */
	.service .serviceMat {
		width: 100% !important;
		max-width: 100% !important;
		padding: 36px 20px !important;
		margin: 0 auto !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}


	/* 各料金・機器ブロック */
	.service .serviceSep > dl,
	.service .serviceSep > dl > dd {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}


	/* 01＋PRICING PLANS / 02＋MACHINE INTRODUCTION */
	.service .serviceSep > dl > dd > fieldset {
		display: flex !important;
		justify-content: flex-start !important;
		align-items: center !important;

		width: 100% !important;
		max-width: 100% !important;
	}


	/* 01 / 02 */
	.service .serviceSep > dl > dd > fieldset > h2 {
		flex: 0 0 auto !important;
		font-size: 48px !important;
		line-height: 1 !important;
	}


	/* 英語見出し側 */
	.service .serviceSep > dl > dd > fieldset > hgroup {
		min-width: 0 !important;
		max-width: calc(100% - 70px) !important;

		margin-left: 16px !important;
	}


	/* PRICING PLANS / MACHINE INTRODUCTION */
	.service .serviceSep > dl > dd > fieldset > hgroup > h3 {
		max-width: 100% !important;

		font-size: 20px !important;
		line-height: 1.2 !important;
		letter-spacing: 0.02em !important;

		white-space: normal !important;
		overflow-wrap: normal !important;
		word-break: normal !important;
	}


	/* 料金プラン / マシン紹介 */
	.service .serviceSep > dl > dd > fieldset > hgroup > h4 {
		margin-top: 12px !important;
		font-size: 12px !important;
	}


	/* 説明文 */
	.service .serviceSep > dl > dd > figcaption {
		width: 100% !important;
		max-width: 100% !important;

		font-size: 13px !important;
		line-height: 1.9 !important;

		overflow-wrap: break-word !important;
	}


	/* 画像 */
	.service .serviceSep > dl > dt {
		width: 100% !important;
		max-width: 100% !important;
		margin: 30px auto 0 !important;
	}

}

/* ==================================================
   料金と設置機器 / SP 左揃え＋ボタンサイズ統一
================================================== */
@media screen and (max-width: 767px) {

	/* 01 / 02 見出し */
	.service .serviceSep > dl > dd > fieldset {
		justify-content: flex-start !important;
		text-align: left !important;
	}

	.service .serviceSep > dl > dd > fieldset > hgroup,
	.service .serviceSep > dl > dd > fieldset > hgroup > h3,
	.service .serviceSep > dl > dd > fieldset > hgroup > h4 {
		text-align: left !important;
	}


	/* 説明文も左揃え */
	.service .serviceSep > dl > dd > figcaption,
	.service .serviceSep > dl > dd > figcaption p {
		text-align: left !important;
	}


	/* ボタンエリアも左揃え */
	.service .serviceSep > dl > dd > .more {
		width: 100% !important;
		max-width: 270px !important;
		margin: 20px 0 0 !important;
		align-items: flex-start !important;
	}


	/* 全ボタンの横幅を統一 */
	.service .serviceSep > dl > dd > .more > a {
		width: 100% !important;
		max-width: 270px !important;
	}


	/* Learn Moreもレッスン料金プランと同じ高さ・文字サイズ */
	.service .serviceSep > dl > dd > .more > a > hgroup {
		width: 100% !important;
		min-height: 56px !important;
		padding: 12px 20px !important;

		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;

		text-align: left !important;
	}


	.service .serviceSep > dl > dd > .more > a > hgroup > h3 {
		font-size: 14px !important;
		line-height: 1.4 !important;
		text-align: left !important;
	}

}

/* ==================================================
   料金と設置機器
   PC/SP ボタンサイズ統一
================================================== */

/* 料金プラン・Learn More 共通 */
.service .serviceSep > dl > dd > .more {
	width: 100% !important;
	max-width: 450px !important;
}

.service .serviceSep > dl > dd > .more > a {
	display: block !important;
	width: 100% !important;
	max-width: 450px !important;
}

.service .serviceSep > dl > dd > .more > a > hgroup {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;

	width: 100% !important;
	min-height: 68px !important;
	padding: 16px 26px !important;

	box-sizing: border-box !important;
}

.service .serviceSep > dl > dd > .more > a > hgroup > h3 {
	font-size: 16px !important;
	line-height: 1.4 !important;
}


/* タブレット */
@media screen and (max-width: 1180px) {

	.service .serviceSep > dl > dd > .more {
		max-width: 320px !important;
	}

	.service .serviceSep > dl > dd > .more > a {
		max-width: 320px !important;
	}

}


/* スマホ */
@media screen and (max-width: 767px) {

	.service .serviceSep > dl > dd > .more {
		max-width: 270px !important;
		margin: 20px 0 0 !important;
	}

	.service .serviceSep > dl > dd > .more > a {
		max-width: 270px !important;
	}

	.service .serviceSep > dl > dd > .more > a > hgroup {
		min-height: 56px !important;
		padding: 12px 20px !important;
	}

	.service .serviceSep > dl > dd > .more > a > hgroup > h3 {
		font-size: 14px !important;
	}

}

/* ==================================================
   Instructor
   ボタンサイズ統一 + SP見やすさ改善
================================================== */

/* PC：料金プランボタンと同じサイズ */
.instructor .instructorVer > dd > .more {
	width: 100% !important;
	max-width: 450px !important;
	justify-content: flex-start !important;
}

.instructor .instructorVer > dd > .more > a {
	display: block !important;
	width: 100% !important;
	max-width: 450px !important;
}

.instructor .instructorVer > dd > .more > a > hgroup {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;

	width: 100% !important;
	min-height: 68px !important;
	padding: 16px 26px !important;

	box-sizing: border-box !important;
}

.instructor .instructorVer > dd > .more > a > hgroup > h3 {
	font-size: 16px !important;
	line-height: 1.4 !important;
	white-space: nowrap !important;
}


/* タブレット */
@media screen and (max-width: 1180px) {

	.instructor .instructorVer > dd > .more,
	.instructor .instructorVer > dd > .more > a {
		max-width: 320px !important;
	}

}


/* ==================================================
   スマホ
================================================== */
@media screen and (max-width: 767px) {

	/* テキストエリア */
	.instructor .instructorVer > dd {
		padding: 30px 20px !important;
		text-align: left !important;
	}


	/* Instructor見出しを左揃え */
	.instructor .instructorVer > dd > .common_tit {
		align-items: flex-start !important;
		text-align: left !important;
	}


	/* 白文字を解除 */
	.instructor .instructorVer > dd > .common_tit > h2 {
		color: #222222 !important;
		text-align: left !important;
	}

	.instructor .instructorVer > dd > .common_tit > h3 {
		color: #666666 !important;
		text-align: left !important;
	}


	/* ボタン位置 */
	.instructor .instructorVer > dd > .more {
		width: 100% !important;
		max-width: 270px !important;

		margin: 24px 0 0 !important;

		justify-content: flex-start !important;
		align-items: flex-start !important;
	}


	/* レッスン料金プランと同サイズ */
	.instructor .instructorVer > dd > .more > a {
		width: 100% !important;
		max-width: 270px !important;
		background: #0A0A0A !important;
	}


	.instructor .instructorVer > dd > .more > a > hgroup {
		width: 100% !important;
		min-height: 56px !important;
		padding: 12px 20px !important;

		border: 1px solid rgba(255,255,255,.25) !important;

		box-sizing: border-box !important;
	}


	.instructor .instructorVer > dd > .more > a > hgroup > h3 {
		color: #FAFAFA !important;

		font-size: 14px !important;
		line-height: 1.4 !important;

		white-space: nowrap !important;
	}

}

/* ==================================================
   Instructor SP ボタン調整
================================================== */
@media screen and (max-width: 767px) {

	/* Instructor見出しも左揃え */
	.instructor .instructorVer > dd > .common_tit {
		align-items: flex-start !important;
		text-align: left !important;
	}

	.instructor .instructorVer > dd > .common_tit > h2,
	.instructor .instructorVer > dd > .common_tit > h3 {
		width: 100% !important;
		text-align: left !important;
	}


	/* ボタン全体 */
	.instructor .instructorVer > dd > .more {
		display: flex !important;
		justify-content: flex-start !important;

		width: 100% !important;
		max-width: 270px !important;

		margin: 24px 0 0 !important;
	}


	.instructor .instructorVer > dd > .more > a {
		display: block !important;

		width: 270px !important;
		max-width: 100% !important;

		padding: 4px !important;

		background: #0A0A0A !important;
		box-sizing: border-box !important;
	}


	/* 内側の枠 */
	.instructor .instructorVer > dd > .more > a > hgroup {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;

		width: 100% !important;
		min-width: 0 !important;
		min-height: 56px !important;

		padding: 10px 14px !important;

		box-sizing: border-box !important;
	}


	/* テキスト */
	.instructor .instructorVer > dd > .more > a > hgroup > h3 {
		flex: 1 1 auto !important;
		min-width: 0 !important;

		margin: 0 !important;

		color: #fff !important;

		font-size: 13px !important;
		font-weight: 400 !important;
		line-height: 1.5 !important;
		letter-spacing: 0 !important;

		white-space: nowrap !important;
		text-align: left !important;
	}


	/* 矢印 */
	.instructor .instructorVer > dd > .more > a > hgroup > i {
		flex: 0 0 auto !important;

		margin: 0 0 0 10px !important;

		color: #fff !important;
		font-size: 20px !important;
		line-height: 1 !important;
	}

}

/* ==================================================
   FLOATING CTA
   BLACK × SILVER + GOLD ACCENT
================================================== */

/* ---------- PC ---------- */

.zenDiagnosis {
	position: fixed !important;
	right: 24px !important;
	bottom: 30px !important;
	z-index: 900 !important;

	display: flex !important;
	flex-direction: column !important;

	width: 260px !important;
	padding: 22px 24px 20px !important;

	overflow: hidden !important;

	background:
		linear-gradient(
			135deg,
			rgba(27, 28, 30, .98) 0%,
			rgba(8, 8, 9, .98) 58%,
			rgba(20, 20, 21, .98) 100%
		) !important;

	border: 1px solid rgba(200, 201, 204, .72) !important;

	color: #F7F6F2 !important;

	box-shadow:
		0 14px 35px rgba(0, 0, 0, .38),
		inset 0 1px 0 rgba(255, 255, 255, .08) !important;

	backdrop-filter: blur(10px);
}


/* 上部のゴールドライン */
.zenDiagnosis::before {
	content: "" !important;

	position: absolute !important;
	top: 0 !important;
	left: 24px !important;

	width: 52px !important;
	height: 2px !important;

	background: #B89A5A !important;
}


/* 右下のさりげない装飾 */
.zenDiagnosis::after {
	content: "→" !important;

	position: absolute !important;
	right: 20px !important;
	bottom: 17px !important;

	color: #B89A5A !important;

	font-size: 20px !important;
	font-weight: 300 !important;
}


/* FIRST SESSION */
.zenDiagnosis > span {
	margin-top: 5px !important;

	color: #A9A9A6 !important;

	font-family: "Outfit", sans-serif !important;
	font-size: 9px !important;
	font-weight: 400 !important;

	letter-spacing: .22em !important;
}


/* 現在の「スイング診断」を非表示 */
.zenDiagnosis > strong {
	margin-top: 12px !important;

	font-size: 0 !important;
	line-height: 1 !important;
}


/* CSSだけで文言差し替え */
.zenDiagnosis > strong::after {
	content: "スイング診断付き\A店舗説明会" !important;

	display: block !important;

	color: #F7F6F2 !important;

	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif !important;

	font-size: 20px !important;
	font-weight: 400 !important;

	line-height: 1.6 !important;
	letter-spacing: .05em !important;

	white-space: pre-line !important;
}


/* 初回無料 / WEB予約 */
.zenDiagnosis > small {
	margin-top: 13px !important;
	padding-top: 12px !important;

	border-top: 1px solid rgba(200, 201, 204, .28) !important;

	color: #B89A5A !important;

	font-size: 11px !important;
	font-weight: 500 !important;

	letter-spacing: .05em !important;
}


/* hover */
.zenDiagnosis:hover {
	background:
		linear-gradient(
			135deg,
			#242527 0%,
			#101011 58%,
			#242426 100%
		) !important;

	color: #F7F6F2 !important;

	transform: translateY(-3px) !important;
}

.zenDiagnosis:hover > span {
	color: #C8C9CC !important;
}

.zenDiagnosis:hover > small {
	color: #D4B971 !important;
}



/* ==================================================
   SMARTPHONE
================================================== */

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

	.zenSpFixedCta {
		background:
			linear-gradient(
				90deg,
				#111214 0%,
				#070708 55%,
				#111214 100%
			) !important;

		border-top:
			1px solid rgba(200, 201, 204, .58) !important;

		box-shadow:
			0 -8px 24px rgba(0, 0, 0, .38) !important;
	}


	.zenSpFixedCta a {
		position: relative !important;

		grid-template-columns:
			auto minmax(0, 1fr) auto !important;

		gap: 12px !important;

		min-height: 72px !important;

		padding:
			9px 17px 9px 18px !important;

		overflow: hidden !important;
	}


	/* 左上ゴールドアクセント */
	.zenSpFixedCta a::before {
		content: "" !important;

		position: absolute !important;
		top: 0 !important;
		left: 18px !important;

		width: 38px !important;
		height: 2px !important;

		background: #B89A5A !important;
	}


	/* FIRST SESSION */
	.zenSpFixedCta span {
		color: #90918F !important;

		font-size: 8px !important;
		letter-spacing: .14em !important;
	}


	/* 元文字を非表示 */
	.zenSpFixedCta strong {
		font-size: 0 !important;
		text-align: left !important;
	}


	/* 新しい文言 */
	.zenSpFixedCta strong::after {
		content: "スイング診断付き 店舗説明会" !important;

		display: block !important;

		color: #F7F6F2 !important;

		font-family:
			"Shippori Mincho",
			serif !important;

		font-size: 15px !important;
		font-weight: 400 !important;

		line-height: 1.35 !important;
		letter-spacing: .02em !important;

		white-space: nowrap !important;
	}


	/* WEB予約 */
	.zenSpFixedCta em {
		color: #B89A5A !important;

		font-size: 10px !important;
		font-weight: 500 !important;

		white-space: nowrap !important;
	}

}

/* ==================================================
   スイング診断付き 店舗説明会
   PC：目立つフローティング
   SP：フッター固定のみ
================================================== */


/* ==================================================
   PC FLOATING CTA
================================================== */

.zenDiagnosis {
	position: fixed !important;
	right: 26px !important;
	bottom: 32px !important;
	z-index: 999 !important;

	display: flex !important;
	flex-direction: column !important;

	width: 280px !important;
	padding: 25px 26px 23px !important;

	overflow: hidden !important;

	background:
		linear-gradient(
			135deg,
			#1b1c1f 0%,
			#080809 55%,
			#161719 100%
		) !important;

	border: 1px solid rgba(210, 211, 214, .75) !important;

	color: #F7F6F2 !important;

	box-shadow:
		0 16px 45px rgba(0, 0, 0, .48),
		0 0 0 1px rgba(255,255,255,.04),
		0 0 25px rgba(184,154,90,.12) !important;

	backdrop-filter: blur(12px);

	transition:
		transform .3s ease,
		box-shadow .3s ease,
		border-color .3s ease !important;
}


/* ゴールドライン */
.zenDiagnosis::before {
	content: "" !important;

	position: absolute !important;
	top: 0 !important;
	left: 0 !important;

	width: 78px !important;
	height: 3px !important;

	background:
		linear-gradient(
			90deg,
			#B89A5A,
			#E0C681
		) !important;

	box-shadow:
		0 0 12px rgba(184,154,90,.5) !important;
}


/* 右下矢印 */
.zenDiagnosis::after {
	content: "→" !important;

	position: absolute !important;
	right: 22px !important;
	bottom: 20px !important;

	color: #D5B86D !important;

	font-size: 22px !important;
	font-weight: 300 !important;
}


/* FIRST SESSION */
.zenDiagnosis > span {
	margin-top: 3px !important;

	color: #B8B9BC !important;

	font-family: "Outfit", sans-serif !important;
	font-size: 10px !important;
	font-weight: 400 !important;

	letter-spacing: .23em !important;
}


/* 元の文言を消して変更 */
.zenDiagnosis > strong {
	margin-top: 13px !important;

	font-size: 0 !important;
	line-height: 1 !important;
}

.zenDiagnosis > strong::after {
	content: "スイング診断付き\A店舗説明会" !important;

	display: block !important;

	color: #F7F6F2 !important;

	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif !important;

	font-size: 22px !important;
	font-weight: 500 !important;

	line-height: 1.55 !important;
	letter-spacing: .05em !important;

	white-space: pre-line !important;
}


/* 初回無料 */
.zenDiagnosis > small {
	margin-top: 15px !important;
	padding-top: 13px !important;
	padding-right: 35px !important;

	border-top:
		1px solid rgba(210,211,214,.26) !important;

	color: #D6B869 !important;

	font-size: 12px !important;
	font-weight: 600 !important;

	letter-spacing: .06em !important;
}


/* hover */
.zenDiagnosis:hover {
	transform: translateY(-5px) !important;

	border-color:
		rgba(214,184,105,.9) !important;

	box-shadow:
		0 22px 55px rgba(0,0,0,.55),
		0 0 30px rgba(184,154,90,.20) !important;
}


/* ==================================================
   SMARTPHONE
   PCフローティングは完全に消す
================================================== */

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

	.zenDiagnosis {
		display: none !important;
	}

}


/* ==================================================
   SP FOOTER FIXED CTA ONLY
================================================== */

.zenSpFixedCta {
	display: none !important;
}


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

	.zenSpFixedCta {
		position: fixed !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;

		z-index: 9999 !important;

		display: block !important;

		background:
			linear-gradient(
				90deg,
				#151619 0%,
				#070708 55%,
				#111214 100%
			) !important;

		border-top:
			2px solid #B89A5A !important;

		box-shadow:
			0 -8px 25px rgba(0,0,0,.45),
			0 -2px 14px rgba(184,154,90,.12) !important;
	}


	.zenSpFixedCta a {
		position: relative !important;

		display: grid !important;

		grid-template-columns:
			auto minmax(0,1fr) auto !important;

		align-items: center !important;

		gap: 12px !important;

		min-height: 74px !important;

		padding:
			9px 17px 9px 18px !important;

		color: #fff !important;

		overflow: hidden !important;
	}


	/* 左上のアクセント */
	.zenSpFixedCta a::before {
		content: "" !important;

		position: absolute !important;
		top: 0 !important;
		left: 18px !important;

		width: 44px !important;
		height: 2px !important;

		background: #E0C681 !important;
	}


	/* FIRST SESSION */
	.zenSpFixedCta span {
		color: #A6A7AA !important;

		font-size: 8px !important;
		letter-spacing: .15em !important;

		white-space: nowrap !important;
	}


	/* 元文字非表示 */
	.zenSpFixedCta strong {
		font-size: 0 !important;
	}


	/* メイン文言 */
	.zenSpFixedCta strong::after {
		content: "スイング診断付き 店舗説明会" !important;

		display: block !important;

		color: #F7F6F2 !important;

		font-family:
			"Shippori Mincho",
			serif !important;

		font-size: 15px !important;
		font-weight: 500 !important;

		line-height: 1.35 !important;
		letter-spacing: .01em !important;

		white-space: nowrap !important;
	}


	/* WEB予約 */
	.zenSpFixedCta em {
		color: #D6B869 !important;

		font-size: 11px !important;
		font-weight: 600 !important;

		white-space: nowrap !important;
	}


	/* 固定CTAに本文が隠れないように */
	body {
		padding-bottom: 74px !important;
	}

}

/* ==================================================
   インストラクター写真
   高光沢・キラキラシルバーフレーム
================================================== */
.instructors .instructorsItem .pic figure {
	position: relative;
	overflow: hidden;

	border: 3px solid transparent !important;

	/* 強い鏡面シルバー */
	border-image: linear-gradient(
		120deg,
		#ffffff 0%,
		#8b9197 8%,
		#ffffff 16%,
		#d5d9dd 24%,
		#72787e 34%,
		#ffffff 44%,
		#a4abb1 52%,
		#fdfdfd 62%,
		#666c72 72%,
		#e6e9ec 82%,
		#ffffff 91%,
		#8e949a 100%
	) 1 !important;

	box-shadow:
		0 0 4px rgba(255,255,255,.9),
		0 0 12px rgba(220,230,240,.45),
		0 8px 24px rgba(0,0,0,.45),
		inset 0 0 8px rgba(255,255,255,.25);
}


/* 写真表面を横切る光 */
.instructors .instructorsItem .pic figure::before {
	content: "";
	position: absolute;
	top: -50%;
	left: -80%;
	z-index: 5;

	width: 45%;
	height: 200%;

	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(255,255,255,.05) 20%,
		rgba(255,255,255,.7) 48%,
		rgba(255,255,255,.95) 50%,
		rgba(255,255,255,.3) 55%,
		transparent 100%
	);

	transform: rotate(18deg);

	animation: instructorSilverShine 5s ease-in-out infinite;

	pointer-events: none;
}


/* 光が定期的に走る */
@keyframes instructorSilverShine {

	0% {
		left: -80%;
		opacity: 0;
	}

	12% {
		opacity: 1;
	}

	28% {
		left: 140%;
		opacity: .8;
	}

	35%,
	100% {
		left: 140%;
		opacity: 0;
	}

}


/* PC */
@media screen and (min-width: 1181px) {

	.instructors .instructorsItem .pic figure {
		border-width: 4px !important;
	}

}


/* タブレット */
@media screen and (max-width: 1180px) {

	.instructors .instructorsItem .pic figure {
		border-width: 3px !important;
	}

}


/* スマホ */
@media screen and (max-width: 720px) {

	.instructors .instructorsItem .pic figure {
		border-width: 3px !important;
	}

}

/* ==========================================================
   TOKYO GOLF RANGE
   PRICE PAGE - GOLD LUXURY RESTORE
   料金ページ ゴールドベース復元・最終上書き
========================================================== */


/* ==================================================
   共通カラー
================================================== */

.newPricing,
.pricethree {

	--price-bg: #0c0c0c;
	--price-card: #121212;
	--price-card-light: #171717;

	--price-gold: #c6a348;
	--price-gold-light: #dfc06c;
	--price-gold-dark: #8e681f;

	--price-border: rgba(202, 163, 72, 0.55);
	--price-line: rgba(202, 163, 72, 0.22);

	--price-white: #ffffff;
	--price-text: rgba(255,255,255,.82);
	--price-subtext: rgba(255,255,255,.58);
}


/* ==================================================
   ページ背景
================================================== */

body .newPricing,
body .pricethree {

	background:
		repeating-linear-gradient(
			135deg,
			rgba(255,255,255,.012) 0,
			rgba(255,255,255,.012) 1px,
			transparent 1px,
			transparent 7px
		),
		#0c0c0c !important;
}


body .newPricing::before {

	background:
		radial-gradient(
			circle at 50% 0,
			rgba(166,111,20,.09),
			transparent 40%
		) !important;
}


body .pricethree::before {

	background:
		radial-gradient(
			circle at 50% 0,
			rgba(178,124,30,.08),
			transparent 45%
		) !important;
}


/* ==================================================
   ページ見出し
================================================== */

body .pricingMainEnglish,
body .newPricingEnglish,
body .pricingSectionHeading > p {

	color: #c6a348 !important;

	text-shadow: none !important;
}


body .pricingMainTitle,
body .newPricingHeading h2,
body .pricingSectionHeading h2 {

	color: #fff !important;
}


/* シルバー化で追加した装飾線をゴールドへ */
body .pricingSectionHeading h2::after,
body .pricingMainTitle::after {

	background:
		linear-gradient(
			90deg,
			transparent 0%,
			#8c6825 18%,
			#d9ba64 50%,
			#8c6825 82%,
			transparent 100%
		) !important;

	box-shadow:
		0 0 7px rgba(200,160,65,.20) !important;
}


/* ==================================================
   OPEN CAMPAIGN
================================================== */

body .pricingCampaign {

	border: 1px solid rgba(202,163,72,.55) !important;

	background:
		#121212 !important;

	box-shadow:
		0 20px 45px rgba(0,0,0,.30) !important;

	animation: none !important;
}


/* 左タイトル部分 */
body .pricingCampaignLabel {

	background:
		linear-gradient(
			135deg,
			#7b5b1c 0%,
			#4b3714 38%,
			#1f190d 100%
		) !important;
}


body .pricingCampaignLabel span {

	color:
		rgba(255,255,255,.68) !important;
}


body .pricingCampaignLabel strong {

	color: #fff !important;
}


/* 金額エリア */
body .pricingCampaignItem {

	border-left:
		1px solid rgba(202,163,72,.22) !important;
}


body .pricingCampaignItem > span,
body .pricingCampaignItem i {

	color: #c6a348 !important;
}


/* キャンペーン価格 */
body .pricingCampaignItem strong {

	color: #ff5454 !important;

	text-shadow: none !important;
}


body .pricingCampaignNote {

	border-top:
		1px solid rgba(202,163,72,.22) !important;
}


/* ==================================================
   料金・募集枠のお知らせ
================================================== */

body .pricingNews {

	border:
		1px solid rgba(198,156,60,.50) !important;

	background:
		linear-gradient(
			135deg,
			rgba(255,255,255,.035),
			transparent
		),
		rgba(17,17,17,.92) !important;

	box-shadow: none !important;

	animation: none !important;
}


body .pricingNews h3 {

	color: #c6a348 !important;
}


body .pricingNewsContent > div {

	border-left:
		1px solid rgba(201,161,67,.45) !important;
}


/* ==================================================
   料金カード共通
================================================== */

body .pricingCard {

	padding: 6px !important;

	border:
		1px solid rgba(202,163,72,.55) !important;

	background:
		linear-gradient(
			145deg,
			rgba(255,255,255,.035),
			transparent 52%
		),
		#101010 !important;

	background-size: auto !important;

	box-shadow:
		0 20px 45px rgba(0,0,0,.34) !important;

	animation: none !important;
}


body .pricingCard:hover {

	border-color:
		#dfc06c !important;

	box-shadow:
		0 26px 58px rgba(0,0,0,.48),
		0 0 22px rgba(197,149,40,.08) !important;

	transform:
		translateY(-5px);
}


/* ヘッダー */
body .pricingCardHeader {

	border-bottom:
		1px solid rgba(198,158,62,.40) !important;
}


/* 英字 */
body .pricingCardHeader > p {

	color: #c6a348 !important;
}


/* 税込 */
body .pricingCardPrice p {

	color: #c6a348 !important;
}


/* 通常価格 */
body .pricingCardPrice strong {

	color: #fff !important;

	text-shadow: none !important;
}


/* 詳細項目 */
body .pricingCardDetails > div {

	border-top:
		1px solid rgba(202,163,72,.22) !important;
}


body .pricingCardDetails dt {

	color: #c6a348 !important;
}


/* ==================================================
   SILVER
================================================== */

body .pricingCardSilver .pricingCardHeader {

	background:
		linear-gradient(
			135deg,
			#414141,
			#181818
		) !important;
}


/* ==================================================
   GOLD
   元のゴールドプラン
================================================== */

body .pricingCardGold {

	z-index: 2;

	border:
		1px solid #dfc06c !important;

	background:
		linear-gradient(
			145deg,
			rgba(167,116,23,.27),
			transparent 52%
		),
		#0f1114 !important;

	box-shadow:
		0 28px 65px rgba(0,0,0,.52),
		0 0 28px rgba(195,148,45,.13) !important;

	animation: none !important;

	transform:
		translateY(-14px);
}


body .pricingCardGold:hover {

	transform:
		translateY(-20px);
}


body .pricingCardGold .pricingCardHeader {

	background:
		linear-gradient(
			135deg,
			#80601f 0%,
			#564019 30%,
			#28200f 68%,
			#6f521c 100%
		) !important;
}


/* Gold */
body .pricingCardGold .pricingCardHeader > p {

	color: #e0c16c !important;
}


/* 金額 */
body .pricingCardGold .pricingCardPrice strong {

	color: #dfc06c !important;

	text-shadow:
		0 0 10px rgba(200,155,45,.12) !important;
}


body .pricingCardGold .pricingCardDetails dt {

	color: #d2ad4f !important;
}


/* RECOMMENDED */
body .pricingRecommend {

	color: #0f1114 !important;

	background:
		linear-gradient(
			90deg,
			#8f6b22 0%,
			#c7a248 23%,
			#ead17a 50%,
			#c7a248 77%,
			#8f6b22 100%
		) !important;

	background-size: auto !important;

	box-shadow:
		0 8px 18px rgba(0,0,0,.30) !important;

	animation: none !important;
}


/* ==================================================
   PLATINUM
================================================== */

body .pricingCardPlatinum .pricingCardHeader {

	background:
		linear-gradient(
			135deg,
			#65656a,
			#25252a
		) !important;
}


/* ==================================================
   JUNIOR
   元デザインの青緑
================================================== */

body .pricingCardJunior .pricingCardHeader {

	background:
		linear-gradient(
			135deg,
			#376f77,
			#18393f
		) !important;
}


/* ==================================================
   TIME ZONE PLAN
   元デザインのダークブルー
================================================== */

body .pricingCardTime .pricingCardHeader {

	background:
		linear-gradient(
			135deg,
			#273f54,
			#101c27
		) !important;
}


/* ==================================================
   レッスンだけプラン
================================================== */

body .pricingLessonCard {

	border:
		1px solid rgba(202,163,72,.55) !important;

	background:
		#121212 !important;

	box-shadow:
		0 22px 48px rgba(0,0,0,.32) !important;

	animation: none !important;
}


body .pricingLessonIntro {

	background:
		linear-gradient(
			135deg,
			#73551c,
			#382b13 42%,
			#17130c
		) !important;
}


body .pricingLessonPrice {

	border-right:
		1px solid rgba(202,163,72,.22) !important;
}


body .pricingLessonPrice p,
body .pricingLessonPrice > span,
body .pricingLessonDetails dt {

	color: #c6a348 !important;
}


body .pricingLessonPrice strong {

	color: #fff !important;
}


body .pricingLessonDetails > div {

	border-bottom:
		1px solid rgba(202,163,72,.22) !important;
}


/* ==================================================
   OTHER SERVICES
================================================== */

body .pricingServiceLinks a {

	border:
		1px solid rgba(202,163,72,.60) !important;

	background:
		linear-gradient(
			135deg,
			rgba(142,92,19,.35),
			rgba(255,255,255,.01)
		),
		#111 !important;

	background-size: auto !important;

	box-shadow: none !important;

	animation: none !important;
}


body .pricingServiceLinks a:hover {

	border-color:
		#dfc06c !important;

	box-shadow:
		0 22px 48px rgba(0,0,0,.38) !important;

	transform:
		translateY(-5px);
}


body .pricingServiceLinks span,
body .pricingServiceLinks i {

	color: #c6a348 !important;
}


/* 光が走る効果は元の控えめなものに */
body .pricingServiceLinks a::after {

	position: absolute;

	top: 0;
	left: -100%;

	width: 80%;
	height: 100%;

	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(255,255,255,.07),
			transparent
		) !important;

	transform:
		skewX(-20deg);

	transition:
		left .6s ease;

	content: "";
}


body .pricingServiceLinks a:hover::after {

	left: 130%;
}


/* ==================================================
   体験入店 STEP
================================================== */

body .pricethree {

	border-top:
		1px solid rgba(200,158,62,.45) !important;
}


/* STEPをつなぐゴールド線 */
body .pricingStepList::before,
body .pricethree .pricingStepList::before {

	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(204,165,74,.8) 10%,
			rgba(204,165,74,.8) 90%,
			transparent
		) !important;

	box-shadow: none !important;
}


/* STEPカード */
body .pricingStepList > li,
body .pricethree .pricingStepList > li {

	border:
		1px solid rgba(192,148,48,.62) !important;

	background:
		linear-gradient(
			145deg,
			rgba(255,255,255,.035),
			transparent 55%
		),
		#111 !important;

	background-size: auto !important;

	box-shadow:
		0 20px 45px rgba(0,0,0,.35) !important;

	animation: none !important;
}


body .pricingStepList > li:hover,
body .pricethree .pricingStepList > li:hover {

	border-color:
		#dfc06c !important;

	box-shadow:
		0 26px 55px rgba(0,0,0,.46),
		0 0 22px rgba(196,149,42,.09) !important;
}


/* STEP 03だけ少し強調 */
body .pricingStepList > li:nth-child(3),
body .pricethree .pricingStepList > li:nth-child(3) {

	border:
		1px solid rgba(211,170,74,.95) !important;

	background:
		linear-gradient(
			145deg,
			rgba(167,113,24,.24),
			transparent 55%
		),
		#0f1114 !important;
}


/* STEP番号 */
body .pricingStepNumber,
body .pricethree .pricingStepList > li > .pricingStepNumber {

	color:
		#dfc06c !important;

	border:
		1px solid rgba(207,165,69,.90) !important;

	background:
		linear-gradient(
			145deg,
			#0f1114,
			#0d0d0d
		) !important;

	box-shadow:
		inset 0 0 22px rgba(207,165,69,.08),
		0 8px 20px rgba(0,0,0,.35) !important;
}


/* ==================================================
   スマホ
================================================== */

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

	body .pricingCardGold,
	body .pricingCardGold:hover {

		transform:
			none !important;
	}
}


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

	body .pricingCampaign,
	body .pricingNews,
	body .pricingCard,
	body .pricingLessonCard,
	body .pricingServiceLinks a,
	body .pricethree .pricingStepList > li {

		border-width:
			1px !important;
	}


	body .pricingCampaignItem {

		border-left:
			0 !important;

		border-top:
			1px solid rgba(202,163,72,.22) !important;
	}


	body .pricingCard:hover,
	body .pricingServiceLinks a:hover,
	body .pricethree .pricingStepList > li:hover {

		transform:
			none !important;
	}
}

/* ==================================================
   時間帯限定プラン
   個別カラー復元
================================================== */


/* ==================================================
   早起き＆ミッドナイト
   NAVY
================================================== */

body .pricingCardEarly {
	border-color: rgba(78, 133, 181, 0.75) !important;
}

body .pricingCardEarly .pricingCardHeader {
	background:
		linear-gradient(
			135deg,
			#315776,
			#132736
		) !important;
}

body .pricingCardEarly .pricingCardHeader > p,
body .pricingCardEarly .pricingCardDetails dt,
body .pricingCardEarly .pricingCardPrice p {
	color: #8fc4e8 !important;
}


/* ==================================================
   お昼休みにサクッと
   GREEN
================================================== */

body .pricingCardLunch {
	border-color: rgba(104, 157, 93, 0.75) !important;
}

body .pricingCardLunch .pricingCardHeader {
	background:
		linear-gradient(
			135deg,
			#416a42,
			#1c3420
		) !important;
}

body .pricingCardLunch .pricingCardHeader > p,
body .pricingCardLunch .pricingCardDetails dt,
body .pricingCardLunch .pricingCardPrice p {
	color: #a9d99e !important;
}


/* ==================================================
   土日祝日プラン
   BORDEAUX
================================================== */

body .pricingCardWeekend {
	border-color: rgba(157, 92, 78, 0.75) !important;
}

body .pricingCardWeekend .pricingCardHeader {
	background:
		linear-gradient(
			135deg,
			#743d35,
			#351b19
		) !important;
}

body .pricingCardWeekend .pricingCardHeader > p,
body .pricingCardWeekend .pricingCardDetails dt,
body .pricingCardWeekend .pricingCardPrice p {
	color: #e0a496 !important;
}


/* ==================================================
   HOVER
================================================== */

body .pricingCardEarly:hover {
	border-color: #8fc4e8 !important;
	box-shadow:
		0 26px 58px rgba(0,0,0,.48),
		0 0 20px rgba(78,133,181,.16) !important;
}

body .pricingCardLunch:hover {
	border-color: #a9d99e !important;
	box-shadow:
		0 26px 58px rgba(0,0,0,.48),
		0 0 20px rgba(104,157,93,.16) !important;
}

body .pricingCardWeekend:hover {
	border-color: #e0a496 !important;
	box-shadow:
		0 26px 58px rgba(0,0,0,.48),
		0 0 20px rgba(157,92,78,.16) !important;
}

/* ==========================================================
   PRICE PAGE
   TOP PAGE SILVER / GUNMETAL COLOR MATCH
   共通ゴールド装飾のみシルバーへ変更
========================================================== */

.newPricing,
.pricethree {
	--top-silver: #c2c7cc;
	--top-silver-light: #e5e8eb;
	--top-silver-mid: #9299a1;
	--top-gunmetal: #656c73;
	--top-dark: #24282d;
	--top-line: rgba(194, 199, 204, .32);
}


/* ==================================================
   PRICING PLAN
   BASIC PLAN
   TIME ZONE PLAN
   LESSON PLAN
   OTHER SERVICES
   STEPS TO TRIAL VISIT

   英字見出しをTOPのシルバーへ
================================================== */

body .pricingMainEnglish,
body .newPricingEnglish,
body .pricingSectionHeading > p {
	color: #c2c7cc !important;

	text-shadow:
		0 0 8px rgba(229,232,235,.12) !important;
}


/* 見出し下の装飾線 */
body .pricingSectionHeading h2::after,
body .pricingMainTitle::after {
	background:
		linear-gradient(
			90deg,
			transparent 0%,
			#656c73 12%,
			#c2c7cc 32%,
			#ffffff 50%,
			#9299a1 68%,
			#656c73 88%,
			transparent 100%
		) !important;

	box-shadow:
		0 0 7px rgba(194,199,204,.22) !important;
}


/* ==================================================
   共通：鏡面シルバーフレーム

   ※ゴールド・時間帯3色は除外
================================================== */

body .pricingCard:not(.pricingCardGold):not(.pricingCardEarly):not(.pricingCardLunch):not(.pricingCardWeekend),
body .pricingCampaign,
body .pricingNews,
body .pricingLessonCard,
body .pricingServiceLinks a,
body .pricethree .pricingStepList > li {
	border: 2px solid transparent !important;

	border-image:
		linear-gradient(
			120deg,
			#ffffff 0%,
			#7f868c 10%,
			#e5e8eb 22%,
			#9299a1 36%,
			#ffffff 50%,
			#777e84 65%,
			#c2c7cc 78%,
			#ffffff 90%,
			#858c92 100%
		) 1 !important;

	box-shadow:
		0 18px 42px rgba(0,0,0,.36),
		0 0 8px rgba(194,199,204,.10) !important;
}


/* ==================================================
   OPEN CAMPAIGN
   オープン記念料金
================================================== */

body .pricingCampaign {
	background: #121212 !important;
}


/* 左側タイトル */
body .pricingCampaignLabel {
	background:
		linear-gradient(
			135deg,
			#656c73 0%,
			#3f454b 28%,
			#24282d 65%,
			#51575d 100%
		) !important;
}


body .pricingCampaignLabel span {
	color: #c2c7cc !important;
}


body .pricingCampaignLabel strong {
	color: #fff !important;
}


/* 入会金・月会費 */
body .pricingCampaignItem > span,
body .pricingCampaignItem i {
	color: #c2c7cc !important;
}


body .pricingCampaignItem {
	border-left-color:
		rgba(194,199,204,.24) !important;
}


body .pricingCampaignNote {
	border-top-color:
		rgba(194,199,204,.24) !important;
}


/* 割引金額は赤のまま */
body .pricingCampaignItem strong {
	color: #ff5454 !important;
}


/* ==================================================
   料金・募集枠に関するお知らせ
================================================== */

body .pricingNews {
	background:
		linear-gradient(
			135deg,
			rgba(255,255,255,.04),
			transparent 55%
		),
		#111214 !important;
}


body .pricingNews h3 {
	color: #c2c7cc !important;
}


body .pricingNewsContent > div {
	border-left:
		1px solid rgba(194,199,204,.35) !important;
}


/* ==================================================
   BASIC PLAN
   通常料金カード共通
================================================== */

body .pricingCard:not(.pricingCardGold):not(.pricingCardEarly):not(.pricingCardLunch):not(.pricingCardWeekend)
	.pricingCardHeader > p,

body .pricingCard:not(.pricingCardGold):not(.pricingCardEarly):not(.pricingCardLunch):not(.pricingCardWeekend)
	.pricingCardPrice p,

body .pricingCard:not(.pricingCardGold):not(.pricingCardEarly):not(.pricingCardLunch):not(.pricingCardWeekend)
	.pricingCardDetails dt {

	color: #c2c7cc !important;
}


/* カード内区切り */
body .pricingCardDetails > div {
	border-top-color:
		rgba(194,199,204,.20) !important;
}


/* ==================================================
   GOLD PLAN
   ゴールドプランは変更しない
================================================== */

body .pricingCardGold {
	border-color: #dfc06c !important;
}


/* ==================================================
   TIME ZONE PLAN
   3種類の個別色は維持
================================================== */


/* 早起き＆ミッドナイト */

body .pricingCardEarly {
	border-color:
		rgba(78,133,181,.75) !important;
	border-image: none !important;
}

body .pricingCardEarly .pricingCardHeader {
	background:
		linear-gradient(
			135deg,
			#315776,
			#132736
		) !important;
}

body .pricingCardEarly .pricingCardHeader > p,
body .pricingCardEarly .pricingCardDetails dt,
body .pricingCardEarly .pricingCardPrice p {
	color: #8fc4e8 !important;
}


/* お昼休みにサクッと */

body .pricingCardLunch {
	border-color:
		rgba(104,157,93,.75) !important;
	border-image: none !important;
}

body .pricingCardLunch .pricingCardHeader {
	background:
		linear-gradient(
			135deg,
			#416a42,
			#1c3420
		) !important;
}

body .pricingCardLunch .pricingCardHeader > p,
body .pricingCardLunch .pricingCardDetails dt,
body .pricingCardLunch .pricingCardPrice p {
	color: #a9d99e !important;
}


/* 土日祝 */

body .pricingCardWeekend {
	border-color:
		rgba(157,92,78,.75) !important;
	border-image: none !important;
}

body .pricingCardWeekend .pricingCardHeader {
	background:
		linear-gradient(
			135deg,
			#743d35,
			#351b19
		) !important;
}

body .pricingCardWeekend .pricingCardHeader > p,
body .pricingCardWeekend .pricingCardDetails dt,
body .pricingCardWeekend .pricingCardPrice p {
	color: #e0a496 !important;
}


/* ==================================================
   LESSON PLAN
   レッスンだけプラン
================================================== */

body .pricingLessonIntro {
	background:
		linear-gradient(
			135deg,
			#656c73 0%,
			#3f454b 32%,
			#24282d 72%,
			#51575d 100%
		) !important;
}


body .pricingLessonIntro > p,
body .pricingLessonPrice p,
body .pricingLessonPrice > span,
body .pricingLessonDetails dt {
	color: #c2c7cc !important;
}


body .pricingLessonPrice {
	border-right:
		1px solid rgba(194,199,204,.24) !important;
}


body .pricingLessonDetails > div {
	border-bottom:
		1px solid rgba(194,199,204,.20) !important;
}


/* ==================================================
   OTHER SERVICES

   ・レッスン料金プラン
   ・法人会員様の料金プラン
================================================== */

body .pricingServiceLinks a {
	background:
		linear-gradient(
			135deg,
			rgba(101,108,115,.30),
			rgba(36,40,45,.12) 55%,
			rgba(255,255,255,.015)
		),
		#111214 !important;
}


/* 英字・VIEW MORE */
body .pricingServiceLinks span,
body .pricingServiceLinks i {
	color: #c2c7cc !important;
}


/* ホバー */
body .pricingServiceLinks a:hover {
	border-color: #e5e8eb !important;

	box-shadow:
		0 22px 48px rgba(0,0,0,.40),
		0 0 14px rgba(194,199,204,.14) !important;
}


/* 光が横切る */
body .pricingServiceLinks a::after {
	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(255,255,255,.04),
			rgba(255,255,255,.18),
			rgba(255,255,255,.04),
			transparent
		) !important;
}


/* ==================================================
   STEPS TO TRIAL VISIT
================================================== */

body .pricethree {
	border-top:
		1px solid rgba(194,199,204,.35) !important;
}


/* STEPをつなぐライン */
body .pricingStepList::before,
body .pricethree .pricingStepList::before {
	background:
		linear-gradient(
			90deg,
			transparent,
			#656c73 8%,
			#c2c7cc 25%,
			#ffffff 50%,
			#9299a1 75%,
			#656c73 92%,
			transparent
		) !important;

	box-shadow:
		0 0 7px rgba(194,199,204,.18) !important;
}


/* STEP01〜05カード */
body .pricingStepList > li,
body .pricethree .pricingStepList > li {
	background:
		linear-gradient(
			145deg,
			rgba(255,255,255,.035),
			transparent 55%
		),
		#111214 !important;
}


/* STEP03だけゴールドになっている設定も解除 */
body .pricingStepList > li:nth-child(3),
body .pricethree .pricingStepList > li:nth-child(3) {
	background:
		linear-gradient(
			145deg,
			rgba(255,255,255,.045),
			transparent 55%
		),
		#111214 !important;

	border-color: #c2c7cc !important;
}


/* ==================================================
   STEP 01〜05 円形番号
================================================== */

body .pricingStepNumber,
body .pricethree .pricingStepList > li > .pricingStepNumber {
	color: #e5e8eb !important;

	border:
		2px solid #9299a1 !important;

	background:
		radial-gradient(
			circle at 35% 25%,
			rgba(255,255,255,.12),
			transparent 28%
		),
		linear-gradient(
			145deg,
			#3f454b 0%,
			#24282d 38%,
			#0d0e0f 100%
		) !important;

	box-shadow:
		inset 0 0 15px rgba(255,255,255,.07),
		0 0 9px rgba(194,199,204,.12),
		0 8px 20px rgba(0,0,0,.38) !important;
}


/* ==================================================
   STEPカード hover
================================================== */

body .pricethree .pricingStepList > li:hover {
	border-color: #e5e8eb !important;

	box-shadow:
		0 26px 55px rgba(0,0,0,.46),
		0 0 15px rgba(194,199,204,.14) !important;
}


/* ==================================================
   スマホ
================================================== */

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

	body .pricingCard:not(.pricingCardGold):not(.pricingCardEarly):not(.pricingCardLunch):not(.pricingCardWeekend),
	body .pricingCampaign,
	body .pricingNews,
	body .pricingLessonCard,
	body .pricingServiceLinks a,
	body .pricethree .pricingStepList > li {
		border-width: 2px !important;
	}

	body .pricingCampaignItem {
		border-left: 0 !important;
		border-top:
			1px solid rgba(194,199,204,.22) !important;
	}

}

/* ==================================================
   見出しを1行表示
================================================== */

/* レッスンだけプラン */
.pricingLessonIntro h3 {
	white-space: nowrap !important;
}


/* STEP01：体験のお申込み */
.pricethree .pricingStepList > li:nth-child(1) .pricingStepContent h3 {
	white-space: nowrap !important;
}


/* STEP05：スタジオのご利用 */
.pricethree .pricingStepList > li:nth-child(5) .pricingStepContent h3 {
	white-space: nowrap !important;
}

/* ==================================================
   STEP 見出し調整
================================================== */

/* STEPタイトル全体 */
.pricethree .pricingStepContent h3 {
	text-align: center;
	min-height: 2.2em;
	display: flex;
	align-items: center;
	justify-content: center;
}


/* STEP01 / STEP05 だけ1行表示にして微調整 */
.pricethree .pricingStepList > li:nth-child(1) .pricingStepContent h3,
.pricethree .pricingStepList > li:nth-child(5) .pricingStepContent h3 {
	white-space: nowrap !important;
	font-size: clamp(16px, 1.15vw, 19px) !important;
	letter-spacing: 0.02em !important;
	line-height: 1.35 !important;
}


/* STEPカードの横余白を少しだけ詰める */
.pricethree .pricingStepList > li {
	padding: 27px 18px 30px !important;
}


/* 本文との間隔 */
.pricethree .pricingStepContent p {
	margin-top: 14px !important;
}


/* タブレット */
@media screen and (max-width: 1180px) {
	.pricethree .pricingStepList > li:nth-child(1) .pricingStepContent h3,
	.pricethree .pricingStepList > li:nth-child(5) .pricingStepContent h3 {
		font-size: 17px !important;
	}
}


/* スマホは1カラムになるので通常サイズに戻してOK */
@media screen and (max-width: 767px) {
	.pricethree .pricingStepList > li {
		padding: 24px 20px 27px !important;
	}

	.pricethree .pricingStepList > li:nth-child(1) .pricingStepContent h3,
	.pricethree .pricingStepList > li:nth-child(5) .pricingStepContent h3 {
		font-size: 19px !important;
		letter-spacing: 0.04em !important;
	}
}

/* ==================================================
   料金ページ スマホ表示調整
================================================== */
@media screen and (max-width: 767px) {

	/* セクション全体 */
	.newPricing {
		padding: 56px 16px 96px !important;
	}

	.newPricingInner {
		max-width: 100% !important;
	}

	/* ==================================================
	   メイン見出し
	================================================== */
	.pricingMainHeading {
		margin: 0 auto 34px !important;
		padding: 0 6px !important;
	}

	.pricingMainEnglish {
		margin-bottom: 10px !important;
		font-size: 13px !important;
		letter-spacing: 0.20em !important;
	}

	.pricingMainTitle,
	.newPricingHeading h2 {
		font-size: 38px !important;
		line-height: 1.35 !important;
		letter-spacing: 0.04em !important;
	}

	.pricingMainLead,
	.newPricingLead {
		margin-top: 18px !important;
		font-size: 14px !important;
		line-height: 1.9 !important;
	}

	.pricingMainTitle::after,
	.pricingSectionHeading h2::after {
		margin-top: 16px !important;
	}

	/* ==================================================
	   オープン記念料金
	================================================== */
	.pricingCampaign {
		margin-top: 32px !important;
		border-width: 2px !important;
	}

	.pricingCampaignLabel {
		padding: 22px 16px !important;
	}

	.pricingCampaignLabel span {
		font-size: 11px !important;
		letter-spacing: 0.18em !important;
	}

	.pricingCampaignLabel strong {
		margin-top: 6px !important;
		font-size: 18px !important;
		line-height: 1.5 !important;
	}

	.pricingCampaignItem {
		padding: 18px 14px !important;
		gap: 10px !important;
	}

	.pricingCampaignItem > span {
		font-size: 13px !important;
	}

	.pricingCampaignItem p {
		gap: 8px !important;
		flex-wrap: wrap;
		justify-content: center;
	}

	.pricingCampaignItem del {
		font-size: 13px !important;
	}

	.pricingCampaignItem i {
		font-size: 15px !important;
	}

	.pricingCampaignItem strong {
		font-size: 18px !important;
		line-height: 1.4 !important;
	}

	.pricingCampaignNote {
		padding: 10px 14px !important;
		font-size: 11px !important;
		line-height: 1.7 !important;
	}

	/* ==================================================
	   お知らせ
	================================================== */
	.pricingNews {
		margin-top: 20px !important;
		padding: 20px 16px !important;
		border-width: 2px !important;
	}

	.pricingNews h3 {
		margin-bottom: 16px !important;
		font-size: 17px !important;
		line-height: 1.6 !important;
	}

	.pricingNewsContent {
		gap: 18px !important;
	}

	.pricingNewsContent > div {
		padding-left: 14px !important;
	}

	.pricingNews p,
	.pricingNews li {
		font-size: 13px !important;
		line-height: 1.9 !important;
	}

	/* ==================================================
	   下固定CTAに隠れにくくする
	================================================== */
	.newPricing:last-child,
	.pricethree:last-child {
		padding-bottom: 110px !important;
	}
}

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

	/* 月会費側だけ少し余裕を持たせる */
	.pricingCampaignItem:nth-child(2) {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	.pricingCampaignItem:nth-child(2) p {
		width: 100%;
		justify-content: center !important;
	}

	.pricingCampaignItem:nth-child(2) strong {
		font-size: 16px !important;
		white-space: nowrap !important;
		letter-spacing: -0.02em !important;
	}
}

/* ==========================================================
   法人会員様の料金プラン
   GOLD → TOP SILVER / GUNMETAL
========================================================== */


/* ==================================================
   MV 下線
================================================== */

body .corporatePlanPage .corporateHero,
body .corporatePlanPage .corporateMv {
	border-bottom:
		1px solid rgba(194, 199, 204, .40) !important;
}


/* ==================================================
   MV画像フレーム
================================================== */

body .corporatePlanPage .corporateMvImage {
	border:
		2px solid #9299a1 !important;

	box-shadow:
		0 24px 55px rgba(0,0,0,.45),
		0 0 10px rgba(194,199,204,.12) !important;
}


/* ==================================================
   法人料金カード
================================================== */

body .corporatePlanPage .corporatePlanCard {
	border:
		2px solid #9299a1 !important;

	background:
		#111 !important;

	box-shadow:
		0 25px 55px rgba(0,0,0,.40),
		0 0 9px rgba(194,199,204,.10) !important;
}


/* カード内側のゴールド枠をシルバーへ */
body .corporatePlanPage .corporatePlanCardBody {
	border:
		1px solid rgba(194,199,204,.42) !important;

	background:
		linear-gradient(
			145deg,
			#18191a,
			#0d0e0f
		) !important;
}


/* ==================================================
   カードタイトル
================================================== */

body .corporatePlanPage .corporatePlanCardTitle {
	background:
		linear-gradient(
			90deg,
			#24282d 0%,
			#656c73 50%,
			#24282d 100%
		) !important;
}


/* ==================================================
   カード内の区切り線
================================================== */

body .corporatePlanPage .corporatePlanCatch {
	border-bottom:
		1px solid rgba(194,199,204,.27) !important;
}


body .corporatePlanPage .corporatePlanPriceList > div {
	border-bottom:
		1px solid rgba(194,199,204,.22) !important;
}


body .corporatePlanPage .corporatePlanMainPrice {
	border-bottom:
		1px solid rgba(194,199,204,.27) !important;
}


body .corporatePlanPage .corporatePlanDetails > div {
	border-bottom:
		1px solid rgba(194,199,204,.22) !important;
}


/* ==================================================
   金額・項目カラー
================================================== */

body .corporatePlanPage .corporatePlanPriceList span,
body .corporatePlanPage .corporatePlanMainPrice p,
body .corporatePlanPage .corporatePlanMainPrice strong,
body .corporatePlanPage .corporatePlanDetails dt {
	color:
		#c2c7cc !important;
}


/* ==================================================
   詳細アイコン
================================================== */

body .corporatePlanPage .corporateDetailIcon {
	color:
		#c2c7cc !important;

	border:
		1px solid #9299a1 !important;

	background:
		#181a1c !important;

	box-shadow:
		inset 0 0 8px rgba(255,255,255,.05);
}


/* ==================================================
   共通内容
================================================== */

body .corporatePlanPage .corporateCommon {
	border:
		1px solid #656c73 !important;

	background:
		linear-gradient(
			90deg,
			rgba(101,108,115,.22),
			rgba(255,255,255,.025)
		),
		#151515 !important;
}


/* 左タイトルとの境界 */
body .corporatePlanPage .corporateCommon h3 {
	color:
		#c2c7cc !important;

	border-right:
		1px solid rgba(194,199,204,.35) !important;
}


/* チェック */
body .corporatePlanPage .corporateCommon li::before {
	color:
		#c2c7cc !important;
}


/* ==================================================
   古い法人カード指定が残っている場合もシルバー化
================================================== */

body .corporatePlanPage .corporateCard {
	border:
		2px solid #9299a1 !important;

	background:
		linear-gradient(
			135deg,
			#3f454b,
			#181a1c
		) !important;

	box-shadow:
		0 20px 50px rgba(0,0,0,.32),
		0 0 10px rgba(194,199,204,.10) !important;
}


body .corporatePlanPage .corporateCardInner {
	border:
		1px solid rgba(194,199,204,.38) !important;
}


body .corporatePlanPage .corporateDetails {
	border-top:
		1px solid rgba(194,199,204,.35) !important;
}


body .corporatePlanPage .corporateDetails > div {
	border-right:
		1px solid rgba(194,199,204,.28) !important;

	border-bottom:
		1px solid rgba(194,199,204,.28) !important;
}


/* ==================================================
   スマホ
================================================== */

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

	body .corporatePlanPage .corporateCommon h3 {
		border-right: 0 !important;

		border-bottom:
			1px solid rgba(194,199,204,.35) !important;
	}

	body .corporatePlanPage .corporateMvImage,
	body .corporatePlanPage .corporatePlanCard,
	body .corporatePlanPage .corporateCard {
		border-width: 2px !important;
	}

}


/* ==================================================
   レッスン料金ページ
   ORIGINAL GOLD BASE
================================================== */

.tourProPage {
	--tour-gold: #c9a244;
	--tour-gold-light: #dfc06a;
	--tour-gold-dark: #80601f;
	--tour-gold-deep: #4b3514;
	--tour-gold-line: rgba(201, 162, 68, .55);
}


/* ==================================================
   ページ全体
================================================== */

.tourProPage .tourPro {
	background:
		linear-gradient(
			rgba(8, 8, 8, .96),
			rgba(15, 15, 15, .98)
		),
		radial-gradient(
			circle at top left,
			rgba(184, 143, 49, .14),
			transparent 45%
		) !important;
}


/* ==================================================
   上部タイトル
================================================== */

.tourProPage .tourProEnglish {
	color: var(--tour-gold-light) !important;
}


/* ==================================================
   01 / 02 番号
================================================== */

.tourProPage .tourProSectionHeading h3 > span {
	color: var(--tour-gold-light) !important;
	border-color: var(--tour-gold) !important;
}


/* ==================================================
   バッジ
================================================== */

.tourProPage .tourProPopular,
.tourProPage .tourProBadge {
	color: #fff !important;

	border-color: var(--tour-gold-light) !important;

	background:
		linear-gradient(
			135deg,
			#d0ad55 0%,
			#9a7328 48%,
			#5c4217 100%
		) !important;

	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.22),
		0 8px 25px rgba(0,0,0,.35),
		0 0 18px rgba(201,162,68,.13) !important;
}


/* ==================================================
   メイン画像
================================================== */

.tourProPage .tourProMainImage {
	border-color: rgba(202,162,66,.8) !important;
}


/* ==================================================
   料金表
================================================== */

.tourProPage .tourProTableWrap {
	border-color: rgba(203,165,72,.75) !important;
}


/* 表ヘッダー */
.tourProPage .tourProTable thead th {
	background:
		linear-gradient(
			180deg,
			#332814 0%,
			#17130c 100%
		) !important;

	border-color: rgba(201,162,68,.55) !important;

	color: #fff !important;
}


/* ==================================================
   更なる特別料金
================================================== */

.tourProPage .tourProSpecial {
	border-color: var(--tour-gold) !important;

	background:
		linear-gradient(
			135deg,
			#fff 0%,
			#f3ead8 100%
		) !important;

	box-shadow:
		0 18px 42px rgba(0,0,0,.30),
		inset 0 0 28px rgba(187,146,50,.12) !important;
}


/* 更なる特別料金！！ */
.tourProPage .tourProSpecialTitle {
	color: #fff !important;

	background:
		linear-gradient(
			135deg,
			#d1ad53 0%,
			#9a7228 52%,
			#5a4016 100%
		) !important;

	box-shadow:
		0 7px 18px rgba(0,0,0,.22),
		0 0 14px rgba(201,162,68,.15) !important;
}


/* 前回追加した個別プラン色も解除 */
.tourProPage .tourProSpecial ul li strong,
.tourProPage .tourProSpecial ul li span {
	color: #171717 !important;
	text-shadow: none !important;
}


/* プラチナ無料部分だけ元の強調色 */
.tourProPage .tourProSpecial ul li:nth-child(3) span {
	color: #168d38 !important;
}


/* ==================================================
   ラウンドレッスン 注意事項
================================================== */

.tourProPage .tourProImportant {
	border-color: var(--tour-gold) !important;

	background:
		linear-gradient(
			135deg,
			#fff 0%,
			#f3ead8 100%
		) !important;

	box-shadow:
		0 18px 42px rgba(0,0,0,.26),
		inset 0 0 24px rgba(187,146,50,.12) !important;
}


/* ==================================================
   お問い合わせ
================================================== */

.tourProPage .tourProContact {
	border-top-color: var(--tour-gold-line) !important;
	border-bottom-color: var(--tour-gold-line) !important;
}


/* カレンダーアイコン */
.tourProPage .tourProContactIcon {
	color: var(--tour-gold-light) !important;
	border-color: var(--tour-gold) !important;
}


/* ==================================================
   LINEボタン
================================================== */

.tourProPage .tourProLineButton {
	border-color: var(--tour-gold-light) !important;

	background:
		linear-gradient(
			135deg,
			#c9a244,
			#72531c
		) !important;

	color: #fff !important;
}


/* ==================================================
   このページ内の細い装飾線
================================================== */

.tourProPage .tourProSectionHeading,
.tourProPage .tourProContact {
	--tour-accent: var(--tour-gold);
}


/* ==================================================
   LESSON PLANS & PRICING
   TOPデザイン統一版
   BLACK × OFF WHITE × SILVER + GOLD ACCENT
================================================== */

.tourProPage {
	--lesson-black: #0A0A0A;
	--lesson-black-2: #121315;
	--lesson-black-3: #1B1D20;

	--lesson-white: #F7F6F2;
	--lesson-white-2: #ECEAE5;

	--lesson-silver: #C8C9CC;
	--lesson-silver-soft: #A7A9AD;

	--lesson-text: #252525;
	--lesson-text-soft: #666663;

	--lesson-line: rgba(200,201,204,.28);
	--lesson-line-dark: rgba(20,20,20,.14);

	/* ゴールドはアクセントだけ */
	--lesson-gold: #B89A5A;
}


/* ==================================================
   PAGE BASE
================================================== */

.tourProPage {
	background: var(--lesson-black) !important;
	color: var(--lesson-white) !important;
}

.tourProPage .tourPro {
	padding: 100px 40px 120px !important;

	background:
		linear-gradient(
			180deg,
			#0A0A0A 0%,
			#101113 100%
		) !important;
}


/* 旧ゴールド系背景装飾を弱くする */
.tourProPage .tourPro::before {
	opacity: .32 !important;
}


/* ==================================================
   TOP HEADING
================================================== */

.tourProPage .tourProHeading {
	gap: 38px !important;
	margin-bottom: 46px !important;
}


/* 英字 */
.tourProPage .tourProEnglish {
	color: var(--lesson-silver-soft) !important;

	font-family: "Outfit", sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;

	letter-spacing: .22em !important;
}


/* 日本語タイトル */
.tourProPage .tourProHeadingText h2 {
	color: var(--lesson-white) !important;

	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif !important;

	font-size: clamp(38px, 4.4vw, 58px) !important;
	font-weight: 400 !important;

	letter-spacing: .04em !important;
}


/* 人気バッジ */
.tourProPage .tourProPopular {
	min-width: 0 !important;
	padding: 10px 20px !important;

	border: 1px solid rgba(184,154,90,.72) !important;
	border-radius: 0 !important;

	background: transparent !important;

	color: var(--lesson-gold) !important;

	box-shadow: none !important;

	font-size: 14px !important;
	font-weight: 500 !important;
}


/* ==================================================
   MAIN IMAGE
================================================== */

.tourProPage .tourProMainImage {
	margin-bottom: 80px !important;

	border: 1px solid var(--lesson-line) !important;

	box-shadow:
		0 20px 45px rgba(0,0,0,.28) !important;
}


/* ==================================================
   SECTION TITLE
================================================== */

.tourProPage .tourProSection + .tourProSection {
	margin-top: 100px !important;
}


.tourProPage .tourProSectionHeading {
	margin-bottom: 28px !important;

	padding-bottom: 20px !important;

	border-bottom:
		1px solid var(--lesson-line) !important;
}


.tourProPage .tourProSectionHeading h3 {
	color: var(--lesson-white) !important;

	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif !important;

	font-size: clamp(24px, 2.5vw, 32px) !important;
	font-weight: 400 !important;

	letter-spacing: .04em !important;
}


/* 01 / 02 */
.tourProPage .tourProSectionHeading h3 > span {
	width: auto !important;
	height: auto !important;

	padding: 0 !important;

	border: none !important;
	border-radius: 0 !important;

	color: var(--lesson-gold) !important;

	font-family: "Outfit", sans-serif !important;
	font-size: 12px !important;
	font-weight: 400 !important;

	letter-spacing: .12em !important;
}


/* バッジ */
.tourProPage .tourProBadge {
	padding: 8px 16px !important;

	border: 1px solid var(--lesson-line) !important;
	border-radius: 0 !important;

	background: transparent !important;

	color: var(--lesson-silver) !important;

	box-shadow: none !important;

	font-size: 12px !important;
	font-weight: 400 !important;
}


/* ==================================================
   PRICE TABLE
================================================== */

.tourProPage .tourProTableWrap {
	border: none !important;

	background: var(--lesson-white) !important;

	box-shadow:
		0 18px 42px rgba(0,0,0,.24) !important;
}


.tourProPage .tourProTable {
	background: var(--lesson-white) !important;

	color: var(--lesson-text) !important;
}


/* 表の線を軽く */
.tourProPage .tourProTable th,
.tourProPage .tourProTable td {
	border-color: var(--lesson-line-dark) !important;
}


/* テーブル見出し */
.tourProPage .tourProTable thead th {
	background: var(--lesson-black-2) !important;

	border-color:
		rgba(255,255,255,.12) !important;

	color: var(--lesson-white) !important;

	font-weight: 400 !important;
}


/* 左列 */
.tourProPage .tourProTable tbody th {
	background: #ECEAE5 !important;

	color: #292929 !important;
}


/* 通常セル */
.tourProPage .tourProTable tbody td {
	background: #F7F6F2 !important;

	color: #292929 !important;
}


/* 会員様の強調
   緑ベタは使わず、TOPらしく静かな強調へ
*/
.tourProPage .tourProTable .is-highlight th,
.tourProPage .tourProTable .is-highlight td {
	background: #F1EEE7 !important;

	color: #222 !important;

	font-weight: 600 !important;
}


/* 会員様行の左だけアクセント */
.tourProPage .tourProTable .is-highlight th {
	border-left:
		3px solid var(--lesson-gold) !important;
}


/* ==================================================
   特別料金
================================================== */

.tourProPage .tourProSpecial {
	margin-top: 46px !important;

	padding: 48px 38px 32px !important;

	border:
		1px solid rgba(20,20,20,.12) !important;

	border-radius: 0 !important;

	background:
		#F2F0EB !important;

	color: var(--lesson-text) !important;

	box-shadow:
		0 14px 34px rgba(0,0,0,.15) !important;
}


/* 「更なる特別料金！！」 */
.tourProPage .tourProSpecialTitle {
	top: -17px !important;
	left: 28px !important;

	padding: 8px 18px !important;

	border-radius: 0 !important;

	background:
		var(--lesson-black-2) !important;

	border:
		1px solid var(--lesson-line) !important;

	color: var(--lesson-white) !important;

	box-shadow: none !important;

	font-size: 14px !important;
	font-weight: 500 !important;

	letter-spacing: .06em !important;
}


/* ==================================================
   特別料金の個別カラー
   ※ここは維持
================================================== */

/* ゴールド */
.tourProPage .tourProSpecial ul li:nth-child(1) strong,
.tourProPage .tourProSpecial ul li:nth-child(1) span {
	color: #B89A5A !important;
}


/* ジュニア */
.tourProPage .tourProSpecial ul li:nth-child(2) strong,
.tourProPage .tourProSpecial ul li:nth-child(2) span {
	color: #376F77 !important;
}


/* プラチナ */
.tourProPage .tourProSpecial ul li:nth-child(3) strong,
.tourProPage .tourProSpecial ul li:nth-child(3) span {
	color: #8F969F !important;
}


/* ==================================================
   ROUND LESSON IMPORTANT
================================================== */

.tourProPage .tourProImportant {
	margin-top: 30px !important;

	padding: 28px 32px !important;

	border:
		1px solid rgba(20,20,20,.12) !important;

	border-radius: 0 !important;

	background:
		#F2F0EB !important;

	color: var(--lesson-text) !important;

	box-shadow:
		0 14px 34px rgba(0,0,0,.14) !important;
}


/* ＜重要＞だけゴールドアクセント */
.tourProPage .tourProImportant strong {
	color: #8E6D2F !important;
}


/* ==================================================
   CONTACT
================================================== */

.tourProPage .tourProContact {
	margin-top: 90px !important;

	padding: 32px 0 !important;

	border-top:
		1px solid var(--lesson-line) !important;

	border-bottom:
		1px solid var(--lesson-line) !important;

	background: transparent !important;
}


/* カレンダー */
.tourProPage .tourProContactIcon {
	border:
		1px solid var(--lesson-line) !important;

	background: transparent !important;

	color: var(--lesson-silver) !important;
}


.tourProPage .tourProContactText p {
	color: #D2D2CF !important;

	font-weight: 400 !important;
}


/* ==================================================
   SP
================================================== */

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

	.tourProPage .tourPro {
		padding:
			65px 18px 80px !important;
	}


	.tourProPage .tourProHeading {
		display: block !important;

		margin-bottom: 35px !important;
	}


	.tourProPage .tourProPopular {
		display: inline-block !important;

		margin-bottom: 20px !important;
	}


	.tourProPage .tourProEnglish {
		font-size: 10px !important;
	}


	.tourProPage .tourProHeadingText h2 {
		font-size: 30px !important;
		line-height: 1.5 !important;
	}


	.tourProPage .tourProMainImage {
		margin-bottom: 55px !important;
	}


	.tourProPage .tourProSection + .tourProSection {
		margin-top: 70px !important;
	}


	.tourProPage .tourProSectionHeading {
		display: block !important;

		padding-bottom: 16px !important;
	}


	.tourProPage .tourProSectionHeading h3 {
		font-size: 20px !important;
	}


	.tourProPage .tourProBadge {
		margin-top: 12px !important;
	}


	.tourProPage .tourProSpecial {
		padding:
			42px 18px 24px !important;
	}


	.tourProPage .tourProSpecialTitle {
		left: 15px !important;

		font-size: 12px !important;
	}


	.tourProPage .tourProImportant {
		padding:
			22px 18px !important;
	}


	.tourProPage .tourProContact {
		padding:
			26px 0 !important;
	}

}


/* ==================================================
   レッスン料金 吹き出し
   相場12,000円 / SILVER BASE
================================================== */

.tourProTable .memberPrice1h::before {
	content: "相場12,000円以上のところ、破格でご提供！！" !important;

	background:
		linear-gradient(
			135deg,
			#2A2D32 0%,
			#151619 55%,
			#222428 100%
		) !important;

	border: 1px solid rgba(216, 216, 218, .72) !important;

	color: #F7F6F2 !important;

	box-shadow:
		0 8px 20px rgba(0, 0, 0, .30),
		inset 0 1px 0 rgba(255, 255, 255, .06) !important;

	text-shadow: none !important;
}


/* 吹き出し下の三角 */
.tourProTable .memberPrice1h::after {
	border-top-color: #222428 !important;
}

/* ==================================================
   FC加盟店募集ページ
   TOP DESIGN UNIFY
   BLACK × OFF WHITE × SILVER
================================================== */

.fcContactPage {
	--fc-black: #0A0A0A;
	--fc-black-2: #121315;
	--fc-black-3: #1B1D20;

	--fc-white: #F7F6F2;

	--fc-silver: #D8D8DA;
	--fc-silver-soft: #BFC2C7;
	--fc-silver-dark: #7F8389;

	--fc-line: rgba(216, 216, 218, .20);
	--fc-line-strong: rgba(216, 216, 218, .38);

	--fc-text: rgba(247, 246, 242, .82);
	--fc-subtext: rgba(216, 216, 218, .62);

	background:
		linear-gradient(
			180deg,
			#0A0A0A 0%,
			#111214 100%
		) !important;

	color: var(--fc-white) !important;
}


/* ==================================================
   ゴールド系の背景光をシルバーへ
================================================== */

.fcContactPage::before {
	background:
		radial-gradient(
			circle at 50% 0,
			rgba(216, 216, 218, .07) 0%,
			transparent 40%
		) !important;
}


/* ==================================================
   MAIN HEADING
================================================== */

/* FRANCHISE / SUPPORTなどの英字 */
.fcContactPage .fcContactEnglish,
.fcContactPage .fcContactSectionHeading > p {
	color: var(--fc-silver-soft) !important;

	font-family: "Outfit", sans-serif !important;

	font-weight: 400 !important;
}


/* 日本語見出し */
.fcContactPage .fcContactHeading h2,
.fcContactPage .fcContactSectionHeading h2 {
	color: var(--fc-white) !important;

	font-weight: 400 !important;
}


/* 説明文 */
.fcContactPage .fcContactLead,
.fcContactPage .fcContactSectionHeading > span {
	color: var(--fc-subtext) !important;
}


/* ==================================================
   INTRODUCTION
================================================== */

.fcContactPage .fcContactIntroduction {
	border:
		1px solid var(--fc-line) !important;

	background:
		linear-gradient(
			145deg,
			rgba(255,255,255,.035),
			transparent 52%
		),
		#121315 !important;

	box-shadow:
		0 22px 50px rgba(0,0,0,.32) !important;
}


/* 左ブロック */
.fcContactPage .fcContactIntroductionLabel {
	background:
		linear-gradient(
			135deg,
			#34373C 0%,
			#202226 48%,
			#101113 100%
		) !important;

	border-right:
		1px solid var(--fc-line) !important;
}


.fcContactPage .fcContactIntroductionLabel span {
	color: #AEB1B6 !important;
}


.fcContactPage .fcContactIntroductionLabel strong {
	color: var(--fc-white) !important;

	font-weight: 400 !important;
}


/* 右側 */
.fcContactPage .fcContactIntroductionContent h3 {
	color: var(--fc-white) !important;

	font-weight: 400 !important;
}


.fcContactPage .fcContactIntroductionContent p {
	color: var(--fc-text) !important;
}


/* ==================================================
   SUPPORT CARDS
================================================== */

.fcContactPage .fcContactFeatureList > li {
	border:
		1px solid var(--fc-line) !important;

	background:
		linear-gradient(
			145deg,
			rgba(216,216,218,.045) 0%,
			transparent 50%
		),
		#111214 !important;

	box-shadow:
		0 18px 40px rgba(0,0,0,.28) !important;

	transition:
		transform .3s ease,
		border-color .3s ease,
		box-shadow .3s ease !important;
}


/* hover */
.fcContactPage .fcContactFeatureList > li:hover {
	transform: translateY(-4px);

	border-color:
		var(--fc-line-strong) !important;

	box-shadow:
		0 24px 48px rgba(0,0,0,.34),
		0 0 0 1px rgba(216,216,218,.04) !important;
}


/* 01 / 02 / 03 */
.fcContactPage .fcContactFeatureNumber {
	color: var(--fc-silver) !important;

	border:
		1px solid var(--fc-line-strong) !important;

	background:
		#101113 !important;

	font-family: "Outfit", sans-serif !important;

	font-weight: 400 !important;
}


/* カードタイトル */
.fcContactPage .fcContactFeatureList h3 {
	color: var(--fc-white) !important;

	font-weight: 400 !important;
}


/* 本文 */
.fcContactPage .fcContactFeatureList p {
	color: var(--fc-subtext) !important;
}


/* ==================================================
   FORM BOX
================================================== */

.fcContactPage .fcContactFormBox {
	border:
		1px solid var(--fc-line) !important;

	background:
		linear-gradient(
			145deg,
			rgba(255,255,255,.025),
			transparent 52%
		),
		#101113 !important;

	box-shadow:
		0 24px 55px rgba(0,0,0,.32) !important;
}


.fcContactPage .fcFormTable {
	border-color:
		var(--fc-line) !important;
}


.fcContactPage .fcFormRow {
	border-color:
		var(--fc-line) !important;
}


/* ==================================================
   FORM LABEL
================================================== */

.fcContactPage .fcFormLabel {
	color: var(--fc-white) !important;

	background:
		rgba(216,216,218,.035) !important;

	font-weight: 500 !important;
}


/* 必須 */
.fcContactPage .fcFormLabel .is-required {
	background:
		#3A3C40 !important;

	border:
		1px solid rgba(216,216,218,.32) !important;

	color:
		#F7F6F2 !important;
}


/* ==================================================
   FORM INPUT
================================================== */

.fcContactPage .fcFormInput input[type="text"],
.fcContactPage .fcFormInput input[type="email"],
.fcContactPage .fcFormInput input[type="tel"],
.fcContactPage .fcFormInput select,
.fcContactPage .fcFormInput textarea {
	background:
		#090A0B !important;

	border:
		1px solid rgba(216,216,218,.30) !important;

	color:
		var(--fc-white) !important;

	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.02) !important;
}


/* placeholder */
.fcContactPage .fcFormInput input::placeholder,
.fcContactPage .fcFormInput textarea::placeholder {
	color:
		rgba(216,216,218,.32) !important;
}


/* focus */
.fcContactPage .fcFormInput input:focus,
.fcContactPage .fcFormInput select:focus,
.fcContactPage .fcFormInput textarea:focus {
	border-color:
		#BFC2C7 !important;

	box-shadow:
		0 0 0 2px rgba(216,216,218,.08) !important;
}


/* ==================================================
   PRIVACY
================================================== */

.fcContactPage .fcFormPrivacy {
	color:
		var(--fc-text) !important;
}


.fcContactPage .fcFormPrivacy a {
	color:
		var(--fc-silver) !important;
}


/* checkbox */
.fcContactPage .fcFormPrivacy input[type="checkbox"] {
	accent-color:
		#AEB1B6 !important;
}


/* ==================================================
   SUBMIT BUTTON
================================================== */

.fcContactPage .fcFormButtons button,
.fcContactPage .fcFormButtons input[type="submit"] {
	color:
		#101113 !important;

	border:
		1px solid #D8D8DA !important;

	background:
		linear-gradient(
			135deg,
			#ECEDEF 0%,
			#BFC2C7 50%,
			#7C8188 100%
		) !important;

	box-shadow:
		0 8px 22px rgba(0,0,0,.26),
		inset 0 1px 0 rgba(255,255,255,.5) !important;

	font-weight: 600 !important;
}


/* hover */
.fcContactPage .fcFormButtons button:hover,
.fcContactPage .fcFormButtons input[type="submit"]:hover {
	color:
		#F7F6F2 !important;

	border-color:
		#D8D8DA !important;

	background:
		#17181A !important;

	transform:
		translateY(-3px) !important;
}


/* 戻るボタン */
.fcContactPage .fcFormButtons .fcFormBack {
	color:
		#F7F6F2 !important;

	background:
		#17181A !important;

	border-color:
		rgba(216,216,218,.38) !important;
}


.fcContactPage .fcFormButtons .fcFormBack:hover {
	color:
		#111 !important;

	background:
		#D8D8DA !important;
}


/* ==================================================
   MOBILE
================================================== */

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

	.fcContactPage {
		padding:
			65px 18px 80px !important;
	}


	/* 左ラベルと本文の境界 */
	.fcContactPage .fcContactIntroductionLabel {
		border-right: 0 !important;

		border-bottom:
			1px solid var(--fc-line) !important;
	}


	.fcContactPage .fcContactFeatureList > li {
		box-shadow:
			0 14px 30px rgba(0,0,0,.24) !important;
	}


	/* SPはhover移動不要 */
	.fcContactPage .fcContactFeatureList > li:hover {
		transform: none !important;
	}


	.fcContactPage .fcContactFormBox {
		box-shadow:
			0 16px 35px rgba(0,0,0,.26) !important;
	}


	/* SPではラベル背景を消す */
	.fcContactPage .fcFormLabel {
		background:
			transparent !important;
	}


	.fcContactPage .fcFormButtons button,
	.fcContactPage .fcFormButtons input[type="submit"] {
		min-height:
			58px !important;
	}

}


/* ==================================================
   HEADER LOGO
   VERTEX GOLF 横長ロゴ対応
================================================== */

.zenHeaderLogo {
	flex: 0 0 245px !important;

	width: 245px !important;
	height: 92px !important;

	display: flex !important;
	align-items: center !important;

	overflow: hidden !important;
}


/* 横長SVGなのでwidth基準に変更 */
.zenHeaderLogo img {
	display: block !important;

	width: 230px !important;
	height: auto !important;

	max-width: 100% !important;
	max-height: 52px !important;

	object-fit: contain !important;
	object-position: left center !important;

	transform: none !important;
}


/* メニュー側 */
.zenHeaderRight {
	flex: 1 1 auto !important;
	justify-content: flex-end !important;

	min-width: 0 !important;
}


/* ==================================================
   1250px以下
================================================== */

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

	.zenHeaderLogo {
		flex-basis: 205px !important;

		width: 205px !important;
		height: 82px !important;
	}

	.zenHeaderLogo img {
		width: 195px !important;
		max-height: 45px !important;
	}

	.zenGlobalNav > ul {
		gap: 22px !important;
	}

}


/* ==================================================
   スマホ
================================================== */

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

	.zenHeaderLogo {
		flex: 0 0 190px !important;

		width: 190px !important;
		height: 82px !important;
	}

	.zenHeaderLogo img {
		width: 180px !important;
		height: auto !important;

		max-height: 44px !important;

		transform: none !important;
	}

}


/* ==================================================
   FOOTER 高さ調整
================================================== */

/* フッター全体 */
.zenFooter {
	padding: 45px 50px 20px !important;
}


/* フッターロゴ */
.zenFooterBrand a,
.zenFooterBrand img {
	width: 150px !important;
}


/* ロゴ → ナビ */
.zenFooterNavigation {
	margin-top: 32px !important;
}


/* ナビ */
.zenFooterNavigation nav > ul {
	gap: 30px !important;
}


/* ナビ → コピーライト */
.zenFooterBottom {
	margin-top: 32px !important;
	padding-top: 18px !important;
}


/* ==================================================
   スマホ
================================================== */
@media screen and (max-width: 980px) {

	.zenFooter {
		padding: 45px 20px 80px !important;
	}

	.zenFooterBrand a,
	.zenFooterBrand img {
		width: 140px !important;
	}

	.zenFooterNavigation {
		margin-top: 32px !important;
	}

	.zenFooterNavigation nav > ul {
		gap: 16px 18px !important;
	}

	.zenFooterSocial {
		margin-top: 28px !important;
	}

	.zenFooterBottom {
		margin-top: 30px !important;
		padding-top: 18px !important;
	}

}

/* ==================================================
   MACHINE PAGE
   TOPデザイン統一
   BLACK × OFF WHITE × SILVER
================================================== */

.machine {
	position: relative;

	padding: 100px 40px 120px !important;

	background:
		linear-gradient(
			180deg,
			#0A0A0A 0%,
			#111214 100%
		) !important;

	color: #F7F6F2 !important;
}


/* 背景にごく薄い質感 */
.machine::before {
	content: "";

	position: absolute;
	inset: 0;

	pointer-events: none;

	background:
		radial-gradient(
			circle at 50% 0%,
			rgba(216,216,218,.05),
			transparent 42%
		);

	opacity: .9;
}


.machine .machineMat {
	position: relative;
	z-index: 1;

	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif !important;
}


/* ==================================================
   PAGE TITLE
================================================== */

.machine .machineMat .common_tit {
	margin-bottom: 48px !important;
}


.machine .machineMat .common_tit > h2 {
	color: #F7F6F2 !important;

	font-weight: 400 !important;
}


.machine .machineMat .common_tit > h3 {
	color: #BFC2C7 !important;

	font-weight: 400 !important;
}


/* 見出し下の線 */
.machine .machineMat .common_tit::after {
	background:
		rgba(216,216,218,.32) !important;
}


/* ==================================================
   INTRO TEXT
================================================== */

.machine .machineMat > p,
.machine .machineMat p {
	color: rgba(247,246,242,.78) !important;

	font-size: 16px !important;

	font-weight: 400 !important;

	line-height: 2 !important;
	letter-spacing: .03em !important;
}


/* ==================================================
   VIDEO / MAIN VISUAL
================================================== */

.machine .machineMat .viewbox {
	width: 100% !important;

	height: 600px !important;

	margin:
		34px auto 85px !important;

	overflow: hidden !important;

	/* 太いグレー枠を削除 */
	border:
		1px solid rgba(216,216,218,.28) !important;

	background:
		#0A0A0A !important;

	box-shadow:
		0 20px 45px rgba(0,0,0,.28) !important;

	object-fit: fill;
}


.machine .machineMat .viewbox video,
.machine .machineMat .viewbox img {
	display: block;

	width: 100% !important;
	height: 100% !important;

	object-fit: cover !important;
}


/* ==================================================
   MACHINE CONTENT
================================================== */

.machine .machineCando {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 70px !important;

	width: 100%;

	margin:
		90px auto !important;

	padding-bottom:
		90px !important;

	border-bottom:
		1px solid rgba(216,216,218,.16) !important;
}


/* 最後は線不要 */
.machine .machineCando:last-child {
	padding-bottom: 0 !important;

	border-bottom: none !important;
}


/* ==================================================
   TEXT
================================================== */

.machine .machineCando .text {
	width:
		calc(50% - 35px) !important;
}


.machine .machineCando .text h3 {
	position: relative;

	margin:
		0 0 25px !important;

	padding-top:
		16px !important;

	color:
		#F7F6F2 !important;

	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif !important;

	font-size:
		28px !important;

	font-weight:
		400 !important;

	line-height:
		1.55 !important;

	letter-spacing:
		.04em !important;
}


/* 見出し上のシルバーライン */
.machine .machineCando .text h3::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;

	width: 52px;
	height: 1px;

	background:
		#BFC2C7;
}


.machine .machineCando .text p {
	margin-bottom:
		24px !important;

	color:
		rgba(247,246,242,.70) !important;

	font-size:
		15px !important;

	font-weight:
		400 !important;

	line-height:
		2 !important;
}


/* ==================================================
   PHOTO
================================================== */

.machine .machineCando .pic {
	width:
		calc(50% - 35px) !important;
}


.machine .machineCando .pic figure {
	position: relative;

	width:
		100% !important;

	height:
		auto !important;

	overflow:
		hidden !important;

	/* 8pxのグレー枠を1pxへ */
	border:
		1px solid rgba(216,216,218,.30) !important;

	background:
		#0A0A0A !important;

	box-shadow:
		0 18px 38px rgba(0,0,0,.25) !important;
}


.machine .machineCando .pic figure::after {
	padding-top:
		60% !important;
}


/* 写真 */
.machine .machineCando .pic figure img {
	display:
		block !important;

	width:
		100% !important;

	height:
		100% !important;

	object-fit:
		cover !important;
}


/* ==================================================
   TABLET
================================================== */

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

	.machine {
		padding:
			75px 24px 90px !important;
	}


	.machine .machineMat .viewbox {
		height:
			500px !important;

		margin-bottom:
			65px !important;
	}


	.machine .machineCando {
		gap:
			40px !important;

		margin:
			65px auto !important;

		padding-bottom:
			65px !important;
	}


	.machine .machineCando .text,
	.machine .machineCando .pic {
		width:
			calc(50% - 20px) !important;
	}


	.machine .machineCando .text h3 {
		font-size:
			23px !important;
	}

}


/* ==================================================
   SMARTPHONE
================================================== */

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

	.machine {
		padding:
			60px 18px 80px !important;
	}


	.machine .machineMat .common_tit {
		margin-bottom:
			30px !important;
	}


	.machine .machineMat .viewbox {
		height:
			auto !important;

		margin:
			25px auto 55px !important;

		border:
			1px solid rgba(216,216,218,.24) !important;
	}


	.machine .machineMat .viewbox video {
		height:
			auto !important;
	}


	.machine .machineCando,
	.machine .machineCando:nth-of-type(odd) {
		display:
			flex !important;

		flex-direction:
			column !important;

		align-items:
			stretch !important;

		gap:
			25px !important;

		margin:
			55px auto !important;

		padding-bottom:
			55px !important;
	}


	/* スマホは必ず
	   テキスト → 写真
	*/
	.machine .machineCando .text {
		order:
			1 !important;

		width:
			100% !important;

		max-width:
			none !important;

		margin:
			0 !important;
	}


	.machine .machineCando .pic {
		order:
			2 !important;

		width:
			100% !important;

		max-width:
			none !important;

		margin:
			0 !important;
	}


	.machine .machineCando .text h3 {
		margin-bottom:
			18px !important;

		font-size:
			21px !important;

		line-height:
			1.55 !important;
	}


	.machine .machineCando .text p {
		font-size:
			13px !important;

		line-height:
			1.9 !important;
	}


	.machine .machineCando .pic figure {
		border:
			1px solid rgba(216,216,218,.24) !important;

		box-shadow:
			0 14px 30px rgba(0,0,0,.24) !important;
	}

}


/* ==================================================
   MACHINE PAGE
   枠と画像サイズを一致させる
================================================== */

/* 画像側のカラム */
.machine .machineCando .pic {
	width: calc(50% - 35px) !important;
}

/* 枠 */
.machine .machineCando .pic figure {
	display: block !important;
	position: relative !important;

	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	overflow: hidden !important;

	border: 1px solid rgba(216,216,218,.24) !important;
	background: #0A0A0A !important;
	box-shadow: 0 18px 38px rgba(0,0,0,.22) !important;
}

/* 疑似要素で高さを作っている場合は無効化 */
.machine .machineCando .pic figure::before,
.machine .machineCando .pic figure::after {
	content: none !important;
	display: none !important;
}

/* 画像そのもの */
.machine .machineCando .pic figure img {
	display: block !important;
	position: static !important;

	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;

	object-fit: contain !important;
	vertical-align: bottom !important;
}

/* hasbg系のabsolute指定が入っている場合の解除 */
.machine .machineCando .pic.hasbg,
.machine .machineCando .pic figure.hasbg,
.machine .machineCando .pic .hasbg {
	height: auto !important;
}

.machine .machineCando .pic.hasbg img,
.machine .machineCando .pic figure.hasbg img,
.machine .machineCando .pic .hasbg img {
	position: static !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
	width: 100% !important;
	height: auto !important;
	object-fit: contain !important;
}

/* ==================================================
   SP
================================================== */
@media screen and (max-width: 720px) {
	.machine .machineCando .pic {
		width: 100% !important;
	}

	.machine .machineCando .pic figure {
		width: 100% !important;
		height: auto !important;
	}

	.machine .machineCando .pic figure img {
		width: 100% !important;
		height: auto !important;
	}
}

/* ==================================================
   LOWER PAGE HERO
   Lounge Range × Kaneko Optical inspired
   画像なし / BLACK × SILVER
================================================== */

.pageBan {
	position: relative !important;

	display: flex !important;
	align-items: center !important;

	width: 100% !important;
	min-height: 300px !important;

	padding: 0 50px !important;

	overflow: hidden !important;

	background:
		linear-gradient(
			180deg,
			#090909 0%,
			#0D0E0F 100%
		) !important;

	border-bottom:
		1px solid rgba(216,216,218,.14) !important;
}


/* ==================================================
   旧メイン画像を完全に非表示
================================================== */

.pageBan > figure,
.pageBan figure {
	display: none !important;
}


/* ==================================================
   タイトルエリア
================================================== */

.pageBanText {
	position: relative !important;

	top: auto !important;
	left: auto !important;

	width: 100% !important;
	max-width: 1320px !important;

	margin: 0 auto !important;
	padding: 0 !important;

	transform: none !important;

	color: #F7F6F2 !important;

	font-family:
		"Shippori Mincho",
		"Yu Mincho",
		serif !important;
}


/* 英字タイトル
   Machine
   Lesson Plans & Pricing
   Instructors など
*/
.pageBanText h2 {
	margin: 0 !important;

	color: #F7F6F2 !important;

	font-family:
		"Outfit",
		sans-serif !important;

	font-size:
		clamp(42px, 5vw, 70px) !important;

	font-weight:
		300 !important;

	line-height:
		1.08 !important;

	letter-spacing:
		.02em !important;
}


/* 日本語 */
.pageBanText h1 {
	display: flex !important;
	align-items: center !important;

	gap: 15px !important;

	margin:
		20px 0 0 !important;

	color:
		#BFC2C7 !important;

	font-size:
		14px !important;

	font-weight:
		400 !important;

	line-height:
		1.6 !important;

	letter-spacing:
		.12em !important;
}


/* 日本語タイトル横の細線 */
.pageBanText h1::before {
	content: "";

	display: block;

	width: 38px;
	height: 1px;

	background:
		rgba(216,216,218,.55);
}


/* ==================================================
   背景にごく薄い質感
================================================== */

.pageBan::before {
	content: "";

	position: absolute;
	inset: 0;

	pointer-events: none;

	background:
		radial-gradient(
			circle at 78% 30%,
			rgba(255,255,255,.035),
			transparent 30%
		);
}


/* ==================================================
   TABLET
================================================== */

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

	.pageBan {
		min-height:
			250px !important;

		padding:
			0 30px !important;
	}

	.pageBanText h2 {
		font-size:
			48px !important;
	}

}


/* ==================================================
   SMARTPHONE
================================================== */

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

	.pageBan {
		min-height:
			190px !important;

		padding:
			0 20px !important;
	}

	.pageBanText {
		text-align:
			left !important;
	}

	.pageBanText h2 {
		font-size:
			34px !important;

		line-height:
			1.15 !important;

		letter-spacing:
			.01em !important;
	}

	.pageBanText h1 {
		gap:
			11px !important;

		margin-top:
			13px !important;

		font-size:
			11px !important;

		letter-spacing:
			.08em !important;
	}

	.pageBanText h1::before {
		width:
			26px;
	}

}

/* ==================================================
   SITE SCROLL MOTION
================================================== */

html.motion-ready .js-reveal {
	opacity: 0 !important;
	transform: translateY(55px) !important;

	transition:
		opacity .8s ease,
		transform 1s cubic-bezier(.22, 1, .36, 1) !important;
}

html.motion-ready .js-reveal.is-visible {
	opacity: 1 !important;
	transform: translateY(0) !important;
}


/* 左から */
html.motion-ready .js-reveal-left {
	opacity: 0 !important;
	transform: translateX(-60px) !important;

	transition:
		opacity .8s ease,
		transform 1s cubic-bezier(.22, 1, .36, 1) !important;
}

html.motion-ready .js-reveal-left.is-visible {
	opacity: 1 !important;
	transform: translateX(0) !important;
}


/* 右から */
html.motion-ready .js-reveal-right {
	opacity: 0 !important;
	transform: translateX(60px) !important;

	transition:
		opacity .8s ease,
		transform 1s cubic-bezier(.22, 1, .36, 1) !important;
}

html.motion-ready .js-reveal-right.is-visible {
	opacity: 1 !important;
	transform: translateX(0) !important;
}


/* 画像 */
html.motion-ready .js-reveal-image {
	opacity: 0 !important;
	transform: translateY(30px) scale(1.06) !important;

	transition:
		opacity 1s ease,
		transform 1.2s cubic-bezier(.22, 1, .36, 1) !important;
}

html.motion-ready .js-reveal-image.is-visible {
	opacity: 1 !important;
	transform: translateY(0) scale(1) !important;
}


/* 時間差 */
.motion-delay-1 { transition-delay: .08s !important; }
.motion-delay-2 { transition-delay: .18s !important; }
.motion-delay-3 { transition-delay: .28s !important; }
.motion-delay-4 { transition-delay: .38s !important; }


/* ==================================================
   SMARTPHONE
================================================== */

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

	html.motion-ready .js-reveal {
		transform: translateY(38px) !important;
	}

	html.motion-ready .js-reveal-left {
		transform: translateX(-32px) !important;
	}

	html.motion-ready .js-reveal-right {
		transform: translateX(32px) !important;
	}

	html.motion-ready .js-reveal-image {
		transform: translateY(22px) scale(1.04) !important;
	}

	html.motion-ready .js-reveal.is-visible,
	html.motion-ready .js-reveal-left.is-visible,
	html.motion-ready .js-reveal-right.is-visible {
		transform: translate(0, 0) !important;
	}

	html.motion-ready .js-reveal-image.is-visible {
		transform: translateY(0) scale(1) !important;
	}
}


/* ユーザーが「動きを減らす」を設定している場合 */
@media (prefers-reduced-motion: reduce) {

	html.motion-ready .js-reveal,
	html.motion-ready .js-reveal-left,
	html.motion-ready .js-reveal-right,
	html.motion-ready .js-reveal-image {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* ==================================================
   FC加盟店募集フォーム
   スマホ崩れ修正
================================================== */

.fcContactPage .fcFormButtons,
.fcContactPage .fcFormButtons button,
.fcContactPage .fcFormButtons input[type="submit"] {
	box-sizing: border-box !important;
}


/* ボタンが親要素を超えないようにする */
.fcContactPage .fcFormButtons {
	width: 100% !important;
	max-width: 100% !important;
}


/* ==================================================
   SMARTPHONE
================================================== */

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

	/* フォーム全体 */
	.fcContactPage .fcContactFormBox {
		width: 100% !important;
		max-width: 100% !important;

		padding: 28px 18px 32px !important;

		box-sizing: border-box !important;
	}


	/* フォーム行 */
	.fcContactPage .fcFormTable,
	.fcContactPage .fcFormRow,
	.fcContactPage .fcFormInput {
		width: 100% !important;
		max-width: 100% !important;

		box-sizing: border-box !important;
	}


	/* 入力欄 */
	.fcContactPage .fcFormInput input[type="text"],
	.fcContactPage .fcFormInput input[type="email"],
	.fcContactPage .fcFormInput input[type="tel"],
	.fcContactPage .fcFormInput select,
	.fcContactPage .fcFormInput textarea {
		display: block !important;

		width: 100% !important;
		max-width: 100% !important;

		box-sizing: border-box !important;
	}


	/* プライバシー */
	.fcContactPage .fcFormPrivacy {
		width: 100% !important;
		max-width: 100% !important;

		padding: 0 !important;

		box-sizing: border-box !important;
	}


	/* ボタンエリア */
	.fcContactPage .fcFormButtons {
		display: block !important;

		width: 100% !important;
		max-width: 100% !important;

		margin: 32px 0 0 !important;
		padding: 0 !important;
	}


	/* 確認・送信ボタン */
	.fcContactPage .fcFormButtons button,
	.fcContactPage .fcFormButtons input[type="submit"] {
		display: block !important;

		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		min-height: 58px !important;

		margin: 0 !important;
		padding: 15px 18px !important;

		box-sizing: border-box !important;
	}


	/* 2つ目のボタン */
	.fcContactPage .fcFormButtons button + button,
	.fcContactPage .fcFormButtons input + input,
	.fcContactPage .fcFormButtons button + input,
	.fcContactPage .fcFormButtons input + button {
		margin-top: 12px !important;
	}

}


/* ==================================================
   特別料金
   スマホだけPCのように左位置を揃える
================================================== */

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

	.tourProSpecial ul {
		width: fit-content !important;
		max-width: 100% !important;

		margin-left: auto !important;
		margin-right: auto !important;
	}

	.tourProSpecial ul li {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;

		width: auto !important;

		gap: 4px !important;

		text-align: left !important;
		white-space: nowrap !important;
	}

	.tourProSpecial ul li strong,
	.tourProSpecial ul li span {
		display: inline !important;
		width: auto !important;

		margin: 0 !important;

		text-align: left !important;
		white-space: nowrap !important;
	}

}


/* ==================================================
   特別料金
   スマホのみ「・」の重なり修正
================================================== */

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

	.tourProSpecial ul li {
		padding-left: 0 !important;
		text-indent: 0 !important;
	}

	.tourProSpecial ul li::before {
		display: inline-block !important;
		flex: 0 0 auto !important;

		margin: 0 3px 0 0 !important;

		text-indent: 0 !important;
		line-height: 1.5 !important;
	}

}


/* ==================================================
   X ICON
   HEADER / FOOTER
================================================== */

/* 共通 */
.zenSocialX {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}


/* SVG共通 */
.zenSocialX svg {
	display: block !important;
	width: 100% !important;
	height: 100% !important;

	fill: #c9c9c7 !important;

	opacity: .72 !important;

	transition:
		opacity .3s ease,
		transform .3s ease;
}


/* ヘッダー */
.zenHeaderSocial .zenSocialX {
	width: 21px !important;
	height: 21px !important;
}


/* フッター */
.zenFooterSocial .zenSocialX {
	width: 19px !important;
	height: 19px !important;
}


/* hover */
.zenSocialX:hover svg {
	opacity: 1 !important;
	transform: translateY(-2px);
}


/* ==================================================
   HEADER / FOOTER X ICON
================================================== */

.zenSocialX {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #c9c9c7 !important;
}

/* ヘッダー */
.zenHeaderSocial .zenSocialX {
	width: 21px !important;
	height: 21px !important;
}

.zenHeaderSocial .zenSocialX svg {
	display: block !important;
	width: 21px !important;
	height: 21px !important;
	fill: currentColor !important;
	opacity: .72 !important;
	transition:
		opacity .3s ease,
		transform .3s ease;
}

.zenHeaderSocial .zenSocialX:hover svg {
	opacity: 1 !important;
	transform: translateY(-2px);
}

/* フッター */
.zenFooterSocial .zenSocialX {
	width: 19px !important;
	height: 19px !important;
}

.zenFooterSocial .zenSocialX svg {
	display: block !important;
	width: 19px !important;
	height: 19px !important;
	fill: currentColor !important;
	opacity: .7 !important;
	transition:
		opacity .3s ease,
		transform .3s ease;
}

.zenFooterSocial .zenSocialX:hover svg {
	opacity: 1 !important;
	transform: translateY(-2px);
}

/* ==================================================
   料金プラン
   右打ち打席 注意書き
================================================== */

.pricingCampaignOutsideNote {
	margin: 14px 0 0 !important;
	padding: 0 !important;

	color: #b7b7b5 !important;

	font-size: 12px !important;
	font-weight: 400 !important;

	line-height: 1.7 !important;
	letter-spacing: .03em !important;

	text-align: left !important;
}


/* スマホ */
@media screen and (max-width: 767px) {

	.pricingCampaignOutsideNote {
		margin-top: 10px !important;

		font-size: 10px !important;
		line-height: 1.6 !important;
	}

}

/* ==================================================
   Machine
   What Trackman IO can do
   スマホ時のみ1行表示
================================================== */

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

	.machine .viewbox + .common_tit h2 {
		font-size: clamp(19px, 6.2vw, 24px) !important;
		letter-spacing: 0 !important;
		white-space: nowrap !important;
		line-height: 1.2 !important;
	}

}

/* ==================================================
   利用規約ページ
================================================== */

.termsSimple {
	background: #ffffff;
	padding: 70px 20px 100px;
}

.termsSimpleInner {
	max-width: 900px;
	margin: 0 auto;
}

.termsSimple h1 {
	margin: 0 0 6px;
	color: #111;
	font-size: 34px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

.termsSimpleEn {
	margin: 0 0 34px;
	color: #888;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.termsLead {
	margin-bottom: 34px;
}

.termsLead p {
	margin: 0;
	color: #222;
	font-size: 13px;
	line-height: 2.1;
	letter-spacing: 0.02em;
}

.termsBlock {
	margin-bottom: 34px;
}

.termsBlock h2 {
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid #444;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.8;
}

.termsBlock ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.termsBlock ul li {
	position: relative;
	margin: 0 0 8px;
	padding-left: 1.2em;
	color: #222;
	font-size: 13px;
	line-height: 2;
	letter-spacing: 0.01em;
}

.termsBlock ul li::before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
	color: #222;
}

/* スマホ */
@media screen and (max-width: 767px) {

	.termsSimple {
		padding: 45px 16px 70px;
	}

	.termsSimple h1 {
		font-size: 28px;
	}

	.termsSimpleEn {
		margin-bottom: 26px;
		font-size: 11px;
	}

	.termsLead p,
	.termsBlock ul li {
		font-size: 12px;
		line-height: 1.95;
	}

	.termsBlock h2 {
		font-size: 14px;
		line-height: 1.7;
	}
}

/* ==================================================
   FOOTER NAVIGATION
   6列 × 2段 / 均等配置
================================================== */

@media screen and (min-width: 981px) {

	.zenFooterNavigation nav {
		width: 100% !important;
		max-width: 1460px !important;
		margin: 0 auto !important;
	}

	.zenFooterNavigation nav > ul {
		display: grid !important;

		/* max-contentをやめて6列均等にする */
		grid-template-columns: repeat(6, minmax(0, 1fr)) !important;

		width: 100% !important;

		margin: 0 !important;
		padding: 0 !important;

		column-gap: 20px !important;
		row-gap: 18px !important;

		align-items: center !important;
	}

	.zenFooterNavigation nav > ul > li {
		width: 100% !important;

		margin: 0 !important;
		padding: 0 !important;

		text-align: center !important;
	}

	.zenFooterNavigation nav > ul > li > a {
		display: block !important;

		width: 100% !important;

		font-size: 12px !important;
		font-weight: 400 !important;
		line-height: 1.6 !important;
		letter-spacing: .04em !important;

		white-space: nowrap !important;

		color: rgba(247,246,242,.72) !important;
	}

}

/* ==================================================
   NEWS ARCHIVE
   BLACK × SILVER 最終調整
================================================== */

.newsArchive {
	padding: 90px 40px 110px !important;

	background:
		linear-gradient(
			180deg,
			#0A0A0A 0%,
			#111214 100%
		) !important;
}


/* 一覧ライン */

.newsArchiveList {
	border-top:
		1px solid rgba(216,216,218,.22) !important;
}

.newsArchiveItem {
	border-bottom:
		1px solid rgba(216,216,218,.18) !important;
}


/* hover */

.newsArchiveItem > a:hover {
	background:
		rgba(255,255,255,.035) !important;
}


/* 日付 */

.newsArchiveMeta time {
	color:
		#BFC2C7 !important;

	font-family:
		"Outfit",
		sans-serif !important;

	font-weight:
		300 !important;
}


/* カテゴリー */

.newsArchiveCategory {
	color:
		#C8C9CC !important;

	border:
		1px solid rgba(216,216,218,.35) !important;

	font-weight:
		400 !important;

	letter-spacing:
		.08em !important;
}


/* タイトル */

.newsArchiveContent h3 {
	color:
		#F7F6F2 !important;

	font-weight:
		400 !important;
}


/* 抜粋 */

.newsArchiveContent p {
	color:
		rgba(247,246,242,.60) !important;

	font-weight:
		400 !important;
}


/* 矢印 */

.newsArchiveArrow {
	color:
		#BFC2C7 !important;
}


/* ページネーション */

.newsPagination .page-numbers {
	color:
		#D8D8DA !important;

	border:
		1px solid rgba(216,216,218,.25) !important;

	background:
		#111214 !important;
}

.newsPagination .page-numbers.current,
.newsPagination .page-numbers:hover {
	color:
		#0A0A0A !important;

	background:
		#D8D8DA !important;
}


/* 投稿なし */

.newsArchiveEmpty {
	padding:
		45px 0;

	border-top:
		1px solid rgba(216,216,218,.18);

	border-bottom:
		1px solid rgba(216,216,218,.18);
}

.newsArchiveEmpty p {
	margin:
		0;

	color:
		rgba(247,246,242,.65);

	font-size:
		14px;

	font-weight:
		400;
}


/* ==================================================
   SMARTPHONE
================================================== */

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

	.newsArchive {
		padding:
			55px 20px 75px !important;
	}

	.newsArchiveItem > a {
		padding:
			22px 34px 22px 0 !important;
	}

	.newsArchiveContent h3 {
		font-size:
			16px !important;

		line-height:
			1.65 !important;
	}

	.newsArchiveContent p {
		margin-top:
			8px !important;

		font-size:
			11px !important;

		line-height:
			1.8 !important;
	}

}


/* ==================================================
   料金の金額のみ GOLD に統一
   その他のデザインは変更しない
================================================== */

/* 基本プラン
   シルバー 26,000
   プラチナ 44,000
   ジュニア 15,000
*/
body .pricingCardSilver .pricingCardPrice strong,
body .pricingCardPlatinum .pricingCardPrice strong,
body .pricingCardJunior .pricingCardPrice strong,

/* 時間帯限定プラン
   早起き＆ミッドナイト 14,000
   お昼休みサクッと 18,000
   土日祝日プラン 17,000
*/
body .pricingCardEarly .pricingCardPrice strong,
body .pricingCardLunch .pricingCardPrice strong,
body .pricingCardWeekend .pricingCardPrice strong,

/* レッスン集中プラン
   98,000
*/
body .pricingLessonPrice strong {

	color: #dfc06c !important;

	text-shadow:
		0 0 10px rgba(200,155,45,.12) !important;
}

/* ---- 2026-08-24 修正: レッスン料金表の吹き出しが「1時間」見出しに被って読めない問題 ---- */
.tourProTableWrap{
	padding-top: 60px;
}
.tourProTable .memberPrice1h::before{
	bottom: calc(100% + 78px) !important;
}
.tourProTable .memberPrice1h::after{
	display: none !important;
}

/* ---- 2026-08-24 修正: SPで吹き出し文字がはみ出す ---- */
@media (max-width: 767px){
	.tourProTable .memberPrice1h::before{
		white-space: normal !important;
		width: calc(100vw - 80px) !important;
		max-width: 300px !important;
		font-size: 12px !important;
		line-height: 1.5 !important;
		text-align: center !important;
		padding: 8px 14px !important;
	}
	.tourProTableWrap{
		padding-top: 64px;
	}
}

/* ==== 2026-08-24 TERVEX 固定ヒーロー動画 + HTMLコピー + イントロ演出 ==== */

/* --- イントロ（暗転→エンブレム→フェード） --- */
#tervexIntro{
	position:fixed; inset:0; background:#0a0a0a;
	display:flex; align-items:center; justify-content:center; flex-direction:column;
	z-index:99999;
	transition:opacity .9s ease;
}
#tervexIntro.tvxFadeOut{ opacity:0; pointer-events:none; }
html.tervexIntroLock{ overflow:hidden; }
html.tervexIntroLock .zenDiagnosis{ opacity:0; }
@keyframes tvxArcDraw{ from{stroke-dashoffset:170} to{stroke-dashoffset:0} }
@keyframes tvxBallMove{
	0%{offset-distance:0%; opacity:0; transform:scale(.6)}
	8%{opacity:1; transform:scale(1)}
	88%{transform:scale(1.2)}
	100%{offset-distance:100%; opacity:1; transform:scale(1)}
}
#tvxWordmark{ margin-top:22px; opacity:0; transform:translateY(8px); transition:opacity .7s ease, transform .7s ease; display:block; }
#tvxWordmark.tvxShow{ opacity:1; transform:translateY(0); }
#tvxTagline{ margin-top:10px; opacity:0; transform:translateY(6px); transition:opacity .7s ease, transform .7s ease; display:block; }
#tvxTagline.tvxShow{ opacity:1; transform:translateY(0); }

/* --- 固定ヒーロー動画（yamastro式: 動画は固定背景、コンテンツが上を流れる） --- */
.tervexHeroFixed{
	position:fixed; top:0; left:0; width:100%;
	height:100vh; height:100svh;
	z-index:0; overflow:hidden; background:#0a0a0a;
}
.tervexHeroFixed video{ width:100%; height:100%; object-fit:cover; display:block; }

.tervexHeroSpacer{
	position:relative; height:100vh; height:100svh; z-index:1;
}

/* HTML化したヒーローコピー */
.tervexHeroCopy{ position:absolute; left:6.8%; bottom:13%; }
.tervexHeroRule{
	display:block; width:92px; height:2px; background:#C9A35A; margin-bottom:26px;
	opacity:0; animation:tvxCopyFade .8s ease 2.2s forwards;
}
.tervexHeroLine{
	margin:0; color:#fff; font-weight:500;
	font-size:clamp(22px, 2.4vw, 46px); line-height:1.7; letter-spacing:.04em;
	text-shadow:0 2px 26px rgba(0,0,0,.55);
	opacity:0; transform:translateY(12px);
}
.tervexHeroL1{ animation:tvxCopyUp .8s ease 2.6s forwards; }
.tervexHeroL2{ color:#C9A35A; font-size:clamp(16px, 1.6vw, 30px); line-height:1.5; animation:tvxCopyUp .8s ease 3.2s forwards; }
.tervexHeroL3{ animation:tvxCopyUp .8s ease 3.7s forwards; }
@keyframes tvxCopyUp{ to{opacity:1; transform:translateY(0);} }
@keyframes tvxCopyFade{ to{opacity:1;} }

/* ヒーロー以降のコンテンツは動画の上を覆いながらスクロール */
.tervexOverVideo{ position:relative; z-index:2; background:#0a0a0a; }
body footer{ position:relative; z-index:2; }

@media (max-width: 767px){
	.tervexHeroCopy{ left:7%; right:7%; bottom:22%; }
	.tervexHeroLine{ font-size:clamp(16px, 4.6vw, 19px); letter-spacing:.02em; }
	.tervexHeroL2{ font-size:16px; }
	.tervexHeroRule{ width:64px; margin-bottom:18px; }
}

/* ==== 2026-08-24 トップページ 修正1-7 ==== */

/* 1. イントロをPCで大きく（SPは別指定） */
#tervexIntro > svg:first-child{ width:300px; height:auto; }
#tvxWordmark{ width:390px; height:auto; }
#tvxTagline{ width:240px; height:auto; margin-top:12px; }

/* 2. ヒーローコピーの体裁を洗練（明朝系・字間・細い罫線） */
.tervexHeroLine{
	font-family:"Times New Roman","Noto Serif JP","Yu Mincho",YuMincho,"Hiragino Mincho ProN","Noto Serif JP",serif;
	font-weight:500;
	letter-spacing:.06em;
	line-height:1.55;
	font-size:clamp(24px, 2.15vw, 40px);
	font-feature-settings:"palt";
	text-shadow:0 1px 18px rgba(0,0,0,.5);
}
.tervexHeroLine + .tervexHeroLine{ margin-top:8px; }
.tervexHeroL2{
	font-family:"Times New Roman", Georgia, serif;
	font-size:clamp(14px, 1.05vw, 19px);
	letter-spacing:0;
	margin:4px 0 4px 3px;
	opacity:.95;
}
.tervexHeroRule{ width:72px; height:1px; opacity:.95; margin-bottom:22px; }

/* 4. 公式LINEバナーを控えめに */
.topLineBanner{ padding:40px 20px !important; }
.topLineBanner img{ max-width:620px; width:100%; height:auto; display:block; margin:0 auto; }

/* 7. フッターの縦ロゴをセンターに（アンカー幅150pxのまま画像240pxが右へはみ出していた） */
.zenFooterBrand a{ width:240px; }

@media (max-width: 780px){
	/* 1. イントロSPサイズ */
	#tervexIntro > svg:first-child{ width:190px; }
	#tvxWordmark{ width:252px; }
	#tvxTagline{ width:158px; }

	/* 2. ヒーローコピーSPサイズ（末尾ブロックが基本サイズを上書きするため再指定） */
	.tervexHeroLine{ font-size:clamp(16px, 4.6vw, 19px); letter-spacing:.03em; }
	.tervexHeroL2{ font-size:14px; }
	.tervexHeroRule{ width:56px; margin-bottom:16px; }

	/* 4. LINEバナーSP */
	.topLineBanner{ padding:28px 16px !important; }
	.topLineBanner img{ max-width:300px; }

	/* 5. Featuresの写真上の説明文を小さく（写真を見せる） */
	.featuresList dd i,
	.featuresList dd i img{ width:46px !important; height:auto !important; }
	.featuresList dd h3{ font-size:11.5px !important; line-height:1.6 !important; }
	.featuresList dd{ height:auto !important; }
	.featuresList .featuresNotice{ font-size:10px !important; }

	/* 6. 店舗所在地の縦棒はSPでは不要 */
	.accessVer .accessVerMat > dt:nth-of-type(2){ border-left:none !important; }
}

/* ===== 2026-08-24 fix2: static intro (reduced motion) / footer brand centering / spacing rhythm ===== */
#tervexIntro.tvxStatic > svg:first-child * { animation: none !important; }
#tervexIntro.tvxStatic #tvxArc { stroke-dashoffset: 0 !important; }
#tervexIntro.tvxStatic > svg:first-child *:not(#tvxArc):not([r="90"]) { opacity: 0 !important; }
#tervexIntro.tvxStatic #tvxWordmark,
#tervexIntro.tvxStatic #tvxTagline { transition: none !important; transform: none !important; }

.zenFooterBrand { display: flex !important; justify-content: center !important; }
.zenFooterBrand a { width: 240px !important; margin: 0 auto !important; float: none !important; }
.zenFooterBrand a img { width: 100% !important; max-width: 100% !important; height: auto !important; display: block !important; margin: 0 auto !important; }
@media (max-width: 780px) {
  .zenFooterBrand a { width: 180px !important; }
}

@media (min-width: 781px) {
  .topNews { padding-bottom: 56px; }
  .topLineBanner { padding: 64px 20px !important; }
  .tgr-column-teaser { padding-top: 72px !important; padding-bottom: 72px !important; }
  .accessVer { padding-top: 72px !important; padding-bottom: 72px !important; }
}

/* ===== 2026-08-24 fix3: connection cards compact / features notice subtle ===== */
.zenConnectionItem { min-height: 108px !important; padding: 20px 28px !important; }
.zenConnectionItem strong { font-size: 17px !important; }
.zenConnectionItem p { margin-top: 4px !important; }
.zenConnectionItem .zenConnectionEn { font-size: 10px !important; }
@media (min-width: 781px) {
  .zenConnectionInner .zenConnectionItem:nth-child(3n+1) { border-left: 0 !important; }
  .zenConnectionInner .zenConnectionItem:nth-child(n+4) { border-top: 1px solid var(--zen-line) !important; }
}
@media (max-width: 780px) {
  .zenConnectionItem { min-height: 84px !important; padding: 16px 12px !important; }
  .zenConnectionItem strong { font-size: 15px !important; }
}

.features .featuresList .featuresNotice,
.featuresNotice {
  border: 0 !important;
  padding: 0 !important;
  background: none !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.55) !important;
  letter-spacing: 0.05em !important;
}

/* ===== 2026-08-24 fix4: corporate plan B accent (subtle differentiation) ===== */
.corporatePlanCards .corporatePlanCard:nth-of-type(2) {
  border-top-color: #b8a05e !important;
  background: #16130e !important;
}

/* ===== 2026-08-24 fix5: mid-width (split view) layout fixes 781-1120px ===== */
@media (min-width: 781px) and (max-width: 1120px) {
  .pricingCards.pricingCardsBasic { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .pricingCards.pricingCardsThree { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .corporatePlanPriceList { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important; }
}

/* ===== 2026-08-24 fix6: hero copy A-plan styles / zenConnection readability ===== */
.tervexHeroX { color: #b8a05e; font-size: 0.72em; margin: 0 0.18em; vertical-align: 2px; }
.tervexHeroSub { font-size: clamp(14px, 1.05vw, 18px) !important; font-weight: 400; letter-spacing: 0.08em; margin-top: 14px; color: rgba(255, 255, 255, 0.88); }
@media (max-width: 780px) {
  .tervexHeroSub { font-size: 12px !important; }
}

/* FC/譲渡カード群：固定ヒーロー動画が透けて白字が読めないため、不透明背景を敷く */
.zenConnection { position: relative; z-index: 2; background: #0a0a0a; }

@media (min-width: 781px) {
  .tervexHeroCopy { bottom: 150px !important; }
}

.tervexHeroSub { animation: tvxCopyUp 0.9s ease 3.0s forwards; }

@media (max-width: 780px) {
  .tervexHeroCopy { bottom: 28% !important; }
  .tervexHeroSub { font-size: 10.5px !important; letter-spacing: 0.02em !important; white-space: nowrap; margin-top: 10px; }
}

/* ===== 2026-08-24 fix7: subtle company link in footer ===== */
.zenFooterCompany { display: inline-block; margin-right: 18px; padding: 3px 12px; border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 2px; font-size: 12px; color: rgba(255, 255, 255, 0.65); letter-spacing: 0.08em; text-decoration: none; transition: color 0.3s, border-color 0.3s; }
.zenFooterCompany:hover { color: #fff; border-color: rgba(255, 255, 255, 0.55); }

/* tel 3分割入力を横並びに（FC・新設フォーム共通） */
.fcFormInput input[name^="tel["] { width: 130px !important; display: inline-block !important; vertical-align: middle; }
@media (max-width: 780px) {
  .fcFormInput input[name^="tel["] { width: 30% !important; }
}

/* SP: コンセプト背景でスイング中の男性が見切れないように位置調整 */
@media (max-width: 780px) {
  .conceptBg { background-position: 70% 100% !important; }
}

/* ===== 2026-08-24 fix8: LINE banner simple redesign ===== */
.topLineBanner a { display: block; max-width: 720px; margin: 0 auto; text-decoration: none; }
.topLineSimple { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 26px 32px; border: 1px solid rgba(255, 255, 255, 0.14); background: #111; border-radius: 4px; transition: border-color 0.3s; }
.topLineBanner a:hover .topLineSimple { border-color: rgba(6, 199, 85, 0.55); }
.topLineSimpleBadge { display: inline-block; background: #06C755; color: #fff; font-weight: 700; font-size: 11px; letter-spacing: 0.12em; padding: 4px 10px; border-radius: 3px; margin-bottom: 10px; }
.topLineSimpleTitle { color: #fff; font-size: 17px; letter-spacing: 0.05em; margin: 0 0 6px; line-height: 1.5; }
.topLineSimpleNote { color: rgba(255, 255, 255, 0.55); font-size: 12px; margin: 0; line-height: 1.6; }
.topLineSimpleQr { text-align: center; flex-shrink: 0; }
.topLineSimpleQr img { width: 96px !important; height: 96px !important; max-width: none !important; display: block; background: #fff; padding: 5px; border-radius: 4px; margin: 0 auto 6px; }
.topLineSimpleQr span { font-size: 10px; color: rgba(255, 255, 255, 0.45); letter-spacing: 0.05em; }
@media (max-width: 780px) {
  .topLineSimple { padding: 18px 20px; gap: 14px; }
  .topLineSimpleQr { display: none; }
  .topLineSimple::after { content: "\2192"; color: #06C755; font-size: 18px; flex-shrink: 0; }
  .topLineSimpleTitle { font-size: 14.5px; }
  .topLineSimpleNote { font-size: 11px; }
}

/* 新設フォームページの見出しをh1化したためh2と同スタイルを適用 */
.fcContactSectionHeading h1 {
  margin: 0;
  color: #fff;
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(36px, 4.5vw, 54px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.07em;
}

/* ===== 2026-08-24 fix9: gold sparkle / platinum gold perks / news link emphasis ===== */
/* ゴールドカードにも控えめなキラキラ（プラチナより弱め） */
.pricingCardGold { position: relative; overflow: hidden; }
.pricingCardGold .pricingCardHeader { position: relative; overflow: hidden; background: linear-gradient( 120deg, #4a3a14 0%, #a48130 28%, #ecd88f 50%, #8f6f28 72%, #382c10 100% ) !important; }
.pricingCardGold .pricingCardHeader,
.pricingCardGold .pricingCardHeader p,
.pricingCardGold .pricingCardHeader h3 { color: #fff !important; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.85), 0 0 8px rgba(255, 240, 190, 0.3); }
.pricingCardGold .pricingCardHeader::before { position: absolute; top: -70%; left: -45%; width: 34%; height: 240%; content: ""; pointer-events: none; background: linear-gradient( 90deg, transparent, rgba(255, 238, 180, 0.45), transparent ); transform: rotate(18deg); animation: platinumShine 3.6s ease-in-out infinite; }
.pricingCardGold::before,
.pricingCardGold::after { position: absolute; z-index: 3; color: #ffe9a8; pointer-events: none; text-shadow: 0 0 4px #ffe9a8, 0 0 10px rgba(255, 220, 140, 0.85); content: "\2726"; animation: platinumSparkle 2.8s ease-in-out infinite; }
.pricingCardGold::before { top: 18px; right: 19px; font-size: 15px; }
.pricingCardGold::after { top: 56px; left: 17px; font-size: 9px; animation-delay: 1.3s; }

/* プラチナ特典の金色表記 */
.pricingGoldText { color: #e3c476 !important; font-weight: 600; }

/* 料金・募集枠に関するお知らせ：リンクを強調 */
.pricingNews a.pricingNewsLink { display: inline-block; margin-top: 2px; padding: 6px 16px; border: 1px solid rgba(227, 196, 118, 0.6); border-radius: 3px; color: #e3c476; font-weight: 600; letter-spacing: 0.05em; text-decoration: none; transition: background 0.3s, color 0.3s; }
.pricingNews a.pricingNewsLink::after { content: " \2192"; }
.pricingNews a.pricingNewsLink:hover { background: rgba(227, 196, 118, 0.14); color: #f2dfa8; }
