@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
sub,
sup,
var,
b,
i,
input,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video,
strong {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background-color: transparent;
  font-weight: normal;
}

strong,
b {
  font-weight: bold;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  /*border-bottom:1px dotted;*/
  text-decoration: none;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
  border-top: 1px solid #CCCCCC;
  border-left: 1px solid #CCCCCC;
  border-right: 1px solid #999999;
  border-bottom: 1px solid #999999;
}

input[type=file],
input[type=radio] {
  border: none;
}

img {
  vertical-align: top;
  font-size: 0px;
  line-height: 0em;
}

/* IE  html5.js */
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
  display: block;
}

/*-----COMMON-----*/
.pcOnly {
  display: none !important;
}

.spOnly {
  display: block !important;
}

.bgOrange {
  background-color: #f6efe2;
}

.colorOrange {
  color: #af9b77;
}

.colorRed {
  color: #e13714;
}

img {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

body {
  font-family: "Noto Sans Japanese", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
  color: #535353;
  text-align: center;
}

body * {
  font-weight: 500;
  letter-spacing: 1px;
}

#mainContent {
  padding-bottom: 24.8vw;
}

@media screen and (min-width: 769px) {
  #mainContent {
    padding-bottom: 120px;
  }
}
@media screen and (min-width: 769px) {
  .pcOnly {
    display: block !important;
  }
  .spOnly {
    display: none !important;
  }
}
.bg-block {
  background-color: #f7efe2;
}

@media screen and (min-width: 769px) {
  .bg-block_pc {
    background-color: #f7efe2;
  }
}
/*-----COMMON-----*/
.l-container {
  max-width: 89.33%;
  margin-inline: auto;
}

@media screen and (min-width: 769px) {
  .l-container {
    max-width: 1050px;
  }
}
.l-inner {
  max-width: 89.33%;
  margin-inline: auto;
}

@media screen and (min-width: 769px) {
  .l-inner {
    max-width: 900px;
  }
}
img.expands {
  width: 100%;
}

/*-----trial-----*/
.trialBox {
  position: relative;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto;
  /*border-radius: 20px;*/
  overflow: hidden;
}

@media screen and (min-width: 769px) {
  .trialBox {
    max-width: 800px;
  }
}
.trialBox .note {
  position: absolute;
  font-size: 2.604167vw;
  font-weight: normal;
  color: #ffffff;
  line-height: 1.3;
  width: 100%;
  top: 71.5%;
}

@-webkit-keyframes HorizontalShake {
  0% {
    transform: translateX(0px);
  }
  85% {
    transform: translateX(0px);
  }
  88% {
    transform: translateX(7px);
  }
  91% {
    transform: translateX(-7px);
  }
  94% {
    transform: translateX(7px);
  }
  97% {
    transform: translateX(-7px);
  }
  100% {
    transform: translateX(0px);
  }
}

@keyframes HorizontalShake {
  0% {
    transform: translateX(0px);
  }
  85% {
    transform: translateX(0px);
  }
  88% {
    transform: translateX(7px);
  }
  91% {
    transform: translateX(-7px);
  }
  94% {
    transform: translateX(7px);
  }
  97% {
    transform: translateX(-7px);
  }
  100% {
    transform: translateX(0px);
  }
}
.trialBox .btnArea {
  position: absolute;
  width: 100%;
  left: 50%;
  translate: -50% 0;
}

.trialBox .btnArea a {
  display: inline-block;
  width: 100%;
  max-width: 84vw;
  /*width: 81.510417vw;
  margin-right: 2.34375vw;*/
  -webkit-animation-name: HorizontalShake;
          animation-name: HorizontalShake;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-duration: 4000ms;
          animation-duration: 4000ms;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}

.trialBox .btnArea.btn_entry {
  bottom: 5.3333333333vw;
}

.trialBox .cotable {
  background-color: #e13714;
}

.trialBox .priceWrap {
  position: relative;
  display: none;
}

.trialBox .priceWrap .trial_pack {
  display: block;
  width: 86.779%;
  margin: 0 auto;
  padding: 25px 0 45px;
}

@media screen and (min-width: 769px) {
  .trialBox .priceWrap .trial_pack {
    max-width: 513px;
  }
}
.trialBox .priceWrap .trial_osusume {
  display: block;
  position: absolute;
  width: 10.169%;
  top: 30%;
  left: 2%;
  opacity: 0;
}

@media screen and (min-width: 769px) {
  .trialBox .priceWrap .trial_pack {
    max-width: 513px;
    top: 135px;
    left: 30px;
  }
}
.trialBox .priceWrap .trial_osusume.active {
  opacity: 1;
  transition: all 1.5s;
  transition-delay: 400ms;
}

