@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;
}

main {
	padding-bottom: 30px;
	display: block;
}

.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%;
}

@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;
	}
}

/* -------------------------------------------------
	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-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); }

@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 {
		padding-left: 30px;
		font-size: 16px;
	}
	
	.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-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 {
	padding-bottom: 30px;
}
.slide-type1 .slick-dots {
	display: flex;
	position: absolute;
	bottom: -30px;
	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;
}

@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 picture {
		height: 100%;
		display: block;
	}
	.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 {
		
	}
	.slide-type1 .slick-dots li {
		width: 8px;
		height: 8px;
		margin: 0 4px;
		border-radius: 4px;
	}

	.slide-type1 .slick-arrow {
		width: 9px;
		height: 16px;
	}
}

/* -------------------------------------------------
	.cate-h1-wrap
------------------------------------------------- */

.cate-h1-wrap {
	text-align: center;
	border-top: solid 4px #DDDFE6;
	position: relative;
	z-index: 2;
}

body.pageID-gourmetTop .cate-h1-wrap { border-top: solid 4px #FF5964; }
body.pageID-healthTop .cate-h1-wrap { border-top: solid 4px #35A7FF; }
body.pageID-leisureTop .cate-h1-wrap { border-top: solid 4px #FFD64C; }
body.pageID-shoppingTop .cate-h1-wrap { border-top: solid 4px #FF7826; }
body.pageID-livingTop .cate-h1-wrap { border-top: solid 4px #00C07F; }

.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: 0.8em;
	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: 140px;
	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 a.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 .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;
}

@media print, screen and (min-width:768px) {
	.coupon-box1 .coupons {
		width: calc(100% + 14px);
		margin-left: -7px;
	}
	.coupon-box1 .coupons a {
		margin: 0 7px 20px;
	}
	.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;
	}
}

@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) 20px;
	}
	.coupon-box1 .coupons a p {
		font-size: calc(16 / 920 * 100vw);
	}
}

@media screen and (max-width:767px) {
	.coupon-box1 .coupons {
		max-width: 335px;
		margin: 0 auto;
		justify-content: space-between;
	}
	.coupon-box1 .coupons a {
		height: 140px;
		margin-bottom: 20px;
	}
	.coupon-box1 .coupons a.half {
		width: 160px;
	}
	.coupon-box1 .coupons a.wide {
		width: 100%;
	}
	
	.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: 140px;
	}
	.coupon-box1 .coupons.sp-nowrap a.wide {
		width: 295px;
	}
	.coupon-box1 .coupons a 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);
	}
}

/* -------------------------------------------------
	グラデーションボックス
------------------------------------------------- */

.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="num"],
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;
}

.check-type1 {
	text-align: center;
}
.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(-50%);
	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;
}

::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;
}

@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;
	/* ■■■■■■■■■■■■■■■■■■ ↓追加をお願いします。 ■■■■■■■■■■■■■■■■■■*/
	vertical-align: middle;
	display: table-cell;
	/* ■■■■■■■■■■■■■■■■■■ ↑追加をお願いします。 ■■■■■■■■■■■■■■■■■■*/
}
.tab-type1 li p.heart {
	padding-left: 19px;
	background: url(../img/heart_02.svg) no-repeat left center / 16px auto;
	/* ■■■■■■■■■■■■■■■■■■ ↓追加をお願いします。 ■■■■■■■■■■■■■■■■■■*/
	background-position-x: 8px;
	/* ■■■■■■■■■■■■■■■■■■ ↑追加をお願いします。 ■■■■■■■■■■■■■■■■■■*/
}
/* ■■■■■■■■■■■■■■■■■■ ↓追加をお願いします。 ■■■■■■■■■■■■■■■■■■*/
.tab-type1 li a {
	display: table;
	height: 100%;
	width: 100%
}
/* ■■■■■■■■■■■■■■■■■■ ↑追加をお願いします。 ■■■■■■■■■■■■■■■■■■*/

/* ■■■■■■■■■■■■■■■■■■ ↓差し替えをお願いします。 ■■■■■■■■■■■■■■■■■■*/
@media print, screen and (min-width:768px) {
	.tab-type1 li:hover {
		background: #3B4154;
	}
	.tab-type1 li:hover a {
		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;
	}
}

/* -------------------------------------------------
	トップページ用CSS
------------------------------------------------- */

body.pageID-top #categories .headline {
	padding: 5px 0 43px;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
}

/* -------------------------------------------------
	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: 20px;
}

@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;
	}
}

/* -------------------------------------------------
	header
------------------------------------------------- */

header {
	height: 64px;
}
header .fix-box {
	width: 100%;
	height: 64px;
	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: 60px;
	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: -10px;
	left: 0;
	z-index: 2;
	background: #FF5964;
	border-radius: 50%;
	display: block;
}
#menu-btn img {
	width: 20px;
	position: relative;
	z-index: 4;
}

/* -------------------------------------------------
	#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 .cate-group + .cate-group {
	margin-top: 32px;
}
#menu-panel .cate-group .title {
	margin-bottom: 0.8em;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}

#menu-panel .group2 {
	margin-top: 35px;
}
#menu-panel .group2 li + li {
	margin-top: 1px;
}

#menu-panel .menu-link {
	min-height: 53px;
	padding-left: 1.3em;
	padding-top: 0.2em;
	font-size: 16px;
	border-radius: 4px;
	display: flex;
	align-items: center;
	background: #fff url(../img/arrow_04.svg) no-repeat calc(100% - 9px) center / 20px auto;
	transition: background 0.2s ease-out;
}

#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 .group1 {
		display: flex;
		justify-content: space-between;
	}
	#menu-panel .group1 .line-banner {
		width: calc(567 / 860 * 100%);
	}
	#menu-panel .group1 .line-banner a {
		display: block;
		background: #fff;
		border-radius: 4px;
		overflow: hidden;
	}
	#menu-panel .group1 .line-banner a img {
		width: 100%;
		transition: opacity 0.2s ease-out;
	}
	#menu-panel .group1 .line-banner a:hover img {
		opacity: 0.6;
	}
	#menu-panel .group1 .to-top {
		width: calc(273 / 860 * 100%);
	}
	#menu-panel .group1 .disp-none + .to-top {
		width: 100%;
	}
	
	#menu-panel .group2 {
		display: flex;
	}
	#menu-panel .group2 > * {
		width: calc(273 / 860 * 100%);
		margin-right: calc(20 / 860 * 100%);
	}
	#menu-panel .group2 > *:nth-child(3n) {
		margin-right: 0;
	}
	
	#menu-panel a.menu-link: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 .group1 .to-top {
		margin-top: 30px;
	}
	#menu-panel .group1 .disp-none + .to-top {
		margin-top: 0;
	}
	
	#menu-panel .cate-group {
		margin-top: 32px;
	}
	
	#menu-panel .other {
		margin-top: 28px;
	}
	#menu-panel .other li {
		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;
	}
}

/* -------------------------------------------------
	print
------------------------------------------------- */

@media print {
	body {
		width: 980px !important;
	}
}
