/*common_css*/
@charset "utf-8";
/* CSS Document */

/** ================================================================================
このサイトの共通装飾CSS
================================================================================ **/

ruby{
	ruby-position: under;
}
ruby rt{
	font-size: 0.4em;
	line-height: 1.5;
}

/**フォーム整形**/
form button.ui-datepicker-trigger{
    width: 40px;
    height: 30px;
    border:none;
    background: url(/images/cal.png) no-repeat top center / contain ;
    padding: 0;
}
form  select::-ms-expand {	
    display: none;
}
form select{	
    -webkit-appearance: none;	
    -moz-appearance: none;	
    appearance: none;	
    margin-bottom: 20px;	
    padding: 7px 30px 7px 10px;	
    font-size: 93%;	
    line-height: 1.1em;	
    border: 1px solid #ccc;	
    background-image: url(/images/arrow.png);	background-repeat: no-repeat;	
    background-size: 20px auto;	
    background-position: right 5px center;	
    background-color: #fff;
    width: 15em;
}
.input_address span{
    display: inline-block;
    margin-bottom:8px;
}

@media screen and (max-width: 768px){

    form button.ui-datepicker-trigger{
        width: 30px;
        height: 30px;
        border:none;
        background: url(/images/cal.png) no-repeat top center / contain ;
        padding: 0;
    }
    select[name="input[select]"]{
        display: block;
    }
}

/* -------------------------------------
モーダル
-------------------------------------*/
.popup{
    max-width: 980px;
    width: 90%;
    margin: 0 auto;
    position: relative;
}
.popup h1{
    color: #fff;
}
.mfp-close-btn-in .mfp-close{
    display: block;
    width: 1.6em;
    height: 1.6em;
    background:#fff;
    border:1px solid #000;
    border-radius: 50%;
    color: #000;
    position: absolute;
    top: -2em;
    right: -2em;
}
.popup .richtext{
    background: #fff;
    padding:20px;
    margin: 5px auto;
}

@media screen and (max-width: 768px) {
    .mfp-close-btn-in .mfp-close{
        top: -2em;
        right: 0em;
    }
    .popup h1{
        font-size: 18px;
    }
}

/* -------------------------------------
タイトル
-------------------------------------*/
.titZ{
	text-align: center;
	position: relative;
	line-height: 1.2;
	font-size: 45px;
	font-family: 'Noto Serif JP', serif;
	color: #000;
	margin:30px 5%;
}
.titZ:after{
	content: url(/images/bar.png);
	display: block;
	margin: 0 auto;
	line-height: 0;
}

.titA{
	position: relative;
	text-align: center;
	font-weight: bold;
	line-height: 1.5;
}
.titA:after{
	display: block;
	margin: 0 auto;
	content: url(/images/bar.png);
	line-height: 0;
}
.titA strong{
	font-size: 1.3em;
	line-height: 1.8;
}
.titA.web:before{
    content: "\e320";
    font-family: 'Material Icons';
    display: block;
    text-align: center;
    line-height:1.5;
}.titA.call:before{
    content: "\e0cd";
    font-family: 'Material Icons';
    display: block;
    text-align: center;
    line-height:1.5;
}

.titB{
	font-weight: bold;
}

.titC{
	display: flex;
	color: #1c498c;
	text-align: center;
	font-weight: bold;
	line-height: 1.0;

	justify-content: center;
}
.titC:before, 
.titC:after {
	display: block;
	margin-top: 0.5em;
	height: 3px;
	background: #7792ba;
	content: "";

	flex-grow: 1;
}.titC:before {
	margin-right: 0.4em;
}.titC:after {
	margin-left: 0.4em;
}
.titC small{
	display: block;
	margin: 10px auto;
	font-size: 16px;
}

.titD{
	color: #1a1a1a;
	font-family: 'Noto Serif JP', serif;
}

.titE{
	display: flex;
	font-weight: bold;

	justify-content: center;
	align-items: center;
}
.titE > *{
	margin-right: 8px;
	margin-left: 8px;
}

.titF{
	display: flex;
	text-align: center;
	font-weight: bold;

	justify-content: center;
	align-items: center;
}.titF:before, 
.titF:after {
	display: block;
	padding: 2em 0;
	width: 1em;
	border: 2px solid #1c498c;
	content: "";
}.titF:before {
	margin-right: 1em;
	border-right: none;
}.titF:after {
	margin-left: 1em;
	border-left: none;
}

.titF2,
.titF2 p{
	display: flex;
	text-align: center;
	font-weight: bold;
	line-height: 1.0;

	justify-content: center;
	align-items: center;
}.titF2 p:before, 
.titF2 p:after {
	display: block;
	padding: 1em 0;
	width: 0.8em;
	border: 2px solid #1c498c;
	content: "";
}.titF2 p:before {
	margin-right: 0.5em;
	border-right: none;
}.titF2 p:after {
	margin-left: 0.5em;
	border-left: none;
}
.titF2:before, 
.titF2:after {
	display: block;
	margin-top: 0;
	height: 3px;
	border-top: 4px solid #fff;
	border-bottom: 4px solid #fff;
	background: #7792ba;
	box-shadow: 0 0 0 1px #1c498c;
	content: "";

	flex-grow: 1;
}.titF2:before {
	box-shadow: 1px 0 0 1px #1c498c;
}.titF2:after {
	box-shadow: -1px 0 0 1px #1c498c;
}

.titG{
	display: flex;
	padding: 5px 20px;
	border-left: 10px solid #1c498c;
	background: #fff;
	box-shadow: 0 -3px 5px 0 #ccc inset;
	color: #4f4f4f;
	font-weight: bold;
	font-size: 18px;

	justify-content: space-between;
	align-items: center;
}.titG a{
	color: #1c498c;
	font-size: 12px;
	line-height: 1.0;
}.titG a:after{
	z-index: 0.8;
	display: inline-block;
	margin-left: 5px;
	content: "\e91f";
	vertical-align: middle;
	font-family: icomoon;
}
.Gpink{
	border-left-color: #ee719d;
}.Gpink a{
	color: #ee719d;
}.Gorange{
	border-left-color: #f98f00;
}.Gorange a{
	color: #f98f00;
}

.titH{
	background: #1c498c;
	color: #fff;
	padding: 13px 0;
	text-align: center;
	position: relative;
	font-weight: bold;
	margin-bottom: 20px;
}.titH:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #1c498c;
	z-index: 5;
}
.Hpink{
	background: #ee719d;
}.Hpink:before{
	border-top: 15px solid #ee719d;
}
.Hbeige{
	background: #b9aa6a;
}.Hbeige:before{
	border-top: 15px solid #b9aa6a;
}

.titI{
	text-align: center;
	display: flex;
	font-weight: bold;
	align-items: center;
	color: #222;
}
.titI:before,
.titI:after{
	flex-grow:1;
	display: block;
	content: "";
	height: 1px;
	background: #fff;
	border-top: 10px solid #8da4c5;
	border-bottom: 10px solid #8da4c5;
}.titI p{
	padding: 0 20px;
	background: #fff;
	position: relative;
}.titI p:before,
.titI p:after{
	content: "";
	display: block;
	border-radius: 50px;
	width: 20px;
	height: 21px;
	background: #ffffff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}.titI p:before{
	left: -10px;
}.titI p:after{
	right: -10px;
}


.titWrap{
	position: relative;
	padding: 30px 0;
	background: #1c498c;
	color: #fff;
}.titWrap img{
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
}

@media screen and (max-width: 768px){
    .titZ{
        font-size: 24px;
        margin:15px auto;
    }
	.titA strong{
		font-size: 1.0em;
	}
	
	.titE img{
		max-width: 2em;
	}
	
	.titF:before, 
	.titF:after {
		display: block;
		padding: 3em 0;
		width: 0.5em;
		height: 100%;
		content: "";
	}.titF:before {
		margin-right: 5px;
	}.titF:after {
		margin-left: 5px;
	}
	.titG{
		padding: 5px 10px;
		font-size: 14px;
	}
	.titWrap{
		padding: 20px 0 15px;
	}
	.titWrap img{
		top: -35px;
		max-width: 100px;
	}
}


/* -------------------------------------
サブタイトル
-------------------------------------*/
.subA{
	display: flex;
	color: #1c498c;
	text-align: center;
	font-weight: bold;

	justify-content: center;
	align-items: center;
}.subA:before,
.subA:after{
	display: block;
	width: 1;
	height: 1.5em;
	border-left: 1px solid #1c498c;
	content: "";
}.subA:before{
	margin: 0 20px 0 0;
	transform: rotate(-35deg);
}.subA:after{
	margin: 0 0 0 20px;
	transform: rotate(35deg);
}

.subA.gray{
    color:#4f4f4f;
}.subA.gray:before,
.subA.gray:after{
	border-left: 1px solid #4f4f4f;
}


.subB{
	display: flex;
	color: #1c498c;
	text-align: center;
	font-weight: bold;

	justify-content: center;
	align-items: center;
}.subB:before,
.subB:after{
	display: block;
	color: #8da4c5;
	content: "\e924";
	font-size: 3em;
	font-family: icomoon;
}.subB:before{
	margin: 0 20px 0 0;
}.subB:after{
	margin: 0 0 0 20px;
	transform: scale(-1, 1);
}

.subC{
	display: flex;
	margin: 0 auto 20px;
	color: #1c498c;
	vertical-align: bottom;
	text-align: center;
	font-weight: bold;
	font-family: 'Noto Serif JP', serif;
	line-height: 1.0;

	justify-content: flex-start;
	align-items: center;
}.subC:after{
	display: block;
	margin: 0.3em 0 0 10px;
	margin-top: 0.3em;
	border-bottom: 3px double #1c498c;
	content: "";

	flex-grow: 1;
}.subC small{
	display: inline-block;
	margin: 0 5px 0 0;
	vertical-align: middle;
	font-size: 16px;
}


.subD{
	position: relative;
	padding: 10px 15px;
	background: #ffc9c2;
	box-shadow: 3px 3px 0 rgba(0,0,0,0.5);
	font-weight: bold;
	line-height: 1.3;
}
.subD small{
	display: block;
	font-size: 0.7em;
}
.subD:after{
	position: absolute;
	right: 0;
	bottom: 0;
	width: 0;
	height: 0;
	border-width: 0 0 30px 150px;
	border-style: solid;
	border-color: transparent transparent rgba(255,255,255,0.6) transparent;
	content: "";
}

.bg_pink{
	background: #ffc9c2;
}
.bg_pink2{
	background: #ffeced;
}
.bg_blue{
	background: #aaf0e7;
}
.bg_yellow{
	background: #f5daa6;
}
.bg_dblue{
	background: #1c498c;
}
.bg_gray{
	background: #e5e5e5;
}
.bg_white {
    background: #fff;
}


