@charset "UTF-8";

/* *************************************************************************

	基本設定

************************************************************************* */
/* h1 読み上げ対策 */
.ec-featureRole .ec-featureRole__head {
  border: 0;
  clip: rect(1px,1px,1px,1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute!important;
  width: 1px;
  word-wrap: normal!important;
}
/* 商品紐付けで自動表示されるアンカーリンクを非表示*/
.ec-featureItems.buttons {
  display: none;
}

/* コンテンツ部分の背景色 */
/* ヘッダ下の余白*/
/* コンテンツ左右の余白 */
@media (min-width: 768px) {
  .ec-layoutRole .ec-layoutRole__contents {
    padding-right: min(3.125vw, 40px);
    padding-left: min(3.125vw, 40px);
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
  }
}

@media (min-width: 768px) {
  .ec-featureRole {
    padding-right: min(1.5625vw, 20px);
    padding-left: min(1.5625vw, 20px);
  }
}

/* コメントの親ボックス */
.ec-featureRole__headdescription {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.ec-featureRole__headdescription p {
  margin-bottom: 0;
}

/* デフォルトMV部分 */
.ec-featureRole .ec-featureRole__head {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

/* MV */
.mv-image {
  margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
  .mv-image {
    margin-top: 0;
  }
}

/* 細バナー */
.mall_contents_top_thin_banner {
  display: none;
}

li{
	list-style: none;
}

.group_description{
	text-align: center;
}

/* *************************************************************************

	汎用クラス・共通要素

************************************************************************* */
.marker {
  text-decoration: underline;
  text-decoration-thickness: 0.4em;
  text-decoration-color: rgb(255, 228, 153);
  text-underline-offset: -0.15em;
  text-decoration-skip-ink: none;
}

.kome {
  padding-left: 1em !important;
  font-size: 0.8em;
  color: #333;
  margin-top: 20px !important;
  text-align: center;
}

.kome2 {
  padding-left: 1em !important;
  font-size: 1em;
  color: #333;
  margin-top: 20px !important;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .kome {
    font-size: 2.2vw;
  }
  .kome2 {
    font-size: 3vw;
  }	
}

.kome>li {
  text-indent: -1em !important;
  font-size: inherit;
}

.red{
	color: #e7242a !important;
}

.basic-list {
  margin-left: 1.5em !important;
}

.basic-list>li {
  list-style-type: disc;
}

.tac {
  text-align: center !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt100 {
  margin-top: 100px !important;
}

@media only screen and (max-width: 767px) {
  .mt15sp {
    margin-top: 15px !important;
  }

  .mt20sp {
    margin-top: 20px !important;
  }

  .mt30sp {
    margin-top: 30px !important;
  }
	
}

.bold {
	font-weight: bold !important;
}

@media only screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: block;
}

@media (min-width: 768px) {
  .sp {
    display: none;
  }
}

@media (min-width: 768px) {
  .sp.inb {
    display: none;
  }
}

/* キャンペーン終了 */
.cp-end {
	margin-bottom: 20px !important;
	border: solid 1px #fff17f;
	padding: 24px 24px 19px;
	background-color: #fffee3;
	text-align: center;
	font-weight: bold;
	color: #f00;
}


/* *************************************************************************

	メインビジュアル・リード文

************************************************************************* */
.main-txt {
	line-height: 1.7;
	text-align: center;
	font-weight: bold;
	font-size: 16px;
	margin-top: 20px;
}

@media only screen and (max-width: 767px) {
.main-txt {
    line-height: 1.5;
    font-size: 14px;
  }
}

/* エントリーボタン*/
.btn01 {
	display: block;
	text-align: center;
	margin-top: 30px;
}

.btn01>a {
	position: relative;
	display: inline-block;
	border-radius: 9999px;
	padding: 20px;
	width: 100%;
	max-width: 450px;
	background: #de1100 !important;
	box-shadow: 0px 7px 0px 0px rgb(139 11 0);
	font-size: 20px;
	font-weight: bold;
	color: #fff;
}

.btn01 a::after{
	position: absolute;
    content: '';
    top: 41%;
    left: 93%;
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 10px solid #ffffff;
    border-right: 0;
}

@media only screen and (max-width: 767px) {
  .btn01>a {
    padding: 4.5333333333vw 8.5333333333vw;
    width: 100%;
    box-shadow: 0px 4px 0px 0px rgb(190 47 78);
    font-size: 4.2666666667vw;
  }
}

.btn01>a:hover {
	position: relative;
	top: 7px;
	box-shadow: 0px 0px 0px 0px rgb(191, 59, 103);
	color: #fff;
}

/* アンカーリンク
---------------------------------------------------- */
.searchBox {
    padding: 0px;
    text-align: center;
    margin-top: 40px;
}

.searchBox .searchPrice{
    display: flex;
	background: #fff600;
}

.searchBox .searchPrice a{
    display: block;
    flex: 1;
    background: #fff600;
    padding: 12px 0;
    text-decoration: none;
    position: relative;
    box-sizing: border-box;
	color: #de1100;
}

.searchBox .searchPrice a span{
    display: block;
    flex: 1;
    padding: 20px 0;
    text-decoration: none;
    position: relative;
    box-sizing: border-box;
	font-size: 20px;
	color: #de1100;
	font-weight: bold;
}

.searchBox .searchPrice a:hover{
    background: #ffe400;
}

.searchBox .searchPrice a:nth-of-type(n+2) span{
    border-left:3px solid #de1100;
}

.searchBox .searchItem>a::after,
.searchBox .searchPrice a::after {
    position: absolute;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-top: 8px solid #de1100;
    border-bottom: 0;
    right: 50%;
    bottom: 14%;
}

@media screen and (max-width: 767px) {
    .searchBox {
        margin-top: 30px;
    }

    .searchBox .searchPrice {
        flex-wrap: nowrap;
        gap: 0%;
    }
	.searchBox .searchPrice a {
		font-size: inherit;
	}

    .searchBox .searchPrice a,
    .searchBox .searchPrice a:nth-of-type(n+2) {
        flex: 0 1 auto;
        padding: 15px 0;
        width: 48.5%;
        border: none;
        margin-bottom: 3%;
    }

    .searchBox .searchItem>a::after,
    .searchBox .searchPrice a::after {
        border-right: 8px solid transparent;
        border-left: 8px solid transparent;
        border-top: 10px solid #de1100;
        border-bottom: 0;

    }
.searchBox .searchPrice a span{
    display: block;
    flex: 1;
    padding: 16px 0;
    text-decoration: none;
    position: relative;
    box-sizing: border-box;
	font-size: 18px;
	color: #de1100;
	font-weight: bold;
}	
}

/* *************************************************************************

	ゴールデンウィーク特別クーポン

************************************************************************* */
.cont-box {
  background-color: #ffffde;
}

/* タイトル */
.ttl01 {
  text-align: center;
}

.ttl01 h2{
	width: 100%;	
	color: #bb8f1d;
	position: relative;
	display: inline-block;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-bottom: min(2.734375vw, -4px);
	text-align: center;
	font-size: min(2.8125vw, 36px);
	font-weight: bold;
}

.ttl01 h2 {
	position: relative;
	padding: 0 75px;
	text-align: center;
	margin-bottom: 20px !important;	
}

.ttl01 h2:before {
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	width: 100%;
	height: 4px;
	content: '';
	background: #de1100;
}

.ttl01 h2 span {
	position: relative;
	padding: 0 1em;
	background: #f5f5f5;
	font-size: 30px;
}

.btnTxt{
	font-weight: bold;
	font-size: 20px;
}

.btnTxt span{
	color: #de1100;
	font-size: 1.2em;
}

@media only screen and (max-width: 767px) {
.ttl01 {
    font-size: 5.8666666vw;
}
.ttl01::before {
    width: 9.6vw;
    height: 1.3333333333vw;
}	
.ttl01 h2 span {
	position: relative;
	padding: 0;
	background: #f5f5f5;
	font-size: 20px;
	display: block;
	line-height: 1.2em
}
.btnTxt{
	font-weight: bold;
	font-size: 16px;
}

.btnTxt span{
	color: #de1100;
	font-size: 1.2em;
}	
}

.ttl02 {
	margin-top: min(4.296875vw, 55px);
	margin-bottom: 0;
	padding: 10px 0;
	background-image: url("/html/upload/user_data/feature/gwsale/img/2025/ttlbk_pc.jpg");
	background-position-y: top;
	background-repeat: no-repeat;
	background-size: cover;
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	color: #ffec1a;
}

@media only screen and (max-width: 767px) {
  .ttl02 {
	font-size: 22px;
  }
}

.coupon-box .detail-box {
	margin: min(4.296875vw, 55px);
}

.detail-box p{
	margin :20px 0;
	font-weight: bold;
	font-size: 18px;
}

@media only screen and (max-width: 767px) {
.detail-box p{
	margin :20px 0;
	font-weight: bold;
	font-size: 15px;
}	
	
.coupon-box .detail-box {
	margin: 5.3333333333vw;
  }
}

.coupon-box .btn-layout {
	margin: min(4.6875vw, 60px) auto 0;
	width: min(25vw, 320px);
}

@media only screen and (max-width: 767px) {
  .coupon-box .btn-layout {
    margin: 6.6666666667vw auto 2.6666666667vw;
    max-width: auto;
    width: 90%;
  }
}

.accordion0::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: min(0.9375vw, 12px);
	margin: auto 0;
	border-radius: 0;
	width: min(2.8125vw, 36px);
	height: min(2.8125vw, 36px);
}

@media only screen and (max-width: 767px) {
  .accordion0::after{
    right: 2.9333333333vw;
    width: 6.9333333333vw;
    height: 6.9333333333vw;
  }
}

.accordion0 .acc-toggle:checked {
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}


/* アコーディオン */
.acBox{
	display: flex;
	justify-content: space-between;
}

.accordion0 .acc-title::after,
.accordion0 .acc-title::before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	background-color: #333;
	transition: all 0.3s;
	z-index: 1;
}

.accordion0 .acc-title::after {
	transform: rotate(90deg);
}

.accordion0 .acc-toggle:checked+.acc-title::before {
	transform: rotate(90deg) !important;
}

.accordion0 .acc-title{
	margin-bottom: -25px;
}

.accordion0 .acc-title::after,
.accordion0 .acc-title::before {
	right: min(2.1875vw, 28px);
	width: min(0.3125vw, 2px);
	height: min(1.5625vw, 20px);
}

@media only screen and (max-width: 767px) {
.acBox{
	display: inline;
	flex-wrap: nowrap;
}
	
  .accordion0 .acc-title::after,
  .accordion0 .acc-title::before {
    right: 5.8666666667vw;
    width: 0.8vw;
    height: 3.7333333333vw;
  }
}

.accordion0 .acc-toggle:checked+.acc-title+.acc-content {
	max-height: 1000px;
	transition: all 1.5s;
}

.ac-box{
	width: 100%;

}

.ac-box label{
	font-size: 16px;
	font-weight: bold;
	text-align: left;
	padding-left: 5%;
	background: #fff600;
	margin: auto;
	line-height: 50px;
	position: relative;
	display: block;
	height: 50px;
	border-radius: 0px;
	cursor: pointer;
	color: #333;
	transition: all 0.5s;
}

.ac-box label:hover{
    background-color: #ffe400;
	-webkit-transition: all .3s;
    transition: all .3s;
    color: #333;

}

.ac-box input{
display: none;
}

@media only screen and (max-width: 767px) {
   .ac-box{
	   margin: -5% auto;
}
  .ac-box label:after{
	right: 2.9333333333vw;
    width: 6.9333333333vw;
    height: 6.9333333333vw;
  }
}

.ac-box ::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: min(0.9375vw, 12px);
	margin: auto 0;
	border-radius: 0;
	width: min(2.8125vw, 36px);
	height: min(2.8125vw, 36px);
}

