@charset "utf-8";

/* 
00 reset
01 書式設定
02 formカスタム
03 margin padding 各種
04 レイアウト
05 header
06 footer
07 drawerメニュー
08 共通パーツ系

-- PCview用
*/

.xdebug-var-dump {
	position: relative;
	bottom: 0;
	right: 0;
	z-index: 9999;
	background: rgba(255,255,0,.8);
	padding: 15px;
	border: 1px solid;
	text-align: left;
}

.kill{
	pointer-events: none;
	position: relative;
	overflow: hidden;
}
.kill::before{
	width: 100%;
	height: 100%;
	content: '';
	display: block;
	position: absolute;
	background: rgba(0,0,0,.65);
	top: 0;
	left: 0;
	z-index: 9999;
}

/* 00 reset
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
body,
table,
input, textarea, select, option {
	font-family: HiraKakuProN-W3;
	font-size: 1em;
}
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {list-style: none;}
blockquote, q {quotes: none;}
:focus {outline: 0;}
ins {text-decoration: none;}
del {text-decoration: line-through;}

a{
	-webkit-tap-highlight-color:rgba(50,35,240,0.6);
	text-decoration: none;
	color: #444;
}
a:link{color: #006ddd;}
a:visited{}
a:hover{}
a:active{}
img{vertical-align:top;}

/* 01 書式設定
------------------------------------------------------------*/
/* テキストの位置 */
.txt-left 	{text-align: left;}
.txt-center {text-align: center;}
.txt-right 	{text-align: right;}

.bold{font-weight: bold !important;}
.serif{font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN W3", "Yu Mincho Medium", "游明朝 Medium", serif;}

/* 02 formカスタム
------------------------------------------------------------*/
/*
textarea {
	width: 100% ;
	height: 100px ;
	margin-bottom: 10px ;
}*/
input[type="text"],textarea,select {
	color: #5a5c63;
	font-size: 100% ;
	width: 100% ;
	padding: 3px ;
	border: 1px solid #c4b8b7;
	/*-webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2) inset ;*/
	-webkit-box-sizing: border-box;
}

input[type="text"] {
	padding: 5px;
	vertical-align: middle;
	font-size: 1.24rem;
}
input[type="text"][disabled]{
	background:#dcdcdc !important;
	cursor:not-allowed;
}
textarea {
	height: 8rem;
	padding: 5px;
	font-size: 1.24rem;
	resize:vertical;
}

/* select
-> .slct > select
---------------------------------------*/
.slct{
	display: inline-block;
	position: relative;
}
.slct::before{
	content:'';
	position: absolute;
	top:50%;
	right:8px;
	margin:-5px 0 0 0;
	width:0;
	height:0;
	border-style: solid;
	border-width:7px 4px 0 4px;
	border-color:#333 transparent transparent transparent;
	pointer-events: none;
}
select {
	padding: 5px 25px 5px 5px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 1.24rem;
	background-color: #fff;
}
select::-ms-expand {
	display: none;
}

/* radio checkbox
-> label > input+[span[.rb||.cb] || div[.rb||.cb]]
---------------------------------------*/
input[type="checkbox"],
input[type="radio"]{display: none;}
label{
	cursor: pointer;
	display: block;
}
label > span,
label > div{
	padding-left: 30px;
	position: relative;
	display: block;
}
label .cb:before{
	content: "";
	width: 20px;
	height: 20px;
	margin-top: -10px;
	display: block;
	position: absolute;
	top: 50%;
	left: 5px;
	border-radius: 3px;
	background: #fff;
	border: 1px solid #c7bbba;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
label input:checked + .cb:after{
	content: "";
	width: 5px;
	height: 12px;
	margin-top:-9px; 
	display: block;
	position: absolute;
	top: 50%;
	left: 11px;
	transform: rotate(40deg);
	border-width: 0 3px 3px 0;
	border-style: solid;
	border-color: #ef8e92;
}
/*label input:checked + .cb:after{border-color: #f12b5e;}*/

label .rb:before{
	content: "";
	width: 20px;
	height: 20px;
	margin-top: -10px;
	display: block;
	position: absolute;
	top: 50%;
	left: 5px;
	border-radius: 50%;
	background: #e1e0e0;
	border: 1px solid #cbc0bf;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	
}
label input:checked + .rb:before{background: #f6f8fc; border: 1px solid #cbc0bf;}
label input:checked + .rb:after{
	content: "";
	width: 10px;
	height: 10px;
	margin-top:-5px; 
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
	border-radius: 50%;
	background: #51504f;
}
label > div > span{
	display: block;
	font-size: .75rem;
}

/* 03 margin padding 各種
-------------------------------------------------------*/
.mb3 {margin-bottom:3px;}
.mb5 {margin-bottom:5px;}
.mb10 {margin-bottom:10px;}
.mb15 {margin-bottom:15px;}
.mb20 {margin-bottom:20px;}
.mb25 {margin-bottom:25px;}
.mb30 {margin-bottom:30px !important;}
.mb35 {margin-bottom:35px;}
.mb40 {margin-bottom:40px;}
.mb50 {margin-bottom:50px;}

.ml10 {margin-left:10px;}
.ml15 {margin-left:15px;}
.ml20 {margin-left:20px;}
.ml25 {margin-left:25px;}
.ml30 {margin-left:30px;}

.mr10 {margin-right:10px;}
.mr15 {margin-right:15px;}
.mr20 {margin-right:20px;}
.mr25 {margin-right:25px;}
.mr30 {margin-right:30px;}

.mt5 {margin-top:5px;}
.mt10 {margin-top:10px;}
.mt15 {margin-top:15px;}
.mt20 {margin-top:20px;}
.mt25 {margin-top:25px;}
.mt30 {margin-top:30px;}

.mtb10{margin: 10px 0;}
.mtb30{margin: 30px 0;}

/* padding
-------------------------------------------------------*/
.pAll5 {padding:5px;}
.pAll10 {padding:10px;}
.pAll20 {padding:20px;}

.ptb3 {padding: 3px 0;}
.plr5 {padding: 0 5px;}
.plr10 {padding: 0 10px;}
.ptb10 {padding: 10px 0;}
.ptb20 {padding: 20px 0;}

.pt5 {padding-top:5px;}
.pt10 {padding-top:10px;}
.pt15 {padding-top:10px;}
.pt20 {padding-top:20px;}
.pt25 {padding-top:25px;}
.pt30 {padding-top:30px;}

.pl5 {padding-left:5px;}
.pl10 {padding-left:10px;}
.pl15 {padding-left:15px;}
.pl20 {padding-left:20px;}
.pl25 {padding-left:25px;}
.pl30 {padding-left:30px;}

.pr5 {padding-right:5px;}
.pr10 {padding-right:10px;}
.pr15 {padding-right:10px;}
.pr20 {padding-right:20px;}
.pr25 {padding-right:25px;}
.pr30 {padding-right:30px;}

.pb10 {padding-bottom:10px;}
.pb15 {padding-bottom:15px;}
.pb20 {padding-bottom:20px;}
.pb25 {padding-bottom:25px;}
.pb30 {padding-bottom:30px;}


/* 04 レイアウト
------------------------------------------------------------*/
/*

基本サイズ12px	基本サイズ13px	基本サイズ14px	基本サイズ16px
10px 	 84%			10px 	 77%			10px 	 72%			10px 	 63%
11px 	 92%			11px 	 85%			11px 	 79%			11px 	 69%
12px 	100%			12px 	 93%			12px 	 86%			12px 	 75%
13px 	109%			13px 	100%			13px 	 93%			13px 	 81%
14px 	117%			14px 	108%			14px 	100%			14px 	 88%
15px 	125%			15px 	116%			15px 	108%			15px 	 94%
16px 	134%			16px 	124%			16px 	115%			16px 	100%
17px 	142%			17px 	131%			17px 	122%			17px 	106%
18px 	150%			18px 	139%			18px 	129%			18px 	113%
19px 	159%			19px 	147%			19px 	136%			19px 	119%
20px 	167%			20px 	154%			20px 	143%			20px 	125%
21px 	175%			21px 	162%			21px 	150%			21px 	131%
22px 	184%			22px 	170%			22px 	158%			22px 	138%
23px 	192%			23px 	177%			23px 	165%			23px 	144%
24px 	200%			24px 	185%			24px 	172%			24px 	150%
25px 	209%			25px 	193%			25px 	179%			25px 	156%
26px 	217%			26px 	200%			26px 	186%			26px 	163%
-------------------------------------------------------*/
html, body {
	height: 100%;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
html{font-size: 12px;}
body{
	text-align: center;
	line-height: 1.5;
	font-size:12px;
	font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, sans-serif;
	-webkit-text-size-adjust: none;
	color:#444;
	background: #faf8f6;
}
#wrapper {
	min-width:320px;
	min-height: calc(100vh - 71px);
	padding-top: 71px;
	display: flex;
	flex-direction: column;
	text-align:left;
	background: #faf8f6;
}
#wrapper.ind {
	background: #faf2ed;
}
#approved {
	min-width:320px;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	text-align:left;
}
#approvedFoot{
	/*padding: 0 0 30px;*/
	margin: 10px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	background: #fff;
	font-size: 10px;
	gap :5px;
}
section {flex: 1;}
#innerbox{background: #fff;}

