@charset "utf-8";

/* -------------------------------------------------
	font
------------------------------------------------- */

/*@font-face {
	font-family: 'M PLUS 1p';
	font-weight: 100;
	font-style: normal;
	src: url('../font/M_PLUS_1p/MPLUS1p-Thin.ttf') format('truetype');
}
@font-face {
	font-family: 'M PLUS 1p';
	font-weight: 300;
	font-style: normal;
	src: url('../font/M_PLUS_1p/MPLUS1p-Light.ttf') format('truetype');
}
@font-face {
	font-family: 'M PLUS 1p';
	font-weight: 400;
	font-style: normal;
	src: url('../font/M_PLUS_1p/MPLUS1p-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'M PLUS 1p';
	font-weight: 500;
	font-style: normal;
	src: url('../font/M_PLUS_1p/MPLUS1p-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'M PLUS 1p';
	font-weight: 700;
	font-style: normal;
	src: url('../font/M_PLUS_1p/MPLUS1p-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'M PLUS 1p';
	font-weight: 800;
	font-style: normal;
	src: url('../font/M_PLUS_1p/MPLUS1p-ExtraBold.ttf') format('truetype');
}
@font-face {
	font-family: 'M PLUS 1p';
	font-weight: 900;
	font-style: normal;
	src: url('../font/M_PLUS_1p/MPLUS1p-Black.ttf') format('truetype');
}*/

/* -------------------------------------------------
	reset
------------------------------------------------- */

* {
	margin: 0;
	padding: 0;
	vertical-align: top;
	box-sizing: border-box;
}

html {
}

body {
	line-height: 1;
	-webkit-text-size-adjust: 100%;
	position: relative;
	/*font-family: 'M PLUS 1p', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-weight: 400;*/
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	color: #252C41;
}

p, h1, h2, h3, h4, th, td, li, dt, dd, figcaption, input, select, textarea, strong {
	/*font-weight: 400;*/
}

img {
	border: none;
	max-width: 100%;
	height: auto;
}

iframe {
	border: none;
}

a {
	text-decoration: none;
	color: #252C41;
}
a:hover {
	
}

p a {
	color: #FF5964;
	text-decoration: underline;
}

ul, ol {
	list-style-type: none;
}

li {list-style: none;}

main {
	padding-bottom: 30px;
	display: block;
}

.disp-none {
	display: none !important;
}

.paging-disp-none {
	display: none !important;
}

@media print, screen and (min-width:768px) {
	a[href^="tel:"] {
		cursor: default;
	}
	p a:hover {
		opacity: 0.6;
	}
}

@media screen and (max-width:767px) {
	
}

/* -------------------------------------------------
	box
------------------------------------------------- */

.box560 {
	max-width: 560px;
	margin: 0 auto;
	position: relative;
}
.box820 {
	width: 92%;
	max-width: 820px;
	margin: 0 auto;
	position: relative;
}
.box860 {
	width: 96%;
	max-width: 860px;
	margin: 0 auto;
	position: relative;
}

@media screen and (max-width:767px) {
	.box560,
	.box820,
	.box860 {
		width: auto;
	}
	.box-sp {
		width: calc(335 / 375 * 100%);
		margin: 0 auto;
		position: relative;
	}
	.box-sp-narrow {
		width: calc(295 / 375 * 100%);
		margin: 0 auto;
		position: relative;
	}
}

/* -------------------------------------------------
	h
------------------------------------------------- */

.h-type1 {
	padding: 1em 0;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
}
.h-type1.new span {
	padding-left: 60px;
	display: inline-block;
	position: relative;
}
.h-type1.new span::before {
	width: 50px;
	height: 50px;
	background: #FF5964;
	content: "NEW";
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 50%;
}

.h-type2 {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
}
.h-type2 span {
	display: inline-block;
}
.h-type2 span::before {
	margin-right: 14px;
	content: "";
	display: inline-block;
}
.h-type2 span.ico1::before {
	width: 30px;
	height: 29px;
	background: url(../img/ico_06.svg) no-repeat 0 0 / 30px auto;
	vertical-align: -7px;
}
.h-type2 span.ico2::before {
	width: 30px;
	height: 25px;
	background: url(../img/ico_07.svg) no-repeat 0 0 / 30px auto;
	vertical-align: -5px;
}
.h-type2 span.ico3::before {
	width: 30px;
	height: 31px;
	background: url(../img/ico_08.svg) no-repeat 0 0 / 30px auto;
	vertical-align: -5px;
}
.h-type2 span.ico4::before {
	width: 30px;
	height: 26px;
	background: url(../img/ico_09.svg) no-repeat 0 0 / 30px auto;
	vertical-align: -4px;
}
.h-type2 span.ico5::before {
	width: 30px;
	height: 34px;
	background: url(../img/ico_10.svg) no-repeat 0 0 / 30px auto;
	vertical-align: -9px;
}

@media screen and (max-width:767px) {
	.h-type1 {
		font-size: 20px;
		line-height: 1.5;
	}
	
	.h-type1.new {
		text-align: left;
	}
	.h-type1.new span {
		display: block;
	}
	
	.h-type2 {
		text-align: left;
	}
}

/* -------------------------------------------------
	img
------------------------------------------------- */
.imgCenter {
	text-align: center;
}

/* -------------------------------------------------
	btn
------------------------------------------------- */

.btn-type1 {
	width: 315px;
	max-width: 100%;
	height: 50px;
	margin: 0 auto;
	padding-top: 0.2em;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 25px;
	background: #FF5964 url(../img/arrow_01.svg) no-repeat calc(100% - 20px) center / 20px auto;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	cursor: pointer;
	transition: background 0.2s ease-out;
}
.btn-type1.white {
	color: #252C41;
	border: solid 2px #DDDFE6;
	background: #fff url(../img/arrow_02.svg) no-repeat calc(100% - 20px) center / 20px auto;
}
.btn-type1.white2 {
	color: #FF5964;
	border: solid 2px #FF5964;
	background: #fff url(../img/arrow_04.svg) no-repeat calc(100% - 20px) center / 20px auto;
}
.btn-type1.green {
	background: #06C755 url(../img/arrow_01.svg) no-repeat calc(100% - 20px) center / 20px auto;
}
.btn-type1.lock {
	background: #FF5964 url(../img/ico_lock.svg) no-repeat 20px 44% / 15px auto;
}
.btn-type1.back {
	color: #252C41;
	background: #DDDFE6 url(../img/arrow_11.svg) no-repeat 20px center / 20px auto;
}
.btn-type1[disabled] {
	background-color: #DDDFE6 !important;
	color: #fff !important;
	cursor: default;
}
.btn-type1.white[disabled] {
	background: url(../img/arrow_01.svg) no-repeat calc(100% - 20px) center / 20px auto;
}
.btn-type1.text-middle { font-size: 18px; }
.btn-type1.text-small { font-size: 16px; }
.btn-type1.prfix20 { padding-right: 20px; }
.btn-type1.plfix20 { padding-left: 20px; }