.ac-box ul{
	height: 0px;
	padding: 0px;
	overflow: hidden;
	opacity: 0;
	transition: 0.5s;
}

.ac-box input:checked ~ ul{
	height: auto;
	padding: 5px;
	opacity: 1;
}

.acBox ul li{
	color: #333;
	height: 45px;
	background-color:  #fff;
	border-radius: 10px;
	border: solid 1px #edcc77;
	font-size: 14px;
	padding-top: 13px!important;
	text-align: center!important;
	font-weight: bold;
	margin: -6px auto;	
}

.acBox ul li a{
	color: #333;
}

.acBox ul li a:hover{
	opacity: 0.8;
}

/* *************************************************************************

	キャンペーン詳細

************************************************************************* */
.detail-box_ttl h3{
	font-size: 1.6em;
    position: relative;
    overflow: hidden;
    padding: 1.5rem 2rem 1.5rem 190px;
    background: #e7242a;
    color: #fff;
    text-align: left;
    font-weight: bold;
}

.detail-box_ttl h3:before {
	position: absolute;
	top: -150%;
	left: -100px;
	width: 250px;
	height: 300%;
	content: '';
	-webkit-transform: rotate(25deg);
	transform: rotate(25deg);
	background: #fff600;
}

.detail-box_ttl h3 span {
	font-size: 1em;	
	position: absolute;
	z-index: 1;
	left: 0;
	display: block;
	padding-left: 20px;
	color: #f03345;
}