@media screen and (max-width: 768px){
	.subB:before{
		margin: 0 10px 0 0;
	}.subB:after{
		margin: 0 0 0 10px;
	}
}

/**-------------------------------------
サイズ
-------------------------------------**/
body .fw_b {
	font-weight: bold;
}
body .fz12{
	font-size: 12px;
}
body .fz13{
	font-size: 13px;
}
body .fz14{
	font-size: 14px;
}
body .fz16{
	font-size: 16px;
}
body .fz18{
	font-size: 18px;
}
body .fz20{
	font-size: 20px;
}
body .fz22{
	font-size: 22px;
}
body .fz24{
	font-size: 24px;
}
body .fz26{
	font-size: 26px;
}
body .fz28{
	font-size: 28px;
}
body .fz30{
	font-size: 30px;
}
body .fz32{
	font-size: 32px;
}
body .fz40{
	font-size: 40px;
}
body .fz44{
	font-size: 44px;
}
body .fz46{
	font-size: 46px;
}
body .fz54{
	font-size: 54px;
}
body .fz66{
	font-size: 54px;
}

@media screen and (max-width: 768px) {
	body .fz18{
		font-size: 16px;
	}
	body .fz20{
		font-size: 16px;
	}
	body .fz22{
		font-size: 16px;
	}
	body .fz24{
		font-size: 18px;
	}
	body .fz26{
		font-size: 20px;
	}
	body .fz28{
		font-size: 20px;
	}
	body .fz30{
		font-size: 22px;
	}
	body .fz32{
		font-size: 22px;
	}
	body .fz40{
		font-size: 26px;
	}
	body .fz44{
		font-size: 26px;
	}
	body .fz46{
		font-size: 28px;
	}
	body .fz54{
		font-size: 28px;
	}
	body .fz66{
		font-size: 28px;
	}
}


/**-------------------------------------
カラー
-------------------------------------**/
.dblue{
	color: #1c498c;
}
.white{
	color: #fff;
}
.red{
	color: #ea0000;
}
.pink{
	color: #ee719d;
}
.yellow {
    color: #f5daa6;
}

u{
	text-decoration: underline;
	font-size: 1.1em;

	text-decoration-color: red;
}

/* -------------------------------------
横並びボックスの数
-------------------------------------*/
/**２つ並び**/
.box2C{
	display: flex;
	width: 100%;

	justify-content: space-between;
	flex-wrap: wrap;
}
.box2C > *{
	width: 48%;
}
.box2C:after{
	display: block;
	width: 48%;
	content: "";
}

/**3つ並び**/
.box3C{
	display: flex;
	width: 100%;

	justify-content: space-between;
	flex-wrap: wrap;
}
.box3C > *{
	width: 31%;
}
.box3C:after{
	display: block;
	width: 31%;
	content: "";
}

/**4つ並び**/
.box4C{
	display: flex;
	width: 100%;

	justify-content: space-between;
	flex-wrap: wrap;
}
.box4C > *{
	width: 24.5%;
}
.box4C:after,
.box4C:before{
	display: block;
	width: 24.5%;
	content: "";
}
.box4C:before{
	order:1;
}

@media screen and (max-width: 768px){
	/* -------------------------------------
横並びボックスの数
-------------------------------------*/
/**２つ並び**/
	.box2C{
		width: 100%;
	}
	.box2C.box1C_sp{
	    flex-flow: column;
	}.box2C.box2C_sp{
	    flex-flow: row;
	}
	.box2C.box1C_sp > *{
		width: 100%;
	}.box2C.box2C_sp > *{
		width: 48%;
	}
	.box2C:after{
		display: none;
	}

	/**3つ並び**/
	.box3C{
		width: 100%;
	}
	.box3C.box1C_sp{
	    flex-flow: column;
	}.box3C.box2C_sp{
	    flex-flow: row;
	}
	.box3C.box1C_sp > *{
		width: 100%;
	}.box3C.box2C_sp > *{
		width: 48%;
	}
	.box3C:after{
		display: none;
	}

	/**4つ並び**/
	.box4C{
		width: 100%;
	}
	.box4C.box1C_sp{
	    flex-flow: column;
	}.box4C.box2C_sp{
	    flex-flow: row;
	}
	.box4C.box1C_sp > *{
		width: 100%;
	}.box4C.box2C_sp > *{
		width: 48%;
	}
	.box4C:after,
	.box4C:before{
		display: none;
	}
}

/* -------------------------------------
配置
-------------------------------------*/
.h-text-img{
	display: flex;
	margin-right: auto;
	margin-left:auto;
	width: 100%;

	flex-wrap: wrap;
	justify-content: space-between;
}
.h-text-img.left{
	flex-flow: row-reverse;
}
.h-text-img.center_t{
	flex-flow: column-reverse;
}
.h-text-img.center_t{
	flex-flow: column;
}
.h-text-img figure{
	margin-left: 15px; 

	flex:none;
}
.h-text-img.left figure{
	margin-right: 15px;
	margin-left: auto; 
}.h-text-img .right figure{
	margin-right: auto;
	margin-left: 15px;
}

.h-text-img .text{
	flex:1;
}.h-text-img.jc_c .text{
	flex: none;
}

.pdf{
	margin:30px auto;
	width: 100%;
	text-align: center;
}

@media screen and (max-width: 768px){
/* -------------------------------------
配置

<div class="h-text-img (画像の位置：right,left,center_t,center_b,)(スマホ画像の位置：top,bottom)(縦位置：ai_c,ai_fe)">
<div class="text">
<h3 class=""></h3>
<div class="richtext"></div>
<a href="" class=""></a>
</div>
<figure></figure>
</div>
<div class="pdf">
<a href=".pdf" class=""></a>
</div>
-------------------------------------*/
	.h-text-img{
		flex-flow: column;
	}
	.h-text-img.left{
		flex-flow: column;
	}
	.h-text-img.center_t{
		flex-flow: column;
	}
	.h-text-img.center_b{
		flex-flow: column;
	}
	.h-text-img.center_t.top,
	.h-text-img.top{
		flex-flow: column-reverse;
	}

	.h-text-img figure{
		margin:15px auto;
	}

	.h-text-img.left figure{
		margin-right: auto;  
	}.h-text-img .right figure{
		margin-left: auto;
	}

	.pdf{
		margin:20px auto;
	}
}

/* -------------------------------------
カテゴリ
-------------------------------------*/
.ctgr{
	position: relative;
	display: inline-block;
	padding: 8px 10px;
	color: #fff;
	font-size: 14px;
	line-height: 1.0;
	background:#1c498c;
}
/*.ctgr:before{
	display: inline-block;
	height: 1em;
	content: "\e2c8";
	vertical-align: middle;
	font-size: 1.0em;
	font-family: 'Material Icons';
	line-height: 1.0;
	margin: 0 5px;
}*/

@media screen and (max-width: 768px){
    .ctgr{
        font-size: 12px;
    }
}

/**-------------------------------------
バルーン
-------------------------------------**/

.balloon_b {
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	margin: 0 auto 1.5em;
	padding: 5px 25px;
	min-width: 120px;
	max-width: 100%;
	border: solid 3px #dcdddd;
	border-radius: 10px;
	background: #FFF;
	color: #000;
	font-weight: bold;
	font-size: 16px;
}
.balloon_b:before {
	position: absolute;
	bottom: -24px;
	left: 50%;
	z-index: 2;
	margin-left: -15px;
	border: 12px solid transparent;
	border-top: 12px solid #FFF;
	content: "";
}
.balloon_b:after {
	position: absolute;
	bottom: -30px;
	left: 50%;
	z-index: 1;
	margin-left: -17px;
	border: 14px solid transparent;
	border-top: 14px solid #dcdddd;
	content: "";
}

.balloon_t {
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	margin: 1.5em auto 0;
	padding: 5px 25px;
	min-width: 120px;
	max-width: 100%;
	border: solid 3px #dcdddd;
	background: #FFF;
	color: #000;
	font-weight: bold;
	font-size: 16px;
}

.balloon_t:before {
	position: absolute;
	top: -24px;
	left: 50%;
	z-index: 2;
	margin-left: -15px;
	border: 12px solid transparent;
	border-bottom: 12px solid #FFF;
	content: "";
	}

.balloon_t:after {
	position: absolute;
	top: -30px;
	left: 50%;
	z-index: 1;
	margin-left: -17px;
	border: 14px solid transparent;
	border-bottom: 14px solid #dcdddd;
	content: "";
	}


@media screen and (max-width: 768px){
	.balloon_b,
	.balloon_t {
		margin: 0 auto 0.8em;
		padding: 5px 15px;
	}
	.balloon_t {
		margin: 0.5em auto 0;
	}
}

/* -------------------------------------
電話
-------------------------------------*/
.tel{
	color: #f99000;
	font-size: 24px;
}.tel:before{
	display: inline-block;
	margin: 0 5px;
	content: "\e923";
	font-weight: normal;
	font-family: icomoon;
}

/* -------------------------------------
公開日
-------------------------------------*/
.time{
	display: inline-block;
	margin: 0 2px;
	padding:5px 0;
	vertical-align:middle;
	font-size: 13px;
	line-height: 1.0;
}/*.time:before{
	display: inline-block;
	content: "\e192";
	vertical-align: middle;
	font-size: 1em;
	font-family: 'Material Icons';
}*/


/* -------------------------------------
ボタン
-------------------------------------*/
.btnA,
.btnA2,
.btnB{
	border:2px solid #1c498c;
	background: #1c498c;
	padding: 15px 5px 15px;
	display: block;
	width: 90%;
	max-width: 400px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.0;
	color: #fff;
	font-weight: bold;
}.btnA:after,
.btnA2:after,
.btnB:after{
	display: inline-block;
	content: "\e91f";
	font-family: icomoon;
	margin-left: 10px;
}.btnA:hover,
.btnA2:hover,
.btnB:hover,
a:hover .btnA,
a:hover .btnB{
	background:#ffffff;
	color: #1c498c;
}
.btnA2{
	position: relative;
}
.btnA2:after{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 15px;
}.btnA2 small{
	display: block;
	font-size: 20px;
	margin: 15px 0 0;
}.btnA2 small:before{
	content: attr( data-no );
	display: inline-block;
	border: 1px solid #1c498c;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	background: #fff;
	border-radius: 50%;
	color: #1c498c;
	font-size: 16px;
	margin: 0 5px;
}
.btnB{
	display: inline-block;
	padding: 5px 10px;
	max-width: none;
	width: auto;
	border-radius: 50px;
	font-size: 12px;
}
.btnB:after{
	margin-left: 5px;
	font-size: 0.8em;
}

.btnC{
	display: flex;
	color: #1c498c;
	font-size: 12px;

	justify-content: flex-end;
	align-items: center;
}.btnC:after{
	display: inline-block;
	margin-left: 10px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #1c498c;
	color: #fff;
	content: "\e91f";
	text-align: center;
	font-family: icomoon;
	line-height: 32px;
}

