/*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*/@charset "UTF-8";
:root{--brown:#402b23;--gold:#a18a58;--muted:#73747a;--line:#e6e1da;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;color:var(--brown);font-family:var(--sans);font-size:14px;background:#fbfaf8}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.symbol-defs{position:absolute;width:0;height:0;overflow:hidden}.wrap{max-width:1120px;width:calc(100% - 80px);margin:auto}.header{height:72px;background:#fff;position:relative;z-index:5}.header-inner{max-width:1120px;height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 8px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap;font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:3px}.brand svg{width:48px;height:43px;color:var(--gold);stroke-width:3}.brand small{display:block;font-family:Georgia,serif;font-size:8px;letter-spacing:3px;text-align:center;margin-top:4px}nav{display:flex;gap:24px}nav a{text-decoration:none;font-size:11px;font-weight:600;white-space:nowrap}nav a:hover{color:var(--gold)}.gold-button{background:linear-gradient(145deg,#b69e6b,#8f7544);color:white;border:0;border-radius:40px;box-shadow:inset 0 1px 3px #ffffff30;text-decoration:none;display:flex;justify-content:center;align-items:center}.gold-button:hover{background:linear-gradient(145deg,#a88e59,#7e6538)}.header-cta{padding:12px 20px;font-size:12px;gap:10px;white-space:nowrap}.header-cta svg{width:19px;height:19px}.header-cta span{font-size:22px;line-height:12px}.menu-button{display:none}.hero{height:310px;position:relative;overflow:hidden;background:linear-gradient(90deg,#faf9f6 0%,#f5f2ed 65%,#ede9e1 100%)}.hero-photo{position:absolute;top:0;left:51%;width:360px;height:100%;overflow:hidden}.hero-photo img{position:absolute;width:1290px;max-width:none;left:-696px;top:-61px}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fbfaf800 45%,transparent 74%,#f4f1eb99 100%);pointer-events:none}.hero-inner{max-width:1040px;margin:auto;position:relative;z-index:2;padding-top:32px}.eyebrow{font-family:var(--serif);letter-spacing:3px;font-size:14px;margin:0 0 15px}h1{font-family:var(--serif);font-weight:500;font-size:40px;line-height:1.35;letter-spacing:2px;margin:0 0 13px}.amp{font-size:.8em;padding-left:7px}.hero-description{font-family:var(--serif);font-size:16px;letter-spacing:1px;margin:0 0 20px}.hero-badges{display:flex;gap:25px}.hero-badges>div{display:flex;gap:10px;align-items:center;font-family:var(--serif);font-size:15px;letter-spacing:1px}.hero-badges svg{width:44px;height:44px;padding:9px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);background:#ffffffb0}.hero-message{position:absolute;z-index:2;right:3.5%;top:67px;text-align:center}.handwriting{font-family:var(--serif);font-style:italic;letter-spacing:4px;line-height:1.8;transform:rotate(-8deg);color:#777273}.hero-message .handwriting{font-size:21px}.hero-message small{font:10px/1.7 Georgia,serif;letter-spacing:1.5px;color:#8e8984}.mobile-message,.mobile-only{display:none}.benefits{display:grid;grid-template-columns:1fr 1.15fr 1.1fr;background:#fff;border-radius:7px;padding:23px 30px;margin:14px auto;box-shadow:0 4px 20px #5740280c}.benefits article{display:flex;gap:17px;padding:0 22px;border-right:1px solid #eeece9}.benefits article:last-child{border:0}.benefits h2{font:500 18px/1.6 var(--serif);margin:0 0 3px;white-space:nowrap}.benefits p{font:12px/1.7 var(--sans);color:var(--muted);margin:0}.icon-circle{display:grid;place-items:center;flex-shrink:0;width:59px;height:59px;border-radius:50%;background:#f8f5ef;color:#917442}.icon-circle svg{width:36px;height:36px}.warm-area{background:radial-gradient(ellipse at 0% 80%,#ece7dc90,transparent 35%),radial-gradient(ellipse at 100% 30%,#e8e2d77a,transparent 35%),#f5f2ed;padding:24px 0}.simulation{display:grid;grid-template-columns:40% 60%;align-items:center;margin-bottom:25px;gap:0}.simulation-intro h2{font:500 23px/1.6 var(--serif);margin:0 0 12px;letter-spacing:.5px}.simulation-intro h2 span{font-size:35px;font-style:italic}.simulation-intro p{color:var(--muted);font-size:13px;line-height:1.8;margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;margin:0;padding:0}.steps li{position:relative;background:#ffffffed;border:1px solid #efede9;border-radius:9px;min-height:166px;padding:12px 16px 12px 43px}.step-number{position:absolute;left:8px;top:-6px;font:italic 23px Georgia,serif;background:#f6f2e9;color:#8f7042;border-radius:50%;width:34px;height:34px;display:grid;place-items:center}.steps h3{font:500 14px/1.6 var(--serif);margin:0;min-height:46px}.profile-illustration{position:relative;margin:8px 0 0 -20px;display:flex;align-items:center;justify-content:center}.profile-illustration span{font:80px/1 Georgia;color:#d7d5d0;background:#f5f5f3;border:4px solid #eeedea;transform:rotate(-4deg);width:95px;height:82px}.profile-illustration i{font:53px Georgia;color:#917a56;margin-left:-18px;margin-top:25px;transform:rotate(-15deg)}.matching{display:flex;align-items:center;margin-left:-25px;margin-top:17px;gap:6px}.matching svg{color:#c0b19d;width:66px;height:66px;padding:5px;flex-shrink:0;background:#f7f4ee;border-radius:50%}.matching p{font:10px/1.6 var(--sans);margin:0}.matching strong{font:16px var(--serif);color:#947341;white-space:nowrap}.matching strong span{font:27px Georgia}.faces{position:relative;overflow:hidden;width:149px;height:82px;margin:5px 0 0 -25px}.faces img{position:absolute;width:1122px;max-width:none;top:-526px;left:-903px}.steps small{display:block;text-align:right;font-size:8px;color:#929098;margin-top:6px;white-space:nowrap}.step-arrow{position:absolute;right:-22px;top:72px;font-size:25px;color:#947e69}.steps li:last-child .step-arrow{display:none}.reservation{display:grid;grid-template-columns:29% 71%;border:1px solid #e2ded7;background:#fff;border-radius:8px;padding:16px 24px;box-shadow:0 5px 25px #66523b0a;scroll-margin-top:20px}.reservation-intro{background:linear-gradient(180deg,#f8f6f3,#fff 80%);padding:38px 22px 20px;margin-right:24px;border-radius:3px}.section-label{font:13px Georgia,serif;letter-spacing:1.5px;color:#9b7c45;margin:0 0 13px}.reservation h2{font:500 27px/1.4 var(--serif);margin:0 0 17px;color:#27221c}.line{display:block;width:36px;height:1px;background:#b4a183;margin-bottom:16px}.reservation-intro p:not(.section-label):not(.handwriting){font:13px/1.8 var(--sans);color:var(--muted);margin:0}.bouquet{position:relative;overflow:hidden;width:100%;height:145px;margin:30px 0 20px}.bouquet img{position:absolute;max-width:none;width:1122px;left:-86px;top:-871px}.reservation-intro .handwriting{font-size:16px;margin-top:12px;margin-left:3px;letter-spacing:3px}.awards{display:flex;gap:14px;text-align:center;margin-top:45px;justify-content:center;color:#8e7040}.awards>span{font:14px/1.5 var(--serif);border-left:3px double #b49a67;border-right:3px double #b49a67;border-radius:50%;padding:12px 8px}.awards strong{display:block;font:28px Georgia}.awards small{font-size:12px}.awards .many{font:22px var(--serif)}.form-area{padding:0 0 0 0}.preview-note{font-size:11px;color:#82735e;background:#f8f5ef;border-radius:3px;padding:7px 10px;margin:0 0 12px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px}.field{border:0;padding:0;margin:0;min-width:0;position:relative}.field>label,.field legend{display:block;font-size:12px;font-weight:600;color:#424047;margin:0 0 6px;padding:0}em{font-style:normal;display:inline-block;background:#a68b58;color:white;font-size:10px;font-weight:400;line-height:1.3;padding:1px 8px;border-radius:2px;margin-left:12px}input:not([type=radio]):not([type=checkbox]),select,textarea{width:100%;background:#fdfdfd;border:1px solid #d4d5db;border-radius:4px;color:#424047;padding:6px 10px;min-height:34px;font-size:12px;box-shadow:inset 0 1px 2px #00000003}input::placeholder,textarea::placeholder{color:#aaaab2}select:invalid{color:#aaaab2}input[type=radio],input[type=checkbox]{accent-color:#9d8350;width:15px;height:15px;flex-shrink:0;margin:0}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #9b7d46;outline-offset:3px}.radios{display:flex;align-items:center;gap:18px;min-height:30px;flex-wrap:wrap}.radios label{display:flex;align-items:center;gap:7px;font-size:12px;color:#55525c;white-space:nowrap}.date-field{margin-top:13px}.date-row{display:grid;grid-template-columns:2fr 1fr;gap:18px}.message-field{margin-top:14px}textarea{resize:vertical;padding-bottom:23px!important}.counter{position:absolute;bottom:9px;right:12px;font-size:10px;color:#9d9da5}.privacy{display:flex;align-items:center;gap:10px;margin:15px 0;color:#78777d;font-size:11px}.privacy label{display:flex;align-items:center;gap:8px}.text-link{color:#6b90bd;text-decoration:underline;white-space:nowrap;font-size:11px;background:transparent;border:0;padding:0}.submit-button{font:19px var(--serif);padding:13px 22px;width: min(390px,90%);margin:18px auto 0;position:relative;min-height:49px;letter-spacing:2px}.submit-button span{position:absolute;right:20px;font-size:26px}.web-note{font-size:11px;text-align:center;color:#757079;margin:6px 0}.web-note span{display:block;font-size:10px;margin-top:5px}.telephone{text-align:center}.telephone p{font-size:13px;font-weight:600;margin:0 0 4px}.telephone a{font:39px Georgia,serif;text-decoration:none;white-space:nowrap}.telephone a span{font-size:26px;color:#9c804f;margin-right:8px}.telephone small{display:block;color:#747278;font-size:11px;margin-top:5px}footer{background:linear-gradient(90deg,#eee8db,#fff 45%);padding:27px 0}.footer-inner{display:grid;grid-template-columns:28% 42% 30%;align-items:center}.footer-brand{flex-direction:column;text-align:center;font-size:19px}.footer-brand svg{width:39px;height:35px}.footer-message{padding-left:28px;border-left:1px solid #d6c9b1;font:12px/1.8 var(--serif)}.footer-message p{margin:0}.footer-message .line{margin:8px 0}.connection-note{font-size:12px;color:var(--muted)}#form-error{font-size:12px;color:#a44237}#summary{margin:20px 0}#summary dt{font-size:12px;font-weight:600;color:#8f7544;margin-top:12px}#summary dd{margin:3px 0 0;padding-bottom:8px;border-bottom:1px solid #eee;overflow-wrap:anywhere;white-space:pre-wrap}dialog{border:1px solid #d8cfbe;border-radius:10px;max-width:520px;width:calc(100% - 40px);padding:35px;color:var(--brown)}dialog::backdrop{background:#35282066}dialog h2{font:24px var(--serif)}dialog p{font-size:14px;line-height:1.8}.dialog-close{position:absolute;right:14px;top:8px;font-size:27px;border:0;background:transparent;color:#8b795a}.dialog-close-bottom{padding:10px 30px;margin:20px auto 0}[hidden]{display:none!important}
@media(min-width:1400px){.hero-photo{left:calc(50% + 15px)}.hero-message{right:calc((100% - 1180px)/2)}}
@media(max-width:1100px) and (min-width:701px){.header-inner{padding:0 25px}nav{gap:15px}.brand{font-size:19px;gap:7px}nav a{font-size:10px}.header-cta{padding:11px 14px;font-size:11px}.hero-inner{padding-left:40px}h1{font-size:33px}.hero-message{display:none}.benefits{padding:20px 12px}.benefits article{padding:0 12px;gap:10px}.benefits h2{font-size:15px}.icon-circle{width:47px;height:47px}.simulation-intro h2{font-size:19px}.steps{gap:17px}.steps li{padding-left:35px;padding-right:8px}.steps h3{font-size:12px}.step-arrow{right:-15px}.matching{margin-left:-25px}.matching svg{width:50px}.faces{width:132px}.reservation{grid-template-columns:29% 71%;padding:16px}.reservation-intro{padding:35px 10px;margin-right:20px}.reservation h2{font-size:23px}.field-grid{gap:14px 18px}.radios{gap:10px}.privacy{flex-wrap:wrap}.awards{gap:5px}.awards>span{font-size:12px;padding:10px 5px}.awards strong{font-size:23px}}
@media(max-width:700px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 32px)}.header{height:70px}.header-inner{padding:0 20px;gap:0}.brand{font-size:20px;letter-spacing:2px;gap:10px}.brand svg{width:39px;height:38px}.brand small{font-size:7px;letter-spacing:2px}.header-cta{display:none}.menu-button{display:flex;width:35px;height:38px;border:0;background:transparent;flex-direction:column;gap:7px;justify-content:center;padding:4px}.menu-button span{display:block;height:1.5px;background:#967c45;width:100%}nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 7px 15px #0001;flex-direction:column;gap:20px}nav.open{display:flex}nav a{font-size:14px}.hero{height:274px;background:#f4f1eb}.hero-photo{left:42%;width:58%;height:240px}.hero-photo img{width:1040px;left:-563px;top:-50px}.hero:after{background:linear-gradient(90deg,#faf8f4e0,transparent 64%)}.hero-inner{padding:10px 16px 0}.eyebrow{display:none}.mobile-message{display:block;font-size:16px;line-height:1.6;margin:0 0 14px 13px;letter-spacing:3px;width:180px}.hero h1{font-size:23px;letter-spacing:.5px;line-height:1.5;margin-bottom:6px}.hero-description{font-size:11px;line-height:1.7;letter-spacing:.7px;margin-bottom:10px;width:82%}.mobile-only{display:initial}.desktop-only{display:none}.hero-message{display:none}.hero-badges{gap:0;justify-content:space-around;margin-top:7px}.hero-badges>div{border:1px solid #bea068;background:#fffffff2;width:86px;height:86px;flex-direction:column;justify-content:center;gap:5px;letter-spacing:1px;font-size:13px;line-height:1.35;border-radius:50%;text-align:center}.hero-badges svg{width:30px;height:30px;padding:0;border:0;border-radius:0;background:transparent}.benefits{grid-template-columns:1fr;margin:12px auto 0;padding:6px 15px}.benefits article{padding:8px 0;gap:15px;border-right:0;border-bottom:1px solid #f1efec}.benefits h2{font-size:14px;white-space:normal;line-height:1.5;margin-bottom:2px}.benefits p{font-size:10px;line-height:1.6}.icon-circle{width:41px;height:41px}.icon-circle svg{width:27px;height:27px}.warm-area{padding:16px 0}.simulation{grid-template-columns:1fr;margin-bottom:12px}.simulation-intro{padding:0 6px}.simulation-intro h2{font-size:18px;line-height:1.65;margin-bottom:7px;letter-spacing:0}.simulation-intro h2 span{font-size:29px}.simulation-intro p{font-size:11px;line-height:1.6}.steps{grid-template-columns:1fr;gap:6px;margin-top:10px}.steps li{min-height:60px;padding:9px 25px 9px 45%;display:flex;align-items:center;border:0;position:relative}.step-number{left:13px;top:9px;width:29px;height:29px;font-size:20px}.steps h3{font-size:12px;min-height:0;line-height:1.5}.profile-illustration{position:absolute;left:22%;top:5px;margin:0}.profile-illustration span{font-size:44px;width:45px;height:43px;border-width:2px}.profile-illustration i{font-size:27px;margin-left:-6px;margin-top:10px}.matching{position:absolute;left:21%;top:4px;margin:0;gap:0}.matching svg{width:55px;height:55px}.matching p{position:absolute;left:85px;top:22px;white-space:nowrap;font-size:9px}.matching strong{font-size:14px}.matching strong span{font-size:23px}.steps li:nth-child(2){min-height:69px;align-items:flex-start;padding-top:8px}.steps li:nth-child(2) h3{position:relative;z-index:1}.faces{position:absolute;left:17%;top:6px;margin:0;width:95px;height:51px}.faces img{width:720px;left:-580px;top:-338px}.steps small{display:none}.step-arrow,.steps li:last-child .step-arrow{display:block;right:15px;top:19px;font-size:21px;color:#a18856}.reservation{grid-template-columns:1fr;padding:15px 14px;border:0}.reservation-intro{position:relative;padding:0;margin:0;background:none;min-height:87px}.section-label{font-size:10px;letter-spacing:1px;margin-bottom:5px}.reservation h2{font-size:22px;margin-bottom:6px}.reservation-intro .line,.reservation-intro>.handwriting,.awards{display:none}.reservation-intro p:not(.section-label):not(.handwriting){font-size:10px;line-height:1.6;position:relative;z-index:1;max-width:95%}.bouquet{position:absolute;right:-10px;top:-13px;width:82px;height:79px;margin:0;opacity:.85}.bouquet img{width:500px;left:-83px;top:-390px}.field-grid{gap:11px 16px}.field>label,.field legend{font-size:10px;margin-bottom:4px}em{font-size:8px;padding:1px 5px;margin-left:5px}.preview-note{font-size:9px;padding:5px 7px;margin:6px 0 10px}.radios{gap:10px;min-height:24px}.radios label{font-size:9px;gap:4px}input[type=radio],input[type=checkbox]{width:12px;height:12px}input:not([type=radio]):not([type=checkbox]),select,textarea{font-size:12px;padding:5px 7px;min-height:29px}.date-field{margin-top:9px}.date-row{grid-template-columns:1.5fr 1fr;gap:9px}.message-field{margin-top:9px}.privacy{font-size:9px;align-items:flex-start;gap:6px;flex-wrap:wrap;margin:9px 0}.privacy label{gap:6px;line-height:1.6;align-items:flex-start}.privacy input{margin-top:2px}.text-link{font-size:9px;margin-left:18px}.counter{font-size:8px}.submit-button{font-size:16px;letter-spacing:1px;min-height:40px;padding:10px 15px;width:90%;margin-top:10px}.web-note{font-size:8px;margin:4px 0}.web-note span{font-size:8px}.footer-inner{width:calc(100% - 32px);grid-template-columns:55% 45%;gap:0}.footer-brand{display:none}.telephone p{font-size:8px}.telephone a{font-size:24px}.telephone a span{font-size:17px;margin-right:4px}.telephone small{font-size:8px}.footer-message{padding-left:15px;font-size:9px}.footer-message .line,.footer-message p:last-child{display:none}footer{padding:13px 0;background:#fcfaf6}#confirmation h2{margin-top:10px}#confirmation>p{font-size:12px;line-height:1.8}#summary dt,#summary dd{font-size:12px}.connection-note{font-size:10px}dialog{padding:25px}dialog h2{font-size:20px}dialog p{font-size:12px}}
@media(max-width:370px){.hero h1{font-size:21px}.hero-badges>div{width:78px;height:78px;font-size:12px}.hero{height:264px}.brand{font-size:18px}.simulation-intro h2{font-size:16px}.radios{gap:6px}.radios label{font-size:8px}.field-grid{gap:10px}.telephone a{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero-photo img{clip-path:inset(3.85% 16.5% 76.9% 54%)}
@media(min-width:701px){.reservation-intro{padding-left:16px;padding-right:16px}.reservation-intro h2{font-size:24px;white-space:nowrap}.simulation-intro h2{font-size:21px}.simulation-intro h2 br+*{white-space:normal}}
@media(max-width:700px){.hero{height:294px}.hero-photo{height:255px}.hero-photo img{width:780px;left:-423px;top:-37px}.hero:after{background:linear-gradient(90deg,#faf8f4e0 10%,#faf8f460 43%,transparent 74%)}.hero-badges{margin-top:17px}.bouquet{height:65px}.radios{column-gap:7px;row-gap:4px}.field-grid fieldset:nth-child(7) .radios{flex-wrap:nowrap;gap:5px}.field-grid fieldset:nth-child(7) .radios label{font-size:8px;gap:3px}.telephone a{font-size:22px}}
@media(max-width:370px){.hero{height:284px}.hero h1{font-size:20px}}
.brand-logo{display:block;width:190px;height:55px;object-fit:contain;flex-shrink:0}
.footer-brand .brand-logo{width:190px;height:55px}
.hero-photo img{clip-path:inset(3.85% 20.5% 76.9% 54%)}
@media(min-width:1101px){.hero-photo{width:330px}.hero-message{right:max(24px,calc((100% - 1180px)/2));top:65px;width:210px;padding:8px 0;background:#f4f1eb;border-radius:4px}.hero-message .handwriting{font-size:20px;letter-spacing:2px;color:#66615e;margin:15px 0 22px}}
@media(max-width:700px){.brand-logo{width:180px;height:52px}.hero-photo img{clip-path:inset(3.85% 20.5% 76.9% 54%)}}

/* OWLet-generated form: fields and submission HTML remain unchanged. */
#reservation .owlet-form table,#reservation .owlet-form tbody{display:block;width:100%;border:0;margin:0}
#reservation .owlet-form tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}
#reservation .owlet-form tr{display:flex;flex-direction:column;min-width:0;border:0;margin:0;background:none;order:20}
#reservation .owlet-form th,#reservation .owlet-form td{display:block;width:100%;padding:0;border:0;background:none;text-align:left;min-width:0}
#reservation .owlet-form th{font-size:12px;line-height:1.6;font-weight:600;margin-bottom:6px;color:#402b23}
#reservation .owlet-form td{font-size:12px;line-height:1.8}
#reservation .owlet-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]):not([type=button]){width:100%;min-width:0;background:#fff}
#reservation .owlet-form input.owlet-input-name-sei,#reservation .owlet-form input.owlet-input-name-mei{width:39%!important;margin:0 5px}
#reservation .owlet-form .require{display:inline-block;margin-left:8px;background:#a18a58;color:#fff;font-size:10px;line-height:1.4;padding:1px 6px;border-radius:2px;font-style:normal}
#reservation .owlet-form tr:has([name="input[name_sei]"]){order:1}
#reservation .owlet-form tr:has([name="input[kana_sei]"]){order:2}
#reservation .owlet-form tr:has([name="input[gender]"]){order:3}
#reservation .owlet-form tr:has([name="input[age]"]){order:4}
#reservation .owlet-form tr:has([name="input[tel1]"]){order:5}
#reservation .owlet-form tr:has([name="input[mail]"]){order:6}
#reservation .owlet-form tr:has([name="input[shop]"]){order:7}
#reservation .owlet-form tr:has([name="input[way]"]){order:8}
#reservation .owlet-form tr:has([name="input[date1_date]"]){order:9;grid-column:1/-1}
#reservation .owlet-form tr:has([name="input[date2_date]"]){order:10;grid-column:1/-1}
#reservation .owlet-form tr:has([name="input[date_date]"]){order:11;grid-column:1/-1}
#reservation .owlet-form tr:has(textarea){order:12;grid-column:1/-1}
#reservation .owlet-form td label{display:inline-flex;align-items:center;gap:5px;margin-right:10px;font-size:12px}
#reservation .owlet-form .owlet-input-sample{font-size:11px;color:#777}
#reservation .owlet-form .owlet-rules{font-size:11px;line-height:1.7;margin-top:18px}
#reservation .owlet-form .owlet-rules-body{max-height:120px;overflow:auto;border:1px solid #e6e1da;padding:12px;margin:8px 0}
#reservation .owlet-form .owlet-rules-body h3{font-size:11px;font-weight:400;line-height:1.8;background:none;border:0;margin:0;padding:0}
#reservation .owlet-form input[type=button],#reservation .owlet-form input[type=submit]{display:block;max-width:410px;width:100%;min-height:48px;margin:20px auto 0;background:linear-gradient(110deg,#b7a16b,#947c48);color:#fff;border:0;border-radius:40px;font:20px/1.4 "Yu Mincho",serif;cursor:pointer}
@media(max-width:700px){#reservation .owlet-form tbody{gap:12px 14px}#reservation .owlet-form th{font-size:11px}#reservation .owlet-form td label{font-size:11px;margin-right:5px}#reservation .owlet-form input.owlet-input-name-sei,#reservation .owlet-form input.owlet-input-name-mei{width:calc(100% - 22px)!important;margin:2px 0}#reservation .owlet-form input[type=button]{font-size:17px}}
#reservation .owlet-form .require{width:auto!important;height:auto!important;white-space:nowrap;min-width:0}#reservation .owlet-form select{width:100%;min-height:36px}
@media(max-width:700px){.hero h1{font-size:clamp(17px,5.5vw,22px);letter-spacing:.03em;line-height:1.65}.hero-description{max-width:85%;font-size:10px;line-height:1.7}}

/* 2026-10-17 visual review: reserve space for text and illustrations. */
.hero-inner,.simulation-intro,.benefits article>div,.footer-message{min-width:0}
.hero h1,.simulation h2,.benefits h2,.reservation h2{word-break:normal;overflow-wrap:normal;line-break:strict;text-wrap:pretty}
@media(min-width:1101px){.hero h1{font-size:clamp(32px,3.05vw,38px);letter-spacing:1px}.hero-inner{max-width:1040px}.hero-description{font-size:15px}.hero-badges{gap:20px}}
@media(min-width:701px) and (max-width:1100px){
 .hero h1{font-size:30px;letter-spacing:0}.hero-description{font-size:13px;max-width:52%;line-height:1.8}.hero-badges{gap:12px}.hero-badges>div{font-size:12px;gap:6px}
 .benefits{grid-template-columns:repeat(3,minmax(0,1fr));padding:20px 12px}.benefits article{gap:9px;padding:0 10px}.benefits h2{white-space:normal;font-size:15px}.benefits p br{display:none}
 .simulation{grid-template-columns:1fr;gap:20px}.simulation-intro h2{font-size:23px}.simulation-intro h2 br{display:none}.simulation-intro p br{display:none}.steps li{min-height:175px}.steps h3{font-size:14px}
}
@media(max-width:900px){
 .reservation{grid-template-columns:1fr;padding:22px}.reservation-intro{padding:0;margin:0 0 20px;background:none;min-height:0}.reservation-intro h2{font-size:26px;white-space:normal}.reservation-intro .bouquet,.reservation-intro>.handwriting,.reservation-intro .awards,.reservation-intro .line{display:none}.reservation-intro p br{display:none}
 .footer-inner{grid-template-columns:1fr 1fr;gap:20px}.footer-brand{display:none}.telephone a{font-size:30px}.footer-message{font-size:12px;padding-left:20px}
}
@media(max-width:700px){
 .header-inner{padding:0 16px}.brand-logo{width:165px;height:48px}
 .hero{height:auto;min-height:0;padding-bottom:20px}.hero-inner{padding:190px 16px 0}.hero-photo{left:50%;width:50%;height:180px}.hero-photo img{width:780px;left:-423px;top:-37px}.hero:after{background:linear-gradient(90deg,#faf8f4 0%,#faf8f4c9 36%,transparent 57%);height:180px;bottom:auto}
 .mobile-message{position:absolute;top:28px;left:16px;width:45%;margin:0;font-size:14px;letter-spacing:1px;line-height:2;transform:none;text-wrap:balance}
 .hero h1{font-size:clamp(19px,5.6vw,28px);letter-spacing:0;line-height:1.6;margin-bottom:10px}.hero-description{max-width:none;width:100%;font-size:12px;line-height:1.9;letter-spacing:0;margin-bottom:16px}.hero-description br{display:none}.hero-badges{margin-top:0;gap:8px}.hero-badges>div{width:clamp(78px,23vw,100px);height:clamp(78px,23vw,100px);font-size:12px;letter-spacing:0;flex-shrink:0}
 .benefits{padding:8px 14px}.benefits article{gap:12px;padding:12px 0}.benefits h2{font-size:14px;line-height:1.7;text-wrap:balance}.benefits p{font-size:12px;line-height:1.8}.benefits p br{display:none}.icon-circle{width:38px;height:38px}
 .simulation-intro{padding:0}.simulation-intro h2{font-size:19px;line-height:1.8;text-wrap:balance}.simulation-intro p{font-size:12px;line-height:1.9}.simulation-intro p br{display:none}
 .steps{gap:10px;margin-top:16px}.steps li,.steps li:nth-child(2){display:grid;grid-template-columns:28px 80px minmax(0,1fr);grid-template-rows:auto;gap:10px;align-items:center;min-height:88px;padding:14px 10px}.step-number{position:static;grid-column:1;grid-row:1;width:28px;height:28px;align-self:start;font-size:19px}.steps h3,.steps li:nth-child(2) h3{position:static;grid-column:3;grid-row:1;font-size:12px;line-height:1.8;margin:0;min-height:0}.profile-illustration{position:static;grid-column:2;grid-row:1;margin:0}.profile-illustration span{font-size:44px;width:45px;height:43px}.matching{display:contents}.matching svg{grid-column:2;grid-row:1;position:static;width:60px;height:60px;justify-self:center}.matching p{position:static;grid-column:3;grid-row:1;padding-top:28px;white-space:normal;font-size:10px;line-height:1.7}.steps li:nth-child(2) h3{align-self:start}.matching strong{font-size:14px}.matching strong span{font-size:23px}.faces{position:relative;grid-column:2;grid-row:1;left:auto;top:auto;width:80px;height:48px;margin:0}.faces img{width:615px;left:-495px;top:-289px}.step-arrow,.steps li:last-child .step-arrow{display:none}
 .reservation{padding:18px 14px}.reservation-intro{margin-bottom:14px}.reservation h2{font-size:23px}.reservation-intro p:not(.section-label):not(.handwriting){font-size:12px;line-height:1.9;max-width:none}.preview-note{font-size:11px;line-height:1.8;padding:8px 10px}
 #reservation .owlet-form th{font-size:12px;margin-bottom:8px}#reservation .owlet-form td,#reservation .owlet-form td label{font-size:12px}#reservation .owlet-form td label{white-space:nowrap;margin:0 12px 7px 0}#reservation .owlet-form input:not([type=radio]):not([type=checkbox]),#reservation .owlet-form select,#reservation .owlet-form textarea{font-size:16px;min-height:42px}#reservation .owlet-form input[type=radio],#reservation .owlet-form input[type=checkbox]{width:16px;height:16px}#reservation .owlet-form .owlet-input-sample{font-size:11px;line-height:1.8}#reservation .owlet-form .owlet-rules{font-size:12px;line-height:1.9}#reservation .owlet-form input[type=button],#reservation .owlet-form input[type=submit]{font-size:18px;white-space:normal;padding:12px;min-height:48px}
}
@media(max-width:480px){
 #reservation .owlet-form tbody{grid-template-columns:minmax(0,1fr);gap:20px}#reservation .owlet-form input.owlet-input-name-sei,#reservation .owlet-form input.owlet-input-name-mei{width:calc(50% - 38px)!important;margin:2px 4px}
 .footer-inner{grid-template-columns:1fr;gap:18px}.telephone p{font-size:12px}.telephone a{font-size:30px}.telephone small{font-size:11px}.footer-message{border-left:0;border-top:1px solid #d6c9b1;padding:14px 0 0;text-align:center;font-size:12px}.footer-message p:last-child{display:block}.footer-message .line{display:none}footer{padding:22px 0}
}

.phrase{display:inline-block;white-space:nowrap}
@media(min-width:701px) and (max-width:1100px){.hero-photo{left:60%}.hero h1{font-size:clamp(25px,3vw,30px)}.hero-description{max-width:57%}}

.simulation-intro h2 .phrase{font:inherit;letter-spacing:inherit}

#reservation .owlet-form input.owlet-input-name-sei,#reservation .owlet-form input.owlet-input-name-mei{width:calc(50% - 40px)!important;margin:2px 4px}
@media(min-width:701px){.steps li{padding-left:50px}.simulation-intro h2 br{display:initial}}
@media(min-width:701px) and (max-width:900px){.benefits{grid-template-columns:1fr;padding:10px 22px}.benefits article{padding:14px 0;border-right:0;border-bottom:1px solid #eeece9;gap:18px}.benefits h2{font-size:17px}.benefits p{font-size:13px}.benefits article:last-child{border-bottom:0}}

@media(min-width:701px){.steps li:nth-child(2) h3{font-size:12px;white-space:nowrap;letter-spacing:0}.matching{margin-left:-35px}.matching p{font-size:9px;white-space:nowrap;flex-shrink:0}}

/* Calendar date and start-time controls generated by OWLet. */
#reservation .owlet-form td:has(input[type=date]) input[type=date]{display:inline-block;width:calc(100% - 210px);min-width:160px;margin:0 12px 6px 0;vertical-align:middle}
#reservation .owlet-form td:has(input[type=date]) select{display:inline-block;width:64px;min-height:36px;margin:0 5px 6px;vertical-align:middle}
#reservation .owlet-form td:has(input[type=date]) .owlet-input-sample{display:block;margin-top:5px}
@media(max-width:700px){#reservation .owlet-form td:has(input[type=date]) input[type=date]{display:block;width:100%;min-width:0;margin:0 0 10px}#reservation .owlet-form td:has(input[type=date]) select{width:72px;margin:0 6px 4px 0;min-height:42px}}

/* Explicit editorial line breaks requested in browser comments. */
br.requested-break{display:initial!important}
#reservation .owlet-form .owlet-input-sample{white-space:pre-line}

#reservation .owlet-form input.owlet-input-tel1,#reservation .owlet-form input.owlet-input-tel2,#reservation .owlet-form input.owlet-input-tel3{display:inline-block;width:calc((100% - 34px)/3)!important;min-width:0;margin:0 2px;padding-left:5px;padding-right:5px;text-align:center}
#reservation .owlet-form td label.email-domain-label{display:block;width:100%;margin:8px 0 0;font-size:11px;color:#73747a;white-space:normal}
#reservation .owlet-form .email-domain-choice{display:block;width:100%;margin-top:5px}

/* Optional pre-consultation questionnaire. */
#reservation .owlet-form tr:has([name^="input[survey_"]){grid-column:1/-1;order:30}
#reservation .owlet-form tr:has([name^="input[survey_source]"]){order:30}
#reservation .owlet-form tr:has([name^="input[survey_employment]"]){order:31}
#reservation .owlet-form tr:has([name^="input[survey_past_agencies]"]){order:32}
#reservation .owlet-form tr:has([name^="input[survey_difficulty]"]){order:33}
#reservation .owlet-form tr:has([name^="input[survey_comparing]"]){order:34}
#reservation .owlet-form tr:has([name^="input[survey_interest]"]){order:35}
#reservation .owlet-form tr:has([name^="input[survey_questions]"]){order:36}
#reservation .owlet-form tr:has([name^="input[survey_marital]"]){order:37}
#reservation .owlet-form tr:has([name^="input[survey_region]"]){order:38}
#reservation .owlet-form tr:has([name^="input[survey_min_age]"]){order:39}
#reservation .owlet-form tr:has([name^="input[survey_max_age]"]){order:40}
#reservation .owlet-form tr:has([name^="input[survey_education]"]){order:41}
#reservation .owlet-form tr:has([name="input[free]"]){order:50}
#reservation .owlet-form tr:has([name^="input[survey_"]) th:after,#reservation .owlet-form tr:has([name="input[free]"]) th:after{content:"任意";display:inline-block;margin-left:8px;padding:1px 6px;border-radius:2px;background:#f1eee8;color:#7b7266;font-size:10px;font-weight:400;white-space:nowrap}
#reservation .owlet-form tr:has([name^="input[survey_source]"]) th:before{content:"事前アンケート";display:block;font-size:17px;font-family:var(--serif);line-height:1.8;border-top:1px solid #e6e1da;padding-top:22px;margin:5px 0 18px}
#reservation .owlet-form tr:has([name^="input[survey_"]) textarea{height:90px;min-height:90px}
#reservation .owlet-form tr:has([name^="input[survey_"]) td label{white-space:nowrap;margin-bottom:8px}
#reservation .owlet-form tr:has([name="input[survey_min_age]"]),#reservation .owlet-form tr:has([name="input[survey_max_age]"]){grid-column:auto}

/* Address prefecture immediately below email. */
#reservation .owlet-form tr:has([name="input[address_prefecture]"]){order:7;grid-column:1/-1}
#reservation .owlet-form tr:has([name="input[shop]"]){order:8}
#reservation .owlet-form tr:has([name="input[way]"]){order:9}
#reservation .owlet-form tr:has([name="input[date1_date]"]){order:10}
#reservation .owlet-form tr:has([name="input[date2_date]"]){order:11}
#reservation .owlet-form tr:has([name="input[date_date]"]){order:12}

/* Consultation method is derived from the selected store, not shown twice. */
#reservation .owlet-form tr:has([name="input[way]"]){display:none!important}
#reservation .owlet-form tr:has([name="input[shop]"]){grid-column:1/-1}

.shared-booking-measurement-info{margin:18px 0 0;color:#73747a;font:11px/1.7 var(--sans);text-align:left}.shared-booking-measurement-info summary{cursor:pointer}.shared-booking-measurement-info p{margin:8px 0}.shared-booking-measurement-info a{color:#426b9a;text-decoration:underline}.shared-booking-measurement-info button{display:block;margin:9px 0 0;padding:5px 9px;border:1px solid #d4d5db;border-radius:4px;background:#fff;color:#62636a;font:inherit}
    
/* Booking conflict visibility 20261017 */
#reservation .shared-booking-result[data-booking-conflict="true"]{margin:20px 0!important;padding:18px 20px!important;border:2px solid #b42318!important;border-left-width:6px!important;border-radius:8px!important;background:#fff1f0!important;color:#9f1c13!important;font-size:17px!important;font-weight:700!important;line-height:1.8!important;overflow-wrap:anywhere;}
#reservation .shared-booking-result[data-booking-conflict="true"] p{margin:0!important;color:inherit!important;font-size:inherit!important;font-weight:inherit!important;}
@media(max-width:600px){#reservation .shared-booking-result[data-booking-conflict="true"]{padding:14px!important;font-size:16px!important;}}
    
/* 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;}}
    
/* Single preferred date and survey disclosure, 20261019 */
#reservation .owlet-form tr:has([name="input[date2_date]"]),#reservation .owlet-form tr:has([name="input[date_date]"]){display:none!important}
#reservation .owlet-form .reservation-survey-toggle-row{order:29;grid-column:1/-1;margin-top:12px}
#reservation .owlet-form .reservation-survey-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:54px;padding:14px 18px;border:1px solid #ded4c1;border-radius:5px;background:#f8f5ef;color:#58452e;font:500 16px/1.6 var(--serif);text-align:left;cursor:pointer}
#reservation .owlet-form .survey-toggle-symbol{font:24px/1 var(--sans);flex-shrink:0}
#reservation .owlet-form .reservation-survey-toggle:hover{background:#f1ece2}
#reservation .owlet-form tr.reservation-survey-row[hidden]{display:none!important}
#reservation .owlet-form tr:has([name^="input[survey_source]"]) th:before{display:none!important}

/* Survey invitation 20261019 */
#reservation .owlet-form .survey-toggle-copy{display:block;min-width:0}
#reservation .owlet-form .survey-toggle-copy small{display:block;margin-top:5px;font:400 12px/1.8 var(--sans);color:#7b7266;overflow-wrap:anywhere}

/* Heatmap improvement 20261019: direct input route, scoped to HP page 238. */
#top .hm-booking-action{margin:24px 0 18px;max-width:410px}#top .hm-booking-action p{font:500 13px/1.8 "Yu Gothic",Meiryo,sans-serif;margin:0 0 10px;color:#5e4b34}#top .hm-booking-button{display:flex;align-items:center;justify-content:space-between;gap:25px;max-width:340px;min-height:56px;padding:15px 24px;border-radius:32px;background:#876d42;color:#fff;text-decoration:none;font:600 15px/1.7 "Yu Gothic",Meiryo,sans-serif;box-shadow:0 5px 18px #6d51251a}#top .hm-booking-button:hover{background:#72572f}#top .hm-booking-button:focus-visible{outline:3px solid #60471e;outline-offset:4px}#top .hm-booking-action small{display:block;margin-top:10px;font-size:11px;line-height:1.8;color:#655f54}
#reservation{scroll-margin-top:24px}#reservation .hm-form-guide{margin:0 0 24px;padding:18px 20px;border:1px solid #dfd4c1;border-radius:6px;background:#f8f5ef}#reservation .hm-form-guide ol{display:flex;list-style:none;margin:0;padding:0;gap:12px;justify-content:space-between}#reservation .hm-form-guide li{display:flex;align-items:center;gap:6px;font:500 12px/1.7 "Yu Gothic",Meiryo,sans-serif;color:#665d4f}#reservation .hm-form-guide b{display:inline-flex;justify-content:center;align-items:center;border:1px solid #b5a17d;border-radius:50%;width:25px;height:25px;color:#73582e;background:#fff;flex-shrink:0}#reservation .hm-form-guide li[aria-current] b{background:#876d42;color:#fff;border-color:#876d42}#reservation .hm-form-guide p{margin:12px 0 0;font-size:12px;line-height:1.8;color:#665d4f}
@media(max-width:680px){#top .hm-booking-action{margin:20px 0 14px;max-width:100%}#top .hm-booking-action p{font-size:12px}#top .hm-booking-button{font-size:14px;min-height:52px;padding:13px 22px}#top .hm-booking-action small{font-size:10px}#reservation .hm-form-guide{padding:14px 12px;margin-bottom:20px}#reservation .hm-form-guide ol{gap:5px}#reservation .hm-form-guide li{flex-direction:column;text-align:center;flex:1;font-size:10px;gap:5px}#reservation .hm-form-guide p{font-size:11px}}

@media(min-width:681px){#top .hero{height:auto;min-height:440px}#top .hero-inner{padding-bottom:24px}}

/* Free consultation: staff, service flow, campaign and accessible booking. */
.ms-consultation2026{color:#194f46;background:#fbfaf7;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.8;letter-spacing:.03em}
.ms-consultation2026 *{box-sizing:border-box}
.ms-consultation2026 h1,.ms-consultation2026 h2,.ms-consultation2026 h3,.ms-consultation2026 p,.ms-consultation2026 figure{margin:0}
.ms-consultation2026 .ms-consult-wrap{width:calc(100% - 48px);max-width:900px;margin-left:auto;margin-right:auto}
.ms-consult-hero{background:linear-gradient(115deg,#fff 0%,#f4f5ed 65%,#e7eee4 100%);border-bottom:1px solid #e5e6dc;overflow:hidden}
.ms-consult-hero-inner{width:calc(100% - 64px);max-width:1180px;min-height:400px;margin:auto;display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:24px;padding:48px 0 38px}
.ms-consult-eyebrow{font-size:13px;letter-spacing:.16em;font-weight:600;color:#8b774d;margin-bottom:18px!important}
.ms-consultation2026 h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:42px;line-height:1.5;font-weight:600;color:#164e44;letter-spacing:.02em}
.ms-consultation2026 .ms-consult-amp{font-size:.8em;margin-left:.1em}
.ms-consultation2026 .ms-consult-subtitle{font-size:.71em;white-space:nowrap}
.ms-consult-lead{font-size:16px;line-height:1.9;margin-top:14px!important}
.ms-consult-badges{padding:0;margin:20px 0 22px;display:flex;gap:8px;flex-wrap:wrap;list-style:none}
.ms-consult-badges li{list-style:none;margin:0;padding:5px 15px;border:1px solid #d9e4d8;border-radius:30px;background:#edf2e9;font-size:13px;font-weight:600;color:#20594e;white-space:nowrap}
.ms-consult-cta{display:inline-flex;gap:24px;justify-content:center;align-items:center;min-height:50px;padding:11px 26px;color:#fff!important;background:#185b4f;border:1px solid #185b4f;border-radius:30px;font-weight:600;font-size:14px;text-decoration:none!important;transition:background .2s}
.ms-consult-cta:hover{background:#103f37}.ms-consult-cta:focus-visible{outline:3px solid #b2995b;outline-offset:4px}
.ms-consult-portraits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:end;padding-top:18px}
.ms-consult-portraits img{display:block;width:100%;height:250px;object-fit:cover;object-position:50% 38%;border-radius:100px 100px 18px 18px;background:#fff;border:3px solid #fff;box-shadow:0 8px 25px #214c4010}
.ms-consult-portraits img:nth-child(even){transform:translateY(-18px)}
.ms-consult-staff figcaption{font-size:12px;text-align:center;color:#4b7267;margin:22px 0 0;letter-spacing:.1em}
.ms-consult-flow{padding:48px 0 20px}
.ms-consultation2026 .ms-consult-section-label{text-align:center;color:#9a8150;font-size:11px;font-weight:600;letter-spacing:.22em;line-height:1.7;margin-bottom:8px}
.ms-consultation2026 h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;line-height:1.6;font-size:29px;text-align:center;color:#194f46;letter-spacing:.05em}
.ms-consult-flow-list{list-style:none;padding:0;margin:25px 0 0;display:grid;gap:12px}
.ms-consult-flow-list li{position:relative;display:flex;align-items:center;gap:24px;margin:0;padding:21px 30px;background:#f1f0e9;border-radius:12px;list-style:none}
.ms-consult-flow-list li:not(:last-child):after{content:"";position:absolute;width:1px;height:12px;background:#b6a36d;left:57px;bottom:-12px}
.ms-consult-number{display:flex;align-items:center;justify-content:center;flex:0 0 55px;width:55px;height:55px;border-radius:50%;background:#19584d;color:#fff;font-family:Georgia,serif;font-size:25px;letter-spacing:0}
.ms-consultation2026 .ms-consult-flow-list h3{font-size:20px;font-weight:600;line-height:1.5;color:#194f46;margin:0 0 5px}
.ms-consult-flow-list p{font-size:14px;line-height:1.8;color:#626762}
.ms-consult-reassurance{text-align:center;font-size:14px;line-height:1.9;margin:22px 0 0!important;color:#326b5e}
.ms-consultation2026 .ms-consult-campaign{position:relative;text-align:center;border:1px solid #b49b65;border-radius:14px;background:linear-gradient(135deg,#fff,#faf8ed);padding:25px 32px 22px;overflow:hidden;margin-top:8px;margin-bottom:40px}
.ms-consultation2026 .ms-consult-campaign h2{font-size:25px;color:#8b6b27;line-height:1.25;margin-bottom:12px}
.ms-consult-campaign h2>span{font-size:38px;letter-spacing:.03em;font-family:Georgia,serif;margin-right:6px;font-weight:500}
.ms-consult-campaign-condition{font-size:14px;color:#6e716c}
.ms-consult-discount{font-size:22px;line-height:1.5;margin:6px 0 13px!important}
.ms-consult-discount strong{font-family:Georgia,"Yu Mincho",serif;font-size:44px;font-weight:500;color:#8a6825;letter-spacing:.01em;white-space:nowrap}
.ms-consult-discount strong span{font-size:24px}
.ms-consult-transfer{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:0 8px;background:#eaf0e5;border-radius:8px;padding:9px 12px!important;font-size:16px;line-height:1.5}
.ms-consult-transfer strong{font-family:Georgia,"Yu Mincho",serif;font-size:28px;white-space:nowrap;color:#164f43}.ms-consult-transfer strong span{font-size:18px}
.ms-consult-campaign-note{font-size:12px;color:#62716a;margin-top:10px!important}
.ms-consultation2026 #reservation.ms-consult-reservation{display:block;width:calc(100% - 48px);max-width:900px;margin:0 auto;padding:0 0 55px;scroll-margin-top:24px;background:transparent;border:0;box-shadow:none}
.ms-consult-booking-heading{padding:0 0 20px;text-align:center}.ms-consult-booking-heading h2{font-size:27px}.ms-consult-booking-heading>p:last-child{color:#6c736c;font-size:14px;margin-top:6px}
.ms-consultation2026 #reservation .form-area{max-width:780px;width:100%;margin:0 auto;padding:0;background:transparent;border:0;box-shadow:none;min-width:0}
.ms-consultation2026 #reservation .owlet-form{background:transparent;padding:0;border:0;box-shadow:none;max-width:100%;width:100%;margin:0}
.ms-consultation2026 #reservation .shared-month-booking{max-width:780px!important;width:100%!important;margin:0!important;padding:26px!important;border:1px solid #ded8c9!important;border-radius:14px!important;background:#fff!important;color:#194f46!important;box-shadow:0 5px 24px #394c3610}
.ms-consultation2026 #reservation .shared-month-booking h3{display:none!important}
.ms-consultation2026 #reservation .shared-month-lead{font-size:13px!important;color:#6b736e!important;text-align:center;margin:0 0 16px!important}
.ms-consultation2026 #reservation .shared-month-steps{gap:6px;margin:0 0 22px!important}.ms-consultation2026 #reservation .shared-month-steps span{font-size:13px;padding:8px 2px;border-radius:6px;background:#f3f2ed;color:#8b8f89}.ms-consultation2026 #reservation .shared-month-steps .active{color:#fff;background:#19584d}
.ms-consultation2026 #reservation .shared-month-booking h4{font-size:16px!important;color:#194f46;margin:16px 0 9px;line-height:1.5}
.ms-consultation2026 #reservation .shared-month-nav{padding:5px 8px!important;background:#fbfaf7}.ms-consultation2026 #reservation .shared-month-nav strong{font-size:20px;color:#374e44}.ms-consultation2026 #reservation .shared-month-nav button{width:44px!important;height:44px!important;background:transparent;color:#987d43;font-size:30px}
.ms-consultation2026 #reservation .shared-month-table th{height:30px!important;font-size:12px!important;color:#777d76}
.ms-consultation2026 #reservation .shared-month-table td{height:48px!important}
.ms-consultation2026 #reservation .shared-day{height:46px!important;font-size:14px!important;touch-action:manipulation;gap:2px;border-radius:6px;color:#3d4d45}.ms-consultation2026 #reservation .shared-day i{font-size:11px}
.ms-consultation2026 #reservation .shared-day[aria-pressed=true]{background:#19584d!important;color:#fff!important}.ms-consultation2026 #reservation .shared-day[aria-pressed=true] i{color:#fff}
.ms-consultation2026 #reservation .shared-month-legend{font-size:12px;margin:7px 0 16px;color:#7b8079}
.ms-consultation2026 #reservation .shared-month-date{font-size:14px;color:#40574a;margin-bottom:10px}
.ms-consultation2026 #reservation .shared-month-times{gap:8px}
.ms-consultation2026 #reservation .shared-time{height:44px!important;font-size:14px!important;touch-action:manipulation;border-radius:6px;color:#405147}
.ms-consultation2026 #reservation .shared-time[aria-pressed=true]{background:#19584d!important;color:#fff!important;border-color:#19584d!important}
.ms-consultation2026 #reservation .shared-month-status{font-size:12px;color:#6d756b;line-height:1.7;margin:10px 0}
.ms-consultation2026 #reservation .shared-month-summary{padding:16px;border-radius:10px;background:#f6f5ed;border-color:#e5dece;margin-top:14px}.ms-consultation2026 #reservation .shared-month-summary small{font-size:12px;color:#5f7567}.ms-consultation2026 #reservation .shared-month-summary strong{font-size:21px;color:#19584d;margin:5px 0 12px}
.ms-consultation2026 #reservation .shared-month-next{background:#19584d;color:#fff;min-height:50px!important;font-size:15px!important;padding:12px!important;touch-action:manipulation}.ms-consultation2026 #reservation .shared-month-next:disabled{background:#8b9b88;opacity:.65}
.ms-consultation2026 #reservation .shared-customer-date{color:#19584d;background:#edf2e7}
.ms-consultation2026 #reservation .shared-month-back{min-height:44px;color:#19584d;border-color:#bac9b7!important}
.ms-consultation2026 #reservation input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.ms-consultation2026 #reservation select,.ms-consultation2026 #reservation textarea{font-size:16px}
.ms-consultation2026 #reservation button:focus-visible,.ms-consultation2026 #reservation input:focus-visible,.ms-consultation2026 #reservation select:focus-visible{outline:3px solid #b49b65;outline-offset:2px}
.ms-consult-mobile-break{display:none}
@media(max-width:900px){.ms-consult-hero-inner{max-width:720px;grid-template-columns:1fr;gap:28px;padding:32px 0 25px;text-align:center}.ms-consultation2026 h1{font-size:40px}.ms-consult-badges{justify-content:center}.ms-consult-staff{max-width:560px!important;width:100%;margin:auto!important}.ms-consult-portraits img{height:230px}.ms-consult-booking-heading h2{font-size:25px}}
@media(max-width:600px){.ms-consultation2026 .ms-consult-wrap{width:calc(100% - 32px)}.ms-consult-hero-inner{width:calc(100% - 32px);padding:28px 0 20px;gap:22px;min-height:0}.ms-consult-eyebrow{font-size:11px;margin-bottom:12px!important}.ms-consultation2026 h1{font-size:31px;line-height:1.5;letter-spacing:0}.ms-consultation2026 .ms-consult-subtitle{font-size:.67em}.ms-consult-lead{font-size:14px;margin-top:13px!important}.ms-consult-mobile-break{display:block}.ms-consult-badges{gap:6px;margin:17px 0}.ms-consult-badges li{font-size:11px;padding:4px 10px}.ms-consult-cta{font-size:13px;min-height:46px;padding:10px 25px}.ms-consult-portraits{gap:5px;padding-top:12px}.ms-consult-portraits img{height:158px;border:2px solid #fff;border-radius:80px 80px 12px 12px;object-position:center 38%}.ms-consult-portraits img:nth-child(even){transform:translateY(-12px)}.ms-consult-staff figcaption{font-size:10px;margin-top:13px;letter-spacing:.05em}.ms-consult-flow{padding:32px 0 20px}.ms-consultation2026 .ms-consult-section-label{font-size:9px;margin-bottom:6px}.ms-consultation2026 h2{font-size:23px}.ms-consult-flow-list{margin-top:19px;gap:10px}.ms-consult-flow-list li{gap:13px;padding:16px 13px;border-radius:9px}.ms-consult-number{width:42px;height:42px;flex-basis:42px;font-size:21px}.ms-consult-flow-list li:not(:last-child):after{left:34px;height:10px;bottom:-10px}.ms-consultation2026 .ms-consult-flow-list h3{font-size:16px;margin-bottom:5px;letter-spacing:0}.ms-consult-flow-list p{font-size:12px;line-height:1.8}.ms-consult-reassurance{font-size:12px;margin-top:18px!important}.ms-consultation2026 .ms-consult-campaign{padding:20px 12px 17px;margin-top:0;margin-bottom:30px;border-radius:10px}.ms-consultation2026 .ms-consult-campaign h2{font-size:19px;margin-bottom:11px}.ms-consult-campaign h2>span{font-size:30px}.ms-consult-campaign-condition{font-size:12px}.ms-consult-discount{font-size:16px;margin:5px 0 12px!important}.ms-consult-discount strong{font-size:33px}.ms-consult-discount strong span{font-size:17px}.ms-consult-transfer{font-size:13px;gap:0 4px;line-height:1.6;padding:8px!important}.ms-consult-transfer strong{font-size:23px}.ms-consult-transfer strong span{font-size:15px}.ms-consult-campaign-note{font-size:10px}.ms-consultation2026 #reservation.ms-consult-reservation{width:calc(100% - 24px);padding-bottom:35px}.ms-consult-booking-heading{padding:0 6px 18px}.ms-consultation2026 .ms-consult-booking-heading h2{font-size:21px;letter-spacing:0;max-width:320px;margin:auto;line-height:1.6}.ms-consult-booking-heading>p:last-child{font-size:12px;margin-top:8px}.ms-consultation2026 #reservation .shared-month-booking{padding:14px 10px!important;border-radius:10px!important}.ms-consultation2026 #reservation .shared-month-lead{font-size:11px!important;margin-bottom:14px!important}.ms-consultation2026 #reservation .shared-month-steps{gap:4px;margin-bottom:17px!important}.ms-consultation2026 #reservation .shared-month-steps span{font-size:10px;padding:7px 1px}.ms-consultation2026 #reservation .shared-month-booking h4{font-size:14px!important}.ms-consultation2026 #reservation .shared-month-nav strong{font-size:17px}.ms-consultation2026 #reservation .shared-month-nav button{height:40px!important}.ms-consultation2026 #reservation .shared-month-table th{font-size:11px!important}.ms-consultation2026 #reservation .shared-day{font-size:12px!important;height:44px!important}.ms-consultation2026 #reservation .shared-month-table td{height:46px!important}.ms-consultation2026 #reservation .shared-month-times{gap:6px}.ms-consultation2026 #reservation .shared-time{font-size:12px!important;height:44px!important}.ms-consultation2026 #reservation .shared-month-date{font-size:12px}.ms-consultation2026 #reservation .shared-month-legend,.ms-consultation2026 #reservation .shared-month-status{font-size:10px}.ms-consultation2026 #reservation .shared-month-summary{padding:12px}.ms-consultation2026 #reservation .shared-month-summary strong{font-size:17px}.ms-consultation2026 #reservation .shared-month-next{font-size:13px!important;min-height:48px!important}}
@media(max-width:350px){.ms-consultation2026 h1{font-size:27px}.ms-consult-portraits img{height:136px}.ms-consultation2026 .ms-consult-flow-list h3{font-size:14px}.ms-consultation2026 .ms-consult-booking-heading h2{font-size:19px}}

/* 2026-10-31: palette only; existing layout, field sizes and booking states stay intact. */
.ms-consultation2026 #reservation{--gold:#185b4f;--brown:#194f46;--muted:#5c7065;--rf-green:#185b4f;--rf-ink:#194f46;--rf-sage:#eaf0e5;--rf-ivory:#fbfaf7;--rf-border:#c7d8c8;color:#354d45;background:#fbfaf7}
.ms-consultation2026 #reservation .owlet-form form{color:#354d45}
.ms-consultation2026 #reservation .owlet-form th,.ms-consultation2026 #reservation .owlet-form td,.ms-consultation2026 #reservation .owlet-form label{color:#354d45!important}
.ms-consultation2026 #reservation .owlet-form th{background:transparent!important}
.ms-consultation2026 #reservation .owlet-form .require,.ms-consultation2026 #reservation .owlet-form em{background:#185b4f!important;color:#fff!important}
.ms-consultation2026 #reservation .owlet-form tr:has([name^="input[survey_"]) th:after,.ms-consultation2026 #reservation .owlet-form tr:has([name="input[free]"]) th:after{background:#eaf0e5;color:#365c4b}
.ms-consultation2026 #reservation .owlet-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]):not([type=button]):not([type=submit]),.ms-consultation2026 #reservation .owlet-form select,.ms-consultation2026 #reservation .owlet-form textarea{background-color:#fff!important;border-color:#c7d8c8!important;color:#354d45!important;box-shadow:none}
.ms-consultation2026 #reservation .owlet-form input::placeholder,.ms-consultation2026 #reservation .owlet-form textarea::placeholder{color:#738579}
.ms-consultation2026 #reservation .owlet-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3 5 4 4 4-4' fill='none' stroke='%23185b4f' stroke-width='1.5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 9px center!important;background-size:14px!important}
.ms-consultation2026 #reservation .owlet-form input[type=radio],.ms-consultation2026 #reservation .owlet-form input[type=checkbox]{accent-color:#185b4f!important}
.ms-consultation2026 #reservation .owlet-form input:focus-visible,.ms-consultation2026 #reservation .owlet-form select:focus-visible,.ms-consultation2026 #reservation .owlet-form textarea:focus-visible,.ms-consultation2026 #reservation .owlet-form button:focus-visible,.ms-consultation2026 #reservation .owlet-form a:focus-visible{outline:2px solid #185b4f!important;outline-offset:3px}
.ms-consultation2026 #reservation .owlet-form .reservation-survey-toggle{background:#eaf0e5!important;border-color:#c7d8c8!important;color:#194f46!important}
.ms-consultation2026 #reservation .owlet-form .reservation-survey-toggle:hover{background:#dfeadb!important}
.ms-consultation2026 #reservation .owlet-form .survey-toggle-copy small,.ms-consultation2026 #reservation .owlet-form .owlet-input-sample{color:#5c7065!important}
.ms-consultation2026 #reservation .owlet-form .owlet-rules-title{color:#185b4f!important;font:600 13px/1.8 "Yu Gothic",Meiryo,sans-serif!important;text-align:center;margin:0 0 8px!important;padding:0!important;background:none!important;border:0!important}
.ms-consultation2026 #reservation .owlet-form .owlet-rules-body{border-color:#c7d8c8!important;background:#fff!important;color:#354d45!important;scrollbar-color:#8ba48d #f0f4eb}
.ms-consultation2026 #reservation .owlet-form .ms-reservation-rules-copy{font-size:11px;font-weight:400;line-height:1.8;background:none;border:0;margin:0;padding:0;color:#354d45}
.ms-consultation2026 #reservation .owlet-form .ms-reservation-rules-copy strong{color:#194f46}
.ms-consultation2026 #reservation .owlet-form a{color:#185b4f}
.ms-consultation2026 #reservation .owlet-form input[type=button],.ms-consultation2026 #reservation .owlet-form input[type=submit],.ms-consultation2026 #reservation .shared-booking-result button{background:#185b4f!important;border-color:#185b4f!important;color:#fff!important;box-shadow:none}
.ms-consultation2026 #reservation .owlet-form input[type=button]:hover,.ms-consultation2026 #reservation .owlet-form input[type=submit]:hover{background:#124b40!important}
.ms-consultation2026 #reservation .shared-month-nav button{color:#185b4f!important}
.ms-consultation2026 #reservation .shared-month-summary,.ms-consultation2026 #reservation .shared-customer-date{background:#eaf0e5!important;border-color:#c7d8c8!important}
.ms-consultation2026 #reservation .shared-month-back{background:#fbfaf7!important;border-color:#c7d8c8!important;color:#185b4f!important}
.ms-consultation2026 .ms-consult-booking-heading .ms-reservation-title-main,.ms-consultation2026 .ms-consult-booking-heading .ms-reservation-title-end{display:inline-block;white-space:nowrap}
@media(max-width:700px){.ms-consultation2026 .ms-consult-booking-heading .ms-reservation-title-end{display:block}}