.detail-box {
	text-align: center;
}

.detail-box .detail-item {
	display: flex;
	margin: 0 auto;
	padding: 8px;
	line-height: 1.6;
	width: 750px;
}

@media only screen and (max-width: 767px) {
.detail-box_ttl h3{
	font-size: 1.5em;
	position: relative;
	overflow: hidden;
	padding: 1.5rem 2rem 1.5rem 100px;
	background: #e7242a;
	color: #fff;
	text-align: left;
}	
	
.detail-box_ttl h3:before {
	position: absolute;
	top: -150%;
	left: -100px;
	width: 180px;
	height: 300%;
	content: '';
	-webkit-transform: rotate(25deg);
	transform: rotate(25deg);
	background: #fff600;
}

.detail-box_ttl h3 span {
	font-size: 1em;	
	position: absolute;
	z-index: 1;
	left: 0;
	display: block;
	padding-left: 10px;
	color: #f03345;
}	
	
  .detail-box .detail-item {
    display: block;
    padding: 20px 0;
	 width: 98%; 
  }
}

.detail-box .detail-item>dt {
	position: relative;
    display: inline-block;
    margin-right: 11px;
    padding: 16px;
    border-radius: 8px;
    background-color: #edcc77;
    text-align: left;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    color: #f03345;
}

