@charset "UTF-8";

/* -- BASIC DEFINITIONS -- */
body {
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 0;
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
	margin: 0px;
	padding: 0px;
	color: #333333;
	-webkit-text-size-adjust: 100%;
}

html , body {
	height: 100%;
}

#container {
	width: 100%;
	position: relative;
	height: auto !important;
	height: 100%;
	min-height: 100%;
}

img { border:none; }

ul, li, div, p, dl, dt, dd, h1, h2, h3, h4, h5, form, span { margin: 0; padding: 0; font-weight: normal; }

table {
	border-collapse:collapse;
	border-spacing: 0;
}

a:link { text-decoration: none; color: #D11A1D; }
a:visited { text-decoration: none; color: #D11A1D; }
a:hover { text-decoration: underline; color: #D11A1D; }
a:active { text-decoration: underline; color: #D11A1D; }
.flt-l { float: left; }
.flt-r { float: right; }
.clear { clear: both; }
a.active:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-moz-opacity:0.60;
	opacity:0.60;
}
/* IE8 */
html>/**/body a.active:hover {
	display /*\**/:inline-block\9;
	zoom /*\**/: 1\9;
}

/* 新旧Firefox */
a.active:hover, x:-moz-any-link { background: #FFFFFF; }
a.active:hover, x:-moz-any-link, x:default { background: #FFFFFF; }

/* clearfix */
.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}

.clearfix:after {
	clear: both;
}

/* -- header  -- */
@media print {
	#g-header {
		position: relative !important;
	}
}

#g-header {
	border-bottom: 3px solid #eeeeee;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10000;
}

#header {
	background: #fff;
	text-align: left;
	border-bottom: 1px solid #dddddd;
}

#header #top_nv {
	background: #ff0000;
}

#header #top_nv p {
	width: 960px;
	margin: 0 auto;
	padding: 2px 2px 2px 0;
	text-align: right;
}

#header #main_nv {
	position: relative;
	list-style-type: none;
	width: 960px !important;
	height: 90px;
	margin: 0 auto;
	padding: 0 !important;
	z-index: 9000;
}

#header #main_nv h1 {
	text-align: left;
	width: 220px;
	height: 65px;
	padding: 12px 0 0 5px;
}

#header ul#main_nv  h1 a {
	display: block;
	width: 225px;
	height: 97px;
}
#header #main_nv_sp {
	display: none;
}

/* -- LAYOUT  -- */
@media print {
	#wrapper {
		padding-top: 0px !important;
	}
}

#wrapper {
	width: 100%;
	background: #fff;
	text-align: left;
	padding-bottom: 380px;
	padding-top: 120px;
}

/* -- contents  -- */
#contents #pankuzu {
	text-align: left;
	font-size: 83%;
	line-height: 2.5;
	margin-bottom: 15px;
}

#contents #pankuzu a {
	text-decoration: none;
	color: #ee0007;
	background: url(../cmn/icon_small.png) no-repeat right;
	padding: 5px 10px 5px 5px;
	margin-right: 5px;
}

/* -- footer  -- */
@media print {
	#footer {
		display: none;
	}
}

#footer {
	background: #FCFCFC url(../cmn/footer_bg.png) repeat-x;
	color: 333333;
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 330px;
}

#footer a:link { text-decoration: none; color: #333333; }
#footer a:visited { text-decoration: none; color: #333333; }
#footer .sns-link[data-view="mobile"] {
	display: none;
}

ul#footer_mn {
	width: 960px;
	text-align: left;
	margin: 20px auto 20px;
}

ul#footer_mn li {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
	float: left;
}

ul#footer_mn li dl {
	margin: 0;
	padding: 0;
}

ul#footer_mn li dl dt {
	font-size: 100%;
	border-bottom: 1px solid #dddddd;
	padding:  0 50px 0 5px;
	height: 20px;
}

ul#footer_mn li dl dt.midashi {
	border-left: 5px solid #dddddd;
}

ul#footer_mn li dl dd {
	margin-top:10px;
	font-size: 90%;
	line-height: 1.1em;
	padding-right: 10px;
}
ul#footer_mn li dl dd ul li {
	padding: 0px;
}