.trialBox .toggleContent {
  width: 85.5%;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  border-radius: 10px;
}

@media screen and (min-width: 769px) {
  .trialBox .toggleContent {
    max-width: 632px;
  }
}
.notes {
  text-align: left;
  padding-top: 1em;
  line-height: 0.5;
}

.notes span {
  display: inline-block;
  padding-left: 4em;
  padding-right: 2em;
  text-indent: -2em;
  font-size: 2.6vw;
  line-height: 1.5;
}

.dropDown {
  position: relative;
  cursor: pointer;
}

.dropDown::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5.38%;
  transform: translate(0, -50%);
  width: 21px;
  height: 19px;
  background: url(../img/icon_dropdown.webp) no-repeat;
  background-size: cover;
  transition: 0.3s;
}

.dropDown.active::after {
  transform: translate(0, -50%) rotate(180deg);
}

.expocontent .dropDown::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5.38%;
  transform: translate(0, -50%);
  width: 14px;
  height: 12px;
  background: url(../img/icon_dropdown_expo.webp) no-repeat;
  background-size: cover;
  transition: 0.3s;
}

@media screen and (min-width: 769px) {
  .expocontent .dropDown::after {
    width: 21px;
    height: 19px;
  }
}
.expocontent .dropDown.active::after {
  transform: translate(0, -50%) rotate(180deg);
}

/*-----featured-media-----*/
.featured-media {
  font-size: 2.6666666667vw;
  padding-top: 4vw;
  padding-bottom: 4.8vw;
  margin-top: 8vw;
  padding-left: 4%;
  padding-right: 4%;
  background-color: #594a34;
  color: #fff;
  text-align: left;
  line-height: 2;
  font-weight: normal;
}

.featured-media * {
  letter-spacing: 0;
}

.featured-media .featured-media_list li {
  display: inline-block;
  margin-right: 0.8em;
}

.featured-media .featured-media_list li a {
  color: #fff;
  text-decoration: underline;
}

@media screen and (min-width: 769px) {
  .featured-media {
    font-size: 14px;
    padding-top: 25px;
    padding-bottom: 35px;
    margin-top: 130px;
    padding-left: 0;
    padding-right: 0;
  }
  .featured-media .featured-media_inner {
    max-width: 900px;
    margin: 0 auto;
  }
}
/*-----HEADER-----*/
.header {
  text-align: center;
  padding-block: 2.6666666667vw;
}

.header .logo {
  width: 26.6666666667vw;
}

@media screen and (min-width: 769px) {
  .header {
    padding-block: 10px;
    padding-inline: min(75px, 7.14vw);
  }
  .header .logo {
    width: min(200px, 19.04vw);
  }
}
/*-----FOOTER-----*/
footer {
  font-size: 2.604167vw;
  padding-top: 3vw;
  padding-bottom: 3vw;
}

footer * {
  letter-spacing: 0;
}

footer .linkBlock li {
  display: inline-block;
  line-height: 2;
}

footer .linkBlock li a {
  color: #535353;
}

footer .shareBlock li {
  display: inline-block;
  width: 6.512vw;
  margin: 5vw 2.4vw;
}

@media screen and (min-width: 769px) {
  footer {
    font-size: 14px;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  footer .shareBlock li {
    width: 40px;
    margin: 35px 15px 40px;
  }
  footer .linkBlock li a {
    font-size: 14px;
  }
  footer .textCopy {
    font-size: 14px;
  }
}
/*-----FLOATBTN-----*/
#cvBox {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background-color: #b19a78;
  box-sizing: border-box;
  text-align: center;
}

#cvBox .cvBoxInner {
  padding: 2vw 4% 4.2666666667vw;
}

#cvBox .imgBlock {
  max-width: 92vw;
  margin: 0 auto;
}

@media screen and (min-width: 769px) {
  #cvBox .cvBoxInner {
    padding: 5px 0 25px;
  }
  #cvBox .imgBlock {
    max-width: 657px;
  }
}
/*accordion*/
.accordion {
  padding: 0 5.208333vw 5.469vw;
  text-align: left;
}

.accordion .container {
  position: relative;
  border: 2px solid #af9b77;
  border-radius: 5px;
  margin-bottom: 2.6vw;
}

.accordion-orange .accordion .container {
  border: 2px solid #ff7701;
}

.accordion .label {
  position: relative;
  padding: 3vw 0 3.5vw 13vw;
  font-size: 3.645833vw;
  line-height: 1.36;
  background-color: #af9b77;
  color: #ffffff;
  cursor: pointer;
}

.accordion-orange .accordion .label {
  background-color: #ff7701;
}

.accordion .label::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 6%;
  width: 3.8666666667vw;
  height: 5.2vw;
  transform: translateY(-50%);
  background: url("../img/icon_q.webp") no-repeat;
  background-size: 100%;
}