.detail-box .detail-item>dt::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	border-style: solid;
	border-width: 7.5px 0 7.5px 11px;
	border-color: transparent transparent transparent #edcc77;
	translate: 100% -50%;
}

@media only screen and (max-width: 767px) {
  .detail-box .detail-item>dt {
  width: 100%;
  text-align: center !important;
  position: relative;
  display: inline-block;
  margin-bottom: 15px;
  padding: 16px;
  border-radius: 8px;
  background-color: #edcc77;
  text-align: left;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  color: #f03345;	  
  }
	
.detail-box .detail-item>dt::after {
	position: absolute;
	top: 61px;
    left: 42%;
    width: 0;
    height: 0;
    content: '';
    border-width: 10px 10px 0;
    border-style: solid;
    border-color: #edcc77 transparent transparent;
}	
}

.detail-box .detail-item>dd {
	line-height: inherit;
    font-size: 18px;
    padding-top: 11px;
    padding-left: 16px;
    font-weight: bold;	
}

.detail-box .detail-item>dd span {
	color: #e7242a;
	font-size: 1.2em;
}

.detail-box .detail-item>dd * {
	font-size: inherit;
}

@media only screen and (max-width: 767px) {
  .detail-box .detail-item>dd {
    font-size: 3.7333333333vw;
  }
}

