@charset "utf-8";

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

.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;
}
.remodal{
	max-width: 580px !important;
	padding: 10px 5px !important;
}
html.remodal-is-locked {
	touch-action: auto !important;
	-ms-touch-action: auto !important;
}

.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: #424242;
}
a:link{color: #424242;}
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;}

.holder{text-align: center;}
.holder img{
	max-width: 100%;
	height: auto;
}

ul.lists,
ol.lists{
	padding: 10px;
	margin: 0 auto;
	border-radius: 8px;
	background: #fbf3ed;
}
ul.lists li,
ol.lists li{
	text-indent: -1em;
	padding-left: 1em;
	margin: 4px 0;
	font-weight: bold;
	color: #6a3f34;
}
ul.lists li span,
ol.lists li span{font-size: .86rem;}
ul.lists li::before{
	content: '・';
	color: #e68e76;
}
ol.lists {counter-reset: item;}
ol.lists li {counter-increment: item;}
ol.lists li::before {
	padding-right: 5px;
	content: counter(item);
	color: #e68e76;
}

/* 02 formカスタム
------------------------------------------------------------*/
/*
textarea {
	width: 100% ;
	height: 100px ;
	margin-bottom: 10px ;
}*/
*::placeholder{color:#ccc;}
input[type="text"],textarea,select {
	color: #5a5c63;
	font-size: 100% ;
	width: 100% ;
	padding: 3px ;
	border: 1px solid #ccc;
	border-radius: 5px;
	/*-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: 16px;
	/*font-size: 1.24rem;*/
}
input[type="text"][disabled]{
	background:#dcdcdc !important;
	cursor:not-allowed;
}
textarea {
	height: 8rem;
	padding: 5px 8px;
	font-size: 16px;
	/*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: 2px 25px 2px 5px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 16px;
	/*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: inline-block;
}
label > span,
label > div{
	padding-left: 30px;
	position: relative;
	display: block;
	user-select: none;
}
label .cb:before{
	content: "";
	width: 20px;
	height: 20px;
	margin-top: -10px;
	display: block;
	position: absolute;
	top: 50%;
	left: 5px;
	border-radius: 3px;
	background: #dddddd;
	/*border: 1px solid #ddd;*/
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
label .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: #fff;
}
label input:checked + .cb:before{background: #6f8996;}
/*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: #f6f8fc;
	border: 1px solid #ddd;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	
}
label input:checked + .rb:before{background: #f6f8fc; border: 1px solid #6f8996;}
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: #6f8996;
}
label > div > span{
	display: block;
	font-size: .75rem;
}

/* 認証コード
---------------------------------------  */
/*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: #676767;
	color: white;
	padding: 3px 10px;
	pointer-events: none;
	user-select: none;
	font-size: 1.15rem;
	font-weight: bold;
}
.rcode input{
	margin-left: 10px;
	width: 16em;
}

/* 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;}
.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;}
.mtb20{margin: 20px 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: 14px;}
body{
	text-align: center;
	line-height: 1.8;
	font-size: 14px;
	font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, sans-serif;
	-webkit-text-size-adjust: none;
	color:#424242;
}
#wrapper {
	min-width:320px;
	min-height: calc(100vh - 60px);
	padding-top: 60px;
	display: flex;
	flex-direction: column;
	text-align:left;
	background-color: #fff;
}
#wrapper section {
	flex: 1;
	background: #fff;
}
#index #wrapper{display: block;}
#contents{
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
}

#contents,
#results{padding: 0 8px 15px;}
.innerbox{padding: 25px 0; flex: 1;}
.sbox{
	margin: 10px 0;
	font-size: .86rem;
}

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

.breadcrumb li{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	gap: 5px;
	margin-right: 7px;
	font-size: .72rem;
	color: #7e7e7e;
}
.breadcrumb li a{text-decoration: none; color:#7e7e7e;}
.breadcrumb li:not(:last-child)::after{
	content: '';
	width: 6px;
	height: 6px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #7e7e7e;
	transform: rotate(135deg);
	display: block;
}
.breadcrumb li#bc_home a{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 3px;
}
.breadcrumb li#bc_home a::before{
	content: '';
	width: 12px;
	height: 11px;
	background-image: url(../img/icon/icn_home.png);
	-webkit-background-size: contain;
	background-size: contain;
	display: block;
}

/* 05 header
------------------------------------------------------------*/
.stash header {transform: translateY(-100%);}
header {
	min-width: 320px;
	width: 100%;

	position: fixed;
	top: 0;
	left: 0;
	transition: transform 0.3s ease;
	z-index: 1000;
	will-change: transform;
	background: #fff;

	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,.2);
	box-shadow: 0 1px 1px rgba(0,0,0,.2);
}
header #hdInner{
	/*max-width: 1000px;*/
	height: 60px;
	padding: 0 10px;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
}
header #hdInner h1 img{
	width: 176px;
	height: auto;
}
header #hdInner h1{
	height: 100%;
	padding: 0 10px;
	margin-left: -10px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	position: relative;
}
header #hdInner ul{
	display: -webkit-flex;
	display: flex;
	flex-flow: row-reverse wrap;
	text-align: center;
}
header #hdInner ul li a{
	width: 52px;
	height: 52px;
	padding: 30px 5px 5px;
	text-decoration: none;
	font-size: .72rem;
	color: #000;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
}

