.ctr-xsml {
	max-width: 720px
}

.coupon-new {
	background: linear-gradient(-45deg, transparent 25%, rgba(255, 255, 255, 0.2) 25%, rgba(255, 255, 255, 0.2) 50%, transparent 50%, transparent 75%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0.2)), #F6B6B6;
	background-size: 12px 12px
}

.coupon-new::before {
	content: "new";
	display: block;
	background: #ED6767;
	color: #fff
}

.coupon-new .coupon-after {
	background: #ed4747
}

.coupon-new .coupon-after:hover {
	background: #f6dada
}

.coupon-new .coupon-img {
	background: url(../img/coupon/bg-new.png) center center no-repeat, #f6dada;
	position: relative
}

@media screen and (min-width: 1025px) {
	.coupon-new .coupon-txt {
		position: relative
	}

	.coupon-new .coupon-txt::after {
		position: absolute;
		content: "";
		height: calc(100% + 4.5rem);
		width: 120px;
		background: #F6B6B6;
		left: calc(100% + 130px);
		top: -2.5rem
	}
}

.coupon-new .price::before {
	background: #ED6767;
	color: #fff;
	content: "新規の方";
	display: inline-block;
	margin-right: auto;
	font-size: 1rem;
	padding: .5em 2em;
	margin-right: 2em
}

.coupon-all {
	background: linear-gradient(-45deg, transparent 25%, rgba(255, 255, 255, 0.2) 25%, rgba(255, 255, 255, 0.2) 50%, transparent 50%, transparent 75%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0.2)), #B1E1E0;
	background-size: 12px 12px
}

.coupon-all::before {
	content: "all";
	display: block;
	background: #73C6BE;
	color: #fff
}

.coupon-all .coupon-after {
	background: #14c7b5
}

.coupon-all .coupon-after:hover {
	background: #d3eaea
}

.coupon-all .coupon-img {
	background: url(../img/coupon/bg-all.png) center center no-repeat, #d3eaea;
	position: relative
}

@media screen and (min-width: 1025px) {
	.coupon-all .coupon-txt {
		position: relative
	}

	.coupon-all .coupon-txt::after {
		position: absolute;
		content: "";
		height: calc(100% + 4.5rem);
		width: 120px;
		background: #B1E1E0;
		left: calc(100% + 130px);
		top: -2.5rem
	}
}

.coupon-all .price::before {
	background: #73C6BE;
	color: #fff;
	content: "全ての方";
	display: inline-block;
	margin-right: auto;
	font-size: 1rem;
	padding: .5em 2em;
	margin-right: 2em
}

.coupon-repeat {
	background: linear-gradient(-45deg, transparent 25%, rgba(255, 255, 255, 0.2) 25%, rgba(255, 255, 255, 0.2) 50%, transparent 50%, transparent 75%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0.2)), #FFDA89;
	background-size: 12px 12px
}

.coupon-repeat::before {
	content: "repeat";
	display: block;
	background: #FFBB26;
	color: #fff
}

.coupon-repeat .coupon-after {
	background: #ffae00
}

.coupon-repeat .coupon-after:hover {
	background: #ffe9b8
}

.coupon-repeat .coupon-img {
	background: url(../img/coupon/bg-repeat.png) center center no-repeat, #ffe9b8;
	position: relative
}

@media screen and (min-width: 1025px) {
	.coupon-repeat .coupon-txt {
		position: relative
	}

	.coupon-repeat .coupon-txt::after {
		position: absolute;
		content: "";
		height: calc(100% + 4.5rem);
		width: 120px;
		background: #FFDA89;
		left: calc(100% + 130px);
		top: -2.5rem
	}
}

.coupon-repeat .price::before {
	background: #FFBB26;
	color: #fff;
	content: "2回目以降の方";
	display: inline-block;
	margin-right: auto;
	font-size: 1rem;
	padding: .5em 2em;
	margin-right: 2em
}