.accordion .label::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 5%;
  width: 3.78vw;
  height: 1.954vw;
  transform: translateY(-50%);
  transition: 0.3s;
  background: url("../img/icon_arr.webp") no-repeat;
  background-size: 100%;
}

.accordion .content {
  position: relative;
  display: none;
  font-size: 3.125vw;
  line-height: 1.5;
}

.accordion .content::before {
  position: absolute;
  content: "";
  top: 2vw;
  left: 6%;
  width: 4vw;
  height: 4.4vw;
  background: url("../img/icon_a.webp") no-repeat;
  background-size: 100%;
}

.accordion .content p {
  padding: 2vw 1.8vw 3.2vw 13vw;
}

.accordion .label.active::after {
  top: 43%;
  transform: rotate(180deg);
}

@media screen and (min-width: 769px) {
  /*accordion*/
  .accordionBody {
    padding: 0 20px;
  }
  .accordion {
    max-width: 960px;
    padding: 0;
    margin: 0 auto;
  }
  .accordion .container {
    border: 2px solid #af9b77;
    border-radius: 10px;
    margin-bottom: 20px;
  }
  .accordion .label {
    position: relative;
    padding: 16px 70px 20px 78px;
    font-size: 24px;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
  }
  .accordion .label::before {
    left: 3%;
    width: 29px;
    height: 39px;
  }
  .accordion .label::after {
    right: 4%;
    width: 29px;
    height: 15px;
  }
  .accordion .label.active::after {
    top: 38%;
  }
  .accordion .content {
    font-size: 20px;
  }
  .accordion .content::before {
    top: 20%;
    left: 3%;
    width: 30px;
    height: 33px;
  }
  .accordion .container:nth-of-type(3) .content::before,
.accordion .container:nth-of-type(4) .content::before,
.accordion .container:nth-of-type(5) .content::before {
    top: 13%;
    left: 3%;
    width: 40px;
    height: 40px;
  }
  .accordion .content p {
    padding: 22px 60px 28px 78px;
  }
}
/*-----mv-----*/
.mv {
  margin-bottom: 2.6666666667vw;
}

.mv .box {
  position: relative;
}

.mv .desc {
  background-image: url(../img/mv_bg.png);
  background-size: cover;
  background-position: center;
}

@media screen and (min-width: 769px) {
  .mv {
    margin-bottom: 40px;
  }
}
.gallery-wrapper {
  overflow: hidden;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  translate: 0 24.56%;
}

.gallery {
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: scroll-left 20s linear infinite;
          animation: scroll-left 20s linear infinite;
}

.gallery img {
  height: auto;
  margin-right: 5.0666666667vw;
  width: 23.7333333333vw;
}

.gallery img.food_01,
.gallery img.food_03,
.gallery img.food_05 {
  width: 17.3333333333vw;
}

.gallery img.food_07 {
  width: 30vw;
}

@media screen and (min-width: 769px) {
  .gallery-wrapper {
    translate: 0 36.94%;
  }
  .gallery img {
    margin-right: 25px;
    width: min(124px, 11.8vw);
  }
  .gallery img.food_01,
.gallery img.food_03,
.gallery img.food_05 {
    width: min(90px, 8.57vw);
  }
  .gallery img.food_07 {
    width: min(155px, 14.76vw);
  }
}
@-webkit-keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/*-----shindan-----*/
.shindan {
  margin-top: 5.3333333333vw;
}

@media screen and (min-width: 769px) {
  .shindan {
    margin-top: 10px;
  }
}
/*-----newr-course-----*/
.newr-course {
  margin-bottom: 9.3333333333vw;
}

@media screen and (min-width: 769px) {
  .newr-course {
    margin-bottom: 75px;
  }
}
/*-----know-----*/
.know {
  margin-top: 12vw;
}

@media screen and (min-width: 769px) {
  .know {
    margin-top: 120px;
  }
}
/*-----popular-men-----*/
.popular-menu {
  margin-top: 10.6666666667vw;
}

@media screen and (min-width: 769px) {
  .popular-menu {
    margin-top: 60px;
  }
}
/*-----flow-----*/
.flow {
  margin-top: 10.6666666667vw;
  margin-bottom: 8vw;
}