/* メニューbtn
------------------------------------------ */
header #nvBtn{position: relative;}

/* MENU
---------------------- */

#mn span {
	width: 50%;
	position: absolute;
	top: 15px;
	left: 25%;
	box-sizing: border-box;
	text-indent: -9999px;
}
#mn span:before,
#mn span:after{
	width: 100%;
	height: 1px;
	display: block;
	content: '';
	background-color: #333;
	border-radius: 4px;
	position: absolute;
	left: 0;
}
#mn span:before {top: -4px;}
#mn span:after {top: 4px;}

/* CLOSE
---------------------- */
#cl span{
	display: inline-block;
	text-indent: -9999px;
}
#cl span::before,
#cl span::after{
	width: 22px;
	height: 1px;
	margin-left: -12px;
	display: block;
	content: '';
	background-color: #000;
	border-radius: 3px;
	position: absolute;
	top: 16px;
	left: 50%;
}
#cl span::before {transform: rotate(45deg);}
#cl span::after {transform: rotate(-45deg);}

/* 検討中btn
------------------------------------------ */
header #nvCsd a{
	color:#333;
	background-image: url(/img/common/fav.png);
	-webkit-background-size: 17px 16px;
	background-size: 17px 16px;
	background-repeat: no-repeat;
	background-position: 50% 8px;
	position: relative;
	text-align: center;
	/*text-indent: -9999px;*/
}
header #nvCsd span{
	min-width: 1.2em;
	line-height: 1.2em;
	position: absolute;
	top: 0px;
	right: 4px;
	padding: 3px;
	background: #424242;
	border-radius: 4em;
	color: #fff;
	font-weight: bold;
	text-indent: 0;
}

/* 06 footer
------------------------------------------------------------*/
footer{
	width: 100%;
	/*min-width: 320px;*/
	text-align: left;
	border-top: 1px solid #bbb;
}
#ft_rc{padding: 25px 10px 0;}
#ft_rc ul{
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	gap: 5px;
}


#ftInner{padding: 25px 0 0;}
#ftInner #ftSNS{
	text-align: center;
	flex: 1;
}
#ftInner #ftSNS dd{
	padding: 15px 0 35px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	gap: 10px;
}
#ftInner #ftSNS dd a{
	width: 30px;
	height: 30px;
	padding: 10px;
	border: 1px solid #424242;
	border-radius: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#ftInner #ftSNS dd a img{
	width: 25px;
	height: 25px;
}