.detail-box .detail-item>dd .kome {
	font-size: inherit;
}

.detail-box .detail-item>dd .kome>li {
	margin-top: 0.5em;
	font-size: inherit;
}

.detail-box .detail-item>dd .kome>li:first-of-type {
	margin-top: 0;
}

.detail-box .detail-item>dd ol {
	margin-top: 1em;
	padding-left: 1em;
	list-style: none;
}

.detail-box .detail-item>dd ol>li {
	margin-top: 0.5em;
	text-indent: -1em;
	font-size: inherit;
}

.detail-box .entry-box {
	margin: min(-1.171875vw, -15px) auto min(3.125vw, 40px);
	width: min(29.6875vw, 380px);
}

@media only screen and (max-width: 767px) {
  .detail-box .entry-box {
    margin: -4vw auto 6.9333333333vw;
    width: 100%;
  }
}

.detail-box .entry-box .kome {
	margin-top: min(1.171875vw, 15px) !important;
	font-size: min(0.9375vw, 12px) !important;
}

@media only screen and (max-width: 767px) {
  .detail-box .entry-box .kome {
    margin-top: 3.4666666667vw !important;
    font-size: 2.9333333333vw !important;
  }
}

.cpDetail {
	background-color: #fff;
    width: 90%;
    padding: 50px;
    margin: auto;
    border-radius: 20px;
}

.cpDetail p{
	color: #188dc3;
	text-align: center;
	font-weight: bold;
	margin-bottom: 10px;
}

.cpDetail p span{
	border-bottom: solid #188dc3 2px;
	display: inline;
	font-size: 1.5em;
	padding-bottom: 5px;
}

.cpDetail ul{
	display: flex;
	flex-wrap: nowrap;
	gap: 30px;
	text-align: center;
}

.cpDetail ul li{
	width: calc((100% - 150px) / 6);
}

.cpDetail span{
	display: block;
	margin-top: 10px;
}


@media only screen and (max-width: 767px) {
.cpDetail{
		padding: 8%;
	}
.cpDetail ul{
	display: flex;
	flex-wrap: wrap;
	text-align: center;
	justify-content: space-between;
}
.cpDetail ul li{
	width: calc((100% - 60px) / 3);
}
}

.cpDetail2 p:nth-child(1),
.cpDetail2 p:nth-child(2){
	background-color: #fff;
    width:40%;
    border-radius: 20px;
    padding: 35px 20px;
    font-weight: bold;
    font-size: 20px;
	color: #e7242a;
}

.cpDetail2 p:nth-child(1) span{
	color: #188dc3;
}

.cpDetail2 p:nth-child(2) span{
	color: #333;
}


.cpDetail2 p:nth-child(2){
	position: relative;
}

.cpDetail2 p:nth-child(2)::before{
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    display: block;
}