.btnC2{
	display: flex;
	font-size: 16px;
	align-items: center;
	color: #1c498c;
}.btnC2:after{
	display: inline-block;
	content: "\e91f";
	font-family: icomoon;
	margin-left: 10px;
	color: #fff;
	background: #1c498c;
	width: 20px;
	height: 20px;
	text-align: center;
	line-height: 20px;
	border-radius: 50%;
	font-size: 0.6em;
}


.btnD{
	padding: 3px 0;
	border-bottom: 1px solid #1c498c;
	color: #1c498c;
}.btnD:after{
	display: inline-block;
	margin-left: 5px;
	content: "\e91f";
	font-size: 0.8em;
	font-family: icomoon;
}.btnD:hover{
	border-bottom: none;
}


.btnCamp{
    background: #ee3232; /* Old browsers */
background: -moz-linear-gradient(top, #ee3232 0%, #ee3232 50%, #ea0000 51%, #ea0000 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, #ee3232 0%,#ee3232 50%,#ea0000 51%,#ea0000 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, #ee3232 0%,#ee3232 50%,#ea0000 51%,#ea0000 100%);
    color:#fff;
    display: block;
    font-size: 32px;
    text-align: center;
    max-width: 820px;
    margin: 10px auto;
    padding: 15px;
    border-radius: 5px;
    position: relative;
}
.btnCamp:after{
    display: inline-block;
    content: "\e91f";
    font-family: icomoon;
    margin-left: 10px;
    vertical-align: middle;
    position: absolute;
    top:50%;
    right:5px;
    transform: translateY(-50%)
}
.btnCamp:hover{
    opacity: 0.8;
}

@media screen and (max-width: 768px) {
	.btnA{
		padding: 13px 5px;
		font-size: 14px;
	}
	.btnB{
		padding: 5px;
		font-size: 12px;
	}
	.btnC{
		font-size: 10px;
	}
	.btnC:after{
		margin-left: 5px;
		width: 16px;
		height: 16px;
		font-size: 9px;
		line-height: 16px;
	}
	
.btnCamp{
    font-size: 16px;
    max-width: 90%;
}
    
}

/* -------------------------------------
カテゴリー
-------------------------------------*/

.catBtn{
	display: flex;
	justify-content: center;
	max-width: 980px;
    margin-left:auto;
    margin-right: auto;
}
.catBtn a{
	display: block;
	margin: 5px;
	padding: 10px 3px 25px;
	background: #6080af;
	color: #fff;
	position: relative;
	text-align: center;
	flex: 1;
	font-size: 22px;
}
.catBtn a:after{
	content: "\e91e";
	display: block;
	font-family: icomoon;
	font-size: 0.7em;
	margin: 0 auto;
	position: absolute;
	left: 50%;
	bottom: 5px;
	transform: translateX(-50%);
}
@media screen and (max-width: 768px){
	.catBtn{
		display: flex;
		margin:  10px auto;
		width: 96%;
		flex-wrap: wrap;
		justify-content: space-between;
		font-size: 14px;
	}
	.catBtn a{
		margin: 0 0 8px;
		padding: 10px 20px 20px 10px;
		min-width: 8em;
		width: 49%;
		font-size: 14px;
		flex: none;
	}
	
}

/* -------------------------------------
テーブル
-------------------------------------*/
.table table{
	margin: 30px auto;
	width: 100%;
	border-spacing:1px;
	border-collapse:separate;
	background: #1c498c;
}
.table th,
.table td{
	padding: 15px;
	background: #fff;
	vertical-align: top;
	text-align: left;
}
.table th{
	width: 25%;
	background: #4a6ea3;
	vertical-align:middle;
	font-weight: bold;
	color: #fff;
}
.require{
	margin:0 10px;
}

@media screen and (max-width: 768px) {
	.table table,
	.table tbody,
	.table tr,
	.table th,
	.table td{
		display: block;
		border: none;
	}
	.table table{
	}
	.table th,
	.table td{
		padding: 10px;
	}
	.table th{
		width: 100%;
	}
	.table td{
			padding:10px 15px;
			border-bottom: 1px solid #1c498c;
	}
.owlet-rules-title{
		padding:10px;
		/*background: #f0e6d4;*/
}
}


.sheet table{
	margin: 30px auto;
	width: 100%;
	border-spacing:1px;
	border-collapse:collapse;
	border-top:1px solid #1c498c;
}
.sheet th,
.sheet td{
	padding: 15px;
	background: #fff;
	vertical-align: top;
	text-align: left;
	border-bottom:1px solid #1c498c;
}
.sheet th{
	position: static;
	width: 25%;
	background: #e5e5e5;
	vertical-align:middle;
	font-weight: bold;
	color:#1c498c;
}

@media screen and (max-width: 768px){
	.sheet th,
	.sheet td{
		padding: 15px 5px;
	}
}



/** ================================================================================
BASE CSS
owlet ver2.1用＝リソースの「カラー・基本フォント」とセットで使用する。
1.ページ編集＞レイアウト＞全レイアウト共通CSSにこのままコピーして入れる。
2.管理画面＞設定＞リソース＞resource-color.xmlをインポート
3.管理画面＞コンテンツ＞リソース＞カラー・基本フォントから基本設定を行う
================================================================================ **/

/* -------------------------------------
Browser：IE11 over
-------------------------------------
01: CSSをReset
02: /css/default.cssを変更
03: Default
-------------------------------------*/

/** ================================================================================
		01.Reset
================================================================================ **/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:none;
background:transparent;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
display:block;
}
h1, h2, h3, h4, h5, h6,
dt,th{
	font-weight:normal;
	line-height: inherit;
}
ul,ol {
list-style:none;
}
blockquote, q {
quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}
table {
border-spacing:0;
border-collapse:collapse;
}
/* change border colour to suit your needs */
hr {
display:block;
margin:1em 0;
padding:0;
height:1px;
border:0;
border-top:1px solid #cccccc;
}
img{
	border:none;
	line-height: 1.0;
}
b,em,i,strong,address{
	font-style: normal;
}

/** ================================================================================
		02./css/default.cssを変更
================================================================================ **/

h1, h2, h3, h4, h5, h6 {
	clear: none;
}

time{
	font-size: 0.8rem;
}

/** ================================================================================
		03.Default
================================================================================ **/
html{
	overflow: auto;
}

body{
	margin: 0 auto;
	min-width: 980px;
	background: #ffffff;
	color:#4f4f4f;
	font-size:16px;
	font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,'Noto Sans JP', sans-serif;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
}


* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

p a{
	text-decoration:underline;
}p a:hover{
	text-decoration:none;
}

a{
	color:inherit;
	text-decoration:none;
	cursor: pointer;
}a:hover{
	-webkit-transition: .3s;
	transition: .3s;
}

/**PC電話ボタン無効**/
a[href^="tel"]{
	pointer-events: none;
}
@media screen and (max-width: 768px) {
	a[href^="tel"]{
		pointer-events: auto;
	}
}

a[href==""]{
	pointer-events:none;
}

hr{
	display:block;
	margin:1em 0;
	padding:0;
	height:1px;
	border:0;
	border-top:1px solid #666666;
}

figure img{
	max-width: 100%;
}

@media screen and (max-width: 768px) {
	body{
		min-width: 100%;
		font-size:16px;
		line-height: 1.5;
	}
	/**post制御**/
	p{
		word-break: break-all;
	}
	table{
		width: 100%;
		word-break: break-all;
	}
	img{
		max-width: 100%;
		height: auto;
	}
	/**post制御**/
}


/* -------------------------------------
ベーススタイル設定
0.block
1.clearfix,clear
2.
3.float
4.align
5.margin
6.padding
-------------------------------------*/
/*0.block */
.block{
	display: block;
}
.in-block{
	display: inline-block;
}

/*1. clearfix,clear */
/* For modern browsers */
.cf:before,
.cf:after {
	display:block;
	overflow:hidden;
	content:"";
}

.cf:after {
	clear:both;
}

.clear{
	clear: both;
}

/* 2 */
.relative {
    position: relative;
}


/*3. float */
.f_L {
	display: inline;
	float: left;
}
.f_R {
	display: inline;
	float: right;
}

/*4. align  */
body .t_R {
	text-align: right;
}
body .t_L {
	text-align: left;
}
body .t_C {
	text-align: center;
}

body .jc_c{
	justify-content: center;
}
body .jc_fe{
	justify-content: flex-end;
}
body .jc_fs{
	justify-content: flex-start;
}
body .jc_sb{
	justify-content: space-between;
}

body .ai_c{
	align-items: center;
}
body .ai_fe{
	align-items: flex-end;
}
body .ai_fs{
	align-items: flex-start;
}

/*5. margin 必要なら追加　優先順位：高 */
body .m0 {
	margin: 0;
}
body .m0a {
    margin: 0 auto;
}
body .mb0{
	margin-bottom: 0;
}
body .mb5 {
	margin-bottom: 5px;
}
body .mb10 {
	margin-bottom: 10px;
}
body .mb15 {
	margin-bottom: 15px;
}
body .mb20 {
	margin-bottom: 20px;
}
body .mb30 {
	margin-bottom: 30px;
}
body .mb40 {
	margin-bottom: 40px;
}
body .mb50 {
	margin-bottom: 50px;
}
body .mb80 {
	margin-bottom: 80px;
}
body .mb100 {
	margin-bottom: 100px;
}
body .mb150 {
	margin-bottom: 150px;
}
body .mt0{
	margin-top: 0px;
}
body .mt5 {
	margin-top:5px;
}
body .mt10 {
	margin-top:10px;
}
body .mt15 {
	margin-top:15px;
}
body .mt20 {
	margin-top:20px;
}
body .mt30 {
	margin-top:30px;
}
body .mt40 {
	margin-top:40px;
}
body .mt50 {
	margin-top:50px;
}
body .mt80 {
	margin-top:80px;
}
body .mt100 {
	margin-top:100px;
}
body .mt150 {
	margin-top:150px;
}
body .ml0{
	margin-left: 0;
}
body .ml5 {
	margin-left: 5px;
}
body .ml10 {
	margin-left: 10px;
}
body .ml15 {
	margin-left: 15px;
}
body .ml20 {
	margin-left: 20px;
}
body .ml30 {
	margin-left: 30px;
}
body .mr0{
	margin-right: 0;
}
body .mr5 {
	margin-right: 5px;
}
body .mr10 {
	margin-right: 10px;
}
body .mr15 {
	margin-right: 15px;
}
body .mr20 {
	margin-right: 20px;
}
body .mr30 {
	margin-right: 30px;
}


