@charset "Shift-JIS";

/*========/ フォント /========*/
@import url("all.min.css");
@font-face {
	font-family: 'Noto Sans JP';
	font-weight: 400;
	src: url(../webfonts/NotoSansJP-Regular.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-weight: 700;
	src: url(../webfonts/NotoSansJP-Bold.otf) format('opentype');
}
@font-face {
	font-family: 'Open Sans';
	font-weight: 400;
	src: url(../webfonts/OpenSans-Regular.ttf) format('truetype');
}
@font-face {
	font-family: 'Open Sans';
	font-weight: 600;
	src: url(../webfonts/OpenSans-SemiBold.ttf) format('truetype');
}
@font-face {
	font-family: 'Kiwi Maru';
	font-weight: 300;
	src: url(../webfonts/KiwiMaru-Light.woff) format('woff');
}


/*========/ base /========*/

html{ font-size: 62.5%;-webkit-text-size-adjust:none }
html.active{
	height: 100%;
}
body{
	min-width:100%;
	margin: 0;
	padding: 0;
	color: #554b3e;
	font-size: 1.6rem;
	line-height: 2.6rem;
	font-weight: 400;
	font-family: 'Noto Sans JP', 'Open Sans', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, "メイリオ", Meiryo, sans-serif, Arial, sans-serif,"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	background: #fff;
	overflow-x: hidden;
	position: relative;
}
*{ box-sizing: border-box; }
ul,
ol{ list-style: none; }
a{
	color: #ee7849;
	text-decoration: none;
}
img{
	width: 100%;
	max-width: 100%;
	height:auto !important;
	image-rendering: -webkit-optimize-contrast;
}
input,
select,
option,
textarea{
	color: inherit;
	border-radius: 0;
	font-size: 1.5rem;
	font-family: inherit;
}
input[type="submit"],
input[type="button"]{
-webkit-appearance: none;
}
input[type="text"],
input[type="password"],
input[type="submit"],
select{ border-radius: 0; }
select{
	-webkit-appearance: textfield;
}
input[type="radio"]{ margin: 0 1rem .5rem 0; }
input[type="text"],
input[type="password"],
select,
textarea{
	padding: 5px 8px;
	border: 1px solid #ccc;
	background: #fff;
}
main{ padding-top: 102px }
.back-button{ margin: 3.5rem 2rem 0; }
.back-button input{
	width: 100%;
	max-width: 200px;
	margin: 0 auto;
	padding: 1rem 0;
	display: block;
	border-radius: 6px;
	border: 1px solid #868686;
	color: #fff;
	text-align: center;
	font-weight: bold;
	background: #868686;
}

/*========/ ヘッダー /========*/
header{
	width: 100%;
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 11;
}
header .head-user-name{
	width: 100%;
	padding: .5rem 1rem 0;
	line-height: 1.2rem;
	font-size: 1.2rem;
	font-weight: 700;
}
header h1{
	width: 13rem;
	padding-left: 1rem;
}
header .head-right{
	width: calc(100% - 13rem);
	padding-right: 1rem;
	display: flex;
	justify-content: flex-end;
}

/*==// 上段メニュー //==*/

header .head-right > p{
	text-align: center;
	line-height: 1.4rem;
	font-size: 1.4rem;
	font-weight: 700;
	position: relative;
}
header .head-right > p a{
	height: 100%;
	padding-top: 2.8rem;
	display: block;
	color: #554b3e;
}
header .head-right .head-helpnav-open,
header .head-right .head-mainnav-open{
	margin-left: 2rem;
	padding-top: 2.8rem;
}
header .head-right .head-login a::before,
header .head-right .head-helpnav-open::before{
	content: "";
	width: 2.4rem;
	height: 2.4rem;
	margin: 0 auto;
	display: block;
	background: #ee7849;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
header .head-right .head-login a::before{
	width: 3rem;
	height: 3rem;
	-webkit-mask-image: url("../img/user-icon.svg");
	mask-image: url("../img/user-icon.svg");
	-webkit-mask-size: cover;
	mask-size: cover;
	top: -.5rem;
}
header .head-right .head-helpnav-open::before{
	-webkit-mask-image: url("../img/help-icon.svg");
	mask-image: url("../img/help-icon.svg");
	-webkit-mask-size: cover;
	mask-size: cover;
}
header .head-right .head-mainnav-open span{
	width: 3rem;
	height: .3rem;
	margin: auto;
	border-radius: 12px;
	background: #ee7849;
	position: absolute;
	left: 0;
	right: 0;
	transition: .2s;
}
header .head-right .head-mainnav-open span:nth-of-type(1){ top: .2rem; }
header .head-right .head-mainnav-open span:nth-of-type(2){ top: 1.2rem; }
header .head-right .head-mainnav-open span:nth-of-type(3){ top: 2.1rem; }
header .head-right .head-mainnav-open.active span{ display: none; }
header .head-right .head-helpnav-open.active::before,
header .head-right .head-mainnav-open.active::before{
	content: "";
	width: 3.8rem;
	height: 3.8rem;
	margin: auto;
	display: block;
	-webkit-mask-image: url("../img/close-icon.svg");
	mask-image: url("../img/close-icon.svg");
	-webkit-mask-size: cover;
	mask-size: cover;
	background: #ee7849;
	position: absolute;
	top: -.8rem;
	left: 0;
	right: 0;
}
.head-helpnav,
.head-mainnav{
	width: 100%;
	height: calc(100vh - 6rem);
	padding: 2rem 0;
	background: #fff;
	position: fixed;
	top: 102px;
	left: 0;
	transition: .4s;
	transform: translatex(200%);
}
.active + .head-helpnav,
.active + .head-mainnav{ transform: translatex(0) }
.head-mainnav{ overflow: scroll; }
.head-helpnav ul,
.head-mainnav ul:nth-of-type(1){ margin: 0 2rem; }
.head-helpnav ul{ margin-top: 2rem; }
.head-helpnav a,
.head-mainnav a{ color: #554b3e; }
.head-helpnav li,
.head-mainnav ul:nth-of-type(1) li{
	padding: 1.5rem 0;
	border-bottom: 1px solid #ccc;
}
.head-helpnav li a,
.head-mainnav ul:nth-of-type(1) li a{
	width: 100%;
	display: flex;
	align-items: center;
}
.head-helpnav li a::before,
.head-mainnav ul:nth-of-type(1) li a::before{
	content: "";
	width: 2rem;
	height: 2rem;
	margin-right: .5rem;
	display: block;
	-webkit-mask-image: url("../img/arrow-icon.svg");
	mask-image: url("../img/arrow-icon.svg");
	-webkit-mask-size: cover;
	mask-size: cover;
	background: #ee7849;
}
.head-mainnav ul:nth-of-type(1) li a span{
	padding-left: 1.5rem;
	color: #ee7849;
	font-weight: bold;
}
.head-mainnav ul:nth-of-type(2){
	margin-top: 4rem;
	display: flex;
	justify-content: center;
}
.head-mainnav ul:nth-of-type(2) li + li::before{
	content: "|";
	padding: 0 .8rem;
	color: #ccc;
}
.head-mainnav ul:nth-of-type(2) li a{ font-size: 1.4rem; }
.head-mainnav p{
	padding: 3rem 2rem 0;
	text-align: center;
	line-height: 2rem;
}
.head-mainnav p a img{ max-width: 373px; }
.head-mainnav p span{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.4rem;
	font-weight: bold;
}
.head-mainnav p span::before{
	content: "";
	width: 2.8rem;
	height: 2.8rem;
	margin-right: .2rem;
	display: block;
	-webkit-mask-image: url("../img/tel-icon.svg");
	mask-image: url("../img/tel-icon.svg");
	-webkit-mask-size: cover;
	mask-size: cover;
	background: #ee7849;
}
.head-mainnav p small{
	margin-top: 0.5rem;
	display: block;
	font-size: 1.4rem;
}

/*==// 下段メニュー //==*/

header .head-subnav{
	width: 100%;
	margin-top: .5rem;
	padding: .4rem 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ee7849;
}
header .head-subnav > ul{
	width: 100%;
	display: flex;
}
header .head-subnav > ul > li{
	flex-grow: 1;
	position: relative;
}
/*header .head-subnav > ul > li:nth-of-type(2){ flex-grow: 2; }*/
header .head-subnav > ul > li + li{ border-left: 1px solid #fff; }
header .head-subnav > ul > li .cart-label{
	width: 2rem;
	height: 2rem;
	color: #fff;
	border-radius: 5rem;
	line-height: 2rem;
	text-align: center;
	font-size: 1.3rem;
	font-family: 'Open Sans';
	background: #20a991;
	position: absolute;
	top: -1rem;
	right: .5rem;
}
header .head-subnav .head-subnav-mypage,
header .head-subnav > ul > li > a{
	height: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	line-height: 1.4rem;
	font-size: 1.4rem;
	font-weight: bold;
}
header .head-subnav .head-subnav-mypage::before,
header .head-subnav > ul > li > a::before{
	content: "";
	width: 2rem;
	height: 2rem;
	margin-right: .5rem;
	display: block;
	background: #fff;
}
header .head-subnav .head-subnav-history a::before{
	-webkit-mask-image: url("../img/history-icon.svg");
	mask-image: url("../img/history-icon.svg");
	-webkit-mask-size: cover;
	mask-size: cover;
	transform: scale(-1, 1);
}
header .head-subnav .head-subnav-cart a::before{
	-webkit-mask-image: url("../img/cart-icon.svg");
	mask-image: url("../img/cart-icon.svg");
	-webkit-mask-size: cover;
	mask-size: cover;
}
header .head-subnav .head-subnav-mypage::before{
	-webkit-mask-image: url("../img/user-icon.svg");
	mask-image: url("../img/user-icon.svg");
	-webkit-mask-size: cover;
	mask-size: cover;
}
.head-subnav-mypage div{
	width: 100%;
	height: calc(100vh - 6rem);
	padding: 2rem 0;
	color: #554b3e;
	font-size: 1.6rem;
	background: #fff;
	position: fixed;
	top: 102px;
	left: 0;
	transition: .4s;
	transform: translatex(200%);
}
.head-subnav-mypage.active div{ transform: translatex(0) }
.head-subnav-mypage div .close-button{
	color: #fff;
	position: absolute;
	top: 2rem;
	right: 2rem;
}
.head-subnav-mypage div .close-button::before{
	content: "";
	width: 3rem;
	height: 3rem;
	margin-left: auto;
	display: block;
	-webkit-mask-image: url("../img/close-icon.svg");
	mask-image: url("../img/close-icon.svg");
	-webkit-mask-size: cover;
	mask-size: cover;
	background: #ee7849;
}
.head-subnav-mypage ul{ margin: 2rem 2rem 0; }
.head-subnav-mypage a{ color: #554b3e; }
.head-subnav-mypage li{
	padding: 1.5rem 0;
	border-bottom: 1px solid #ccc;
}
.head-subnav-mypage li a{
	width: 100%;
	display: flex;
	align-items: center;
	font-weight: normal;
}
.head-subnav-mypage li a::before{
	content: "";
	width: 2rem;
	height: 2rem;
	margin-right: .5rem;
	display: block;
	-webkit-mask-image: url("../img/arrow-icon.svg");
	mask-image: url("../img/arrow-icon.svg");
	-webkit-mask-size: cover;
	mask-size: cover;
	background: #ee7849;
}
.head-subnav-mypage .logout-button a{
	width: 16rem;
	height: 4rem;
	margin: 4rem auto 0;
	line-height: 4rem;
	display: block;
	border-radius: 6px;
	color: #fff;
	text-align: center;
	background: #ee7849;
}


/*========/ 汎用タイトル /========*/
.top-title{
	padding-left: 2rem;
	line-height: 9rem;
	font-size: 2.3rem;
	font-family: 'Kiwi Maru';
	text-shadow: 2px 2px 0 #fff5e7 , -2px -2px 0 #fff5e7 , -2px 2px 0 #fff5e7 , 2px -2px 0 #fff5e7 , 0px 2px 0 #fff5e7 , 0-2px 0 #fff5e7 , -2px 0 0 #fff5e7 , 2px 0 0 #fff5e7;
	background: #fff5e7;
}
.common-title{
	margin-right: 2rem;
	display: flex;
	align-items: center;
	font-size: 2rem;
	position: relative;
}
.common-title::before{
	content: "";
	width: 4px;
	height: 3.2rem;
	margin-right: 1.5rem;
	display: block;
	background: #ee7849;
}


/*========/ パンくず /========*/

.breadcrumb-nav{
	margin-top: 2rem;
	padding: 0 2rem;
	line-height: 2rem;
	font-size: 1.4rem;
}
.breadcrumb-nav li{ display: inline; }
.breadcrumb-nav li a{ color: #ee7849; }
.breadcrumb-nav li + li::before{
	content: "＞";
	padding: 0 0.3rem;
	color: #ccc;
}

/*========/ フッター /========*/
#page-top{
	width: 60px;
	height: 60px;
	position: fixed;
	bottom: 2rem;
	right: 1rem;
}
#page-top a{
	width: 60px;
	height: 60px;
	padding-top: .5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 6rem;
	color: #fff;
	line-height: 16px;
	text-align: center;
	font-size: 12px;
	font-weight: bold;
	background: #ee7849;
	position: relative;
}
#page-top a::before{
	content: "\f077";
	font-family: "Font Awesome 5 Free";
	font-size: 12px;
	position: absolute;
	top: 1px;
}
footer{ margin-top: 6rem; }
footer .pcmode-button{ padding: 0 2rem; }
footer .pcmode-button a{
	padding: 1.5rem 0;
	border-radius: 6px;
	display: block;
	color: #fff;
	text-align: center;
	font-weight: bold;
	background: #554b3e;
}
footer div{
	margin-top: 80px;
	padding: 4rem 2rem 2rem;
	color: #fff;
	font-size: 1.4rem;
	background: #554b3e;
}
footer div p:nth-of-type(1){ font-size: 1.6rem; }
footer div dl{ margin-top: 0.2rem; display: flex; }
footer div dl:nth-of-type(1){ margin-top: 2rem; }
footer div ul{
	margin-top: 4rem;
	display: flex;
	justify-content: center;
}
footer div ul li + li::before{
	content: "|";
	padding: 0 0.3rem;
}
footer div a{ color: #fff; }
footer div p:nth-of-type(2){
	margin-top: 6rem;
	text-align: center;
	font-size: 1rem;
}