/* 05 header
------------------------------------------------------------*/
.stash header {
	transform: translateY(-100%);
}
.open header {
	transform: translateY(0);
}
header {
	min-width: 320px;
	width: 100%;
	background: #faf8f6;
	border-bottom: 1px solid #abaaaa;

	position: fixed;
	top: 0;
	left: 0;
	transition: transform 0.3s ease;
	z-index: 1000;
	will-change: transform;
}
header #hdInner{
	max-width: 800px;
	height: 60px;
	padding: 5px 10px;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
}
header #hdInner h1{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
}
header #hdInner h1.ev_period img{
	padding-right: 5px;
	width: auto;
	height: 52px;
}
@media (max-width: 374px){
	header #hdInner h1.ev_period img{
		padding-right: 3px;
		width: auto;
		height: 41px;
	}
}
header #hdInner ul{
	display: -webkit-flex;
	display: flex;
	flex-flow: row-reverse wrap;
}
header #hdInner ul li a{
	height: 52px;
	padding: 35px 5px 0;
	text-decoration: none;
	font-size: .84rem;
	color: #333;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
}

/* メニューbtn
------------------------------------------ */
header #nvBtn{
	position: relative;
	margin-left: 15px;
}
header #nvBtn a{
	min-width: 52px;
	padding-top: 31px;
	text-align: center;
	position: relative;
}
header #nvBtn .navText{
	display: block;
}
header #nvBtn .closeText{
	display: none;
}
header #nvBtn .navIcon {
	width: 40%;
	height: 1px;
	background-color: #333;
	border-radius: 2px;
	position: absolute;
	top: 11px;
	left: 30%;
	box-sizing: border-box;
	text-indent: -9999px;
}
header #nvBtn .navIcon:before,
header #nvBtn .navIcon:after{
	width: 100%;
	height: 1px;
	display: block;
	content: '';
	background-color: #333;
	border-radius: 2px;
	position: absolute;
	left: 0;
}
header #nvBtn .navIcon:before {top: 5px;}
header #nvBtn .navIcon:after {top: 10px;}
body.open header #nvBtn .menuText{
	display: none;
}
body.open header #nvBtn .closeText{
	display: block;
}
body.open header #nvBtn .navIcon{
	background-color: transparent;
	top: 16px;
}
body.open header #nvBtn .navIcon:before,
body.open header #nvBtn .navIcon:after{
	top: 0;
	width: 80%;
	left: 10%;
}
body.open header #nvBtn .navIcon:before{
	transform: rotate(45deg);
}
body.open header #nvBtn .navIcon:after{
	transform: rotate(-45deg);
}

/* 検討中btn
------------------------------------------ */
header #nvBtn a,
header #nvCsd a{
	color:#333;
	opacity: 0;
	transition: opacity .35s ease;
}
header #nvBtn a{
	text-align: center;
}
header #nvCsd a{
	background-image: url(../img/common/hd_keep.png);
	-webkit-background-size: 16px 15px;
	background-size: 16px 15px;
	background-repeat: no-repeat;
	background-position: 50% 10px;
	position: relative;
	text-align: center;
}
header #nvCsd a.hasKeep{
	background-image: url(../img/common/hd_keep_on.png);
}
header #nvBtn a.keepReady,
header #nvCsd a.keepReady{
	opacity: 1;
}
header #nvCsd span{
	min-width: 1.2em;
	line-height: 1.2em;
	position: absolute;
	top: 2px;
	right: 2px;
	padding: 3px;
	background: #f26896;
	border-radius: 4em;
	color: #fff;
	font-weight: bold;
}