.btn-type2 > * {
	width: 160px;
	height: 40px;
	padding-left: 20px;
	background: #DDDFE6 url(../img/arrow_03.svg) no-repeat calc(100% - 8px) center / 20px auto;
	border-radius: 20px;
	font-size: 20px;
	font-weight: bold;
	display: flex;
	align-items: center;
	margin: 30px auto 0;
	cursor: pointer;
	border: solid 2px #DDDFE6;
	transition: background 0.2s ease-out;
}
.btn-type2.focus > * {
	padding-left: 38px;
	align-items: flex-start;
	color: #fff;
	font-size: 16px;
	border: none;
	background: #252C41 url(../img/arrow_01.svg) no-repeat calc(100% - 10px) center / 20px auto;
}
.btn-type2.ext1 > * {
	margin-top: 0;
	padding-top: 2px;
	font-size: 14px;
	line-height: 1.28;
	border: solid 1px #252C41;
	background: none;
	position: relative;
	transition: background 0.2s ease-out;
}
.btn-type2.ext1.grad-blue > * { background: radial-gradient(#fff, #D1E4FF); }
.btn-type2.ext1.grad-green > * { background: radial-gradient(#fff, #D5F1EB); }
.btn-type2.ext1.grad-purple > * { background: radial-gradient(#fff, #ECE3FC); }

.btn-type2.ext1 > *::after {
	width: 20px;
	height: 20px;
	background: url(../img/arrow_03.svg) no-repeat 0 0 / 100% auto;
	content: "";
	display: block;
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
}

.btn-type3 {
	height: 40px;
	padding: 0 38px 0 18px;
	border-radius: 20px;
	font-size: 20px;
	font-weight: bold;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	border: solid 2px #DDDFE6;
	background: #fff url(../img/arrow_02.svg) no-repeat calc(100% - 8px) center / 20px auto;
	transition: background 0.2s ease-out;
}
.cate-grad-box.gourmet .btn-type3 { background-image: url(../img/arrow_04.svg); }
.cate-grad-box.leisure .btn-type3 { background-image: url(../img/arrow_05.svg); }
.cate-grad-box.shopping .btn-type3 { background-image: url(../img/arrow_06.svg); }
.cate-grad-box.living .btn-type3 { background-image: url(../img/arrow_07.svg); }
.cate-grad-box.health .btn-type3 { background-image: url(../img/arrow_08.svg); }

.btn-type4 {
	width: 240px;
	max-width: 100%;
	height: 40px;
	margin: 0 auto;
	padding: 0.1em 0 0 17px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border-radius: 25px;
	background: #eee url(../img/arrow_01.svg) no-repeat calc(100% - 10px) center / 20px auto;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	cursor: pointer;
	transition: background 0.2s ease-out;
}
.btn-type4.short { width: 200px; }
.btn-type4.skyblue { background-color: #35A7FF; }
.btn-type4.blue { background-color: #1979FF; }
.btn-type4.green { background-color: #30B79D; }

@media print, screen and (min-width:768px) {
	.btn-type1:hover { background-color: #F9A1A7; }
	.btn-type1.green:hover { background-color: #2FE67A; }
	.btn-type1.white:hover { background-color: #DDDFE6; }
	.btn-type1.white2:hover { background-color: #FCDDDF; }
	
	.btn-type2 > *:hover {
		background-color: #fff;
	}
	.btn-type2.focus > *:hover {
		background-color: #6A9FAC;
	}
	
	.btn-type2.pc-text-small > *,
	.btn-type2.pc-f16 > * {
		padding-left: 30px;
		font-size: 16px;
	}
	
	.btn-type2.ext1.grad-blue > *:hover { background: radial-gradient(#fff, #88B7F9); }
	.btn-type2.ext1.grad-green > *:hover { background: radial-gradient(#fff, #8BFCE4); }
	.btn-type2.ext1.grad-purple > *:hover { background: radial-gradient(#fff, #D2B8FF); }
	
	.cate-grad-box.gourmet .btn-type3:hover { background-color: #ffdfe1; }
	.cate-grad-box.leisure .btn-type3:hover { background-color: #fff7dd; }
	.cate-grad-box.shopping .btn-type3:hover { background-color: #ffe5d6; }
	.cate-grad-box.living .btn-type3:hover { background-color: #ffe5d6; }
	.cate-grad-box.health .btn-type3:hover { background-color: #d9eeff; }
	
	.btn-type4.skyblue:hover { background-color: #76C1FB; }
	.btn-type4.blue:hover { background-color: #69A5F9; }
	.btn-type4.green:hover { background-color: #55D4BB; }
}

@media screen and (max-width:767px) {
	.btn-type2.sp-f16 > * {
		padding-left: 28px;
		font-size: 16px;
	}
}

/* -------------------------------------------------
	.btn-group1
------------------------------------------------- */

.btn-group1 {
	margin-top: 30px;
}

@media print, screen and (min-width:768px) {
	.btn-group1 {
		display: flex;
		justify-content: center;
		flex-direction: row-reverse;
	}
	.btn-group1 li + li {
		margin-right: 20px;
	}
}

@media screen and (max-width:767px) {
	.btn-group1 li + li {
		margin-top: 20px;
	}
}

/* -------------------------------------------------
	.fv-type1
------------------------------------------------- */

@media print, screen and (min-width:1281px) {
	.fv-type1 img {
		width: 100%;
	}
}

@media print, screen and (min-width:768px) and (max-width:1280px) {
	.fv-type1 {
		height: 400px;
		position: relative;
		overflow: hidden;
	}
	.fv-type1 img {
		width: auto;
		height: 100%;
		max-width: none;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}
}

@media print, screen and (min-width:768px) and (max-width:999px) {
	.fv-type1 {
		height: calc(400 / 999 * 100vw);
	}
}

@media screen and (max-width:767px) {
	.fv-type1 img {
		width: 100%;
	}
}

/* -------------------------------------------------
	.fv-type2
------------------------------------------------- */

.fv-type2 img {
	border-radius: 4px;
}

/* -------------------------------------------------
	.slide-type1
------------------------------------------------- */

.slide-type1 .slick-dots {
	display: flex;
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
}
.slide-type1 .slick-dots li {
	width: 10px;
	height: 10px;
	margin: 0 5px;
	background: #DDDFE6;
	border-radius: 5px;
	overflow: hidden;
	transition: background 0.2s ease-out;
}
.slide-type1 .slick-dots li.slick-active {
	background: #FF5964;
}
.slide-type1 .slick-dots li button {
	width: 100%;
	height: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	opacity: 0;
	cursor: pointer;
}

.slide-type1 .slick-arrow {
	width: 12px;
	height: 22px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	overflow: hidden;
	color: transparent;
	border: none;
	z-index: 10;
	cursor: pointer;
}
.slide-type1 .slick-arrow.slick-prev {
	left: 10px;
	background: url(../img/arrow_10.svg) no-repeat 0 0 / 100% auto;
}
.slide-type1 .slick-arrow.slick-next {
	right: 10px;
	background: url(../img/arrow_09.svg) no-repeat 0 0 / 100% auto;
}

/* dots-out */
.slide-type1.dots-out {
	padding-bottom: 30px;
}
.slide-type1.dots-out .slick-dots {
	bottom: -30px;
}

@media print, screen and (min-width:1281px) {
	.slide-type1 .item img {
		width: 100%;
	}
}

@media print, screen and (min-width:768px) and (max-width:1280px) {
	.slide-type1 .item {
		height: 400px;
		position: relative;
		overflow: hidden;
	}
	.slide-type1 .item img {
		width: auto;
		height: 100%;
		max-width: none;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}
}

@media print, screen and (min-width:768px) and (max-width:999px) {
	.slide-type1 .item {
		height: calc(400 / 999 * 100vw);
	}
}

@media screen and (max-width:767px) {
	.slide-type1 img {
		width: 100%;
	}
	
	.slide-type1 .slick-dots li {
		width: 8px;
		height: 8px;
		margin: 0 4px;
		border-radius: 4px;
		bottom: 10px;
	}

	.slide-type1 .slick-arrow {
		width: 9px;
		height: 16px;
	}
}

/* -------------------------------------------------
	.cate-h1-wrap
------------------------------------------------- */

.cate-h1-wrap {
	text-align: center;
	position: relative;
	z-index: 2;
}

.cate-h1-wrap.no-border {
	border: none;
}

.cate-h1-wrap .ico {
	width: 80px;
	display: block;
	margin: -34px auto 0;
}
.cate-h1-wrap h1 {
	margin-top: 1em;
	font-size: 30px;
	font-weight: bold;
}
.cate-h1-wrap .lead {
	margin-top: 1em;
	font-size: 16px;
	line-height: 1.5;
}
.cate-h1-wrap.no-border .lead {
	margin-top: 1.5em;
}

@media screen and (max-width:767px) {
	.cate-h1-wrap {
	}
	.cate-h1-wrap .ico {
		margin: -34px 0 0;
	}
	.cate-h1-wrap h1 {
		font-size: 20px;
	}
	.cate-h1-wrap .ico + h1 {
		margin-top: -23px;
	}
	.cate-h1-wrap .lead {
		margin-top: 0.8em;
	}
}

/* -------------------------------------------------
	.banner-box1
------------------------------------------------- */

.banner-box1 {
	padding: 20px 0 30px;
	text-align: center;
}
.banner-box1 .headline1 {
	font-size: 20px;
	font-weight: bold;
}
.banner-box1 .headline2 {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.28;
}
.banner-box1 .banner {
	width: 335px;
	max-width: 100%;
	display: block;
	margin: 20px auto 0;
	border: solid 2px #DDDFE6;
	border-radius: 4px;
	overflow: hidden;
}
.banner-box1 .banner img {
	transition: opacity 0.2s ease-out;
}

.banner-box1 .banner-list {
	margin-top: 20px;
	display: flex;
	justify-content: center;
}
.banner-box1 .banner-list li {
	width: 160px;
}
.banner-box1 .banner-list li a {
	display: block;
	border: solid 2px #DDDFE6;
	border-radius: 4px;
	overflow: hidden;
}
.banner-box1 .banner-list li a img {
	transition: opacity 0.2s ease-out;
}
.banner-box1 .banner-list li p {
	font-size: 14px;
	margin-top: 1em;
}

@media print, screen and (min-width:768px) {
	.banner-box1 .banner-list li + li {
		margin-left: 15px;
	}
	
	.banner-box1 a.banner:hover img,
	.banner-box1 .banner-list li a:hover img {
		opacity: 0.6;
	}
}

@media screen and (max-width:767px) {
	.banner-box1 .banner-list {
		width: 349px;
		margin-left: auto;
		margin-right: auto;
		flex-wrap: wrap;
		position: relative;
		left: -7px;
	}
	.banner-box1 .banner-list li {
		margin: 0 7px;
	}
	.banner-box1 .banner-list li:nth-child(2) ~ li {
		margin-top: 15px;
	}
}

@media screen and (max-width:374px) {
	.banner-box1 .banner-list {
		width: 109%;
		margin-left: -2%;
	}
	.banner-box1 .banner-list li {
		width: 44%;
		margin: 0 2.3%;
	}
}

/* -------------------------------------------------
	.banner-box2
------------------------------------------------- */

.banner-box2 {
	padding: 20px 0 15px;
	text-align: center;
}
.banner-box2 .headline {
	font-size: 20px;
	font-weight: bold;
}
.banner-box2 ul {
	width: 700px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 20px auto 0;
}
.banner-box2 ul li {
	width: 160px;
	margin: 0 7px 15px;
}
.banner-box2 ul li.wide {
	width: 335px;
}

@media print, screen and (min-width:768px) {
	.banner-box2 ul li a {
		display: block;
		transition: opacity 0.2s ease-out;
	}
	.banner-box2 ul li a:hover {
		opacity: 0.6;
	}
}

@media screen and (max-width:767px) {
	.banner-box2 ul {
		width: 350px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (max-width:374px) {
	.banner-box2 ul {
		width: 100%;
	}
	.banner-box2 ul li {
		width: 42.4%;
	}
	.banner-box2 ul li.wide {
		width: 90%;
	}
}

/* -------------------------------------------------
	.coupon-box1
------------------------------------------------- */

.coupon-box1 {
	padding: 30px 0;
}
.coupon-box1.padding20 {
	padding: 20px 0;
}
.coupon-box1.pb0 {
	padding-bottom: 0;
}
.coupon-box1 .coupons {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.coupon-box1 .coupons a {
	height: 111px;
	display: block;
	/*border: solid 2px #DDDFE6;*/
	border-radius: 4px;
	overflow: hidden;
	text-align: center;
	position: relative;
}
.coupon-box1 .coupons a.no-margin-bottom {
	margin-bottom: 0 !important;
}
.coupon-box1 .coupons a.has-two-box {
	display: flex;
	flex-direction: column;
}
.coupon-box1 .coupons .half a {
	height: 60px;
	display: flex;
	flex-direction: column;
}
.coupon-box1 .coupons a.wide img {
	width: 100%;
	transition: opacity 0.2s ease-out;
}
.coupon-box1 .coupons .wide img {
	width: 100%;
	transition: opacity 0.2s ease-out;
}
.coupon-box1 .coupons a:not(.more)::after {
	content: "";
	width: 25px;
	height: 25px;
	display: block;
	/* background: #000; */
	position: absolute;
	z-index: 10;
	left: -13px;
	top: -13px;
	transform: rotate(45deg);
}
body.pageID-gourmetTop .coupon-box1 .coupons a::after,
.coupon-box1 .coupons a.gourmet::after,
.gourmet .coupon-box1 .coupons a::after {
	background: #FF5964;
}
body.pageID-healthTop .coupon-box1 .coupons a::after,
.coupon-box1 .coupons a.health::after,
.health .coupon-box1 .coupons a::after {
	background: #35A7FF;
}
body.pageID-leisureTop .coupon-box1 .coupons a::after,
.coupon-box1 .coupons a.leisure::after,
.leisure .coupon-box1 .coupons a::after {
	background: #FFD64C;
}
body.pageID-shoppingTop .coupon-box1 .coupons a::after,
.coupon-box1 .coupons a.shopping::after,
.shopping .coupon-box1 .coupons a::after {
	background: #FF7826;
}
body.pageID-livingTop .coupon-box1 .coupons a::after,
.coupon-box1 .coupons a.living::after,
.living .coupon-box1 .coupons a::after {
	background: #00C07F;
}

.coupon-box1 .coupons a .top,
.coupon-box1 .coupons a .bottom {
	height: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.coupon-box1 .wide .top {
	height:inherit!important;
	display:inherit!important;
}
.coupon-box1 .wide .bottom {
  display: none;
  height: 0;
  overflow: hidden;
}
.coupon-box1 .bottom {
  background-color:#f5f6fa;
}
.coupon-box1 .coupons a .top {
	transition: opacity 0.2s ease-out;
}
.coupon-box1 .coupons a .top img {
	vertical-align: top;
}
.coupon-box1 .coupons a p {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.25;
}
.coupon-box1 .coupons a .bottom {
	border-top: dashed 2px #DDDFE6;
	background: #f5f6fa;
}

.coupon-box1 .coupons a .favorite {
	width: 60px;
	height: 52px;
	cursor: pointer;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 10;
}
.coupon-box1 .coupons a .favorite::before {
	width: 20px;
	height: 18px;
	content: "";
	display: block;
	position: absolute;
	right: 10px;
	top: 10px;
	background: url(../img/heart_01.svg) no-repeat 0 0 / 100% auto;
}
.coupon-box1 .coupons a .favorite.on::before {
	background: url(../img/heart_02.svg) no-repeat 0 0 / 100% auto;
}

.coupon-box1 .btn-type2 {
	margin-top: 10px;
}

.coupon-box1 .coupons span .campain-box {
	margin: 0px 10px 10px;
	border: 2px solid #dddfe6;
	border-radius: 4px;
}

@media print, screen and (min-width:768px) {
	.coupon-box1 .coupons {
		width: calc(100% + 14px);
		margin-left: -7px;
	}
	.coupon-box1 .coupons a {
		/*margin: 0 7px 5px;*/
	}
	.coupon-box1 .coupons p {
		text-align: center;
	    padding: 10px 6px;
	    background-color: rgb(245 246 250);
	    border-top: 2px dashed #dddfe6;
	    font-weight: 700;
	    height: 100%;
	    min-height: 40px;
	    line-height: 1.2rem;
	}

	.coupon-box1 .coupons a.half {
		width: calc(160 / 874 * 100%);
	}
	.coupon-box1 .coupons a.wide {
		width: calc(335 / 874 * 100%);
	}
	
	.coupon-box1 .coupons a:hover .top,
	.coupon-box1 .coupons a.wide:hover img {
		opacity: 0.6;
	}

	.coupon-box1 .coupons span {
		margin: 0 7px 20px;
	}
	.coupon-box1 .coupons span.half {
		width: calc(160 / 874 * 100%);
	}
	.coupon-box1 .coupons span.wide {
		width: calc(335 / 874 * 100%);
	}
	
	.coupon-box1 .coupons span:hover .top,
	.coupon-box1 .coupons span.wide:hover img {
		opacity: 0.6;
	}
}

@media print, screen and (min-width:768px) and (max-width:920px) {
	.coupon-box1 .coupons a {
		height: calc(140 / 920 * 100vw);
		/*margin: 0 calc(7 / 920 * 100vw) 5px;*/
	}
	.coupon-box1 .coupons a p {
		font-size: calc(16 / 920 * 100vw);
	}

	.coupon-box1 .coupons p {
		text-align: center;
	    padding: 10px 6px;
	    background-color: rgb(245 246 250);
	    border-top: 2px dashed #dddfe6;
	    font-weight: 700;
	    height: 100%;
	    min-height: 40px;
	    line-height: 1.2rem;
	}
}

@media screen and (max-width:767px) {
	.coupon-box1 .coupons {
		max-width: 335px;
		margin: 0 auto;
		justify-content: space-between;
	}
	.coupon-box1 .coupons a {
		height: 111px;
		/*margin-bottom: 5px;*/
	}

	.coupon-box1 .coupons p {
		text-align: center;
	    padding: 10px 6px;
	    background-color: rgb(245 246 250);
	    border-top: 2px dashed #dddfe6;
	    font-weight: 700;
	    height: 100%;
	    min-height: 40px;
	    line-height: 1.2rem;
	}

	.coupon-box1 .coupons a.half {
		width: 160px;
	}
	.coupon-box1 .coupons a.wide {
		width: 100%;
	}
	.coupon-box1 .coupons span {
		height: 111px;
		margin-bottom: 40px;
	}
	.coupon-box1 .coupons span.half {
		width: 160px;
	}
	.coupon-box1 .coupons span.wide {
		width: 100%;
	}
	.coupon-box1 .coupons a.sp-auto-height {
		height: auto;
	}
	
	.coupon-box1 .coupons a.more {
		background: #f8f8fb;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.coupon-box1 .coupons a.more p {
		padding-top: 27px;
		background: url(../img/plus_01.svg) no-repeat center top / 23px auto;
		line-height: 1;
	}
	
	/* sp-nowrap */
	.coupon-box1 .coupons-sp-scroll {
		width: 106.0%;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	.coupon-box1 .coupons.sp-nowrap {
		max-width: none;
		flex-wrap: nowrap;
		padding-right: 15px;
	}
	.coupon-box1 .coupons.sp-nowrap a {
		height: 120px;
		margin-bottom: 0;
	}
	.coupon-box1 .coupons.sp-nowrap a.half {
		width: 111px;
	}
	.coupon-box1 .coupons.sp-nowrap a.wide {
		width: 295px;
	}
	.coupon-box1 .coupons a p {
		font-size: 14px;
	}
	.coupon-box1 .coupons.sp-nowrap span{
		height: 120px;
		margin-bottom: 0;
	}
	.coupon-box1 .coupons.sp-nowrap span.half {
		width: 111px;
	}
	.coupon-box1 .coupons.sp-nowrap span.wide {
		width: 295px;
	}
	.coupon-box1 .coupons span p {
		font-size: 14px;
	}
}

@media screen and (max-width:374px) {
	.coupon-box1 .coupons a {
		height: calc(140 / 374 * 100vw);
	}
	.coupon-box1 .coupons a.half {
		width: calc(160 / 374 * 100vw);
	}
	.coupon-box1 .coupons a p {
		font-size: calc(16 / 374 * 100vw);
	}
	
	/* sp-nowrap */
	.coupon-box1 .coupons.sp-nowrap a.half {
		width: calc(140 / 374 * 100vw);
	}
	.coupon-box1 .coupons.sp-nowrap a.wide {
		width: calc(295 / 374 * 100vw);
	}
	.coupon-box1 .coupons a p {
		font-size: calc(14 / 374 * 100vw);
	}
	.coupon-box1 .coupons span {
		height: calc(140 / 374 * 100vw);
	}
	.coupon-box1 .coupons span.half {
		width: calc(160 / 374 * 100vw);
	}
	.coupon-box1 .coupons span p {
		font-size: calc(16 / 374 * 100vw);
	}
	
	/* sp-nowrap */
	.coupon-box1 .coupons.sp-nowrap span.half {
		width: calc(140 / 374 * 100vw);
	}
	.coupon-box1 .coupons.sp-nowrap span.wide {
		width: calc(295 / 374 * 100vw);
	}
	.coupon-box1 .coupons span p {
		font-size: calc(14 / 374 * 100vw);
	}
}

/* -------------------------------------------------
	.coupon-box2
------------------------------------------------- */

.coupon-box-scroll-x{
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
    display: block;
    max-width: 875px;
    margin: 0px auto;
}

.coupon-box2 .item {
	border: solid 2px #DDDFE6;
	border-radius: 4px;
	overflow: hidden;
	position: relative;
	text-align: center;
}

.coupon-box2 .item.new::before {
	width: 100%;
	height: 17px;
	display: block;
	content: 'NEW';
	color: #fff;
	font-size: 12px;
	line-height: 17px;
	font-weight: bold;
	text-align: center;
	background: #FF5964;
	transform: translate(-40%,50%) rotate(-45deg);
	position: absolute;
	left: 0;
	top: 0;
}

.coupon-box2 .item .fav {
	width: 40px;
	height: 36px;
	background: url(../img/heart_01.svg) no-repeat 0 0 / 50% auto;
	position: absolute;
	background-position: 14px 6px;
	right: 2px;
	top: 2px;
	z-index: 10;
	cursor: pointer;
}
.coupon-box2 .item.fav-on .fav {
	background-image: url(../img/heart_02.svg);
}

.coupon-box2 .item .shop {
	min-height: 48px;
	background: #DDDFE6;
	position: relative;
}
.coupon-box2 .item .shop::before {
	content: "";
	display: block;
	width: 100%;
	height: 0;
	border-top: dashed 2px #DDDFE6;
	position: absolute;
	top: -1px;
	left: 0;
}
.coupon-box2 .item .shop a,
.coupon-box2 .item .desc a {
	width: 100%;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 14px;
	line-height: calc(20 / 14);
	display: block;
}
.coupon-box2 .item .shop a {
	font-weight: bold;
}
.coupon-box2 .item .desc {
	min-height: 48px;
	background: #FFD64C;
	position: relative;
}

@media print, screen and (min-width:768px) {
	.coupon-box2 {
		max-width: 875px;
		min-width: 875px;
		margin: -10px auto;
		min-height: 100px;
	}
	.coupon-box2 .item {
		width: calc(160 / 875 * 100%);
		float: left;
		margin: 10px calc(8 / 875 * 100%) 10px calc(7 / 875 * 100%);
	}
	.coupon-box2 .item.clear-left {
		clear: left;
	}
}

@media print, screen and (min-width:768px) and (max-width:900px) {
	.coupon-box2 {
		width: calc( (137px * 5) + (15px * 5) );
	}
	.coupon-box2 .item {
		width: 137px;
		height: 120px;
	}
	.coupon-box2.with-desc .item {
		height: 161px;
	}
	
	.coupon-box2 .item .shop,
	.coupon-box2 .item .desc {
		height: 41px;
	}
	.coupon-box2 .item .shop a,
	.coupon-box2 .item .desc a {
		/*font-size: 12px;*/
	}
}

@media screen and (max-width:767px) {
	.coupon-box2 {
		max-width: 350px;
		margin: -10px auto;
		min-height: 100px;
	}
	.coupon-box2 .item {
		width: calc(160 / 350 * 100%);
		margin: 10px calc(8 / 350 * 100%) 10px calc(7 / 350 * 100%);
		float: left;
	}
}

/* -------------------------------------------------
	グラデーションボックス
------------------------------------------------- */

.grad-box1 {
	overflow: hidden;
	border-top: solid 4px #DDDFE6;
	background: -moz-linear-gradient(180deg, #f4f5f9 0px, #ffffff 160px);
	background: -webkit-linear-gradient(180deg, #f4f5f9 0px, #ffffff 160px);
	background: linear-gradient(180deg, #f4f5f9 0px, #ffffff 160px);
}
.grad-box1.mt30 {
	margin-top: 30px;
}

/* -------------------------------------------------
	フォームパーツ
------------------------------------------------- */

input[type="text"],
input[type="email"],
input[type="number"],
input[type="tel"],
textarea,
select {
	width: 100%;
	padding: 0.5em;
	border: solid 1px #9296A0;
	display: block;
	border-radius: 4px;
	font-size: 16px;
	line-height: 1.4;
	box-shadow: 2px 2px 5px 0 rgba(0,0,0,0.2) inset;
	background: #fff;
	color: #252C41;
}

select.w-auto {
	width: auto;
}

.check-type1 {
	text-align: center;
}
.check-type1.left {
	text-align: left;
}
.check-type1 input[type="checkbox"] {
	display: none;
}
.check-type1 label {
	height: 24px;
	padding: 3px 0 0 34px;
	display: inline-block;
	position: relative;
	font-size: 16px;
	cursor: pointer;
}
.check-type1 label::before {
	width: 24px;
	height: 24px;
	border: solid 1px #9296A0;
	box-shadow: 2px 2px 5px 0 rgba(0,0,0,0.2) inset;
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-56%);
	background: #fff;
}
.check-type1 input:checked + label::after {
	width: 18px;
	height: 8px;
	border-left: solid 3px #9296A0;
	border-bottom: solid 3px #9296A0;
	transform: rotate(-50deg);
	content: "";
	display: block;
	position: absolute;
	left: 2px;
	top: 5px;
}

.radio-type1 {
	display: flex;
}
.radio-type1 .radio {
	padding-left: 34px;
	margin-right: 30px;
	display: inline-block;
	cursor: pointer;
	position: relative;
	font-size: 16px;
	white-space: nowrap;
}
.radio-type1 .radio.no-mr {
	margin-right: 0;
}
.radio-type1 .radio input {
	display: none;
}
.radio-type1 .radio span::before {
	width: 24px;
	height: 24px;
	border: solid 1px #707070;
	box-shadow: 2px 2px 5px 0 rgba(0,0,0,0.3) inset;
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 50%;
}
.radio-type1 .radio input:checked + span::after {
	width: 12px;
	height: 12px;
	background: #FE828A;
	display: block;
	content: "";
	position: absolute;
	left: 7px;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 50%;
	z-index: 4;
}

::placeholder {
	color: #BCBEC5;
}

/* -------------------------------------------------
	.line-box1
------------------------------------------------- */

.line-box1 {
	padding: 30px 0;
	text-align: center;
}

.line-box1 .copy1 {
	position: relative;
}
.line-box1 .copy1::before {
	width: 355px;
	height: 150px;
	display: block;
	background: #FFD64C;
	border-radius: 50%;
	position: absolute;
	left: 50%;
	top: 5px;
	transform: translateX(-50%);
	content: "";
}
.line-box1 .copy1 .group {
	position: relative;
	z-index: 4;
}
.line-box1 .copy1 img {
	width: 248px;
}
.line-box1 .copy1 .text1 {
	margin-top: 0.7em;
	font-size: 18px;
}
.line-box1 .copy1 .text2 {
	margin-top: 0.2em;
	font-size: 20px;
	font-weight: bold;
}

.line-box1 .copy2 {
	margin-top: 55px;
	position: relative;
}
.line-box1 .copy2::before,
.line-box1 .copy2::after {
	height: 53px;
	position: absolute;
	content: "";
	display: block;
	top: 8px;
}
.line-box1 .copy2::before {
	width: 47px;
	left: calc(50% - 182px);
	background: url(../img/fig_01.svg) no-repeat 0 0 / auto 100%;
}
.line-box1 .copy2::after {
	width: 51px;
	right: calc(50% - 182px);
	background: url(../img/fig_02.svg) no-repeat 0 0 / auto 100%;
}
.line-box1 .copy2 .group {
	position: relative;
	z-index: 4;
}
.line-box1 .copy2 .text1 {
	font-size: 20px;
	font-weight: bold;
	color: #06C755;
	line-height: 1.5;
}

.line-box1 .btn-type1 {
	margin-top: 20px;
}

.line-button > a {
	color: #FFFFFF;
}

@media screen and (max-width:767px) {
	.line-box1 .copy1::before {
		width: 100%;
	}
	
	.line-box1 .copy1::before {
		max-width: 355px;
	}
	
	.line-box1 .copy2 {
		margin-top: 55px;
		margin-bottom: -8px;
	}
	
	.line-box1 .btn-type1 {
		margin-top: 25px;
	}
}

/* -------------------------------------------------
	.cate-grad-box
------------------------------------------------- */

.cate-grad-box {
	padding-bottom: 20px;
}
.cate-grad-box.gourmet {
	border-top: solid 4px #FF5964;
	background: -moz-linear-gradient(180deg, #FFDEE0 0px, #ffffff 160px);
	background: -webkit-linear-gradient(180deg, #FFDEE0 0px, #ffffff 160px);
	background: linear-gradient(180deg, #FFDEE0 0px, #ffffff 160px);
}
.cate-grad-box.leisure {
	border-top: solid 4px #FFD64C;
	background: -moz-linear-gradient(180deg, #FFF7DC 0px, #ffffff 160px);
	background: -webkit-linear-gradient(180deg, #FFF7DC 0px, #ffffff 160px);
	background: linear-gradient(180deg, #FFF7DC 0px, #ffffff 160px);
}
.cate-grad-box.shopping {
	border-top: solid 4px #FF7826;
	background: -moz-linear-gradient(180deg, #FFE4D4 0px, #ffffff 160px);
	background: -webkit-linear-gradient(180deg, #FFE4D4 0px, #ffffff 160px);
	background: linear-gradient(180deg, #FFE4D4 0px, #ffffff 160px);
}
.cate-grad-box.living {
	border-top: solid 4px #00C07F;
	background: -moz-linear-gradient(180deg, #CDF3E6 0px, #ffffff 160px);
	background: -webkit-linear-gradient(180deg, #CDF3E6 0px, #ffffff 160px);
	background: linear-gradient(180deg, #CDF3E6 0px, #ffffff 160px);
}
.cate-grad-box.health {
	border-top: solid 4px #35A7FF;
	background: -moz-linear-gradient(180deg, #D7EEFF 0px, #ffffff 160px);
	background: -webkit-linear-gradient(180deg, #D7EEFF 0px, #ffffff 160px);
	background: linear-gradient(180deg, #D7EEFF 0px, #ffffff 160px);
}

.cate-grad-box .ico {
	width: 80px;
	display: block;
	margin: -33px auto 0;
}
.cate-grad-box .btn-wrap {
	margin-top: 10px;
	text-align: center;
}

/* -------------------------------------------------
	ページの先頭にある閉じるボタン付き注記
------------------------------------------------- */

#first-notice {
	padding: 7px 0;
	background: #FFD64C;
	text-align: center;
	position: relative;
}
#first-notice p {
	padding-left: 2em;
	font-size: 14px;
	line-height: 1.2;
	display: inline-block;
	text-align: left;
	background: url(../img/alert_01.svg) no-repeat left top / 16px auto;
}
#first-notice .close {
	width: 16px;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
}

@media screen and (max-width:767px) {
	body.pageID-top #first-notice p {
		padding-top: 2px;
		min-height: 16px;
		font-size: 10px;
	}
}

/* -------------------------------------------------
	.notice-box
------------------------------------------------- 

.notice-box1 {
	padding: 5px 0;
	background: #252C41;
	position: relative;
}
.notice-box1 p {
	font-size: 16px;
	line-height: 1.2;
	color: #fff;
	text-align: center;
}

@media screen and (max-width:767px) {
	.notice-box1 {
		padding: 3px 0;
	}
	.notice-box1 p {
		font-size: 14px;
	}
}

html例
<div class="notice-box1">
	<div class="box860 box-sp">
		<p>キャンペーン期間：2022年3月31日（木）まで</p>
	</div>
</div>

*/

/* -------------------------------------------------
	.strong-box1
------------------------------------------------- */

.strong-box1 {
	margin-top: 30px;
	border-radius: 4px;
	overflow: hidden;
}
.strong-box1 .headline {
	padding: 0.5em 0;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background: #FF5964;
}
.strong-box1 .body {
	padding: 20px;
	background: #FFDEE0;
}
.strong-box1 .body p {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
}
.strong-box1 .body p + p {
	margin-top: 1em;
}

/* -------------------------------------------------
	.accordion-type1
------------------------------------------------- */

.accordion-type1 {
	margin-top: 30px;
}
.accordion-type1 .item {
	border-top: solid 4px #DDDFE6;
	background: -moz-linear-gradient(180deg, #f4f5f9 0px, #ffffff 160px);
	background: -webkit-linear-gradient(180deg, #f4f5f9 0px, #ffffff 160px);
	background: linear-gradient(180deg, #f4f5f9 0px, #ffffff 160px);
}
.accordion-type1 .item .head {
	height: 66px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	cursor: pointer;
}
.accordion-type1 .item .head .headline {
	font-size: 20px;
	font-weight: bold;
}
.accordion-type1 .item .head::after {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background: url(../img/arrow_03.svg) no-repeat 0 0 / 100% auto;
	position: absolute;
	right: 20px;
	top: 23px;
	transform: rotateX(0deg);
	transition: all 0.2s ease-out;
}
.accordion-type1 .item.on .head::after {
	transform: rotateX(180deg);
}
.accordion-type1 .body {
	display: none;
}
.accordion-type1 .body .inner {
	padding-bottom: 30px;
	font-size: 16px;
}
.accordion-type1 .body .inner .center {
	text-align: center;
}
.accordion-type1 .body .inner p,
.accordion-type1 .body .inner ol li {
	font-size: 16px;
	line-height: 1.5;
}
.accordion-type1 .body .inner ol.num {
	list-style-type: decimal;
	padding-left: 25px;
}
.accordion-type1 .body .inner p + p,
.accordion-type1 .body .inner p + ol,
.accordion-type1 .body .inner li + li {
	margin-top: 1em;
}

/* -------------------------------------------------
	.title-group1
------------------------------------------------- */

.title-group1 {
	position: relative;
}
.title-group1 .ico {
	width: 80px;
	position: absolute;
	left: 20px;
	top: 0;
	z-index: 10;
	transform: translateY(-50%);
}
.title-group1 .ico.right {
	left: auto;
	right: 20px;
}
.title-group1 .headline {
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	background: #666;
}
.gourmet .title-group1 .headline { background: #FF5964; }
.leisure .title-group1 .headline { background: #FFD64C; }
.shopping .title-group1 .headline { background: #FF7826; }
.living .title-group1 .headline { background: #00C07F; }
.health .title-group1 .headline { background: #35A7FF; }

.title-group1 .copy {
	margin-top: 1.4em;
	font-size: 16px;
	text-align: center;
}

/* -------------------------------------------------
	ページ下部固定ボックス1 #bottom-fix-box1
------------------------------------------------- */

#bottom-fix-box1 {
	width: 100%;
	height: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background: rgba(38,44,65,0.85);
	position: fixed;
	z-index: 90;
	left: 0;
	bottom: 0;
}
#bottom-fix-box1 p {
	padding-left: 21px;
	margin-bottom: 6px;
	color: #fff;
	font-size: 10px;
	line-height: 16px;
	background: url(../img/alert_02.svg) no-repeat left center / 16px auto;
}

@media screen and (max-width:374px) {
	#bottom-fix-box1 p {
		font-size: 9px;
	}
}

/* -------------------------------------------------
	エラー
------------------------------------------------- */

.error-text {
	padding-left: 24px;
	font-size: 16px;
	line-height: 1.5;
	text-align: left;
	color: #FF5964;
	background: url(../img/alert_03.svg) no-repeat 0 4px / 16px auto;
}

/* -------------------------------------------------
	タブスタイル
------------------------------------------------- */

.tab-type1 {
	padding: 30px 0;
	display: flex;
	justify-content: center;
}
.tab-type1 li {
	width: 105px;
	height: 40px;
	padding-top: 2px;
	border-radius: 20px;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	border: solid 1px #252C41;
	background: url(../img/bg_04.jpg) no-repeat 0 0 / 100% 100%;
	transition: all 0.2s ease-out;
}
.tab-type1 li.current {
	background: #3B4154;
	color: #fff;
}
.tab-type1 li p {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.14;
	text-align: center;
}
.tab-type1 li p.heart {
	padding-left: 19px;
	background: url(../img/heart_02.svg) no-repeat left center / 16px auto;
}

@media print, screen and (min-width:768px) {
	.tab-type1 li:hover {
		background: #3B4154;
		color: #fff;
	}
	.tab-type1 li + li {
		margin-left: 10px;
	}
}

@media screen and (max-width:767px) {
	.tab-type1 {
		max-width: 335px;
		margin: 0 auto;
		flex-wrap: wrap;
	}
	.tab-type1 li:not(:nth-child(3n)) {
		margin-right: 10px;
	}
	.tab-type1 li:nth-child(3) ~ li {
		margin-top: 15px;
	}
}

@media screen and (max-width:374px) {
	.tab-type1 {
		max-width: calc((97px * 3) + 16px);
	}
	.tab-type1 li {
		width: 97px;
	}
	.tab-type1 li:not(:nth-child(3n)) {
		margin-right: 8px;
	}
}

/* -------------------------------------------------
	絞りこみ
------------------------------------------------- */

#focus-area .headline {
	padding: 1.3em 0 1.2em;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	line-height: 1;
}
#focus-area select {
	max-width: 335px;
	width: 100%;
	margin: 0 auto;
}
#focus-area select + select {
	margin-top: 10px;
}
#focus-area .btn-type2 {
	margin-top: 20px;
}

/* -------------------------------------------------
	ソート
------------------------------------------------- */

.sort-btn-wrap {
	height: 40px;
	margin-top: 20px;
	text-align: right;
	position: relative;
	z-index: 20;
}
.sort-btn {
	width: 160px;
	display: inline-block;
	background: #DDDFE6;
	border-radius: 20px;
	overflow: hidden;
}
.sort-btn p {
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	font-weight: bold;
	cursor: pointer;
}
.sort-btn p.current::before {
	width: 20px;
	height: 18px;
	margin-right: 5px;
	background: url(../img/arrow_12.svg) no-repeat 0 0 / 100% auto;
	content: "";
	display: inline-block;
}
.sort-btn .hidden {
	width: 100%;
	display: none;
}
.sort-btn .hidden p {
	border-top: solid 1px #fff;
	transition: background 0.2s ease-out;
}

@media print, screen and (min-width:768px) {
	.sort-btn .hidden p:hover {
		background: #BABABE;
	}
}

@media screen and (max-width:767px) {
	.sort-btn-wrap {
		max-width: 335px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* -------------------------------------------------
	カテゴリー楕円横並び　.cate-style1
------------------------------------------------- */

.cate-style1 {
	text-align: center;
}
.cate-style1 div {
    height: 32px;
    font-size: 12px;
    display: inline-block;
    overflow: hidden;
	border-radius: 32px;
}

.cate-style1 div a,
.cate-style1 div span {
	width: 100%;
	height: 100%;
	padding: 0 1.3em;
	font-size: 12px;
	line-height: 30px;
	font-weight: bold;
	display: inline-block;
	background: radial-gradient(#FFFFFF,#F4F5F9);
	position: relative;
    border: 1px solid #252c41;
    border-radius: 16px;
}
.cate-style1 div a {
	transition: background 0.2s ease-out;
}
.cate-style1 div.current a,
.cate-style1 div.current span {
	background: #252C41;
	color: #fff;
    border: 1px solid #252c41;
    border-radius: 32px;

}
.cate-style1 div.fav a {
	padding-left: 0.8em;
}
.cate-style1 div.fav a::before {
	content: "";
	width: 16px;
	height: 14px;
	display: inline-block;
	background: url(../img/heart_02.svg) no-repeat 0 0 / 100% auto;
	vertical-align: -3px;
	margin-right: 0.4em;
}

@media print, screen and (min-width:768px) {
	.cate-style1 {
		padding: 17px 10px 0;
	}
	.cate-style1 div {
		margin: 0px 0 6px;
	}
	.cate-style1 div:not(.current) a:hover {
		background: #e9ebf3;
	}
}

@media screen and (max-width:767px) {
	.cate-style1-wrap {
		width: 100%;
		height: 32px;
		margin-top: 19px;
		overflow: hidden;
	}
	.cate-style1 {
		height: 44px; /* 32 + 12 */
		padding: 0 5.33%;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
		scrollbar-color: transparent;
	}
}

/* -------------------------------------------------
	トップページ用CSS
------------------------------------------------- */

body.pageID-top #special {
	margin-top: 20px;
}

body.pageID-top #special .items {
	margin-top: 18px;
}
body.pageID-top #special .items .item {
	position: relative;
	min-height: 90px;
}
body.pageID-top #special .items .item .pic {
	width: calc(120 / 410 * 100%);
	position: relative;
	z-index: 4;
	border-radius: 4px;
	overflow: hidden;
	float: left;
}
body.pageID-top #special .items .item .pic.border {
	border: solid 2px #DDDFE6;
}
body.pageID-top #special .items .item .texts {
	width: 100%;
	height: 100%;
	padding-left: calc(130 / 410 * 100%);
	/* position: absolute; */
	right: 0;
	top: 0;
	z-index: 2;
}
body.pageID-top #special .items .item .texts p {
	font-size: 14px;
	line-height: calc(20 / 14);
	word-break: break-all;
}
body.pageID-top #special .items .item .texts .link {
	width: 100%;
	text-align: right;
	font-weight: bold;
	position: absolute;
	right: 0;
	bottom: 0;
}
body.pageID-top #special .items .item .texts .link a {
	padding-right: 30px;
	color: #252C41;
	text-decoration: none;
	background: url(../img/arrow_02.svg) no-repeat right center / 20px auto;
	display: inline-block;
}

@media print, screen and (min-width:768px) {
	body.pageID-top #special .items .item {
		width: calc(410 / 860 * 100%);
		margin-right: calc(40 / 860 * 100%);
		float: left;
	}
	body.pageID-top #special .items .item:nth-child(2) ~ .item {
		margin-top: 26px;
		min-height: 90px;
	}
	body.pageID-top #special .items .item:nth-child(even) {
		margin-right: 0;
	}
}

@media screen and (max-width:767px) {
	body.pageID-top #special .items .item + .item {
		margin-top: 20px;
		min-height: 90px;
	}
	body.pageID-top #special .items .item .pic {
		width: calc(120 / 335 * 100%);
	}
	body.pageID-top #special .items .item .texts {
		padding-left: calc(130 / 335 * 100%);
	}
}

/* -------------------------------------------------
	トップページ用CSS > クーポン
------------------------------------------------- */

body.pageID-top #coupon {
	margin-top: 30px;
	text-align: center;
}
body.pageID-top #coupon .grad-box1 {
	padding-top: 20px;
}

body.pageID-top #coupon .cate-style1-wrap {
	margin-top: 19px;
}

body.pageID-top #coupon .title {
	margin: 35px 0 1em;
	font-size: 16px;
	font-weight: bold;
}

body.pageID-top #coupon .brand {
	white-space: nowrap;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
body.pageID-top #coupon .brand li {
	width: 60px;
	display: inline-block;
	border-radius: 16px;
}
body.pageID-top #coupon .brand li + li {
	margin-left: 4px;
}

@media print, screen and (min-width:768px) {
	body.pageID-top #coupon .brand {
		margin-top: -5px;
	}
	body.pageID-top #coupon .brand li {
		margin-top: 5px;
	}
}

@media screen and (max-width:767px) {
	body.pageID-top #coupon .title {
		text-align: left;
		margin: 1.7em 0 0.8em;
	}
	
	body.pageID-top #coupon .brand-wrap {
		width: 100%;
		height: 60px;
		overflow: hidden;
	}
	body.pageID-top #coupon .brand {
		height: 72px; /* 60 + 12 */
		padding: 0 5.33%;
	}
}

/* -------------------------------------------------
	トップページ用CSS > top-common-layout1
------------------------------------------------- */

body.pageID-top .top-common-layout1 {
	margin-top: 30px;
}
body.pageID-top .top-common-layout1#useful {
	padding-bottom: 30px;
}

body.pageID-top .top-common-layout1 .grad-box1 {
	padding-top: 20px;
}

body.pageID-top .top-common-layout1 .btn-type2 {
	height: 20px;
	position: relative;
}
body.pageID-top .top-common-layout1 .btn-type2 a {
	width: 120px;
	height: 32px;
	padding-left: 20px;
	margin-top: 0;
	position: absolute;
	right: 0;
	top: -32px;
	font-size: 12px;
}

body.pageID-top .top-common-layout1 .banners {
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
}
body.pageID-top .top-common-layout1 .banners li {
	width: 335px;
	display: inline-block;
	margin: 0 5px;
}
body.pageID-top .top-common-layout1 .banners li a {
	display: block;
	transition: opacity 0.2s ease-out;
	border: solid 2px #DDDFE6;
	border-radius: 4px;
	overflow: hidden;
}

@media print, screen and (min-width:768px) {
	body.pageID-top .top-common-layout1 .banners li:nth-child(2) ~ li {
		margin-top: 15px;
	}
	body.pageID-top .top-common-layout1 .banners li a:hover {
		opacity: 0.7;
	}
}

@media screen and (max-width:767px) {
	body.pageID-top .top-common-layout1 .banners li {
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	body.pageID-top .top-common-layout1 .banners li + li {
		margin-top: 20px;
	}
}

/* -------------------------------------------------
	トップページ用CSS > ご優待
------------------------------------------------- */

@media print, screen and (min-width:768px) {
	body.pageID-top #value-slider:not(.slick-slider) {
		text-align: center;
		white-space: nowrap;
	}
	body.pageID-top #value-slider:not(.slick-slider) .item {
		display: inline-block;
	}
	body.pageID-top #value-slider:not(.slick-slider) .item + .item {
		margin-left: 10px;
	}
	
	/* slick-slider */
	body.pageID-top .slide-wrap {
		width: 930px;
		margin: 0 auto;
	}
	body.pageID-top #value-slider.slick-slider * {
		overflow: visible;
	}
	body.pageID-top #value-slider.slick-slider .item a,
	body.pageID-top #value-slider.slick-slider .item img {
		width: 295px;
		display: block;
		margin: 0 auto;
	}

	body.pageID-top #value-slider .slick-arrow {
		width: 12px;
		height: 22px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		overflow: hidden;
		color: transparent;
		border: none;
		z-index: 10;
		cursor: pointer;
	}
	body.pageID-top #value-slider .slick-arrow.slick-prev {
		left: -15px;
		background: url(../img/arrow_10.svg) no-repeat 0 0 / 100% auto;
	}
	body.pageID-top #value-slider .slick-arrow.slick-next {
		right: -15px;
		background: url(../img/arrow_09.svg) no-repeat 0 0 / 100% auto;
	}
}

@media print, screen and (min-width:768px) and (max-width:1000px) {
	body.pageID-top .slide-wrap {
		width: 86vw;
	}
	body.pageID-top #value-slider.slick-slider .item a,
	body.pageID-top #value-slider.slick-slider .item img {
		width: 27vw;
	}
}

@media screen and (max-width:767px) {
	body.pageID-top #value .slide-wrap {
		width: 100%;
		height: 122px;
		overflow: hidden;
	}
	body.pageID-top #value-slider {
		width: 94.69%;
		height: 134px; /* 122 + 12 */
		margin-left: 5.33%;
		padding-right: 5.33%;
		white-space: nowrap;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	body.pageID-top #value-slider .item {
		display: inline-block;
	}
	body.pageID-top #value-slider .item + .item {
		margin-left: 10px;
	}
}

/* -------------------------------------------------
	「カテゴリ＆検索」ページ用CSS
------------------------------------------------- */

body.pageType-cateAndSearch .search-area {
	margin-top: 20px;
}
body.pageType-cateAndSearch .search-area .inputs {
	padding: 20px 0 30px;
}
body.pageType-cateAndSearch .search-area .search {
	position: relative;
}
body.pageType-cateAndSearch .search-area .search input {
	padding-left: 38px;
	background: url("../img/search.svg") no-repeat 9px center / 20px auto;
	position: relative;
	z-index: 2;
}
body.pageType-cateAndSearch .search-area .search input::placeholder {
	font-size: 14px;
	color: #BCBEC5;
}
body.pageType-cateAndSearch .search-area .search .cancel {
	position: absolute;
	right: 9px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	cursor: pointer;
}
body.pageType-cateAndSearch .search-area select + input,
body.pageType-cateAndSearch .search-area select + select,
body.pageType-cateAndSearch .search-area select + .search {
	margin-top: 10px;
}

body.pageType-cateAndSearch.pageID-favorite .coupon-box2 {
	margin-top: 20px;
}

@media print, screen and (min-width:768px) {
	body.pageType-cateAndSearch .search-area .inputs {
		max-width: 335px;
		margin: 0 auto;
	}
}

/* -------------------------------------------------
	LP用CSS
------------------------------------------------- */

/* --- LP #lead-block --- */

body.pageID-lp #lead-block {
	margin-top: 25px;
}
body.pageID-lp #lead-block h1 {
	text-align: center;
}
body.pageID-lp #lead-block h1 .small {
	font-size: 16px;
	display: block;
}
body.pageID-lp #lead-block h1 .large {
	margin-top: 0.6em;
	font-size: 20px;
	font-weight: bold;
	display: block;
}
body.pageID-lp #lead-block .strong {
	margin-top: 3px;
}
body.pageID-lp #lead-block .strong .inner .large {
	font-size: 38px;
	font-weight: bold;
	color: #CE0000;
}
body.pageID-lp #lead-block .strong .inner .small {
	margin-top: 1.2em;
	font-size: 16px;
}

@media print, screen and (min-width:768px) {
	body.pageID-lp #lead-block .strong {
		height: 186px;
		padding-top: 55px;
		text-align: center;
		background: url(../img/bg_02.png) no-repeat center top / 100% 100%;
	}
}

@media print, screen and (min-width:768px) and (max-width:910px) {
	body.pageID-lp #lead-block .strong .inner .large {
		font-size: 34px;
	}
	body.pageID-lp #lead-block .strong .inner .small {
		font-size: 14px;
	}
}

@media screen and (max-width:767px) {
	body.pageID-lp #lead-block {
		margin-top: 25px;
	}
	body.pageID-lp #lead-block h1 {
		
	}
	body.pageID-lp #lead-block h1 .small {
		
	}
	body.pageID-lp #lead-block h1 .large {
		
		margin-top: 0.3em;
		line-height: 1.5;
	}
	body.pageID-lp #lead-block .strong {
		
		height: 222px;
		margin-top: 10px;
		padding-top: 48px;
		text-align: center;
		background: url(../img/bg_02_sp.png) no-repeat center top / 100% 100%;
	}
	body.pageID-lp #lead-block .strong .inner .large {
		
		font-size: 30px;
		line-height: 1.33;
	}
	body.pageID-lp #lead-block .strong .inner .small {
		
		margin-top: 0.4em;
		font-size: 14px;
		line-height: 1.71;
	}
}

