@charset "utf-8";

/*PCSP共通設定*/
section:nth-of-type(odd){background-color:#f0f0f0;}
section:nth-of-type(even){background-color:#fff;}
html {scroll-behavior: smooth;}/*smooth scroll*/

/*759px以下*/
@media screen and (max-width: 759.9px) {
#wrapper {line-height: 1.4;}
.spnone{display:none;}

/* CSS */
#dirPathBlock {
	overflow-x: scroll;
	overflow-y: hidden;
}
#dirPathBlock,
#anchorLinkBlock {margin: 0 1%;}
#dirPathBlock p,
#anchorLinkBlock a{font-size: 12px;}
#dirPathBlock p {width: max-content;}
h1 {
	font-size: 12px;
	margin: 0 1% 1%;
}
h2 {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	/*border-bottom: 5px dotted #111;*/
	margin: 0 auto 3%;
	padding-bottom: 5px;
	/*width: 94%;*/
	clear: both;
}
h2 img {
	width:100%;
}
.inner{
	width: 96%;
	margin: 0 2%;
	padding: 24px 0;
	box-sizing: border-box;
}

/*title*/
img#mainphoto {
	width: 100%;
	margin-bottom: 5%;
}
	

.titleSubBox{
	width:100%;
	height:140px;
	
}
/*
.titleSubBox.season{
	background:url(../images/title/bg_main_season_1200.png) no-repeat 50% 0;
	background-size:cover;
}*/


.titleSubBox.season{
	background:url(../images/title/bg_main_season2.png) no-repeat 50% 0;
	background-size:cover;
}

.titleSubBox.sale{
	background:url(../images/title/bg_main_sale.png?update=20260424) no-repeat 50% 0;
	background-size:cover;
}

.titleSubBox.news{
	background:url(../images/title/im_bg_news_1200.png) no-repeat 50% 0;
	background-size:150% auto;
}

.titleSubBox.premium{
	background:url(../images/title/bg_main_premium_1200.png) no-repeat 50% 0;
	background-size:cover;
}

.titleSubBox.sale p{
	width:316px;
	height:142px;
	margin:0 auto;
	background:url(../images/title/im_main_sale.png?update=20260424) no-repeat 0 0;
	background-size:contain;
	position:relative;
	top:20px;
}

.titleSubBox.news p{
	width:272px;
	height:98px;
	margin:0 auto;
	background:url(../images/title/im_main_news.png) no-repeat 0 0;
	background-size:cover;
	position:relative;
	top:20px;
}
.titleSubBox.premium p{
	width:165px;
	height:141px;
	margin:0 auto;
	background:url(../images/title/im_main_premium.png) no-repeat 0 0;
	background-size:cover;
}

/*
.titleSubBox.season p{
	width:228px;
	height:140px;
	margin:0 auto;
	background:url(../images/title/im_main_season.png) no-repeat 0 0;
	background-size:cover;
}*/


.titleSubBox.season p{
	/*width:443px;*/
	height:140px;
	margin:0 auto;
	background:url(../images/title/im_main_season2.png) no-repeat 0 0;
	background-size:cover;
}

@media screen and (min-width:360px) { 
	.titleSubBox.season p{
		background-position: -36px;
	}
}

@media screen and (min-width:375px) { 
	.titleSubBox.season p{
		background-position: -36px;
	}
}


@media screen and (min-width:390px) { 
	.titleSubBox.season p{
		background-position: -24px;
	}
}


@media screen and (min-width:412px) { 
	.titleSubBox.season p{
		background-position: -17px;
	}
}


@media screen and (min-width:414px) { 
	.titleSubBox.season p{
		background-position: -17px;
	}
}


@media screen and (min-width:430px) { 
	.titleSubBox.season p{
		background-position: 0px;
	}
}

.titleSubBox p span{
	display:none

}

.titleSubBox p strong{
	display:none
}
#ankerNaviSub{
	text-align:center;
	margin-bottom:20px;
}

.tab01S#ankerNaviSub{
	margin-bottom:0!important
}

#ankerNaviSub ul{
	background:#333;
	padding:10px 0;
	letter-spacing:-0.4em;
	display:table;
	width:100%;
}

#ankerNaviSub li{
	display:table-cell;
	border-left:1px solid #666;
	letter-spacing:normal;
}
#ankerNaviSub li:first-child{
	border-left:none;
}
#ankerNaviSub li:last-child{
	border-right:none;
}