/* 06 footer
------------------------------------------------------------*/
footer {
	width: 100%;
	padding: 10px;
	text-align: left;
	background: #fff;
	border-top: 2px solid #ebe7e6;
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
footer small,
footer small a{color: #8e8e8e !important;}

footer #pagetop{
	margin: 15px 0 40px;
}
footer #pagetop a{
	width: max(180px, 50%);
	color: #545454;
	background: #fff;
	display: inline-block;
	font-size: 1.2em;
	border: 1px solid #c99b9c;
	border-radius: 100px;
	margin: 0 auto;
	padding: 8px 10px;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
footer #pagetop a:before{
	content: '';
	width: 13px;
	height: 8px;
	background-image: url(../img/icon/icn_arr_top.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	-webkit-background-size: 13px 8px;
	background-size: 13px 8px;
	display: inline-block;
}
footer #ftLogo{text-align: center;}
footer #ftNav{
	margin: 30px auto 20px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
}

#ftNav li{
	width: 30%;
	box-sizing: border-box;
	text-align: center;
	position: relative;
}

#ftNav li:nth-child(-n+3){
}
#ftNav li:not(:nth-child(3n))::after{
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 1px;
	height: 1em;
	background: #d1c1be;
	transform: translateY(-50%);
}
#ftNav li a{
	display: block;
	padding: 4px 8px;
	color: #7c7c7c;
}
#ft18{
	text-align: center;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
	color: #c99b9c;
	margin-bottom: 20px;
}
#ft18 span{padding-top: 5px;}
#copyright{
	padding-top: 20px;
	text-align: center;
	color: #000;
	font-size: .84rem;
}
#copyright a{
	color: #000;
	text-decoration: none;
}
#copyright p span{display: block;}
#copyright{
    margin-left: calc(((100vw - 100%) / 2) * -1);
    margin-right: calc(((100vw - 100%) / 2) * -1);
    padding: 20px;
    text-align: center;
    color: #909090;
    background: #faf2ed;
    font-size: .84rem;
}
#copyright a{
	color: #000;
	text-decoration: none;
}
#copyright p span{display: block;}



/* #### フローティング要素（TEL/MAIL/検討中リスト）
---------------------------------------*/
#flm-placeholder {height: 0;}
#flm{
	width: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 999;
	background: rgba(0,0,0,0.85);
}
#detfunc{
	width: 100%;
	padding: 5px;
	display: flex;
	flex-flow: row nowrap;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	gap: 4px;
}
#detfunc li{flex:1 1 0;}
#detfunc li a{
	padding: 5px 0;
	border-radius: 5px;
	font-size: .92rem;
	text-decoration: none;
	text-align: center;
	background: #fff;
	border-radius: 8px;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	justify-content: flex-end;
	align-items: center;
	gap :3px;
}
#detfunc li a::before{
	width: 32px;
	height: 32px;
	content: '';
	display: block;
	background-position: 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	background-repeat: no-repeat;
}
#detfunc li#fltTEL a::before{background-image: url(../img/icon/icn_phone.png);}
#detfunc li#fltFORM a::before{background-image: url(../img/icon/icn_form.png);}
#detfunc li#fltLINE a::before{background-image: url(../img/icon/icn_line.png);}
#detfunc li#fltMAIL a::before{background-image: url(../img/icon/icn_mail.png);}
#detfunc li#fltADD a::before{background-image: url(../img/icon/icn_pin.png);}
#detfunc li#fltADD a.already{}


/* #### モーダル要素（各ページ応募送信用）
---------------------------------------*/
.remodal-wrapper:has(#remodalPost){
	padding: 0;
	margin: 0;
}
#remodalPost{
	padding: 0 !important;
	overflow: hidden;
}
#remodalPost button{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0 10px;
	appearance: none;
	border-radius: 8px;
}
.postWrapper{
	text-align: center;
	font-size: .88rem;
}
.postWrapper h1{
	position: relative;
	color: #fff;
	background: #575757;
	padding: 10px 0;
	font-size: 1.38rem;
	line-height: 1.38rem;
}
.postClose{
	color: #fff;
	background: #575757 !important;
}
@media (min-width: 375px){
	.postWrapper h1 p{
		margin-right: -24px;
	}
}
.postWrapper h1 .postClose{
	position: absolute;
	top: calc(50% - .75em);
	right: 0;
}
.postWrapper h1 .postClose span::before,
.postWrapper h1 .postClose span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 3px;
	height: 15px;
	background: #fff;
	border-radius: 4px;
}
.postWrapper h1 .postClose span::before {
	transform: translate(-50%,-50%) rotate(40deg);
}
.postWrapper h1 .postClose span::after {
	transform: translate(-50%,-50%) rotate(-40deg);
}
.postClose span{
	position: relative;
	padding-left: 10px;
	font-size: 1.0rem;
}
.postWrapper > div > .postClose{
	margin-top: 20px !important;
	padding: 5px 30px 5px 40px !important;
}
.postWrapper > div > .postClose span{padding-left: 15px;}
.postWrapper > div > .postClose span::before,
.postWrapper > div > .postClose span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 3px;
	height: 20px;
	background: #fff;
	border-radius: 4px;
}
.postWrapper > div > .postClose span::before {
	transform: translate(-50%,-50%) rotate(45deg);
}
.postWrapper > div > .postClose span::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}

.postCont{padding: 20px 10px;}
.postShopInfo dt{
	font-size: 1.2rem;
	font-weight: bold;
}
.postShopInfo dd a{
	pointer-events: none;
	color: #333;
	text-decoration: none;
}
.postShopInfo .dis{display: none !important;}
#postCharge{line-height: 1.3em;}
.postTell{
	font-weight: bold;
	text-align: center;
	padding: 10px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap :3px;
}
.postTell::before{
	content: '';
	width: 66px;
	height: 55px;
	background-image: url(../img/others/post_maddy.png);
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	display: block;
	flex: 0 0 66px;
}
.postTell > div{text-align: left;}
.postTell > div p{
	display: inline-block;
	color: #ed4a4a;
	font-size: 1.17rem;
	text-indent: -.5em;
}
.postTell > div p span{
	display: inline-block;
	font-size: 1rem;
	color: #333;
}

