@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@100..900&family=Poppins:wght@400;500;600;700&display=swap");
*, *:before, *:after {
  box-sizing: border-box;
}

html, body, h1, h2, h3, h4, h5, h6, p,
ul, ol, li, dl, dt, dd, a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: normal;
  line-height: 1;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.3s ease 0s;
}

a:hover {
  color: inherit; /*opacity:0.8;filter:alpha(opacity=80);-ms-filter: "alpha( opacity=80 )";text-decoration:none;*/
}

li {
  list-style: none;
}

img {
  max-width: 100%;
}

html {
  font-size: 10px;
  font-weight: 400;
  color: #333;
  overflow-x: hidden;
}

body {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: 400;
  background: rgba(245, 162, 0, 0.1);
}

.l-wrap {
  width: 100%;
  position: relative;
  padding: 0 0 0;
}

@media screen and (min-width: 800px) {
  .l-wrap {
    padding: 0;
    overflow: hidden;
  }
}
.pcv {
  display: none;
}

.spv {
  display: block;
}
@media screen and (min-width: 420px) {
  .pcv {
    display: block;
  }
  .spv {
    display: none;
  }
}

.floL {
  float: left;
}

.floR {
  float: right;
}

.clear {
  content: "";
  display: table;
  clear: both;
  zoom: 1;
}

.lato {
  font-family: "Lato", sans-serif;
}

.pop {
  font-family: "Poppins", sans-serif;
}

.inner {
  width: 1000px;
  margin: 0 auto;
}
@media (max-width: 769px) {
  .inner {
    width: auto;
    margin: 0 15px;
  }
}

/*********************************************************************************************

	HEADER

**********************************************************************************************/
#header {
  background-color: #fff;
  box-shadow: 2px 2px 10px 2px rgba(0, 0, 0, 0.4);
  position: relative;
  width: 100%;
  height: 64px;
  z-index: 999;
  position: fixed;
  top: 0;
  left: 0;
}

.header-inner {
  margin: 0 2%;
}
.header-inner::after {
  content: "";
  display: table;
  clear: both;
  zoom: 1;
}

.siteid {
  float: left;
  margin-top: 17px;
}
.siteid img {
  width: 22vw;
  max-width: 320px;
  height: 29px;
}

@media screen and (max-width: 795px) {
  #header {
    height: 65px;
  }
  .siteid {
    float: none;
    margin: 0;
    padding-top: 20px;
  }
  .siteid img {
    width: 45%;
    height: auto;
  }
}
@media screen and (max-width: 420px) {
  #header {
    height: 55px;
  }
  .siteid {
    float: none;
    margin: 0;
    padding-top: 20px;
  }
  .siteid img {
    width: 53%;
    height: auto;
  }
}
/* SP menu button */
.l-header__btn {
  display: block;
  width: 55px;
  height: 55px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  background-color: #fff;
}
@media screen and (min-width: 796px) {
  .l-header__btn {
    display: none;
  }
}

.l-header__btn div {
  width: 20px;
  height: 21px;
  margin: 15px 0 13px 18px;
  position: relative;
  transition: all 0.4s;
  box-sizing: border-box;
  z-index: 20;
}

.l-header__btn div span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #303029;
  transition: all 0.4s;
}

.l-header__btn div span:nth-of-type(1) { top: 5px; }
.l-header__btn div span:nth-of-type(2) { top: 12px; }
.l-header__btn div span:nth-of-type(3) { bottom: 0px; }

.l-header__btn.is-open { background-color: #fff; }
.l-header__btn.is-open span { background-color: #3E3A39; }
.l-header__btn.is-open span:nth-of-type(1) { transform: translateY(7px) rotate(-45deg); }
.l-header__btn.is-open span:nth-of-type(2) { opacity: 0; }
.l-header__btn.is-open span:nth-of-type(3) { transform: translateY(-7px) rotate(45deg); }
  

@media (max-width: 769px) {
  .sp-nav {
    display: none;
    position: absolute;
    top: 55px;
    left: 0;
    z-index: 90;
    width: 100%;
    height: 100vh;
    overflow: auto;
    background: #DF6035;
  }
}


.nav-g {
  float: right;
  margin-top: 13px;
  display: flex;
  align-items: stretch;
}

.nav-g li {
  display: flex;
  align-items: stretch;
  text-align: center;
  position: relative;
  padding: 0 20px;
}

.nav-g li::after {
  content: "";
  display: block;
  width: 1px;
  height: 50%;
  background: #3E3A39;
  position: absolute;
  top: 50%; right: 0;
  -webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.nav-g li a {
  display: block;
  display: flex;
  align-items: center;
  position: relative;
  font-size: 1.1vw;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0.06em;
}

.nav-g li a::before {
  content: "";
  background: #DF6035;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: -3px;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
.nav-g li a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.nav-g li a span { font-size:90%; }


@media (max-width: 769px) {
  .nav-g {
    width: 100%;
    background: #DF6035;
    margin: 0;
    box-shadow: inset 0px 2px 10px -2px rgba(0, 0, 0, 0.4);
  }
  .nav-g li {
    text-align: center;
    border-bottom: 1px solid #fff;
  }
  .nav-g li a {
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 400;
    text-align: center;
    letter-spacing: 0.06em;
    display: block;
    padding: 20px 0;
    color: #fff;
    width:100%;
  }
  .nav-g > li > a::after {
    display: none;
  }
  .nav-g li a span {
    font-size:96%;
  }
}








/*********************************************************************************************

	FOOTER

**********************************************************************************************/
#footer {
  background: #3E3A39;
}

.f-inner {
  width: 85%;
  margin: 0 auto;
  padding: 80px 0 20px;
}
.f-inner:last-child {
  padding: 0 0 40px;
}
@media (max-width: 769px) {
  .f-inner {
    padding: 40px 0 20px;
  }
  .f-inner:last-child {
    padding: 0 0 15px;
  }
}

.f-shop ul {
  margin: 0 40px 0 0;
}
.f-shop ul li {
  margin: 0 0 20px;
}
.f-shop ul li a {
  font-size: 1.3rem;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0.06em;
  position: relative;
  padding: 0 0 0 1em;
  color: #fff;
}
.f-shop ul li a::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 7px solid #DF6035;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  position: absolute;
  top: 7px;
  left: 0;
}
.f-shop ul li a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )";
}
.f-shop ul.f-nonowa li a::before {
  border-left: 7px solid #468652;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}
@media (max-width: 769px) {
  .f-shop ul {
    width: calc(50% - 10px);
    margin: 0;
  }
  .f-shop ul.order_c {
    margin-top: -75px;
  }
}

.f-menu ul {
  margin: 0 0 0 40px;
}
.f-menu ul li {
  margin: 0 0 8px;
}
.f-menu ul li a {
  font-size: 1.3rem;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0.06em;
  position: relative;
  color: #fff;
}
.f-menu ul li a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )";
}
@media (max-width: 769px) {
  .f-menu {
    margin: 20px 0;
    padding-top: 30px;
    border-top: 1px solid #666;
  }
  .f-menu ul {
    margin: 0;
  }
  .f-menu ul li {
    margin: 0 0 12px;
  }
}