@media screen and (max-width:767px) and (min-width:375px) {
	body.pageID-lp #lead-block .strong {
		background-size: 375px auto;
	}
}

/* --- LP .cate-area --- */

body.pageID-lp .cate-area-lead {
	margin-top: 10px;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
}

body.pageID-lp #cate-area {
	margin-top: 30px;
}

body.pageID-lp .cate-box-type1 + .cate-box-type1 {
	margin-top: 0;
}

/* --- LP #bottom-area --- */

body.pageID-lp #bottom-area {
	padding-top: 30px;
}

body.pageID-lp #bottom-area .line {
	text-align: center;
}
body.pageID-lp #bottom-area .line .copy1 {
	position: relative;
}
body.pageID-lp #bottom-area .line .copy1::before,
body.pageID-lp #bottom-area .line .copy1::after {
	height: 54px;
	position: absolute;
	content: "";
	display: block;
	top: 5px;
}
body.pageID-lp #bottom-area .line .copy1::before {
	width: 48px;
	left: calc(50% - 180px);
	background: url(../img/fig_01.svg) no-repeat 0 0 / auto 100%;
}
body.pageID-lp #bottom-area .line .copy1::after {
	width: 51px;
	right: calc(50% - 180px);
	background: url(../img/fig_02.svg) no-repeat 0 0 / auto 100%;
}
body.pageID-lp #bottom-area .line .copy1 .group {
	position: relative;
	z-index: 4;
}
body.pageID-lp #bottom-area .line .copy1 .text1 {
	font-size: 26px;
	font-weight: bold;
	color: #06C755;
	line-height: 1.23;
}
body.pageID-lp #bottom-area .line .copy2 {
	height: 231px;
	margin-top: 13px;
	position: relative;
}
body.pageID-lp #bottom-area .line .copy2::before {
	width: 355px;
	height: 226px;
	display: block;
	background: url(../img/bg_03.svg) no-repeat center top / 100% auto;
	position: absolute;
	left: 50%;
	top: 5px;
	transform: translateX(-50%);
	content: "";
}
body.pageID-lp #bottom-area .line .copy2 .group {
	position: relative;
	z-index: 4;
}
body.pageID-lp #bottom-area .line .copy2 img {
	width: 248px;
}
body.pageID-lp #bottom-area .line .copy2 .text1 {
	margin-top: 0.4em;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
}
body.pageID-lp #bottom-area .line .copy2 .text2 {
	margin-top: 0.5em;
	font-size: 14px;
	line-height: 1.42;
}