.cpDetail2 p:nth-child(2)::after{
    position: absolute;
    content: '';
    top: 39%;
    left: -17%;
    display: block;
    width: 11%;
    height: 60px;
    background-image: url(/html/upload/user_data/feature/gwsale/img/2025/cpimg_plus.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.cpDetail2 p:nth-child(3){
	position: relative;
	background-color: #e7242a;
	width: 40%;
	border-radius: 20px;
	padding:45px 20px 35px;
	font-size: 20px;
	color: #fff;
	font-weight: bold;
}

.cpDetail2 p:nth-child(3)::before{
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	display: block;
}

.cpDetail2 p:nth-child(3)::after{
	position: absolute;
    content: '';
    top: 39%;
    left: -17%;
    display: block;
    width: 11%;
    height: 60px;
    background-image: url(/html/upload/user_data/feature/gwsale/img/2025/cpimg_equal.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.cpDetail2{
	display: flex;
	width: calc((100% - 0px) / 1);
	flex-wrap: nowrap;
	gap: 60px;
	text-align: center;
	padding: 50px;
}

.cpDetail2 span{
	display: block;
}


@media only screen and (max-width: 767px) {
.cpDetail2 p:nth-child(1),
.cpDetail2 p:nth-child(3){
	background-color: #fff;
	width: 43%;
	border-radius: 20px;
}

.cpDetail2 p:nth-child(2){
	position: relative;
}


.cpDetail2 p:nth-child(2)::before{
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	display: block;
}

.cpDetail2 p:nth-child(2)::after{
	position: absolute;
	content: '';
	top: 40%;
	left: -28%;
	display: block;
	width: 15%;
	height: 50px;
	background-image: url(/html/upload/user_data/feature/gwsale/img/2025/cpimg_plus.png);
	background-size: contain;
	background-repeat: no-repeat;
}

.cpDetail2 p:nth-child(3){
	position: relative;
    background-color: #e7242a;
    width: 90%;
    border-radius: 20px;
    padding: 35px 20px;
    margin-left: 15%;
	margin-top: 5%;
}

.cpDetail2 p:nth-child(3)::before{
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  display: block;
}

.cpDetail2 p:nth-child(3)::after{    
	position: absolute;
	content: '';
	top: 39%;
	left: -12%;
	display: block;
	width: 7%;
	height: 60px;
	background-image: url(/html/upload/user_data/feature/gwsale/img/2025/cpimg_equal.png);
	background-size: contain;
	background-repeat: no-repeat;
}
	
.cpDetail2{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0;
	text-align: center;
	width: calc((100% - 0px) / 1);
	padding: 5%;
}
}

/* *************************************************************************

	お得なキャンペーン

************************************************************************* */
#recommend {
  position: relative;
}

.recommend-box {
  margin: min(7.8125vw, 100px) auto 0;
}

@media only screen and (max-width: 767px) {
  .recommend-box {
    margin: 13.3333333333vw auto 0;
    padding-bottom: 5.3333333333vw !important;
  }
}

.recommend-box>ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: min(4.6875vw, 60px) auto 0 !important;
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .recommend-box>ul {
    display: block;
    margin-top: 10.6666666667vw !important;
  }
}

.recommend-box>ul:first-of-type {
  margin-top: min(3.90625vw, 50px) !important;
}

@media only screen and (max-width: 767px) {
  .recommend-box>ul:first-of-type {
    margin-top: 8vw !important;
  }
}

.recommend-box>ul>li {
  margin: 0;
  max-width: 550px;
  width: 47.414%;
}

@media only screen and (max-width: 767px) {
  .recommend-box>ul>li {
    max-width: none;
    width: 100%;
  }
}

@media (min-width: 768px) {
  .recommend-box>ul>li:nth-child(even) {
    margin-left: 5.172%;
  }
}

@media only screen and (max-width: 767px) {
  .recommend-box>ul>li:nth-of-type(n + 2) {
    margin-top: 4vw;
  }
}

@media (min-width: 768px) {
  .recommend-box>ul>li:nth-child(n+3) {
    margin-top: min(1.5625vw, 20px);
  }
}

.recommend-box>ul>li a,
.recommend-box>ul>li img {
  display: inline-block;
}

.recommend-box>ul>li a,
.recommend-box>ul>li img.kakudai {
  width: 100% !important;
}


.couponrecommend-box__inner {
    padding: 30px 6px;
    z-index: 0;
    position: relative;
    text-align: center;
    margin: 0 auto;
    display: block;
}

@media only screen and (max-width: 767px) {
  .couponrecommend-box__inner {
    max-width: 100%;
  }
}

.couponrecommend-box__inner .btn01 {
  margin-top: 15px;
}

@media only screen and (max-width: 767px) {
  .couponrecommend-box__inner .btn01 {
    margin-left: 10px;
    margin-right: 10px;
  }
}

@media only screen and (max-width: 767px) {
  .couponrecommend-box__inner .btn01>a {
    padding: 3.533333vw 7.533333vw;
    font-size: 3.5vw;
  }
}

.couponrecommend-box__inner>ul {
  margin: 20px auto 0 !important;
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .couponrecommend-box__inner>ul {
    display: block;
    margin-top: 20px !important;
  }
}

.couponrecommend-box__inner>ul:first-of-type {
  margin-top: 20px !important;
}

@media only screen and (max-width: 767px) {
  .couponrecommend-box>ul:first-of-type {
    margin-top: 8vw !important;
  }
}

@media only screen and (max-width: 767px) {
  .couponrecommend-box__inner>ul>li {
    max-width: none;
    width: 100%;
  }
}

.aligncenter {
  text-align: center;
  justify-content: center !important;
}

/* *************************************************************************

	関連記事

************************************************************************* */
#relatedArticle {
    margin: 60px 0 30px;
}

#relatedArticle ul {
    max-width: 1500px;
    background-color: #f1f1f1;
    box-sizing: border-box;
    padding: 5px 0 5px 5px;
    display: flex;
    overflow-x: scroll;
}