.t-copy {
  font-size: 1.2rem;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0.06em;
  letter-spacing: 0.08em;
  color: #fff;
}
@media (max-width: 769px) {
  .t-copy {
    text-align: center;
  }
}

/*********************************************************************************************

	CONTENTS

**********************************************************************************************/
#contents {
  width: 100%;
  position: relative;
}

.l-wrap {
  padding: 0;
  background-image: url(../../img/plusmember/bg_l.png), url(../../img/plusmember/bg_r.png);
  background-position: left 0, right 0;
  background-repeat: repeat-y, repeat-y;
}
@media screen and (max-width: 795px) {
  .l-wrap {
    background-image: none;
  }
}
@media screen and (max-width: 420px) {
  .l-wrap {
    background-image: none;
  }
}

/* リボン */
.h-ribon {
  width: 160px;
  height: 195px;
  position: absolute;
  top: 1%;
  right: 10%;
  z-index: 70;
}

@media screen and (max-width: 795px) {
  #contents {
    background-image: none;
  }
  .h-ribon {
    width: 120px;
    height: 146px;
    top: 55px;
  }
}
@media screen and (max-width: 420px) {
  #contents {
    background-image: none;
  }
  .h-ribon {
    width: 95px;
    height: 116px;
    top: 55px;
  }
}
/* タブボタン */
.btn-tab {
  position: fixed;
  top: 50%;
  right: -8px;
  display: inline-block;
  width: 64px;
  border-radius: 16px 0 0 16px;
  background: #fff;
  text-align: center;
  padding: 8px;
  z-index: 80;
}
.btn-tab.hidden {
  opacity: 0;
  visibility: hidden;
}

.btn-tab_inner {
  background: linear-gradient(to bottom, #F5A200, #DF6035);
  border-radius: 10px 0 0 10px;
  min-height: 240px;
  display: block;
  padding-top:10px;
}
.btn-tab_inner a {
  color: #fff;
}
.btn-tab_inner a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha( opacity=80 )";
}

.tab-link {
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.06em;
  display: inline-block;
  width: 48px;
  writing-mode: vertical-rl;
  padding: 4px 10px 15px 0;
}

.tab-close {
  display: block;
  background: transparent;
  border:none;
  /*
  background-image: url(../../img/plusmember/b-close2.png);
  background-position: center 0 ;
  background-repeat: no-repeat;
  width:16px;
  height:16px;
  background-size: 100%;
  */
  margin:0 auto;
  appearance: none;
  -webkit-appearance: none;
}

.tab-close img {
  width:16px;
  height:16px;
}

@media (max-width: 769px) {
  .btn-tab {
    top: 50%;
    right: -6px;
    width: 64px;
    border-radius: 16px 0 0 16px;
    padding: 6px;
  }
  .btn-tab_inner {
    border-radius: 10px 0 0 10px;
    min-height: 200px;
  }
  .tab-link {
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.06em;
    width: 48px;
    padding: 4px 12px 15px 0;
  }
  .tab-close img {
    width: 14px;
    height:14px;
  }

}


/* MV */
.mv-area {
  width: 100%;
  max-height: 1200px;
  background-image: url(../../img/plusmember/mv_bg_b_pc.png);
  background-position: center 65px;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}

.mv-area::after {
  content: "";
  display: block;
  background: linear-gradient(to bottom, transparent 0%, transparent 80%, #fef7e5 100%);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}


@media screen and (max-width: 795px) {
  .mv-area {
    min-height: 500px;
    height: auto;
    background-image: url(../../img/plusmember/mv_bg_sp.png);
    background-size: 100%;
    background-position: center 65px;
    padding-top: 65px;
  }
}
@media screen and (max-width: 420px) {
  .mv-area {
    background-position: center 55px;
    padding-top: 55px;
  }
}

.mv-inner {
  max-width:930px;
  margin: 0 auto;
  padding-top: 280px;
  text-align: center;
  position: relative;
  z-index: 30;
}
.mv-inner img {
  width: 100%;
  height: auto;
  margin: 30px 0 100px;
}
.mv-inner p {
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.06em;
  margin: 0 0 2em;
}
.mv-inner p.mv-catch {
  font-size: 3.2rem;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.06em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 795px) {
  .mv-inner {
    width: auto;
    margin: 0 0;
    padding-top: 65px;
  }
  .mv-inner img {
    width: 50%;
    height: auto;
    margin: 0 0 100px;
  }
  .mv-inner p {
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 400;
    letter-spacing: 0.06em;
  }
  .mv-inner p.mv-catch {
    font-size: 2.8rem;
    line-height: 1.6;
    font-weight: 500;
    letter-spacing: 0.06em;
  }
}
@media screen and (max-width: 420px) {
  .mv-inner img {
    width: 60%;
    margin: 0 0 50px;
  }
  .mv-inner p {
    font-size: 1.4rem;
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: 0.06em;
  }
  .mv-inner p.mv-catch {
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 500;
    letter-spacing: 0.06em;
  }
}

@media screen and (min-width: 1080px) {
  .mv-box {
    background-image: url(../../img/plusmember/mv_bg_b2_pc.png);
    background-position: center 65px;
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
    z-index: 20;
    height: 1200px;
  }
}
.mv-inner2 {
  margin: 0;
}
@media screen and (max-width: 795px) {
  .mv-inner2 {
    padding-bottom: 200px;
  }
}
@media screen and (max-width: 420px) {
  .mv-inner2 {
    background-image: linear-gradient(#fff, #fff, #fef7e5);
    padding-bottom: 120px;
  }
}

#c-early {
  padding: 50px 0 0 0;
  margin: 0 0 120px;
}
#c-early .inner {
  background-color: #fff;
  padding: 7px 7px;
  position: relative;
  border-radius: 40px;
}

#early-ttl {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 50;
}

@media (max-width: 769px) {
  #c-early {
    padding: 0 0 0 0;
    margin: 0 0 60px;
  }
  #early-ttl {
    width: 75%;
    height: auto;
    top: -15px;
  }
}
.early-box {
  background-color: #fff;
  padding: 70px 40px 50px 40px;
  border: 2px solid #D3AC6F;
  position: relative;
  border-radius: 30px;
}

.en {
  display: block;
  width: 34px;
  height: 34px;
  background: url(../../img/plusmember/img/plusmember-kado.png) 0 0 no-repeat;
  position: absolute;
}

#en-1 {
  top: -9px;
  left: -9px;
}

#en-2 {
  top: -9px;
  right: -9px;
  transform: rotate(90deg);
}

#en-3 {
  bottom: -9px;
  left: -9px;
  transform: rotate(-90deg);
}

#en-4 {
  bottom: -9px;
  right: -9px;
  transform: rotate(180deg);
}

.early-box_inner {
  margin: 0 0 40px;
}

.early-img {
  width: 240px;
}

.early-txt {
  width: calc(100% - 280px);
}
.early-txt p {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
  margin: 0 0 1em;
}
.early-txt p.early-note {
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: #8C8C8C;
  margin: 0;
}