body.pageID-lp #bottom-area .try {
	margin-top: 30px;
	text-align: center;
}
body.pageID-lp #bottom-area .try .lead,
body.pageID-lp #bottom-area .entry .lead {
	font-size: 20px;
	line-height: 1.5;
	font-weight: bold;
	color: #252C41;
}
body.pageID-lp #bottom-area .try .lead strong,
body.pageID-lp #bottom-area .entry .lead strong {
	display: block;
	color: #FF5964;
	font-weight: bold;
}
body.pageID-lp #bottom-area .try .bg-gray {
	margin-top: 10px;
	padding: 20px 0;
	background: #F4F5F9;
	border-radius: 4px;
}
body.pageID-lp #bottom-area .try .bg-gray .text1 {
	font-size: 20px;
	font-weight: bold;
	color: #FF5964;
}
body.pageID-lp #bottom-area .try .bg-gray .text2 {
	margin: 0.9em 0 1.1em;
	font-size: 16px;
	line-height: 1.5;
}
body.pageID-lp #bottom-area .try .bg-gray .note {
	margin-top: 1em;
	font-size: 10px;
}

body.pageID-lp #bottom-area .entry {
	margin-top: 30px;
	text-align: center;
	border-radius: 4px;
}
body.pageID-lp #bottom-area .entry .btn-type1 {
	margin-top: 9px;
}