.coupon + .coupon {
	margin-top: 4rem
}

@media screen and (max-width: 1024px) {
	.coupon + .coupon {
		margin-top: 3rem
	}
}

.coupon {
	position: relative;
	padding: 2.5rem 5.3rem 2rem 9rem;
	color: #554949;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

@media screen and (max-width: 1024px) {
	.coupon {
		display: block;
		padding: 0
	}
}

.coupon .coupon-img-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

.coupon .coupon-img {
	width: 190px;
	height: 190px;
	border-radius: 50%;
	overflow: hidden;
	border: 3px solid #fff
}

.coupon .coupon-img img {
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

@media screen and (max-width: 1024px) {
	.coupon .coupon-img {
		width: 150px;
		height: 150px;
		background-size: 70%;
		margin-bottom: 2.8rem
	}
}

.coupon .coupon-txt {
	width: 355px
}

@media screen and (max-width: 1024px) {
	.coupon .coupon-txt {
		width: auto;
		padding: 2.7rem 10% 1.5rem
	}
}

.coupon::before,
.coupon .coupon-after {
	top: 0;
	bottom: 0;
	text-align: center;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	-webkit-transform: scale(-1, -1);
	transform: scale(-1, -1);
	text-transform: uppercase;
	display: block;
	position: absolute;
	font-family: 'Montserrat', sans-serif, ' ヒラギノ角ゴシック ', 'Hiragino Sans', YuGothic, 'Yu Gothic', ' メイリオ ', Meiryo, sans-serif;
	font-weight: bold
}

@media screen and (max-width: 1024px) {

	.coupon::before,
	.coupon .coupon-after {
		position: static;
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		font-size: 2rem;
	}
}

.coupon::before {
	font-size: 2rem;
	padding: 0 .4em;
	left: 2rem
}

@media screen and (max-width: 1024px) {
	.coupon::before {
		padding: 1.1rem 0
	}
}

.coupon .coupon-after {
	/*	content: "WEB RESERVATION";*/
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 40px;
	height: 100%;
	right: 0;
	background-image: linear-gradient(to bottom, #fff, #fff 1px, transparent 1px, transparent 2px);
	background-size: 1px 5px;
	background-position: right;
	background-repeat: repeat-y;
	color: #fff;
	transition: background .5s;
}

@media screen and (max-width: 1024px) {
	.coupon .coupon-after {
		width: 100%;
		height: 60px;
		background-image: linear-gradient(to left, #fff, #fff 3px, transparent 3px, transparent 3px);
		background-size: 5px 1px;
		background-position: top;
		background-repeat: repeat-x
	}
}

.coupon h2 {
	font-size: 1.4rem;
	margin-bottom: 1.4em;
	line-height: 1.5;
	font-weight: 600
}

@media screen and (max-width: 1024px) {
	.coupon h2 {
		font-size: 1.3rem;
		margin-bottom: .5em;
		margin-right: 16%
	}
}

.coupon .txt-price,
.coupon .coupon-table {
	font-size: 1rem;
	letter-spacing: 0;
	line-height: 1.7
}

.coupon .txt-price {
	/*	max-width: 330px*/
}

@media screen and (max-width: 1024px) {
	.coupon .txt-price {
		padding-right: 10vw
	}
}

.coupon .price {
	font-size: 3.2rem;
	color: #CF4444;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.coupon .price-break {
	display: block
}

.coupon .price-break::before {
	margin-bottom: .5em
}

@media screen and (max-width: 1024px) {
	.coupon .price {
		font-size: 2.1rem;
		margin-bottom: .4em
	}
}

.coupon .coupon-table-wrap {
	background: rgba(255, 255, 255, 0.5);
	width: 100%;
	padding: 1.5rem;
	margin-top: 1.5rem
}

.coupon .coupon-table-wrap th {
	font-weight: 500
}

/*# sourceMappingURL=coupon.css.map */
