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