body.pageID-lp #bottom-area .pamphlet {
	margin-top: 30px;
	padding: 10px 0;
	background: #F4F5F9;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}
body.pageID-lp #bottom-area .pamphlet .texts .text1 {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;
}
body.pageID-lp #bottom-area .pamphlet .texts .text1 .small {
	font-size: 14px;
	vertical-align: baseline;
}
body.pageID-lp #bottom-area .pamphlet .texts .text2 {
	margin-top: 0.8em;
	font-size: 14px;
	line-height: 1.42;
}
body.pageID-lp #bottom-area .pamphlet .pic {
	margin-left: 15px;
	text-align: center;
}
body.pageID-lp #bottom-area .pamphlet .pic a {
	display: inline-block;
}
body.pageID-lp #bottom-area .pamphlet .pic a img {
	width: 80px;
	box-shadow: 2px 2px 3px rgba(0,0,0,0.3);
}
body.pageID-lp #bottom-area .pamphlet .pic .note {
	margin-top: 1em;
	font-size: 8px;
	white-space: nowrap;
}
body.pageID-lp #bottom-area .pamphlet .ico {
	width: 20px;
	display: block;
	position: absolute;
	right: 15px;
	bottom: 25px;
}
body.pageID-lp #bottom-area .pamphlet .ico img {
	width: 100%;
}