#pagetop{text-align: center;}
#pagetop a{
	padding: 5px 35px 5px 55px;
	display: inline-block;
	background: #fff;
	border: 1px solid #c3c3c3;
	border-radius: 5px;
	font-size: .72rem;
}
#pagetop a span{position: relative;}
#pagetop a span::before,
#pagetop a span::after{
	content: '';
	display: block;
	position: absolute;
}
#pagetop a span::before{
	width: 11px;
	border-top: 1px solid #333;
	position: absolute;
	top: 4px;
	left: -17px;
}
#pagetop a span::after{
	content: '';
	width: 6px;
	height: 6px;
	margin-top: -7px;
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color: #333;
	transform: rotate(-45deg);
	display: block;
	position: absolute;
	top: 14px;
	left: -15px;
}

footer #ftLinks{
	padding: 0 5px;
	margin: 20px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	font-size: .86rem;
}
footer #ftLinks li:not(:last-child)::after{
	margin: 0 7px;
	content: '｜';
	color:#cdcee3;
}
footer #ftLinks li{margin: 4px 0;}
footer #ftLinks li a{
	padding: 8px 0;
	text-decoration: none;
}

#ftAreas{
	padding: 20px 10px;
	font-size: .86rem;
	border-top: 1px solid #ddd;
}
#ftAreas p{margin-bottom: 10px;}
#ftAreas ul{
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 5px;
}
#ftAreas ul > li dl dt{font-weight: bold;}
#ftAreas ul > li dl dd{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
}
#ftAreas ul > li dl dd a:not(:last-child):after{
	content: '|';
	margin: 0 7px;
}
#ftAreas ul > li dl dd a span{display: none;}

#copyright{
	text-align: center;
	font-size: .86rem;
}
#copyright p{
	margin: 20px 0;
	color: #808080;
}
#copyright small{
	padding: 15px 0;
	display: block;
	background: #f9ede9;
	color: #9c8982;
	font-size: .72rem;
}






/* 07 drawerメニュー
------------------------------------------------------------*/
/*#mn{}*/
#cl{display: none;}
.open #cl{display: block;}
.open #mn{display: none;}

/* drawerメニュー（動作用）
---------------------------------------*/
.open {
	position: fixed;
	width: 100%;
	height: 100%;
}
.open #overlay{
	z-index: 999;
	display: block;
	opacity: 1;
}
.open #drawer{
	-webkit-transform: translate3d(0, 0 ,0);
	transform: translate3d(0, 0 ,0);
	opacity: 1;
	pointer-events: inherit;
}
#drawer{
	width: 100vw;
	min-height: calc(100vh - 60px);
	min-width: 320px;
	-webkit-transform: translate3d(100vw, 0 ,0);
	transform: translate3d(100vw, 0 ,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: 9999;
	top: 60px;
	right: 0;
	text-align: left;
	white-space: nowrap;
	background: rgba(63,55,79,.9);
}
#overlay{
	width: 100%;
	height: 120vh;
	background: rgba(0,0,0,0.3);
	position: fixed;
	top: 0;
	left: 0;
	z-index: -999;
	opacity: 0;
	text-indent: -9999px;
	transition: opacity .2s;
}


/* drawer・modalメニュー
---------------------------------------*/
#drawerInner{
	/*height: 100vh;*/
	height: calc(100vh - 60px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	background: #fff;
	font-size: 1.17rem;
}
#drwHome a,
#drawerInner li > span,
#drawerInner li > a{
	display: block;
	padding: 8px 5px 8px 20px;
	color: #333;
	text-decoration: none;
	cursor: pointer;
	position: relative;
}
#drwHome a{
	border-top: 1px solid #bbb;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	gap :5px;
}
#drwHome a::before{
	width: 14px;
	height: 13px;
	content: '';
	background-image: url(../img/icon/icn_home.png);
	-webkit-background-size: contain;
	background-size: contain;
}