.postLink{
	background: #fff3e9;
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	padding: 15px 0;
}
.postLink label{
	font-size: 1.1em;
	font-weight: bold;
	display: inline-block;
}
.postLink > span{color: #ff0000;}
.postLink .postLinkBtn{
	margin-top: 10px;
	padding: 10px;
	border-radius: 8px;
	color: #fff;
	background: #fe7d56;
	width: 90%;
	box-sizing: border-box;
	text-decoration: none;
	font-size: 1.3rem;
	font-weight: bold;
}
.postLink .postLinkBtn.dis{
	pointer-events: none;
	background: #9f9f9f;
}
.postLink .postLinkBtn span{
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	gap :5px;
	pointer-events: none;
}
.postLink .postLinkBtn span::before{
	content: '';
	display: block;
	width: 32px;
	height: 32px;
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
#postLinkTel span::before{background-image: url("/img/others/post_icn_tel.png");}
#postLinkLine span::before{background-image: url("/img/others/post_icn_line_on.png");}
#postLinkLine.dis span::before{background-image: url("/img/others/post_icn_line_off.png");}
#postLinkMail span::before{background-image: url("/img/others/post_icn_mail.png");}


.postAge{margin-bottom: 5px;}
.postClip{margin: 20px 0;}
.postClip p{font-size: .85rem;}
.clipCopy{
	padding: 10px 20px !important;
	border-radius: 8px !important;
	color: #fff !important;
	background: #00b100 !important;
	width: 90%;
	box-sizing: border-box;
	font-size: 1.3rem;
	font-weight: bold;
}
.clipCopy.dis{
	pointer-events: none;
	background: #9f9f9f !important;
}
.clipCopy#clipMail{font-size: 1.05rem;}
.clipCopy span{
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	gap :5px;
	pointer-events: none;
}
.clipCopy span::before{
	content: '';
	display: block;
	width: 18px;
	height: 22px;
	background-image: url("/img/others/post_icn_copy_w.png");
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.copydata{display: none;}

#mailBtnSub{
	width: 86%;
	margin: 20px auto 30px;
	padding: 3px;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none;
	font-size: .85rem;
	display: block;
	border-radius: 6px;
	background: #a7f5a7;
	color: #333;
}
#mailBtnSub span{
	font-size: .7rem;
	display: block;
	color: #0075ff;
	pointer-events: none;
}
#mailBtnSub.dis{
	background: #9f9f9f;
	color: #fff;
}
#mailBtnSub.dis span{color: #fff;}

.postEx h2{
	font-size: 1.0rem;
	color: #333;
	background: #95e395;
	padding: 5px 0;
	border-radius: 6px 6px 0 0;
}
.postEx > div{
	padding: 10px;
	border: 2px solid #95e395;
	border-radius: 0 0 6px 6px;
	background: #f5fff5;
}
.postEx ol{
	padding-bottom: 10px;
	display: inline-block;
	text-align: left;
}
.postEx ol li span{
	padding: 3px 0 3px 20px;
	color: #00b100;
	background: url("/img/others/post_icn_copy_g.png") 5px 50%/13px 15px no-repeat;
}
.postExText{
	pointer-events: none;
	text-align: left;
	margin: 0;
	padding: 10px 0;
	color: #333;
	font-size: 0.8rem;
	line-height: 1.2rem;
	white-space: break-spaces;
	background: none;
	border: none;
	height: auto;
	border-top: 2px solid #95e395;
	border-radius: 0;
}
.clipEx{
	color: #00b100;
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.clipEx span{
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	gap :5px;
}
.clipEx span::before{
	content: '';
	display: block;
	width: 19px;
	height: 22px;
	background-image: url("/img/others/post_icn_copy_g.png");
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}

.postStaff{
	margin: 20px 10px 0;
	border-bottom: 1px solid #906f3c;
}
.postStaff h3{
	color: #906f3c;
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}
.postStaff h3::before,
.postStaff h3::after {
	content: "";
	height: 1px;
	flex-grow: 1;
	background-color: #906f3c;
}
.postStaff h3::before {margin-right: 1rem;}
.postStaff h3::after {margin-left: 1rem;}
.postStaff img{
	display: block;
	margin: 0 auto;
}
.postStaff > span{
	display: inline-block;
	padding-top: 5px;
}
.postStaff > p{line-height: 1.0em;}
.postStaff > p span{
	font-size: 1.1rem;
	font-weight: bold;
}
.postStaff > div{
	display: inline-block;
	text-align: left;
	padding: 15px 10px;
	line-height: 1.2em;
}

/* 07 drawerメニュー
------------------------------------------------------------*/

/* drawerメニュー（動作用）
---------------------------------------*/
.open {
	position: fixed;
	width: 100%;
	height: 100%;
}
.open #overlay{
	z-index: 10000;
	display: block;
	opacity: 1;
}
.open #drawer{
	-webkit-transform: translate3d(0, 0 ,0);
	transform: translate3d(0, 0 ,0);
	opacity: 1;
	pointer-events: inherit;
}
#drawer{
	width: 100%;
	min-width: 320px;
	-webkit-transform: translate3d(0, -16px ,0);
	transform: translate3d(0, -16px ,0);
	transition:
		opacity 0.2s ease-in-out,
		transform 0.2s ease-in-out
	;
	opacity: 0;
	pointer-events: none;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	
	position: fixed;
	z-index: 10001;
	top: 70px;
	left: 0;
	right: 0;
	text-align: left;
	white-space: nowrap;
	background: #faf8f6;
}
#overlay{
	width: 100%;
	height: calc(100vh - 70px);
	background: rgba(0,0,0,0.3);
	position: fixed;
	top: 70px;
	left: 0;
	z-index: -999;
	opacity: 0;
	text-indent: -9999px;
	transition: opacity .2s;
}
#ftPrfs,
#ads{display: none;}