#ankerNaviSub li a{
	color:#FFF;
	font-size:12px;
	padding:8px 5px;
	display:block;
}

.tabAnker{
	text-align:center;
	display:block;
	margin:15px 5px 20px 0;
	letter-spacing:-0.4em;
}

.tabAnker a{
	font-size:13px;
	letter-spacing:normal;
	padding:8px 10px;
	margin:0 0 5px 8px;
	display:inline-block;
	border:2px solid #333;
	color:#333!important;
	-webkit-border-radius: 3px 3px 3px 3px;
border-radius: 3px 3px 3px 3px;
background:#FFF;
}

.stitTT{
	background:#333333;
	display:block;
	color:#FFF;
	padding:10px;
	margin-bottom:30px;
	font-size:16px;
	font-weight:normal!important;
}

#a05.stitTT{
	background:#333333!important;
}

}

/*760px以上*/
@media screen and (min-width: 760px),print {
#wrapper {line-height: 1.231;}
.pcnone{display:none;}

/* CSS */
#dirPathBlock,
.iframe_end-content_gadget,
#anchorLinkBlock{
	width: 100%;
	max-width:1080px;
	min-width:760px;
	margin: auto;
}
#dirPathBlock,
#anchorLinkBlock {
	width: 100%;
	margin: 0 auto;
	display: block;
	font-size: 12px;
}
#dirPathBlock p,
#anchorLinkBlock a{font-size: 12px;}
h1 {
	font-size: 12px;
    width: 100%;
	max-width:1080px;
	min-width:760px;
    margin: 0 auto 5px;
}
h2 {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	/*border-bottom: 5px dotted #111;*/
	margin-bottom: 3%;
	padding-bottom: 5px;
	clear: both;
}
.inner{
	width: 100%;
	max-width:1080px;
	min-width:760px;
	margin: 0 auto;
	padding:50px 0;
	display: block;
}

/*title*/
img#mainphoto {
	width: 100%;
	max-width:1080px;
	margin:0 auto 2%;
	display:block;
}
	

.titleSubBox{
	width:100%;
	height:300px;
	
}
/*
.titleSubBox.season{
	background:url(../images/title/bg_main_season.png) no-repeat 50% 0;
	background-size:cover;
}
*/
.titleSubBox.season{
	background:url(../images/title/bg_main_season2.png) no-repeat 50% 0;
	background-size:cover;
}



.titleSubBox.sale{
	background:url(../images/title/bg_main_sale.png?update=20260424) no-repeat 50% 0;
	background-size:cover;
}
.titleSubBox.news{
	background:url(../images/title/im_bg_news.png) no-repeat 50% 0;
	background-size:cover;
}



.titleSubBox.premium{
	background:url(../images/title/bg_main_premium.png) no-repeat 50% 0;
	background-size:cover;
}
	


.titleSubBox.sale p{
	width:859px;
	height:267px;
	margin:0 auto;
	background:url(../images/title/im_main_sale.png?update=20260424) no-repeat 0 0;
	background-size:cover;
	position:relative;
	top:10px;
}

.titleSubBox.news p{
	width:545px;
	height:196px;
	margin:0 auto;
	background:url(../images/title/im_main_news.png) no-repeat 0 0;
	background-size:cover;
	position:relative;
	top:50px;
}
.titleSubBox.premium p{
	width:355px;
	height:303px;
	margin:0 auto;
	background:url(../images/title/im_main_premium.png) no-repeat 0 0;
	background-size:cover;
}

/*
.titleSubBox.season p{
	width:484px;
	height:300px;
	margin:0 auto;
	background:url(../images/title/im_main_season.png?update=20260428) no-repeat 0 0;
	background-size:cover;
}*/


.titleSubBox.season p{
	width:950px;
	height:300px;
	margin:0 auto;
	background:url(../images/title/im_main_season2.png) no-repeat 0 0;
	background-size:cover;
}


.titleSubBox p span{
	display:none

}

.titleSubBox p strong{
	display:none
}

#ankerNaviSub{
	text-align:center;
}

#ankerNaviSub ul{
	background:#333;
	padding:15px 0;
	letter-spacing:-0.4em;
}

#ankerNaviSub li{
	display:inline-block;
	border-left:1px solid #666;
	letter-spacing:normal;
}

#ankerNaviSub li:last-child{
	border-right:1px solid #666;
}

