@charset "utf-8";

/*
## h1
*/
.level_h1 {
	border-color: #f4a35d;
}
.level_h1 span {
	border-color: #ec8125;
}

/*
## ボタン
*/
a.btn_1, input.btn_1[type="button"], input.btn_1[type="submit"], input.btn_1[type="reset"], button.btn_1[type="button"], button.btn_1[type="submit"], button.btn_1[type="reset"] {
	background: #2fa700;
	color: #fff;
	border-style: solid;
	border-width: 1px;
	border-color: #2fa700;
	font-size: 1.2em;
	font-weight: normal;
	min-width: 180px;
	min-height: 36px;
	margin-left: 10px;
	margin-right: 10px;
	line-height: 36px;
	cursor: pointer;
	border-radius: 6px;
	padding: 4px 16px;
	display: inline-block;
	text-decoration: none;
}

/*
## 登録、確定ボタン
*/
#saveButton, #completeButton, #orderLink2, #selfOrderLink, #giftOrderLink {
	background-color: #1eaf5f;
	border-color: #1eaf5f;
}

#completeButton.rpay,
#completeButton_link.rpay {
	background-image: url(//checkout.rakuten.co.jp/p/common/img/btn_check_00.gif);
	width: 240px;
	height: 40px;
	border: none;
	text-indent: -9999px;
}
@media screen and (max-width: 600px) {
	#lpReturnButtonItemWrap,
	#lpDownsellButtonItemWrap {
		order: 2;
		margin-top: 20px;
	}
	#returnButton.rpay,
	#lpReturnButton.rpay,
	#lpDownsellButton.rpay,
	#freePageReturnButton.rpay {
		width: 240px;
		height: 40px;
		line-height: 30px;
	}
}

/*
## 基本レイアウト
*/
.layoutGroup {
	margin-bottom: 10px;
	position: relative;
	z-index: 1;
}
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .layoutGroup.table .td .items { position: relative; } /* IE11 エラー吹き出しの位置調整 */
}
@media (max-width: 751px) and (orientation: landscape) { /* iPhone6- 横向き用 */
	#wrap {
		max-width:980px;
	}
}
@media screen and (max-width: 641px) {
	.topGroupName label {
		width:100%;
		text-align:left;
		margin-right: 0;
	}
	.topGroupName .isMemberAgreementFlg_itemLabel,
	.topGroupName .isUseAgreementFlg_itemLabel,
	.topGroupName .isOptin1_itemLabel {
		text-align: center;
	}
}


/*
## 1カラム用レイアウト
*/
.oneColumn .topGroupName {
	width: 100%;
}


/*
## 2カラム用レイアウト
*/
.twoColumns form {
	float: left;
}
/*
## 2カラム用レイアウト topGroupName
*/
.twoColumns .topGroupName {
	width: 710px;
}

/*
## レスポンシブ用レイアウト
*/
@media screen and (max-width: 641px) {
	.oneColumn .topGroupName, .twoColumns .topGroupName {
		width: 100%;
	}
	.twoColumns form {
		float: none;
	}
}

/*
## パンくず
*/
.panNav{
	background-color:#F6F6F6;
	padding:5px;
	margin-bottom:10px;
}
.panNav ul {
	font-size:0.8em;
}
.panNav ul li {
	display:inline-block;
}
.panNav ul li + li:before {
	content:">";
	padding:0 5px;
}
@media screen and (max-width: 641px){
	.panNav {
		padding: 10px;
	}
}

/* -------------------------------------------------------------------
	ymn 共通
   ------------------------------------------------------------------- */