/* -- PCview用
-------------------------------------------------------------------------------- */
@media screen and (min-width: 960px) {
	html,body{font-size: 12px;}
	body{position: static;}
	body.open{
		overflow: hidden;
	}
	#drawer{
		width: 375px;
		min-width: 375px;
		left: auto;
		right: 0;
		top: 71px;
		height: calc(100vh - 71px);
		-webkit-transform: translate3d(100%, 0 ,0);
		transform: translate3d(100%, 0 ,0);
	}
	#overlay{
		width: calc(100vw - 375px);
		height: calc(100vh - 71px);
		top: 71px;
		left: 0;
		background: rgba(0,0,0,0.28);
	}
	.open #overlay{
		display: block;
		opacity: 1;
		z-index: 10000;
		top: 71px;
		height: calc(100vh - 71px);
	}
	#wrapper {
		min-height: calc(100vh - 71px);
		padding-top: 71px;
		align-items: center;
	}
	#approved{
		align-items: center;
	}
	section {
		width: 100%;
		max-width: 800px;
		position: relative;
	}
	#innerbox{
		width: 660px;
		margin: 0 auto;
		background: transparent;
	}

	header #hdInner ul li a{
		width: 60px;
		height: 60px;
		padding: 40px 5px 0;
	}
	header #nvBtn a{
		padding-top: 38px;
	}
	header #nvBtn .navIcon{top: 16px;}
	body.open header #nvBtn .navIcon{top: 21px;}
	header #nvCsd a{background-position: 50% 15px;}
	#copyright p span{display: inline;}


	#ftInner{
		max-width: 800px;
		height: 60px;
		margin: 0 auto;
		padding: 10px 0;
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}

	footer{
		font-size: 12px;
		background: #faf2ed;
	}
	footer #ftLogo{
		padding-top: 10px;
	}
	#ftMenus {
		width: 100%;
		display: -webkit-flex;
		display: flex;
		flex-flow: row nowrap;
		justify-content: flex-start;
		align-items: flex-start;
	}
	footer #ftMenus #ftNav{
	    width: 100%;
		margin: 0;
	}
	#ftNav li {
		width: 16%;
	}
	#ftNav li a {
		font-size: 1.17rem;
	}
	#ftNav li:not(:last-child)::after {
		content: "";
		position: absolute;
		right: 0;
		top: 50%;
		width: 1px;
		height: 1em;
		background: #d1c1be;
		transform: translateY(-50%);
	}
	#ft18{
		position: absolute;
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		margin: 0;
		bottom: 5px;
		right: 35px;
	}
	#copyright{
		font-size: 10px;
		margin: 0;
		padding: 0;
		position: absolute;
		bottom: 15px;
		left: 280px;
	}
	footer #pagetop{
		display: none;
	}

	#ftcaps{
		width: 680px;
		margin: 0 auto 15px;
		text-align: left;
	}
	#ftcaps dt span{
		display: inline-block;
		content: '';
		width: 11px;
		position: relative;
	}
	#ftcaps dt span,
	#ftcaps dt span::before,
	#ftcaps dt span::after {
		display: none;
	}
	#ftcaps dd{
		padding: 0;
		display: block;
	}
}

/* drawerメニュー
---------------------------------------*/
#drawerInner{
	height: calc(100vh - 70px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
#mainNav{padding-bottom: 80px;}
#mainNav li{border-top: 1px solid #cbb9b5;}
#mainNav li > span,
#mainNav li > a{
	display: block;
	padding: 15px 5px 15px 20px;
	color: #444;
	text-decoration: none;
	background-repeat: no-repeat;
	background-position: 10px 50%;
	-webkit-background-size: 20px 18px;
	background-size: 20px 18px;
	cursor: pointer;
	position: relative;
	font-size: 1.17rem;
}
#mainNav .arR::after{
	border-color: #d1a4a5;
	border-width: 1px 0 0 1px;
	right: 14px;
}
#mainNav .drw_lv3 .arR::after{
	width: 6px;
	height: 6px;
	margin-top: -2px;
	border-width: 1px 0 0 1px;
}
.drw_lv1{background: #e7dbd8; text-indent: 1.5rem;}
.drw_lv2{background: #f0e6e3; text-indent: 3rem; border-top: 1px solid #cbb9b5;}
.drw_lv3{background: #f7efed; text-indent: 4.5rem; border-top: 1px solid #cbb9b5;}
.drw_lv4{background: #fcf6f4; text-indent: 6rem;}
#mainNav li .drw_lv2 p:not(:first-child) {border-top: 1px solid #cbb9b5;}
#mainNav li .drw_lv3 a{font-weight: normal; display: block;}
#mainNav li .drw_lv4 a{font-weight: normal; font-size: 1rem;}

#mainNav li.navTop{
	background: url(/img/icon/icn_home.png) 20px 50%/20px 18px no-repeat;
}
#mainNav li.navTop a{
	padding: 15px 5px 15px 45px;
}
.navSearch{
	position: relative;
	font-size: 1.17rem;
}
.navSearch::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 12px;
	width: 9px;
	height: 9px;
	margin-top: -7px;
	border-right: 1px solid #545454;
	border-bottom: 1px solid #545454;
	transform: rotate(45deg);
}
.navSearch.act::before{
	margin-top: -1px;
	transform: rotate(-135deg);
}

.state{
	padding: 15px 5px 15px 20px;
	color:#444;
	position: relative;
}
.state.acd::before {
	content: '';
	position: absolute;
	width: 9px;
	height: 1px;
	background-color: #ca9698;
	top: 50%;
	right: 12px;
}
.state.acd::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 12px;
	width: 9px;
	height: 1px;
	background-color: #ca9698;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.state.acd.act::after {display: none;}
.state a{color: #444;}
a.evn{pointer-events: none;}

#nvConsider{padding: 10px 15px;}
#nvConsider a{
    width: 70%;
    margin: 0 auto;
    padding: 10px 25px !important;
	background: #ca9698;
	border-radius: 50px;
	text-align: center;
	color: #fff !important;
	font-size: 1.25rem !important;
	font-weight: bold !important;
	display: flex !important;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	gap: 5px;
}
#nvConsider a::before{
	content: '';
	width: 20px;
	height: 22px;
	background-image: url(../img/common/nav_keep.png);
	-webkit-background-size: 20px 22px;
	background-size: 20px 22px;
	background-repeat: no-repeat;
	background-position: 0 0;
	display: block;
}
#nvConsider a.arR::after{
	border-color: #333 !important;
}
#nvTwt a{
	position: relative;
	display: flex !important;
	align-items: center;
	flex-flow: row nowrap;
	gap :5px;
}
#nvTwt a::before{
	content: '';
	width: 30px;
	height: 30px;
	background-size: 30px 30px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	background-image: url(../img/common/nav_x.png);
}
#nvTwt.ext::after{
	margin-top: -5px;
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	background-image: url(../img/icon/icn_ext.png);
}
#nvTwt{border-bottom: 1px solid #cbb9b5;}

#drawer ul#mainNav li.spbanner{text-align: center; border: none;}
#drawer ul#mainNav li.spbanner a{padding: 5px;}
#drawer ul#mainNav li.spbanner a img{
	max-width: 200px;
	width: 100%;
	height: auto;
}
@media screen and (350px >= width) {
	#drawer ul#mainNav li.spbanner a img{
		max-width: calc(60vw - 10px);
	}
}
@media screen and (min-width: 960px) {
	#overlay{
		top: 110px;
		height: calc(100vh - 110px);
	}
	#drawerInner{
		width: 375px;
		height: calc(100vh - 71px);
	}
}

/* 08 共通パーツ系
------------------------------------------------------------*/
.chk_link{cursor: pointer;}

.flx{
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 3px;
	padding: inherit;
}

/* レゾン通知
-----------------------------------*/
#hatavoice{
	position: absolute;
	display: block;
	width: 100%;
	margin: 0 auto;
	background: rgba(202, 150, 152, .75);
	top: 71px;
	left: 0;
	z-index: 999;
	text-align: left;
}
#hatavoice > div{
	padding: 5px;
	font-size: 1.15em;
	text-align: left;
	cursor:pointer;
	display: block;
	color: #fff;
}
#hatavoice > div span{
	display: inline-block;
	padding: 1px 3px;
	margin-right: 5px;
	background: #fff;
	border-radius: 2px;
	color: #ca9698;
	font-size: .75em;
}
#mdBox {text-align: left !important;}