@media print, screen and (min-width:768px) {
	body.pageID-lp #bottom-area .pamphlet a {
		transition: opacity 0.2s ease-out;
	}
	body.pageID-lp #bottom-area .pamphlet a:hover {
		opacity: 0.6;
	}
}

@media screen and (max-width:767px) {
	body.pageID-lp #bottom-area .pamphlet {
		padding: 20px 30px 15px 20px;
	}
	body.pageID-lp #bottom-area .pamphlet .pic {
		margin-left: 5px;
	}
	body.pageID-lp #bottom-area .pamphlet .ico {
		right: 5px;
		bottom: 20px;
	}
}

@media screen and (max-width:374px) {
	body.pageID-lp #bottom-area .pamphlet .texts .text1 {
		font-size: 14px;
	}
	body.pageID-lp #bottom-area .pamphlet .texts .text1 .small {
		font-size: 12px;
	}
	body.pageID-lp #bottom-area .pamphlet .texts .text2 {
		font-size: 11px;
	}
}

/* -------------------------------------------------
	ログイン画面共通
------------------------------------------------- */

body.pageType-login h1 {
	margin-top: 1em;
	text-align: center;
	color: #252C41;
	font-size: 30px;
	font-weight: bold;
}

body.pageType-login .first-section .lead {
	margin-top: 20px;
}
body.pageType-login .first-section .lead p:not(.error-text) {
	font-size: 16px;
	line-height: 1.5;
}

@media screen and (max-width:767px) {
	body.pageType-login h1 {
		font-size: 20px;
		margin-top: 27px;
	}
}

/* -------------------------------------------------
	pageID-login01
------------------------------------------------- */

body.pageID-login01 .first-section {
	text-align: center;
}
body.pageID-login01 .first-section .grad-box1 {
	margin-top: 40px;
}
body.pageID-login01 .first-section form {
	max-width: 335px;
	margin: 0 auto;
	padding-top: 21px;
}
body.pageID-login01 .first-section form .input-title {
	margin-bottom: 1em;
	font-size: 16px;
	font-weight: bold;
	text-align: left;
}
body.pageID-login01 .first-section form .btn-type1 {
	margin-top: 30px;
}

body.pageID-login01 .error-text {
	margin: -0.3em 0 0.8em;
}

/* -------------------------------------------------
	pageType-login02 共通
------------------------------------------------- */

body.pageType-login02 .first-section .lead {
	margin-bottom: 30px;
}
body.pageType-login02 .first-section .grad-box1 {
	padding: 30px 0;
}

body.pageType-login02 .first-section .form-group .input-title {
	font-size: 16px;
	font-weight: bold;
}
body.pageType-login02 .first-section .pc-right * {
	font-size: 16px;
}
body.pageType-login02 .first-section .pc-right .note {
	margin-top: 0.9em;
}

body.pageType-login02 .first-section .user-name .wrap1 {
	display: flex;
	justify-content: space-between;
}
body.pageType-login02 .first-section .user-name .wrap2 {
	display: flex;
	align-items: center;
}
body.pageType-login02 .first-section .user-name .pre-text {
	padding-right: 1em;
	display: inline-block;
}
body.pageType-login02 .first-section .user-name input {
	width: 125px;
}

body.pageType-login02 .first-section .user-birth .wrap1 {
	display: flex;
	justify-content: space-between;
}
body.pageType-login02 .first-section .user-birth select.long {
	width: 125px;
	display: inline-block;
}
body.pageType-login02 .first-section .user-birth select.short {
	width: 90px;
	display: inline-block;
}