#relatedArticle ul.gray {
    background-color: #F5F5F5;
}

#relatedArticle ul::-webkit-scrollbar {
    height: 12px;
}

#relatedArticle ul::-webkit-scrollbar-thumb {
    background: #bbb;
    border-radius: 6px;
}

#relatedArticle ul::-webkit-scrollbar-track {
    background: #e7e7e7;
    border-radius: 0px;
}

#relatedArticle li {
    width: 200px;
    height: auto;
    display: block;
    margin: 0 20px 0 0;
    box-sizing: border-box;
    text-align: left;
    flex-shrink: 0;
}

#relatedArticle li a {
    display: block;
    padding: 10px;
    transition: opacity .4s;
    color: #333;
}

#relatedArticle li a:hover {
    transition: opacity .4s;
    opacity: 0.6;
    color: #00612e;
}

#relatedArticle li p {
    font-size: 16px !important;
    line-height: 1.6;
    font-weight: bold;
    margin: 10px 0 0 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

#relatedArticle li p i.blank_icon {
    vertical-align: 2px;
    margin-right: 0.3rem;
}

@media screen and (max-width: 640px) {
    #relatedArticle {
        margin: 30px 0 20px;
    }
    #relatedArticle h2 {
        font-size: 20px;
        margin: 0 0 10px;
    }
    #relatedArticle ul {
        padding: 10px 0 10px 10px;
    }

    #relatedArticle ul::-webkit-scrollbar {
        height: 10px;
    }

    #relatedArticle li {
        width: 40vw;
        height: 60vw;
        margin: 0 5px 0 0;
    }

    #relatedArticle li a {
        padding: 10px 5px 0;
        box-sizing: border-box;
        min-height: 185px;
    }

    #relatedArticle li p {
        font-size: 14px !important;
        line-height: 1.3;
        margin: 10px 0 0 0;
    }

    #relatedArticle li p i.blank_icon {
        vertical-align: 0px;
    }
}

.btn-all {
    margin: 30px auto 0;
    width: 160px;
    height: 40px;
}

.btn-all a{
    color: #00612e;
}

@media only screen and (max-width: 640px) {
    .btn-all {
        margin: 30px 20% 40px;
        width: auto;
    }
}