ul#footer_mn .sns-link {
	padding: 12px 0 6px;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	gap: 8px;
}

#copyright {
	width: auto;
	background-color: #ff0000;
}

#copyright p {
	width: 960px;
	text-align: left;
	margin: 0 auto;
	padding: 5px 0 0 5px;
	background:  url(../cmn/copyright.png) no-repeat right 5px;
	font-size: 80%;
	font-weight: bold;
	color: #ffffff;
}

#copyright a:link { text-decoration: none; color: #FFF; }
#copyright a:visited { text-decoration: none; color: #FFF; }

/* ---------------------------------------------
	SP
--------------------------------------------- */
.sp {
	display: none !important;
}
@media screen and (max-width: 767px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}

	.toppage #wrapper,
	.corporate #wrapper {
		width: 100%;
		padding-bottom: 30px;
		padding-top: 0px;
	}

	.toppage #g-header,
	.corporate #g-header {
		border-bottom: 3px solid #eeeeee;
		position: static;
	}

	.toppage #header #top_nv p,
	.corporate #header #top_nv p {
		width: 100%;
	}

	.toppage #header #top_nv p a,
	.corporate #header #top_nv p a {
		display: none;
	}

	.toppage #header #main_nv,
	.corporate #header #main_nv {
		display: none;
	}

	.toppage #header #main_nv_sp,
	.corporate #header #main_nv_sp {
		display: block;
		position: relative;
	}

	.toppage #header #main_nv_sp ul,
	.corporate #header #main_nv_sp ul {
		display: none;
	}

	.toppage #header #main_nv_sp h1,
	.corporate #header #main_nv_sp h1 {
		display: block;
		width: 105px;
		height: auto;
		padding: 15px 15px;
	}

	.toppage #header #main_nv_sp .shop-link,
	.corporate #header #main_nv_sp .shop-link {
		display: grid;
		place-items: center;
		position: absolute;
		top: 11px;
		right: 70px;
		width: 40px;
		height: 40px;
		background-color: #676767;
		border-radius: 9999px;
	}

	.toppage #header #main_nv_sp .shop-link .shop-icon,
	.corporate #header #main_nv_sp .shop-link .shop-icon {
		display: block;
		width: 24px;
		height: 100%;
		background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%20512%20512%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xml%3Aspace%3D%22preserve%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20stroke-linejoin%3D%22round%22%20stroke-miterlimit%3D%222%22%3E%3Cg%20fill%3D%22%23fff%22%20fill-rule%3D%22nonzero%22%3E%3Cpath%20d%3D%22M85.908%200a20.486%2020.486%200%200%201%2019.838%2015.363l20.277%2078.574h357.203a20.477%2020.477%200%200%201%2016.363%208.166%2020.508%2020.508%200%200%201%203.316%2017.994L444.079%20324.22a20.487%2020.487%200%200%201-19.682%2014.814H189.271l8.858%2034.324h224.476v36.133H186.011a20.49%2020.49%200%200%201-19.836-15.373L73.792%2036.13H8.296V0h77.612Zm76.168%20233.652%2017.871%2069.25h45.133v-69.25h-63.004Zm-26.728-103.584%2017.406%2067.453h72.326v-67.453h-89.732Zm125.863%20103.584v69.25h77.084v-69.25h-77.084Zm0-103.584v67.453h77.084v-67.453h-77.084Zm107.429%200v67.453h74.352l19.436-67.453H368.64Zm0%20103.584v69.25h43.987l19.955-69.25H368.64ZM388.098%20436.688c20.23%200%2036.633%2016.402%2036.633%2036.64%200%2020.234-16.402%2036.635-36.633%2036.635-20.24%200-36.633-16.4-36.633-36.635%200-20.238%2016.392-36.64%2036.633-36.64ZM212.32%20438.728c20.24%200%2036.633%2016.408%2036.633%2036.633%200%2020.24-16.392%2036.639-36.633%2036.639-20.23%200-36.633-16.398-36.633-36.639%200-20.224%2016.403-36.633%2036.633-36.633Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
	}

	.toppage #header #main_nv_sp #menu_sp,
	.corporate #header #main_nv_sp #menu_sp {
		display: block;
		background: url(/cmn/sp_gnv_menu.png) 0 0 no-repeat;
		background-size: 40px 40px;
		width: 40px;
		height: 40px;
		text-indent: -999px;
		overflow: hidden;
		position: absolute;
		top: 11px;
		right: 15px;
	}

	.toppage #header #main_nv_sp #menu_sp + ul,
	.corporate #header #main_nv_sp #menu_sp + ul {
		width: 94%;
		background: url(/cmn/gnv-bg.png) repeat 0 0;
		padding: 15px 3%;
		position: absolute;
		z-index: 1;
	}

	.toppage #header #main_nv_sp #menu_sp + ul > li,
	.corporate #header #main_nv_sp #menu_sp + ul > li {
		margin-bottom: 2px;
		list-style: none;
	}

	.toppage #header #main_nv_sp #menu_sp + ul li a,
	.corporate #header #main_nv_sp #menu_sp + ul li a {
		display: block;
		background: #fff;
		padding: 10px;
	}

	/* -- footer  -- */

	.toppage #footer,
	.corporate #footer {
		width: 100%;
		height: auto;
		color: #333;
		position: static;
	}

	.toppage ul#footer_mn,
	.corporate ul#footer_mn {
		display: none;
	}

	.toppage #copyright p,
	.corporate #copyright p {
		width: auto;
		background:  url(../cmn/copyright.png) no-repeat 50% 90%;
		padding: 5px 10px 30px;
	}

	#footer .sns-link[data-view="mobile"] {
		display: flex;
		flex-flow: row nowrap;
		justify-content: center;
		gap: 10.6vw;
		padding: 6.4vw;
		margin: 0;
	}
	#footer .sns-link[data-view="mobile"] li {
		list-style: none;
		padding: 0;
		margin: 0;
	}
	#footer .sns-link[data-view="mobile"] a {
		display: block;
	}
	#footer .sns-link[data-view="mobile"] img {
		width: 12.8vw;
		height: 12.8vw;
	}
}