@media screen and (max-width: 768px) {
	/*5. margin 30以上は1/2 */
	body .mb40 {
		margin-bottom: 20px;
	}
	body .mb50 {
		margin-bottom: 25px;
	}
	body .mb80 {
		margin-bottom: 40px;
	}
	body .mb100 {
		margin-bottom: 50px;
	}
	body .mb150 {
		margin-bottom: 75px;
	}
	body .mt40 {
		margin-top:20px;
	}
	body .mt50 {
		margin-top:25px;
	}
	body .mt80 {
		margin-top:40px;
	}
	body .mt100 {
		margin-top:50px;
	}
	body .mt150 {
		margin-top:75px;
	}
}

/*6. padding 優先順位:高*/
body .p0 {
	padding: 0;
}
body .pb50 {
	padding-bottom: 50px;
}
body .plr5 {
	padding: 0 5px;
}
body .plr10 {
	padding: 0 10px;
}
body .plr15 {
	padding: 0 15px;
}
body .plr20 {
	padding: 0 20px;
}
body .plr50 {
    padding: 0 50px;
}
body .ptb10 {
	padding: 10px 0;
}
body .ptb20 {
	padding: 20px 0;
}
body .ptb50 {
	padding: 50px 0;
}
body .pall10 {
	padding: 10px;
}
body .pall20 {
	padding: 20px;
}
body .pall50 {
	padding: 50px;
}
@media screen and (max-width: 768px) {
    body .pb50 {
    	padding-bottom: 30px;
    }
    body .ptb50 {
    	padding: 30px 0;
    }
    body .plr50 {
        padding: 0 5%;
    }
    body .pall50 {
    	padding: 30px 5%;
    }
    
}

/* -------------------------------------
幅
-------------------------------------*/
body .w100p,
body .w1100,
body .w1000,
body .w980,
body .w850,
body .w900,
body .w800,
body .w700,
body .w650,
body .w600{
	margin-right: auto;
	margin-left : auto;
}
body .w100p{
	width: 100%;
}
body .w1100{
	width: 1100px;
}
body .w1000{
	width: 1000px;
}
body .w980{
	width: 980px;
}
body .w900{
	width: 900px;
}
body .w850{
	width: 850px;
}
body .w800{
	width: 800px;
}
body .w700{
	width: 700px;
}
body .w650{
	width: 650px;
}
body .w600{
	width: 600px;
}

@media screen and (max-width: 768px) {
	body .w100p,
	body .w1100,
	body .w1000,
	body .w980,
	body .w900,
	body .w850,
	body .w800,
	body .w700,
	body .w650,
	body .w600{
		margin-right: auto;
		margin-left : auto;
	}
	body .w100p{
		width: 100%;
	}
	body .w1100{
		width: 100%;
	}
	body .w1000{
		width: 100%;
	}
	body .w980{
		width: 100%;
	}
	body .w900{
		width: 100%;
	}
	body .w850{
		width: 100%;
	}
	body .w800{
		width: 100%;
	}
	body .w700{
		width: 100%;
	}
	body .w650{
		width: 100%;
	}
	body .w600{
		width: 100%;
	}
	body .w100p > *,
	body .w1100 > *,
	body .w1000 > *,
	body .w980 > *,
	body .w900 > *,
	body .w850 > *,
	body .w800 > *,
	body .w700 > *,
	body .w650 > *,
	body .w600 > *{
		margin-right: auto;
		margin-left: auto;
		width: 90%;
	}
	body .w100p > .max,
	body .w100p.max,
	body .w1100 > .max,
	body .w1100.max,
	body .w1000 > .max,
	body .w1000.max,
	body .w980 > .max,
	body .w980.max,
	body .w900 > .max,
	body .w900.max,
	body .w850 > .max,
	body .w850.max,
	body .w800 > .max,
	body .w800.max,
	body .w700 > .max,
	body .w700.max,
	body .w650 > .max,
	body .w650.max,
	body .w600 > .max,
	body .w600.max{
		width: 100%;
	}
}

body .calc980{
	padding-right: calc( ( 100% - 980px ) / 2 );
	padding-left: calc( ( 100% - 980px ) / 2 );
}

@media screen and (max-width: 768px){
	body .calc980{
	padding-right: 0;
	padding-left: 0;
	}
	body .calc980 > .max{
		width: 100%;
	}
	body .calc980 > *{
		margin-right: auto;
		margin-left: auto;
		width: 90%;
	}
}

/* -------------------------------------
文字装飾
-------------------------------------*/
/**黄色マーカー**/
b.liner{
	background: -webkit-linear-gradient(transparent 40%, #fff552 0%);
	background: linear-gradient(transparent 40%, #fff552 0%);
}

/* -------------------------------------
改行
-------------------------------------*/
.pc{
}
.sp{
	display:none;
}

@media screen and (max-width: 768px) {
	.pc{
		display: none;
	}
	.sp{
		display:block;
	}
}

/* -------------------------------------
写真のエフェクト
-------------------------------------*/
/**4辺ぼかし：親要素にかける**/
.blur_w {
	position: relative;
	display: inline-block;
}
.blur_w:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0);
	box-shadow:
	  inset 0 0 40px #fff,
	  inset 0 0 40px #fff,
	  inset 0 0 40px #fff,
	  inset 0 0 40px #fff;
	content: "";
}

/**角丸：画像に直接かけれる**/
.radius{
	border-radius: 15px;
}

/**hover時画像拡大**/
.scale {
	overflow: hidden;
}
.scale img {
	-webkit-transition: -webkit-transform 0.3s linear;
	-moz-transition: -moz-transform 0.3s linear;
	-ms-transition: -ms-transform 0.3s linear;
	-o-transition: -o-transform 0.3s linear;
	transition: transform 0.3s linear;
}
a:hover .scale img {
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-ms-transform: scale(1.2);
	-o-transform: scale(1.2);
	transform: scale(1.2);
}

/**-------------------------------------
地図 動画 iframe
-------------------------------------**/
iframe{
	width: 100%;
}
.youtube{
	position: relative;
	margin: 30px auto 20px;
	padding-bottom: 56.25%;
	width:100%;
	height:0px;
	background-position: center;
	background-size:cover;
	background-repeat: no-repeat;
}
.youtube iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 768px) {
	.youtube{
			margin: 20px auto 10px;
	}
}


/**================================================================================
OWLET用　 Browser：IE11 over
================================================================================
・リッチテキスト　
・パンくず
・ページャー
・フォーム
================================================================================**/

/* -------------------------------------
この記述を入れると、ウィジェット設置時に
「コンテンツ幅を選んでの設置」をする選択肢が出るようになります。
対象ウィジェットには<div data-w-width=""></div>を記述
-------------------------------------*/
/*ウィンドウ幅での設置*/
[data-w-width] {
    max-width: 100%;
}

/*コンテンツ幅での設置*/
[data-w-width="1"] {
    width:980px;
    margin: 0 auto;
}

@media screen and (max-width: 768px){
    [data-w-width="1"] {
        width: 90%;
    }
}


/* -------------------------------------
リッチテキスト
-------------------------------------*/
.richtext{
}
.richtext p{
	margin: 0 0 10px;
}
.richtext strong {
    font-weight: bold;
}/*リセットしていないので不要*/
.richtext s{
}/*リセットしていないので不要*/
.richtext u{
}/*リセットしていないので不要*/
.richtext em {
	font-style: italic;
}
.richtext ul {
	padding-left: 2em;
}
.richtext ul li {
	list-style: outside disc;
}
.richtext ol {
	padding-left: 2em;
}
.richtext ol li{
	list-style: outside decimal;
}
.richtext h1{
	font-size: 2.0em;
}
.richtext h2{
	font-size: 1.5em;
}
.richtext h3{
	font-size: 1.17em;
}
.richtext h4{
	font-size: 1.0em;
}

.richtext blockquote{
	margin-left: 0;
	padding-left: 5px;
	border-left: 2px solid #444444;
	color: inherit;
}
.richtext table{
	max-width: 100%;
	border: none;
	border-collapse: collapse;
	table-layout: fixed;
	empty-cells: show;
}
.richtext table tr td{
	border: 1px solid #cccccc;
	vertical-align: middle;
	text-align: left;

	-webkit-user-select: text;
	-moz-user-select: text;
	-ms-user-select: text;
	user-select: text;
}
.richtext img{
	max-width: 100%;
}
.richtext iframe{
	max-width: 100%;
}

.richtext p a{
	text-decoration: underline;
}
.richtext p a:hover{
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	.richtext *[style*="font-size: 8px"]{
	}
	.richtext *[style*="font-size: 9px"]{
	}
	.richtext *[style*="font-size: 10px"]{
	}
	.richtext *[style*="font-size: 11px"]{
	}
	.richtext *[style*="font-size: 12px"]{
	}
	.richtext *[style*="font-size: 13px"]{
	}
	.richtext *[style*="font-size: 14px"]{
	}
	.richtext *[style*="font-size: 16px"]{
	    font-size: 1rem!important;
	}
	.richtext *[style*="font-size: 18px"]{
		font-size: 1rem!important;
	}
	.richtext *[style*="font-size: 24px"]{
		font-size: 1.2rem!important;
	}
	.richtext *[style*="font-size: 30px"]{
		font-size: 1.3rem!important;
	}
	.richtext *[style*="font-size: 36px"]{
		font-size: 1.6rem!important;
	}
	.richtext *[style*="font-size: 48px"]{
		font-size: 1.65rem!important;
	}
	.richtext *[style*="font-size: 60px"]{
		font-size: 1.7rem!important;
	}
	.richtext *[style*="font-size: 72px"]{
		font-size: 1.75rem!important;
	}
	.richtext *[style*="font-size: 96px"]{
		font-size: 1.8rem!important;
	}
}

/* -------------------------------------
パンくず
-------------------------------------*/
#breadcrumb{
    border-top:1px solid #a7a7a7;
    border-bottom:1px solid #a7a7a7;
	padding-top:10px;
	padding-bottom: 10px;
	padding-right: calc( ( 100% - 980px ) / 2 );
	padding-left: calc( ( 100% - 980px ) / 2 );
	width:100%;
	font-size:12px;
	color: #1c498c;
	line-height: 1.0;
}
/*家アイコン*/
#breadcrumb ul:before {
	display: inline-block;
	content: "\e88a";
	vertical-align: middle;
	font-size: 14px;
	font-family: 'Material Icons';
}
#breadcrumb ul li{
	display:inline-block;
	padding:0 5px;
}
#breadcrumb ul li+li:before{
	content:">";
}
#breadcrumb a{
	text-decoration: underline;
}#breadcrumb a:hover{
	text-decoration: none;
}


/* -------------------------------------
ページャー
-------------------------------------*/
.pagenation{
	margin: 30px auto;
	text-align: center;
}

.pagenation span{
	display: inline-block;
	margin: 5px;
	width: 40px;
	height: 40px;
	border: 1px solid #1c498c;
	background: #fff;
	color: #1c498c;
	text-align: center;
	line-height: 38px;
}
.pagenation span.page{
	background: #1c498c;
	color: #fff;
}
.pagenation span a{
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	color: #1c498c;
}.pagenation span a:hover{
	background: #1c498c;
	color: #fff;
}


