@charset "utf-8";
body {
	font-family: 'Noto Sans JP', sans-serif;
	color: #2F2F2F;
	margin: 0;
	padding: 0;
	letter-spacing: 0.02em;
	font-feature-settings: "palt";
}
.pc{ display: block; }
.sp{ display: none; }

#content {
	width:100%;
}

/* inner */
.contents__inner {
	width:100%;
	/*max-width:1000px;*/
	margin:0 auto;
	/*padding:0 16px;*/
}

:target {
  scroll-margin-top: 24px;
}

.contentarea{
    width:100%;
    height:100%;
    background-color:#FCFCEA;
    padding-bottom:120px;
    color:#333;
    line-height:1.4;
}
.contentarea .kv{
    max-width:1100px;
    margin:0 auto 60px;
}
.contentarea .kvImg{
    width:100%;
    vertical-align:bottom;
    margin-bottom:40px;
}
.contentarea .txp01{
    display:block;
    width:100%;
    line-height: 30px;
    font-size: 17px;
    font-weight:500;
    box-sizing:border-box;
}
.contentarea .schedule{
    width:1100px;
    margin:0 auto;
}
.contentarea .schedule .ttl02 {
	font-size: 30px;
	margin-bottom: 30px;
}
.contentarea .schedule .ttl02::before {
	content: "schedule";
	font-style: italic;
	color: #ba350c;
	font-size: 15px;
	font-weight: bold;
	display: block;
}


/* --- 独自 --- */
.scheduleList2{
    display:block;
}
.scheduleList2 li{
    list-style:none;
    padding:0;
    position:relative;
}
.scheduleList2 .dateTx span{
    font-size:18px;
    font-weight:600;
    /* color:#666; */
    /* display:block; */
    margin-bottom:5px;
    margin-right:3px;
}
.scheduleList2 .dateTx{
    font-size:23px;
    font-weight:600;
}
.scheduleList2 .dateTx b{
    font-size:34px;
    font-weight:600;
}
/* 「〜」は数字より小さめ＋後ろに余白 */
.scheduleList2 .dateTx .tilde{
    font-size:22px;
    font-weight:600;
    margin-right:0.25em;
}
.scheduleList2 .ttl4{
    font-size:22px;
    font-weight:600;
    padding:0.5em 0;
}
.scheduleList2 .txp1{
    font-size:17px;
    font-weight:500;
    margin-top:1.1em;
}
.exNote{
    font-size:13px;
    font-weight:500;
    margin-top:0.5em;
    line-height:1;
}
.scheduleList2 .txp2{
    font-size:16px;
    font-weight:500;
    margin:1em 0 0.3em 0.5em;
}
.scheduleList2 .addNote{
    padding:0;
    margin:0 0 0 1em;
}
.scheduleList2 .addNote li{
    font-size:16px;
    font-weight:500;
    margin-left:1em;
    padding:0;
    list-style-type:disc;
    list-style-position: outside;
}

.stafBnr {
    width: 1100px;
	margin: 100px auto 0 auto;
}
.stafBnr .stafImg {
	max-width: 800px;
	margin: 0 auto;
}
.stafBnr .stafImg img {
	width: 100%;
}


/* ========================================
   予約ボタンエリア
======================================== */

.yoyakuBtn {
    text-align: center;
    padding: 30px 20px;
    background: #fff;
}
	.yoyakuBtn .ttl3 {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		margin: 0 0 20px;
		font-size: 22px;
		font-weight: bold;
		color: #fa6703;
		line-height: 1.4;
	}
	.yoyakuBtn .ttl3 .obliLInr3 {
		display: inline-block;
		width: 2px;
		height: 56px;
		background-color: #fa6703;
		transform: rotate(-30deg);
		flex-shrink: 0;
		font-style: normal;
	}
	.yoyakuBtn .ttl3 .obliLInr4 {
		display: inline-block;
		width: 2px;
		height: 56px;
		background-color: #fa6703;
		transform: rotate(30deg);
		flex-shrink: 0;
		font-style: normal;
	}
	.yoyakuBtn .ttl3 .tx01 {
		display: inline-block;
	}
	.yoyakuBtn .pityoyaku {
		display: flex;
		justify-content: center;
	}
	.yoyakuBtn .pityoyaku a {
		display: inline-block;
		min-width: 280px;
		padding: 16px 40px;
		background-color: #fa6703;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
		border-radius: 50px;
		transition: opacity 0.2s ease;
	}
	.yoyakuBtn .pityoyaku a:hover {
		opacity: 0.85;
	}