.drw_lv1 {font-size: .86rem;}
.drw_lv1 {text-indent: 1.5rem;}
.drw_lv1 li a,
.drw_lv1 p {border-top: 1px solid #ddd;}

.drw_lv2{background: #eff0f6; text-indent: 2rem;}
.drw_lv2 a{display: block;}
.drw_lv2 a span{color: #3988ef;}

.drw_lv3{background: #e1e3ee; text-indent: 2.5rem;}
.drw_lv3 a{border-top: 1px solid #ddd; display: block;}


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

#drwMenu{border-top: 1px solid #bbb;}
#drwMenu dt{
	padding: 8px 15px;
	background: #f1eee7;
	color: #424242;
	font-weight: bold;
	border-bottom: 1px solid #bbb;
}
#drwMenu dd > ul > li{
	text-indent: .5em;
	border-bottom: 1px solid #bbb;
}
#drwMenu .arR::after{border-color: #707070;}

#remodal_srch{background: none;}
#srch{
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	text-align: left;
}

.hd_return{
	padding: 15px 0;
	background: #3485f0;
	color: #fff;
	text-align: center;
	position: relative;
	font-size: 1.29rem;
	font-weight: bold;
	text-align: center;
}
.hd_return .pnclose{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 10px;
	font-size: .86rem;
	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);}



/* #### panelメニュー（動作用）
---------------------------------------*/
.actPanel {
	position: fixed;
	width: 100%;
	height: 100%;
}
.actPanel #overlay{
	z-index: 999;
	display: block;
	opacity: 1;
}
.actPanel #wrapper,
.actPanel #panelBox,
.actPanel footer{
	-webkit-transform: translate3d(-100vw, 0 ,0);
	transform: translate3d(-100vw, 0 ,0);
}
#panelBox,
#wrapper,
footer{
	transition: transform 0.4s ease-in-out;
}

/* #### panel
---------------------------------------*/
#panelBox * {user-select: none;}
#panelBox{
	min-width: 100vw;
	width: 100vw;
	height: 100vh;
	margin-right: -100vw;
	position: fixed;
	z-index: 9999;
	top: 0;
	right: 0;
	text-align: left;
	white-space: nowrap;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	background: #fff;
}
.pnCont{
	margin-bottom: 160px;
	overflow: hidden;
}

.return{
	padding: 10px 0;
	background: #f9e4df;
	text-align: center;
	font-size: 1rem;
	color: #424242;
	position: relative;
}
.return > div{
	height: 40px;
	margin-top: -20px;
	padding-left: 5px;
	font-size: 1rem;
	position: absolute;
	top: 50%;
	left: 10px;
	cursor: pointer;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	gap: 5px;
}
.return > div::before{
	content: '';
	width: 6px;
	height: 6px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #424242;
	transform: rotate(-45deg);
	display: block;
}

.formlist a{pointer-events: none;}
.formlist li{
	border-top: 1px solid #e6e6e6;
	display: -webkit-flex;
	display: flex;
}
.formlist label{
	padding: 10px 5px 10px 20px;
	flex: 1;
}