@media screen and (max-width: 768px) {
	.pagenation span{
		margin: 3px;
		width: 30px;
		height: 30px;
		line-height: 27px;
	}
}
/* -------------------------------------
フォーム
-------------------------------------*/
/**エラー**/
.alert {
	margin: 5px 0;
	color: #ff0000;
}
form table th{
	position: relative;
}
form{
    color: #000;
}

/**必須**/
.require {
	position: absolute;
	display: inline-block;
	width: 3em;
	height: 2em;
	border-radius: 3px;
	background: #ffffff;
	color: #ea0000;
	text-align: center;
	font-weight: bold;
	font-size: 11px;
	line-height: 2em;
}
/**送信ボタン**/
.form_button {
	position: relative;
	display: flex;
	margin-bottom: 50px;
	width: 100%;
	text-align: center;

	align-items: center;
	justify-content: center;
}

.form_button input[type="submit"],
.form_button input.submit,
.form_button a{
	display: inline-block;
	margin: 0 30px 10px;
	padding: 15px 30px;
	width: 200px;
	border: 1px solid #1c498c;
	background: #1c498c;
	color: #ffffff;
	text-align: center;
	font-size: 16px;
}
.form_button a{
	border: 1px solid #1c498c;
	background: #1c498c;
}
.form_button input[type="submit"]:hover,
.form_button input.submit:hover,
.form_button a:hover{
	border: 1px solid #1c498c;
	background: #ffffff;
	color: #1c498c;
}



/*入力タグ*/
form input[type="text"],
form textarea,
form select{
	padding: 5px 4px;
	height:30px;
	border:1px solid #cccccc;
	font-size: 16px;
	line-height: 1.2;
	margin: 5px;
}
form input[type="text"]{
   width: 80%;
}
form textarea {
	padding: 2px;
	min-height: 150px;
}
form select{
	padding: 0 10px;
	font-size: 14px;
}