@media screen and (max-width: 795px) {
  .early-box {
    padding: 85px 20px 25px 20px;
  }
  .early-box_inner {
    margin: 0 0 20px;
  }
  .early-img {
    width: 100%;
    margin: 0 0 20px;
    text-align: center;
  }
  .early-img img {
    width: 40%;
    height: auto;
  }
  .early-txt {
    width: 100%;
  }
  .early-txt p {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: 0.05em;
  }
  .early-txt p.early-note {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 420px) {
  .early-box {
    padding: 35px 20px 25px 20px;
  }
  .early-box_inner {
    margin: 0 0 20px;
  }
  .early-img {
    width: 100%;
    margin: 0 0 20px;
    text-align: center;
  }
  .early-img img {
    width: 60%;
    height: auto;
  }
  .early-txt {
    width: 100%;
  }
  .early-txt p {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: 0.05em;
  }
  .early-txt p.early-note {
    font-size: 1.2rem;
  }
}

.ab-shop {
  margin: 40px 0 25px;
}

.shop-ttl {
  background: #fff;
  font-size: 2.8rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.06em;
  margin: 0 0 25px;
}
.shop-ttl .tenpo {
  background: #8C8C8C;
  width: 200px;
  color: #fff;
  font-weight: 700;
  padding: 10px 0;
}
.shop-ttl .tenpo-all {
  width: calc(100% - 200px);
  padding: 8px 0;
}

.preview-image {
  margin: 60px 0 50px;
  width: 100%;
  height: auto;
}

@media (max-width: 769px) {
  .ab-shop {
    margin: 20px 0 15px;
  }
  .shop-ttl {
    font-size: 1.4rem;
    margin: 0 0 25px;
  }
  .shop-ttl .tenpo {
    width: 5.5em;
  }
  .shop-ttl .tenpo-all {
    width: calc(100% - 5.5em);
  }
  .preview-image {
    margin: 30px 0 25px;
  }
}


/* 2025 */

/* about */
.term { margin: 30px 0; }
.term-box {
  width: calc(50% - 4px);
  text-align: center;
  font-size:2.0rem;
  font-weight: 700;
}
.term-box.s1,
.term-box.s2 {
  background: linear-gradient(to right, #f3e7e7 20%, #e9dde9);
  padding: 0 0 20px;
  border-radius: 0 0 8px 8px;
}
.term-box.s2 {
  background: linear-gradient(to right, #e7ede9 20%, #e0e7ea);
}
.term-ttl {
  border-radius: 8px 8px 0 0;
  background: linear-gradient(to right, #DA8487 20%, #A65695);
  color:#fff;
  font-size:2.0rem;
  font-weight:700;
  padding: 20px 0;
  margin-bottom: 20px;
}
.term-box.s2 .term-ttl {
  background: linear-gradient(to right, #78A591 20%, #578596);
}

@media (max-width: 769px) {
  .term { margin: 20px 0 15px; }
  .term-box {
    width: 100%;
    font-size:1.8rem;
  }
  .term-box.s1,
  .term-box.s2 {
    padding: 0 0 13px;
    margin-bottom:10px;
  }
  .term-ttl {
    font-size:1.8rem;
    padding: 13px 0;
    margin-bottom: 15px;
  }
}


.btn-term li {
  width: calc(50% - 20px);
  text-align: center;
}
.btn-term li a {
  position: relative;
  z-index: 0;
  background: transparent;
  overflow: hidden;

  display: block;
  padding: 12px 0 12px;
  border-radius:  8px;
  color:#fff;
  font-size:2.0rem;
  font-weight:700;
  line-height:1.4;
  position: relative;
  box-shadow: 0 2px 2px rgba(203,203,203,0.3);
}

.btn-term li a::before,
.btn-term li a::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.btn-term li a::before {
  transition: all 0.3s;
  z-index: -1;
  background: linear-gradient(to right, #DA8487 20%, #A65695 80%);
}
.btn-term li a::after { z-index: -2; background: #DA8487; }
  
.btn-term li.btn_s2 a::before { background: linear-gradient(to right, #78A591 20%, #578596 80%); }
.btn-term li.btn_s2 a::after { z-index: -2; background: #78A591; }

.btn-term li a:hover::before { opacity: 0; }
  
.btn-term li a span {
  display: block;
  position: relative;
}
.btn-term li a span:after {
  content:"";
  display: block;
  width: 14px;
  height: 8px;
  background: url(../../img/plusmember/arw_d.svg) 0 0 no-repeat;
  background-size: 100%;
  position: absolute; top:50%; right: 20px;
  -webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.btn-term li.btn_wmc {
  width: 57%;
  text-align: center;
  margin: 30px auto 0;
}
.btn-term li.btn_wmc a::before { background: linear-gradient(to right, #78A591 20%, #578596 80%); }
.btn-term li.btn_wmc a::after { z-index: -2; background: #78A591; }
.btn-term li.btn_wmc a span:after {
  content: "";
  width: 16px;
  height: 16px;
  background: url(../../img/plusmember/ico_site.png) 0 0 no-repeat;
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 20px;
}

.tokuten-use .btn-term li.btn_wmc {
  width: 70%;
}


@media (max-width: 769px) {
  .btn-term li {
    width: 100%;
    margin:0 0 10px;
  }
  .btn-term li a {
    padding: 10px 0 10px;
    font-size:1.5rem;
  }
  .btn-term li a:after {
    width: 12px;
    height: 7px;
  }
  .btn-term li.btn_s2 {
    width: 80%;
    margin: 0 auto 20px;
  }
  .btn-term li.btn_s1 {
    width: 80%;
    margin: 0 auto 80px;
  }
  .btn-term li.btn_wmc {
    width: 100%;
  }
  .tokuten-use .btn-term li.btn_wmc {
    width: 100%;
  }
  .btn-term li.btn_wmc a span:after {
    content: "";
    width: 16px;
    height: 16px;
    background: url(../../img/plusmember/ico_site.png) 0 0 no-repeat;
    background-size: 100%;
    position: absolute;
    top: 75%;
    right: 60px;
  }
}


/* season */
#c-season1 .th1 { background: linear-gradient(to right, #DA8487 20%, #A65695 80%); }
#c-season2 .th1 { background: linear-gradient(to right, #78A591 20%, #578596 80%); }

@media (max-width: 769px) {
  #c-season1 .th1,
  #c-season2 .th1 {
    font-size:2.0rem;
    height:auto;
    line-height:1.2;
    padding:10px 40px;
  }
}


.ttl-bird { text-align: center; margin:30px 0 20px; }
.ttl-bird img { width:90%; }

.web-memshipcard { text-align: center; margin:30px 0 0; }

.point-box { margin:0 0 30px; }
.point-box_inner {
  background-color: #F5F5F5;
  border-radius: 0 0 8px 8px;
  padding: 40px 0;
}
.r-box_inner .t-point {
  text-align: center;
  font-size:2.4rem;
  font-weight: 700;
}

.r-box_inner .t-entry {
  margin-top: 20px;
  text-align: center;
  font-weight: 700;
}

.r-box_inner .att-point {
  margin: 0 83px !important;
}

.r-box_inner .t-point-sml {
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 400;
}

.point-taishou {
  margin: 40px 83px 25px 83px;
}

.point-taishou li {
  width: 152px;
  background-color: #fff;
  margin:0 0 0 20px;
  border-radius: 8px;
}

.point-taishou li:first-child {
  width:198px;
  margin:0 auto 0 0;
  background: none;
}

.point-box_ss {
  text-align: center;
  border-radius: 8px;
  background-color: #fff;
}
.point-box_ss img { width:90%; }

.rank-ttl {
  font-size:2.0rem;
  font-weight: 700;
  color:#fff;
  text-align: center;
  padding: 12px 0;
  border-radius: 8px 8px 0 0;
}
.rank-1 { background-image: linear-gradient(360deg, rgb(197, 156, 14), rgb(232, 210, 124)); } /* ゴールド */
.rank-2 { background-image: linear-gradient(360deg, rgb(89, 122, 137), rgb(182, 189, 195)); } /* シルバー */
.rank-3 { background-image: linear-gradient(360deg, rgb(226, 100, 49), rgb(246, 160, 0)); }   /* エントリー */

.r-box_inner .t-na {
  font-size:3.0rem;
  font-weight:700;
  color:#CBCBCB;
  margin-top: 45px;
}

@media (max-width: 769px) {
  .ttl-bird { margin:30px 0 10px; }
  .ttl-bird img { width:100%; }

  .web-memshipcard { margin:30px 0 0; }

  .web-memshipcard div {
    padding: 20px 15px 40px;
  }
  
  .point-box { margin:0 0 30px; }
  .point-box_inner { padding: 20px 0; }
  .r-box_inner .t-point { font-size:1.6rem; }
  .r-box_inner .att-point { margin: 0 20px !important; }
    
  .point-taishou {
    margin: 20px 20px 25px 20px;
  }
  .point-taishou li {
    width: 23%;
    margin:0 0 0 7px;
  }
  .point-taishou li:first-child { width:21%; }
  .point-box_ss img { width:90%; }

  .rank-ttl {
    font-size:1.2rem;
    padding: 8px 0;
  }
  .r-box_inner .t-na {
    font-size:1.6rem;
    margin-top: 18px;
  }
}


.point-day ul { margin: 0 83px; }
.point-day ul li {
  width: calc(50% - 8px);
  margin-bottom: 16px;
  border-radius: 8px;
  text-align: center;
  padding: 18px 0 16px;
  background-image: linear-gradient(-90deg, rgb(89, 122, 137), rgb(182, 189, 195));
}
.point-day ul li img { width: 80%; }

.is-5bai {
  background-image: linear-gradient(-90deg, rgb(197, 156, 14), rgb(232, 210, 124));
  padding: 20px 0 18px;
  text-align: center;
  border-radius: 8px;
  margin: 0 83px 16px;
}
.is-5bai img { width: 60%; }

@media (max-width: 769px) {
  .point-day ul { margin: 0 20px; }
  .point-day ul li {
    width: calc(50% - 4px);
    margin-bottom: 8px;
    padding: 12px 0 11px;
  }
  .is-5bai {
    padding: 12px 0 11px;
    margin: 0 20px 11px;
  }
  .is-5bai img { width: 55%; }
}
.is-5bai_y {
  background-image: linear-gradient(-90deg, rgb(197, 156, 14), rgb(232, 210, 124));
  padding: 20px 0 18px;
  text-align: center;
  border-radius: 8px;
  margin: 0 83px 16px;
}
/* 年表示あり */
.is-5bai_y img { width: 60%; }

@media (max-width: 769px) {
  .point-day ul { margin: 0 20px; }
  .point-day ul li {
    width: calc(50% - 4px);
    margin-bottom: 8px;
    padding: 12px 0 11px;
  }
  .is-5bai_y {
    padding: 12px 0 11px;
    margin: 0 20px 11px;
  }
  .is-5bai_y img { width: 65%; }
}


.off-coupon-kikan { margin: 20px 85px 30px;}

@media (max-width: 769px) {
  .off-coupon-kikan {
    margin: 20px 20px 25px 20px;
  }
}

/* ショップ特典 */
.shop-tokuten { margin-top: 40px; }
.shop-tokuten_inner {
  padding: 40px 50px;
  background-color: #F5F5F5;
}

.r-box_inner .t-tokuten {
  text-align: center;
  font-size:2.2rem;
  font-weight:700;
  line-height: 1.6;
  margin: 0 0 40px;
}

.btn-tokuten {
  margin:0;
}
.btn-tokuten li {
  margin:0 0 16px;
  border-radius: 8px;
}

.btn-tokuten li a {
  position: relative;
  z-index: 0;
  background: transparent;
  overflow: hidden;

  display: block;
  position: relative;
  border-radius: 8px;
  box-shadow: 0 3px 2px rgba(203, 203, 203, 0.5);
  color:#fff;
  height: 48px;
  font-size: 2.0rem;
  font-weight: 700;
  line-height:48px;
  text-align: center;
}

.btn-tokuten li a::before,
.btn-tokuten li a::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}

/* グラデーションボタン */
.btn-tokuten li a::before { transition: all 0.3s; z-index: -1; }
.btn-tokuten li a.rank-1::before { background: linear-gradient(360deg, rgb(197, 156, 14) 0%, rgb(232, 210, 124) 100%); }
.btn-tokuten li a.rank-2::before { background: linear-gradient(360deg, rgb(89, 122, 137), rgb(182, 189, 195)); }
.btn-tokuten li a.rank-3::before { background: linear-gradient(360deg, rgb(226, 100, 49), rgb(246, 160, 0)); }

.btn-tokuten li a::after { z-index: -2; }
.btn-tokuten li a.rank-1::after { background-color: #dbb746; }
.btn-tokuten li a.rank-2::after { background-color: #849aa6; }
.btn-tokuten li a.rank-3::after { background-color: #e57127; }

.btn-tokuten li a:hover::before { opacity: 0; }


/* グラデーションボタン：アイコン */
.btn-tokuten li a span {
  display: block;
  position: relative;
}
.btn-tokuten li a span::before,
.btn-tokuten li a span::after {
  content:"";
  display: block;
  position: absolute; top:50%;
  -webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.btn-tokuten li a span::before {
  width: 36px;
  height:36px;
  background: url(../../img/plusmember/member_3.png) 0 0 no-repeat;
  background-size: 100%;
  left: 8px;
}
.btn-tokuten li:nth-child(2) a span::before { background: url(../../img/plusmember/member_2.png) 0 0 no-repeat; background-size: 100%; }
.btn-tokuten li:nth-child(3) a span::before { background: url(../../img/plusmember/member_1.png) 0 0 no-repeat; background-size: 100%; }

.btn-tokuten li a span::after {
  width: 12px;
  height: 6px;
  background: url(../../img/plusmember/arw_d.svg) 0 0 no-repeat;
  background-size: 100%;
  transform: rotate(-90deg);
  right: 20px;
  margin-top:-3px;
}

@media (max-width: 769px) {
  .shop-tokuten { margin-top: 20px; }
  .shop-tokuten_inner { padding: 20px 0px; }
    
  .r-box_inner .t-tokuten {
    font-size:1.5rem;
    line-height: 1.6;
    margin: 0 20px 20px;
  }
  .btn-tokuten { margin: 0 20px; }
  .btn-tokuten li { margin:0 0 10px; }
  .btn-tokuten li a {
    height: 36px;
    font-size: 1.4rem;
    line-height:34px;
  }
  .btn-tokuten li a span::before {
    width: 27px;
    height:27px;
    left: 8px;
  }
  .btn-tokuten li a span::after {
    right: 10px;
    margin-top:-3px;
  }
}

/* 特典のご利用方法 */
.tokuten-use { margin-top: 40px; }
.tokuten-use_inner {
  padding: 40px 50px;
  background-color: #F5F5F5;
}

@media (max-width: 769px) {
  .tokuten-use { margin-top: 20px; }
  .tokuten-use_inner { padding: 20px 0px; }
}

.is-webmem-bnr {
  background-color: #9E538D;
  padding: 0;
  text-align: center;
  border-radius: 8px;
  margin: 0 0 16px;
  font-size: 2.4rem;
  line-height: 50px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-align: center;
  color: #fff;
}

.is-webcoupon-bnr {
  background-color: #cd737d;
  padding: 0;
  text-align: center;
  border-radius: 8px;
  margin: 0 0 16px;
  font-size: 2.4rem;
  line-height: 50px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-align: center;
  color: #fff;
}

.tokuten-use-box {
  background-color: #fff;
  box-shadow: 0 5px 5px rgba(203, 203, 203, 0.5);
  border-radius: 8px;
  padding: 35px 40px 30px 40px;
  margin: 40px 0 40px;
  position: relative;
}

@media (max-width: 769px) {
  .is-webmem-bnr {
    padding: 0;
    margin: 0 0 10px 0;
    line-height: 36px;
    font-weight: 700;
    font-size: 1.6rem;
  }
  
  .is-webcoupon-bnr {
    padding: 0;
    margin: 0 0 10px 0;
    line-height: 36px;
    font-weight: 700;
    font-size: 1.6rem;
  }

  .tokuten-use-box {
    background-color: transparent;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    margin: 30px 15px 40px 15px;;
  }

}


/* ピックアップ */
.pickup-box {
  background-color: #fff;
  box-shadow: 0 5px 5px rgba(203, 203, 203, 0.5);
  border-radius: 8px;
  padding: 60px 30px 30px 30px;
  margin: 60px 0 40px;
  position: relative;
}
#ttl-pickup {
  width:382px;
  position: absolute; top: -30px; left:50%;
  -webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

@media (max-width: 769px) {
  .pickup-box {
    padding: 30px 15px 15px 15px;
    margin: 30px 20px 40px 20px;
  }
  #ttl-pickup {
    width:80%;
    top: -20px;
  }
}

/* 対象 */
.taishou-set {
  color:#fff;
  text-align: center;
  font-weight: 700;
  margin:0 0 25px;
}
.tai-ttl {
  background-color: #8C8C8C;
  width: 160px;
  border-radius: 8px 0 0 8px;
  font-size: 1.8rem;
  padding: 20px 0;
}

.tai-rank {
  background-color: #F5F5F5;
  border-radius: 0 8px 8px 0;
  width: calc(100% - 160px);
  box-shadow: inset 1px 1px 6px rgba(203,203,203,.3),
            inset -1px -1px 6px rgba(203,203,203,.3);
}

.taishou-set ul { margin: 12px 30px; }
.taishou-set ul::after {
  content:"";
  display: block;
  width: calc(33.3333% - 7px);
}

.taishou-set ul li {
  width: calc(33.3333% - 7px);
  display: block;
  font-size: 1.4rem;
  height:36px;
  line-height:36px;
  border-radius: 20px;
  box-shadow: 0 3px 2px rgba(203, 203, 203, 0.5);
}

@media (max-width: 769px) {
  .taishou-set { margin:0 0 25px; }
  .tai-ttl {
    width: 100%;
    border-radius: 8px 8px 0 0;
    font-size: 1.5rem;
    padding: 13px 0;
  }
  .tai-rank {
    border-radius: 0 0 8px 8px;
    width: 100%;
  }
  .taishou-set ul { margin: 12px 10px; /*margin: 12px 5px;*/ }
  .taishou-set ul li {
    /* アイコン2つの時使用
    width: calc(50% - 7px);
    font-size:1.0rem;
     */
    
    /* アイコン3つの時使用 */
    width: calc(33.3333% - 3px);
    font-size: 2.3vw;

    height:30px;
    line-height:30px;
  }
}

/* 店舗情報 */
.shop-img { width: 300px; }
.shop-img a {
  display: block;
  background-color: #F5A200;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
  color:#fff;
  padding:10px 0;
}
.shop-img img { vertical-align: bottom; }

.shop-txt {
  width: calc(100% - 320px);
  position: relative;
}
.shop-txt h4 {
  font-size: 1.6rem;
  font-weight: 500;
  margin:0 0 15px;
}
.r-box_inner .shop-txt p {
  font-size: 1.6rem;
  line-height:1.4;
  margin:0 0 15px;
}
.r-box_inner .shop-txt p .notes{
  font-size: 1.2rem;
  line-height:1.1;
}
.r-box_inner .shop-txt p a {
  color:#DF6035;
  text-decoration: underline;
}
.r-box_inner .shop-txt p a:hover { text-decoration: none; }

.i-coupon {
  display: inline-block;
  background-color: #F5A200;
  text-align: center;
  font-size: 1.2rem;
  color:#fff;
  padding:5px 10px;
}

.is-mem { background-color: #DF6035; }


.shop-kilan {
  background-color: #F5F5F5;
  padding: 10px 13px;
}

.r-box_inner .shop-kilan p {
  font-size: 1.4rem;
  margin:0;
}
.r-box_inner .shop-kilan p span {
  color: #DF6035;
  font-weight: 700;
  margin-right:18px;
  margin:0 0 15px;
}

.r-box_inner .shop-txt p.t-note {
  font-size: 1.2rem;
}

@media screen and (min-width: 770px) {
  .shop-txt_info { padding: 10px 0; }
}

@media (max-width: 769px) {
  .shop-img { width: 100%; margin:0 0 20px; }
  .shop-img a {
    font-size: 1.3rem;
    padding:10px 0;
  }
  
  .shop-txt { width: 100%; }
  .shop-txt h4 {
    font-size: 1.5rem;
    margin:0 0 12px;
  }
  .r-box_inner .shop-txt p {
    font-size: 1.4rem;
    margin:0 0 12px;
  }
  
  .i-coupon {
    font-size: 1.2rem;
    padding:3px 10px;
    margin-bottom: 12px;
  }
  
  .shop-kilan { padding: 10px 13px; }
  .r-box_inner .shop-kilan p {
    font-size: 1.4rem;
    margin:0;
  }
  .r-box_inner .shop-kilan p span {
    display: block;
    margin:0 0 6px 0
  }
  .r-box_inner .shop-txt p.t-note { font-size: 1.0rem; }
}

#c-season2 .btn { margin: 40px auto 0; }
#c-season2 .btn.is-ora { margin: 40px auto 50px; }

#c-season2 .box-gy { padding-bottom: 50px; }
.how-kikan { margin:0 0 80px; }
  
@media (max-width: 769px) {
  #c-season2 .btn { margin: 20px auto 0; }
  #c-season2 .btn.is-ora { margin: 20px auto 25px; }
  
  #c-season2 .box-gy { padding-bottom: 25px; }
  .how-kikan { margin:0 0 40px; }
}

#c-season1 .btn { margin: 40px auto 0; }
#c-season1 .btn.is-ora { margin: 40px auto 50px; }

#c-season1 .box-gy { padding-bottom: 50px; }
.how-kikan { margin:0 0 80px; }
  
@media (max-width: 769px) {
  #c-season1 .btn { margin: 20px auto 0; }
  #c-season1 .btn.is-ora { margin: 20px auto 25px; }
  
  #c-season1 .box-gy { padding-bottom: 25px; }
  .how-kikan { margin:0 0 40px; }
}




/* member */
#member { margin: 0; }
  
.tbl-rank {
  border-collapse: collapse;
  border-spacing: 0px;
  width: 100%;
  margin: 24px 0;
  clear: both;
  background: #F5F5F5;
  border-radius: 8px 8px 0 0;
  table-layout: fixed;
}
.tbl-rank th {
  background: #DF6035;
  border-left: 1px solid #fff;
  padding: 15px 0;
  font-size: 2.6rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #fff;
  text-align: center;
}
.tbl-rank th:first-child {
  border-radius: 8px 0 0 0;
  width: 48%;
}
.tbl-rank th:last-child {
  border-radius: 0 8px 0 0;
  background-image: linear-gradient(360deg, rgb(197, 156, 14), rgb(232, 210, 124));
}
.tbl-rank th:nth-of-type(2) {
  background-image: linear-gradient(360deg, rgb(226, 100, 49), rgb(246, 160, 0));
}
.tbl-rank th:nth-of-type(3) {
  background-image: linear-gradient(360deg, rgb(89, 122, 137), rgb(182, 189, 195));
}
.tbl-rank td {
  font-size: 3rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.06em;
  border: 1px solid #8C8C8C;
  border-top: 0;
  border-right: 0;
  text-align: center;
  padding: 30px 0;
}
.tbl-rank td span {
  color: #DF6035;
}
.tbl-rank td img {
  width: 112px;
  height: auto;
}
.tbl-rank td:nth-of-type(1) {
  text-align: left;
  padding-left: 30px;
  border-left: 0;
}
.tbl-rank tr:last-child td {
  border-bottom: 0;
}

@media (max-width: 769px) {
  .tbl-rank {
    width: 100%;
  }
  .tbl-rank th {
    padding: 8px 0;
    font-size: 1.1rem;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.06em;
  }
  .tbl-rank th:first-child {
    width: 39%;
  }
  .tbl-rank td {
    font-size: 1.3rem;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding: 15px 8px;
  }
  .tbl-rank td img {
    width: 60px;
    height: auto;
  }
  .tbl-rank td:nth-of-type(1) {
    padding-left: 10px;
  }
}
#c-how .box-gy {
  margin-top: 20px;
}

.fuki {
  width: 821px;
  margin: 30px auto 0;
  background: #fff;
  border: 1px solid #8C8C8C;
  box-sizing: border-box;
  padding: 30px 0;
  margin-bottom: 20px;
  position: relative;
  border-radius: 20px;
  font-size: 5.4rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.fuki span {
  color: #DF6035;
}
.fuki::before {
  content: "";
  width: 28px;
  height: 21px;
  background: url(../../img/plusmember/fuki_t.png) 0 0 no-repeat;
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 769px) {
  .fuki {
    width: 93%;
    margin: 15px auto 10px;
    padding: 15px 10px;
    border-radius: 10px;
    font-size: 1.7rem;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.06em;
  }
  .fuki::before {
    width: 15px;
    height: 11px;
    background: url(../../img/plusmember/fuki_t.png) 0 0 no-repeat;
    background-size: 100%;
    position: absolute;
    top: -10px;
    left: 50%;
  }
  /* 削除する
  .how-kikan {
    margin-top: 25px;
  }
  */
}


/*==========================================================================

==========================================================================*/

.step-ttl {
  background: #468652;
  height: 64px;
  font-size: 3.2rem;
  line-height: 64px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #fff;
  text-align: center;
  border-radius: 8px;
  margin: 60px 0 50px;
}
@media screen and (max-width: 795px) {
  .step-ttl {
    height: 48px;
    font-size: 1.8rem;
    line-height: 48px;
    font-weight: 700;
    letter-spacing: 0.06em;
    border-radius: 8px;
    margin: 40px 0 50px;
  }
}
@media screen and (max-width: 420px) {
  .step-ttl {
    height: 38px;
    font-size: 1.7rem;
    line-height: 38px;
    font-weight: 700;
    letter-spacing: 0.06em;
    border-radius: 8px;
    margin: 30px 0 40px;
  }
}

.step-list {
  margin: 0 0;
}
.step-list > li {
  width: calc(25% - 12px);
  background: rgba(191, 192, 192, 0.4);
  padding: 10px 10px 10px 10px;
  text-align: center;
  border-radius: 8px;
  position: relative;
}
.step-list > li p {
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.06em;
  margin: 20px 0 15px;
  letter-spacing: 0;
}
@media screen and (min-width: 796px) {
  .step-list > li:nth-child(3) p {
    margin-top: 2.5em;
  }
  .step-list > li:nth-child(4) p {
    margin-top: 3.5em;
  }
}
@media screen and (max-width: 795px) {
  .step-list > li {
    width: 100%;
    padding: 10px 20px 20px 20px;
    border-radius: 8px;
    margin: 0 0 40px;
  }
  .step-list > li p {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 500;
    letter-spacing: 0.06em;
    margin: 20px 0 15px;
  }
  .step-list > li img {
    width: 60%;
    height: auto;
  }
  .step-list > li:last-child {
    margin: 0;
  }
  .step-list .btn a {
    width: 80%;
    margin: 30px auto 15px;
  }
}
@media screen and (max-width: 420px) {
  .step-list > li p {
    font-size: 1.2rem;
    line-height: 1.6;
    font-weight: 500;
    letter-spacing: 0.06em;
  }
  .step-list > li img {
    width: 100%;
    height: auto;
  }
}

.h-step {
  width: 160px;
  height: 36px;
  font-size: 2.2rem;
  line-height: 30px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #468652;
  border: 2px solid #468652;
  border-radius: 18px;
  background: #fff;
  margin: -28px auto 15px;
}
@media screen and (max-width: 795px) {
  .h-step {
    width: 80%;
    height: 44px;
    font-size: 2.1rem;
    line-height: 40px;
    font-weight: 700;
    letter-spacing: 0.06em;
    border-radius: 22px;
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 420px) {
  .h-step {
    width: 80%;
    height: 40px;
    font-size: 2.1rem;
    line-height: 36px;
    font-weight: 700;
    letter-spacing: 0.06em;
    border-radius: 20px;
    margin-bottom: 15px;
  }
}

/* 特典利用方法　クーポン型 */
.coupon-ttl {
  background: #cd737d;
  height: 64px;
  font-size: 3.2rem;
  line-height: 64px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #fff;
  text-align: center;
  border-radius: 8px;
  margin: 60px 0 50px;
}
@media screen and (max-width: 795px) {
  .coupon-ttl {
    height: 48px;
    font-size: 1.8rem;
    line-height: 48px;
    font-weight: 700;
    letter-spacing: 0.06em;
    border-radius: 8px;
    margin: 40px 0 50px;
  }
}
@media screen and (max-width: 420px) {
  .coupon-ttl {
    height: 38px;
    font-size: 1.7rem;
    line-height: 38px;
    font-weight: 700;
    letter-spacing: 0.06em;
    border-radius: 8px;
    margin: 30px 0 40px;
  }
}

.coupon-list {
  margin: 0 0;
}
.coupon-list > li {
  width: calc(25% - 12px);
  background: rgba(191, 192, 192, 0.4);
  padding: 10px 10px 10px 10px;
  text-align: center;
  border-radius: 8px;
  position: relative;
}
.coupon-list > li p {
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.06em;
  margin: 20px 0 15px;
  letter-spacing: 0;
}
@media screen and (min-width: 796px) {
  .coupon-list > li:nth-child(3) p {
    margin-top: 2.5em;
  }
  .coupon-list > li:nth-child(4) p {
    margin-top: 3.5em;
  }
}
@media screen and (max-width: 795px) {
  .coupon-list > li {
    width: 100%;
    padding: 10px 20px 20px 20px;
    border-radius: 8px;
    margin: 0 0 40px;
  }
  .coupon-list > li p {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 500;
    letter-spacing: 0.06em;
    margin: 20px 0 15px;
  }
  .coupon-list > li img {
    width: 60%;
    height: auto;
  }
  .coupon-list > li:last-child {
    margin: 0;
  }
  .coupon-list .btn a {
    width: 80%;
    margin: 30px auto 15px;
  }
}
@media screen and (max-width: 420px) {
  .coupon-list > li p {
    font-size: 1.2rem;
    line-height: 1.6;
    font-weight: 500;
    letter-spacing: 0.06em;
  }
  .coupon-list > li img {
    width: 100%;
    height: auto;
  }
}

.hc-step {
  width: 160px;
  height: 36px;
  font-size: 2.2rem;
  line-height: 30px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #cd737d;
  border: 2px solid #cd737d;
  border-radius: 18px;
  background: #fff;
  margin: -28px auto 15px;
}
@media screen and (max-width: 795px) {
  .hc-step {
    width: 80%;
    height: 44px;
    font-size: 2.1rem;
    line-height: 40px;
    font-weight: 700;
    letter-spacing: 0.06em;
    border-radius: 22px;
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 420px) {
  .hc-step {
    width: 80%;
    height: 40px;
    font-size: 2.1rem;
    line-height: 36px;
    font-weight: 700;
    letter-spacing: 0.06em;
    border-radius: 20px;
    margin-bottom: 15px;
  }
}

#c-kigen .box-gy {
  margin-top: 60px;
}

.r-box_inner .t-catch {
  font-size: 3.8rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #3E3A39;
}

.img-kigen {
  margin: 30px 0 20px;
}

.fuki-set {
  width: 665px;
  margin: 20px auto 15px;
  align-items: center;
}

#c-kigen .fuki {
  width: calc(100% - 210px);
  font-size: 2.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
  padding: 25px 0;
  margin: 0;
}
#c-kigen .fuki::before, #c-kigen .fuki::after {
  display: none;
}
#c-kigen .fuki img {
  position: absolute;
  top: 50%;
  right: -15px;
  transform: translateY(-50%);
}

#c-kigen .fuki-img {
  margin-top: 15px;
}

@media (max-width: 769px) {
  #c-kigen .box-gy {
    margin-top: 30px;
  }
  .r-box_inner .t-catch {
    font-size: 1.8rem;
  }
  .img-kigen {
    margin: 15px 0 15px;
  }
  .fuki-set {
    width: 100%;
    margin: 10px auto 15px;
  }
  #c-kigen .fuki {
    width: calc(100% - 100px);
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-align: center;
    padding: 15px 10px;
  }
  #c-kigen .fuki::before, #c-kigen .fuki::after {
    display: none;
  }
  #c-kigen .fuki img {
    position: absolute;
    top: 50%;
    right: -15px;
    transform: translateY(-50%);
  }
  #c-kigen .fuki-img {
    margin: 15px 0 0 10px;
    width: 85px;
  }
}




/*==========================================================================
Q&A
==========================================================================*/
#c-qa { margin: 0 0; }
.qa-set {
  margin: 0 50px 1px 50px;
  background: #F5F5F5;
}
@media (max-width: 769px) {
  .qa-set {
    margin: 0 15px 1px 15px;
  }
}

.ttl-q {
  display: block;
  text-align: left;
  background-color: #F5A200;
  cursor: pointer;
  padding: 20px 15px;
  font-size: 2.0rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #fff;
  position: relative;
}
.ttl-q span {
  width: 80%;
  display: inline-block;
  margin: 0 0 0 40px;
}
.ttl-q::before {
  content: "Q";
  display: block;
  font-family: "Poppins", sans-serif;
  font-size: 3.2rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.06em;
  position: absolute;
  top: 17px;
  left: 15px;
}
.ttl-q::after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url(../../img/plusmember/ico_plus.png) 0 0 no-repeat;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}
.ttl-q.is-open::after, .ttl-q.is-open2::after {
  background: url(../../img/plusmember/ico_minus.png) 0 0 no-repeat;
}
@media (max-width: 769px) {
  .ttl-q {
    padding: 13px 12px;
    font-size: 1.5rem;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.06em;
  }
  .ttl-q span {
    margin: 0 0 0 35px;
  }
  .ttl-q::before {
    font-size: 2.4rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.06em;
    top: 10px;
    left: 15px;
  }
  .ttl-q::after {
    width: 15px;
    height: 15px;
    background-size: 100%;
    right: 10px;
  }
}


/*==========================================================================
inq
==========================================================================*/
.box-a {
  display: none;
  background: #F5F5F5;
  padding: 15px 15px 15px 15px;
  position: relative;
}
.box-a::before {
  content: "A";
  display: inline-block;
  font-family: "Poppins", sans-serif;
  font-size: 3.2rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #F5A200;
}
.box-a p {
  display: block;
  margin: -1.8em 0 3em 45px;
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
  word-wrap: break-word;
}
.box-a p span {
  color: #DF6035;
}
.box-a p:last-child {
  margin-bottom: 0;
}
.box-a p > a {
  color: #DF6035;
  text-decoration: underline;
}
.box-a p > a:hover {
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
  -ms-filter: "alpha( opacity=90 )";
}
.box-a dl {
  margin: 10px 0 10px 45px;
}
.box-a dl dt {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
  margin: 0 0 10px;
}
.box-a dl dd {
  margin: 0 0 30px;
}
@media (max-width: 769px) {
  .box-a {
    padding: 20px 15px 10px 15px;
  }
  .box-a::before {
    font-size: 2.4rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.06em;
  }
  .box-a p {
    margin: -1.8em 0 2em 30px;
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: 0.06em;
  }
  .box-a img {
    margin: 10px 0 0 0;
  }
  .box-a dl {
    margin: 10px 0 10px 30px;
  }
  .box-a dl dt {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: 0.06em;
    margin: 0 0 10px;
  }
  .box-a dl dd {
    margin: 0 0 20px;
  }
}

@media screen and (min-width: 1080px) {
  .pc660 { width: 660px; }
}

#a-15 { display: none; }
.test.is-open2 { display: block; }

#c-inq .r-box { padding-bottom: 5px; }
#c-inq dl { margin: 0; }

#c-inq dl dt {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
  position: relative;
}
#c-inq dl dt::before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #DF6035;
  margin: 5px 5px 0 0;
}
#c-inq dl dd {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
  margin: 0 0 80px 0;
}
#c-inq dl dd:last-child {
  margin-top: 1em;
}
#c-inq dl a {
  color: #DF6035;
  text-decoration: underline;
}

.tbl-inq {
  border-collapse: separate;
  border-spacing: 0px;
  border-spacing: 20px 0;
  width: 940px;
  margin: 30px 0 0 -20px;
  clear: both;
}
.tbl-inq th, .tbl-inq td {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
  padding: 15px 10px;
  text-align: left;
}
.tbl-inq tr:first-child th,
.tbl-inq tr:first-child td {
  border-top: 1px solid #8C8C8C;
  border-bottom: 1px dashed #8C8C8C;
}
.tbl-inq tr:last-child th,
.tbl-inq tr:last-child td {
  border-bottom: 1px solid #8C8C8C;
}
.tbl-inq caption {
  font-size: 2.4rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin: 0 0 15px 20px;
  text-align: left;
}

@media (max-width: 769px) {
  #c-inq dl dt {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: 0.06em;
    padding: 0 0 0 1em;
    text-indent: -1em;
  }
  #c-inq dl dt::before {
    width: 10px;
    height: 10px;
    margin: 5px 5px 0 0;
  }
  #c-inq dl dd {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: 0.06em;
    margin: 0 0 40px 1em;
  }
  #c-inq dl dd:last-child {
    margin-bottom: 25px;
  }
  .tbl-inq {
    border-spacing: 10px 0;
    width: 100%;
    margin: 15px 0 0 0px;
  }
  .tbl-inq th, .tbl-inq td {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: 0.06em;
    padding: 10px 5px;
  }
  .tbl-inq th {
    font-size: 1.3rem;
    width: 25%;
  }
  .tbl-inq caption {
    font-size: 1.6rem;
    margin: 0 0 15px 20px;
  }
}