@media screen and (min-width: 769px) {
  .flow {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}
/*-----course-comparison-----*/
.course-comparison {
  margin-top: 14.6666666667vw;
}

@media screen and (min-width: 769px) {
  .course-comparison {
    margin-top: 130px;
  }
}
/*-----steps-----*/
.steps {
  margin-top: 175px;
}

.steps .image {
  position: relative;
  top: -41px;
}

@media screen and (min-width: 769px) {
  .steps {
    background-color: #f7efe2;
    margin-top: 175px;
  }
  .steps .image {
    position: relative;
    top: -41px;
  }
}
/*-----faq-----*/
.faq {
  margin-top: 17.3333333333vw;
}

.faq h2 {
  margin-bottom: 5.3333333333vw;
}

@media screen and (max-width: 768px) {
  .faq .l-inner {
    max-width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .faq {
    margin-top: 105px;
  }
  .faq h2 {
    margin-top: 60px;
  }
}
/*-----faq-course-----*/
.faq-course {
  margin-top: 12vw;
}

@media screen and (max-width: 768px) {
  .faq-course .l-inner {
    max-width: 100%;
  }
}
.faq-course h2 {
  margin-bottom: 5.3333333333vw;
}

@media screen and (min-width: 769px) {
  .faq-course {
    margin-top: 120px;
  }
  .faq-course h2 {
    margin-top: 60px;
  }
}
/*-----safe-----*/
.safe {
  margin-top: 0;
  margin-bottom: 8vw;
}

.safe .l-container {
  position: relative;
}

.safe .image-01 {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -39%;
  width: 100%;
}

@media screen and (min-width: 769px) {
  .safe {
    margin-top: 220px;
    margin-bottom: 130px;
    background-color: #f7efe2;
  }
}
/*-----COUPON-----*/
.couponBox {
  position: relative;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto;
  /*border-radius: 20px;*/
  overflow: hidden;
  background: url("../img/coupon_bg_sp.png") no-repeat;
  background-color: #ffe8cf;
  background-size: 100%;
  border-radius: 10px;
}

@media screen and (min-width: 769px) {
  .couponBox {
    max-width: 800px;
    background: url("../img/coupon_bg_pc.png") no-repeat;
    background-color: #ffe8cf;
    border-radius: 20px;
  }
}
.couponBox .note {
  position: absolute;
  font-size: 2.604167vw;
  font-weight: normal;
  color: #ffffff;
  line-height: 1.3;
  width: 100%;
  top: 71.5%;
}

@keyframes HorizontalShake {
  0% {
    transform: translateX(0px);
  }
  85% {
    transform: translateX(0px);
  }
  88% {
    transform: translateX(7px);
  }
  91% {
    transform: translateX(-7px);
  }
  94% {
    transform: translateX(7px);
  }
  97% {
    transform: translateX(-7px);
  }
  100% {
    transform: translateX(0px);
  }
}
.couponBox .btnArea {
  position: absolute;
  width: 100%;
  left: 50%;
  translate: -50% 0;
}

.couponBox .btnArea a {
  display: inline-block;
  width: 100%;
  max-width: 84vw;
  /*width: 81.510417vw;
  margin-right: 2.34375vw;*/
  -webkit-animation-name: HorizontalShake;
          animation-name: HorizontalShake;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-duration: 4000ms;
          animation-duration: 4000ms;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}

.couponBox .btnArea.btn_trial {
  bottom: 5.3333333333vw;
}

.couponBox .btnArea.btn_entry {
  bottom: 5.3333333333vw;
}

@media screen and (min-width: 769px) {
  .couponBox .btnArea.btn_trial {
    max-width: 632px;
    bottom: 32px;
  }
}
@media screen and (min-width: 769px) {
  .couponBox .btnArea.btn_entry {
    max-width: 657px;
    bottom: 20px;
  }
}
/*
.couponBox .cotable {
  background-color: #304d8e;
}

.couponBox .cotable + .bg_cta {
  background: #345296;
}
@media screen and (min-width: 769px) {
  .couponBox .cotable + .bg_cta {
    background: #304d8e;
  }
}

.couponBox .cotable:has(.dropDown.active) + .bg_cta {
  background: url("../img/cv_opened_note_sp.webp");
  background-size: cover;
}
@media screen and (min-width: 769px) {
  .couponBox .cotable:has(.dropDown.active) + .bg_cta {
    background: url("../img/cv_opened_note_pc.webp");
    background-size: cover;
  }
}
*/
.couponBox .code-wrapper.bg_cta {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 5%;
}
@media screen and (min-width: 769px) {
  .couponBox .code-wrapper.bg_cta {
    margin-top: 2%;
  }
}

.couponBox .code-wrapper .code {
  width: 66.521739%;
}

@media screen and (min-width: 769px) {
  .couponBox .code-wrapper .code {
    max-width: 464px;
  }
}
.couponBox .code-wrapper .btn {
  width: 16.0869565%;
}

@media screen and (min-width: 769px) {
  .couponBox .code-wrapper .btn {
    max-width: 111px;
  }
}
.couponBox .code-wrapper .btn button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.couponBox .priceList {
  background: #fbf0dd;
}

.couponBox .priceWrap {
  position: relative;
  display: none;
  background: white;
  border-radius: 0 0 10px 10px;
}

.couponBox .priceWrap .coupon_pack {
  display: block;
  width: 86.779%;
  margin: 0 auto;
  padding: 0 0 5%;
}

@media screen and (min-width: 769px) {
  .couponBox .priceWrap .coupon_pack {
    max-width: 513px;
    padding: 25px 0 45px;
  }
}
.couponBox .priceWrap .coupon_osusume {
  display: block;
  position: absolute;
  width: 10.169%;
  top: 18%;
  left: 2%;
  opacity: 0;
}

@media screen and (min-width: 769px) {
  .couponBox .priceWrap .coupon_pack {
    max-width: 513px;
    top: 135px;
    left: 30px;
  }
  .couponBox .priceWrap .coupon_osusume {
    top: 22%;
  }
}
.couponBox .priceWrap .coupon_osusume.active {
  opacity: 1;
  transition: all 1.5s;
  transition-delay: 400ms;
}

.couponBox .toggleContent {
  width: 85.5%;
  margin-left: auto;
  margin-right: auto;
  /*  background-color: #fff;*/
  border-radius: 10px;
}
.couponBox .toggleContent p.dropDown {
  border-radius: 10px;
  overflow: hidden;
}
.couponBox .toggleContent p.dropDown.active {
  border-radius: 10px 10px 0 0;
}

@media screen and (min-width: 769px) {
  .couponBox .toggleContent {
    max-width: 632px;
  }
}
.couponBox .pb3 {
  padding-bottom: 3%;
}

.couponBox .okome_notes {
  padding: 1.5em;
  font-size: min(2vw, 12px);
  line-height: 1.5;
  text-align: left;
}

.coupon_waku {
  margin-top: 5%;
}

.coupon_howto {
  margin-top: 5%;
}
@media screen and (min-width: 769px) {
  .coupon_howto {
    margin-top: 3%;
  }
}

.couponBox .coupon_bottom {
  background: #733c9c;
}

@media screen and (min-width: 769px) {
  .couponBox .coupon_bottom {
    background: #603389;
  }
}
.couponBox .cotable:has(.dropDown.active) ~ .coupon_bottom {
  background: #8143ab;
}

.couponBox .relative {
  position: relative;
}

.couponBox .kazari {
  position: absolute;
  z-index: 3;
  left: 5px;
  bottom: -5%;
  width: min(16.8%, 126px);
}

@media screen and (min-width: 769px) {
  .couponBox .kazari {
    bottom: -10%;
    left: 20px;
  }
}
.pb40 {
  padding-bottom: 40px;
}

.remark {
  position: relative;
  padding: 1em;
  font-size: 11px;
  line-height: 1.5;
  text-align: left;
  background-color: #ffffff;
  width: 86.8%;
  height: 200px;
  overflow: scroll;
  border-left: solid 1px #ae9b77;
  border-right: solid 1px #ae9b77;
  border-bottom: solid 1px #ae9b77;
  margin: 0 auto;
}

@media screen and (min-width: 769px) {
  .remark {
    font-size: 16px;
    width: 89.2%;
    height: 200px;
    overflow: scroll;
    border-left: solid 2px #ae9b77;
    border-right: solid 2px #ae9b77;
    border-bottom: solid 2px #ae9b77;
  }
}
.remark_text01 li {
  display: -ms-flex;
  display: flex;
  align-items: baseline;
}

.remark_text01 li:before {
  content: "※";
  margin-right: 2px;
}

.remark_text02 {
  margin-left: 1rem;
}

.remark_text02 li {
  list-style: none;
}

.mt15 {
  margin-top: 15px;
}

.pb30 {
  padding-bottom: 30px;
}

table {
  border: 1px solid #cccccc;
  width: 100%;
  margin-top: 5px;
}

table th {
  border: 1px solid #cccccc;
  background-color: #f5f5e6;
  width: 26%;
  padding: 3px;
}

table td {
  border: 1px solid #cccccc;
  width: 74%;
  padding: 3px;
}

@media screen and (min-width: 769px) {
  table {
    margin-top: 10px;
  }
  table th {
    padding: 5px;
  }
  table td {
    padding: 5px;
  }
}
/* -------------------------
フローティングボタン　並列　クーポンコピー有
#cvBox.flex　←flexトルと並列解除
------------------------- */
#cvBox.flex .cvBoxInner .btn button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

#cvBox.flex .cvBoxInner .imgBlock {
  display: flex;
  justify-content: center;
  width: 95vw;
  top: -13.5%;
  left: 0;
  right: 0;
  margin: 0 auto;
}

#cvBox.flex .cvBoxInner .imgBlock a {
  padding-right: 0.5%;
}