/* index副見出し
-----------------------------------*/
.hd {
	padding: 5px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 1.5rem;
	font-weight: normal;
}
.hd::before,
.hd::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 1px;
	background-color: #333;
	margin: 0 10px;
}

/* ページタイトル
-----------------------------------*/
.hdImg{
	padding: 20px 0;
	text-align: center;
}
.pagehead{
	padding: 15px;
	text-align: center;
	font-size: 1.34rem;
	font-weight: bold;
}

/* 副見出し
-----------------------------------*/
.sub_hd{
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 5px;
	color: #444;
}
/*.sub_hd::before{
	content: '.';
	width: 4px;
	border-radius: 4px;
	background: #bdc6f1;
	display: block;
	text-indent: -9999px;
}*/
h3.sub_hd{margin-bottom: 10px; font-size: 1.17rem;}

.sbox{padding: 15px 10px !important;}
.banner{margin: 10px 0; text-align: center;}
.banner a{display: inline-block;}
.banner img{
	width: 100%;
	max-width: 365px;
	height: auto;
}
.more,.linkbtn{padding: 5px 15px;}
.more a,
.linkbtn a,
.more label.btn,
.linkbtn label.btn,
.linkbtn button,
.linkbtn input[type="submit"]{
	padding: 10px 20px;
	text-align: center;
	text-decoration: none;
	font-size: 1.34rem;
	border: 1px solid #d2d2d2;
	border-radius: 30px;
	display: block;
	position: relative;
	color: #444;
	background: #fff;
	cursor: pointer;
}
.more a::after,
.more label.btn::after{
	content: '';
	width: 16px;
	height: 8px;
	margin-top: -3px;
	background: url(/img/icon/icn_arr_intro_r.png) 100% 50% / 16px 8px no-repeat;
/*	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #fff;
	transform: rotate(135deg);*/
	display: block;
	position: absolute;
	top: calc(50% - 4px);
	right: 20px;
}
.linkbtn a span{
	font-size: 1rem;
	display: block;
}
.txtlink{
	color: #016ee3 !important;
	text-decoration: underline;
}

.linkbtn button,
.linkbtn input[type="submit"],
.linkbtn input[type="button"],
.more button,
.more input[type="submit"],
.more input[type="button"]{
	width: 100%;
	border: none;
	background: none;
}

/* formボタン
-----------------------------------*/
.formbtns{
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	gap: 5px;
}
.submitBtn button,
.submitBtn input[type="submit"],
.submitBtn input[type="button"] {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 20px;
	border: 1px solid #ca9698;
	border-radius: 30px;
	background: #ca9698;
	text-align: center;
	font-size: 1.34rem;
	color: #fff;
	display: block;
	cursor: pointer;
}

.submitBtn.correction button,
.submitBtn.correction input[type="submit"],
.submitBtn.correction input[type="button"] {
	border: 1px solid #444;
	background: #fff;
	color: #444;
	border-radius: 30px;
}
.submitBtn input:disabled{
	border: 1px solid #888;
	background: #888;
	color: #ccc;
}

/* errorメッセージ
-----------------------------------*/
#error{
	padding: 10px;
	margin: 10px 0;
	border: 2px solid #f00;
	border-radius: 8px;
	color: #f00;
}
#error p{margin: 0;}

/* 外部linkアイコン
-----------------------------------*/
.ext{
	position: relative;
	padding-right: 15px;
}
.ext::after{
	width: 12px;
	height: 10px;
	margin-left: 3px;
	content: "";
	display: inline-block;
	background-image: url(../img/icon/icn_ext.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* ページタイトル
---------------------------------------  */
.sub{
	padding: 3px 5px;
	background: #20283f;
	color: #fff;
}
.sub h1{display: inline-block; font-weight: normal;}
.sub:before{
	width: .7em;
	height: .7em;
	margin-right: 3px;
	display: inline-block;
	background: #f17b24;
	border-radius: 100%;
	content: '';
	vertical-align: middle;
}

/* ふきだし
---------------------------------------  */
.speech {
	max-width: 100%;
	padding: 8px;
	border-radius: 7px;
	position: relative;
	background-color: #c5b1e5;
	color: #fff;
}
.speech::before {
	content: "";
	position: absolute;
	top: 10px;
	left: -8px;
	width: 0;
	height: 0;
	border-right: 8px solid transparent;
	border-bottom: 8px solid #c5b1e5;
	border-left: 8px solid transparent;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.speech.outline{border: 1px solid #929292;}
.speech.outline::before {z-index: 99;}
.speech.outline::after {
	content: "";
	position: absolute;
	top: 8px;
	left: -12px;
	width: 0;
	height: 0;
	border-right: 9px solid transparent;
	border-bottom: 9px solid #929292;
	border-left: 9px solid transparent;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	z-index: 1;
}

/* 3点リーダー省略
---------------------------------------  */
.ellipsis {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}


/* pages
---------------------------------------  */
.pages{
	padding: 10px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
}
.pages li a{
	min-width: 70px;
	padding: 5px 20px;
	text-align: center;
	text-decoration: none;
	font-size: 1.17rem;
	border: 1px solid #2d2d2d;
	border-radius: 5px;
	display: inline-block;
	position: relative;
	-webkit-box-shadow: 0	3px	#ebebeb;
	box-shadow: 0	3px	#ebebeb;
	background: #fff;
}
.pages li.prev a::before{
	content: '';
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #333;
	transform: rotate(-45deg);
	display: block;
	position: absolute;
	top: 50%;
	left: 8px;
}
.pages li.next{
	text-align: right;
	flex: 1 1 auto;
}
.pages li.next a::after{
	content: '';
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #333;
	transform: rotate(135deg);
	display: block;
	position: absolute;
	top: 50%;
	right: 8px;
}

/* pager
---------------------------------------  */
.pager{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	gap: 3px;
}
.pager li span,
.pager li a{
	width: 3em;
	height: 3em;
	/*padding: 5px;*/
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	border: 1px solid #c99b9c;
}
.pager li span{
	color: #fff;
	background: #c99b9c;
}


/* linklist
---------------------------------------  */
#linklist{border-top: 1px solid #d1ccda;}
#linklist li{border-bottom: 1px solid #d1ccda;}
#linklist li a{
	padding: 10px;
	font-size: 1.17rem;
	font-weight: bold;
	display: block;
}
#linklist li a span{
	display: block;
	color: #777;
	font-size: 1rem;
}

/* 注釈
---------------------------------------  */
.capshead::before{content: '※';}


#recReload{
	padding: 3px;
	display: -webkit-flex;
	display: flex;
	flex:row nowrap;
	justify-content: flex-end;
	gap: 5px;
}

#recReload button{
	padding: 6px 8px;
	border-radius: 5px;
	border: 1px solid #666;
	background-color: #fff;
	color: #666;
	cursor: pointer;
	text-align: center;
	display: block;
	font-size: .92rem;
	font-weight: bold;
}
#recReload *:hover{
	background: #d9d8dc;
	opacity: .8;
}
#recReload button a{
	color: #666;
	text-decoration: none;
}
#recReload button#getGPS{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap: 3px;
}
#recReload #getGPS::before{
	content: '';
	width: 13px;
	height: 16px;
	background-image: url(../img/icon/icn_map.png);
	background-repeat: no-repeat;
	background-size: cover;
	display: block;
	/* padding: 6px 8px;
	margin: 5px;
	border: 1px solid #999;
	border-radius: 5px;
	cursor: pointer; */
}