#ankerNaviSub li a{
	color:#FFF;
	font-size:18px;
	padding:8px 20px;
	display:block;
}

#ankerNaviSub li a:hover{
	transition: 0.2s ;
	opacity: 0.5 ;
}

.tabAnker{
	text-align:center;
	display:block;
	margin-bottom:30px;
}

.tabAnker a{
	font-size:18px;
	padding:10px 15px;
	margin:0 0 0 10px;
	display:inline-block;
	border:2px solid #333;
	color:#333!important;
	-webkit-border-radius: 3px 3px 3px 3px;
border-radius: 3px 3px 3px 3px;
background:#FFF;
}

.tabAnker a:hover {
	opacity: 0.5 ;
	transition: 0.2s ;
	text-decoration: none
}
	

.stitTT{
	background:#333333;
	display:block;
	color:#FFF;
	padding:15px;
	margin-bottom:30px;
	font-size:20px;
	clear:both;
	font-weight:normal!important;
}

#a05.stitTT{
	background:#333333!important;
}

}

@media screen and (max-width:1200px) { 
/*.titleSubBox.season{
	background:url(../images/title/bg_main_season_1200.png) no-repeat 50% 0;
	background-size:cover;
}*/
	
.titleSubBox.season{
	background:url(../images/title/bg_main_season2.png) no-repeat 50% 0;
	background-size:cover;
}
}


@media screen and (max-width:1200px) { 
.titleSubBox.news{
	background:url(../images/title/im_bg_news_1200.png) no-repeat 50% 0;
	background-size:cover;
}
}

@media screen and (max-width:1200px) { 
.titleSubBox.premium{
	background:url(../images/title/bg_main_premium_1200.png) no-repeat 50% 0;
	background-size:cover;
}
}

/* ============================================================
   おとなび カスタムスタイル
   ============================================================ */
:root{
	--teal:#2c7a73;
	--teal-dark:#215a54;
	--maroon:#5e2340;
	--gold:#d7b03c;
	--pink:#d94f86;
	--purple:#8659a8;
	--price:#d23b2e;
	--bg-gray:#e8f0ef;
	--line:#dcdcdc;
	--text:#232323;
}

article{color:var(--text);}

/* スマホ等での横スクロール防止：スライダー等の微小なはみ出しをコンテナでクリップ。
   縦スクロール・固定モーダルには影響なし。モダンブラウザは overflow-y への副作用が
   ない clip を使用し、非対応ブラウザは hidden にフォールバック */
#wrapper{overflow-x:hidden;overflow-x:clip;}

/* 共通：セクション背景（テンプレの nth-of-type 指定を上書き） */
.sec.sec--gray{background-color:var(--bg-gray);}
.sec.sec--plain{background-color:#fff;}

/* 見出し（左バー付き） */
.ttl-bar{
	font-size:24px;
	font-weight:700;
	line-height:1.3;
	padding-left:14px;
	border-left:6px solid var(--teal);
	border-bottom:none;
	margin:0 0 24px;
	text-align:left;
	clear:both;
}
.ttl-center{
	text-align:center;
	font-size:20px;
	font-weight:700;
	margin:8px 0 24px;
	position:relative;
	padding-bottom:10px;
}
.ttl-center::after{
	content:"";
	position:absolute;left:50%;bottom:0;
	width:46px;height:3px;margin-left:-23px;
	background:var(--teal);
}

/* ------------------------------------------------------------
   ▼メインビジュアル
------------------------------------------------------------ */
.mainvisual{
	height:280px;
	background:#c9d4d0 url(../images/mv.jpg) center center / cover no-repeat;
	position:relative;
	overflow:hidden;
}
/*  */
.mainvisual::before{
	content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
	width: 100%;
	height:200px;
	background: #FFF;
	background: linear-gradient(90deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .7) 25%, rgba(255, 255, 255, .9) 50%, rgba(255, 255, 255, .7) 75%, rgba(255, 255, 255, 0) 100%);
}
.mv-inner{
	position:relative;
	width:96%;
	max-width:1080px;
	margin:0 auto;
	height:280px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	box-sizing:border-box;
	text-align:center;
}
.mv-title{
	width:100%;
	max-width:1080px;
	margin:0;
	border:none;
	padding:0;
	display:block;
}
.mv-title img{
	display:block;
	width:auto;
	max-width:100%;
	max-height:160px;
	height:auto;
	margin:0 auto;
}