body.pageType-login02 .first-section .terms {
	height: 130px;
	padding: 14px;
	border: solid 1px #DDDFE6;
	border-radius: 4px;
	background: #fff;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
body.pageType-login02 .first-section .terms p {
	font-size: 14px;
	line-height: 1.71;
}
body.pageType-login02 .first-section .terms p + p {
	margin-top: 1em;
}

body.pageType-login02 .first-section .check-type1 {
	margin-top: 20px;
}

body.pageType-login02 .first-section input[type="submit"] {
	margin-top: 30px;
}

body.pageType-login02 .first-section .notice {
	word-break: break-all;
	font-size: 12px;
}
body.pageType-login02 .first-section .notice strong {
	font-weight: bold;
	line-height: 1.5;
}

body.pageType-login02 .lead .error-text {
	margin-top: 28px;
}
body.pageType-login02 .pc-right .error-text {
	margin-bottom: 0.7em;
}

@media print, screen and (min-width:768px) {
	body.pageType-login02 .first-section .form-group {
		display: flex;
		justify-content: space-between;
	}
	body.pageType-login02 .first-section .form-group .input-title {
		padding-top: 0.75em;
	}
	body.pageType-login02 .first-section .form-group .pc-right {
		width: 335px;
	}
}

@media screen and (max-width:767px) {
	body.pageType-login02 .first-section .form-group .input-title {
		margin-bottom: 0.9em;
	}
	
	body.pageType-login02 .first-section .user-name input {
		width: 34vw;
	}
	
	body.pageType-login02 .first-section .user-birth select.long {
		width: 34%;
	}
	body.pageType-login02 .first-section .user-birth select.short {
		width: 27%;
	}
	
	body.pageType-login02 .pc-right .error-text {
		margin: -0.2em 0 0.6em;
	}
}

/* -------------------------------------------------
	pageType-login02 > LINE
------------------------------------------------- */

body.pageType-login02 .first-section .line {
	text-align: center;
}
body.pageType-login02 .first-section .line .copy1 {
	position: relative;
}
body.pageType-login02 .first-section .line .copy1::before,
body.pageType-login02 .first-section .line .copy1::after {
	height: 110px;
	position: absolute;
	content: "";
	display: block;
	top: 0;
}
body.pageType-login02 .first-section .line .copy1::before {
	width: 99px;
	left: calc(50% - 350px);
	background: url(../img/fig_01.svg) no-repeat 0 0 / auto 100%;
}
body.pageType-login02 .first-section .line .copy1::after {
	width: 107px;
	right: calc(50% - 350px);
	background: url(../img/fig_02.svg) no-repeat 0 0 / auto 100%;
}
body.pageType-login02 .first-section .line .copy1 .group {
	position: relative;
	z-index: 4;
}
body.pageType-login02 .first-section .line .copy1 .text1 {
	font-size: 30px;
	font-weight: bold;
}
body.pageType-login02 .first-section .line .copy1 .text2 {
	margin-top: 0.5em;
	font-size: 24px;
	font-weight: bold;
	color: #06C755;
	line-height: 1.25;
}
body.pageType-login02 .first-section .line .copy2 {
	margin-top: 20px;
	position: relative;
}
body.pageType-login02 .first-section .line .copy2::before {
	width: 600px;
	height: 180px;
	display: block;
	background: #FFD64C;
	border-radius: 50%;
	position: absolute;
	left: 50%;
	top: 5px;
	transform: translateX(-50%);
	content: "";
}
body.pageType-login02 .first-section .line .copy2 .group {
	position: relative;
	z-index: 4;
}
body.pageType-login02 .first-section .line .copy2 img {
	width: 248px;
}
body.pageType-login02 .first-section .line .copy2 .text1 {
	margin-top: 0.7em;
	font-size: 20px;
}
body.pageType-login02 .first-section .line .copy2 .text2 {
	margin-top: 0.2em;
	font-size: 34px;
	font-weight: bold;
}
body.pageType-login02 .first-section .line .buttons {
	margin-top: 55px;
}

@media print, screen and (min-width:768px) {
	body.pageType-login02 .first-section .line .buttons {
		display: flex;
		flex-direction: row-reverse;
		justify-content: center;
	}
	body.pageType-login02 .first-section .line .buttons li + li {
		margin-right: 20px;
	}
}

@media screen and (max-width:767px) {
	body.pageType-login02 .first-section .line .copy-wrap {
		display: flex;
		flex-direction: column-reverse;
	}
	body.pageType-login02 .first-section .line .copy1 {
		margin-top: 55px;
		margin-bottom: -8px;
	}
	body.pageType-login02 .first-section .line .copy1::before,
	body.pageType-login02 .first-section .line .copy1::after {
		height: 50px;
		top: 13px;
	}
	body.pageType-login02 .first-section .line .copy1::before {
		width: 42px;
		left: calc(50% - 180px);
	}
	body.pageType-login02 .first-section .line .copy1::after {
		width: 46px;
		right: calc(50% - 180px);
	}
	body.pageType-login02 .first-section .line .copy1 .text2 {
		margin-top: 0;
		font-size: 20px;
		line-height: 1.5;
	}
	body.pageType-login02 .first-section .line .copy2 {
		margin-top: 0;
	}
	body.pageType-login02 .first-section .line .copy2::before {
		width: 335px;
		max-width: 100%;
		height: 150px;
	}
	body.pageType-login02 .first-section .line .copy2 .text1 {
		font-size: 18px;
	}
	body.pageType-login02 .first-section .line .copy2 .text2 {
		font-size: 20px;
	}
	body.pageType-login02 .first-section .line .buttons {
		margin-top: 0;
	}
}

/* -------------------------------------------------
	クーポン詳細ページ用CSS
------------------------------------------------- */

body.pageID-couponDetail .note1 {
	margin-top: 1em;
	font-size: 14px;
	line-height: 1.71;
	text-align: center;
}

body.pageID-couponDetail .desc-area {
	margin-top: 70px;
}

body.pageID-couponDetail .desc-area .grad-box1 {
	padding: 22px 0 30px;
}

body.pageID-couponDetail .lv2 .headline {
	margin-bottom: 1.2em;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
body.pageID-couponDetail .lv2 p {
	font-size: 14px;
	line-height: 1.71;
}
body.pageID-couponDetail .lv2 p + p {
	margin-top: 1.5em;
}
body.pageID-couponDetail .lv2 .code {
	width: 205px;
	margin: 30px auto 0;
	display: block;
}

body.pageID-couponDetail .btn-type1.back {
	margin-top: 0px;
}

@media print, screen and (min-width:768px) {
	body.pageID-couponDetail .lv2 p.pc-center {
		text-align: center;
	}
}

@media screen and (max-width:767px) {
	body.pageID-couponDetail .note1 {
		text-align: left;
	}
}

/* -------------------------------------------------
	ヘルスサポートページ用CSS
------------------------------------------------- */

body.pageID-healthSupport section.lv2 {
	text-align: center;
}
body.pageID-healthSupport section.mt30 {
	margin-top: 30px;
}

body.pageID-healthSupport section .headline1 {
	padding: 24px 0;
	font-size: 20px;
}
body.pageID-healthSupport section .headline2 {
	height: 36px;
	padding-top: 0.1em;
	margin-bottom: 1em;
	font-size: 20px;
	font-weight: bold;
	background: #aaa;
	display: flex;
	align-items: center;
	justify-content: center;
}
body.pageID-healthSupport section .headline2.blue { background: #8bbbff; }

body.pageID-healthSupport .bg-box {
	border-radius: 4px;
}
body.pageID-healthSupport .bg-box.blue { background: #d1e5ff; }
body.pageID-healthSupport .bg-box.skyblue { background: #d7eeff; }
body.pageID-healthSupport .bg-box.green { background: #d6f1ec; }
body.pageID-healthSupport .bg-box.purple { background: #ece3fc; }

body.pageID-healthSupport .bg-box .bg-box-title {
	height: 36px;
	padding-top: 0.2em;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	font-weight: bold;
	background: #98d2ff;
}
body.pageID-healthSupport .bg-box-body {
	padding: 25px 15px 20px;
}
body.pageID-healthSupport .bg-box .headline-small {
	margin: 20px 0 0.7em;
	font-size: 16px;
	font-weight: bold;
}
body.pageID-healthSupport .bg-box .headline-small.mt0 {
	margin-top: 0;
}
body.pageID-healthSupport .bg-box p {
	font-size: 16px;
	line-height: 1.5;
}
body.pageID-healthSupport .bg-box .tel {
	margin-top: -0.2em;
	font-size: 30px;
	font-weight: bold;
}
body.pageID-healthSupport .bg-box .tel a {
	color: #252C41;
	text-decoration: none;
}
body.pageID-healthSupport .bg-box .mt-fix1 {
	margin-top: 25px;
}
body.pageID-healthSupport .bg-box section + .btn-wrap {
	margin-top: 17px;
}

body.pageID-healthSupport .inner-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
}
body.pageID-healthSupport .inner-links li a {
	width: 160px;
	height: 40px;
}

body.pageID-healthSupport .support-section {
	text-align: center;
}

body.pageID-healthSupport .large-title {
	margin-top: 30px;
	padding-top: 0.1em;
	color: #fff;
	font-size: 20px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
}
body.pageID-healthSupport .large-title.blue { background: #1979FF; }
body.pageID-healthSupport .large-title.green { background: #30B79D; }
body.pageID-healthSupport .large-title.purple { background: #9E72F0; }

body.pageID-healthSupport .text-left {
	text-align: left;
}
body.pageID-healthSupport .plane-text {
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
}
body.pageID-healthSupport .plane-text.mt30 {
	margin-top: 30px;
}
body.pageID-healthSupport .plane-text + .bg-box {
	margin-top: 17px;
}

body.pageID-healthSupport .points {
	font-size: 16px;
	line-height: 1.5;
}
body.pageID-healthSupport .points li {
	text-align: left;
	font-size: 16px;
	line-height: 1.5;
	text-indent: -2em;
	margin-left: 2em;
}
body.pageID-healthSupport .points li::before {
	content: "■　";
}

body.pageID-healthSupport .support-section table {
	width: 100%;
	border-collapse: collapse;
	border-radius: 4px;
	overflow: hidden;
}
body.pageID-healthSupport .support-section table th,
body.pageID-healthSupport .support-section table td {
	padding: 0.7em 1.1em 0.4em;
	font-size: 16px;
	line-height: 1.5;
	vertical-align: middle;
}
body.pageID-healthSupport .support-section table th {
	background: #97dbce;
	white-space: nowrap;
}
body.pageID-healthSupport .support-section table td {
	background: #d6f1ec;
	border-left: solid 4px #fff;
	text-align: left;
}
body.pageID-healthSupport .support-section table tr:not(:last-child) th,
body.pageID-healthSupport .support-section table tr:not(:last-child) td {
	border-bottom: solid 4px #fff;
}

body.pageID-healthSupport .plane-text p + p {
	margin-top: 1em;
}
body.pageID-healthSupport .plane-text table + .points {
	margin-top: 18px;
}
body.pageID-healthSupport .plane-text p + .points {
	margin-top: 2em;
}

body.pageID-healthSupport .support-section .dl-btn {
	width: 250px;
	height: 40px;
	padding-left: 6px;
	background: #9E72F0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	border-radius: 20px;
	font-weight: bold;
	transition: background 0.2s ease-out;
}
body.pageID-healthSupport .support-section .dl-btn::before {
	width: 20px;
	height: 20px;
	margin-right: 10px;
	content: "";
	display: block;
	background: url(../img/ico_dl_wt.svg) no-repeat 0 0 / 100% auto;
}
body.pageID-healthSupport .support-section .dl-btn .texts .t1 {
	font-size: 16px;
	vertical-align: baseline;
}
body.pageID-healthSupport .support-section .dl-btn .texts .t2 {
	font-size: 12px;
	vertical-align: baseline;
}

@media print, screen and (min-width:768px) {
	body.pageID-healthSupport .bg-box .btn-wrap {
		display: flex;
		justify-content: center;
	}
	body.pageID-healthSupport .bg-box .btn-wrap li + li {
		margin-left: 15px;
	}
	body.pageID-healthSupport .bg-box .tel a:hover {
		opacity: 1;
	}
	
	body.pageID-healthSupport .inner-links li + li {
		margin-left: 15px;
	}
	
	body.pageID-healthSupport .support-section .dl-btn:hover {
		background: #BFA0FB;
	}
}

@media screen and (max-width:767px) {
	body.pageID-healthSupport .bg-box .btn-wrap li + li {
		margin-top: 10px;
	}
	body.pageID-healthSupport .bg-box .mt-fix1 {
		margin-top: 30px;
	}
	
	body.pageID-healthSupport .inner-links {
		display: block;
	}
	body.pageID-healthSupport .inner-links li {
		display: inline-block;
	}
	body.pageID-healthSupport .inner-links li:nth-child(2) {
		margin-left: 9px;
	}
	body.pageID-healthSupport .inner-links li:nth-child(3) {
		margin: 15px auto 0;
		display: block;
	}
}

/* -------------------------------------------------
	バリュートップページ（「特別ご優待」ページ）用CSS
------------------------------------------------- */

body.pageID-valueTop .lead {
	margin: -1em 0 30px;
	font-size: 16px;
	line-height: calc(24 / 16);
	text-align: center;
}

body.pageID-valueTop #cont-area {
	padding-top: 20px;
}

body.pageID-valueTop #cont-area select {
	font-size: 14px;
}

body.pageID-valueTop #cont-area .coupons .item .pic {
	width: calc(120 / 410 * 100%);
	float: left;
	/* border: solid 2px #DDDFE6; */
	border-radius: 4px;
	overflow: hidden;
}
body.pageID-valueTop #cont-area .coupons .item .texts {
	width: calc(280 / 410 * 100%);
	float: right;
}
body.pageID-valueTop #cont-area .coupons .item .title {
	font-size: 14px;
	line-height: calc(20 / 14);
	font-weight: bold;
}
body.pageID-valueTop #cont-area .coupons .item .desc {
	margin-top: 0.6em;
	font-size: 14px;
	line-height: calc(20 / 14);
}
body.pageID-valueTop #cont-area .coupons .item .btn {
	width: 205px;
	height: 32px;
}
body.pageID-valueTop #cont-area .coupons .item .btn a {
	width: 100%;
	height: 100%;
	display: block;
	background: #FF5964 url("../img/arrow_01.svg") no-repeat 175px center / 20px auto;
	border-radius: 16px;
	font-size: 12px;
	font-weight: bold;
	line-height: 32px;
	color: #fff;
	padding-left: 50px;
	transition: opacity 0.2s ease-out;
}

select.val_select{
	color:#ddd;
}
select option.val_option{
	color:#333;
}


@media print, screen and (min-width:768px) {
	body.pageID-valueTop #cont-area select {
		width: 335px;
		margin: 0 auto;
	}
	body.pageID-valueTop #cont-area .coupons {
		width: 96%;
		max-width: 900px;
		min-width: 900px;
		margin: 0 auto;
	}
	body.pageID-valueTop #cont-area .coupons .item {
		width: calc(410 / 900 * 100%);
		margin: 30px calc(20 / 900 * 100%);
		padding-bottom: 50px;
		float: left;
		position: relative;
	}
	
	body.pageID-valueTop #cont-area .coupons .item .btn {
		position: absolute;
		right: 0;
		bottom: 0;
	}
	body.pageID-valueTop #cont-area .coupons .item .btn a:hover {
		opacity: 0.7;
	}
}

@media screen and (max-width:767px) {
	body.pageID-valueTop #cont-area .coupons .item {
		margin-top: 45px;
	}
	body.pageID-valueTop #cont-area .coupons .item .pic {
		width: calc(120 / 335 * 100%);
	}
	body.pageID-valueTop #cont-area .coupons .item .texts {
		width: calc(205 / 335 * 100%);
	}
	
	body.pageID-valueTop #cont-area .coupons .item .btn {
		width: 100%;
		margin-top: 8px;
	}
	body.pageID-valueTop #cont-area .coupons .item .btn a {
		background-position: calc(100% - 10px) center;
	}
}

/* -------------------------------------------------
	フォームページ一般（ログインページは除く）　入力画面
------------------------------------------------- */