#snackwrap{
	width: 100%;
	height: 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row;
	justify-content: center;
	bottom: 0;
	position: fixed;
	z-index: 99999;
}

#snackbar{
	width: 100%;
	padding: 10px 8px;
	background: #333;
	border-radius: 7px;
	font-size: 14px;
	color: #fff;
	position: fixed;
	bottom: -200px;
}
.noticeon{animation:g-snackbar-show 500ms cubic-bezier(.4,0,.2,1) both;}
.noticeoff{animation:g-snackbar-hide 400ms cubic-bezier(.4,0,.2,1) both;}

.toast{animation:g-snackbar 2000ms cubic-bezier(.4,0,.2,1) both;}
@keyframes g-snackbar {
 0% {
	pointer-events:none;
	bottom: -200px;
 }
 30% {
	bottom: 0;
 }
 80% {
	bottom: 0;
 }
 100% {
	bottom: -200px;
 }
}

#snackbar dl{
	padding: 0;
	margin: 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap: 10px;
	justify-content: center;
	align-items: center;
}
#snackbar dl dd#notice_message{
	flex:1 1 auto;
	text-align: left;
}
#snackbar dl dd span{
	padding: 8px 20px;
	color:#4285f4;
	border-radius: 5px;
	cursor: pointer;
	display: block;
}
#snackbar dl dd span:hover{background: #4a4a4a;}

@keyframes g-snackbar-show {
 from {
	bottom: -200px;
 }
 to {
	bottom: 0;
 }
}

@keyframes g-snackbar-hide {
 from {
	bottom: 0;
 }
 to {
	bottom: -200px;
 }
}

#snackbar .cross{
	width: 38px;
	height: 38px;
	position: relative;
	display: block;
	cursor: pointer;
	text-indent: -9999px;
}
#snackbar .cross:before,
#snackbar .cross:after{
	left:11px;
	background: #fff;
}

#cancel{
	padding: 15px 0;
	text-align: center;
}
#cancel button{
	padding: 10px 20px;
	position: relative;
	text-align: center;
	text-decoration: none;
	font-size: 1.34rem;
	border: 1px solid #2d2d2d;
	border-radius: 5px;
	display: inline-block;
	-webkit-box-shadow: 0	3px	#ebebeb;
	box-shadow: 0	3px	#ebebeb;
	background: #fff;
	color: #333;
}

#cancel button span{
	position: relative;
	padding: 5px 0 5px 20px;
}
#cancel button span:before,
#cancel button span:after{
	width: 16px;
	height: 3px;
	margin-top: -2px;
	background: #000;
	border-radius: 4px;
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
}
#cancel button span:before{	transform: rotate(45deg);}
#cancel button span:after{	transform: rotate(-45deg);}

/* テーブルレイアウトセット(ul>li>dl>[dt+dd])
---------------------------------------  */
ul.tbl{
	border: 2px solid #000;
	overflow: hidden;
}
ul.tbl li:last-child{margin-bottom: -1px;}
ul.tbl li dl{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	overflow: hidden;
	justify-content: center;
	align-items: stretch;
}

ul.tbl li dl dt{
	padding: 2px;
	flex: 0 0 6em;
	font-weight: normal;
	color:#fff;
	background: #333;
	border-bottom: 1px solid #fff;
}
ul.tbl li dl dd{
	padding: 2px;
	flex: 1 1 0;
	/*white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;*/
	border-bottom: 1px solid #000;
}