/* ------------------------------------------------------------
   共通スライダー
------------------------------------------------------------ */
.js-slider{position:relative;}
.slider__viewport{overflow:hidden;}
.slider__track{
	display:flex;
	margin:0;padding:0;list-style:none;
	transition:transform .4s ease;
	will-change:transform;
}
.slider__track>li{flex:0 0 auto;box-sizing:border-box;}
.slider__prev,.slider__next{
	position:absolute;top:50%;transform:translateY(-50%);
	width:44px;height:44px;border-radius:50%;
	border:1px solid var(--line);background:#fff;
	cursor:pointer;z-index:3;
	display:flex;align-items:center;justify-content:center;
	box-shadow:0 2px 6px rgba(0,0,0,.12);
	transition:background .2s,box-shadow .2s;
}
.slider__prev:hover,.slider__next:hover{background:#f3f3f3;box-shadow:0 3px 10px rgba(0,0,0,.18);}
.slider__prev{left:-8px;}
.slider__next{right:-8px;}
.slider__prev::before,.slider__next::before{
	content:"";width:15px;height:15px;
	background:url(../images/arrow_k.svg) center/contain no-repeat;
}
.slider__prev::before{transform:scaleX(-1);}
.slider__dots{
	display:flex;justify-content:center;gap:8px;margin-top:16px;
}
.slider__dots button{
	width:9px;height:9px;padding:0;border:none;border-radius:50%;
	background:#c3cccb;cursor:pointer;transition:background .2s,transform .2s;
}
.slider__dots button.is-active{background:var(--teal);transform:scale(1.15);}

/* INFORMATION 帯 */
.info-band{background:var(--teal);color:#fff;}
.info-band__inner{
	width:96%;max-width:1080px;margin:0 auto;
	display:flex;align-items:center;gap:22px;
	padding:14px 0;box-sizing:border-box;
}
.info-band__head{
	font-size:20px;font-weight:700;letter-spacing:.08em;
	white-space:nowrap;position:relative;padding-right:22px;margin:0;
}
.info-band__head::after{
	content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);
	width:1px;height:26px;background:rgba(255,255,255,.5);
}
.info-slider{flex:1;min-width:0;padding:0 70px 0 0;}
/* INFORMATIONは矢印不要（ドットのみ） */
.info-slider .slider__prev,.info-slider .slider__next{display:none;}
.info-item{
	width:100%;display:flex;align-items:center;gap:14px;
	white-space:nowrap;overflow:hidden;
}
.info-tag{
	background:#fff;color:var(--teal);font-size:13px;font-weight:700;
	padding:3px 12px;flex:0 0 auto;
}
.info-item a{
	color:#fff;text-decoration:none;font-size:15px;
	overflow:hidden;text-overflow:ellipsis;
}
.info-item a:hover{text-decoration:underline;}
.info-slider .slider__dots{
	position:absolute;right:14px;top:50%;transform:translateY(-50%);margin:0;
}
.info-slider .slider__dots button{width:7px;height:7px;background:rgba(255,255,255,.5);}
.info-slider .slider__dots button.is-active{background:#fff;transform:none;}
/* INFORMATIONはフェード切替。
   グリッドで全スライドを同一セルに重ねることで、
   ・高さは中身（1行/2行）に応じて自動で伸びる → 見切れない
   ・align-items:center で上下中央に揃う → 上ズレしない */
.info-slider.is-fade .slider__track{display:grid;align-items:center;transition:none;}
.info-slider.is-fade .info-item{grid-area:1 / 1;opacity:0;transition:opacity .5s ease;pointer-events:none;}
.info-slider.is-fade .info-item.is-current{opacity:1;pointer-events:auto;}

/* INFORMATION下 バナースライダー */
.banner-slide{padding:0 10px;}
.banner-slide img{width:100%;height:auto;display:block;border-radius:8px;}

/* ------------------------------------------------------------
   ▼カテゴリで探す
------------------------------------------------------------ */
.category-list{
	list-style:none;margin:0;padding:0;
	display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.category-card{
	display:flex;align-items:center;gap:14px;
	background:#fff;border-radius:8px;padding:22px 74px 22px 22px;
	text-decoration:none;color:var(--text);
	position:relative;overflow:hidden;
	box-shadow:0 2px 6px rgba(0,0,0,.08);
	transition:transform .2s ease,box-shadow .2s ease;
}
.category-card__icon{
	flex:0 0 auto;width:48px;height:48px;border-radius:50%;
	background:var(--bg-gray);color:var(--teal);
	display:flex;align-items:center;justify-content:center;
	transition:background .2s,color .2s;
}
.category-card__ttl{display:block;font-size:19px;font-weight:700;color:var(--teal);}
.category-card__sub{display:block;font-size:13px;color:#666;margin-top:4px;}
/* 右端のグリーンタブ＋白い矢印（arrow.svg） */
.category-card__arrow{
	position:absolute;right:0;top:0;bottom:0;width:56px;
	background:var(--teal);
	display:flex;align-items:center;justify-content:center;
	transition:width .2s ease,background .2s ease;
}
.category-card__arrow::after{
	content:"";width:18px;height:18px;
	background:url(../images/arrow.svg) center/contain no-repeat;
}
/* ホバーアクション */
.category-card:hover{transform:translateY(-4px);box-shadow:0 8px 18px rgba(0,0,0,.15);}
.category-card:hover .category-card__icon{background:var(--teal);color:#fff;}
.category-card:hover .category-card__arrow{width:64px;background:var(--teal-dark);}

/* ------------------------------------------------------------
   ▼エリアで探す：タブ
------------------------------------------------------------ */
.area-tabs{
	list-style:none;margin:0 0 8px;padding:0;
	display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.area-tab{
	width:100%;background:#fff;border:1px solid var(--teal);
	color:var(--text);font-size:16px;font-weight:700;letter-spacing:.06em;
	padding:16px 6px;border-radius:6px;cursor:pointer;
	transition:background .2s,color .2s;
}
.area-tab:hover{background:#e2eeec;}
.area-tab.is-active{background:var(--teal);color:#fff;}

.area-toolbar{display:flex;justify-content:flex-end;margin:18px 0 20px;}
.filter-btn{
	display:inline-flex;align-items:center;gap:8px;
	background:#fff;border:1px solid var(--line);border-radius:6px;
	padding:9px 18px;font-size:14px;font-weight:700;cursor:pointer;
	transition:background .2s,box-shadow .2s;
}
.filter-btn:hover{background:#f3f3f3;box-shadow:0 2px 6px rgba(0,0,0,.1);}
.filter-btn__box{
	width:16px;height:16px;border:2px solid #999;border-radius:3px;display:inline-block;
}

/* ------------------------------------------------------------
   コースカード
------------------------------------------------------------ */
.course-list{
	display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.course-list:empty{min-height:0;}
.course-card{
	background:#fff;border-radius:10px;overflow:hidden;
	box-shadow:0 2px 8px rgba(0,0,0,.1);
	display:flex;flex-direction:column;
	position:relative;
}
.course-card__thumb{position:relative;line-height:0;}
.course-card__thumb img{width:100%;height:auto;display:block;}

/* --- ラベル（CSSのクラス付与で表示/非表示を制御）---
   カードに has-gensen / has-guide / has-member を付けると各ラベルが表示されます。
   クラスを外すだけで非表示にできます。 */
.course-card__ribbon,
.course-card__labels .label{display:none;}

/* 厳選：金色ペナント（右端に三角ノッチ） */
.course-card.has-gensen .course-card__ribbon{
	display:block;position:absolute;top:12px;left:0;z-index:2;
	background:var(--gold);color:#5a4a12;
	font-size:13px;font-weight:800;letter-spacing:.14em;
	padding:5px 24px 5px 13px;line-height:1.1;
	clip-path:polygon(0 0,100% 0,calc(100% - 9px) 50%,100% 100%,0 100%);
	box-shadow:1px 2px 3px rgba(0,0,0,.2);
}
/* 添乗員同行／会員割引：画像の左下に横並び */
.course-card__labels{
	position:absolute;left:0;bottom:0;display:flex;gap:0;z-index:2;
}
.course-card.has-guide .label--guide,
.course-card.has-member .label--member{
	display:inline-block;color:#fff;font-size:13px;font-weight:700;
	padding:5px 13px;line-height:1.3;
}
.label--guide{background:var(--pink);}
.label--member{background:var(--purple);}

.course-card__body{padding:16px 16px 20px;display:flex;flex-direction:column;flex:1;}
.course-card__ttl{font-size:17px;font-weight:700;line-height:1.4;margin:2px 0 10px;}
.course-card__days{font-size:20px;font-weight:700;margin:2px 0 10px;}
.course-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none;}
/* キーワードタグ：背景#DFD1BA・テキストはスミ */
.course-card__tags li{
	font-size:11px;background:#dfd1ba;color:#2b2b2b;
	border:none;border-radius:20px;padding:3px 12px;
}
.course-card__desc{font-size:13px;line-height:1.7;color:#555;margin:0 0 14px;}
.course-card__depart{font-size:13px;color:#444;border-top:1px solid #eee;padding-top:12px;margin:0;}
/* 価格：〜以降も同サイズで統一 */
.course-card__price{color:var(--price);font-size:21px;font-weight:800;margin:4px 0 2px;letter-spacing:-.01em;}
.course-card__price small{font-size:inherit;font-weight:inherit;}
.course-card__pricenote{font-size:11px;color:#888;margin:0 0 14px;line-height:1.5;}
.course-card__btns{margin-top:auto;display:flex;flex-direction:column;gap:10px;}
/* ボタン：角丸なし・arrow_b.svgの矢印 */
.course-btn{
	display:flex;align-items:center;justify-content:center;position:relative;
	text-decoration:none;font-size:15px;font-weight:700;
	padding:14px 10px;border-radius:0;transition:opacity .2s;
}
.course-btn::after{
	content:"";position:absolute;right:16px;top:50%;transform:translateY(-50%);
	width:16px;height:16px;
}
/* 二重クラスで詳細度を上げ、NTA共通CSSのリンク色指定を上書き */
.course-btn.course-btn--detail{background:#e7e7e7;color:#2b2b2b;}
.course-btn.course-btn--detail::after{background:url(../images/arrow_b_k.svg) center/contain no-repeat;}
.course-btn.course-btn--reserve{background:var(--teal);color:#fff;}
.course-btn.course-btn--reserve::after{background:url(../images/arrow_b.svg) center/contain no-repeat;}
.course-btn:hover{opacity:.85;}

/* もっと見る */
.more-wrap{display:flex;justify-content:center;margin-top:36px;}
.more-btn,
.more-wrap a {
	min-width:320px;max-width:90%;
	background:#fff;border:1px solid var(--teal);color:var(--text);
	font-size:16px;font-weight:700;padding:16px 24px;border-radius:8px;
	cursor:pointer;transition:background .2s,color .2s;
}
.more-wrap a {
	display:block;
	text-align:center;
}
.more-btn:hover,
.more-wrap a:hover{background:var(--teal);color:#fff;opacity:1;}

/* 隠しカード（data属性フィルタ／もっと見るで付与） */
.course-card.is-hidden,
.course-card.is-filtered,
.course-card.is-more-hidden{display:none;}

.textYet.js-no-result {font-size:16px;font-weight:700;color:#555;text-align:center;margin:40px 0;}


/* ------------------------------------------------------------
   ▼パンフレット一覧
------------------------------------------------------------ */
/* 左右のスライドが少し見切れる（peek）レイアウト */
.pamph-slider .slider__viewport{padding:0 44px;box-sizing:border-box;}
.pamph-slider .slider__prev{left:6px;}
.pamph-slider .slider__next{right:6px;}
.pamph-slide{padding:0 8px;}
.pamph-slide a{text-decoration:none;color:var(--text);display:block;}
.pamph-slide img{width:100%;height:auto;display:block;border:1px solid var(--line);box-shadow:0 2px 6px rgba(0,0,0,.1);}
.pamph-cap{display:block;font-size:13px;line-height:1.5;margin-top:10px;}

/* ------------------------------------------------------------
   ▼おすすめ／季節限定 バナー
------------------------------------------------------------ */
.feature-banner{margin:0 0 10px;line-height:0;}
.feature-banner img{width:100%;height:auto;display:block;border-radius:8px;}
.feature-lead{text-align:center;font-size:15px;color:#555;margin:0 0 26px;}

/* ------------------------------------------------------------
   ▼人気の特集ページ
------------------------------------------------------------ */
.feature-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.feature-link{position:relative;/*display:block;*/display:flex;flex-direction:column;border-radius:10px;overflow:hidden;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.12);}
.feature-link img{width:100%;/*aspect-ratio:3/2;padding-bottom:3em;object-fit:cover;*/display:block;transition:transform .3s ease;}
/* 下部にソリッド（単色）のカラーバー */
.feature-link__body{position:static;margin-top:auto;left:0;right:0;bottom:0;padding:14px 60px 14px 18px;color:#fff;}
.feature-link__ttl{display:block;font-size:18px;font-weight:700;}
.feature-link__sub{display:block;font-size:14px;margin-top:6px;color:#E7E76D;}
.feature-link__arrow{position:absolute;right:16px;bottom:18px;width:34px;height:34px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;transition:transform .2s;}
.feature-link__arrow::after{content:"";width:15px;height:15px;background-position:center;background-repeat:no-repeat;background-size:contain;}
.feature-link--pink .feature-link__body{background:#F42E5E;}
.feature-link--navy .feature-link__body{background:#142042;}
.feature-link--green .feature-link__body{background:#4e6c44;}
.feature-link--grey .feature-link__body{background:#333333;}
.feature-link--pink .feature-link__arrow::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 11 11' fill='none'%3E%3Cpath d='M0.5 5.16667H9.83333M5.16667 9.83333L9.83333 5.16667L5.16667 0.5' stroke='%23F42E5E' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.feature-link--navy .feature-link__arrow::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 11 11' fill='none'%3E%3Cpath d='M0.5 5.16667H9.83333M5.16667 9.83333L9.83333 5.16667L5.16667 0.5' stroke='%23142042' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.feature-link--green .feature-link__arrow::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 11 11' fill='none'%3E%3Cpath d='M0.5 5.16667H9.83333M5.16667 9.83333L9.83333 5.16667L5.16667 0.5' stroke='%234e6c44' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.feature-link--grey .feature-link__arrow::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 11 11' fill='none'%3E%3Cpath d='M0.5 5.16667H9.83333M5.16667 9.83333L9.83333 5.16667L5.16667 0.5' stroke='%23333333' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.feature-link:hover{box-shadow:0 8px 20px rgba(0,0,0,.22);}
.feature-link:hover img{transform:scale(1.05);}
.feature-link:hover .feature-link__arrow{transform:scale(1.1);}

/* ------------------------------------------------------------
   ▼お電話でご予約・お問合せを承ります
------------------------------------------------------------ */
.sec.sec--tel{background:#f0f0f0;}
.tel-ttl{text-align:center;font-size:26px;font-weight:700;margin:0 0 12px;border:none;padding:0;}
.tel-lead{text-align:center;font-size:14px;color:#555;margin:0 0 28px;}
.tel-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);}
.tel-col{text-align:center;padding:6px 20px;border-right:1px solid #ccc;}
.tel-col:last-child{border-right:none;}
.tel-col__area{font-size:16px;font-weight:700;margin:0 0 12px;}
.tel-col__name{font-size:13px;color:#555;margin:0 0 6px;}
.tel-col__num{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 8px;}
.tel-navi{width:38px;height:auto;flex:0 0 auto;display:inline-block;}
.sec--tel .tel-col__num a{font-size:30px;font-weight:800;color:#232323;text-decoration:none;letter-spacing:.01em;}
.tel-col__note{font-size:12px;color:#777;margin:0 0 2px;}
.tel-col__hours{font-size:12px;color:#777;margin:0;}

/* ------------------------------------------------------------
   ▼絞り込むモーダル
------------------------------------------------------------ */
.modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;}
.modal[hidden]{display:none;}
.modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);}
.modal__panel{
	position:relative;background:#fff;width:92%;max-width:520px;
	max-height:88vh;display:flex;flex-direction:column;border-radius:8px;overflow:hidden;
	box-shadow:0 10px 40px rgba(0,0,0,.35);
	animation:modalIn .25s ease;
}
@keyframes modalIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
.modal__head{
	background:var(--teal);color:#fff;
	display:flex;align-items:center;justify-content:center;position:relative;padding:16px;
}
.modal__title{font-size:20px;font-weight:700;margin:0;letter-spacing:.06em;}
.modal__close{
	position:absolute;right:14px;top:50%;transform:translateY(-50%);
	width:26px;height:26px;background:none;border:none;cursor:pointer;
}
.modal__close::before,.modal__close::after{
	content:"";position:absolute;left:50%;top:50%;width:20px;height:2px;background:#fff;
}
.modal__close::before{transform:translate(-50%,-50%) rotate(45deg);}
.modal__close::after{transform:translate(-50%,-50%) rotate(-45deg);}
.modal__body{padding:22px;overflow-y:auto;}
.filter-group{margin-bottom:22px;}
.filter-group__ttl{
	font-size:15px;font-weight:700;margin:0 0 12px;padding-left:12px;position:relative;
}
.filter-group__ttl::before{
	content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
	width:5px;height:16px;background:var(--teal);
}
.filter-chips{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.filter-chips:not(.filter-chips--area){display:flex;flex-wrap:wrap;}
.chip{position:relative;cursor:pointer;}
.chip input{position:absolute;opacity:0;width:0;height:0;}
.chip span{
	display:block;text-align:center;border:1px solid var(--line);border-radius:6px;
	padding:12px 8px;font-size:15px;transition:background .2s,color .2s,border-color .2s;
}
.chip--sm span{border-radius:30px;padding:7px 18px;font-size:14px;}
.chip input:checked+span{
	background:var(--teal);color:#fff;border-color:var(--teal);
}
.filter-toggle{
	display:flex;align-items:center;justify-content:space-between;
	padding:12px 0;border-bottom:1px solid #eee;font-size:15px;cursor:pointer;
}
.filter-toggle input{position:absolute;opacity:0;width:0;height:0;}
.switch{position:relative;width:46px;height:26px;background:#ccc;border-radius:20px;transition:background .2s;flex:0 0 auto;}
.switch::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s;}
.filter-toggle input:checked+.switch{background:var(--teal);}
.filter-toggle input:checked+.switch::after{transform:translateX(20px);}
.filter-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;margin-top:24px;}
.filter-reset{background:#fff;border:1px solid var(--teal);color:var(--teal);font-size:16px;font-weight:700;padding:14px;border-radius:6px;cursor:pointer;}
.filter-apply{background:var(--teal);border:none;color:#fff;font-size:16px;font-weight:700;padding:14px;border-radius:6px;cursor:pointer;}
.filter-reset:hover{background:#eaf3f1;}
.filter-apply:hover{opacity:.9;}

body.is-modal-open{overflow:hidden;}

/* ============================================================
   レスポンシブ（〜759px：スマートフォン）
   ============================================================ */
@media screen and (max-width:759.9px){
	.ttl-bar{font-size:20px;}
	.mainvisual{height:auto;background:url(../images/mv_sp.jpg) center center / cover no-repeat;}
	.mainvisual::before{height:84%;}
	.mv-inner{height:auto;min-height:224px;padding:16px 0;}
	.mv-title img{max-height:168px;width:auto;}

	.info-band__inner{flex-wrap:wrap;gap:10px;padding:12px 2%;}
	.info-band__head{font-size:16px;}
	.info-band__head::after{display:none;}
	.info-slider{flex-basis:100%;padding:0 30px;}
	.info-slider .slider__dots{display:none;}
	.info-item a{font-size:13px;white-space:normal;}

	.category-list{grid-template-columns:1fr;gap:12px;}
	.area-tabs{grid-template-columns:repeat(2,1fr);gap:10px;}
	.area-tab{font-size:14px;padding:13px 4px;}

	.course-list{grid-template-columns:1fr;gap:18px;}
	.more-btn{min-width:0;width:100%;}

	.banner-slide{padding:0 6px;}
	.pamph-slide{padding:0 6px;}
	.pamph-slider .slider__viewport{padding:0 30px;}
	/* スマホでは矢印をスライダー内側に収める（はみ出し防止） */
	.slider__prev{left:0;}
	.slider__next{right:0;}

	.feature-links{grid-template-columns:1fr;gap:16px;}
	.tel-list{grid-template-columns:1fr;gap:24px;}
	.tel-col{border-right:none;border-bottom:1px solid #cfcfcf;padding-bottom:20px;}
	.tel-col:last-child{border-bottom:none;}
	.tel-ttl{font-size:21px;}

	.filter-chips--area{grid-template-columns:1fr 1fr;}
	.filter-actions{grid-template-columns:1fr 1fr;}
}

/* 2カラム（760〜959px）でカードを見やすく */
@media screen and (min-width:760px) and (max-width:959.9px){
	.category-list{grid-template-columns:1fr;}
	.course-list{grid-template-columns:repeat(2,1fr);}
}

/* ============================================================
   カスタム
   ============================================================ */

@media screen and (max-width:559.9px){
	/*.mv-inner{height:auto;min-height:2px;padding:16px 0;}
	.mv-title img{max-height:88px;width:auto;}*/
	.mainvisual::before{height:72%;}
}

.course-card__tags li.is-skakutei {
	background: #c8102e !important;
	color: #fff !important;
}