/* ========================================
   フローティングボタン
======================================== */
.floating-bottom {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    padding: 10px 16px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}
	.floating-bottom .fb_inner {
		max-width: 480px;
		margin: 0 auto;
	}
	.floating-bottom .fb_inner_link {
		display: block;
		text-decoration: none;
	}
	.floating-bottom .TxBtn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		padding: 14px 20px;
		background-color: #fa6703;
		border-radius: 50px;
		box-sizing: border-box;
		transition: opacity 0.2s ease;
	}
	.floating-bottom .fb_inner_link:hover .TxBtn {
		opacity: 0.85;
	}
	.floating-bottom .btnLabel {
		color: #fff;
		font-size: 18px;
		font-weight: bold;
	}


/* --- カーナビページ独自 --- */
/*
.scheduleList{
    display:flex;
    flex-wrap: wrap;
    gap: 80px 76px;
    margin-bottom:80px;
    box-sizing:border-box;
}
.schedule .ttl3{
    font-size:23px;
    font-weight:550;
    width:100%;
    margin:0 0 24px 0;
    padding:0.8em 1em;
    background-color:#D83200;
    color:#fff;
    box-sizing:border-box;
}
.schedule .ttl3 b{
    font-size:15px;
}
*/

/* --- カーレンダー吹き出しCTA --- */
.charaCta{
    display:flex;
    align-items:flex-end;
    justify-content:center;
    /* 吹き出し＋キャラで800px＝下のバナー（.bnrlink）と同じ幅に揃える */
    max-width:820px;
    margin:30px auto 80px;
    padding:0 10px;
    box-sizing:border-box;
}
.charaCta__balloon{
    position:relative;
    flex:1 1 auto;
    min-width:0;
    margin:0 36px 0 0;
    padding:34px 30px;
    background-color:#FAE2CA;
    border-radius:10px;
    box-sizing:border-box;
}
.charaCta__balloon p{
    margin:0;
    font-size:26px;
    font-weight:bold;
    line-height:1.5;
    color:#fa6703;
    text-align:center;
}
/* しっぽ（キャラクター側＝右向き） */
.charaCta__balloon::after{
    content:"";
    position:absolute;
    top:50%;
    right:-26px;
    width:0;
    height:0;
    margin-top:-16px;
    border-style:solid;
    border-width:16px 0 16px 26px;
    border-color:transparent transparent transparent #FAE2CA;
}
.charaCta__link{
    color:inherit;
    text-decoration:none;
}
/* 吹き出し全体をクリック領域にする */
.charaCta__link::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
}
.charaCta__balloon:hover{
    opacity:0.85;
}
.charaCta__img{
    flex:0 0 auto;
    width:140px;
    line-height:0;
}
.charaCta__img img{
    width:100%;
    height:auto;
}

/* 対象期間の赤帯 */
.schedule .ttl3{
    font-size:23px;
    font-weight:600;
    width:100%;
    margin:0 0 24px 0;
    padding:0.8em 1em;
    background-color:#e70013;
    color:#fff;
    box-sizing:border-box;
}
.schedule .ttl3 b{
    font-size:15px;
    font-weight:600;
}

/* 【案A】赤帯に期間を入れ、その下に対象エリアを置く */
.schedule .ttl3Date{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:0.2em 1.6em;
    font-size:19px;
    padding:0.4em 1em;
}
.ttl3Date .dateTxIn{
    white-space:nowrap;
}
/* 期間の後ろに「／」の区切りを入れる（折り返しても1行目の末尾に残る） */
.ttl3Date .dateTxIn:not(:last-child)::after{
    content:"";
    display:inline-block;
    width:2px;
    height:38px;
    margin:0 0 0 35px;
    background-color:#fff;
    transform:translateY(-5px) rotate(45deg);
    vertical-align:middle;
}
.ttl3Date .dateTxIn span{
    font-size:15px;
    font-weight:500;
    margin-right:3px;
}
.ttl3Date .dateTxIn b{
    font-size:26px;
    font-weight:600;
}
/* 赤帯内の「〜」の後ろに余白（③⑤⑥⑦の「〜 ○月」と見え方を揃える） */
.ttl3Date .tilde{
    margin-right:0.25em;
}
.schedule .areaTx{
    font-size:21px;
    font-weight:600;
    color:#333;
    margin:18px 0 0;
}

/* --- タブレット〜小型PC（1100px以下はコンテンツ幅を可変に） --- */
@media screen and (max-width:1100px){
    .contentarea .txp01{
        width:96%;
        margin:0 auto;
    }
    .contentarea .kv{
        margin:0 auto 3rem;
    }
    .contentarea .schedule{
        width:96%;
        margin:0 auto;
    }
    /* 固定幅1100pxのままだと横スクロールが出るため合わせて可変に */
    .stafBnr{
        width:96%;
    }
}