.btn-all>a {
    display: block;
    border: #00612e 1px solid;
    border-radius: 20px;
    padding: 0;
    height: 40px;
    text-decoration: none;
    text-align: center;
    font-weight: bold;
}

.btn-all>a>span {
    position: relative;
    display: inline-block;
    margin-top: 9px;
    padding-left: 23px;
}

.btn-all>a>span::before {
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 2px;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    background-color: #00612e;
    vertical-align: -0.2em;
}

.btn-all>a>span::after {
    content: "";
    display: inline-block;
    position: absolute;
    left: 4px;
    top: 7px;
    width: 4px;
    height: 4px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
}

.bnr {
	margin: 0 0 30px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	text-align: center;
}
.bnr li {
	width: 49%;
	margin-bottom: 2%;
}
@media screen and (max-width: 767px) {
  .bnr li {
    width: auto;
    padding: 2% 0;
  }
}
.bnr img {
  width: 100%;
}
.bnr.more {
	margin-bottom: 80px !important;
}
@media screen and (max-width: 767px) {
  .bnr.more {
	margin-bottom: 40px !important;
  }
}

/* *************************************************************************

	ゴールデンウィークについて

************************************************************************* */
.gwLead{
	text-align: center;
	margin: 50px auto;
	line-height: 1.6em;
}

.gwLead_ttl{
	font-size: 30px;
	color: #5f9118;
	margin-bottom: 30px;
}

.gwLead_ttl span{
	font-size: 28px;
	border-bottom: solid #5f9118 3px;
	border-top: solid #5f9118 3px;
	padding: 8px;
	font-weight: bold;
}
.gwLead p{
	margin: 20px auto;	
}

.gwLead p a{
	border-bottom: solid #5f9118 2px;
	font-weight: bold;
	color: #5f9118;
}

.gwLead p a:hover{
	opacity: 0.7;
}

@media screen and (max-width: 767px) {
.gwLead_ttl{
	font-size: 30px;
	color: #5f9118;
	margin-bottom: 0px;
}	
.gwLead_ttl span{
	font-size: 18px;
	border-bottom: solid #5f9118 3px;
	border-top: solid #5f9118 3px;
	padding: 8px;
	font-weight: bold;
}
.gwLead p{
	margin: 5px auto;	
}	
}

.btmmbnr{
	text-align: center;
}

/* *************************************************************************

	注意事項

************************************************************************* */
.note{
	background-color: #e8e8e8;
	border-radius: 10px;
	padding: 40px 0;
	margin: 50px 0;
}

.note p{
	font-size: 20px;
	font-weight: bold;
	text-align: center;
    padding-bottom: 20px;
}

.note ul{
	width: 80%;
    margin: 20px auto !important;
}

.note ul li{
    font-size: 12px !important;
    text-indent: -1em;
    line-height: 2em;
}

.note ul li:nth-child(1){
    font-size: 15px !important;
    font-weight: bold;
}

/* *************************************************************************

	クーポン上限到達通知

************************************************************************* */
.cp-close {
    pointer-events: none;
    user-select: none;
    position: relative;
}

.cp-close:before {
    position: absolute;
    content: "";
    background-color: #000;
    width: calc(100% - 10px);
    height: calc(100% + 20px);
    z-index: 2;
    top: 50%;
    left: 50%;
    border-radius: 10px;
    transform: translate(-50%, -50%);
    opacity: 0.6;
}

.cp-close__text {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    width: 80%;
    max-width: 600px;
    text-align: center;
    padding: 16px 40px;
    transform: translate(-50%,-50%);
    border-radius: 5px;
    font-size: 2.5rem;
    font-weight: 600;
    color: #de1100;
    background-color: #ffffff;
    border: 2px solid #de1100;
}

@media screen and (max-width: 767px) {
  .cp-close__text {
    padding: 4vw 1vw;
    font-size: 4vw;
  }

  .cp-close:before {
        width: calc(100% - 1vw);
        height: calc(100% + 4vw);
}
}