.searchFunc{
	padding: 20px;
	border-top: 1px solid #e6e6e6;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	gap: 15px;
}
.searchFunc li{flex: 1 1 50%;}
.searchFunc li.clearbtn button,
.searchFunc li.searchDecision span{
	width: 100%;
	line-height: 1em;
	border: none;

	padding: 14px 20px !important;
	text-align: center;
	text-decoration: none;

	background: #ec9b85;
	border: 1px solid #ec9b85;
	border-radius: 8px;
	color: #fff !important;
	font-size: 1.15rem;

	display: block;
	position: relative;
	cursor: pointer;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.searchFunc li.clearbtn button{
	border: 1px solid #000;
	background: #fff;
	color: #000 !important;
}
#slArea{border-bottom: 1px solid #e6e6e6;}
#slArea p{
	border-top: 1px solid #e6e6e6;
	position: relative;
	color: #000;
}
#slPT p{border-top: 1px solid #e6e6e6;}
#slArea label{
	padding: 10px 5px 10px 20px;
	flex:1 1 auto;
}
#slArea label a{
	color: #000;
	pointer-events: none;
}
#slArea .lv1{background: #f9f9fa;}
#slArea .lv1 p:not(:first-child) {border-top: 1px solid #e6e6e6;}
#slArea .lv2{background: #efeff1;}
#slArea .lv2 li{
	border-top: 1px solid #e6e6e6;
	display: -webkit-flex;
	display: flex;
}
#slArea .lv2 li label{padding-left: 40px;}
.region{
	padding: 10px 5px 10px 20px;
	/*font-size: 1.17rem;*/
	font-weight: bold;
	position: relative;
	background: #f6f2f1;
}
.region.acd::before{
	content: '';
	position: absolute;
	width: 12px;
	height: 2px;
	background-color: currentColor;
	top: 50%;
	right: 10px;
}
.region.acd::after{
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	width: 12px;
	height: 2px;
	background-color: currentColor;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.region.act::after {display: none;}
.chkall{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
}
.acdAge{
	display: block;
	text-indent: -9999px;
	flex:0 0 15%;
	position: relative;
}
.acdAge::before {
	content: '';
	position: absolute;
	width: 7px;
	height: 1px;
	background-color: currentColor;
	top: 50%;
	right: 12px;
}
.acdAge::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 12px;
	width: 7px;
	height: 1px;
	background-color: currentColor;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.acdAge.act::after {display: none;}

/* modal表示調整
------------------------------------------------------------*/
#srchmodal *{user-select: none;}
#srchmodal{
	padding: 0 !important;
	border-radius: 8px;
	overflow: hidden;
	text-align: left;
}
#srchmodal p{
	border-top: 1px solid #858585;
	position: relative;
	color: #000;
}
#srchmodal label{
	padding: 15px 5px 15px 20px;
	flex:1 1 auto;
}
#srchmodal label a{
	color: #000;
	pointer-events: none;
}
#srchmodal .lv1{background: #f9f9fa;}
#srchmodal .lv1 p:not(:first-child) {border-top: 1px solid #6c6971;}
#srchmodal .lv2{
	background: #efeff1;
	border-top: 1px solid #818182;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	gap: 5px;
}
/*#srchmodal .lv2 li{border-top: 1px solid #818182;}*/
#srchmodal .lv2 li label{padding-left: 40px;}
#srchmodal .searchFunc li{flex: 0 0 160px;}