/* --- SP --- */
@media screen and (max-width:768px){

	.pc { display: none !important; }
	.sp { display: block !important; }
	
    .contentarea{
        padding-bottom:10vw;
    }
    .contentarea .kv{
        width:100%;
        margin:0 auto 6vw;
    }
    .contentarea .kvImg{
        margin-bottom:4.5vw;
    }
    .contentarea .txp01{
        width:92vw;
        margin:0 auto;
        line-height:1.6;
        font-size:0.9rem;
        box-sizing:border-box;
    }
    .contentarea .schedule{
        width:92vw;
        margin:0 auto;
    }
	.contentarea .schedule .ttl02 {
		font-size: 1.4rem;
		margin-bottom: 1.2rem;
	}
	.contentarea .schedule .ttl02::before {
		font-size: 0.8rem;
	}
    
    /* --- カーナビページ独自 --- */
    .scheduleList{
        margin-bottom:10vw;
    }
    .schedule .ttl3{
        font-size:1.05rem;
        width:92vw;
        margin:0 auto 4.2vw;
        padding:0.8em 1em;
        box-sizing:border-box;
        text-align:center;
    }
    .schedule .ttl3 b{
        font-size:0.85rem;
    }
    .exNote{
        font-size:0.8rem;
        font-weight:500;
        margin:0.3em 0 1em 0;
        line-height:1;
    }
	
	/* --- 独自 --- */
    .scheduleList2 .dateTx span{
        font-size:0.85rem;
    }
    .schedule .ttl3{
        font-size:4.5vw;
        width:100%;
        margin:0 auto 4.2vw;
        padding:0.8em 1em;
        box-sizing:border-box;
        text-align:center;
    }
    .schedule .ttl3 b{
        font-size:3.5vw;
    }
    .schedule .ttl3Date{
        display:block;
        font-size:0.9rem;
        padding:0.5em 1em;
        text-align:left;
    }
    .ttl3Date .dateTxIn{
        display:block;
        white-space:normal;
    }
    /* SPは期間が縦積みになるため「／」は非表示 */
    .ttl3Date .dateTxIn:not(:last-child)::after{
        display:none;
    }
    .ttl3Date .dateTxIn + .dateTxIn{
        margin-top:0.3em;
    }
    .ttl3Date .dateTxIn span{
        font-size:0.8rem;
    }
    .ttl3Date .dateTxIn b{
        font-size:1.15rem;
    }
    .schedule .areaTx{
        font-size:1.0rem;
        margin:0.8rem 0 0;
    }
    .scheduleList2 .dateTx .tilde{
        font-size:0.95rem;
    }
    .scheduleList2 .dateTx{
		font-size: 1.1rem;
        font-weight:600;
    }
    .scheduleList2 .dateTx b{
        font-size:1.2rem;
    }
    .scheduleList2 .ttl4{
        font-size:1.15rem;
    }
    .scheduleList2 .txp1{
        font-size:0.85rem;
        font-weight:500;
        margin-top:0.9em;
    }

    .scheduleList2 .txp2{
        font-size:0.85rem;
        font-weight:500;
        margin:1em 0 0.3em 0;
    }
    .scheduleList2 .addNote{
        padding:0;
        margin:0 0 0 0.7em;
    }
    .scheduleList2 .addNote li{
        font-size:0.85rem;
        font-weight:500;
        margin-left:0.7em;
        padding:0;
        list-style-type:disc;
        list-style-position: outside;
    }

    .yoyakuBtn .ttl3 {
        font-size: 1.1rem;
    }
    br.spSetx {
        display: inline;
    }
    .yoyakuBtn .pityoyaku a {
        min-width: 200px;
        width: 85%;
    }
	
	.stafBnr {
        width: 92vw;
		margin: 2rem auto 0 auto;
	}
	.stafBnr .stafImg {
		max-width: inherit;
	}

    /* --- カーレンダー吹き出しCTA --- */
    .charaCta{
        align-items:normal;
        width:92vw;
        margin:1.5rem auto 2.5rem;
        padding:0;
    }
    .charaCta__balloon{
        margin:0 1.5rem 0 0;
        padding:1.2em 1.4em;
        border-radius:0.5rem;
    }
    .charaCta__balloon p{
        font-size:1.1rem;
        text-align:left;
        line-height:1.5;
    }
    .charaCta__balloon::after{
        right:-0.8rem;
        margin-top:-0.4rem;
        border-width:0.8rem 0 0.8rem 1.0rem;
    }
    .charaCta__img{
        width:8rem;
    }
}/* SP */