/* パンくずリスト
---------------------------------------  */
.breadcrumb{
	padding: 5px 10px;
	overflow-x: auto;
	-webkit-overflow-scrolling:touch;
	white-space: nowrap;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	color: #444;
	background: #fff;
}
.breadcrumb::-webkit-scrollbar{height: 5px;}
.breadcrumb::-webkit-scrollbar-track{background: #fff;}
.breadcrumb::-webkit-scrollbar-thumb {background: #fff;}

.breadcrumb li{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	gap: 5px;
	margin-right: 7px;
}
.breadcrumb li a{color: #444;}
.breadcrumb li:not(:last-child)::after{
	content: '';
	width: 6px;
	height: 6px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #cc9b9d;
	transform: rotate(135deg);
	display: block;
}
.breadtop{}
.breadtop a{}
.breadtop a:before{
	content: '';
	width: 14px;
	height: 12px;
	background-image: url(../img/icon/icn_home.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	-webkit-background-size: 14px 12px;
	background-size: 14px 12px;
	display: inline-block;
	padding-right: 3px;
}

/* arrow
---------------------------------------  */
.arR{position: relative;}
.arR:after{
	content: '';
	width: 8px;
	height: 8px;
	margin-top: -5px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #333;
	transform: rotate(135deg);
	display: block;
	position: absolute;
	top: 50%;
	right: 8px;
}
.arL{position: relative;}
.arL:before{
	content: '';
	width: 8px;
	height: 8px;
	margin-top: -5px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #000;
	transform: rotate(-45deg);
	display: block;
	position: absolute;
	top: 50%;
	left: 8px;
}
.arTriR{position: relative;}
.arTriR:after {
	content:'';
	position: absolute;
	top:50%;
	right:-16px;
	margin:-10px 0 0 0;
	width:0;
	height:0;
	border-style: solid;
	border-width: 8px 0 8px 14px;
	border-color: transparent transparent transparent #000;
}

.cross{position: relative;}
.cross:before,
.cross:after{
	width: 16px;
	height: 3px;
	margin-top: -2px;
	background: #000;
	border-radius: 4px;
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
}
.cross:before{	transform: rotate(45deg);}
.cross:after{	transform: rotate(-45deg);}
.execute-hidden {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	/* visibility: hidden !important; */
}

.morearrow {
	margin: 0 auto;
	position: relative;
	display: block;
	width: 30px;
	height: 12px;
	text-indent: -9999px;
}
.morearrow::before,
.morearrow::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: calc(50% - 1.5px);
	width: 3px;
	height: 20px;
	border-radius: 9999px;
	background-color: #838383;
	transform-origin: 50% calc(100% - 1.5px);
}
.morearrow::before {transform: rotate(60deg);}
.morearrow::after {transform: rotate(-60deg);}

/* swiper
---------------------------------------  */
.swiper-pagination-bullet-active{background: #c99b9c !important;}

#loadset{padding: 70px 0;}
#locate{
	margin-bottom: 15px;
	text-align: center;
}
#locate p{
	/*padding: 15px 0;*/
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #222;
}

.dots span {
	display: inline-block;
	opacity: 0;
	transform: translateY(-4px) scale(0.9);
	line-height: 1;
	animation-name: dot-appear;
	animation-duration: 1.6s; /* 1ループの長さ */
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}
.dots span:nth-child(1){ animation-delay: 0s;   }
.dots span:nth-child(2){ animation-delay: 0.12s; }
.dots span:nth-child(3){ animation-delay: 0.24s; }
.dots span:nth-child(4){ animation-delay: 0.36s; }
.dots span:nth-child(5){ animation-delay: 0.48s; }
.dots span:nth-child(6){ animation-delay: 0.60s; }
@keyframes dot-appear {
	0%   { opacity: 0; transform: translateY(-4px) scale(0.9); }
	20%  { opacity: 1; transform: translateY(0) scale(1); }
	60%  { opacity: 1; transform: translateY(0) scale(1); }
	100% { opacity: 0; transform: translateY(4px) scale(0.9); }
}


.loading{
	color: #333;
	font-size: 10px;
	margin: 100px auto;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	position: relative;
	text-indent: -9999em;
	-webkit-animation: loadAnimation 1.3s infinite linear;
	animation: loadAnimation 1.3s infinite linear;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
}
@-webkit-keyframes loadAnimation {
	0%,
	100% {
		box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
	}
	12.5% {
		box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
	}
	25% {
		box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
	}
	37.5% {
		box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
	}
	50% {
		box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
	}
	62.5% {
		box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
	}
	75% {
		box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
	}
	87.5% {
		box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
	}
}
@keyframes loadAnimation {
	0%,
	100% {
		box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
	}
	12.5% {
		box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
	}
	25% {
		box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
	}
	37.5% {
		box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
	}
	50% {
		box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
	}
	62.5% {
		box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
	}
	75% {
		box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
	}
	87.5% {
		box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
	}
}

/* 認証コード
---------------------------------------  */
dt:has(+ dd.rcode) span.required {
	margin-left: 10px;
}
.rcode{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	padding: 5px 0px 10px;
}
.rcode label{
	cursor: auto;
}
.rcode label div{
	background-color: #ca9698;
	color: white;
	min-width: 3em;
	padding: 3px 10px;
	font-size: 1.2em;
	pointer-events: none;
	user-select: none;
	text-align: center;
}
.rcode input{
	margin-left: 10px;
	width: 16em;
}


@media screen and (min-width: 960px) {
	.breadcrumb{
		background: #faf8f6;
		padding: 10px 0 5px;
		box-shadow: 0 0 0 100vmax #faf8f6;
		clip-path: inset(0 -100vmax);
		height: 1em;
	}
	body.open .breadcrumb{
		box-shadow: none;
		clip-path: none;
	}
	#hatavoice > div{
		max-width: 800px;
		margin: 0 auto;
	}

/*	#hdExplist,
	#hdExppost,
	#hdTerms,
	#hdLinkkit,
	#hdKeep,
	#hdAgent,
	#hdFormpaid,
	#hdFormfree,
	#hdInquiry,
	#hdAdrule,
	#hdGuideline{
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: auto;
	}
	#hdExplist img,
	#hdExppost img,
	#hdTerms img,
	#hdLinkkit img,
	#hdKeep img,
	#hdAgent img,
	#hdFormpaid img,
	#hdFormfree img,
	#hdInquiry img,
	#hdAdrule img,
	#hdGuideline img{
		visibility: hidden;
	}
	#hdExplist{background-image: url(/img/title/pc/tl_exp_list.png);}
	#hdExppost{background-image: url(/img/title/pc/tl_exp_post.png);}
	#hdTerms{background-image: url(/img/title/pc/tl_terms.png);}
	#hdLinkkit{background-image: url(/img/title/pc/tl_linkkit.png);}
	#hdKeep{background-image: url(/img/title/pc/tl_keep.png);}
	#hdAgent{background-image: url(/img/title/pc/tl_form_agent.png);}
	#hdFormpaid{background-image: url(/img/title/pc/tl_form_paid.png);}
	#hdFormfree{background-image: url(/img/title/pc/tl_form_free.png);}
	#hdInquiry{background-image: url(/img/title/pc/tl_inquiry.png);}
	#hdAdrule{background-image: url(/img/title/pc/tl_adrule.png);}
	#hdGuideline{background-image: url(/img/title/pc/tl_guideline.png);}*/

	.more,.linkbtn{text-align: center;}
	.more a,
	.linkbtn a,
	.more label.btn,
	.linkbtn label.btn,
	.linkbtn input[type="submit"]{
		width: 100%;
		max-width: 330px;
		display: inline-block;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		font-size: 1.1rem !important;
	}
	.submitBtn{text-align: center;}
	.submitBtn button,
	.submitBtn input[type="submit"],
	.submitBtn input[type="button"] {
		width: 100%;
		max-width: 300px;
		display: inline-block;
		/* box-sizing: border-box;
		padding: 10px 20px;
		border: none;
		border-radius: 5px;
		background: #f26896;
		text-align: center;
		font-size: 1.34rem;
		color: #fff;
		cursor: pointer;
		border: 1px solid; */
	}

	#flm-wrapper {
		width: 70px;
		height: calc(100% - 30px);
		position: absolute;
		top: 30px;
		right: 0;
	}
	#flm {
		position: sticky !important;
		top: 130px;
		right: 0;
		width: 70px;
		border-radius: 8px;
		background: linear-gradient(to bottom, #e9d8eb, #cbd3e8);
	}
	#detfunc{flex-flow: row wrap;}
	.stash #flm{top:20px;}
	#flm-placeholder {display: none;}
}