/*==========================================================================
パーツ
==========================================================================*/
.btn {
  text-align: center;
}
.btn a {
  display: block;
  background: #468652;
  width: 320px;
  height: 48px;
  margin: 0 auto;
  font-size: 2rem;
  line-height: 48px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #fff;
  position: relative;
  top: 0;
  border-radius: 6px;
  box-shadow: 0px 3px 0px 0px rgb(60, 100, 70);
}
.btn a::after {
  content: "";
  width: 16px;
  height: 16px;
  background: url(../../img/plusmember/ico_site.png) 0 0 no-repeat;
  background-size: 100%;
  position: absolute;
  top: 15px;
  right: 20px;
}
.btn a:hover {
  background: #58ab45;
  top: 2px;
  box-shadow: none;
}

.is-ora a {
  background-color: #DF6035;
  box-shadow: 0px 3px 0px 0px rgb(203, 203, 203, .5);
}
.is-ora a::after { display: none; }
.is-ora a:hover {  background-color: #E87556; }

.is-webcoupon a {
  background-color: #cd737d;
  box-shadow: 0px 3px 0px 0px rgb(203, 203, 203, .5);
}
.is-webcoupon a::after { display: none; }
.is-webcoupon a:hover {  background-color: #ce848f; }

@media (max-width: 769px) {
  .btn a {
    width: 70%;
    height: 36px;
    font-size: 1.6rem;
    line-height: 36px;
    font-weight: 700;
    letter-spacing: 0.06em;
  }
  .btn a::after {
    width: 13px;
    height: 13px;
    top: 13px;
    right: 12px;
  }
  .is-webcoupon a {
    width: 100%; 
  }
}

.sz-ss a {
  width: 100%;
  height: 24px;
  box-shadow: 0px 2px 0px 0px rgb(60, 100, 70);
  font-size: 1rem;
  line-height: 26px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.sz-ss a::after {
  width: 10px;
  height: 10px;
  top: 8px;
  right: 10px;
}
.sz-ss a:hover {
  top: 1px;
}
@media (max-width: 769px) {
  .sz-ss a {
    height: 30px;
    font-size: 1rem;
    line-height: 30px;
    font-weight: 700;
    letter-spacing: 0.06em;
  }
}

.r-box {
  background: #fff;
  border-radius: 16px;
  padding-bottom: 50px;
  margin: 0 0 120px;
}

.r-box_inner {
  margin: 0 50px;
}
.r-box_inner p {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
}
.r-box_inner p span.emp {
  color: #DF6035;
}
.r-box_inner p.t-note {
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: #8C8C8C;
  margin: 1em 0 0 0;
}
.r-box_inner p.t-sp {
  margin-bottom: 1.5em;
}

.box-gy {
  background: #F5F5F5;
  border-radius: 8px;
  padding: 30px;
  text-align: center;
}

@media (max-width: 769px) {
  .r-box {
    padding-bottom: 30px;
    margin: 0 0 60px;
  }
  .r-box_inner {
    margin: 0 20px;
  }
  .r-box_inner p {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: 0.05em;
  }
  .r-box_inner p.t-note {
    font-size: 1.2rem;
    line-height: 1.4;
    font-weight: 400;
    letter-spacing: 0.06em;
  }
  .box-gy {
    padding: 15px;
  }
}
.th1 {
  background: #DF6035;
  border-radius: 16px 16px 0 0;
  height: 72px;
  font-size: 3.2rem;
  line-height: 72px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #fff;
  text-align: center;
  position: relative;
  margin: 0 0 50px;
}
.th1::before, .th1::after {
  content: "";
  width: 40px;
  height: 40px;
  background: url(../../img/plusmember/ico_flower.png) 0 0 no-repeat;
  background-size: 100%;
  position: absolute;
  top: 15px;
}
.th1::before {
  left: 20px;
}
.th1::after {
  right: 20px;
}
@media (max-width: 769px) {
  .th1 {
    height: 50px;
    margin: 0 0 25px;
    font-size: 2.1rem;
    line-height: 50px;
    font-weight: 700;
    letter-spacing: 0.06em;
  }
  .th1::before, .th1::after {
    width: 25px;
    height: 25px;
  }
  .th1::before {
    left: 15px;
  }
  .th1::after {
    right: 15px;
  }
}

.th2 {
  background: #DF6035;
  border-radius: 8px 8px 0 0;
  height: 56px;
  font-size: 2.6rem;
  line-height: 56px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
  color: #fff;
}

@media (max-width: 769px) {
  .th2 {
    height: 40px;
    font-size: 1.8rem;
    line-height: 40px;
  }
}



/*==========================================================================
grid
==========================================================================*/
.box-grid {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.box-grid_c {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.box-grid_s {
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
}

.box-grid_e {
  display: flex;
  justify-content: end;
  flex-wrap: wrap;
}

@media screen and (min-width: 796px) {
  .is-items { align-items: center; }
  .is-reverse { flex-direction: row-reverse; }
}

@media screen and (max-width: 795px) {
  .is-items { align-items: center; }
  .is-reverse { flex-direction: row-reverse; }
}

@media (max-width: 769px) {
  .is-column { flex-flow: column; }
  .box-order {
    display: flex;
    flex-wrap: wrap;
  }
  .order_a { order: 1; }
  .order_b { order: 2; }
  .order_c { order: 3; }
}