/* ---------------------------------------------
	pagetop
--------------------------------------------- */
@media print {
	div.pagetop {
		display: none;
	}
}

div.pagetop {
	width: 100%;
	text-align: right;
}

div.pagetop a:hover {
	background-color:#FFF;
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}

div.pagetop  p {
	position: fixed;
	bottom: 20px;
	cursor:pointer;
	color:#FFF;
	line-height:1.4em;
	right: 20px;
	height: 66px;
	width: 66px;
	margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
	.toppage div.pagetop p img,
	.corporate div.pagetop p img {
		width: 100%;
	}

	.toppage div.pagetop p,
	.corporate div.pagetop p {
		right: 10px;
		width: 55px;
		margin-bottom: 0;
		bottom: 58px;
	}
}

/* ---------------------------------------------
	preset margin
--------------------------------------------- */
.mp0 { margin: 0px; padding: 0px !important; }
.mt0 { margin-top: 0px !important; }
.mt05 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt45 { margin-top: 45px !important; }
.mt50 { margin-top: 50px !important; }

.mb0 { margin-bottom: 0px !important; }
.mb05 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }

.ml05 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }
.ml45 { margin-left: 45px !important; }
.ml50 { margin-left: 50px !important; }
.ml60 { margin-left: 60px !important; }

.mr05 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr45 { margin-right: 45px !important; }
.mr50 { margin-right: 50px !important; }

/* padding */
.pt05 { padding-top: 5px !important; }
.pt10 { padding-top: 10px; }
.pt15 { padding-top: 15px; }
.pt20 { padding-top: 20px; }
.pt25 { padding-top: 25px; }
.pt30 { padding-top: 30px; }

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

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

.pr05 { padding-right: 5px !important; }
.pr10 { padding-right: 10px; }
.pr15 { padding-right: 15px; }
.pr20 { padding-right: 20px; }
.pr25 { padding-right: 25px; }
.pr30 { padding-right: 30px; }

.p05 { padding: 5px; }
.p10 { padding: 10px; }
.p15 { padding: 15px; }
.p20 { padding: 20px; }
.p25 { padding: 25px; }
.p30 { padding: 30px; }