body.pageType-form h1 {
	margin-top: 1em;
	text-align: center;
	color: #252C41;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.5;
}

body.pageType-form .first-section .lead {
	margin: 20px 0;
}
body.pageType-form .first-section .lead p:not(.error-text) {
	font-size: 16px;
	line-height: 1.5;
}
body.pageType-form .hissu-note {
	margin-top: 18px;
	font-size: 14px;
}

body.pageType-form .hissu {
	width: 50px;
	height: 24px;
	padding-top: 2px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	background: #FF5964;
	border-radius: 4px;
	vertical-align: -0;
}
body.pageType-form .hissu.mr { margin-right: 10px; }
body.pageType-form .hissu.ml { margin-left: 10px; }

body.pageType-form .first-note {
	padding: 20px;
	background: #F4F5F9;
	border-radius: 4px;
}
body.pageType-form .first-note p {
	font-size: 14px;
	line-height: 1.71;
}

body.pageType-form .first-section .grad-box1 {
	padding: 30px 0;
}

body.pageType-form .headline {
	margin: 34px 0 22px;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
}

body.pageType-form .first-section .user-name .wrap1,
body.pageType-form .first-section .user-yubin .wrap1 {
	display: flex;
}
body.pageType-form .first-section .user-name .wrap2 {
	display: flex;
	align-items: center;
}
body.pageType-form .first-section .wrap2 + .wrap2 {
	margin-left: 23px;
}
body.pageType-form .first-section .pre-text {
	padding-right: 1em;
	display: inline-block;
}
body.pageType-form .first-section .user-name input {
	width: 125px;
}
body.pageType-form .first-section .user-yubin input {
	width: 100px;
}
body.pageType-form .first-section .note {
	margin-top: 0.8em;
	font-size: 15px;
	line-height: 1.5;
}
body.pageType-form .first-section .note.large-mt {
	margin-top: 1.3em;
}
body.pageType-form .first-section .note + .note {
	margin-top: 0;
}
body.pageType-form .first-section .note.indent {
	text-indent: -1em;
	margin-left: 1em;
}
body.pageType-form .first-section .input-title {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
}
body.pageType-form .first-section .desc {
	margin: 1.1em 0 1.3em;
	font-size: 16px;
	line-height: 1.5;
}
body.pageType-form .first-section .desc.bold {
	font-weight: bold;
}
body.pageType-form .first-section .desc + .desc {
	margin-top: -0.1em;
}
body.pageType-form .first-section .user-yubin .bar {
	margin: 0 15px;
	vertical-align: middle;
	transform: translateY(30%);
}
body.pageType-form .first-section .radios {
	padding-top: 12px;
}

body.pageType-form .first-section input[type="text"],
body.pageType-form .first-section input[type="email"],
body.pageType-form .first-section input[type="num"], input[type="tel"],
body.pageType-form .first-section textarea,
body.pageType-form .first-section select {
	max-width: 340px;
}

body.pageType-form .first-section  .error-text {
	margin-bottom: 0.6em;
}

@media print, screen and (min-width:768px) {
	body.pageType-form .first-section .lead.pc-center {
		text-align: center;
	}
	body.pageType-form .first-section .form-group {
		display: flex;
		justify-content: space-between;
	}
	body.pageType-form .first-section .form-group > div {
		width: 50%;
	}
	body.pageType-form .first-section .input-title {
		padding-top: 0.75em;
	}
	body.pageType-form .first-section .input-title.with-hissu {
		padding-top: 0.45em;
	}
}

@media screen and (max-width:767px) {
	body.pageType-form h1 {
		font-size: 20px;
		margin-top: 27px;
	}
	body.pageType-form .hissu-note {
		padding-left: 60px;
		position: relative;
	}
	body.pageType-form .hissu-note .hissu {
		position: absolute;
		left: 0;
		top: 0;
	}
	
	body.pageType-form .first-section .grad-box1 {
		padding: 20px 0 30px;
	}
	body.pageType-form .first-section .input-title {
		margin-bottom: 10px;
	}
	body.pageType-form .first-section .user-name .pre-text {
		padding-right: 0.8em;
	}
}

/* -------------------------------------------------
	フォームページ一般（ログインページは除く）　確認画面
------------------------------------------------- */

body.pageType-formConfirm .first-section .input-title + p {
	margin-top: 1.3em;
}

@media print, screen and (min-width:768px) {
	body.pageType-form .first-section .input-title {
		padding-top: 0;
	}
	body.pageType-formConfirm .first-section .pc-right p {
		line-height: 1.5;
	}
}

@media screen and (max-width:767px) {
	
}

/* -------------------------------------------------
	header
------------------------------------------------- */

header {
	height: 44px;
}
header .fix-box {
	width: 100%;
	height: 44px;
	border-bottom: solid 4px #FF5964;
	position: fixed;
	z-index: 100;
	left: 0;
	top: 0;
	background: #fff;
}
header .fix-box .logo {
	width: 150px;
	display: block;
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
}

#menu-btn {
	width: 65px;
	height: 40px;
	padding-left: 25px;
	position: absolute;
	right: 0;
	top: 0;
	overflow: hidden;
	display: flex;
	align-items: center;
	cursor: pointer;
}
#menu-btn::before {
	content: "";
	width: 80px;
	height: 80px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	z-index: 2;
	background: #FF5964 url(../img/menu_open.svg) no-repeat center center;
	border-radius: 50%;
	display: block;
}
#menu-btn img {
	width: 20px;
	position: relative;
	z-index: 4;
}

.header_logo {
	background: url(../img/logo_01.svg) no-repeat center center;
	width: 150px;
	height: 40px;
}


/* -------------------------------------------------
	#menu-panel
------------------------------------------------- */

#menu-panel {
	width: 100%;
	height: 100vh;
	position: fixed;
	z-index: 200;
	left: 0;
	top: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	display: none;
}
#menu-panel .panel-inner {
	padding: 60px 0;
	position: relative;
	z-index: 4;
}

#menu-panel .close {
	color: #fff;
	cursor: pointer;
	height: 20px;
	line-height: 20px;
	font-size: 14px;
	padding-right: 35px;
	background: url(../img/menu_close.svg) no-repeat right center / 20px auto;
	position: absolute;
	right: 20px;
	top: 20px;
}

#menu-panel .line {
	margin-bottom: 30px;
}
#menu-panel .main-links a {
	height: 53px;
	padding-left: 1.3em;
	padding-top: 0.2em;
	font-size: 16px;
	line-height: 53px;
	border-radius: 4px;
	display: block;
	background: #fff url(../img/arrow_04.svg) no-repeat calc(100% - 9px) center / 20px auto;
	transition: background 0.2s ease-out;
}

#menu-panel .main-links .cate {
	margin: 32px 0 0.8em;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}

#menu-panel .other li a {
	height: 20px;
	line-height: 20px;
	padding-right: 30px;
	color: #fff;
	display: inline-block;
	background: url(../img/arrow_01.svg) no-repeat right center / 20px auto;
}

@media print, screen and (min-width:768px) {
	#menu-panel {
		background: rgba(255,255,255,0.8) url(../img/bg_01.png) no-repeat center top / 100% 764px;
	}
	
	#menu-panel .line a {
		display: block;
		background: #fff;
		border-radius: 4px;
		overflow: hidden;
	}
	#menu-panel .line a img {
		transition: opacity 0.2s ease-out;
	}
	#menu-panel .line a:hover img {
		opacity: 0.6;
	}
	
	#menu-panel .main-links ol::after {
		content: "";
		display: block;
		width: 0;
		height: 0;
		clear: both;
	}
	#menu-panel .main-links ol li {
		float: left;
		width: calc((100% - 2px) / 3);
		margin-right: 1px;
	}
	
	#menu-panel .main-links ol.ol1 li:nth-child(3n + 1),
	#menu-panel .main-links ol.ol2 li:nth-child(3n) {
		margin-right: 0;
	}
	#menu-panel .main-links ol.ol1 li:not(:first-child),
	#menu-panel .main-links ol.ol2 li:nth-child(3) ~ li {
		margin-top: 1px;
	}
	#menu-panel .main-links ol.ol3 li {
		margin-right: 0px;
		margin-top: 1px;
	}
	#menu-panel .main-links ol.ol3 li :first-child {
		margin-right: 1px;
	}
	
	#menu-panel .main-links ol li.pc-wide {
		width: 100%;
		margin: 0;
	}
	
	#menu-panel .main-links a:hover {
		background-color: #F9D9F1;
	}
	
	#menu-panel .other {
		display: flex;
		justify-content: center;
	}
	#menu-panel .other li {
		margin-top: 35px;
	}
	#menu-panel .other li + li {
		margin-left: 38px;
	}
	#menu-panel .other li a:hover {
		text-decoration: underline;
	}
}

@media screen and (max-width:767px) {
	#menu-panel {
		background: rgba(255,255,255,0.8);
	}
	#menu-panel .panel-inner {
		background: url(../img/bg_01_sp.png) no-repeat center top / 100% 100%
	}
	
	#menu-panel .main-links ol li + li {
		margin-top: 1px;
	}
	
	#menu-panel .other {
		margin-top: 28px;
	}
	#menu-panel .other li {
		padding-right: 9px;
		text-align: right;
	}
	#menu-panel .other li + li {
		margin-top: 20px;
	}
}

/* -------------------------------------------------
	footer
------------------------------------------------- */

footer .nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	background: #F4F5F9;
}
footer .nav li {
	font-size: 12px;
	border-left: solid 1px #fff;
	white-space: nowrap;
}
footer .nav li:last-child {
	border-right: solid 1px #fff;
}
footer .nav li a {
	height: 53px;
	padding: 0 47px 0 20px;
	display: flex;
	align-items: center;
	color: #3B4043;
	background: url(../img/arrow_02.svg) no-repeat calc(100% - 10px) center / 20px auto;
}

footer .col2 {
	padding: 20px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
footer .col2 .copyright {
	font-size: 12px;
	line-height: 1.5;
	color: #3B4043;
}
footer .col2 .logo img {
	width: 50px;
}

@media screen and (max-width:767px) {
	footer .nav li:not(:last-child) {
		width: 50%;
		border-bottom: solid 1px #fff;
	}
	footer .nav li:last-child {
		width: 220px;
		border: none;
	}
}

@media screen and (max-width:374px) {
	footer .nav li a {
		padding: 0 0 0 11px;
		background: url(../img/arrow_02.svg) no-repeat calc(100% - 5px) center / 16px auto;
	}
}

/* -------------------------------------------------
	pagetop
------------------------------------------------- */

.pagetop {
	height: 50px;
	padding-top: 40px;
	display: inline-block;
	box-sizing: border-box;
	white-space: nowrap;
	font-size: 8px;
	font-family: 'Fjalla_One';
	letter-spacing: 1px;
	position: fixed;
	right: 30px;
	bottom: 40px;
	z-index: 50;
	background: url(../images/pagetop.png) no-repeat center top / 30px auto;
}

@media screen and (max-width:767px) {
	.pagetop {
		bottom: 25px;
	}
}

/* -------------------------------------------------
	responsive
------------------------------------------------- */

@media print, screen and (min-width:768px) {
	.pc-none {
		display: none !important;
	}
}

@media screen and (max-width:767px) {
	.sp-none {
		display: none !important;
	}
}

/* -------------------------------------------------
	clearfix
------------------------------------------------- */

.clearfix::after {
	content: "";
	width: 0;
	height: 0;
	display: block;
	clear: both;
}

/* -------------------------------------------------
	print
------------------------------------------------- */

@media print {
	body {
		width: 980px !important;
	}
}
/* -------------------------------------------------
	vibit CMS
------------------------------------------------- */
.VCMStxt {display: none;}
#vcbody-wrapper .VCMStxt {display: block; background: #ABFFBA; font-size: 20px;}

.visible-pc {
	display: block;
}
.visible-sp {
	display: none !important;
}

@media screen and (max-width: 767px) {
.visible-pc {
	display: none !important;
}
.visible-sp {
	display: block !important;
}
}

