/*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;}}

: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:auto;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.9 var(--sans)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}img{max-width:100%}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.preview-notice{text-align:center;padding:7px 16px;background:#423b31;color:white;font-size:11px;letter-spacing:.08em}.preview-notice span{margin-left:20px}.preview-notice a{text-decoration:underline;margin-left:18px}.home-wrap{width:calc(100% - 96px);max-width:1100px;margin:auto}.home-page h1,.home-page h2,.home-page h3{font-family:var(--serif);font-weight:500}.home-page h2{font-size:32px;line-height:1.8;letter-spacing:.07em;margin:16px 0 20px}.home-page h3{font-size:20px;line-height:1.7}.home-page p{margin:0 0 18px}.eyebrow{font-family:Georgia,serif;font-size:11px;letter-spacing:.19em;color:var(--gold)}.home-section{padding-top:105px;padding-bottom:105px}.section-heading{margin-bottom:50px}.section-heading>p:last-child{color:var(--muted)}.home-hero{display:grid;grid-template-columns:1fr 1.04fr;align-items:center;gap:36px;padding-top:40px;padding-bottom:46px;min-height:620px}.hero-copy{padding:30px 0}.hero-location{font-size:12px;color:var(--muted);letter-spacing:.1em}.home-hero h1{font-size:clamp(36px,4.2vw,52px);line-height:1.75;letter-spacing:.09em;margin:26px 0}.hero-lead{line-height:2.2;font-size:14px}.hero-photo{margin:0;position:relative;align-self:stretch;min-height:520px}.hero-photo:after{content:"";position:absolute;inset:18px -14px -14px 18px;border:1px solid #d9c7a7;border-radius:48% 48% 8px 8px;z-index:-1}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:43% 45%;border-radius:48% 48% 8px 8px;display:block}.hero-photo figcaption{position:absolute;bottom:24px;right:20px;writing-mode:vertical-rl;font:italic 13px Georgia;color:#574332;letter-spacing:.1em}.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:18px;margin:29px 0 18px}.home-button{display:inline-flex;align-items:center;justify-content:center;gap:38px;padding:15px 28px;border:1px solid var(--gold);border-radius:40px;background:var(--gold);color:white;font-size:13px;letter-spacing:.04em;transition:background .2s,transform .2s}.home-button:hover{background:#80693e;transform:translateY(-2px)}.home-button span{font-size:18px}.home-button.outline{background:transparent;color:var(--ink);margin-top:40px}.home-button.outline:hover{background:var(--warm)}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid #cdbb9b;padding-bottom:5px}.text-link:hover{color:var(--gold)}.hero-note{font-size:10px;color:var(--muted);letter-spacing:.04em}.intro-strip{display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:25px;padding-bottom:25px}.intro-strip p{font:17px/1.8 var(--serif);margin:0}.intro-strip>span{font-size:11px;color:var(--muted)}.intro-strip>a{margin-left:auto;font-size:11px}.intro-strip b{color:var(--gold);padding-left:14px}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.reason-grid article{position:relative;border-top:1px solid var(--line);padding-top:22px}.reason-number{font:italic 21px Georgia;color:var(--gold)}.reason-grid h3{margin:24px 0 15px;font-size:19px}.reason-grid p{font-size:12px;line-height:2;color:var(--muted)}.reason-art{height:140px;display:flex;align-items:center;justify-content:center;background:#f2eee5;margin-top:18px;color:#9b8051;position:relative;overflow:hidden;border-radius:2px}.art-network i{position:absolute;border:1px solid #cab893;border-radius:50%;width:85px;height:85px}.art-network i:nth-child(1){transform:translate(-32px,-12px)}.art-network i:nth-child(2){transform:translate(32px,-12px)}.art-network i:nth-child(3){transform:translate(0,25px)}.art-network i:nth-child(4){width:115px;height:115px;opacity:.4}.art-network b{font:24px var(--serif);background:#f2eee5;padding:10px;border-radius:50%;z-index:1}.art-dialogue{flex-direction:column;gap:8px}.art-dialogue i{font:12px var(--serif);padding:11px 20px;border:1px solid #cbb995;border-radius:22px;background:#fbfaf7;transform:translateX(-22px)}.art-dialogue i+ i{transform:translateX(22px)}.art-steps{gap:10px}.art-steps span{border:1px solid #cbb995;border-radius:50%;width:58px;height:58px;display:grid;place-items:center;font:12px var(--serif)}.art-steps b{font-weight:400}.home-results{background:#eee9df;padding:68px 0}.results-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr;column-gap:30px;align-items:center}.results-inner h2{margin-top:12px}.results-inner>div:first-child>p:not(.eyebrow){font-size:12px;color:#716556}.result-stat{text-align:center;border-left:1px solid #d4c8b6;padding:8px 0}.result-stat>p{font:14px/1.8 var(--serif)}.result-stat strong{display:block;font:80px/1.2 Georgia;color:#9b8051;margin-bottom:14px}.result-stat strong span{font-size:30px}.result-stat strong small{font:18px var(--serif);margin-right:4px}.results-inner .data-note{grid-column:1/-1;font-size:10px;line-height:1.9;color:#736a5d;margin:32px 0 0}.journey{text-align:center}.journey-list{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:0;list-style:none;text-align:left}.journey-list li{border-top:1px solid var(--line);padding-top:20px}.journey-list span{font:italic 30px Georgia;color:var(--gold)}.journey-list h3{font-size:18px;margin:12px 0}.journey-list p{font-size:12px;color:var(--muted)}.home-plans{background:#f3f0e9}.plan-layout{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:24px}.plan-intro{padding:12px 12px 0 0}.plan-intro h2{font-size:27px}.plan-intro>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:2.2}.mini-plan{padding:32px 25px;background:var(--paper);border:1px solid #ddd4c4;border-radius:8px}.mini-plan.premium{background:#ebe4d7;border-color:#b5a17c}.mini-plan h3{font-size:24px;margin:12px 0}.mini-plan .plan-description{font-size:10px;color:var(--muted);margin-bottom:30px}.monthly{font-size:11px}.monthly strong{font:32px Georgia;margin-left:8px}.mini-plan dl{font-size:11px;margin:22px 0 0}.mini-plan dl div{display:flex;justify-content:space-between;border-top:1px solid #ded5c6;padding:9px 0}.mini-plan dd{margin:0}.price-note{grid-column:1/-1;text-align:right;font-size:10px;color:var(--muted)}.heading-row{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.heading-row h2{margin-bottom:0}.heading-row>p{font-size:12px;color:var(--muted)}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.journal-grid>a{display:flex;flex-direction:column}.journal-grid img,.journal-typography{width:100%;aspect-ratio:1.58;object-fit:cover;border-radius:5px}.journal-grid time{font:11px Georgia;letter-spacing:.06em;color:var(--gold);margin-top:20px}.journal-grid h3{font:14px/1.9 var(--sans);margin:12px 0 20px}.journal-grid>a>span{font:9px Georgia;letter-spacing:.14em;color:var(--gold);margin-top:auto}.journal-typography{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#eae5db;color:#958161}.journal-typography span{font:italic 25px/1.4 Georgia;text-align:center}.journal-typography i{font:11px var(--serif);letter-spacing:.12em;margin-top:20px}.faq-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;border-top:1px solid var(--line)}.home-faq details{border-bottom:1px solid var(--line)}.home-faq summary{cursor:pointer;list-style:none;padding:22px 30px 22px 0;position:relative;font-size:13px}.home-faq summary:before{content:"Q";font:20px Georgia;color:var(--gold);margin-right:15px}.home-faq summary:after{content:"＋";position:absolute;right:0;color:var(--gold)}.home-faq summary::-webkit-details-marker{display:none}.home-faq details[open] summary:after{content:"−"}.home-faq details p{font-size:12px;color:var(--muted);padding:0 20px 14px 34px}.salon-section{background:#f1eee7}.salon-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.salon-grid article{padding:32px 36px;background:var(--paper);border:1px solid var(--line);position:relative}.salon-grid article:after{content:"";position:absolute;right:38px;top:38px;width:40px;height:40px;border:1px solid #d5c5a6;border-radius:50%}.salon-grid h3{font-size:27px;margin:8px 0 20px}.salon-grid p{font-size:12px;line-height:2}.salon-grid article>div{display:flex;gap:28px;margin-top:22px}.home-cta{text-align:center;padding:95px 0;background:radial-gradient(ellipse at center,#e7decc,transparent 70%)}.home-cta h2{font-size:34px}.home-cta p:not(.eyebrow){font-size:13px;color:var(--muted)}.home-cta .home-button{margin:12px 0 17px;min-width:300px}.home-cta .cta-note{font-size:10px}.cta-tel{font:28px Georgia;display:block;margin-top:32px}.home-cta small{font-size:10px;color:var(--muted)}.mobile-only{display:none}
@media(min-width:1500px){.home-hero{min-height:690px}.hero-photo{min-height:570px}}@media(max-width:1000px){.home-wrap{width:calc(100% - 64px)}.home-hero{gap:24px;min-height:550px}.hero-photo{min-height:460px}.home-hero h1{font-size:36px;letter-spacing:.04em}.hero-lead{font-size:12px}.intro-strip{flex-wrap:wrap;gap:10px 24px}.intro-strip>a{margin-left:0}.reason-grid{gap:22px}.reason-grid h3{font-size:17px}.plan-layout{grid-template-columns:1fr 1fr}.plan-intro{grid-column:1/-1;display:block}.plan-intro h2 br{display:none}.home-section{padding-top:75px;padding-bottom:75px}.results-inner{grid-template-columns:1.2fr 1fr 1fr;gap:20px}.result-stat strong{font-size:65px}.journey-list{gap:20px}.faq-layout{gap:35px}.journal-grid{gap:20px}}
@media(max-width:640px){html{scroll-padding-top:80px}.preview-notice{font-size:9px;padding:6px 10px}.preview-notice span{display:block;margin:0}.preview-notice a{display:none}.home-wrap{width:calc(100% - 40px)}.home-hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:40px;gap:10px;min-height:0}.hero-copy{padding:0}.home-hero h1{font-size:clamp(31px,8.8vw,41px);line-height:1.65;margin:20px 0;letter-spacing:.05em}.hero-location{font-size:10px}.hero-lead{font-size:12px;line-height:2.2}.eyebrow{font-size:9px}.hero-actions{flex-direction:row;gap:16px;align-items:center;flex-wrap:wrap;margin-top:24px}.hero-actions .home-button{padding:13px 22px;gap:20px}.hero-actions .text-link{font-size:10px}.hero-note{font-size:9px;margin-bottom:0!important}.hero-photo{min-height:0;height:310px;margin:18px 7px 12px}.hero-photo img{object-position:50% 35%;border-radius:44% 44% 5px 5px}.hero-photo:after{inset:12px -10px -10px 12px;border-radius:44% 44% 5px 5px}.hero-photo figcaption{font-size:10px;right:12px}.intro-strip{display:block;padding:20px 0}.intro-strip p{font-size:16px;margin:0 0 8px}.intro-strip>span{font-size:11px;display:block}.intro-strip>a{display:inline-block;margin-top:12px}.home-page h2{font-size:25px;line-height:1.8;letter-spacing:.04em}.home-section{padding-top:62px;padding-bottom:62px}.section-heading{margin-bottom:30px}.section-heading>p:last-child{font-size:12px;line-height:2}.reason-grid{grid-template-columns:1fr;gap:36px}.reason-grid article{padding-top:15px}.reason-art{height:155px}.reason-grid h3{font-size:21px;margin-top:20px}.reason-grid p{font-size:12px}.home-results{padding:52px 0}.results-inner{grid-template-columns:1fr 1fr;gap:28px 14px}.results-inner>div:first-child{grid-column:1/-1}.result-stat{border-left:0;border-top:1px solid #d4c8b6;padding-top:22px}.result-stat>p{font-size:12px}.result-stat strong{font-size:62px}.result-stat strong span{font-size:22px}.results-inner .data-note{margin-top:0;font-size:9px}.journey-list{grid-template-columns:1fr 1fr;gap:25px 20px}.journey-list h3{font-size:17px}.journey-list p{font-size:11px}.home-button.outline{font-size:11px;padding:14px 20px}.plan-layout{grid-template-columns:1fr;gap:20px}.plan-intro h2 br{display:block}.mini-plan{padding:28px}.mini-plan h3{font-size:25px}.mini-plan .plan-description{font-size:11px;margin-bottom:20px}.monthly strong{font-size:36px}.price-note{text-align:left;font-size:9px}.heading-row{display:block;margin-bottom:28px}.heading-row>.text-link{margin-top:12px}.journal-grid{grid-template-columns:1fr;gap:36px}.journal-grid h3{font-size:14px}.journal-grid img,.journal-typography{aspect-ratio:1.7}.journal-grid time{margin-top:14px}.faq-layout{grid-template-columns:1fr;gap:20px}.home-faq summary{font-size:12px;line-height:1.8}.salon-grid{grid-template-columns:1fr;gap:18px}.salon-grid article{padding:28px}.heading-row>p{margin-top:14px}.home-cta{padding:65px 0}.home-cta h2{font-size:25px}.home-cta p:not(.eyebrow){font-size:12px}.home-cta .home-button{min-width:0;width:100%;max-width:320px}.mobile-only{display:block}.home-cta .cta-note{font-size:10px}.home-faq summary:before{margin-right:10px}}
.journal-grid img{height:auto;aspect-ratio:1.58;object-fit:cover}
@media(max-width:640px){.journal-grid img{aspect-ratio:1.7}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* 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}}

/* Additional draft sections: supplied portraits and award artwork remain unaltered. */
.network-section{background:#f0ede6}.network-section .heading-row>p{line-height:2.2}.network-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.network-card{background:#fcfbf7;border:1px solid #e0d9cd;padding:32px 26px;border-radius:6px;display:flex;flex-direction:column}.network-wordmark{font:40px/1.2 Georgia,serif;letter-spacing:.03em;color:#806b46;min-height:50px;margin:0 0 24px!important}.ibj-wordmark{color:#96752c}.scram-wordmark{color:#527c68}.connect-card .network-wordmark{font-size:24px;padding-top:10px;letter-spacing:0}.network-wordmark>span{font-size:20px}.network-card h3{font:12px/1.7 var(--sans);margin:0 0 16px}.network-count{display:flex;align-items:baseline;gap:5px;margin-bottom:2px!important;white-space:nowrap}.network-count strong{font:43px/1.3 Georgia;color:#695638}.network-count small{font-size:10px}.network-count>span{font-size:12px}.network-date{font-size:10px;color:var(--muted);margin-bottom:25px!important}.network-card>p:last-child{font-size:12px;color:var(--muted);line-height:2;margin:0}.network-bottom{display:flex;align-items:start;gap:35px;margin-top:24px}.evidence-note{font-size:10px!important;line-height:1.9!important;color:var(--muted)}.network-bottom>p{flex:1;margin:0}.network-bottom>a{flex:none;margin-top:5px}.connect-mark{display:flex;justify-content:center;align-items:center;height:100px;margin-bottom:13px}.connect-mark i{border:1px solid #bfae8c;border-radius:50%;width:54px;height:54px;margin:0 -7px}.connect-mark i:nth-child(2){transform:translateY(-15px)}.meetings-section{background:#fcfbf8}.meetings-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:80px;align-items:center}.meetings-copy>p:not(.eyebrow){font-size:13px;line-height:2.2;color:var(--muted)}.meetings-panel{border:1px solid #d3c5ad;padding:40px 38px;text-align:center;background:linear-gradient(130deg,#f8f5ef,#eeeadf);border-radius:6px}.meetings-label{font:17px/1.8 var(--serif)}.meetings-total{display:flex;gap:13px;align-items:baseline;justify-content:center;margin:20px 0 10px}.meetings-total>span{font:16px var(--serif)}.meetings-total strong{font:86px/1.2 Georgia;color:#927442;letter-spacing:-.02em}.meetings-period{font-size:11px;color:#73644e;margin-bottom:28px!important}.meetings-breakdown{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d7cbb7;border-bottom:1px solid #d7cbb7;margin-bottom:18px;padding:20px 0}.meetings-breakdown>div{display:flex;flex-direction:column;gap:8px}.meetings-breakdown>div+div{border-left:1px solid #d7cbb7}.meetings-breakdown span{font:12px Georgia;letter-spacing:.1em;color:#8c7348}.meetings-breakdown strong{font:30px Georgia;color:#6a583d}.meetings-breakdown small{font:12px var(--sans);margin-left:5px}.meetings-panel>.evidence-note{margin:0}.awards-section{background:#ede7dc}.ibj-award-feature{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:55px;background:#f9f7f1;border:1px solid #d8c9ad;padding:30px;border-radius:6px}.ibj-award-feature>img{display:block;width:100%;height:auto;box-shadow:0 8px 25px #49331b12}.ibj-award-feature h3{font:30px/1.65 var(--serif);margin:10px 0 20px}.ibj-award-feature>div>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:2}.award-year{font:10px Georgia;letter-spacing:.15em;color:var(--gold);border-top:1px solid var(--line);display:inline-block;padding-top:15px}.tms-award-heading{display:flex;gap:25px;align-items:baseline;margin:42px 0 22px}.tms-award-heading h3{font:21px Georgia;letter-spacing:.07em;margin:0}.tms-award-heading span{font-size:11px;color:var(--muted)}.award-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.award-grid article{display:flex;gap:20px;align-items:center;border-top:1px solid #cbb997;padding-top:24px}.award-grid img{display:block;width:45%;max-width:155px;height:auto;flex:0 0 45%;border-radius:2px}.award-grid h3{font:18px/1.7 var(--serif);margin:0}.award-grid h3 em{font-size:14px;font-style:normal;color:#876a35}.award-category{font-size:10px;margin-bottom:8px!important;color:var(--muted)}.award-note{margin-top:28px!important;margin-bottom:0!important}.team-section .heading-row>p{line-height:2.2}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 30px}.team-card{min-width:0}.team-photo{height:310px;overflow:hidden;background:#eeece7;border-radius:6px 6px 0 0}.team-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 24%}.team-card:last-child .team-photo img{object-position:50% 27%}.team-description{padding:20px 4px 0}.team-role{font-size:10px;color:var(--gold);margin-bottom:6px!important}.team-description h3{font:22px/1.6 var(--serif);margin:0 0 14px}.team-description h3 span{display:block;font:9px/1.8 Georgia;letter-spacing:.1em;color:var(--muted);margin-top:4px}.team-description>p:last-child{font-size:12px;line-height:2;color:var(--muted);margin:0}.team-bottom{text-align:center;margin-top:40px}.team-bottom p{font-size:11px;color:var(--muted)}.team-bottom .home-button{margin-top:7px}
@media(max-width:1000px){.network-grid{gap:15px}.network-card{padding:25px 20px}.network-count strong{font-size:34px}.network-wordmark{font-size:34px}.connect-card .network-wordmark{font-size:20px}.network-wordmark>span{font-size:17px}.network-bottom{display:block}.network-bottom>a{margin-top:18px}.meetings-layout{gap:35px}.meetings-panel{padding:30px 22px}.meetings-total strong{font-size:70px}.meetings-period{font-size:10px}.ibj-award-feature{gap:30px;padding:24px}.ibj-award-feature h3{font-size:25px}.award-grid{gap:20px}.award-grid article{flex-direction:column;align-items:start;gap:18px}.award-grid img{width:150px;max-width:100%}.team-photo{height:260px}.team-grid{gap:30px 22px}.team-description h3{font-size:20px}}
@media(max-width:640px){.network-grid{grid-template-columns:1fr;gap:16px}.network-card{padding:26px}.network-wordmark{font-size:36px;min-height:0;margin-bottom:18px!important}.network-card h3{font-size:12px}.network-count strong{font-size:46px}.network-date{margin-bottom:20px!important}.connect-card .network-wordmark{font-size:28px;padding-top:0}.network-wordmark>span{font-size:22px}.connect-mark{height:85px}.network-bottom{margin-top:20px}.evidence-note{font-size:9px!important}.meetings-layout{grid-template-columns:1fr;gap:28px}.meetings-panel{padding:28px 18px}.meetings-label{font-size:14px}.meetings-total strong{font-size:68px}.meetings-total>span{font-size:13px}.meetings-total{gap:9px}.meetings-period{font-size:9px}.meetings-breakdown strong{font-size:29px}.ibj-award-feature{grid-template-columns:1fr;padding:18px;gap:23px}.ibj-award-feature>div{padding:0 5px 8px}.ibj-award-feature h3{font-size:25px;line-height:1.6}.ibj-award-feature h3 br{display:none}.ibj-award-feature>div>p:not(.eyebrow){font-size:11px}.tms-award-heading{display:block;margin:32px 0 20px}.tms-award-heading h3{font-size:20px}.tms-award-heading span{display:inline-block;margin-top:8px}.award-grid{grid-template-columns:1fr;gap:20px}.award-grid article{flex-direction:row;align-items:center;gap:20px;padding-top:20px}.award-grid img{width:42%;max-width:140px;flex-basis:42%}.award-grid h3{font-size:19px}.award-grid h3 em{font-size:14px}.team-grid{grid-template-columns:1fr 1fr;gap:28px 16px}.team-photo{height:200px}.team-description{padding:15px 0 0}.team-role{font-size:9px}.team-description h3{font-size:18px}.team-description h3 span{font-size:8px;letter-spacing:.03em}.team-description>p:last-child{font-size:11px;line-height:1.95}.team-bottom{text-align:left;margin-top:30px}.team-bottom p{font-size:10px}.team-bottom .home-button{display:flex;font-size:11px}.team-section .heading-row>p{font-size:12px}.network-section .heading-row>p{font-size:12px}}
@media(max-width:350px){.team-photo{height:174px}.team-description h3{font-size:16px}.team-description h3 span{font-size:7px}.meetings-total strong{font-size:59px}.network-count strong{font-size:42px}.award-grid h3{font-size:17px}}

.hero-carousel{padding:28px 0 34px;background:var(--paper);overflow:hidden}.carousel-topline{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);letter-spacing:.08em;margin-bottom:22px}.carousel-topline>span+span{font:10px Georgia;letter-spacing:.19em;color:var(--gold)}.carousel-frame{border-radius:12px;overflow:hidden}.hero-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;position:relative;outline-offset:-3px}.hero-track::-webkit-scrollbar{display:none}.hero-slide{position:relative;flex:0 0 100%;min-width:0;display:grid;grid-template-columns:1fr 1.05fr;min-height:510px;scroll-snap-align:start;scroll-snap-stop:always;background:#f1ede4;overflow:hidden}.slide-copy{padding:44px 22px 38px 43px;align-self:center;z-index:1}.hero-slide h1,.hero-slide h2{font:500 clamp(30px,3.4vw,43px)/1.65 var(--serif);letter-spacing:.055em;margin:20px 0 22px}.hero-slide h2 em{font-style:normal;color:#96784e}.hero-slide .slide-lead{font-size:12px;line-height:2.2;color:#6d6257;margin-bottom:26px}.slide-button{font-size:12px;padding:14px 21px;gap:22px}.slide-small{display:block;font-size:9px;line-height:1.8;color:var(--muted);margin-top:14px;max-width:330px}.slide-visual{position:relative;min-width:0;min-height:510px}.diagnosis-visual{padding:28px 25px 28px 0;background:linear-gradient(105deg,#f1ede4,#ece6d8)}.diagnosis-photo{display:block;width:100%;height:100%;max-height:454px;object-fit:cover;object-position:50% 25%;border-radius:46% 46% 4px 4px}.pace-label{display:flex;position:absolute;left:-10px;bottom:28px;gap:8px;align-items:center;filter:drop-shadow(0 4px 10px #6b553512)}.pace-label>span{width:95px;height:95px;border:1px solid #bba884;background:#faf6ed;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;font-size:10px;color:#806e4e}.pace-label>span+span{background:#e8ece1}.pace-label b{font:26px/1.5 var(--serif)}.pace-label i{font:italic 15px Georgia;color:#806e4e}.visual-caption{position:absolute;right:38px;top:64px;writing-mode:vertical-rl;font:italic 11px Georgia;letter-spacing:.1em;color:#715e47}.slide-support{background:#ede9e1}.support-visual{padding:34px 30px 34px 10px;display:flex;align-items:center}.staff-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;transform:rotate(-3deg);max-width:425px;margin:auto}.staff-mosaic img{display:block;width:100%;height:205px;object-fit:cover;object-position:50% 23%;border-radius:5px;border:5px solid #faf8f2;box-shadow:0 3px 12px #564a3b08}.staff-mosaic img:nth-child(even){transform:translateY(18px)}.support-photo-note{position:absolute;left:38px;bottom:12px;font:9px Georgia;letter-spacing:.19em;color:var(--gold)}.slide-voices{background:#f2ebe3}.voices-visual{padding:60px 0 60px 15px;display:flex;align-items:center}.voices-visual>img{display:block;width:100%;height:360px;object-fit:cover;object-position:55% 50%;border-radius:110px 0 0 5px}.story-note{position:absolute;bottom:35px;left:0;background:#fffdf5eb;padding:21px 30px;border:1px solid #e3d5bf;border-radius:4px;box-shadow:0 8px 22px #523c2110}.story-note>span{font:9px Georgia;letter-spacing:.15em;color:var(--gold)}.story-note p{font:18px/1.8 var(--serif);margin:10px 0 0}.voices-visual>small{position:absolute;right:18px;bottom:17px;font-size:8px;color:#897a6a}.slide-campaign{background:#eae3d6}.slide-campaign .slide-copy{padding-right:8px}.slide-campaign h2{font-size:clamp(28px,2.7vw,37px);letter-spacing:.025em}.campaign-visual{display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 60% 50%,#fcf9f0,#eee6d5 75%);padding:45px 32px;color:#866b3d}.campaign-visual:before,.campaign-visual:after{content:"";position:absolute;width:430px;height:430px;border:1px solid #c7b38d;border-radius:50%;pointer-events:none;opacity:.55}.campaign-visual:after{width:460px;height:460px;opacity:.25}.campaign-tag{font:italic 25px Georgia;letter-spacing:.06em;z-index:1}.campaign-condition{margin:24px 0 18px!important;font-size:12px;z-index:1}.campaign-condition>span{border-bottom:1px solid #b29a6b;padding-bottom:3px}.campaign-price-label{font-size:12px;z-index:1;margin-bottom:5px!important}.campaign-price{display:flex;align-items:baseline;gap:8px;z-index:1;margin:0 0 24px!important;white-space:nowrap}.campaign-price strong{font:72px/1.2 Georgia;letter-spacing:-.04em}.campaign-price>span{font:16px Georgia}.campaign-extra{z-index:1;text-align:center;border-top:1px solid #c8b797;padding-top:19px}.campaign-extra>p{font-size:10px;margin:0 0 9px}.campaign-extra>strong{font:32px Georgia}.campaign-extra>strong>span{font-size:13px;margin-left:4px}.campaign-flower{position:absolute;bottom:24px;right:32px;font:55px Georgia;color:#bfab82;line-height:1;opacity:.6}.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:22px}.carousel-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;flex:1;max-width:780px}.carousel-tabs button{background:none;border:0;border-top:1px solid #ddd4c4;padding:12px 0 0;text-align:left;color:#8a8175;font:11px var(--sans);cursor:pointer;white-space:nowrap}.carousel-tabs button>span{font:italic 12px Georgia;margin-right:10px}.carousel-tabs button[aria-current=true]{color:#795e33;border-color:#8f7244}.carousel-tabs button:hover{color:#795e33}.carousel-arrows{display:flex;align-items:center;gap:10px;flex:none}.carousel-arrows button{width:31px;height:31px;border:1px solid #d6c9b3;border-radius:50%;background:transparent;color:#8b724a;cursor:pointer;font:16px Georgia;display:grid;place-items:center;padding:0}.carousel-arrows button:hover{background:#eee7dc}.carousel-arrows .carousel-play{border:0;width:25px;font:13px Georgia}.slide-counter{font:12px Georgia;letter-spacing:.02em;white-space:nowrap}.slide-counter i{font-style:normal;color:#a99c87;margin-left:2px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.hero-slide{min-height:470px;grid-template-columns:1fr 1fr}.slide-copy{padding:30px 18px 30px 30px}.hero-slide h1,.hero-slide h2{font-size:32px}.hero-slide .slide-lead{font-size:11px}.slide-visual{min-height:470px}.diagnosis-visual{padding:25px 20px 25px 0}.diagnosis-photo{height:420px}.slide-button{font-size:11px;padding:13px 18px;gap:15px}.slide-small{font-size:8px}.staff-mosaic img{height:170px}.support-visual{padding:28px 22px 28px 5px}.story-note{padding:18px 20px;bottom:48px}.story-note p{font-size:16px}.voices-visual{padding-left:0}.voices-visual>img{height:320px}.slide-campaign h2{font-size:29px}.campaign-visual{padding:30px 20px}.campaign-tag{font-size:20px}.campaign-price strong{font-size:61px}.campaign-condition{font-size:10px}.campaign-visual:before{width:350px;height:350px}.campaign-visual:after{width:380px;height:380px}.carousel-tabs{gap:14px}.carousel-tabs button{font-size:10px}.carousel-tabs button>span{margin-right:5px}.carousel-arrows{gap:6px}.carousel-controls{gap:18px}.pace-label>span{width:75px;height:75px;font-size:9px}.pace-label b{font-size:23px}}
@media(max-width:640px){.hero-carousel{padding:22px 0 28px}.carousel-topline{font-size:9px;letter-spacing:.02em;margin-bottom:17px}.carousel-topline>span+span{font-size:7px;letter-spacing:.08em}.carousel-frame{width:calc(100% - 24px);border-radius:8px}.hero-slide{grid-template-columns:1fr;grid-template-rows:340px 280px;min-height:620px}.slide-copy{padding:26px 22px 16px;align-self:start}.hero-slide h1,.hero-slide h2{font-size:32px;line-height:1.5;letter-spacing:.045em;margin:12px 0 16px}.hero-slide .slide-lead{font-size:11px;line-height:2;margin-bottom:18px}.slide-button{padding:12px 18px;font-size:11px;gap:18px}.slide-small{font-size:8px;margin-top:10px;line-height:1.8}.slide-visual{min-height:0;height:280px}.diagnosis-visual{padding:0 18px 0 65px;background:transparent}.diagnosis-photo{height:280px;object-position:50% 33%;border-radius:48% 48% 0 0}.pace-label{left:10px;bottom:25px;flex-direction:column;gap:3px}.pace-label>span{width:72px;height:72px;font-size:8px}.pace-label b{font-size:22px}.pace-label i{font-size:11px}.visual-caption{right:29px;top:25px;font-size:9px}.slide-support .slide-copy{padding-top:23px}.slide-support h2{font-size:29px;line-height:1.4;margin-top:8px;margin-bottom:14px}.support-visual{padding:14px 28px 25px;display:block}.staff-mosaic{transform:rotate(-3deg);gap:8px;max-width:285px;margin:auto}.staff-mosaic img{height:107px;border-width:3px;object-position:50% 23%}.staff-mosaic img:nth-child(even){transform:translateY(12px)}.support-photo-note{font-size:8px;left:28px;bottom:7px}.slide-voices h2{font-size:29px;line-height:1.4;margin-top:8px;margin-bottom:14px}.voices-visual{padding:0 0 24px 20px;display:block}.voices-visual>img{height:245px;width:100%;border-radius:70px 0 0 0;object-position:60% 50%}.story-note{left:10px;bottom:34px;padding:12px 16px}.story-note>span{font-size:7px}.story-note p{font-size:13px;line-height:1.6;margin-top:7px}.voices-visual>small{font-size:7px;bottom:7px;right:10px}.slide-campaign h2{font-size:28px;line-height:1.6;margin-top:13px}.slide-campaign .slide-copy{padding-right:20px}.campaign-visual{height:280px;padding:14px 22px 20px}.campaign-tag{font-size:22px}.campaign-condition{font-size:10px;margin:13px 0 9px!important}.campaign-price-label{font-size:10px}.campaign-price strong{font-size:61px}.campaign-price>span{font-size:14px}.campaign-price{margin-bottom:11px!important}.campaign-extra{padding-top:11px}.campaign-extra>p{font-size:9px;margin-bottom:5px}.campaign-extra>strong{font-size:28px}.campaign-extra>strong>span{font-size:12px}.campaign-visual:before{width:290px;height:290px}.campaign-visual:after{width:315px;height:315px}.campaign-flower{font-size:35px;bottom:16px;right:15px}.carousel-controls{flex-wrap:wrap;gap:16px;padding-top:17px}.carousel-tabs{flex-basis:100%;max-width:none;gap:9px}.carousel-tabs button{font-size:9px;padding-top:9px;line-height:1.6;white-space:normal}.carousel-tabs button>span{display:block;font-size:10px;margin:0 0 3px}.carousel-arrows{width:100%;justify-content:flex-end;gap:12px}.carousel-arrows:before{content:"横にスワイプしてご覧いただけます";font-size:8px;color:#9d907b;margin-right:auto}.carousel-arrows button{width:28px;height:28px}.slide-counter{font-size:11px}}
@media(max-width:350px){.hero-slide{grid-template-rows:347px 265px;min-height:612px}.slide-visual{height:265px}.slide-copy{padding-left:18px;padding-right:18px}.hero-slide h1{font-size:29px}.hero-slide h2{font-size:27px}.slide-campaign h2{font-size:25px}.hero-slide .slide-lead{font-size:10px}.diagnosis-photo{height:265px}.staff-mosaic img{height:100px}.campaign-price strong{font-size:54px}.campaign-tag{font-size:20px}.carousel-tabs{gap:7px}.carousel-tabs button{font-size:8px}.carousel-arrows:before{font-size:7px}.carousel-arrows{gap:8px}.slide-support .slide-copy{padding-top:23px}.slide-small{font-size:7px}}
@media(prefers-reduced-motion:reduce){.hero-track{scroll-behavior:auto}}
@media(max-width:640px){.hero-slide{grid-template-rows:365px 280px;min-height:645px}}
@media(max-width:350px){.hero-slide{grid-template-rows:365px 265px;min-height:630px}.slide-support h2{font-size:25px;letter-spacing:.01em}}

/* Review draft: unified brand, real customer photos, meaningful image cards. */
.top-site-header .top-header-logo img{width:345px;aspect-ratio:440/80;object-fit:contain}.hp-site-footer .footer-brand img{aspect-ratio:440/80;object-fit:contain}.reason-image{margin:18px 0 0;aspect-ratio:1.5;overflow:hidden;border-radius:5px;background:#eee7dc}.reason-image img{display:block;width:100%;height:100%;object-fit:cover}.home-page .reason-image-note{font-size:9px;color:#968a78;text-align:right;margin:24px 0 0}.network-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.network-card{padding:35px 36px}.network-systems{min-height:42px;margin:0 0 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.ibj-pill{font-size:12px;color:#8e793f;border:1px solid #d6c9a9;padding:4px 13px;border-radius:20px}.scram-family .tms-name{font:600 24px/1.3 var(--sans);color:#63864b}.scram-family b{font-size:16px;font-weight:400;color:#a4977d}.scram-family .connect-name{font:21px/1.3 Georgia;color:#447d91}.network-card .network-count strong{font-size:48px}.award-four{font:72px/1.3 Georgia;color:#9a7b41;display:inline-block;margin-top:5px}.award-four>span{font:29px var(--serif);margin-left:12px}.award-history-note{display:block;font-size:9px;line-height:1.8;color:#8d8375;margin-top:13px}.real-voices-visual{display:block;padding:27px 30px 27px 10px}.real-voice-gallery{display:flex;flex-direction:column;gap:14px;align-items:flex-start;height:100%;justify-content:center}.voice-photo-card{display:block;position:relative;width:300px;max-width:88%;padding:7px 7px 9px;background:#fffdf7;border:1px solid #daccb7;box-shadow:0 5px 14px #654b2910;border-radius:3px}.voice-photo-card:first-child{align-self:flex-end;transform:rotate(2deg)}.voice-photo-card:nth-child(2){transform:rotate(-2deg)}.voice-photo-card img{display:block;width:100%;height:auto;aspect-ratio:768/486;object-fit:contain;border-radius:0}.voice-photo-card>span{display:block;font-size:9px;line-height:1.8;color:#796750;padding-top:6px;text-align:center}.real-voices-visual>small{position:absolute;right:30px;bottom:7px;font-size:8px;color:#92836f}
@media(max-width:1000px){.network-card{padding:28px}.real-voices-visual{padding:28px 20px 25px 6px}.voice-photo-card{width:280px;max-width:90%}.network-systems{gap:12px}.scram-family .connect-name{font-size:18px}.scram-family .tms-name{font-size:22px}.network-card .network-count strong{font-size:43px}.ibj-award-feature{grid-template-columns:1.1fr 1fr}.award-four{font-size:62px}.award-four>span{font-size:25px}}
@media(max-width:640px){.top-site-header .top-header-logo img{width:265px;max-width:100%}.reason-image{aspect-ratio:1.5}.network-grid{grid-template-columns:1fr;gap:18px}.network-card{padding:28px}.network-card .network-count strong{font-size:46px}.network-systems{gap:13px}.scram-family .connect-name{font-size:20px}.ibj-award-feature{grid-template-columns:1fr}.award-four{font-size:62px}.award-four>span{font-size:27px}.award-history-note{font-size:8px}.real-voices-visual{padding:0 18px 18px;height:280px}.real-voice-gallery{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px;padding-bottom:4px}.voice-photo-card{width:100%;max-width:100%;padding:5px 5px 7px}.voice-photo-card:first-child{align-self:start;margin-top:15px;transform:rotate(2deg)}.voice-photo-card:nth-child(2){align-self:end;margin-bottom:20px;transform:rotate(-2deg)}.voice-photo-card img{height:auto;aspect-ratio:768/486;object-fit:contain}.voice-photo-card>span{font-size:8px;line-height:1.7;min-height:34px;padding-top:5px}.real-voices-visual>small{font-size:7px;bottom:5px;right:20px}.hp-site-footer .footer-brand img{max-width:260px}}
@media(max-width:350px){.top-site-header .top-header-logo img{width:245px}.network-card{padding:25px 23px}.network-card .network-count strong{font-size:42px}.network-systems{gap:10px}.scram-family .connect-name{font-size:18px}.real-voices-visual{height:265px;padding-left:14px;padding-right:14px}.real-voice-gallery{gap:10px}.voice-photo-card>span{font-size:7px;min-height:32px}}

/* Ribbon revision: wordmark references the original script logo. */
.top-site-header .top-header-logo img,.hp-site-footer .footer-brand img{aspect-ratio:425/50;height:auto;filter:url(#original-logo-gold)}
.real-voices-visual{background:radial-gradient(ellipse at 58% 48%,#f7f0e6 0%,transparent 72%)}
.real-voice-gallery{isolation:isolate;position:relative;gap:19px}
.real-voice-gallery:before{content:"";position:absolute;inset:20px 20px 20px 20px;border:1px solid #d6c0a13d;border-radius:48% 48% 45% 45%;transform:rotate(-18deg);z-index:-1;pointer-events:none}
.voice-photo-card{border-color:#ccb58e;padding:8px 8px 12px;border-radius:3px;background:#fffdf7;box-shadow:0 7px 18px #654b2917,0 1px 2px #654b2912;overflow:visible}
.voice-photo-card:before{content:"";position:absolute;left:-24px;top:-20px;width:88px;height:69px;background:url('https://www.kekkonjoho.net/_file/ja/file/203/file/1/') center/contain no-repeat;z-index:2;pointer-events:none;transform:rotate(-12deg);filter:drop-shadow(0 2px 2px #6e4d2720)}
.voice-photo-card:nth-child(2):before{transform:rotate(8deg);left:-19px;top:-17px;width:77px;height:61px}
.voice-photo-card>span{position:relative;display:block;width:calc(100% + 38px);margin:5px -19px -3px;padding:6px 15px 7px;min-height:0;background:linear-gradient(105deg,#c5a578 0%,#eee0c6 24%,#f1e7d4 64%,#c8a875 100%);color:#654838;clip-path:polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%);font-size:9px;line-height:1.7;letter-spacing:.025em;text-align:center}
.voice-photo-card>span:after{content:"";position:absolute;inset:3px 16px;border-top:1px solid #fff9ea88;border-bottom:1px solid #ac895940;pointer-events:none}
@media(max-width:1000px){.voice-photo-card:before{width:78px;height:61px;left:-21px;top:-19px}.voice-photo-card>span{font-size:8px}}
@media(max-width:640px){.real-voice-gallery{gap:18px}.real-voice-gallery:before{inset:12px 4px 18px;border-radius:45%;transform:rotate(-20deg)}.voice-photo-card{padding:6px 6px 9px}.voice-photo-card:before{width:55px;height:44px;left:-16px;top:-17px}.voice-photo-card:nth-child(2):before{width:52px;height:41px;left:-14px;top:-14px}.voice-photo-card>span{width:calc(100% + 23px);margin:5px -11.5px -2px;padding:5px 9px 6px;font-size:7px;line-height:1.8;min-height:35px;display:flex;align-items:center;justify-content:center}.voice-photo-card>span:after{inset:3px 11px}.voice-photo-card:first-child{margin-top:24px}.voice-photo-card:nth-child(2){margin-bottom:17px}}
@media(max-width:350px){.real-voice-gallery{gap:14px}.voice-photo-card>span{font-size:6.5px;min-height:35px;letter-spacing:0}.voice-photo-card:before{width:48px;height:38px;left:-13px;top:-15px}.voice-photo-card:nth-child(2):before{width:46px;height:36px;left:-12px;top:-13px}}
.voice-photo-card>span{font-size:10px}
@media(max-width:1000px){.voice-photo-card>span{font-size:9px}}
@media(max-width:640px){.voice-photo-card>span{font-size:8px}}
@media(max-width:350px){.voice-photo-card>span{font-size:7.5px}}