/*電話*/
form input.owlet-input-tel1,
form input.owlet-input-tel2,
form input.owlet-input-tel3,
form input.zip1,
form input.zip2{
    width: 5em;
}
/*名前*/
form input.owlet-input-name-sei,
form input.owlet-input-name-mei{
    width: 7.5em;
}
/*label*/
form label {
	display: block;
}
/*ボタン*/
form button{
	margin: 0 10px;
	padding: 5px 10px;
	border-radius: 5px;
	background: #fff;
}
/*記入例*/
form .owlet-input-sample {
	margin-top: 5px;
	color: #999;
	font-size: 14px;
}
/**フォーム規約**/
.owlet-rules {
	margin: 0 auto 30px;
	width: 90%;
}
.owlet-rules-title {
	margin-bottom: 10px;
	text-align: center;
	font-weight: bold;
	font-size: 1.1em;
	color: #1c498c;
}
.owlet-rules-body {
	overflow-y:scroll;
	box-sizing:border-box;
	margin-bottom: 20px;
	padding:20px;
	height:200px;
	background:#fff;
	border:1px solid #e4e4e4;
	font-size: 14px;
	color: #000;
}
.owlet-rules-body strong{
    margin:5px 0;
    font-size: 1.1em;
}
.owlet-rules-agree {
	position: relative;
	margin-bottom: 20px;
	text-align: center;
}
.owlet-rules-agree .require{
	position: static;
	margin: 0 15px;
}
.owlet-rules-5 .owlet-rules-title,
.owlet-rules-7 .owlet-rules-title {
  display: none;
}
.owlet-rules-5 .owlet-rules-body,
.owlet-rules-7 .owlet-rules-body {
  background: transparent;
  overflow-y: auto;
  text-align: center;
  height: auto;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
	.form_button {
		flex-flow: column-reverse;
	}
	/*iPhone独自スタイル解除*/
	form input[type="button"],
	form input[type="text"],
	form input[type="submit"] {
		border-radius: 0;

		-webkit-appearance: none;
	}
	/*入力タグ*/
	form input[type="text"],
	form textarea,
	form select{
		font-size: 13px;
	}
}
/*PAGE*//* Reservation LP header based on the official TOP header. */
.top-site-header{position:relative;z-index:50;background:#fff;color:#4f4f4f;font-family:Meiryo,'Noto Sans JP',sans-serif;line-height:1.5}
.top-site-header *{box-sizing:border-box}
.top-site-header .top-header-inner{width:calc(100% - 40px);max-width:980px;margin:0 auto}
.top-site-header .top-header-tagline{margin:0 0 10px;font-size:12px;line-height:18px;color:#222}
.top-site-header .top-header-row{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:57px}
.top-site-header .top-header-logo{display:block;flex:0 1 425px;line-height:0}
.top-site-header .top-header-logo img{display:block;width:425px;max-width:100%;height:auto}
.top-site-header .top-header-contact{display:flex;align-items:center;justify-content:flex-end;gap:12px;white-space:nowrap}
.top-site-header .top-header-phone{font-size:24px;line-height:36px;color:#f99000;text-decoration:none;font-weight:400;letter-spacing:0}
.top-site-header .top-header-hours{font-size:12px;margin:0;color:#4f4f4f}
.top-site-header .top-header-phone svg{width:23px;height:23px;vertical-align:-3px;margin-right:5px;fill:currentColor}
.top-site-header .top-header-toggle{display:none}
.top-site-header .top-site-nav{display:block;margin:10px 0 5px;position:relative}
.top-site-header .top-site-nav>ul{display:flex;justify-content:center;list-style:none;padding:0;margin:0;gap:0}
.top-site-header .top-site-nav>ul>li{list-style:none;padding:0;margin:0;color:#1c498c;position:relative;white-space:nowrap;flex:1 1 auto;text-align:center}
.top-site-header .top-site-nav>ul>li:not(:last-child){border-right:1px solid #1c498c}
.top-site-header .top-site-nav>ul>li>a,.top-site-header summary{display:block;position:relative;color:#1c498c;font-size:16px;font-weight:700;text-decoration:none;line-height:24px;padding:0 9px 22px;cursor:pointer;list-style:none}
.top-site-header summary::-webkit-details-marker{display:none}
.top-site-header .top-site-nav>ul>li>a:after,.top-site-header summary:after{content:'';position:absolute;left:calc(50% - 4px);bottom:7px;width:7px;height:7px;border-right:2px solid #8096b1;border-bottom:2px solid #8096b1;transform:rotate(45deg)}
.top-site-header .top-nav-dropdown{position:absolute;top:100%;left:0;min-width:230px;background:#fff;border:1px solid #e3e7ed;box-shadow:0 5px 14px #16395b20;padding:8px;text-align:left;white-space:normal;z-index:60}
.top-site-header .top-nav-dropdown a{display:block;padding:10px;color:#1c498c;text-decoration:none;font-size:14px;font-weight:400;line-height:1.5}
.top-site-header a:hover,.top-site-header summary:hover{color:#f99000}
.top-site-header a:focus-visible,.top-site-header button:focus-visible,.top-site-header summary:focus-visible{outline:2px solid #1c498c;outline-offset:3px}
.top-site-header .top-nav-brochure{display:none!important}
@media(max-width:1000px){
 .top-site-header .top-header-inner{width:calc(100% - 32px);padding:12px 0}
 .top-site-header .top-header-tagline{font-size:10px;line-height:1.5;margin-bottom:6px;padding-right:45px}
 .top-site-header .top-header-row{display:block;min-height:0;padding-right:52px}
 .top-site-header .top-header-logo{max-width:425px;width:100%}
 .top-site-header .top-header-logo img{width:100%}
 .top-site-header .top-header-contact{justify-content:flex-start;gap:10px;margin-top:8px;flex-wrap:wrap;white-space:normal}
 .top-site-header .top-header-phone{font-size:20px;line-height:26px;white-space:nowrap}
 .top-site-header .top-header-phone svg{width:19px;height:19px}
 .top-site-header .top-header-hours{font-size:11px;line-height:1.5}
 .top-site-header .top-header-toggle{display:flex;position:absolute;right:15px;top:24px;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;padding:6px;border:0;background:#fff;color:#1c498c;cursor:pointer}
 .top-site-header .top-header-toggle i{display:block;width:24px;height:2px;background:currentColor}
 .top-site-header .top-header-toggle span{font-size:9px;line-height:1}
 .top-site-header .top-site-nav{display:none;margin:12px 0 0;border-top:1px solid #d9e0e9}
 .top-site-header .top-site-nav.is-open{display:block}
 .top-site-header .top-site-nav>ul{display:block}
 .top-site-header .top-site-nav>ul>li{border-right:0!important;border-bottom:1px solid #e3e7ed;text-align:left;white-space:normal}
 .top-site-header .top-site-nav>ul>li>a,.top-site-header summary{padding:13px 28px 13px 8px;font-size:14px}
 .top-site-header .top-site-nav>ul>li>a:after,.top-site-header summary:after{left:auto;right:12px;bottom:21px;width:6px;height:6px}
 .top-site-header .top-nav-dropdown{position:static;border:0;box-shadow:none;min-width:0;background:#f6f8fb;padding:4px 12px}
 .top-site-header .top-nav-brochure{display:block!important}
}
@media(max-width:480px){.top-site-header .top-header-tagline{display:none}.top-site-header .top-header-toggle{top:11px}.top-site-header .top-header-contact{display:block;margin-top:5px}.top-site-header .top-header-hours{margin-top:1px}.top-site-header .top-header-inner{width:calc(100% - 28px)}}

/* Isolate the TOP navigation from the former LP nav rules. */
.top-site-header .top-site-nav{top:auto;right:auto;bottom:auto;left:auto;width:auto;padding:0;box-shadow:none;transform:none;max-height:none;overflow:visible}
.top-site-header .top-nav-dropdown a{overflow-wrap:anywhere;white-space:normal}


/* HP footer matching the official TOP, 20261017 */
.booking-contact-footer{background:linear-gradient(90deg,#eee8db,#fff 45%);padding:27px 0;}
.hp-site-footer{font:14px/1.8 Meiryo,"Yu Gothic",sans-serif;text-align:left;}
.hp-site-footer *{box-sizing:border-box;}
.hp-site-footer ul,.hp-site-footer li,.hp-site-footer dl,.hp-site-footer dt,.hp-site-footer dd,.hp-site-footer h3,.hp-site-footer p,.hp-site-footer figure{padding:0;margin:0;list-style:none;}
.hp-site-footer a{color:inherit;text-decoration:none;white-space:normal;overflow-wrap:anywhere;}
.hp-site-footer img{max-width:100%;height:auto;border:0;}
.hp-site-footer .hp-footer-content{max-width:980px;margin:0 auto;}
.hp-site-footer nav{display:block;position:static;width:auto;background:transparent;gap:0;}
.hp-site-footer nav a{font-size:13px;font-weight:400;}
.hp-site-footer nav dt,.hp-site-footer nav dt a{font-size:16px;font-weight:700;}
.hp-site-footer { background: rgb(28, 73, 140); color: rgb(255, 255, 255); padding: 20px 20px 64px; }
.hp-site-footer .followus { width: 250px; display: flex; justify-content: center; background: rgb(249, 143, 0); border-radius: 50px; padding: 10px 20px; margin: 0px 0px 0px auto; }
.hp-site-footer .followus li { margin: 0px 3px; line-height: 0; }
.hp-site-footer .h1 { font-family: "Noto Serif JP", serif; font-weight: 300; font-size: 30px; }
.hp-site-footer .h1 small { font-size: 0.6em; display: inline-block; margin: 0px 15px 0px 0px; }
.hp-site-footer nav ul { display: flex; flex-flow: column wrap; height: 400px; margin: 30px auto 10px; }
.hp-site-footer nav ul li { display: flex; margin: 0px 15px 0px 0px; order: 1; }
.hp-site-footer nav ul li a { display: block; padding: 0px 0px 5px; }
.hp-site-footer nav ul li > a, .hp-site-footer nav ul li dl dt { font-weight: bold; margin: 0px 0px 5px; }
.hp-site-footer nav ul li dl dd { font-size: 13px; }
.hp-site-footer nav ul li dl dd a { text-indent: -1em; padding-left: 1em; font-size: 0.9em; }
.hp-site-footer nav ul li dl dd a::before { content: ""; display: inline-block; width: 0px; height: 0px; border-style: solid; border-width: 5px 0px 5px 5px; border-color: transparent transparent transparent rgb(255, 255, 255); margin: 8px 5px 0px; }
.hp-site-footer nav ul li a:hover { opacity: 0.5; }
.hp-site-footer nav .inner { padding-left: 20px; }
.hp-site-footer nav .inner a::before { content: "-"; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; }
.hp-site-footer .dantai { display: flex; border: 1px solid rgb(129, 209, 216); background-color: rgb(255, 255, 255); padding: 5px; font-size: 10px; max-width: 630px; margin: 0px auto 30px; color: rgb(28, 73, 140); }
.hp-site-footer .dantai h3 { background: rgb(129, 209, 216); display: flex; justify-content: center; align-items: center; color: rgb(0, 0, 0); width: 70px; text-align: center; border-right: 1px dashed rgb(255, 255, 255); }
.hp-site-footer .dantai .kamei { background: rgb(129, 209, 216); padding: 5px; color: rgb(0, 0, 0); margin-right: 15px; }
.hp-site-footer .dantai dl { display: flex; justify-content: space-between; margin: 5px; }
.hp-site-footer .dantai p { margin: 0px 5px; }
.hp-site-footer .dantai a { text-decoration: underline; }
.hp-site-footer .dantai a:hover { text-decoration: none; }
.hp-site-footer .dantai figure { max-width: 150px; margin: 0px 5px; }
.hp-site-footer .dantai figure img { display: block; margin: 0px auto; }
.hp-site-footer .copy { font-size: 12px; text-align: right; }
@media screen and (max-width: 768px){.hp-site-footer { padding-bottom: 44px; }}
@media screen and (max-width: 768px){.hp-site-footer .followus { width: 90%; margin: 0px auto; justify-content: center; }}
@media screen and (max-width: 768px){.hp-site-footer .h1 { font-size: 26px; }}
@media screen and (max-width: 768px){.hp-site-footer .h1 small { display: block; }}
@media screen and (max-width: 768px){.hp-site-footer nav ul { flex-flow: wrap; justify-content: space-between; height: auto; margin: 15px 0px; font-size: 14px; }}
@media screen and (max-width: 768px){.hp-site-footer nav ul li { width: 48%; margin: 0px 0px 10px; }}
@media screen and (max-width: 768px){.hp-site-footer nav ul li dl dd { height: auto; margin-left: -5px; }}
@media screen and (max-width: 768px){.hp-site-footer .dantai { flex-wrap: wrap; display: flex; border: 1px solid rgb(129, 209, 216); background-color: rgb(255, 255, 255); padding: 5px; margin: 0px auto 30px; justify-content: space-between; align-items: center; color: rgb(28, 73, 140); }}
@media screen and (max-width: 768px){.hp-site-footer .dantai h3 { background: rgb(129, 209, 216); display: flex; justify-content: center; align-items: center; color: rgb(0, 0, 0); height: auto; width: 100%; padding: 5px 10px; text-align: center; border-right-width: medium; border-right-style: none; border-right-color: currentcolor; border-bottom: 1px dashed rgb(255, 255, 255); }}
@media screen and (max-width: 768px){.hp-site-footer .dantai .kamei { width: 100%; margin-right: 0px; padding: 5px; }}
@media screen and (max-width: 768px){.hp-site-footer .dantai dl { display: flex; justify-content: space-between; margin: 5px 0px; }}
@media screen and (max-width: 768px){.hp-site-footer .dantai dl dt { padding: 0px; }}
@media screen and (max-width: 768px){.hp-site-footer .dantai p { margin: 0px 0px 10px; }}
@media screen and (max-width: 768px){.hp-site-footer .dantai a { text-decoration: underline; }}
@media screen and (max-width: 768px){.hp-site-footer .dantai a:hover { text-decoration: none; }}
@media screen and (max-width: 768px){.hp-site-footer .dantai figure { width: 30%; max-width: none; }}
.hp-site-footer .dantai h3{font-size:11px;line-height:1.6;}
.hp-site-footer .dantai .kamei{min-width:235px;}
@media(max-width:768px){.hp-site-footer .dantai .kamei{min-width:0;}.hp-site-footer nav ul{gap:0;}.hp-site-footer nav li{min-width:0;}.hp-site-footer nav dt,.hp-site-footer nav dt a{font-size:14px;}.hp-site-footer nav a{font-size:12px;}}

@charset "UTF-8";
:root{--ink:#402f28;--gold:#9b8051;--gold-light:#d5c4a2;--paper:#fbfaf7;--warm:#f3efe7;--line:#e7dfd2;--muted:#77716b;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.8 var(--sans)}a{color:inherit}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #a8864f;outline-offset:5px}img{max-width:100%;height:auto}.preview-notice{background:#433d34;color:#fff;padding:7px 20px;text-align:center;font-size:11px;letter-spacing:.08em}.preview-notice span{margin-left:16px;color:#e9dfcc}.top-site-header{padding-top:10px}.plan-page h1,.plan-page h2,.plan-page h3,.plan-page h4,.plan-page p,.plan-page ul,.plan-page dl,.plan-page dd,.plan-page ol{margin:0}.plan-wrap{max-width:1080px;width:calc(100% - 80px);margin:auto}.breadcrumbs{display:flex;gap:14px;color:#8c867d;font-size:10px;padding-top:24px}.breadcrumbs a{text-decoration:none}.plan-hero{padding:65px 0 76px;background:radial-gradient(ellipse at 85% 80%,#eee6d682,transparent 45%)}.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:center}.eyebrow{color:var(--gold);font:11px/1.5 Georgia,serif;letter-spacing:.2em;margin-bottom:17px!important}.plan-hero h1{font:500 clamp(34px,4.4vw,54px)/1.6 var(--serif);letter-spacing:.08em}.hero-copy{color:var(--muted);line-height:2.1;margin-top:22px!important;font-size:14px}.text-arrow{display:inline-flex;gap:30px;text-decoration:none;color:var(--gold);font-size:12px;margin-top:27px;align-items:center}.text-arrow>span{font-size:20px}.hero-note{position:relative;text-align:center;padding:38px 0 20px;color:var(--gold);border-top:1px solid var(--gold-light);border-bottom:1px solid var(--gold-light);max-width:300px;justify-self:end;width:100%}.hero-note:before,.hero-note:after{content:"";position:absolute;width:24px;height:24px;border:1px solid var(--gold-light);border-radius:50%;top:-13px;background:var(--paper)}.hero-note:before{left:calc(50% - 19px)}.hero-note:after{left:calc(50% - 3px)}.hero-note-no{font:italic 96px/.95 Georgia,serif;color:#c2ae86}.hero-note p{font:17px/1.9 var(--serif);letter-spacing:.07em;margin-top:18px!important}.hero-note-line{width:25px;height:1px;background:var(--gold-light);margin:20px auto 14px}.hero-note small{font:9px Georgia;letter-spacing:.2em}.section-nav{display:block;background:#fff;border-block:1px solid var(--line)}.section-nav>div{display:grid;grid-template-columns:repeat(4,1fr)}.section-nav a{text-align:center;padding:17px 10px;text-decoration:none;font-size:12px;position:relative}.section-nav a+a:before{content:"";position:absolute;left:0;top:33%;height:33%;width:1px;background:var(--line)}.section-nav a:hover{color:var(--gold);background:#faf7f1}.plan-section{padding:85px 0;scroll-margin-top:20px}.section-heading{text-align:center;margin-bottom:40px}.section-heading h2{font:500 30px/1.65 var(--serif);letter-spacing:.04em}.section-heading>p:not(.eyebrow){color:var(--muted);margin-top:15px;line-height:2}.section-heading.left{text-align:left}.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:980px;margin:auto}.course-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 9px 25px #61523e06}.course-heading{position:relative;background:#f1f0e9;padding:28px 32px 24px;border-bottom:1px solid #e4e2d8}.premium{border-color:#c5b081}.premium .course-heading{background:#efe5cf;border-bottom-color:#dfceaa}.course-index{position:absolute;top:19px;right:24px;font:italic 39px Georgia;color:#ccc8b9}.premium .course-index{color:#c1aa79}.course-en{font:11px Georgia!important;color:var(--gold);letter-spacing:.14em;margin-bottom:8px!important}.course-heading h3{font:500 25px/1.6 var(--serif)}.course-heading>p:last-child{font-size:12px;color:#7c7569;margin-top:6px}.course-content{padding:28px 32px 30px}.monthly{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--line)}.monthly>span{font-size:12px}.monthly p{display:flex;align-items:baseline;gap:6px}.monthly strong{font:44px/1.2 Georgia;color:#5c4a32;letter-spacing:-.025em}.monthly p>span{font-size:12px}.monthly small{display:block;color:var(--muted);font-size:9px}.price-list>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee9e1;padding:13px 0}.price-list dt{font-size:12px;color:#71695e}.price-list dd{font:22px Georgia;letter-spacing:.02em}.price-list dd span{font:11px var(--sans);margin-left:5px}.course-points{padding:22px 0 24px 17px!important;list-style:none;font-size:12px;min-height:128px}.course-points li{position:relative;margin:5px 0}.course-points li:before{position:absolute;left:-17px;content:"✓";color:var(--gold)}.small-inline{font-size:10px;color:var(--muted)}.plan-button{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#b39a68,#947746);color:#fff;text-decoration:none;border:1px solid transparent;border-radius:50px;padding:15px 24px;font-size:12px;min-height:50px}.plan-button span{font-size:19px}.plan-button:hover{filter:brightness(.95)}.plan-button.secondary{background:#fff;color:#8c7449;border-color:#c9b48b}.under-note{font-size:11px;color:var(--muted);margin-top:20px!important;text-align:center;line-height:1.9}.network-note{max-width:980px;display:grid;grid-template-columns:1.6fr 1fr;gap:30px;align-items:center;padding:28px 32px;background:#f4f1e9;border:1px solid var(--line);margin:36px auto 0;border-radius:8px}.mini-label{font:10px Georgia;color:var(--gold);letter-spacing:.16em}.network-note h3{font:500 19px/1.7 var(--serif);margin:6px 0!important}.network-note p{font-size:12px;color:var(--muted)}.network-extra{border-left:1px solid #d9cfbb;padding-left:30px}.network-extra strong{display:inline-block;font:500 18px/1.8 var(--serif);color:#8f703c}.network-extra span{font-size:10px}.warm{background:var(--warm)}.comparison{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.comparison table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}.comparison caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.comparison th,.comparison td{padding:18px 22px;border-bottom:1px solid var(--line)}.comparison thead th{background:#e9e1d3;font-size:12px;color:#786347;font-weight:600;text-align:center}.comparison thead th:first-child{width:42%;text-align:left}.comparison tbody th{text-align:left;font-weight:500}.comparison th span{display:block;font-size:10px;color:var(--muted);margin-top:2px}.comparison td{text-align:center;font-size:13px}.comparison tbody tr:last-child>*{border-bottom:0}.comparison .highlight{background:#faf6ed;color:#8e6b32;font-weight:700}.shared-support{display:grid;grid-template-columns:1fr 2fr;gap:55px;margin-top:46px}.shared-support h3{font:500 23px/1.8 var(--serif);margin-top:10px!important}.support-groups>div{border-bottom:1px solid #ded5c6;padding-bottom:17px;margin-bottom:18px}.support-groups>div:last-child{border:0;margin:0;padding:0}.support-groups h4{font-size:13px;font-weight:600;margin-bottom:7px!important}.support-groups p{font-size:12px;line-height:2;color:var(--muted)}.support-groups small{font-size:10px;color:#8e877c}.estimate-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center}.estimate-grid .section-heading{margin:0}.estimate-caption{font-size:11px;color:#938472!important;margin-top:24px!important}.estimate-box{border:1px solid var(--line);padding:30px;border-radius:12px;background:#fff}.estimate-box fieldset{padding:0;border:0;margin:0}.estimate-box legend{font-size:12px;font-weight:600;margin-bottom:10px}.period-options{display:flex;gap:10px}.period-options label{flex:1;position:relative}.period-options input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}.period-options span{display:block;padding:10px;text-align:center;border:1px solid #ded5c6;border-radius:5px;color:var(--muted)}.period-options input:checked+span{color:#80642e;background:#f5eddd;border:1px solid #ad925c;font-weight:600}.period-options input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}.estimate-checks{display:grid;gap:10px;padding:20px 0}.estimate-checks label{display:flex;align-items:center;gap:8px;font-size:12px}.estimate-checks input{accent-color:var(--gold);width:17px;height:17px}.estimate-results{border-top:1px solid var(--line)}.estimate-results>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 0;border-bottom:1px solid var(--line)}.estimate-results>div>span{font-size:12px}.estimate-results p{white-space:nowrap}.estimate-results output{font:31px Georgia;color:#83693f}.estimate-results small{font-size:12px;margin-left:4px}.estimate-footnote{font-size:10px;color:var(--muted);line-height:1.9;margin-top:15px!important}.assurance-section{background:#f1eee6;padding:67px 0}.assurance-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.assurance-grid>a{display:flex;align-items:center;gap:24px;border-top:1px solid #cfc0a2;padding:28px 0;text-decoration:none}.assurance-number{font:italic 58px Georgia;color:#a48b5e;min-width:90px;text-align:center}.assurance-number>span{font:10px Georgia;letter-spacing:.14em;display:block}.assurance-grid h3{font:500 21px/1.6 var(--serif)}.assurance-grid p{color:var(--muted);font-size:12px;margin-top:8px!important}.assurance-grid .text-arrow{margin-top:12px;font-size:11px}.start-flow{list-style:none;padding:0}.start-flow li{display:flex;gap:30px;align-items:flex-start;border-bottom:1px solid var(--line);padding:23px 0}.start-flow li>span{font:italic 31px Georgia;color:#b09b73;flex:0 0 55px}.start-flow h3{font:500 20px/1.7 var(--serif)}.start-flow p{color:var(--muted);font-size:12px;margin-top:8px!important}.document-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.document-grid details{border:1px solid var(--line);border-radius:5px;background:#fff;align-self:start}.document-grid summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer;padding:18px 20px;font-size:12px;list-style:none}.document-grid summary::-webkit-details-marker{display:none}.document-grid summary>span{color:var(--gold)}.document-grid details[open] summary>span{transform:rotate(45deg)}.detail-content{padding:0 20px 20px;color:var(--muted);font-size:12px;line-height:2}.detail-content h4{font-size:12px;color:var(--gold);margin-top:8px!important}.detail-content p+p{margin-top:8px!important}.plan-cta{background:radial-gradient(ellipse at 50% 100%,#dfd2b866,transparent 70%),#eee9df;padding:68px 0 70px;text-align:center}.plan-cta h2{font:500 33px/1.7 var(--serif);letter-spacing:.05em}.plan-cta .plan-wrap>p:not(.eyebrow){font-size:13px;color:var(--muted);margin:20px auto!important}.plan-cta .plan-button{max-width:350px;margin:26px auto 0;font-size:15px;padding-inline:30px}.cta-notes{display:flex;justify-content:center;gap:18px;font-size:11px;color:#8c7c60;margin-top:13px}.phone-link{font:29px Georgia;display:block;margin-top:25px;text-decoration:none}.plan-cta small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.mobile-break{display:none}.hp-site-footer nav ul{min-width:0}.hp-site-footer .dantai figure{flex-shrink:0}.hp-site-footer .dantai figure img{max-width:100%}
@media(min-width:769px){.hp-site-footer nav ul li:nth-child(-n+4){order:0}.hp-site-footer nav ul{column-gap:0}.hp-site-footer .dantai{align-items:center}}
@media(max-width:900px){.plan-wrap{width:calc(100% - 48px)}.hero-grid{gap:30px}.course-heading{padding:25px}.course-heading h3{font-size:22px}.course-content{padding:24px}.monthly strong{font-size:38px}.estimate-grid{gap:35px}.shared-support{gap:30px}.assurance-grid>a{gap:12px}.assurance-grid h3{font-size:18px}}
@media(max-width:640px){html{scroll-padding-top:15px}.preview-notice{font-size:9px;padding:6px 10px}.preview-notice span{display:block;margin:0;font-size:9px}.plan-wrap{width:calc(100% - 36px)}.breadcrumbs{padding-top:17px}.plan-hero{padding:35px 0 45px}.hero-grid{grid-template-columns:1fr;gap:30px}.plan-hero h1{font-size:32px;letter-spacing:.03em;line-height:1.65}.hero-copy{font-size:12px;margin-top:17px!important}.desktop-break{display:none}.hero-note{display:none}.eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:12px!important}.section-nav a{font-size:10px;padding:13px 3px;line-height:1.6}.plan-section{padding:48px 0}.section-heading{margin-bottom:28px}.section-heading h2{font-size:25px}.section-heading>p:not(.eyebrow){font-size:12px}.mobile-break{display:block}.course-grid{grid-template-columns:1fr;gap:22px}.course-heading{padding:22px 24px}.course-heading h3{font-size:24px}.course-heading>p:last-child{font-size:11px}.course-content{padding:22px 24px 24px}.monthly{padding-bottom:17px}.monthly strong{font-size:42px}.course-points{min-height:0;padding-block:18px!important}.plan-button{padding:13px 19px;font-size:11px}.under-note{font-size:10px;text-align:left}.network-note{grid-template-columns:1fr;gap:16px;padding:23px;margin-top:25px}.network-note h3{font-size:18px}.network-note p{font-size:11px}.network-extra{padding:15px 0 0;border-left:0;border-top:1px solid #d9cfbb}.network-extra strong{font-size:18px}.comparison th,.comparison td{padding:14px 8px}.comparison thead th:first-child{width:42%}.comparison thead th{font-size:10px}.comparison tbody th,.comparison td{font-size:11px}.comparison th span{font-size:9px}.shared-support{grid-template-columns:1fr;gap:22px;margin-top:30px}.shared-support h3{font-size:22px}.shared-support h3 br{display:none}.support-groups p{font-size:11px}.estimate-grid{grid-template-columns:1fr;gap:25px}.estimate-box{padding:22px}.estimate-results output{font-size:28px}.estimate-results>div>span{font-size:11px}.estimate-checks label{font-size:11px}.assurance-section{padding:45px 0}.assurance-grid{grid-template-columns:1fr;gap:0}.assurance-grid>a{padding:24px 0;gap:18px}.assurance-number{font-size:53px;min-width:70px}.assurance-grid h3{font-size:20px}.assurance-grid p{font-size:11px}.start-flow li{gap:15px;padding:20px 0}.start-flow li>span{flex-basis:33px;font-size:26px}.start-flow h3{font-size:18px}.start-flow p{font-size:11px}.document-grid{grid-template-columns:1fr;gap:12px}.plan-cta{padding:48px 0}.plan-cta h2{font-size:27px}.plan-cta .plan-wrap>p:not(.eyebrow){font-size:12px}.plan-cta .plan-button{font-size:13px;max-width:300px}.hp-site-footer .dantai figure{width:calc(33.333% - 10px)}}
@media(max-width:640px){.section-nav>div{grid-template-columns:repeat(2,1fr);width:100%}.section-nav a{font-size:11px;padding:11px 8px;border-bottom:1px solid var(--line)}.section-nav a:nth-child(odd):before{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Review-only header and footer. Existing live pages are untouched. */
.top-site-header{background:#fffefa;color:var(--ink);font-family:var(--sans);padding:0;border-bottom:1px solid var(--line)}
.top-site-header .top-header-inner{width:calc(100% - 80px);max-width:1080px;position:relative}
.top-site-header .top-header-tagline{display:none}
.top-site-header .top-header-row{min-height:94px;gap:30px;padding:17px 0 13px;align-items:center}
.top-site-header .top-header-logo{flex:0 1 345px;max-width:345px}
.top-site-header .top-header-logo img{width:345px;max-width:100%;height:auto}
.top-site-header .top-header-contact{gap:0;display:grid;grid-template-columns:auto auto;column-gap:28px;align-items:center}
.top-site-header .top-header-phone{font:26px/1.3 Georgia,serif;letter-spacing:.02em;color:#725d3e;text-decoration:none;grid-column:1;grid-row:1;white-space:nowrap}
.top-site-header .top-header-phone svg{display:none}
.top-site-header .top-header-hours{font-size:9px;color:var(--muted);letter-spacing:.03em;grid-column:1;grid-row:2;margin-top:5px}
.top-site-header .header-reserve{grid-column:2;grid-row:1/3;align-self:center;display:flex;align-items:center;gap:22px;padding:12px 22px;min-height:46px;border-radius:28px;background:linear-gradient(135deg,#b39a68,#947746);color:#fff;text-decoration:none;font:12px/1.5 var(--sans);white-space:nowrap}
.top-site-header .header-reserve span{font-size:18px}
.top-site-header .top-site-nav{margin:0;border:0;background:transparent}
.top-site-header .top-site-nav>ul{display:flex;justify-content:space-between;align-items:stretch;gap:6px;padding:0;list-style:none;border:0}
.top-site-header .top-site-nav>ul>li{flex:0 1 auto;border:0!important;background:transparent;white-space:normal;position:relative}
.top-site-header .top-site-nav>ul>li>a,.top-site-header summary{font:500 12px/1.6 var(--sans);color:#65594b;padding:13px 9px 19px;text-decoration:none;letter-spacing:.02em;display:block;white-space:nowrap}
.top-site-header .top-site-nav>ul>li>a:after{display:none}
.top-site-header summary{padding-right:24px;list-style:none;cursor:pointer}
.top-site-header summary:after{width:4px;height:4px;border-color:#ac9569;right:10px;left:auto;top:19px;bottom:auto}
.top-site-header .top-site-nav>ul>li>a:hover,.top-site-header summary:hover{color:#977a47;background:transparent}
.top-site-header details[open]>summary{color:#977a47}
.top-site-header .top-nav-dropdown{border:1px solid var(--line);border-radius:8px;background:#fffefa;box-shadow:0 12px 32px #58452212;top:100%;padding:12px;min-width:230px}
.top-site-header .top-nav-dropdown a{font-size:12px;font-weight:400;color:#65594b;padding:10px 12px;border-radius:4px;line-height:1.6}
.top-site-header .top-nav-dropdown a:hover{color:#947746;background:#f3eee4}
.top-site-header .top-nav-brochure{display:none!important}
.hp-site-footer{background:#f1ede5!important;color:#685e50!important;padding:42px 0 36px!important;border-top:1px solid #e3d9c9;font:12px/1.9 var(--sans)}
.hp-site-footer .hp-footer-content{max-width:1080px;width:calc(100% - 80px);margin:auto}
.hp-site-footer .footer-brand-row{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:33px;border-bottom:1px solid #dbd0be;margin-bottom:32px}
.hp-site-footer .footer-brand>a{display:block;line-height:0;max-width:290px}
.hp-site-footer .footer-brand img{width:290px;height:auto}
.hp-site-footer .footer-brand p{font:13px/1.8 var(--serif);color:#8a785b;letter-spacing:.09em;margin-top:15px}
.hp-site-footer .followus{width:auto;background:transparent;border-radius:0;padding:0;margin:0;display:flex;gap:8px;align-items:center}
.hp-site-footer .followus li{margin:0;line-height:1}
.hp-site-footer .followus .follow-label{font:9px/1.6 Georgia,serif;letter-spacing:.12em;color:#947c52;margin-right:9px}
.hp-site-footer .followus a{display:flex;align-items:center;justify-content:center;background:#a18a61;width:34px;height:34px;border-radius:50%;transition:background .15s}
.hp-site-footer .followus a:hover{background:#816b46;opacity:1}
.hp-site-footer .followus img{width:20px;height:20px;object-fit:contain}
.hp-site-footer nav{display:block;width:100%;background:transparent}
.hp-site-footer .footer-link-columns{display:grid;grid-template-columns:1.2fr 1.3fr 1fr 1fr;gap:35px}
.hp-site-footer nav ul{display:block;flex-flow:initial;height:auto;min-height:0;margin:0;padding:0;list-style:none}
.hp-site-footer nav ul li{display:block;width:auto;margin:0 0 18px;break-inside:avoid}
.hp-site-footer nav ul li dl{margin:0;padding:0}
.hp-site-footer nav ul li dl dt,.hp-site-footer nav ul li dl dt a{font:600 13px/1.8 var(--sans);color:#7f6947;margin:0 0 7px;padding:0}
.hp-site-footer nav ul li a{display:block;padding:0 0 7px;font:400 11px/1.9 var(--sans);color:#776d60;text-decoration:none;white-space:normal}
.hp-site-footer nav ul li dl dd{font-size:11px;margin:0;padding:0}
.hp-site-footer nav ul li dl dd a{padding:0 0 7px;text-indent:0;font-size:11px}
.hp-site-footer nav ul li dl dd a:before{display:none}
.hp-site-footer nav ul li a:hover{opacity:1;color:#9b7843;text-decoration:underline;text-underline-offset:4px}
.hp-site-footer nav .inner:empty{display:none}
.hp-site-footer .h1{display:none}
.hp-site-footer .dantai{display:flex;align-items:center;gap:15px;max-width:none;border:0;border-top:1px solid #dbd0be;background:transparent;padding:28px 0 0;margin:15px 0 0;color:#776d60}
.hp-site-footer .dantai h3{background:transparent;border:0;flex:0 0 65px;width:auto;font:600 11px/1.8 var(--sans);color:#8d7856;text-align:left;justify-content:start;align-self:center;padding:0}
.hp-site-footer .dantai .kamei{display:flex;flex-wrap:wrap;gap:4px 24px;background:transparent;padding:0;margin:0 auto 0 0;min-width:0;color:#776d60}
.hp-site-footer .dantai dl{display:block;margin:0;padding:0;font-size:9px}
.hp-site-footer .dantai dl dt{display:inline;padding:0}
.hp-site-footer .dantai dl dd{display:inline;margin:0}
.hp-site-footer .dantai a{color:inherit;text-decoration:none}
.hp-site-footer .dantai figure{background:#fff;border:1px solid #e1d8ca;border-radius:4px;padding:5px;margin:0;max-width:110px;flex:0 0 auto}
.hp-site-footer .dantai figure img{width:auto;height:52px;max-width:100%;object-fit:contain;display:block}
.hp-site-footer .dantai p:empty,.hp-site-footer .copy:empty{display:none}
@media(max-width:1000px){.top-site-header .top-header-inner,.hp-site-footer .hp-footer-content{width:calc(100% - 48px)}.top-site-header .top-header-logo{max-width:285px}.top-site-header .top-header-contact{column-gap:18px}.top-site-header .top-header-phone{font-size:23px}.top-site-header .header-reserve{padding-inline:16px;gap:12px}.top-site-header .top-site-nav>ul>li>a,.top-site-header summary{font-size:11px;padding-inline:7px}.top-site-header summary{padding-right:18px}.top-site-header summary:after{right:6px}.hp-site-footer .footer-link-columns{gap:23px}}
@media(max-width:1000px){.top-site-header .top-header-inner{width:calc(100% - 36px);padding:0}.top-site-header .top-header-row{min-height:78px;padding:17px 52px 17px 0;display:block}.top-site-header .top-header-logo{max-width:300px;margin:0}.top-site-header .top-header-contact{display:none}.top-site-header .top-header-toggle{top:20px;right:0;width:34px;height:40px;border:0;background:transparent;color:#8f7954}.top-site-header .top-header-toggle i{height:1px;width:23px;margin:5px auto;background:#9d865e}.top-site-header .top-header-toggle span{font:8px/1 var(--sans);letter-spacing:.1em;color:#8f7954}.top-site-header .top-site-nav{margin:0;border-top:1px solid var(--line);background:transparent}.top-site-header .top-site-nav>ul{display:block;padding:5px 0 15px}.top-site-header .top-site-nav>ul>li{border-bottom:1px solid var(--line)!important;margin:0;text-align:left}.top-site-header .top-site-nav>ul>li>a,.top-site-header summary{padding:14px 28px 14px 4px;font-size:12px;white-space:normal}.top-site-header summary:after{top:20px;right:10px;bottom:auto}.top-site-header .top-nav-dropdown{border:0;background:#f5f1e8;border-radius:5px;box-shadow:none;padding:4px 8px;margin-bottom:10px;min-width:0}.top-site-header .top-nav-brochure{display:block!important}.hp-site-footer{padding:32px 0 25px!important}.hp-site-footer .hp-footer-content{width:calc(100% - 36px)}.hp-site-footer .footer-brand-row{display:block;padding-bottom:24px;margin-bottom:25px}.hp-site-footer .footer-brand>a{max-width:260px}.hp-site-footer .footer-brand p{font-size:12px;margin-top:13px}.hp-site-footer .followus{width:auto;margin:22px 0 0;justify-content:flex-start;gap:9px}.hp-site-footer .footer-link-columns{grid-template-columns:1fr 1fr;gap:15px 24px}.hp-site-footer nav ul li{width:auto;margin-bottom:17px}.hp-site-footer nav ul li dl dt,.hp-site-footer nav ul li dl dt a{font-size:12px}.hp-site-footer nav ul li dl dd a{font-size:10px;line-height:1.9;padding-bottom:8px}.hp-site-footer .dantai{flex-wrap:wrap;justify-content:flex-start;gap:12px 10px;padding-top:20px;margin-top:12px}.hp-site-footer .dantai h3{width:100%;flex-basis:100%;height:auto;font-size:10px;padding:0;border:0;background:transparent}.hp-site-footer .dantai .kamei{width:100%;display:flex;margin:0 0 4px;gap:8px 20px;padding:0;background:transparent}.hp-site-footer .dantai dl{margin:0;font-size:9px}.hp-site-footer .dantai figure{width:auto;max-width:none;flex:0 1 auto;margin:0;padding:4px 7px}.hp-site-footer .dantai figure img{height:43px;max-width:95px}}
@media(max-width:1000px){.top-site-header .top-header-toggle{padding:0;gap:4px;justify-content:center}.top-site-header .top-header-toggle i{flex:0 0 1px;height:1px;margin:0 auto}.top-site-header .top-header-toggle span{flex:0 0 auto;margin-top:3px}}
@media(max-width:640px){.plan-hero h1{font-size:clamp(26px,7.8vw,32px)}.hp-site-footer nav ul li dl dd a{font-size:11px}}
@media(prefers-reduced-motion:reduce){.hp-site-footer .followus a{transition:none}}

.top-site-header .top-header-logo img,.hp-site-footer .footer-brand img{aspect-ratio:425/50;height:auto;filter:url(#original-logo-gold)}