a					{ color: #3297cc;}
.arw:before			{ content: "› "; color: #F00; }

/* -------------------------------------------------------------------
	ymn ヘッダー
   ------------------------------------------------------------------- */
header									{ padding: 1.5em 0; }
header a								{ color: #454545; }
header div								{ width: 1100px; margin: 0 auto 0.5em; overflow: hidden; }
header div .logo						{ background: url(../img/common/header/logo.png) left no-repeat; padding-left: 150px; line-height: 43px; width: auto; display: inline-block; float: left; font-size: 0.8em; position: relative; }
header div .logo a						{ display: block; top: 0; right: 0; left: 0; bottom: 0; position: absolute; }
header div ul							{ overflow: hidden; float: right; }
header div ul li						{ padding-left: 1em; float: left; }
header div ul li:nth-child(1) a		{ background: url(../img/common/header/icon_mypage.png) top center no-repeat; float: left; font-size: 0.7em; text-align: center; padding-top: 17px; }
header div ul li:nth-child(2) a		{ background: url(../img/common/header/icon_cart.png) top center no-repeat; float: left; font-size: 0.7em; text-align: center; padding-top: 17px; }
header div ul li:nth-child(3) a		{ background: url(../img/common/header/icon_contact.png) top center no-repeat; float: left; font-size: 0.7em; text-align: center; padding-top: 17px; }
header div ul li:nth-child(4) p		{ background: url(../img/common/header/tel.png); width: 187px; height: 21px; font-size: 0; line-height: 0; text-indent: -9999px; }
header div ul li:nth-child(4) span	{ font-size: 0.7em; margin-top: -0.3em; display: block; }
header nav								{ background-color: #fcf8ef; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; padding: 0.5em 0; }
header nav ul							{ width: 1100px; margin: auto; box-sizing: border-box; display: table; border-left: 1px solid #e5e5e5; }
header nav ul li						{ display: table-cell; border-right: 1px solid #e5e5e5; text-align: center; padding: 0 1.5em; }

@media screen and (max-width: 641px) {
	header								{ padding: 0.5em 0 0em; border-bottom: 1px solid #e5e5e5; margin-bottom: 0.5em; }
	header a							{ color: #454545; }
	header div							{ width: auto; margin: 0 0 0 1em; }
	header div .logo					{ background: url(../img/common/header/logo.png) left no-repeat; padding-left: 0px; line-height: 0; font-size: 0; text-indent: -9999px; width: 100px; height: 43px; }
	header div .logo					{ -webkit-background-size: 100% auto; background-size: 100% auto; }
	header div ul						{ overflow: hidden; float: right; padding-top: 0.3em; }
	header div ul li					{ padding-left: 1em; float: left; }
	header div ul li:nth-child(1) a	{ background: url(../img/common/header/icon_mypage.png) top center no-repeat; float: left; font-size: 0.7em; text-align: center; padding-top: 17px; }
	header div ul li:nth-child(2) a	{ background: url(../img/common/header/icon_cart.png) top center no-repeat; float: left; font-size: 0.7em; text-align: center; padding-top: 17px; }
	header div ul li:nth-child(3) a	{ display: none;; }
	header div ul li:nth-child(4)		{ display: none; }
	header nav							{ background-color: rgba(140,120,107,0.8); border-top: 1px solid #e5e5e5; border-bottom: 0; padding: 0; position: fixed; z-index: 100000; width: 0; top:0; right: 0; height: 100%; transition: .2s; overflow-y: auto; }
	header nav.open					{ width: 100%; }
	header nav ul						{ width: auto; margin: auto; box-sizing: border-box; display: block; border-left: 0; border-top: 1px solid #e5e5e5; }
	header nav ul li					{ display: block; border-right: 0px; text-align: left; padding: 0 1.5em; box-sizing: border-box; border-bottom: 1px solid #e5e5e5; width: 80%; margin-left: 20%; background-color: #fcf8ef; }
	header nav ul li a				{ display: block; padding: 0.5em 0; }
	header nav ul li a:before			{ content: "› "; color: #fcad1e; }
	header nav ul li.tel				{ text-align: center; background-color: #fcad1e; font-size: 1.1em; font-weight: bold; padding-bottom: 0.5em; }
	header nav ul li.tel a			{ color:#FFF; }
	header nav ul li.tel span			{ display: block; font-size: 0.8em; line-height: 1em; }
	header nav ul li.tel a:before		{ content: ""; }
	header nav ul li.tel b			{ display: block; font-size: 1.5em; margin-top: -0.2em; }
	header nav ul li.close			{ text-align: center; background-color: #fcad1e; font-size: 1.1em; font-weight: bold; padding: 0.4em 0; color:#FFF; }
	header nav ul li.close img		{ margin-right: 0.2em; margin-bottom: -0.3em; }
	header nav ul li.close			{ text-align: center; background-color: #fcad1e; font-size: 15vw; line-height: 0em; font-weight: normal; padding: 0.4em 0; color:#FFF; position: absolute; width: 15vw; height: 15vw; box-sizing: border-box; right: 82.5%; top:0.5em; border-bottom: 0px; border-radius: 3px; }
	header nav ul li.close.kotei		{ position: fixed; }
	header nav ul li.close img		{ margin-right: 0.2em; margin-bottom: -0.3em; }
	header nav ul li:nth-child(2)		{ border-top: 1px solid #e5e5e5; padding-top: 2em; }
}

/* -------------------------------------------------------------------
	ymn サイドバー
   ------------------------------------------------------------------- */
#subMenu					{ display: none; }

@media screen and (max-width: 641px) {
	#subMenu					{ width: 100%; display: table; border: 1px solid #e5e5e5; background-color: #fff; position: fixed; top: 0; z-index: 10000; }
	#subMenu li					{ display: table-cell; text-align: center; border-right: 1px solid #e5e5e5; width: 33%; box-sizing: border-box; padding: 0.5em 0; vertical-align: middle; }
	#subMenu li img				{ margin-right: 0.2em; margin-bottom: -0.3em; vertical-align: unset; }
	#subMenu li:nth-child(3)	{ border-right: 0; background-color: #fcad1e; color: #FFF}

	.menu 						{ display: block; width: 30px; height: 30px; z-index: 10000; }
	#panel-btn:hover 			{ background: #fcad1e; }
	#panel-btn-icon 			{ display: block; position: absolute; top: 50%; left: 50%; width: 24px; height: 2px; margin: -5px 0 0 -12px; background: #FFF; transition: .2s; }
	#panel-btn-icon:before,
	#panel-btn-icon:after 		{ display: block; content: ""; position: absolute; top: 50%; left: 0; width: 24px; height: 2px; background: #FFF; transition: .3s; }
	#panel-btn-icon:before		{ margin-top: -6px; }
	#panel-btn-icon:after 		{ margin-top: 4px; }
	#panel-btn .close 			{ background: transparent; }
	#panel-btn .close:before,
	#panel-btn .close:after		{ margin-top: 0; }
	#panel-btn .close:before	{ transform: rotate(-45deg);  -webkit-transform: rotate(-45deg); }
	#panel-btn .close:after 	{ transform: rotate(-135deg); -webkit-transform: rotate(-135deg); }
	#panel-btn 					{ display: inline-block; position: relative; width: 40px; height: 40px; background-color: #fcad1e; border-radius: 0; padding: 0; font-size: 8px; text-align: center; color:#FFF; font-weight: bold; }

	.slider li					{ display: none; }
	.bx-viewport .slider li		{ display: block !important; }
}

/* -------------------------------------------------------------------
	ymn フッター
   ------------------------------------------------------------------- */
/* customer support */
#contact							{ background: #a3dda4; color: #FFF; margin-top: 5em; }
#contact ul							{ width: 1000px; margin: auto; overflow: hidden; padding: 2em 0; }
#contact ul li						{ width: 49%; float: left; box-sizing: border-box; padding: 1.5em; background-color: #fff; border-radius: 10px; color: #7d5309; text-align: center; font-weight: bold; }
#contact ul li:last-child			{ float: right; padding: 1.1em; }
#contact ul li:last-child .tel		{ background: url(../img/common/footer/tel.png); width: 297px; height: 30px; font-size: 0; line-height: 0; text-indent: -9999px; margin: auto; }
#contact ul li:last-child .tx_s		{ font-weight: normal; }
#contact ul li:first-child a		{ background-color: #1eaf5f; display: block; width: 80%; margin: auto; color: #FFF; padding: 0.5em; border-radius: 1.5em; position: relative; }
#contact ul li:first-child a:after	{ content:"›"; font-size: 1.5em; margin-top: -0.1em; font-weight: bold; position: absolute; right: 0.5em; }

@media screen and (max-width: 641px) {
	#contact							{ padding: 0 1em; }
	#contact ul							{ width: 100%; }
	#contact ul li						{ width: 100%; float: none; }
	#contact ul li:last-child			{ float: none; margin-top: 0.5em; }
	#contact ul li:last-child .tel		{ background: none; width: auto; height: auto; }
	#contact ul li:last-child .tel a	{ background: url(../img/common/footer/tel.png) no-repeat; width: 80%; height: 7vw; -webkit-background-size: 100% auto; background-size: 100% auto; display: block; margin: auto; }
	#contact ul li:first-child a		{ width: 90%; }
}

/* footer */
footer							{ background-color: #fcf8ef; padding: 2em 0 4em; }
footer > div					{ width: 1100px; margin: auto; }
footer div ul					{ width: 100%; display: table; }
footer div ul li				{ width: 25%; display: table-cell; background-color: #fff; box-sizing: border-box; padding: 0.8em; border: 2px solid #fcf8ef; }
footer div ul li strong		{ color: #fcad1e; border-bottom: 1px solid #e5e5e5; width: auto; display: block; padding-bottom: 0.3em; margin-bottom: 0.3em; padding-top: 1em; font-size: 1.2em; }
footer div ul li:nth-child(1)	{ background: url(../img/common/footer/guide01.gif) right top no-repeat #FFF; }
footer div ul li:nth-child(2)	{ background: url(../img/common/footer/guide02.gif) right top no-repeat #FFF; }
footer div ul li:nth-child(3)	{ background: url(../img/common/footer/guide03.gif) right top no-repeat #FFF; }
footer div ul li:nth-child(4)	{ background: url(../img/common/footer/guide04.gif) right top no-repeat #FFF; }
footer div ul li a:before		{ content:"› "; color:#f00; }
footer dl						{ width: 1100px; margin: auto; overflow: hidden; margin-top: 1em; border-bottom: 1px solid #e5e5e5; padding-bottom: 1em; margin-bottom: 1em; }
footer dl dt					{ width: 550px; float: left; background: url(../img/common/footer/logo.png) left 2em no-repeat; border-right: 1px dotted #e5e5e5; }
footer dl dt > div			{ padding-left: 150px; }
footer dl dt div .fl			{ padding-left: 5em; margin-top: -1.8em; }
footer dl dt span				{ color: #fcad1e; }
footer dl dd					{ width: 500px; float: right; font-size: 0.8em; line-height: 1.3em; }
footer .norton					{ width: 102px; height: 56px; float: right; margin-left: 1em; }
footer .jadma					{ background: url(../img/common/footer/jadma.jpg); width: 143px; height: 55px; float: right; }

/* 営業カレンダー */
footer dl dd div					{ width: 100%; position: relative; }
footer dl dd div:last-of-type		{ position: relative; }
.koyomin1477902341_1_cal_container	{ margin: 20px auto 0 !important; width: 500px !important; max-width: 500px !important; border-radius: 10px; }
.koyomin1477902341_1_cal_table		{ min-width: 233px !important; max-width: 233px !important; min-width: 233px !important; font-size:12px; float: left !important; margin: 0 6px !important; }
.koyomin1477902341_1_events			{ margin-top: 15px !important; }
.koyomin1477902341_1_cal_caption	{ width: 233px !important; }
.koyomin1477902341_1_comments		{ padding-bottom: 0 !important; }

/* ヤマノのSNS */
footer dl dd div div div					{ background-color: transparent !important; border: 0 !important; outline: 0px !important; margin: auto !important; padding: 0 !important; }
footer dl dd div a						{ display: inline-block; text-align: center; background-color: #f2f2f2; padding: 0.3em; }
footer dl dt div div strong				{ color: #fcad1e; }
footer dl dt div div						{ width: 82%; overflow: hidden; background-color: #fff; text-align: center; padding: 0.5em; box-sizing: border-box; border-radius: 10px; margin-top: 0.5em; }
footer dl dt div div ul					{ width: 100%; overflow: hidden; }
footer dl dt div div ul li				{ padding: 0; background: none !important; width: 151px !important; border: 0 !important; }
footer dl dt div div ul li:first-child	{ float: left; }
footer dl dt div div ul li:last-child	{ float: right; }
footer .instagram a						{ background: url(../img/common/footer/instagram.png); width: 151px; height: 40px; font-size: 0; line-height: 0; text-indent: -9999px; display: block; }
footer .facebook a							{ background: url(../img/common/footer/facebook.png); width: 151px; height: 40px; font-size: 0; line-height: 0; text-indent: -9999px; display: block; }

@media screen and (max-width: 641px) {
	footer > div						{ width: auto; margin: 0 1em; }
	footer div ul						{ width: 100%; display: block; overflow: hidden; }
	footer div ul li					{ width: 49%; display: block; border: 0px; padding: 0.5em; }
	footer div ul li strong			{ font-size: 1em; padding-top: 0.3em; }
	footer div ul li:nth-child(1)		{ background: url(../img/common/footer/guide01.gif) right top no-repeat #FFF; -webkit-background-size: 40% auto ; background-size: 40% auto; float: left; margin-bottom: 0.5em; }
	footer div ul li:nth-child(2)		{ background: url(../img/common/footer/guide02.gif) right top no-repeat #FFF; -webkit-background-size: 40% auto ; background-size: 40% auto; float: right; margin-bottom: 0.5em; }
	footer div ul li:nth-child(3)		{ background: url(../img/common/footer/guide03.gif) right top no-repeat #FFF; -webkit-background-size: 40% auto ; background-size: 40% auto; float: left; }
	footer div ul li:nth-child(4)		{ background: url(../img/common/footer/guide04.gif) right top no-repeat #FFF; -webkit-background-size: 40% auto ; background-size: 40% auto; float: right; }
	footer dl							{ width: auto; margin: 1em; overflow: hidden; margin-top: 1em; border-bottom: 1px solid #e5e5e5; padding-bottom: 1em; margin-bottom: 1em; }
	footer dl dt						{ width: auto; float: none; background: url(../img/common/footer/logo.png) left 2em no-repeat; border-right: 0px; -webkit-background-size: 30% auto ; background-size: 30% auto; }
	footer dl dt > div				{ padding-left: 30vw; }
	footer .link span					{ display: none; }
	footer .link a						{ display: block; border-bottom: 1px solid #e5e5e5; border-top: 1px solid #e5e5e5; margin-top: -1px; padding: 0.3em 0 0.3em 1em; }
	footer .copy						{ text-align: center; }
	footer dl dd						{ width: auto; float: none; }
	footer .norton						{ width: 102px; height: 56px; float: right; margin-left: 0; }
	footer .jadma						{ background: url(../img/common/footer/jadma.jpg); width: 143px; height: 55px; float: none; margin-left: 110px; margin-bottom: 1em; }

	 /* 営業カレンダー */
	footer dl dd div					{ width: 100%; position: relative; }
	footer dl dd div:last-of-type		{ position: relative; }
	 .koyomin1477902341_1_cal_container	{ margin: 20px auto 0 !important; width: 100% !important; max-width: 100% !important; border-radius: 10px; }
	 .koyomin1477902341_1_cal_table		{ min-width: 45% !important; max-width: 45% !important; min-width: 45% !important; font-size:12px; float: left !important; margin: 0 6px !important; }
	 .koyomin1477902341_1_cal_caption	{ width: auto !important; }

	 /* ヤマノのSNS */
	footer dl dt div div				{ width: auto; margin-left: -30vw; }
	footer dl dt div div ul			{ width: 100%; overflow: hidden; }
	footer dl dt div div ul li		{ width: 49% !important; }
	footer .instagram a				{ background: url(../img/common/footer/instagram.png) no-repeat; width: 100%; height: 12vw; -webkit-background-size: 100% auto; background-size: 100% auto; }
	footer .facebook a					{ background: url(../img/common/footer/facebook.png) no-repeat; width: 100%; height: 12vw; -webkit-background-size: 100% auto; background-size: 100% auto; }
}

/*
## サイドコンテンツ
*/
.sideContents {
	width: 240px;
	float: right;
}

.sideContents section {
	margin-bottom: 15px;
}

.sideContents aside {
	display: block;
	margin: 0 0 40px 0;
	text-align: center;
}

.sideContents .bnr_wrap {
	display: block;
	margin: 0 0 20px 0;
}

/*
## サイドコンテンツ 初めてのお客様
*/
.contents section.first {
	background: -moz-linear-gradient( top, rgba(100, 172, 0, 0.1) 0%, rgba(255, 255, 255, 0)), #fff;
	background: -webkit-gradient( linear, left top, left bottom, from(rgba(100, 172, 0, 0.1)), to(rgba(255, 255, 255, 0))), #fff;
	border: 1px solid #7fcd9c;
	padding: 0 20px;
	box-shadow: 0px 1px 5px #bbb;
}

.contents section.first h3 {
	border-top: 4px solid #009b3a;
}

.contents section.first h3.wakaba {
	height: 61px;
	background: url(../images/sideTtlWakaba.png) no-repeat 10px 10px;
}

.contents section.first h3.wakaba span {
	display: none;
}

.contents section.first p.text {
	font-size: 0.75em;
	margin: 0 0 20px;
	padding: 0 10px;
}

@media screen and (max-width: 641px) {
	.contents section.first {
		margin-left: 10px;
		margin-right: 10px;
	}
}


/*
## サイドコンテンツ 新規会員登録
*/
.memberRegister a {
	display: block;
	width: 100%;
	height: 45px;
	background-color: #009b3a;
	color: #fff;
	font-weight: bold;
	font-size: 1.0em;
	text-align: center;
	border-radius: 6px;
	line-height: 45px;
	text-decoration: none;
	margin: 0 0 20px;
}

.memberRegister a:hover {
	opacity: 0.75;
}


/*
## サイドコンテンツ about us
*/
.about_us_menu {
	margin: 0 0 20px;
}

.about_us_menu .about_1 a {
	width: 100%;
	display: block;
	border-radius: 6px;
	color: #fff;
	font-weight: bold;
	font-size: 0.9em;
	padding: 10px 10px 10px 40px;
	margin: 0 0 10px;
	line-height: 1.5;
	text-decoration: none;
	text-align: left;
	background: #009b3a url(../images/iconArrowWhite.png) no-repeat 10px center;
}

.about_us_menu .about_1 a .small {
	font-size: 0.9em;
}

.about_us_menu .about_2 a, .about_us_menu .about_3 a {
	width: 100%;
	display: block;
	color: #009b3a;
	font-weight: bold;
	text-decoration: none;
	font-size: 0.9em;
	padding: 10px 10px 10px 43px;
	margin: 0;
	line-height: 1.5;
}

.about_us_menu .about_1 a:hover, .about_us_menu .about_2 a:hover, .about_us_menu .about_3 a:hover {
	text-decoration: underline;
}

.about_us_menu .about_2 a {
	background: url(../images/icon_acai.png) no-repeat 0 center;
}

.about_us_menu .about_3 a {
	background: url(../images/icon_propolis.png) no-repeat 0 center;
}

@media screen and (max-width: 641px) {
	.about_us_menu .about_1 a .small {
		padding-left: 1em;
	}
}


/*
## サイドコンテンツ ようこそ　ゲストさん
*/
.contents section.guest {
	background: -moz-linear-gradient( top, rgba(254, 223, 0, 0.1) 0%, rgba(255, 255, 255, 0)), #fff;
	background: -webkit-gradient( linear, left top, left bottom, from(rgba(254, 223, 0, 0.1)), to(rgba(255, 255, 255, 0))), #fff;
	border: 1px solid #f5c295;
	padding: 0 20px;
	box-shadow: 0px 1px 5px #bbb;
}

.contents section.guest h3 {
	border-top: 4px solid #ec8125;
	margin: 0 0 20px;
}

.contents section.guest h3.loginOff img {
	padding: 20px 0 0;
}

.contents section.guest h3.loginOn {
	padding: 20px 10px 0;
}

.contents section.guest h3.loginOn span {
	padding: 0 5px;
}

.contents section.guest p.text {
	font-size: 0.75em;
	margin: 0 0 20px;
	padding: 0 10px;
}

@media screen and (max-width: 641px) {
	.contents section.guest {
		margin-left: 10px;
		margin-right: 10px;
	}
}


/*
## サイドコンテンツ mypage ボタン
*/
.myPageBtn a {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
	color: #fff;
	font-weight: bold;
	font-size: 1.0em;
	padding: 11px 10px 9px 40px;
	margin: 0 0 10px;
	line-height: 1.5;
	text-decoration: none;
	text-align: center;
	text-align: left;
	background: #ec8125 url(../images/iconArrowWhite.png) no-repeat 10px center;
}

.myPageBtn a:hover {
	opacity: 0.75;
}


/*
## サイドコンテンツ マイページメニュー
*/

.mypage_menu {
	margin: 0 0 20px;
}

.mypage_menu li a {
	background: url(../images/iconArrowOrange2.png) no-repeat 10px center;
	padding: 0.2em 0.2em 0.2em 43px;
	margin: 0;
	color: #ec8125;
	font-size: 0.9em;
	font-weight: bold;
	text-decoration: none;
	display: block;
}

.mypage_menu li a:hover {
	text-decoration: underline;
}


/*
## サイドコンテンツ カテゴリ
*/

.sideCategory h3 {
	font-size: 1.1em;
	border-bottom: 1px solid #2fa700;
	margin: 0;
	padding: 0 0 10px 0;
}

.sideCategory h3 span {
	border-bottom: 3px solid #2fa700;
	font-weight: bold;
	padding: 10px 10px 6px 10px;
}

.sideCategory ul li {
	border-bottom: 1px dotted #ccc;
	padding: 10px;
}

.sideCategory ul li a {
	display: block;
	color: #333;
	text-decoration: none;
	font-weight: bold;
	font-size: 0.8em;
	height: 30px;
	line-height: 30px;
}

.sideCategory ul li a:hover {
	opacity: 0.75;
}
.sideCategory ul li a img {
	padding-right: 10px;
}


/*
## サイドコンテンツ 価格帯
*/
.priceRange ul li img {
	vertical-align: middle;
	margin-left: 10px;
}

.priceRange ul li span a {
	text-decoration: none;
	color: #333;
	font-size: 0.8em;
}

.priceRange ul li span a:hover {
	opacity: 0.75;
	text-decoration: underline;
}

.priceRange .level_h1 {
	font-size: 1.2em;
	margin: 10px 0 10px;
}


/*
## その他　スクロールアップ
*/
#scrollUp {
	background: url(../images/top.png) no-repeat;
}

/*
## その他　規約同意チェックボックス
*/
#isMemberAgreementFlgItemWrap, #isUseAgreementFlgItemWrap {
	background-color: #f3f3f3;
	border: 1px solid #ccc;
	text-align: center;
	padding: 10px 0;
	margin: 10px 0;
	width: 100%;
}


/*
## その他　郵便番号検索ボタンはSPで非表示
*/
@media screen and (max-width: 641px) {
	input[type="button"].postCodeSearchButton,
	input[type="button"].orderPostCodeSearchButton {
		display: none;
	}
}

/*
## その他　入力項目必須
*/
.required:after {
	background: #cf646b;
	color: #fff;
}
/* 必須アイコン付きタイトル */
.requiredTitle:after {
	border-radius: 3px;
	color: #fff;
	content: "必須";
	background: #cf646b;
	font-weight: normal;
	font-size: 0.9em;
	margin: 0 0 0 10px;
	min-width: 2em;
	padding: 0 10px;
	text-align: center;
}

/*
## その他　条件付き必須
*/
.required_condition:after {
	content: "";
	background: #cf646b;
}

/* 入力項目必須フォーム */
input:required,
select:required,
textarea:required {
	background-color: #ffcccc;
}
input:disabled,
select:disabled,
textarea:disabled {
	background-color: #eee;
}
input:valid,
select:valid,
textarea:valid {
	background-color: #fff;
}
input:required:read-only,
textarea:required:read-only {
	background-color: #f0f0f0;
	cursor: not-allowed;
}
/* IE11用 */
input:required.readonly,
textarea:required.readonly {
	background-color: #f0f0f0;
	cursor: not-allowed;
}

/* 入力必須のエラー吹き出し */
.__error .alertMessageContent {
	position: absolute;
	opacity: 0;
}
.movedError .alertMessageContent,
.realTimeInputCheckAlert {
	position: relative;
	background-image: url(../../../img/common/icon/icon_alertMsg_16-error.png);
	background-color: #f2dede;
	background-repeat: no-repeat;
	background-position: 6px 4px;
	color: #b94a48;
	padding: 6px 7px 3px 28px;
	border: 1px solid #b94a48;
	font-size: 11px;
	line-height: 1.4;
	border-radius: 3px;
	box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.2);
	text-align: left;
	z-index: 1000;
	opacity: 1;
	animation: realTimeInputCheckAlertFadeIn .5s ease-out 0s 1 normal;
	-webkit-animation: realTimeInputCheckAlertFadeIn .5s ease-out 0s 1 normal;
}
@keyframes realTimeInputCheckAlertFadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
@-webkit-keyframes realTimeInputCheckAlertFadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
.movedError .alertMessageContent::before,
.movedError .alertMessageContent::after,
.realTimeInputCheckAlert::before,
.realTimeInputCheckAlert::after {
	content: "";
	position: absolute;
	left: 10px;
	width: 0;
	height: 0;
	border-style: solid;
}
.movedError .alertMessageContent::before,
.realTimeInputCheckAlert::before {
	top: -10px;
	border-color: transparent transparent #b94a48 transparent;
	border-width: 0 10px 10px 10px;
}
.movedError .alertMessageContent::after,
.realTimeInputCheckAlert::after {
	top: -8px;
	border-color: transparent transparent #f2dede transparent;
	border-width: 0 10px 10px 10px;
}
/* お名前、フリガナ */
.__error_nameSei,
.__error_nameSeiKana,
.__error_orderNameSei,
.__error_oederNameSeiKana {
	z-index: 2;
}
.__error_nameMei,
.__error_nameMeiKana,
.__error_orderNameMei,
.__error_orderNameMeiKana {
	z-index: 1;
}
/* 生年月日のサブミット注意吹き出し */
[id^="__error_birthday"].movedError {
	display: inline-block;
	margin-top: 5px;
}
[id^="__error_birthday"].movedError .alertMessageContent {
	margin-bottom: 0;
}
[id^="__error_birthday"].movedError .alertMessageContent::before,
[id^="__error_birthday"].movedError .alertMessageContent::after {
	content: none;
}
.__error_birthdayMonth {
	z-index: 2;
}
.__error_birthdayDay {
	z-index: 1;
}
#__error_birthdayYear.movedError span { /* 「正しい日付を入力してください。」は消しておく */
	display: none;
}
#__error_birthdayYear.movedError span:nth-child(2) {
	display: block;
}
/* パスワードが一致しませんのサブミット注意吹き出し */
#__error_passwordConfirm.movedError.noMatch {
	display: inline-block;
	margin-top: 5px;
}
#__error_passwordConfirm.movedError.noMatch .alertMessageContent {
	margin-bottom: 0;
}
#__error_passwordConfirm.movedError.noMatch .alertMessageContent::before,
#__error_passwordConfirm.movedError.noMatch .alertMessageContent::after {
	content: none;
}

/* 注文入力、押し払い方法 */
 /* お支払い方法 */
 .paymentMethodGroup {
	position: relative;
}
.__error_selectedPaymentMethod {
	position: absolute;
	top: 0;
	left: 200px;
}
body#LP .__error_selectedPaymentMethod {
	top: 20px;
	left: 150px;
}
@media screen and (max-width: 641px) {
	body#LP .__error_selectedPaymentMethod {
		top: 10px;
		left: 120px;
	}
}
.__error_selectedPaymentMethod.movedError .alertMessageContent::before,
.__error_selectedPaymentMethod.movedError .alertMessageContent::after {
	content: none;
}



/* submit後の画面上部エラーエリア */
#errorGroup.show {
	display: block;
	position: fixed;
	top: 7%;
	left: 2%;
	z-index: 10000;
	animation: alertMessageContentTitleWrapFadeIn 1s ease-in 0s 1 normal;
	-webkit-animation: alertMessageContentTitleWrapFadeIn 1s ease-in 0s 1 normal;
}
@keyframes alertMessageContentTitleWrapFadeIn {
	0% {opacity: 0; top: 0}
	100% {opacity: 1; top: 7%}
}
@-webkit-keyframes alertMessageContentTitleWrapFadeIn {
	0% {opacity: 0; top: 0}
	100% {opacity: 1; top: 7%}
}
#errorGroup.show .alertMessageContentTitle,
#errorGroup.show .alertMessageContent {
	position: relative;
	background-image: url(../../../img/common/icon/icon_alertMsg_16-error.png);
	background-color: #f2dede;
	background-repeat: no-repeat;
	background-position: 9px 8px;
	color: #b94a48;
	padding: 6px 7px 3px 33px;
	border: 1px solid #b94a48;
	font-size: 16px;
	line-height: 1.4;
	border-radius: 3px;
	box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.2);
	text-align: left;
	z-index: 1000;
	animation: alertMessageContentTitleFadeIn .5s ease-out 0s 1 normal;
	-webkit-animation: alertMessageContentTitleFadeIn .5s ease-out 0s 1 normal;
}
@keyframes alertMessageContentTitleFadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
@-webkit-keyframes alertMessageContentTitleFadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
@media screen and (max-width: 641px) {
	#errorGroup.show {
		left: 10px;
		margin-right: 10px;
		opacity: 0.9;
	}
}



.debugLink {
	position: absolute;
}

/* 「同意する」に必須アイコンを付ける */
#isMemberAgreementFlg_label::before,
#isUseAgreementFlg_label::before {
	content: "必須";
	background: #cf646b;
	color: #fff;
	padding: 0 10px;
	margin: 0 20px 0 0;
	font-weight: normal;
	font-size: 0.9em;
	border-radius: 3px;
	min-width: 2em;
	text-align: center;
}

#isMemberAgreementFlgItemWrap .items,
#isUseAgreementFlgItemWrap .items {
	position: relative;
}

/*
## フォーム　生年月日
*/
select.birthdayMonth,
select.birthdayDay {
	vertical-align: top;
}
@media screen and (max-width: 641px) {
	select.birthdayMonth,
	select.birthdayDay {
		vertical-align: baseline;
	}
}

/*
## フォーム　無番地の時の注意文言改修
*/
#__error_address21 .alertMessage .subText, /* 会員登録・会員情報の確認/変更 */
#__error_address2 .alertMessage .subText, /* マイページ定期変更 */
#__error_orderAddress2 .alertMessage .subText, /* 注文入力・LP */
#__error_senderAddress2 .alertMessage .subText /* ギフト */ {
	padding-left: 20px;
}

/*
## エラーページ系（systemError）
*/
#systemError .errorMessage {
	text-align:center;
	margin: 24px auto 48px;
}
#systemError .mainText {
	font-size: 1.3em;
}
#systemError .detailText {
	margin: 2em auto;
}
@media screen and (max-width: 641px) {
	#systemError .detailText {
		width: 90%;
		text-align: left;
	}
}

/* 404 */
#systemError.notFound .mainText {
	text-indent: 1em;
	margin-bottom: 0;
}
@media screen and (max-width: 641px) {
	#systemError.notFound .mainText {
		text-indent: 0;
		font-size: 1.3rem;
	}
}

/* エラーページその他 */
.TokenErrorPage .errorMessage,
.ParticularPage .errorMessage,
.SessionTimeOutPage .errorMessage  {
	text-align:center;
	margin: 24px auto 48px;
}
.TokenErrorPage .errorMessage .mainText,
.ParticularPage .errorMessage .mainText,
.SessionTimeOutPage .errorMessage .mainText {
	font-size: 1.3em;
}
.TokenErrorPage .errorMessage .detailText,
.ParticularPage .errorMessage .detailText,
.SessionTimeOutPage .errorMessage .detailText {
	margin: 2em auto;
}
/* 古いページを要求しています */
.SessionTimeOutPage .errorMessage .subText {
	margin-bottom: 30px;
}
.SessionTimeOutPage .errorMessage .causeList {
	display: inline-block;
}
.SessionTimeOutPage .errorMessage .causeList li {
	list-style: disc;
	text-align: left;
}
@media screen and (max-width: 641px) {
	.TokenErrorPage .errorMessage .mainText,
	.ParticularPage .errorMessage .mainText,
	.SessionTimeOutPage .errorMessage .mainText {
		text-indent: 0;
		font-size: 1.3rem;
	}
	.TokenErrorPage .errorMessage .detailText,
	.ParticularPage .errorMessage .detailText,
	.SessionTimeOutPage .errorMessage .detailText {
		width: 90%;
		text-align: left;
	}
	/* 古いページを要求しています */
	.SessionTimeOutPage .errorMessage .causeList li {
		margin-left: 40px;
		margin-right: 20px;
		margin-bottom: 10px;
	}
}


/** AmazonPayポップアップ **/
#amazonpayAssist .amazonpay-button-inner-image {
	width: 100%;
	max-width: 296px;
}

/** ソーシャルログインボタン **/
.socialLoginButoonGroup {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 10px 0;
}
.socialLoginButoonGroup > div {
	margin: 0 10px 10px;
}
@font-face {
  font-family: "Noto Sans SignInGoogle";
  src: url("../../ymn/img/common/social/google/NotoSansCJKjp-Medium_subset.woff2") format("woff2"),
	   url("../../ymn/img/common/social/google/NotoSansCJKjp-Medium_subset.woff") format("woff");
}
/* Google */
#googleLogin,
#lineLogin {
	display: inline-block;
	color: #fff;
}
#googleLogin a,
#lineLogin a {
	color: #fff;
	text-decoration: none;
}
#googleLogin {
	height: 40px;
	background-color: #3689ef;
	margin-left: 40px;
}
#googleLogin a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 10px 20px;
	font-size: 14px;
	font-family: "Noto Sans SignInGoogle";
	overflow: visible;
}
#googleLogin a::before {
	content: "";
	position: absolute;
	top: 0; left: -40px;
	box-sizing: border-box;
	width: 40px;
	height: 40px;
	border: 1px solid #3689ef;
	background: url(../../ymn/img/common/social/google/google_logo.png) no-repeat center / 18px;
}

/* LINE */
#lineLogin {
	height: 40px;
	background-color: #00C300;
	border-radius: 0 7px 7px 0;
	margin-left: 34px;
}
#lineLogin:hover {
	background-color: #00e000;
}
#lineLogin a {
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	padding: 10px 30px;
	font-size: 14px;
	font-weight: bold;
	overflow: visible;
}
#lineLogin a::before {
	content: "";
	position: absolute;
	top: 0; left: -34px;
	box-sizing: border-box;
	width: 40px;
	height: 40px;
	background: url(../../ymn/img/common/social/line/line_btn_base.png) no-repeat center / cover;
	border-right: 1px solid #00b300;
}
#lineLogin:hover a::before {
	background: url(../../ymn/img/common/social/line/line_btn_hover.png) no-repeat center / cover;
	border-right: 1px solid #00c900;
}

/* マウスオーバー時 */
.fb-login-button:hover,
#googleLogin:hover,
.yconnectLogin:hover {
	opacity: 0.8;
}

/** 性別「その他」を非表示にする。（front_disp_flgは折りたくないため。）*/
/** 性別「その他」を表示したい場合はこれを非表示にする。*/
#sex_2_label {
	display: none;
}
