/*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;--rose:#bc9091;--green:#738e80;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.95 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;height:auto}a:focus-visible,button:focus-visible,summary:focus-visible,[role=tabpanel]:focus-visible{outline:2px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}.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)}.data-wrap{max-width:1080px;width:calc(100% - 80px);margin-inline:auto}.data-page h1,.data-page h2,.data-page h3{font-family:var(--serif);font-weight:500}.data-page h2{font-size:32px;line-height:1.8;letter-spacing:.06em;margin:15px 0 20px}.data-page h3{font-size:21px;line-height:1.7;margin:15px 0}.data-page p{margin:0 0 20px}.eyebrow{font:11px/1.8 Georgia,serif;color:var(--gold);letter-spacing:.18em}.breadcrumb{font-size:10px;color:var(--muted);padding-top:25px}.breadcrumb span{margin:0 16px;color:#b9aa94}.section-space{padding-top:90px;padding-bottom:90px}.data-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:65px;align-items:center;padding-top:65px;padding-bottom:75px}.hero-copy h1{font-size:42px;letter-spacing:.055em;line-height:1.9;margin:25px 0}.hero-copy h1 em{font-style:normal;color:var(--gold)}.hero-copy>p:not(.eyebrow){font-size:13px;line-height:2.2;color:#7a6c5b}.data-button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--gold);color:white;border:1px solid var(--gold);border-radius:40px;padding:15px 25px;font-size:12px;transition:background .2s}.data-button:hover{background:#80683f}.data-button span{font-size:20px}.hero-copy .data-button{margin-top:10px}.hero-data{position:relative;padding:27px 30px;background:linear-gradient(130deg,#f3eee2,#eae2d0);border:1px solid #e0d4bc;border-radius:130px 130px 8px 8px;text-align:center}.hero-data:before{content:"";position:absolute;inset:10px;border:1px solid #fff9ee;border-radius:125px 125px 5px 5px;pointer-events:none}.hero-caption{display:flex;flex-direction:column;gap:8px;margin:24px 0;color:#9b8051}.hero-caption>span:first-child{font:10px Georgia;letter-spacing:.17em}.hero-caption>span:last-child{font:italic 12px Georgia}.hero-meetings{border-bottom:1px solid #d8c9ad;padding-bottom:22px}.hero-meetings>p{font-size:12px;margin:15px 0 6px}.hero-meetings strong{font:80px/1.2 Georgia;color:#806a45;display:block;letter-spacing:-.03em}.hero-meetings strong small{font:18px var(--serif);margin-left:6px;letter-spacing:0}.hero-meetings>span{font-size:9px;color:#8b7a60}.hero-periods{display:grid;grid-template-columns:1fr 1fr;padding:20px 0 10px;gap:15px}.hero-periods>div+div{border-left:1px solid #d8c9ad}.hero-periods small{display:block;font-size:9px;color:#82745f}.hero-periods b{font:44px/1.5 Georgia;color:#95805b}.hero-periods>div+div b{color:#a7797a}.hero-periods b span{font-size:20px;margin-left:3px}.hero-periods b i{font:15px var(--serif);margin-right:3px}.hero-footnote{font-size:9px;line-height:1.8;color:#8b7a60;margin:0!important}.data-nav{border-block:1px solid var(--line);background:#fffefa}.data-nav>.data-wrap{display:grid;grid-template-columns:repeat(4,1fr);padding:19px 0}.data-nav a{font-size:12px;text-align:center;border-right:1px solid #dfd1b9}.data-nav a:last-child{border:0}.data-nav a:hover{color:var(--gold)}.heading-row{display:flex;gap:50px;justify-content:space-between;align-items:end;margin-bottom:42px}.heading-row h2{margin-bottom:0}.heading-row>p{font-size:12px;color:var(--muted);margin-bottom:8px}.network-section{background:#f1ede5}.network-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.network-card{border:1px solid #d9cdb7;border-radius:6px;background:#fffdf8;padding:33px 35px}.network-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.network-heading>span{font:42px Georgia;color:var(--gold)}.network-heading>small{font-size:11px;color:#9a8b76}.network-card.scram .network-heading>span{color:#768676}.network-combination{display:flex;gap:15px;align-items:center;margin:25px 0 20px}.network-combination span{font:15px Georgia;padding:8px 17px;border:1px solid #d7d3c5;border-radius:30px}.network-combination i{font-style:normal;color:#ae9b77}.network-intro{font-size:12px;color:#8c806d;margin:24px 0 19px!important;min-height:50px}.network-total{margin:10px 0 0!important;display:flex;align-items:baseline;gap:8px}.network-total strong{font:55px/1.2 Georgia;color:#82704e;letter-spacing:-.02em}.network-total small,.network-total span{font-size:12px;color:#988568}.network-card time{font-size:10px;display:block;color:#97866d;margin:8px 0 24px}.network-card>p:last-child{font-size:12px;line-height:2;color:#7e7160;margin-bottom:0}.network-note{margin-top:28px;border-top:1px solid #daceba;padding-top:20px;display:grid;grid-template-columns:170px 1fr;gap:25px}.network-note b{font-size:11px;font-weight:500;color:#98805a}.network-note p{font-size:10px;color:#8b7d67;line-height:2;margin:0}.profile-tabs{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid #cdbc9a;margin:0 0 30px;gap:4px}.profile-tabs button{border:0;background:transparent;padding:16px 5px;color:#8c7a60;font-size:12px;cursor:pointer;border-radius:4px 4px 0 0}.profile-tabs button[aria-selected=true]{background:var(--gold);color:#fff}.profile-tabs button:hover:not([aria-selected=true]){background:#eee7d9}.panel-heading{text-align:center;padding:17px 0 25px}.panel-heading h3{font-size:25px;margin:8px 0 14px}.panel-heading p{font-size:12px;color:var(--muted);margin-bottom:0}.chart-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.chart-card{padding:27px;background:#fffefa;border:1px solid #e1d8c7;border-radius:6px}.chart-card>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:25px}.network-label{font:28px Georgia;color:#9b8051}.chart-card.scram .network-label{color:#728373}.chart-card header small{font-size:9px;display:block;color:#97866e}.chart-card time{font-size:10px;color:#95846b}.chart-scale{display:flex;justify-content:space-between;font:9px Georgia;color:#ab9a7f;margin-bottom:20px}.bar-chart{list-style:none;margin:0;padding:0}.bar-chart li{margin:0 0 21px}.bar-chart li>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;font-size:12px}.bar-chart b{font:23px/1.3 Georgia;white-space:nowrap;color:#7c6a4d}.bar-chart b small{font:10px var(--sans);margin-left:3px}.bar-track{height:9px;background:#f0eade;border-radius:5px;overflow:hidden}.bar-track>i{display:block;height:100%;background:#b4a079;border-radius:5px}.chart-card.scram .bar-track>i{background:#a1afa0}.bar-chart .highlight{background:#ece5d8;padding:13px 10px;border-radius:3px;margin-inline:-10px}.bar-chart .highlight .bar-track>i{background:#7f6b45}.bar-chart .highlight>div:first-child>span{color:#7d6741}.gender-visual{display:flex;align-items:center;gap:25px;justify-content:center;padding:15px 0 30px}.donut{width:185px;height:185px;border-radius:50%;background:conic-gradient(var(--gold) calc(var(--value)*1%),var(--rose) 0);position:relative;flex-shrink:0;display:grid;place-items:center}.donut:before{content:"";position:absolute;inset:22px;background:#fffefa;border-radius:50%}.donut>span{position:relative;font:22px Georgia;color:#967f56}.donut>span>small{display:block;font:9px/2 var(--sans);text-align:center;letter-spacing:.08em;color:#9f907a}.gender-values{display:flex;flex-direction:column;gap:20px}.gender-values>div{font-size:10px;white-space:nowrap}.gender-values i{display:inline-block;width:7px;height:7px;background:var(--gold);border-radius:50%;margin-right:7px}.gender-values>div+div i{background:var(--rose)}.gender-values strong{display:block;font:35px/1.5 Georgia;color:#8c754c}.gender-values>div+div strong{color:var(--rose)}.gender-values strong small{font-size:16px}.data-table{border-top:1px solid var(--line);font-size:11px}.data-table summary{cursor:pointer;padding:14px 0;color:#8d7c5f}.data-table table{width:100%;border-collapse:collapse;margin:6px 0 20px;font-size:11px}.data-table caption{font-size:9px;text-align:left;padding:10px 0;color:#968266}.data-table td,.data-table th{padding:9px 5px;border-bottom:1px solid var(--line);font-weight:400;text-align:left}.data-table td,.data-table th:last-child{text-align:right}.chart-source{font-size:9px;color:#a08d70;margin:10px 0 0!important}.chart-source a{border-bottom:1px solid #d8c6a6}.small-note{font-size:10px;color:#948066;margin-top:20px!important}.data-reading{display:grid;grid-template-columns:105px 1fr;gap:25px;margin-top:28px;border-top:1px solid var(--line);padding-top:20px}.data-reading>span{font:10px Georgia;color:var(--gold);letter-spacing:.08em}.data-reading p{font-size:10px;line-height:2;color:#94836a;margin:0}.results-section{background:#eee8dc}.section-heading{margin-bottom:35px}.section-heading>p:last-child:not(.eyebrow){font-size:12px;color:#827461}.meeting-result{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;background:#fffdf6;border:1px solid #dbcdb3;padding:40px;border-radius:5px;align-items:center}.meeting-result h3{font-size:25px;margin-bottom:20px}.meeting-period{font-size:10px;color:#948064;margin-bottom:0!important}.meeting-result .eyebrow{font-family:var(--sans);font-size:11px}.meeting-total{text-align:center;border-left:1px solid #d9c9ab}.meeting-total>strong{font:80px/1.3 Georgia;color:#92794f}.meeting-total>strong>span{font:18px var(--serif);margin-left:6px}.meeting-total>p{font-size:11px;color:#9b886a;margin:12px 0 0}.meeting-total b{font:20px Georgia;color:#88704c}.meeting-total i{font-style:normal;margin:0 13px}.duration-heading{margin:55px 0 30px}.duration-heading h3{font-size:27px;margin:10px 0 15px}.duration-heading>p:last-child{font-size:12px;color:#8c7b61}.duration-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.duration-grid>article{display:grid;grid-template-columns:1fr 150px;gap:15px;background:#fffdf7;padding:30px;border:1px solid #e1d3b9;border-radius:5px;align-items:center}.metric-label{font-size:10px;letter-spacing:.08em;color:#9b8051}.duration-copy h3{font-size:15px;margin:10px 0}.big-percent{font:70px/1.3 Georgia;color:#9b8051;margin:8px 0!important}.big-percent small{font:18px var(--serif);margin-right:4px}.big-percent>span{font-size:30px}.big-percent.rose{color:#b48688}.duration-exact{font-size:9px;color:#998364;line-height:2;margin-bottom:0!important}.duration-exact b{font-weight:500}.duration-donut{width:150px;height:150px;display:grid;place-items:center;border-radius:50%;position:relative}.duration-donut:before{content:"";position:absolute;inset:19px;border-radius:50%;background:#fffdf7}.admission{background:conic-gradient(#9b8051 32.7%,#c2ae86 32.7% 59.2%,#e7e1d5 59.2%)}.dating{background:conic-gradient(#bc9091 81%,#e7e1d5 0)}.duration-donut>span{position:relative;font:13px var(--serif);text-align:center;color:#9a8057}.duration-donut small{font:22px Georgia;display:block;margin-top:5px}.duration-legend{grid-column:1/-1;margin:15px 0 0;padding:15px 0 0;border-top:1px solid #e6dccb;list-style:none}.duration-legend li{display:flex;align-items:center;gap:8px;font-size:10px;margin:10px 0;color:#8a785d}.duration-legend b{margin-left:auto;font:15px Georgia;font-weight:400}.duration-legend i{width:7px;height:7px;border-radius:50%;background:#9b8051}.duration-legend li:nth-child(2) i{background:#c2ae86}.duration-legend li:nth-child(3) i{background:#e7e1d5}.dating-legend li:first-child i{background:#bc9091}.dating-legend li:nth-child(2) i{background:#e7e1d5}.result-note{margin:28px 0;padding-left:18px;border-left:2px solid #b49e74}.result-note>b{font-size:12px;font-weight:500;color:#846b44}.result-note p{font-size:10px;color:#948167;line-height:2;margin:8px 0 0}.inline-link{font-size:12px;border-bottom:1px solid #bfa780;padding-bottom:5px;display:inline-block}.inline-link:hover{color:var(--gold)}.ibj-award{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;padding:30px;background:#eee8dc;border:1px solid #ddd0b7;border-radius:5px;align-items:center}.ibj-award>img{width:100%;display:block}.ibj-award h3{font-size:25px;margin:4px 0 12px;color:#80673f}.ibj-award h3>strong{font:65px Georgia;margin-right:8px}.ibj-award>div>p:not(.eyebrow){font:18px/1.9 var(--serif);margin-bottom:15px}.ibj-award small{font-size:9px;color:#968367}.tms-title{display:flex;gap:24px;align-items:baseline;margin-top:38px}.tms-title h3{font:23px Georgia}.tms-title p{font-size:10px;color:#9c896c}.tms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:15px}.tms-grid article{border-top:1px solid var(--line);padding-top:25px;text-align:center}.tms-grid img{display:block;width:180px;max-width:80%;margin:auto;border-radius:3px}.tms-grid h3{font-size:19px;margin-bottom:8px}.tms-grid p{font-size:11px;color:#967d55;margin:0}.tms-grid b{font-weight:500;display:block}.sources-section{border-top:1px solid var(--line);padding-top:20px;padding-bottom:30px}.sources-section>details>summary{font-size:12px;padding:14px 0;color:#8e7c61;cursor:pointer}.sources-section details>div{padding:15px 0 10px}.sources-section p,.sources-section dl{font-size:11px;color:#8c7b65}.sources-section dl>div{display:grid;grid-template-columns:160px 1fr;padding:10px 0;border-bottom:1px solid var(--line)}.sources-section dd{margin:0}.data-cta{text-align:center;padding:80px 0;background:radial-gradient(ellipse at center,#e9dfcb,transparent 75%)}.data-cta>div>p:not(.eyebrow){font-size:12px;color:var(--muted)}.data-cta .data-button{margin:10px 0 20px;min-width:290px}.cta-tel{font:28px Georgia;display:block;margin:14px 0 8px}.data-cta small{font-size:10px;color:var(--muted)}
@media(max-width:1000px){.data-wrap{width:calc(100% - 64px)}.data-hero{gap:35px}.hero-copy h1{font-size:34px}.hero-data{padding:25px 22px}.hero-meetings strong{font-size:65px}.hero-periods{gap:10px}.hero-periods small{font-size:8px}.hero-periods b{font-size:38px}.hero-footnote{font-size:8px}.network-card{padding:28px}.network-total strong{font-size:47px}.network-combination{gap:9px}.network-combination span{padding:8px 12px;font-size:12px}.chart-card{padding:22px}.chart-card>header{align-items:start}.gender-visual{gap:18px}.donut{width:140px;height:140px}.donut:before{inset:18px}.gender-values strong{font-size:30px}.meeting-result{padding:30px;gap:25px}.meeting-total>strong{font-size:65px}.duration-grid>article{grid-template-columns:1fr 105px;gap:10px;padding:25px}.duration-donut{width:105px;height:105px}.duration-donut:before{inset:14px}.duration-donut>span{font-size:10px}.duration-donut small{font-size:18px}.duration-copy h3{font-size:13px}.big-percent{font-size:60px}.ibj-award{gap:30px}}
@media(max-width:640px){.preview-notice{font-size:9px;padding:6px 10px}.preview-notice span{display:block;margin:0}.preview-notice a{display:none}.data-wrap{width:calc(100% - 40px)}.breadcrumb{padding-top:20px;font-size:9px}.data-hero{grid-template-columns:1fr;gap:35px;padding-top:35px;padding-bottom:45px}.hero-copy h1{font-size:clamp(24px,7.5vw,34px);letter-spacing:.025em;line-height:1.85;margin:20px 0}.hero-copy>p:not(.eyebrow){font-size:12px}.eyebrow{font-size:9px}.data-button{font-size:11px;padding:14px 23px;gap:35px}.hero-data{padding:20px 22px;border-radius:110px 110px 6px 6px}.hero-data:before{border-radius:105px 105px 4px 4px}.hero-caption{margin:24px 0 20px}.hero-caption>span:first-child{font-size:9px}.hero-meetings strong{font-size:70px}.hero-meetings>p{font-size:11px}.hero-meetings>span{font-size:8px}.hero-periods small{font-size:8px;line-height:1.9}.hero-periods b{font-size:37px}.hero-footnote{font-size:8px}.data-nav>.data-wrap{grid-template-columns:1fr 1fr;padding:0}.data-nav a{padding:13px 4px;font-size:10px}.data-nav a:nth-child(2){border-right:0}.data-nav a:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-space{padding-block:60px}.data-page h2{font-size:25px;letter-spacing:.025em}.heading-row{display:block;margin-bottom:30px}.heading-row>p{font-size:11px;margin-top:20px}.network-grid{grid-template-columns:1fr;gap:18px}.network-card{padding:25px}.network-heading>span{font-size:35px}.network-heading>small{font-size:9px}.network-combination{gap:10px}.network-combination span{font-size:13px;padding:7px 14px}.network-total strong{font-size:49px}.network-card>p:last-child{font-size:11px}.network-note{grid-template-columns:1fr;gap:10px}.network-note p{font-size:9px}.profile-tabs{grid-template-columns:repeat(3,1fr);gap:4px;border:0}.profile-tabs button{font-size:11px;border:1px solid #e0d5c2;border-radius:4px;padding:12px 3px}.profile-tabs button[aria-selected=true]{border-color:var(--gold)}.panel-heading{padding:0 0 25px;text-align:left}.panel-heading h3{font-size:21px;line-height:1.8;margin-top:0}.panel-heading p{font-size:11px}.chart-pair{grid-template-columns:1fr;gap:20px}.chart-card{padding:23px}.network-label{font-size:27px}.chart-card time{font-size:9px}.gender-visual{gap:22px;padding:10px 0 20px}.donut{width:150px;height:150px}.gender-values strong{font-size:32px}.chart-card>header{margin-bottom:22px}.bar-chart li>div:first-child{font-size:11px;gap:8px}.bar-chart b{font-size:22px}.bar-chart li{margin-bottom:22px}.chart-source{font-size:8px}.data-reading{grid-template-columns:1fr;gap:10px}.data-reading p{font-size:9px}.meeting-result{grid-template-columns:1fr;padding:25px;gap:24px}.meeting-result h3{font-size:22px}.meeting-period{font-size:9px}.meeting-total{border-left:0;border-top:1px solid #d9c9ab;padding-top:22px}.meeting-total>strong{font-size:68px}.meeting-total>p{font-size:10px}.meeting-total b{font-size:18px}.meeting-total i{margin:0 8px}.duration-heading{margin-top:40px}.duration-heading h3{font-size:24px}.duration-heading>p:last-child{font-size:11px}.duration-grid{grid-template-columns:1fr;gap:20px}.duration-grid>article{padding:23px;grid-template-columns:1fr 105px;gap:10px}.duration-copy h3{font-size:13px}.duration-exact{font-size:8px}.big-percent{font-size:61px}.result-note>b{font-size:11px}.result-note p{font-size:9px}.ibj-award{grid-template-columns:1fr;padding:20px;gap:25px}.ibj-award h3{font-size:24px}.ibj-award h3>strong{font-size:60px}.ibj-award>div>p:not(.eyebrow){font-size:17px}.ibj-award small{font-size:9px}.tms-title{display:block;margin-top:35px}.tms-title h3{font-size:23px;margin-bottom:12px}.tms-title p{font-size:10px;margin:0}.tms-grid{grid-template-columns:1fr;gap:26px;margin-top:25px}.tms-grid article{display:grid;grid-template-columns:110px 1fr;text-align:left;gap:8px 22px;padding-top:24px}.tms-grid img{width:110px;max-width:100%;grid-row:1/3}.tms-grid h3{font-size:19px;align-self:end;margin:0}.tms-grid p{font-size:11px;align-self:start}.tms-grid b{margin-top:5px}.sources-section dl>div{grid-template-columns:1fr;gap:5px}.sources-section p,.sources-section dl{font-size:10px}.sources-section>details>summary{font-size:11px}.data-cta{padding:55px 0}.data-cta .data-button{min-width:0;width:100%;max-width:300px}.data-cta>div>p:not(.eyebrow){font-size:11px}}
@media(max-width:350px){.gender-visual{gap:16px}.donut{width:125px;height:125px}.donut:before{inset:16px}.gender-values strong{font-size:29px}.chart-card{padding:20px}.duration-grid>article{grid-template-columns:1fr 90px;padding:20px;gap:8px}.duration-donut{width:90px;height:90px}.duration-donut:before{inset:12px}.big-percent{font-size:53px}.big-percent small{font-size:15px}.duration-copy h3{font-size:11px}.network-combination{gap:8px}.network-combination span{font-size:11px;padding:7px 11px}.network-total strong{font-size:45px}.hero-meetings strong{font-size:65px}}
@media(prefers-reduced-motion:reduce){*,*: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}}