/* 08 共通パーツ系
------------------------------------------------------------*/
.btn{
	max-width: 320px;
	margin: 0 auto;
}
.btn a,
.btn button,
.btn input[type="submit"]{
	width: 100%;
	border: 2px solid transparent;

	padding: 14px 20px;
	text-align: center;
	text-decoration: none;

	background: #ef8e92;
	border-radius: 8px;
	color: #fff;
	/*font-size: 1rem;*/
	font-size: 1.15rem;

	display: block;
	position: relative;
	cursor: pointer;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.btn input:disabled{
	background: #888;
	color: #ccc;
}

.btn a.arR::after,
.btn a.arL::after{border-color: #fff;}

.btn.edge a,
.btn.edge button,
.btn.edge input[type="submit"]{
	border: 1px solid #4c4c4c;
	background: #fff;
	color :#424242;
	font-size: 1rem;
	font-weight: bold;
}
.btn.edge a.arR::after,
.btn.edge a.arL::after{border-color: #333;}

.btn.reset button{
	border: 1px solid #4c4c4c;
	background: #fff;
	color :#424242;
}


.btn.round a,
.btn.round button{border-radius: 1.5em;}

.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;
	border: 1px solid #2d2d2d;
	border-radius: 5px;
	display: block;
	position: relative;
	background: #fff;
	cursor: pointer;
}
.more a::after,
.more label.btn::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;
}

.more.edge a::after{border-color: #333;}
.btn.blue a,
.btn.blue button{background: #998bd9;}
.btn.search a,
.btn.search button{background: #ec9b85;}

.btn.pdf{margin-bottom: 20px;}
.btn.pdf a{background: #51c0c3;}
.pdf span,
.edit span,
.search span,
.tel span,
.mail span,
.line span,
.site span,
.insta span,
.fb span,
.xbtn span{
	line-height: 1;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	gap: 5px;
}
.edit span::before{
	width: 15px;
	height: 15px;
	content: '';
	display: block;
	background: url(../img/icon/icn_edit.png) 0 0 no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.search span::before{
	width: 18px;
	height: 18px;
	content: '';
	display: block;
	background-image: url(../img/icon/icn_search.png);
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.edge.search span::before{background-image: url(../img/icon/icn_search.png);}

.tel span::before,
.mail span::before,
.line span::before,
.site span::before,
.insta span::before,
.fb span::before,
.xbtn span::before{
	width: 25px;
	height: 26px;
	content: '';
	display: block;
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.tel span::before {background-image: url(../img/icon/icn_tel.png);}
.mail span::before{background-image: url(../img/icon/icn_mail.png);}
.line span::before{background-image: url(../img/icon/icn_line.png);}
.site span::before{background-image: url(../img/icon/icn_site.png);}
.insta span::before{background-image: url(../img/icon/sns_insta.png);}
.fb span::before{background-image: url(../img/icon/sns_fb.png);}
.xbtn span::before{background-image: url(../img/icon/sns_x.png);}

.pdf span::before{
	width: 26px;
	height: 34px;
	content: '';
	display: block;
	background-image: url(../img/icon/icn_pdf.png);
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}


.login{
	display: none;
	margin-left: 30px;
}
.login a{
	line-height: 1;
	padding: 5px 20px;
	border: 1px solid #424242;
	border-radius: 1.5em;
	font-size: .86rem;
	font-weight: bold;
	color: #707070;

	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
}
.login a::before{
	width: 11px;
	height: 13px;
	content: '';
	display: block;
	background-image: url(../img/icon/icn_login.png);
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.txtlink{
	color: #2581dc !important;
	text-decoration: underline;
}




.button-cta{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:999px;
	overflow:visible;
	isolation:isolate;
	/* Heartbeat */
	animation:heartbeat 2.5s infinite;
	will-change:transform;
}

/* Glow Ring */
.button-cta::after{
	content:"";
	position:absolute;
	inset:0;
	border-radius:inherit;
	pointer-events:none;
	z-index:-1;
	opacity:0;
	box-shadow:0 0 0 0 #ec9b85;
	animation:glow 2.5s infinite;
}

@keyframes heartbeat{
	0%{
		transform:scale(1);
		animation-timing-function:ease-out;
	}
	10%{
		transform:scale(.97);
		animation-timing-function:ease-in;
	}
	17%{
		transform:scale(1.01);
		animation-timing-function:ease-out;
	}
	33%{
		transform:scale(.96);
		animation-timing-function:ease-in;
	}
	45%{
		transform:scale(1);
	}
	/* 約1秒待機 */
	100%{
		transform:scale(1);
	}
}

@keyframes glow{
	/* Heartbeat中 */
	0%,45%{
		opacity:0;
		transform:scale(1);
		box-shadow:0 0 0 0 rgba(255,255,255,0);
	}
	/* Glow開始 */
	50%{
		opacity:.45;
		transform:scale(1);
		box-shadow:0 0 0 0 #ec9b85;
	}
	65%{
		opacity:.2;
		transform:scale(1.15);
		box-shadow:0 0 18px 8px #ec9b85;
	}
	80%{
		opacity:0;
		transform:scale(1.35);
		box-shadow:0 0 36px 18px rgba(255,255,255,0);
	}
	/* 約1秒待機 */
	100%{
		opacity:0;
		transform:scale(1.35);
		box-shadow:0 0 36px 18px rgba(255,255,255,0);
	}
}

button:disabled{
	opacity:.4;
	cursor:not-allowed;
	transform:none;
	animation:none;
}

button:not(:disabled){
	cursor:pointer;
}

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

/* 掲載情報カード（汎用カード）
----------------------------------------*/
.s_card {
	max-width: 700px;
	height: auto !important;
	padding: 10px 5px;
	margin-bottom: 5px;
	border: 1px solid #ccc;
	border-radius: 5px;
	overflow: hidden;
	background-color: #fff;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.card_header {
	display: flex;
	align-items: center;
	margin-bottom: 5px;
}
.card_header span {
	padding: 1px 7px;
	margin-right: 3px;
	border-radius: 5px;
	background-color: #61d5e3;
	color: #fff;
	font-size: .72rem;
}
.card_body {
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 8px;
}
.card_body > p{flex:0 0 150px;}
.card_body > p img {
	width: 100%;
	height: auto;
	/*object-fit: cover;*/
}
.card_body > div {flex: 1 1 auto;}

.shopname {font-weight: bold;}
.description {
	line-height: 1.4;
	margin-bottom: 8px;
}
.card_body dt {
	font-size: 1.17rem;
	font-weight: bold;
	margin-bottom: 3px;
}
.card_body dd {
	margin: 0;
	color: #777;
}

.location,
.category,
.address {
	padding: 1px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	gap: 3px;

	line-height: 16px;
	font-size: .86rem;
	color: #707070;
	overflow-wrap: anywhere;
	word-break: keep-all;
}
.location a,
.category a,
.address a {color: #707070 !important;}
.location::before,
.category::before,
.address::before {
	content: '';
	display: block;
	width: 17px;
	height: 16px;
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	flex: 0 0 17px;
}
.location::before {background-image: url(../img/icon/icn_location.png);}
.category::before {background-image: url(../img/icon/icn_category.png);}
.address::before {background-image: url(../img/icon/icn_address.png);}

/* 最近見た店舗 (閲覧履歴)--------------------------- */
.no-swiper-wrapper{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap:5px;
}
.no-swiper-wrapper .hislist{flex: 0 1 50%;}

.hislist.s_card .card_body{
	flex-flow: column;
	align-items: flex-start;
}
.hislist.s_card .card_body > p{flex:1 1 auto;}

/* 新着掲載店情報 --------------------------- */
.nslist.s_card .card_body{
	flex-flow: column;
	align-items: flex-start;
}
.nslist.s_card .card_body > p{flex:1 1 auto;}

/* 注釈
---------------------------------------  */
.annotation::before{content: '※'; color: #ff3838;}
.required{
	padding: 0 5px;
	background: #ef8e92;
	color: #fff;
	font-weight: normal;
	border-radius: 5px;
	font-size: .86rem;
	white-space: nowrap;
}
.any{
	padding: 0 5px;
	background: #89abd7;
	color: #fff;
	font-weight: normal;
	border-radius: 5px;
	font-size: .86rem;
	white-space: nowrap;
}

.errors{
	padding: 10px;
	margin: 10px 0;
	border: 2px solid #f00;
	border-radius: 8px;
	color: #f00;
	background: #fff;
}
.errors li{list-style: disc inside;}

.flx{
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 5px;
}
.formbtns{
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 5px;
}
.formbtns > *{flex: 1;}

.discon{
	background: #bbb !important;
	color: #999 !important;
	pointer-events: none;
}
.discon span::before{opacity: .4;}
.copydata{display: none;}

.attention{
	font-size: .86rem;
	color: #ff3838;
}
.caps{color: #b88681;}

.divide{
	padding: 15px 0 0;
	margin: 15px 0 0;
	border-top: 1px dashed #bbbbbb;
}
/*.dis{display: none;}*/

/* ページタイトル
---------------------------------------  */
.hd{
	padding: 10px 0;
	font-family: 'Zen Old Mincho', serif;
	font-weight: 700;
	font-size: 1.58rem;
	text-align: center;
}
.hd span{
	font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, sans-serif;
	display: block;
	color: #bda77a;
	font-weight: normal;
	font-size: .72rem;
}
.title{
	padding: 5px;
	background: #9c8982;
	color: #fff;
	font-weight: bold;
	font-size: 1.15rem;
	text-align: center;
}
.cat_hd{
	padding: 7px 0;
	margin-bottom: 15px;
	font-size: 1rem;
	text-align: center;
	border-width: 1px 0;
	border-style: solid;
	border-color: #bbb;
}
.sub{
	padding: 3px 0;
	margin-bottom: 7px;
	font-weight: bold;
	font-size: 1rem;
	border-bottom: 1px solid #aba59c;
}

/* テーブルレイアウトセット(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;
	border-bottom: 1px solid #000;
}


/* pager
---------------------------------------  */
.pagerset{
	margin: 10px 0;
	text-align: center;
}
.pagerset dl dt span{font-weight: bold;}
.pagerset dl dd{font-size: .86rem;}

ol.pager{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap: 3px;
}
ol.pager{
	margin: 10px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	gap: 3px;
}
ol.pager li span,
ol.pager li a{
	width: 2em;
	height: 2em;
	/*border-radius: 1.5em;*/
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	border: 1px solid #4c4c4c;
}
ol.pager li span{
	color: #fff;
	background: #4c4c4c;
}
ol.pager li.prev a,
ol.pager li.next a{border: none;}

/* arrow
---------------------------------------  */
.arR{position: relative;}
.arR:after{
	content: '';
	width: 8px;
	height: 8px;
	margin-top: -5px;
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color: #000;
	transform: rotate(45deg);
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
}
.arL{position: relative;}
.arL:before{
	content: '';
	width: 10px;
	height: 10px;
	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: 15px;
}
.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; */
}

.loading{
  color: #424242;
  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;
  }
}


/* -- PCview用
-------------------------------------------------------------------------------- */
@media screen and (min-width: 960px) {
	html,body{font-size: 14px;}
	/* body,
	.open{position: static;}
	.open #overlay{display: none;} */
	#drawer{width: 350px;}
	#wrapper {
		/* min-height: calc(100vh - 110px);
		padding-top: 110px; */
		align-items: center;
	}
	section {
		width: 100%;
		max-width: 1000px;
		position: relative;
	}
	#contents{padding-top: 25px;}

	#shopdetail .breadcrumb,
	#contents .breadcrumb,
	#contents .innerbox{
		width: 750px;
		margin: 0 auto;
	}
	.breadcrumb{
		width: 1000px;
		margin: 0 auto;
	}


	.hd{text-align: left;}
	.innerbox .hd{text-align: center;}

	.sub{margin-bottom: 10px;}

	ul.lists,
	ol.lists{
		padding: 10px 30px;
		min-width: 380px;
		margin: 15px auto;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	#ft_rc,
	#ftInner{
		max-width: 1000px;
		padding: 25px 0;
		margin: 0 auto;
		position: relative;
	}
	#ft_rc ul{
		display: -webkit-flex;
		display: flex;
		flex-flow: row wrap;
		gap: 5px;
	}
	#ft_rc ul li{flex: 0 0 490px;}

	#ftCont{
		display: -webkit-flex;
		display: flex;
		flex-flow: column-reverse;
		justify-content: flex-end;
	}
	#ftInner #ftSNS{
		display: -webkit-flex;
		display: flex;
		flex-flow: row nowrap;
		gap: 10px;
		align-items: center;
		flex: 0 0 auto;
	}

	#ftInner #ftSNS dd{padding: 0;}
	#ftInner #ftSNS dd a{
		width: 20px;
		height: 20px;
		padding: 7px;
	}
	#ftInner #ftSNS dd a img{
		width: 18px;
		height: 18px;
	}
	footer #ftLinks{
		padding: 0;
		margin: 10px 0;
		justify-content: flex-start;
	}
	footer #ftLinks::before{
		width: 176px;
		height: 36px;
		margin-bottom: 10px;
		content: '';
		display: block;
		background-image: url(/img/common/logo.png);
		background-repeat: no-repeat;
		-webkit-background-size: contain;
		background-size: contain;
		flex: 0 0 100%;
	}
	footer #ftLinks li a:hover{text-decoration: underline;}
	#ftAreas{
		margin-top: 30px;
		padding: 20px 0 0;
	}
	#ftAreas ul{
		width: 100%;
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 10px;
	}
	#ftAreas ul > li dl dd a span{display: inline;}

	footer .login{display: block;}
	#pagetop{
		position: absolute;
		top: 30px;
		right: 0;
	}
	#pagetop a{
		padding: 5px 55px 5px 75px;
		display: block;
		font-size: .86rem;
	}

}