#cvBox.flex .cvBoxInner .imgBlock .btn {
  padding-left: 0.5%;
}

.notesWrapper {
  max-width: 100%;
  margin: -8.834vw auto 2.8vw;
}

@media screen and (min-width: 769px) {
  .notesWrapper {
    max-width: 960px;
    margin: -2.8vw auto 2.8vw;
  }
}
.notes_lineups {
  padding: 1.5em;
  font-size: min(2vw, 12px);
  line-height: 1.5;
  text-align: right;
}

.mv {
  margin-bottom: 2.6666666667vw;
}

.mv .box {
  position: relative;
}

.mv .box h1 img {
  width: auto;
  margin-bottom: -134px;
  position: relative;
  z-index: 1000;
}

.mv ul {
  margin-bottom: 15px;
}

.mv ul li {
  margin: 0 0.5vw !important;
}

.slick-prev,
.slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 20px;
}

.slick-prev {
  left: 18%;
}

.slick-next {
  right: 18%;
}

.slick-next::before,
.slick-prev::before {
  display: none;
}

@media screen and (max-width: 768px) {
  .mv .box h1 img {
    margin-bottom: -21.33vw;
    width: 85.733vw;
  }
  .mv ul {
    margin-bottom: 2.67vw;
  }
  .slick-prev,
.slick-next {
    width: 2.67vw;
  }
  .slick-prev {
    left: 8%;
  }
  .slick-next {
    right: 8%;
  }
}
/*-----section01-----
.section01 {
  padding-top: 50px;
  padding-bottom: 65px;
}*/
/*-----section02-----
.section02 {
  padding-top: calc(100vw *(60 / 750));
  padding-bottom: calc(100vw *(115 / 750));
}

.section02 .sectionInner {
  max-width: calc(100vw *(690 / 750));
  margin: 0 auto;
}

.section02 h2 {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: calc(100vw *(40 / 750));
  max-width: calc(100vw *(612 / 750));
}

.section02 .video {
  background-color: #8a8a8a;
  width: 100%;
  height: calc(100vw *(690 / 750));
}

.section02 .video video {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .section02 {
    padding-top: 50px;
    padding-bottom: 95px;
  }

  .section02 .sectionInner {
    max-width: 900px;
  }

  .section02 h2 {
    margin-bottom: 50px;
    max-width: 556px;
  }

  .section02 .video {
    height: 506px;
  }
}
*/
/*-----section03-----
.section03 {
  padding-bottom: calc(100vw *(70 / 750));
}

.section03 h2 {
  max-width: 100%;
  margin: 0 auto;
}

.section03 .image {
  max-width: 941px;
  margin: 0 auto;
}

.section03 .image img {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .section03 {
    padding-bottom: 60px;
  }

  .section03 h2 {
    translate: 0 -35px;
    max-width: 427px;
  }
}
*/
/*-----section04-----
.section04 {
  position: relative;
}

.section04 h2 {
  max-width: 100%;
  margin: 0 auto;
}

.section04 .image {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 24.117%;
  z-index: 1;
  width: 100%;
  max-width: 750px;
}

@media screen and (min-width: 769px) {
  .section04 {
    padding-top: 65px;
    padding-bottom: 440px;
    position: relative;
  }

  .section04 h2 {
    max-width: 592px;
  }
}
*/
/*-----section05-----


@media screen and (min-width: 769px) {
  .section05 {
    padding-top: 132px;
    padding-bottom: 65px;
  }

  .section05 h2 {
    max-width: 798px;
    margin: 0 auto;
  }
}
*/
/*-----section06-----
.section06 {
  padding-top: calc(100vw *(80 / 750));;
  padding-bottom: calc(100vw *(80 / 750));;
}

@media screen and (min-width: 769px) {
  .section06 {
    padding-top: 75px;
    padding-bottom: 60px;
  }
}
*/
/*-----section07-----


@media screen and (min-width: 769px) {
  .section07 {
    padding-top: 65px;
    padding-bottom: 100px;
    background-color: #b19a78;
  }

  .section07 h2 {
    max-width: 908px;
    margin: 0 auto;
  }
}
*/
/*-----section08-----

.section08 {
  padding-top: calc(100vw *(100 / 750));
  padding-bottom: calc(100vw *(100 / 750));
}
@media screen and (min-width: 769px) {
  .section08 {
    padding-top: 70px;
    padding-bottom: 145px;
  }

  .section08 h2 {
    max-width: 902px;
    margin: 0 auto;
  }
}
*/
/*-----section09-----


.section09 {
  width: 100%;
  overflow: hidden;
}

.section09 .lineup {
  background-color: #ddd4c6;
  position: relative;
  padding-top: calc(100vw *(85 / 750));
  padding-bottom: calc(100vw *(50 / 750));
}

.section09 .lineup + .lineup {
  margin-top: calc(100vw *(100 / 750));
}

.section09 .label {
  width: calc(100vw *(305 / 750));
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
}


@media screen and (min-width: 769px) {
  .section09 {
    overflow: inherit;
  }
  .section09 h2 {

    translate: 0 -32px;
    max-width: 812px;
    margin: 0 auto 60px;
  }

  .section09 .lineup {
    background-color: #ddd4c6;
    display: flex;
    justify-content: center;
    padding: 0 0 60px;
    position: relative;
  }

  .section09 .lineup + .lineup {
    margin-top: 75px;
  }

  .section09 .lineup .image {
    max-width: 900px;
    translate: 0 -32px;
  }
}



.swiper-container {
  width: 80%;
  margin: 0 auto;
  padding-bottom: calc(100vw *(60 / 750));
  position: relative;
}

.swiper-slide {
  width: 80%;
  transition: transform 0.3s;
}

.swiper-slide img {
  width: 100%;
}

.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 0;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: calc(100vw *(8 / 750));
}

.swiper-pagination-bullet {
  width: calc(100vw *(19 / 750));
  height: calc(100vw *(19 / 750));
}

.swiper-pagination-bullet-active {
  background: #e13714;
}
*/
/*-----section10-----

.section10 {
  padding-top: calc(100vw *(60 / 750));
  padding-bottom: calc(100vw *(60 / 750));
}

@media screen and (min-width: 769px) {
  .section10 {
    padding-top: 65px;
    padding-bottom: 65px;
  }

  .section10 h2 {
    max-width: 839px;
    margin: 0 auto;
  }
}
*/
/*-----section11-----
.section11 {
  padding-top: calc(100vw *(60 / 750));
  padding-bottom: calc(100vw *(205 / 750));
}

.section11 .total {
  margin-top: calc(100vw *(80 / 750));
}

@media screen and (min-width: 769px) {
  .section11 {
    padding-top: 45px;
    padding-bottom: 145px;
  }

  .section11 .total {
    max-width: 900px;
    margin: 100px auto 0;
  }
}
*/
/*-----section12-----
.section12 {
  padding-left: 4%;
  padding-right: 4%;
  padding-bottom: calc(100vw *(50 / 750));
}

.section12 h2 {
  max-width: 100%;
  margin: 0 auto;
  translate: 0 calc(100vw *(-108 / 750));
}

.section12 .reviewList {
  margin: calc(100vw *(-70 / 750)) auto 0;
}

.section12 .reviewList > * {
  width: 100%;
  margin: 0 0 calc(100vw *(60 / 750));
}

@media screen and (min-width: 769px) {
  .section12 {
    padding-bottom: 60px;
    padding-left: 0;
    padding-right: 0;
  }

  .section12 h2 {
    max-width: 524px;
    translate: 0 -80px;
  }

  .section12 .reviewList {
    max-width: 980px;
    margin: -40px auto 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5.8%;
  }

  .section12 .reviewList > * {
    width: 47.083%;
    margin: 0 0 40px;
  }
}
*/
/*-----section13-----
.section13 {
  padding-top: calc(100vw *(60 / 750));
  padding-bottom: calc(100vw *(100 / 750));
}

@media screen and (min-width: 769px) {
  .section13 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
*/
/*-----section14-----
.section14 {
  padding-top: calc(100vw *(60 / 750));
  padding-bottom: calc(100vw *(80 / 750));
}

.section14 .tab-okazu {
  margin-top: calc(100vw *(85 / 750));
}

.section14 .tab-okazu .tab-title {
  max-width: calc(100vw *(612 / 750));
  margin: 0 auto calc(100vw *(52 / 750));
}

.section14 .tab-okazu .tabs {
  gap: 1.46%;
}

.section14 .tab-okazu .tabs .tab-button {
  width: 49.27%;
}

.section14 .tab-okazu .tab-content .tab .image {
  max-width: 100%;
}



@media screen and (min-width: 769px) {
  .section14 {
    padding-top: 60px;
    padding-bottom: 75px;
  }
  .section14 h2 {
    max-width: 854px;
    margin: 0 auto;
  }

  .section14 .tab-okazu {
    margin-top: 65px;
  }

  .section14 .tab-okazu .tab-title {
    max-width: 509px;
    margin: 0 auto 32px;
  }

  .section14 .tab-okazu .tabs {
    gap: 2.24%;
  }

  .section14 .tab-okazu .tabs .tab-button {
    width: 48.88%;
  }

  .section14 .tab-okazu .tab-content .tab .image {
    max-width: 724px;
    margin: 0 auto;
  }
}
*/
/*-----section15-----
.section15 {
  padding-top: calc(100vw *(80 / 750));
  padding-bottom: calc(100vw *(70 / 750));
}




@media screen and (min-width: 769px) {
  .section15 {
    padding-top: 65px;
    padding-bottom: 135px;
  }

  .section15 h2 {
    max-width: 893px;
    margin: 0 auto;
  }
}
*/
/*-----section16-----

@media screen and (min-width: 769px) {
  .section16 {
    padding-bottom: 50px;
  }

  .section16 h2 {
    max-width: 592px;
    margin: 0 auto;
    translate: 0 -47px;
  }

  .section16 .image {
    max-width: 905px;
    margin: 0 auto;
  }
}
*/
/*-----section17-----
.section17 {
  padding-top: calc(100vw *(60 / 750));
  padding-bottom: calc(100vw *(120 / 750));
}
@media screen and (min-width: 769px) {
  .section17 {
    padding-top: 60px;
    padding-bottom: 90px;
  }
}
*/
/*-----section18-----
.section18 {
  padding-bottom: calc(100vw *(60 / 750));
}


.section18 h2 {
  max-width: calc(100vw *(661 / 750));
  margin: 0 auto;
  translate: 0 calc(100vw *(-48 / 750));
  padding-bottom: calc(100vw *(10 / 750));
}


.section18 .tab-jitan .tabs {
  gap: 1.1%;
  justify-content: center;
}

.section18 .tab-jitan .tabs .tab-button {
  width: 32.6%;
}

@media screen and (min-width: 769px) {
  .section18 {
    padding-bottom: 80px;
  }


  .section18 h2 {
    max-width: 515px;
    translate: 0 -34px;
    padding-bottom: 10px;
  }


  .section18 .tab-jitan .tabs {
    gap: 0.88%;
    justify-content: center;
  }

  .section18 .tab-jitan .tabs .tab-button {
    width: 25%;
  }

  .section18 .tab-jitan .tab-content .tab .image {
    max-width: 611px;
    margin: 0 auto;
  }

  .section18 .tab-jitan .tab-content .tab#tab2-1 .image {
    max-width: 754px;
  }
}
*/
/*-----section19-----
.section19 {
  padding-top: calc(100vw *(60 / 750));
  padding-bottom: calc(100vw *(110 / 750));
  padding-left: 4%;
  padding-right: 4%;
}

@media screen and (min-width: 769px) {
  .section19 {
    padding-top: 115px;
    padding-bottom: 165px;
    padding-left: 0;
    padding-right: 0;
  }

  .section19 h2 {
    max-width: 795px;
    margin: 0 auto;
  }
}
*/
/*-----section20-----
.section20 {
  position: relative;
}

@media screen and (min-width: 769px) {
  .section20 {
    padding-bottom: 426px;
  }

  .section20 h2 {
    max-width: 621px;
    margin: 0 auto;
    translate: 0 -42px;
  }

  .section20 .content-01 {
    max-width: 743px;
    margin: -20px auto 0;
  }

  .section20 .content-02 {
    position: absolute;
    max-width: 673px;
    bottom: 0;
    left: 50%;
    translate: -50% 26.81%;
  }
}
*/
/*-----section21-----
.section21 {
  padding-top: calc(100vw *(75 / 750));
}


@media screen and (min-width: 769px) {
  .section21 {
    padding-top: 220px;
    padding-bottom: 80px;
  }

  .section21 h2 {
    max-width: 728px;
    margin: 0 auto;
  }
}

*/
/*-----section22-----
.section22 {
  padding-top: calc(100vw *(135 / 750));
  padding-bottom: calc(100vw *(115 / 750));
}

.section22 h2 {
  max-width: calc(100vw *(497 / 750));
  margin: 0 auto calc(100vw *(40 / 750));
}



@media screen and (min-width: 769px) {
  .section22 {
    padding-top: 80px;
    padding-bottom: 255px;
  }

  .section22 h2 {
    max-width: 416px;
    margin: 0 auto 75px;
  }
}
*/
/*-----section23-----
.section23 {
  position: relative;
}

@media screen and (min-width: 769px) {
  .section23 {
    padding-top: 164px;
    padding-bottom: 100px;
  }

  .section23 h2 {
    max-width: 724px;
    margin: 0 auto;
  }

  .section23 .content-01 {
    max-width: 617px;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% -116px;
  }
}
*/
/*-----section24-----
.section24 {
  padding-top: calc(100vw *(60 / 750));
  padding-bottom: calc(100vw *(60 / 750));
}

@media screen and (min-width: 769px) {
  .section24 {
    padding-top: 60px;
    padding-bottom: 80px;
  }
}
*/
/*# sourceMappingURL=style.css.map */