@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
body {
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  body {
    overflow-x: hidden;
  }
}
body #content-body-wrapper {
  margin-bottom: 0;
  /*font-family: "Noto Sans Japanese", "Hiragino Kaku Gothic ProN", Meiryo, "ＭＳ Ｐゴシック", "Arial", sans-serif;*/
  font-family: 'Noto Sans JP', sans-serif;
  font-feature-settings: "palt"; /* 文字詰め（カッコや句読点など） */
  color: #000000;
}
body #content-body-wrapper * {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a:hover {
  text-decoration: none;
}
a:active, a:focus {
  text-decoration: none;
}

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

@media screen and (min-width: 768px) {
  .only-sp {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .inner {
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 0 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .inner {
    padding: 0 1.3888888889vw;
    max-width: 100vw;
  }
}
@media screen and (max-width: 767px) {
  .inner {
    padding: 0 5.3333333333vw;
  }
}

@media screen and (min-width: 768px) {
  .trans {
    transition: 0.3s ease-in-out;
  }
  .trans:hover {
    opacity: 0.8;
  }
}

.btn-red__btn {
  background-color: #EA4647;
  border-radius: 999px;
  width: 996px;
  text-align: center;
  color: #fff;
  font-size: 40px;
  font-weight: bold;
  padding: 34px 10px;
  position: relative;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .btn-red__btn:hover {
    opacity: 0.8;
  }
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .btn-red__btn {
    font-size: 2.7777777778vw;
    width: 69.1666666667vw;
    padding: 2.3611111111vw 0.6944444444vw;
  }
}
@media screen and (max-width: 767px) {
  .btn-red__btn {
    font-size: 4.8vw;
    padding: 4.5333333333vw 2.6666666667vw;
    width: 86.6666666667vw;
  }
}
.btn-red__btn:link, .btn-red__btn:visited {
  color: #fff;
}
.btn-red__btn:before, .btn-red__btn:after {
  content: "";
  position: absolute;
}
.btn-red__btn:before {
  border: solid #fff;
  border-width: 0 4px 4px 0;
  display: inline-block;
  padding: 9px;
  top: 50%;
  right: 124px;
  transform: rotate(-45deg) translateY(-50%);
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .btn-red__btn:before {
    right: 8.6111111111vw;
    padding: 0.625vw;
    border-width: 0 0.2777777778vw 0.2777777778vw 0;
  }
}
@media screen and (max-width: 767px) {
  .btn-red__btn:before {
    right: 10.1333333333vw;
    padding: 1.0666666667vw;
    border-width: 0 0.8vw 0.8vw 0;
  }
}
.btn-red__btn:after {
  width: 770px;
  height: 75px;
  background-color: rgba(234, 70, 71, 0.7);
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 30px;
  z-index: -1;
  filter: blur(20px);
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .btn-red__btn:after {
    height: 5.2083333333vw;
    width: 53.4722222222vw;
    bottom: -0.3472222222vw;
    border-radius: 2.0833333333vw;
    filter: blur(1.3888888889vw);
  }
}
@media screen and (max-width: 767px) {
  .btn-red__btn:after {
    width: 66.9333333333vw;
    height: 11.7333333333vw;
    border-radius: 8vw;
    bottom: -1.3333333333vw;
    filter: blur(5.3333333333vw);
  }
}
.btn-red .label {
  position: absolute;
  width: 560px;
  left: 50%;
  top: -38px;
  transform: translateX(-50%);
  pointer-events: none;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .btn-red .label {
    width: 38.8888888889vw;
    top: -2.6388888889vw;
  }
}
@media screen and (max-width: 767px) {
  .btn-red .label {
    width: 70.1333333333vw;
    top: -5.0666666667vw;
  }
}
.btn-red__note {
  margin-top: 29px;
  font-size: 20px;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .btn-red__note {
    font-size: 1.3888888889vw;
    margin-top: 2.0138888889vw;
  }
}
@media screen and (max-width: 767px) {
  .btn-red__note {
    margin-top: 3.2vw;
    font-size: 3.2vw;
  }
}
.btn-red--deactive .btn-red__btn {
  background-color: #D6D6D6;
  color: #57392B;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .btn-red--deactive .btn-red__btn:hover {
    opacity: 1;
  }
}
.btn-red--deactive .btn-red__btn:link {
  color: #57392B;
}
.btn-red--deactive .btn-red__btn:before {
  border-right-color: #57392B;
  border-bottom-color: #57392B;
}
.btn-red--deactive .btn-red__btn:after {
  display: none;
}

.ttl-required {
  font-size: 48px;
  text-align: center;
  position: relative;
  padding-bottom: 66px;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .ttl-required {
    font-size: 3.3333333333vw;
    padding-bottom: 4.5833333333vw;
  }
}
@media screen and (max-width: 767px) {
  .ttl-required {
    font-size: 6.4vw;
    padding-bottom: 7.7333333333vw;
  }
}
.ttl-required:after {
  content: "";
  position: absolute;
  width: 760px;
  height: 29px;
  background: url(../images/ico_arr-white.svg) no-repeat center/contain;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .ttl-required:after {
    width: 52.7777777778vw;
    height: 2.0138888889vw;
  }
}
@media screen and (max-width: 767px) {
  .ttl-required:after {
    background-image: url(../images/ico_arr-white_sp.svg);
    width: 89.3333333333vw;
    height: 3.4666666667vw;
    background-size: 100%;
  }
}
.ttl-required--organe {
  color: #FF6C00;
}
.ttl-required--organe:after {
  background-image: url(../images/ico_arr-brown.svg);
  width: 800px;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .ttl-required--organe:after {
    width: 55.5555555556vw;
  }
}
@media screen and (max-width: 767px) {
  .ttl-required--organe:after {
    width: 62.6666666667vw;
    background-image: url(../images/ico_arr-brown_sp.svg);
  }
}

.block-chart {
  background-color: #fff;
  border-radius: 20px;
  padding: 70px 100px 114px;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-chart {
    border-radius: 1.3888888889vw;
    padding: 4.8611111111vw 6.9444444444vw 7.9166666667vw;
  }
}
@media screen and (max-width: 767px) {
  .block-chart {
    padding: 5.6vw 2.6666666667vw 9.0666666667vw;
    border-radius: 2.6666666667vw;
  }
}
.block-chart__ttl {
  background-color: #FFF1B9;
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  padding: 10px;
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-chart__ttl {
    font-size: 2.0833333333vw;
    padding: 0.6944444444vw;
    margin-bottom: 3.4722222222vw;
  }
}
@media screen and (max-width: 767px) {
  .block-chart__ttl {
    font-size: 4.2666666667vw;
    padding: 2.1333333333vw 2.6666666667vw;
    margin-bottom: 3.2vw;
  }
}
.block-chart__img {
  text-align: center;
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-chart__img {
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .block-chart__img {
    margin-bottom: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .block-chart__img img {
    width: 775px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-chart__img img {
    width: 53.8194444444vw;
  }
}
@media screen and (max-width: 767px) {
  .block-chart__img img {
    width: 100%;
  }
}
.block-chart__note {
  font-weight: 300;
  font-size: 14px;
  line-height: 1.42857143;
}
@media screen and (min-width: 768px) {
  .block-chart__note {
    width: 100%;
    max-width: 1040px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-chart__note {
    font-size: 0.9722222222vw;
    max-width: 72.2222222222vw;
  }
}
@media screen and (max-width: 767px) {
  .block-chart__note {
    font-size: 3.2vw;
    letter-spacing: 0.05em;
    line-height: 1.33333333;
  }
}
.block-chart__banner {
  margin-top: 38px;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-chart__banner {
    margin-top: 2.6388888889vw;
  }
}
@media screen and (max-width: 767px) {
  .block-chart__banner {
    margin-top: 12.2666666667vw;
  }
}
.block-chart__more {
  margin-top: 72px;
  text-align: center;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-chart__more {
    margin-top: 5vw;
  }
}
@media screen and (max-width: 767px) {
  .block-chart__more {
    margin-top: 10.6666666667vw;
  }
}
.block-chart__more .ttl {
  position: relative;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-chart__more .ttl {
    margin-bottom: 0.6944444444vw;
  }
}
@media screen and (max-width: 767px) {
  .block-chart__more .ttl {
    margin-bottom: 1.6vw;
  }
}
.block-chart__more .ttl:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #6B6B6B;
  transform: translateY(-50%);
}
.block-chart__more .ttl span {
  display: inline-block;
  background-color: #fff;
  position: relative;
  z-index: 1;
  padding-inline: 50px;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-chart__more .ttl span {
    padding-inline: 3.4722222222vw;
  }
}
@media screen and (max-width: 767px) {
  .block-chart__more .ttl span {
    padding-inline: 4vw;
  }
}
@media screen and (min-width: 768px) {
  .block-chart__more .ttl img {
    width: 179px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-chart__more .ttl img {
    width: 12.4305555556vw;
  }
}
@media screen and (max-width: 767px) {
  .block-chart__more .ttl img {
    width: 30.9333333333vw;
  }
}
.block-chart__more .txt {
  font-size: 30px;
  line-height: 1.6;
  margin-bottom: 38px;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-chart__more .txt {
    font-size: 2.0833333333vw;
    margin-bottom: 2.6388888889vw;
  }
}
@media screen and (max-width: 767px) {
  .block-chart__more .txt {
    font-size: 4.8vw;
    line-height: 1.33333333;
    margin-bottom: 5.3333333333vw;
  }
}
.block-chart__more .tb-price__img {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-chart__more .tb-price__img {
    margin-bottom: 0.6944444444vw;
  }
}
@media screen and (max-width: 767px) {
  .block-chart__more .tb-price__img {
    margin-bottom: 2.6666666667vw;
  }
}
.block-chart__more .tb-price__txt {
  font-size: 16px;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-chart__more .tb-price__txt {
    font-size: 1.1111111111vw;
  }
}
@media screen and (max-width: 767px) {
  .block-chart__more .tb-price__txt {
    font-size: 3.2vw;
    text-align: left;
    line-height: 1.16666667;
  }
}
.block-chart__more .label {
  margin-top: 40px;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-chart__more .label {
    margin-top: 2.7777777778vw;
  }
}
@media screen and (max-width: 767px) {
  .block-chart__more .label {
    margin-top: 10.6666666667vw;
  }
}
.block-chart__more .note {
  font-size: 15px;
  position: relative;
  padding-left: 24px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .block-chart__more .note {
    display: inline-block;
  }
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-chart__more .note {
    font-size: 1.0416666667vw;
    padding-left: 1.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .block-chart__more .note {
    font-size: 3.2vw;
    text-align: left;
    line-height: 1.16666667;
    padding-left: 4.2666666667vw;
    margin-top: 1.3333333333vw;
  }
}
.block-chart__more .note:before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.block-chart__more .note a {
  color: #FF6C00;
  text-decoration: underline;
}

.btn-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #FEFFCB;
  box-shadow: 0 -3px 12px 0 rgba(0, 0, 0, 0.1);
  text-align: center;
  padding-block: 32px 16px;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .btn-fixed {
    padding-block: 2.2222222222vw 1.1111111111vw;
  }
}
@media screen and (max-width: 767px) {
  .btn-fixed {
    padding-block: 8.5333333333vw 3.4666666667vw;
  }
}
.btn-fixed.is-show {
  transition: opacity 0.5s ease;
  opacity: 1;
  visibility: visible;
}
.btn-fixed .btn-red {
  display: inline-block;
}
.btn-fixed .btn-red__btn {
  padding-block: 11px;
}
@media screen and (min-width: 768px) {
  .btn-fixed .btn-red__btn {
    font-size: 36px;
    width: 850px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .btn-fixed .btn-red__btn {
    width: 59.0277777778vw;
    padding-block: 0.7638888889vw;
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 767px) {
  .btn-fixed .btn-red__btn {
    padding-block: 3.4666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .btn-fixed .btn-red__btn:before {
    right: 67px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .btn-fixed .btn-red__btn:before {
    right: 4.6527777778vw;
  }
}
@media screen and (min-width: 768px) {
  .btn-fixed .btn-red__btn:after {
    width: 806px;
    bottom: -10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .btn-fixed .btn-red__btn:after {
    width: 55.9722222222vw;
    bottom: -0.6944444444vw;
  }
}
.btn-fixed .btn-red__btn .label {
  width: 386px;
  top: -30px;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .btn-fixed .btn-red__btn .label {
    width: 26.8055555556vw;
    top: -2.0833333333vw;
  }
}
@media screen and (max-width: 767px) {
  .btn-fixed .btn-red__btn .label {
    width: 70.1333333333vw;
    top: -5.8666666667vw;
  }
}


/*---------------------------------
  表示・非表示（PC / SP）
---------------------------------*/
.pcnone {
	display: none;
}
.disiplaypconly {
    display: block;
}
.disiplaysponly {
    display: none;
}
@media screen and (max-width: 767px) {
.pcnone {
	display: inline-block !important;
}
.spnone {
	display: none !important;
}
.disiplaypconly {
    display: none !important;
}
.disiplaysponly {
    display: block !important;
}
}


/*---------------------------------
  テキスト位置
---------------------------------*/
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.text-pccenter-spleft {
    text-align: center;
}
.text-right {
    text-align: right;
}
@media screen and (max-width: 767px) {
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.text-pccenter-spleft {
    text-align: left;
}
.text-right {
    text-align: right;
}
}


/*---------------------------------
  フォントウェイト
---------------------------------*/
.fw500 {
    font-weight: 500;
}
.fw600 {
    font-weight: 600;
}
.fw700 {
    font-weight: 700;
}
.fw800 {
    font-weight: 800;
}
.fw900 {
    font-weight: 900;
}


/*---------------------------------
  フォントカラー
---------------------------------*/
.font-orange01 {
    color: #ff785a;
}
.font-blue01 {
    color: #329DCA;
}
.font-white01 {
    color: #ffffff;
}
.font-white01 a:link {
    color: #ffffff;
    text-decoration: underline;
}
.font-white01 a:visited {
    color: #ffffff;
    text-decoration: underline;
}


/*---------------------------------
  アンカー
---------------------------------*/
.anchor-tag {
  position: absolute;
  top: 0;
}
.anchor-tag01 {
  position: absolute;
  top: -7.291666666666667vw; /* 1920px基準でtop: -140px; */
}
.anchor-tag02 {
  position: absolute;
  top: 0;
}
.anchor-tag03 {
  position: absolute;
  top: -6.25vw; /* 1920px基準でtop: 120px; */
}
@media screen and (max-width: 767px) {
.anchor-tag {
  position: absolute;
  top: 0;
}
.anchor-tag01 {
  position: absolute;
  top: -32vw; /* 375px基準でtop: -120px; */
}
.anchor-tag02 {
  position: absolute;
  top: 0;
}
.anchor-tag03 {
  position: absolute;
  top: -21.333333333333336vw; /* 375px基準でtop: -120px; */
}
}


/*---------------------------------
  メインビジュアル
---------------------------------*/
#mainvisualwrap01 {
    width: 100%;
    padding: 0 0 3.125vw; /* 1920px基準でpadding: 0 0 60px; */
    position: relative;
}
@media screen and (max-width: 767px) {
#mainvisualwrap01 {
    width: 100%;
    padding: 0 0 6vw; /* 400px基準でpadding: 0 0 24px; */
    position: relative;
}
}


/*---------------------------------
  スライダー
---------------------------------*/
/* .スライダーの設定 */
.swiper01 {
	width: 100%;
	height: auto;
	overflow: hidden;
}

/* .ページネーションの設定 */
.swiper-pagination.top01 {
    display: none;
	top: 35px !important;
	left: 10px !important;
	text-align: left;
}
.swiper01 .swiper-pagination-bullet {
	border-radius: 50%;
	margin: 17px 0 !important;
	width: 12px;
	height: 12px;
	background: none;
	border: 1px solid #ffffff;
	opacity: 1;
	transform:rotate(90deg) !important;
	display: block;/* 横にする場合は外す */
}
.swiper-pagination-bullet-active {
	background: #ffffff !important;
	border: 1px solid #ffffff;
	opacity: 1;
}

.slide-img img {
	width: 100%;
	height: auto;
	overflow: hidden;
    object-fit: cover;
}
.slide-catchwrap01 {
    width: 100%;
	position: absolute;
	bottom: 2.604166666666667vw; /* 1920px基準でbottom: 50px; */
	left: 50%;
	transform: translate(-50%, 0);
	z-index: 9999;
}
.slide-catchwrap01 p {
	font-size: 1.3541666666666667vw; /* 1920px基準でfont-size: 26px; */
	font-weight: 600;
	line-height: 160%;
	text-align: center;
    text-decoration: underline;
    text-underline-offset: 0.26041666666666663vw; /* 1920px基準でtext-underline-offset: 5px; */
	color: #231815;
}

/* .ナビゲーション(やじるし)の設定 */
/* 前ページ、次ページボタン共通のスタイル */
.swiper-button-prev,
.swiper-button-next {
	background-image: none; /* デフォルトのボタン画像を消す */
	width: 30px !important; /* ボタンの幅 */
	height: 112px !important; /* ボタンの高さ */
	background-size: 30px 112px !important; /* 背景画像としてのサイズ（＝表示したい画像サイズ） */
	margin-top: -56px; /* 縦中央配置用：ボタンの高さの半分のネガティブマージン（top:50%がすでに設定されている） */
}
/* 次ページボタンのスタイル */
.swiper-button-next {
	background-image: url("../common_img/slideblacknext.jpg");
	/* transform: scale(-1, 1); 左右反転 */
}
/* 前ページボタンのスタイル */
.swiper-button-prev {
	background-image: url("../common_img/slideblackprev.jpg");
}
@media screen and (max-width: 767px) {
/* .スライダーの設定 */
.swiper01 {
	width: 100%;
	height: auto;
	font-size: 1.2rem;
	font-weight: 300;
	line-height: 140%;
	overflow: hidden;
}

.swiper-pagination.top01 {
    display: none;
	top: 5px !important;
	left: 12px !important;
	text-align: left;
}
.swiper01 .swiper-pagination-bullet {
	border-radius: 50%;
	margin: 3px 0 !important;
	width: 5px;
	height: 5px;
	background: none;
	border: 1px solid #ffffff;
	opacity: 1;
	transform:rotate(90deg) !important;
	display: block;/* 横にする場合は外す */
}
.swiper-pagination-bullet-active {
	background: #ffffff !important;
	border: 1px solid #ffffff;
	opacity: 1;
}

.slide-img img {
	width: 100%;
	height: auto;
	overflow: hidden;
    object-fit: cover;
}
.slide-catchwrap01 {
    width: 100%;
	position: absolute;
	bottom: 3.75vw; /* 400px基準でbottom: 15px; */
	left: 50%;
	transform: translate(-50%, 0);
	z-index: 9999;
}
.slide-catchwrap01 p {
	font-size: 2.75vw; /* 400px基準でfont-size: 11px; */
	font-weight: 500;
	line-height: 160%;
	text-align: center;
    text-decoration: underline;
    text-underline-offset: 1.25vw; /* 400px基準でtext-underline-offset: 5px; */
	color: #231815;
}

/* .ナビゲーション(やじるし)の設定 */
/* 前ページ、次ページボタン共通のスタイル */
.swiper-button-prev,
.swiper-button-next {
	background-image: none; /* デフォルトのボタン画像を消す */
	width: 20px !important; /* ボタンの幅 */
	height: 20px !important; /* ボタンの高さ */
	background-size: 20px 80px !important; /* 背景画像としてのサイズ（＝表示したい画像サイズ） */
	margin-top: -33px; /* 縦中央配置用：ボタンの高さの半分のネガティブマージン（top:50%がすでに設定されている） */
}
/* 次ページボタンのスタイル */
.swiper-button-next {
	background-image: url("../common_img/slideblacknext.jpg");
	/* transform: scale(-1, 1); 左右反転 */
}
/* 前ページボタンのスタイル */
.swiper-button-prev {
	background-image: url("../common_img/slideblackprev.jpg");
}
}


/* 画像のアニメーション
@keyframes zoom {
  0% {
  transform: scale(1.0);
  }
  100% {
  transform: scale(1.3);
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  }
}
.swiper01 .swiper-slide-active .slide-img,
.swiper01 .swiper-slide-duplicate-active .slide-img,
.swiper01 .swiper-slide-prev .slide-img {
  animation: zoom 10s linear 0s 1 normal both;  
} */


/*---------------------------------
  YES・NOスライダー
---------------------------------*/
/* =========================
   YES / NO スライダー共通（PC）
   ========================= */
/* ラッパーは位置決め用。幅は親幅いっぱい */
/* ラッパー（位置合わせ用） */
.yesswiper01-wrap,
.noswiper01-wrap {
  position: relative;
  width: 100%;
  /* （任意）個別に矢印アイコンを変えるならここで上書き
  --arrow-left-url: url("../images/arrow-left.svg");
  --arrow-right-url: url("../images/arrow-right.svg");
  */
}

/* 本体：800px固定＋センター＋overflow:hidden（はみ出し防止）
   1920px基準 → 800px = 41.666...vw */
.yesswiper01,
.noswiper01 {
  position: relative;
  width: 41.66666666666667vw; /* 800px */
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

/* 画像（テキスト画像含む） */
.yesswiper01 .slide-img img,
.noswiper01  .slide-img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 10px;
}

/* ページネーション */
.yesswiper01 .swiper-pagination,
.noswiper01  .swiper-pagination {
  position: static;
  margin-top: 14px;
  text-align: center;
}
.yesswiper01 .swiper-pagination-bullet,
.noswiper01  .swiper-pagination-bullet {
  width: 13px; height: 13px;
  border-radius: 50%;
  background: #C0C0C5;
  border: 1px solid #C0C0C5;
  opacity: 1;
  margin: 0 6px !important;
}
.yesswiper01 .swiper-pagination-bullet-active {
  background: #FF5F6E !important;
  border-color: #FF5F6E;
}
.noswiper01  .swiper-pagination-bullet-active {
  background: #379BF0 !important;
  border-color: #379BF0;
}

/* === 矢印：ラッパー基準で「800px箱の外側」に揃える ===
   初期値は共通SVG。必要なら各 *-wrap で --arrow-left-url / --arrow-right-url を上書き */
.yesswiper01-prev,
.yesswiper01-next,
.noswiper01-prev,
.noswiper01-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;             /* 画像幅 */
  height: 30px;            /* 画像高さ */
  margin-top: -16px;       /* 視覚中央寄せ */
  background-repeat: no-repeat;
  background-position: center;
  background-size: 30px 30px;
  border: 0;
  padding: 0;
  cursor: pointer;
  z-index: 5;
  background-color: transparent;
}

/* デフォルトの矢印画像（必要に応じて wrap 側で上書き可） */
.yesswiper01-prev,
.noswiper01-prev  { --arrow-left-url:  url("../images/arrow-left.svg");  background-image: var(--arrow-left-url); }
.yesswiper01-next,
.noswiper01-next  { --arrow-right-url: url("../images/arrow-right.svg"); background-image: var(--arrow-right-url); }

/* 800px の左右端“外側”に配置
   800px/2 = 400px → 20.8333vw、さらに外側オフセット 50px */
.yesswiper01-prev,
.noswiper01-prev  { left:  calc(50% - 20.833333333333336vw - 50px); }
.yesswiper01-next,
.noswiper01-next  { right: calc(50% - 20.833333333333336vw - 50px); }

/* Swiperデフォ矢印を無効化（念のため） */
.yesswiper01 .swiper-button-prev::after,
.yesswiper01 .swiper-button-next::after,
.noswiper01  .swiper-button-prev::after,
.noswiper01  .swiper-button-next::after { content: none; }

/* ===== SP（≤767px）：箱は 290px相当 / 矢印は内側へ戻す =====
   400px基準 → 290px = 72.5vw */
@media screen and (max-width: 767px){
  .yesswiper01,
  .noswiper01 { width: 72.5vw; }  /* 290px 相当 */

  .yesswiper01-prev,
  .yesswiper01-next,
  .noswiper01-prev,
  .noswiper01-next {
    width: 23px; height: 23px; margin-top: -10px; background-size: 23px 23px;
  }
  /* 内側に配置して横スクロールを出さない */
  .yesswiper01-prev,
  .noswiper01-prev  { left:  -16px; }
  .yesswiper01-next,
  .noswiper01-next  { right: -16px; }
}


/*---------------------------------
  コンテンツ
---------------------------------*/
#maincontentswrap01 {
    width: 100%;
}
.contentswrap01 {
    width: 100%;
    position: relative;
    padding: 0 0 7.8125vw; /* 1920px基準でpadding: 0 0 150px; */
}
.contentswrap02 {
    width: 100%;
    position: relative;
    padding: 7.8125vw 0; /* 1920px基準でpadding: 150px 0; */
}
.contentswrap03 {
    width: 100%;
    position: relative;
    padding: 5.989583333333334vw 0; /* 1920px基準でpadding: 115px 0; */
}
.contentswrap04 {
    width: 100%;
    position: relative;
    padding: 3.125vw 0 2.604166666666667vw; /* 1920px基準でpadding: 60px 0 50px; */
}
.contentsbgsky01 {
  background: url(../images/skybg01_pc.jpg) repeat-y;
  background-size: cover;
}
.contentsbgwater01 {
  background: url(../images/waterbg01_pc.jpg) repeat-y;
  background-size: cover;
}
.contentsbgwhite01 {
    background: #ffffff;
}
.contentsbgorange01 {
    background: #FFF4F5;
}
.contentsbgorange02 {
    background: #ff785a;
}
.contentsbgpink01 {
    background: #FF5F6E;
}
.contentsbgblue01 {
    background: #EFF7FE;
}
.contentsbgblue02 {
    background: #379BF0;
}
.contentsbgwhite01 {
    background: #ffffff;
}
.contentsbgyesabout01 {
  background: #F3F3FA url(../images/yesohisamaecocuteaboutbg01_pc.png) no-repeat;
  background-size: contain;
  padding: 23.177083333333336vw 0 7.552083333333333vw; /* 1920px基準でpadding: 445px 0 145px; */
}
.contentsbgnoabout01 {
  background: #F3F3FA url(../images/noecocuteaboutbg01_pc.png) no-repeat;
  background-size: contain;
  padding: 23.177083333333336vw 0 7.552083333333333vw; /* 1920px基準でpadding: 445px 0 145px; */
}
.contentsdetailwrap01 {
    width: 58.12500000000001vw; /* 1920px基準でwidth: 1116px; */
    margin: 0 auto;
    padding: 0 0 4.166666666666666vw; /* 1920px基準でpadding: 0 0 80px; */
    position: relative;
}
.contentsdetailwrap01:last-child {
    padding: 0;
}
.contentsdetailborderwrap01 {
    width: 58.12500000000001vw; /* 1920px基準でwidth: 1116px; */
    margin: 0 auto 4.166666666666666vw; /* 1920px基準でmargin: 0 auto 80px; */
    padding: 0 0 4.166666666666666vw; /* 1920px基準でpadding: 0 0 80px; */
    position: relative;
    border-bottom: 1px solid #82828C;
}
.borderbottompink01 {
    border-bottom: 1px solid #FF5F6E;
}
.borderbottompblue01 {
    border-bottom: 1px solid #379BF0;
}
.contentsdetailwrap02 {
    width: 100%;
    padding: 0 0 5.208333333333334vw; /* 1920px基準でpadding: 0 0 100px; */
}
.contentsdetailwrap02:last-child {
    padding: 0;
}
.contentsdetailwrap03 {
    width: 58.12500000000001vw; /* 1920px基準でwidth: 1116px; */
    margin: 0 auto;
    padding: 0 0 3.4375000000000004vw; /* 1920px基準でpadding: 0 0 66px; */
    position: relative;
}
.contentsdetailwrap03:last-child {
    padding: 0;
}
.contentsdetailinner01 {
    display: block;
    margin: 0 0 1.5625vw; /* 1920px基準でmargin: 0 0 30px; */
    position: relative;
}
.contentsdetailinner02 {
    display: block;
    margin: 0 0 3.125vw; /* 1920px基準でmargin: 0 0 60px; */
    position: relative;
}
.contentsdetailinner02:last-child {
    margin: 0;
}
@media screen and (max-width: 767px) {
#maincontentswrap01 {
    width: 100%;
}
.contentswrap01 {
    width: 100%;
    position: relative;
    padding: 0 0 25.333333333333336vw; /* 375px基準でpadding: 0 0 70px; */
}
.contentswrap02 {
    width: 100%;
    position: relative;
    padding: 26.666666666666668vw 0 22.666666666666664vw; /* 375px基準でpadding: 100px 0 85px; */
}
.contentswrap03 {
    width: 100%;
    position: relative;
    padding: 12.5vw 0; /* 375px基準でpadding: 50px 0; */
}
.contentswrap04 {
    width: 100%;
    position: relative;
    padding: 13.333333333333334vw 0 10.933333333333334vw; /* 375px基準でpadding: 50px 0 41px; */
}
.contentsbgsky01 {
  background: url(../images/skybg01_sp.jpg) repeat-y;
  background-size: cover;
}
.contentsbgwater01 {
  background: url(../images/waterbg01_sp.jpg) repeat-y;
  background-size: cover;
}
.contentsbgwhite01 {
    background: #ffffff;
}
.contentsbgorange01 {
    background: #FFF4F5;
}
.contentsbgorange02 {
    background: #ff785a;
}
.contentsbgpink01 {
    background: #FF5F6E;
}
.contentsbgblue01 {
    background: #EFF7FE;
}
.contentsbgblue02 {
    background: #379BF0;
}
.contentsbgwhite01 {
    background: #ffffff;
}
.contentsbgyesabout01 {
  background: #F3F3FA url(../images/yesohisamaecocuteaboutbg01_sp.png) no-repeat;
  background-size: contain;
  padding: 41.75vw 0 20vw; /* 400px基準でpadding: 167px 0 80px; */
}
.contentsbgnoabout01 {
  background: #F3F3FA url(../images/noecocuteaboutbg01_sp.png) no-repeat;
  background-size: contain;
  padding: 41.75vw 0 20vw; /* 400px基準でpadding: 167px 0 80px; */
}
.contentsdetailwrap01 {
    width: 84.5vw; /* 400px基準でwidth: 338px; */
    margin: 0 auto;
    padding: 0 0 21.75vw; /* 400px基準でpadding: 0 0 87px; */
    position: relative;
}
.contentsdetailwrap01:last-child {
    padding: 0;
}
.contentsdetailborderwrap01 {
    width: 84.5vw; /* 400px基準でwidth: 338px; */
    margin: 0 auto 17.5vw; /* 400px基準でmargin: 0 auto 70px; */
    padding: 0 0 17.5vw; /* 400px基準でpadding: 0 0 70px; */
    position: relative;
    border-bottom: 1px solid #82828C;
}
.borderbottompink01 {
    border-bottom: 1px solid #FF5F6E;
}
.borderbottompblue01 {
    border-bottom: 1px solid #379BF0;
}
.contentsdetailwrap02 {
    width: 100%;
    padding: 0 0 12.533333333333333vw; /* 375px基準でpadding: 0 0 47px; */
}
.contentsdetailwrap02:last-child {
    padding: 0;
}
.contentsdetailwrap03 {
    width: 84.5vw; /* 400px基準でwidth: 338px; */
    margin: 0 auto;
    padding: 0 0 13vw; /* 400px基準でpadding: 0 0 52px; */
    position: relative;
}
.contentsdetailwrap03:last-child {
    padding: 0;
}
.contentsdetailinner01 {
    display: block;
    margin: 0 0 7.46666666666666vw; /* 375px基準でmargin: 0 0 28px; */
    position: relative;
}
.contentsdetailinner02 {
    display: block;
    margin: 0 0 13.333333333333334vw; /* 375px基準でmargin: 0 0 50px; */
    position: relative;
}
.contentsdetailinner02:last-child {
    margin: 0 0 6.666666666666667vw; /* 375px基準でmargin: 0 0 25px; */
}
}


/*---------------------------------
  コンテンツタイトル
---------------------------------*/
.contentstitlewrap01 {
    width: 58.12500000000001vw; /* 1920px基準でwidth: 1116px; */
    margin: 0 auto;
    padding: 0 0 2.864583333333333vw; /* 1920px基準でpadding: 0 0 55px; */
}
.contentstitlewrap02 {
    width: 58.12500000000001vw; /* 1920px基準でwidth: 1116px; */
    margin: 0 auto;
    padding: 0 0 1.5625vw; /* 1920px基準でpadding: 0 0 30px; */
}
.contentstitlewrap03 {
    width: 58.12500000000001vw; /* 1920px基準でwidth: 1116px; */
    margin: 0 auto;
    padding: 0 0 2.604166666666667vw; /* 1920px基準でpadding: 0 0 50px; */
}
.contentstitlewrap04 {
    padding: 0 0 2.604166666666667vw; /* 1920px基準でpadding: 0 0 50px; */
}
@media screen and (max-width: 767px) {
.contentstitlewrap01 {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 10.666666666666668vw; /* 375px基準でpadding: 0 0 40px; */
}
.contentstitlewrap02 {
    width: 89.33333333333333vw; /* 375px基準でwidth: 335px; */
    margin: 0 auto;
    padding: 0 0 6.666666666666667vw; /* 375px基準でpadding: 0 0 25px; */
}
.contentstitlewrap03 {
    width: 89.33333333333333vw; /* 375px基準でwidth: 335px; */
    margin: 0 auto;
    padding: 0 0 5.333333333333334vw; /* 375px基準でpadding: 0 0 20px; */
}
.contentstitlewrap04 {
    padding: 0 0 4vw; /* 375px基準でpadding: 0 0 15px; */
}
}


/*---------------------------------
  コンテンツ本文
---------------------------------*/
.contentslist01 {
    padding: 0 0 1.3541666666666667vw; /* 1920px基準でpadding: 0 0 26px; */
}
.contentslist01:last-child {
    padding: 0;
}
.contentslist02 {
    padding: 0 0 0.9375vw; /* 1920px基準でpadding: 0 0 18px; */
}
.contentscatch01 {
    font-size: 1.7812500000000002vw; /* 1920px基準でfont-size: 34.2px; */
    font-weight: 600;
    padding: 0 0 2.083333333333333vw; /* 1920px基準でpadding: 0 0 40px; */
}
.contentscatch01:last-child {
    padding: 0;
}
.contentstext01 {
    font-size: 1.4583333333333333vw; /* 1920px基準でfont-size: 28px; */
    font-weight: 500;
    line-height: 180%;
    padding: 0 0 1.1979166666666667vw; /* 1920px基準でpadding: 0 0 23px; */
}
.contentstext01:last-child {
    padding: 0;
}
.contentstext02 {
    font-size: 1.4583333333333333vw; /* 1920px基準でfont-size: 28px; */
    font-weight: 500;
    line-height: 180%;
    padding: 0 0 0.78125vw; /* 1920px基準でpadding: 0 0 15px; */
}
.contentstext02:last-child {
    padding: 0;
}
.contentstext03 {
    font-size: 1.4583333333333333vw; /* 1920px基準でfont-size: 28px; */
    font-weight: 500;
    line-height: 120%;
}
.contentstextunderline01 {
    position: relative;
}
.contentstextunderline01:before {
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -7px;
    width: 2.604166666666667vw; /* 1920px基準でwidth: 50px; */
    height: 5px;
    margin: 0 auto;
    border-radius: 5px;
    background: #FF5F6E;
}
 .nowrap01 .contentstextunderline01:before {
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -7px;
    width: 2.604166666666667vw; /* 1920px基準でwidth: 50px; */
    height: 5px;
    margin: 0 auto;
    border-radius: 5px;
    background: #379BF0;
}
.contentstextattention01 {
    font-size: 0.7500000000000001vw; /* 1920px基準でfont-size: 14.4px; */
}
.contentstextattention02 {
    font-size: 0.9375vw; /* 1920px基準でfont-size: 18px; */
}
.contentsimgwrap01 {
    width: 58.12500000000001vw; /* 1920px基準でwidth: 1116px; */
    margin: 0 auto;
    position: relative;
}
.contentsbgyesabout01 .contentsimgwrap01,
.contentsbgnoabout01 .contentsimgwrap01 {
    width: 37.5vw; /* 1920px基準でwidth: 720px; */
    margin: 0 auto;
    position: relative;
}
.contentsimgwrap02 {
    width: 16.40625vw; /* 1920px基準でwidth: 315px; */
    margin: 0 auto;
    padding: 3.4895833333333335vw 0 2.4479166666666665vw; /* 1920px基準でpadding: 67px 0 47px; */
    position: relative;
}
.contentsimgwrap03 {
    width: 48.75vw; /* 1920px基準でwidth: 936px; */
    margin: 0 auto;
    position: relative;
}
.contentsimgblueshadow01 {
    filter: drop-shadow(0px 0px 10px rgba(70,128,185,0.2));
}
.contentsimgblueshadow02 {
    filter: drop-shadow(0px 0px 10px rgba(0,104,255,0.2));
}
.contentsimgblueshadow03 {
    filter: drop-shadow(0px 0px 10px rgba(70,70,181,0.2));
}
.contentsimgpinkshadow01 {
    filter: drop-shadow(0px 0px 10px rgba(255,95,110,0.2));
}
.contentsdetailtextwrap01 {
     width: 58.12500000000001vw; /* 1920px基準でwidth: 1116px; */
     margin: 0 auto;
     padding: 2.604166666666667vw 0 0; /* 1920px基準でpadding: 50px 0 0; */
}
ul.contentsdetailtextlist01 {
     display: block;
     font-size: 1.03125vw; /* 1920px基準でfont-size: 19.8px; */
     font-weight: 400;
     line-height: 180%;
}
ul.contentsdetailtextlist01 li {
    display: block;
}
ul.contentsdetailtextlist01 li:nth-child(1) {
    font-size: 1.171875vw; /* 1920px基準でfont-size: 22.5px; */
    font-weight: 500;
    padding: 0 0 1.0416666666666665vw; /* 1920px基準でpadding: 0 0 20px; */
}
.contentsattentionwrap01 {
    width: 58.12500000000001vw; /* 1920px基準でwidth: 1116px; */
    margin: 0 auto;
    font-size: 0.625vw; /* 1920px基準でfont-size: 12px; */
    font-weight: 400;
    padding: 1.0416666666666665vw 0 0; /* 1920px基準でpadding: 20px 0 0; */
}
.contentsattentionwrap02 {
    width: 58.12500000000001vw; /* 1920px基準でwidth: 1116px; */
    margin: 0 auto;
    font-size: 0.7291666666666666vw; /* 1920px基準でfont-size: 14px; */
    font-weight: 400;
    padding: 1.0416666666666665vw 0 0; /* 1920px基準でpadding: 20px 0 0; */
}
.contentsattentionwrap03 {
    width: 41.66666666666667vw; /* 1920px基準でwidth: 800px; */
    margin: 0 auto;
    font-size: 0.7291666666666666vw; /* 1920px基準でfont-size: 14px; */
    font-weight: 400;
    padding: 1.0416666666666665vw 0 0; /* 1920px基準でpadding: 20px 0 0; */
}
.contentsattentionwrap01 ul {
    display: block;
}
.contentsattentionwrap01 ul li {
    padding: 0 0 1.0416666666666665vw; /* 1920px基準でpadding: 0 0 20px; */
}
.contentsattentionwrap01 ul li:last-child {
    padding: 0;
}
.contentsyesplancatch01 {
  width: 30.104166666666664vw; /* 1920px基準でwidth: 578px; */
}
.contentsyesplanimg01 {
  width: 38.02083333333333vw; /* 1920px基準でwidth: 730px; */
}
.contentsnoplancatch01 {
  width: 30.104166666666664vw; /* 1920px基準でwidth: 578px; */
}
.contentsnoplanimg01 {
  width: 38.02083333333333vw; /* 1920px基準でwidth: 730px; */
}
.contentsyestimingcatch01 {
  width: 12.916666666666668vw; /* 1920px基準でwidth: 248px; */
}
.contentsyestimingimgwrap01 {
  width: 43.4375vw; /* 1920px基準でwidth: 834px; */
  position: relative;
  margin: 0 auto 3.125vw; /* 1920px基準でmargin: 0 auto 60px; */
}
.contentsyestimingimgwrap01 img {
  margin: 0 0 0 -0.78125vw; /* 1920px基準でmargin: 0 0 0 -15px; */
}
.contentsyestimingimgwrap01 p {
  font-size: 0.625vw; /* 1920px基準でfont-size: 12px; */
  position: absolute;
  left: 2.34375vw; /* 1920px基準でleft: 45px; */
  bottom: 1.1458333333333333vw; /* 1920px基準でbottom: 22px; */
}
.contentsnotimingcatch01 {
  width: 12.916666666666668vw; /* 1920px基準でwidth: 248px; */
}
.contentsnotimingimgwrap01 {
  width: 43.4375vw; /* 1920px基準でwidth: 834px; */
  position: relative;
  margin: 0 auto 3.125vw; /* 1920px基準でmargin: 0 auto 60px; */
}
.contentsnotimingimgwrap01 img {
  margin: 0 0 0 -0.78125vw; /* 1920px基準でmargin: 0 0 0 -15px; */
}
.contentsnotimingimgwrap01 p {
  font-size: 0.625vw; /* 1920px基準でfont-size: 12px; */
  position: absolute;
  left: 2.34375vw; /* 1920px基準でleft: 45px; */
  bottom: 1.1458333333333333vw; /* 1920px基準でbottom: 22px; */
}
@media screen and (max-width: 767px) {
.contentslist01 {
    padding: 0 0 4.41vw; /* 400px基準でpadding: 0 0 17.64px; */
}
.contentslist01:last-child {
    padding: 0;
}
.contentslist02 {
    padding: 0 0 4vw; /* 375px基準でpadding: 0 0 15px; */
}
.contentscatch01 {
    font-size: 6vw; /* 400px基準でfont-size: 24px; */
    font-weight: 600;
    padding: 0 0 8.25vw; /* 400px基準でpadding: 0 0 33px; */
}
.contentscatch01:last-child {
    padding: 0;
}
.contentstext01 {
    font-size: 4vw; /* 400px基準でfont-size: 16px; */
    font-weight: 500;
    line-height: 180%;
    padding: 0 0 4.25vw; /* 400px基準でpadding: 0 0 17px; */
}
.contentstext01:last-child {
    padding: 0;
}
.contentstext02 {
    font-size: 4vw; /* 400px基準でfont-size: 16px; */
    font-weight: 500;
    line-height: 180%;
    padding: 0 0 4.25vw; /* 400px基準でpadding: 0 0 17px; */
}
.contentstext02:last-child {
    padding: 0;
}
.contentstext03 {
    font-size: 4vw; /* 400px基準でfont-size: 16px; */
    font-weight: 600;
    line-height: 120%;
}
.contentstextunderline01 {
    position: relative;
}
.contentstextunderline01:before {
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -7px;
    width: 11.25vw; /* 400px基準でwidth: 45px; */
    height: 5px;
    margin: 0 auto;
    border-radius: 5px;
    background: #FF5F6E;
}
 .nowrap01 .contentstextunderline01:before {
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -7px;
    width: 11.25vw; /* 400px基準でwidth: 45px; */
    height: 5px;
    margin: 0 auto;
    border-radius: 5px;
    background: #379BF0;
}
.contentstextattention01 {
    font-size: 2.75vw; /* 400px基準でfont-size: 11px; */
}
.contentstextattention02 {
    font-size: 3.25vw; /* 400px基準でfont-size: 13px; */
}
.contentsimgwrap01 {
    width: 100%;
    margin: 0 auto;
    position: relative;
}
.contentsbgyesabout01 .contentsimgwrap01,
.contentsbgnoabout01 .contentsimgwrap01 {
    width: 100%;
    margin: 0 auto;
    position: relative;
}
.contentsimgwrap02 {
    width: 52vw; /* 400px基準でwidth: 208px; */
    margin: 0 auto;
    padding: 7.5vw 0 8.75vw; /* 400px基準でpadding: 30px 0 35px; */
    position: relative;
}
.contentsimgwrap03 {
    width: 100%;
    margin: 0 auto;
    position: relative;
}
.contentsimgblueshadow01 {
    filter: drop-shadow(0px 0px 6px rgba(70,128,185,0.2));
}
.contentsimgblueshadow02 {
    filter: drop-shadow(0px 0px 6px rgba(0,104,255,0.2));
}
.contentsimgblueshadow03 {
    filter: drop-shadow(0px 0px 6px rgba(70,70,181,0.2));
}
.contentsimgpinkshadow01 {
    filter: drop-shadow(0px 0px 6px rgba(255,95,110,0.2));
}
.contentsdetailtextwrap01 {
     width: 100%;
     margin: 0 auto;
     padding: 8vw 0 0; /* 400px基準でpadding: 32px 0 0; */
}
ul.contentsdetailtextlist01 {
     display: block;
     font-size: 3vw; /* 375px基準でfont-size: 12px; */
     font-weight: 400;
     line-height: 180%;
}
ul.contentsdetailtextlist01 li {
    display: block;
}
ul.contentsdetailtextlist01 li:nth-child(1) {
    font-size: 3.75vw; /* 400px基準でfont-size: 15px; */
    font-weight: 500;
    padding: 0 0 5.5vw; /* 400px基準でpadding: 0 0 22px; */
}
.contentsattentionwrap01 {
    width: 100%;
    margin: 0 auto;
    font-size: 2.933333333333333vw; /* 375px基準でfont-size: 11px; */
    font-weight: 400;
    padding: 5.333333333333334vw 0 0; /* 375px基準でpadding: 20px 0 0; */
}
.contentsattentionwrap02 {
    width: 89.33333333333333vw; /* 375px基準でwidth: 335px; */
    margin: 0 auto;
    font-size: 2.75vw; /* 400px基準でfont-size: 11px; */
    font-weight: 400;
    padding: 5.333333333333334vw 0 0; /* 375px基準でpadding: 20px 0 0; */
}
.contentsattentionwrap03 {
    width: 100%;
    margin: 0 auto;
    font-size: 2.933333333333333vw; /* 375px基準でfont-size: 11px; */
    font-weight: 400;
    padding: 5.333333333333334vw 0 0; /* 375px基準でpadding: 20px 0 0; */
}
.contentsattentionwrap01 ul {
    display: block;
}
.contentsattentionwrap01 ul li {
    padding: 0 0 6.666666666666667vw; /* 375px基準でpadding: 0 0 25px; */
}
.contentsattentionwrap01 ul li:last-child {
    padding: 0;
}
.contentsyesplancatch01 {
    width: 57.99999999999999vw; /* 400px基準でwidth: 232px; */
}
.contentsyesplanimg01 {
    width: 100%;
}
.contentsnoplancatch01 {
    width: 68vw; /* 400px基準でwidth: 272px; */
}
.contentsnoplanimg01 {
    width: 100%;
}
.contentsyestimingcatch01 {
    width: 45.5vw; /* 400px基準でwidth: 182px; */
}
.contentsyestimingimgwrap01 {
    width: 84.5vw; /* 400px基準でwidth: 338px; */
    position: relative;
     margin: 0 auto 9.5vw; /* 400px基準でmargin: 0 auto 38px; */
}
.contentsyestimingimgwrap01 img {
    margin: 0;
}
.contentsyestimingimgwrap01 p {
    font-size: 2.75vw; /* 400px基準でfont-size: 11px; */
    position: absolute;
    left: 10vw; /* 400px基準でleft: 40px; */
    bottom: 50vw; /* 400px基準でbottom: 200px; */
    text-indent: -3.5em;
    padding: 0 10vw 0 3.5em; /* 400px基準でadding: 0 40px 0 3.3em; */
}
.contentsnotimingcatch01 {
    width: 45.5vw; /* 400px基準でwidth: 182px; */
}
.contentsnotimingimgwrap01 {
    width: 84.5vw; /* 400px基準でwidth: 338px; */
    position: relative;
     margin: 0 auto 9.5vw; /* 400px基準でmargin: 0 auto 38px; */
}
.contentsnotimingimgwrap01 img {
    margin: 0;
}
.contentsnotimingimgwrap01 p {
    font-size: 2.75vw; /* 400px基準でfont-size: 11px; */
    position: absolute;
    left: 10vw; /* 400px基準でleft: 40px; */
    bottom: 50vw; /* 400px基準でbottom: 200px; */
    text-indent: -3.5em;
    padding: 0 10vw 0 3.5em; /* 400px基準でadding: 0 40px 0 3.3em; */
}
}


/*---------------------------------
  キャンペーンバナー
---------------------------------*/
.cpbannerwrap01 {
  width: 43.59375vw; /* 1920px基準でwidth: 837px; */
  margin: 0 auto;
  padding: 0 0 2.604166666666667vw; /* 1920px基準でpadding: 0 0 50px; */
}
.cpbannerwrap01 img {
  display: block;
  width: 100%;
  height: auto;
}
.cpbannerwrap01 p {
  display: block;
  font-size: 0.7500000000000001vw; /* 1920px基準でfont-size: 14.4px; */
  text-align: center;
  line-height: 180%;
}
@media screen and (max-width: 767px) {
.cpbannerwrap01 {
  width: 84.25vw; /* 400px基準でwidth: 320px; */
  margin: 0 auto;
  padding: 0 0 6vw; /* 400px基準でpadding: 0 0 24px; */
}
.cpbannerwrap01 img {
  display: block;
  width: 100%;
  height: auto;
}
.cpbannerwrap01 p {
  display: block;
  font-size: 2.75vw; /* 400px基準でfont-size: 11px; */
  text-align: center;
}
}


/*---------------------------------
  お問い合わせバナー
---------------------------------*/
#contactbannerwrap01 {
  width: 100%;
  padding: 0 0 3.125vw; /* 1920px基準でpadding: 0 0 60px; */
}
#contactbannerwrap02 {
  width: 35.364583333333336vw; /* 1920px基準でwidth: 679px; */
  margin: 0 auto;
}
#contactbannerwrap02 a{
  display: block;
}
#contactbannerwrap02 p{
  display: block;
  font-size: 0.7500000000000001vw; /* 1920px基準でfont-size: 14.4px; */
  text-align: center;
  padding: 0.520833333333333vw 0 0; /* 1920px基準でpadding: 13px 0 0; */
}
@media screen and (max-width: 767px) {
#contactbannerwrap01 {
  width: 100%;
  padding: 0 0 10vw; /* 400px基準でpadding: 0 0 40px; */
}
#contactbannerwrap02 {
  width: 84.25vw; /* 400px基準でwidth: 337px; */
  margin: 0 auto;
}
#contactbannerwrap02 a{
  display: block;
}
#contactbannerwrap02 p{
  display: block;
  font-size: 2.75vw; /* 400px基準でfont-size: 11px; */
  text-align: center;
  padding: 1.25vw 0 0; /* 400px基準でpadding: 5px 0 0; */
}
}


/*---------------------------------
  お問い合わせフローティングバナー
---------------------------------*/
/* ===== Floating Contact Float Banner ===== */
#contactfloatbannerwrap01{
  position: fixed;
  right: 24px;
  bottom: calc(16px + env(safe-area-inset-bottom));
  z-index: 9998;
  opacity: 0;
  pointer-events: none;
  transform: translate(0,16px) scale(.98);
  transition: opacity .35s ease, transform .35s ease;
  display: block;
}
#contactfloatbannerwrap01.is-visible{
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translate(0,0) scale(1) !important;
  display: block !important;
}
#contactfloatbannerwrap01.is-closed{
  display: none !important;
}

/* ラッパー：×を外に出すのでオーバーフロー可 */
#contactfloatbannerwrap02{
  position: relative;
  display: inline-block;
  filter: drop-shadow(0 8px 24px rgba(0,0,0,.18));
  overflow: visible !important;
}
#contactfloatbannerwrap02 a{
  display: block;
}
#contactfloatbannerwrap02 p{
  display: block;
  font-size: 0.7500000000000001vw; /* 1920px基準でfont-size: 14.4px; */
  text-align: center;
  text-shadow: 1px 1px 5px rgba(255, 255, 255, 0.8);
  padding: 0.520833333333333vw 0 0; /* 1920px基準でpadding: 13px 0 0; */
}

/* このバナー内だけ .switch を強制表示（既存の切替JSと共存） */
#contactfloatbannerwrap01 .contactfloatbanner-link img.switch{
  display: block !important;
  visibility: visible !important;
}

/* バナー画像 */
.contactfloatbanner-link{
  display:block;
}
.contactfloatbanner-link img{
  display:block;
  width:23.177083333333336vw; /* 1920px基準でwidth: 445px; */
  height:auto;
}

/* === ✕ボタン（白丸／影／バナーと“重ならない”配置） ===
   調整用カスタムプロパティ：
   --close-size : ボタンサイズ
   --lift       : 角からの持ち上げ量（上方向）
   --gap        : バナー右端との“すき間”（重ならないための外側オフセット）
*/
#contactfloatbanner-close{
  --close-size: 30px;
  --lift: 20px;
  --gap: 2px; /* ←ここを 2〜12px くらいで調整 */

  position: absolute;
  top:  calc(0px - var(--lift));
  right: calc(0px - var(--gap));  /* 右に少し外へ出して“非接触”にする */
  transform: translateY(-50%);    /* 上にだけ浮かす（横位置は固定） */

  width: var(--close-size);
  height: var(--close-size);
  display: grid;
  place-items: center;

  border-radius: 9999px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 4px 12px rgba(0,0,0,.18);
  cursor: pointer;
  z-index: 1000;
}
#contactfloatbanner-close img{
  width: calc(var(--close-size) * 0.58);
  height: calc(var(--close-size) * 0.58);
  display: block;
}

/* 親が非表示の間は ✕ を出さない（誤タップ防止） */
#contactfloatbannerwrap01:not(.is-visible) #contactfloatbanner-close{
  display: none !important;
}

/* --- スマホ（中央下表示はそのまま） --- */
@media (max-width: 767px){
  #contactfloatbannerwrap01{
    right:auto; left:50%;
    transform: translate(-50%,16px) scale(.98);
  }
  #contactfloatbannerwrap01.is-visible{
    transform: translate(-50%,0) scale(1) !important;
  }

/* ラッパー：×を外に出すのでオーバーフロー可 */
#contactfloatbannerwrap02{
  width: calc(84.25vw * 0.9); /* 400px基準でwidth: calc(337px * 0.9); */
  margin: 0 auto;
  position: relative;
  display: inline-block;
  filter: drop-shadow(0 8px 24px rgba(0,0,0,.18));
  overflow: visible !important;
}
#contactfloatbannerwrap02 a{
  display: block;
}
#contactfloatbannerwrap02 p{
  display: block;
  font-size: 2.75vw; /* 400px基準でfont-size: 11px; */
  text-align: center;
  text-shadow: 1px 1px 5px rgba(255, 255, 255, 0.8);
  padding: 1.25vw 0 0; /* 400px基準でpadding: 5px 0 0; */
}
  .contactfloatbanner-link img{
    display: block;
    width: 100%;
  }

  #contactfloatbanner-close{
    --close-size: 30px;
    --lift: 18px;
    --gap: 2px; /* モバイルはやや控えめに */
  }
  #contactfloatbanner-close img{
    width: calc(var(--close-size) * 0.56);
    height: calc(var(--close-size) * 0.56);
  }
}


/*---------------------------------
  コンテンツ
---------------------------------*/
#contents_q_wrap01 {
    width: 100%;
    padding: 0 0 2.604166666666667vw; /* 1920px基準でpadding: 0 0 50px; */
    background: url("../images/contents_q_bg.svg") no-repeat;
    background-position: top center;
    background-size: 35%;
}
#contents_q_wrap01 ul {
    display: block;
}
#contents_q_wrap01 ul li {
    display: block;
    font-size: 1.6874999999999998vw; /* 1920px基準でfont-size: 32.4px; */
    font-weight: 500;
    text-align: center;
}
#contents_q_wrap01 ul li:nth-child(1) {
    display: table;
    margin: 0 auto 6.041666666666667vw; /* 1920px基準でmargin: 0 auto 116px; */
}
#contents_q_wrap01 ul li:nth-child(2) {
    width: 5.833333333333333vw; /* 1920px基準でwidth: 112px; */
    margin: 0 auto 1.25vw; /* 1920px基準でmargin: 0 auto 24px; */
}
@media screen and (max-width: 767px) {
#contents_q_wrap01 {
    width: 100%;
    padding: 0 0 5vw; /* 400px基準でpadding: 0 0 20px; */
    background: url("../images/contents_q_bg.svg") no-repeat;
    background-position: center 30%;
    background-size: 90%;
}
#contents_q_wrap01 ul {
    display: block;
}
#contents_q_wrap01 ul li {
    display: block;
    font-size: 5.5vw; /* 400px基準でfont-size: 22px; */
    font-weight: 500;
    text-align: center;
}
#contents_q_wrap01 ul li:nth-child(1) {
    display: table;
    margin: 0 auto 23vw; /* 400px基準でmargin: 0 auto 92px; */
}
#contents_q_wrap01 ul li:nth-child(2) {
    width: 18.5vw; /* 400px基準でwidth: 74px; */
    margin: 0 auto 6.25vw; /* 400px基準でmargin: 0 auto 25px; */
}
}


/*---------------------------------
  フォントサイズ調整
---------------------------------*/
.fontlarge1-25 {
    font-size: 125%;
}
.fontlarge1-3 {
    font-size: 130%;
}
.fontlarge1-5 {
    font-size: 150%;
}
.fontlarge1-6 {
    font-size: 160%;
}


/*---------------------------------
  マーカー
---------------------------------*/
.marker {
  --marker-color: rgba(255,245,80,1);
  --marker-thickness: 60%;   /* マーカーの厚み */
  --marker-padding-x: 0.5em; /* 左右余白 */
  --marker-shift: 0.2em;     /* 下にはみ出す量 */

  display: inline;
  padding: 0 var(--marker-padding-x) var(--marker-shift);

  background-image: linear-gradient(
    transparent calc(100% - var(--marker-thickness)),
    var(--marker-color) calc(100% - var(--marker-thickness)),
    var(--marker-color) 100%
  );
  background-repeat: no-repeat;
  background-size: 0% 100%;
  background-position: left calc(100% + var(--marker-shift));
  transition: background-size 1s;

  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.marker.on {
  background-size: 100% 100%;
}

.marker.on {
  background-size: 100% 100%;
}

/* 色ごとの上書き */
.markeryellow01 { --marker-color: rgba(255,245,80,1); }
.markerwhite01 { --marker-color: rgba(255,255,255,1); }
.markerpink01 { --marker-color: rgba(255,150,200,1); --pad-x:.7em; }
.markerblue01 { --marker-color: rgba(100,200,255,1); --pad-x:.5em; }

/*---------------------------------
  タブ
---------------------------------*/
.tab-area {
    display: flex;
    flex-direction:row;
    justify-content:center;
    gap: 0 1.8229166666666667vw; /* 1920px基準でgap: 0 35px; */
    cursor: pointer;
}
.tab {
    width: 28.125vw; /* 1920px基準でwidth: 540px; */
    font-size: 2.34375vw; /* 1920px基準でfont-size: 45px; */
    text-align: center;
    border-radius: 8px 8px 0 0;
}
.tab:nth-child(1) {
    border-left: 1px solid #FF5F6E;
    border-top: 1px solid #FF5F6E;
    border-right: 1px solid #FF5F6E;
    border-bottom: 1px solid #FFE4E5;
    color: #FF5F6E;
    background: #FFE4E5;
    background: -moz-linear-gradient( #ffffff 0%, #FFE4E5 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#FFE4E5));
    background: -webkit-linear-gradient( #ffffff 0%, #FFE4E5 100%);
    background: -o-linear-gradient( #ffffff 0%, #FFE4E5 100%);
    background: linear-gradient( #ffffff 0%, #FFE4E5 100%);
}
.tab:nth-child(2) {
    border-left: 1px solid #379BF0;
    border-top: 1px solid #379BF0;
    border-right: 1px solid #379BF0;
    border-bottom: 1px solid #e0f4fa;
    color: #379BF0;
    background: #e0f4fa;
    background: -moz-linear-gradient( #ffffff 0%, #e0f4fa 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#e0f4fa));
    background: -webkit-linear-gradient( #ffffff 0%, #e0f4fa 100%);
    background: -o-linear-gradient( #ffffff 0%, #e0f4fa 100%);
    background: linear-gradient( #ffffff 0%, #e0f4fa 100%);
}
.tab p {
    padding: 5px;
    font-weight: 500;
}
.tab.active {
    background: #ffffff;
    margin: 0 0 -1px;
}
.tab.active p {
    color: #ffffff;
    text-decoration: underline;
    text-decoration-thickness: 2.5px;
    text-underline-offset: 3px;
}
.tab:nth-child(1).active {
    border-left: 1px solid #FF5F6E;
    border-top: 1px solid #FF5F6E;
    border-right: 1px solid #FF5F6E;
    border-bottom: 1px solid #FF5F6E;
    background: #FF5F6E;
    background: -moz-linear-gradient(top, #FF8F99 23%, #FF5F6E 85%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(23%, #FF8F99), color-stop(85%, #FF5F6E));
    background: -webkit-linear-gradient(top, #FF8F99 23%, #FF5F6E 85%);
    background: -o-linear-gradient(top, #FF8F99 23%, #FF5F6E 85%);
    background: linear-gradient(to bottom, #FF8F99 23%, #FF5F6E 85%);
}
.tab:nth-child(2).active {
    border-left: 1px solid #379BF0;
    border-top: 1px solid #379BF0;
    border-right: 1px solid #379BF0;
    border-bottom: 1px solid #379BF0;
    background: #9BCDF7;
    background: -moz-linear-gradient(top, #9BCDF7 30%, #379BF0 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(30%, #9BCDF7), color-stop(100%, #379BF0));
    background: -webkit-linear-gradient(top, #9BCDF7 30%, #379BF0 100%);
    background: -o-linear-gradient(top, #9BCDF7 30%, #379BF0 100%);
    background: linear-gradient(to bottom, #9BCDF7 30%, #379BF0 100%);
}
.panel {
    display: none;
}
.panel.active {
    display: block;
}
@media screen and (max-width: 767px) {
.tab-area {
    display: flex;
    flex-direction:row;
    justify-content:center;
    gap: 0 3.75vw; /* 400px基準でgap: 0 15px; */
    cursor: pointer;
}
.tab {
    width: 39.25vw; /* 375px基準でwidth: 157px; */
    font-size: 7.466666666666668vw; /* 375px基準でfont-size: 28px; */
    text-align: center;
    border-radius: 8px 8px 0 0;
}
.tab:nth-child(1) {
    border-left: 1px solid #FF5F6E;
    border-top: 1px solid #FF5F6E;
    border-right: 1px solid #FF5F6E;
    border-bottom: 1px solid #FFE4E5;
    color: #FF5F6E;
    background: #FFE4E5;
    background: -moz-linear-gradient( #ffffff 0%, #FFE4E5 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#FFE4E5));
    background: -webkit-linear-gradient( #ffffff 0%, #FFE4E5 100%);
    background: -o-linear-gradient( #ffffff 0%, #FFE4E5 100%);
    background: linear-gradient( #ffffff 0%, #FFE4E5 100%);
}
.tab:nth-child(2) {
    border-left: 1px solid #379BF0;
    border-top: 1px solid #379BF0;
    border-right: 1px solid #379BF0;
    border-bottom: 1px solid #e0f4fa;
    color: #379BF0;
    background: #e0f4fa;
    background: -moz-linear-gradient( #ffffff 0%, #e0f4fa 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#e0f4fa));
    background: -webkit-linear-gradient( #ffffff 0%, #e0f4fa 100%);
    background: -o-linear-gradient( #ffffff 0%, #e0f4fa 100%);
    background: linear-gradient( #ffffff 0%, #e0f4fa 100%);
}
.tab p {
    padding: 0 0 5px;
    font-weight: 500;
}
.tab.active {
    background: #ffffff;
    margin: 0 0 -1px;
}
.tab.active p {
    text-decoration: underline;
    text-decoration-thickness: 2.5px;
    text-underline-offset: 3px;
}
.tab:nth-child(1).active {
    border-left: 1px solid #FF5F6E;
    border-top: 1px solid #FF5F6E;
    border-right: 1px solid #FF5F6E;
    border-bottom: 1px solid #FF5F6E;
    background: #FF5F6E;
    background: -moz-linear-gradient(top, #FF8F99 23%, #FF5F6E 85%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(23%, #FF8F99), color-stop(85%, #FF5F6E));
    background: -webkit-linear-gradient(top, #FF8F99 23%, #FF5F6E 85%);
    background: -o-linear-gradient(top, #FF8F99 23%, #FF5F6E 85%);
    background: linear-gradient(to bottom, #FF8F99 23%, #FF5F6E 85%);
}
.tab:nth-child(2).active {
    border-left: 1px solid #379BF0;
    border-top: 1px solid #379BF0;
    border-right: 1px solid #379BF0;
    border-bottom: 1px solid #379BF0;
    background: #9BCDF7;
    background: -moz-linear-gradient(top, #9BCDF7 30%, #379BF0 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(30%, #9BCDF7), color-stop(100%, #379BF0));
    background: -webkit-linear-gradient(top, #9BCDF7 30%, #379BF0 100%);
    background: -o-linear-gradient(top, #9BCDF7 30%, #379BF0 100%);
    background: linear-gradient(to bottom, #9BCDF7 30%, #379BF0 100%);
}
.panel {
    display: none;
}
.panel.active {
    display: block;
}
}


/*---------------------------------
  YES
---------------------------------*/
.yeswrap01 {
    width: 100%;
    padding: 4.166666666666666vw 0 0; /* 1920px基準でpadding: 80px 0 0; */
    border-top: 1px solid #FF5F6E;
}
.yeswrap01 a:link {
    color: #FF5F6E;
    text-decoration: underline;
}
.yeswrap01 a:visited {
    color: #FF5F6E;
    text-decoration: underline;
}
.yeswrap01 a:active {
    color: #FF5F6E;
    text-decoration: underline;
}
.yeswrap01 a:hover {
    color: #FF5F6E;
    text-decoration: underline;
}
.yesnaviwrap01 {
    width: 58.12500000000001vw; /* 1920px基準でwidth: 1116px; */
    margin: 0 auto;
    display: flex;
    gap: 0 0.9375vw; /* 1920px基準でgap: 0 18px; */
    padding: 0 0 5.364583333333333vw; /* 1920px基準でpadding: 0 0 103px; */
}
.yesnaviinner01 {
    width: calc(100% / 5);
}
.yes1000bannerwrap01 {
    width: 58.12500000000001vw; /* 1920px基準でwidth: 1116px; */
    margin: 0 auto;
    position: relative;
}
.yes1000bannerattentionwrap01 {
    width: 100%;
    font-size: 0.7291666666666666vw; /* 1920px基準でfont-size: 14px; */
    font-weight: 400;
    position: absolute;
    bottom: 1.5625vw; /* 1920px基準でbottom: 20px; */
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.yes1000bannerattentionwrap01 ul {
    display: table;
    width: fit-content;
    margin: 0 auto;
}
.yes1000bannerattentionwrap01 ul li {
    display: block;
}
@media screen and (max-width: 767px) {
.yeswrap01 {
    width: 100%;
    padding: 9.333333333333334vw 0 0; /* 375px基準でpadding: 35px 0 0; */
    border-top: 1px solid #FF5F6E;
}
.yeswrap01 a:link {
    color: #FF5F6E;
    text-decoration: underline;
}
.yeswrap01 a:visited {
    color: #FF5F6E;
    text-decoration: underline;
}
.yeswrap01 a:active {
    color: #FF5F6E;
    text-decoration: underline;
}
.yeswrap01 a:hover {
    color: #FF5F6E;
    text-decoration: underline;
}
.yesnaviwrap01 {
    width: 83.75vw; /* 400px基準でwidth: 335px; */
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 3.6249999999999996vw 3.6249999999999996vw; /* 400px基準でgap: 14.5px 14.5px; */
    padding: 0 0 17.5vw; /* 400px基準でpadding: 0 0 70px; */
}
.yesnaviinner01 {
    width: calc((100% - 3.8666666666666667vw - 3.8666666666666667vw) / 3);
}
.yesnaviinner01:nth-child(1) {
    width: calc((100% - (100% - 3.8666666666666667vw - 3.8666666666666667vw) / 3) - 3.8666666666666667vw);
}
.yes1000bannerwrap01 {
    width: 100%;
    margin: 0 auto;
    position: relative;
}
.yes1000bannerattentionwrap01 {
    width: 100%;
    font-size: 2.75vw; /* 400px基準でfont-size: 11px; */
    font-weight: 400;
    position: absolute;
    bottom: 10vw; /* 400px基準でbottom: 40px; */
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.yes1000bannerattentionwrap01 ul {
    display: table;
    width: 90.66666666666666vw; /* 375px基準でwidth: 340px; */
    margin: 0 auto;
}
.yes1000bannerattentionwrap01 ul li {
    display: block;
}
}


/*---------------------------------
  NO
---------------------------------*/
.nowrap01 {
    width: 100%;
    padding: 4.166666666666666vw 0 0; /* 1920px基準でpadding: 80px 0 0; */
    border-top: 1px solid #379BF0;
}
.nowrap01 a:link {
    color: #379BF0;
    text-decoration: underline;
}
.nowrap01 a:visited {
    color: #379BF0;
    text-decoration: underline;
}
.nowrap01 a:active {
    color: #379BF0;
    text-decoration: underline;
}
.nowrap01 a:hover {
    color: #379BF0;
    text-decoration: underline;
}
.nonaviwrap01 {
    width: 58.12500000000001vw; /* 1920px基準でwidth: 1116px; */
    margin: 0 auto;
    display: flex;
    gap: 0 0.9375vw; /* 1920px基準でgap: 0 18px; */
    padding: 0 0 5.364583333333333vw; /* 1920px基準でpadding: 0 0 103px; */
}
.nonaviinner01 {
    width: calc(100% / 5);
}

.noecocuteaboutimg02 {
    width: 41.66666666666667vw; /* 1920px基準でwidth: 800px; */
    margin: 0 auto;
    padding: 0.78125vw 0 0; /* 1920px基準でpadding: 15px 0 0; */
}

.no1000bannerwrap01 {
    width: 58.12500000000001vw; /* 1920px基準でwidth: 1116px; */
    margin: 0 auto;
    position: relative;
}
.no1000bannerattentionwrap01 {
    width: 100%;
    font-size: 0.7291666666666666vw; /* 1920px基準でfont-size: 14px; */
    font-weight: 400;
    position: absolute;
    bottom: 1.5625vw; /* 1920px基準でbottom: 20px; */
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.no1000bannerattentionwrap01 ul {
    display: table;
    width: fit-content;
    margin: 0 auto;
}
.no1000bannerattentionwrap01 ul li {
    display: block;
}
@media screen and (max-width: 767px) {
.nowrap01 {
    width: 100%;
    padding: 9.333333333333334vw 0 0; /* 375px基準でpadding: 35px 0 0; */
    border-top: 1px solid #32b4e1;
}
.nowrap01 a:link {
    color: #32b4e1;
    text-decoration: underline;
}
.nowrap01 a:visited {
    color: #32b4e1;
    text-decoration: underline;
}
.nowrap01 a:active {
    color: #32b4e1;
    text-decoration: underline;
}
.nowrap01 a:hover {
    color: #32b4e1;
    text-decoration: underline;
}
.nonaviwrap01 {
    width: 83.75vw; /* 400px基準でwidth: 335px; */
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 3.6249999999999996vw 3.6249999999999996vw; /* 400px基準でgap: 14.5px 14.5px; */
    padding: 0 0 17.5vw; /* 400px基準でpadding: 0 0 70px; */
}
.nonaviinner01 {
    width: calc((100% - 3.8666666666666667vw - 3.8666666666666667vw) / 3);
}
.nonaviinner01:nth-child(1) {
    width: calc((100% - (100% - 3.8666666666666667vw - 3.8666666666666667vw) / 3) - 3.8666666666666667vw);
}

.noecocuteaboutimg02 {
    width: 100%;
    margin: 0 auto;
    padding: 4vw 0 0; /* 375px基準でpadding: 15px 0 0; */
}
    
.no1000bannerwrap01 {
    width: 100%;
    margin: 0 auto;
    position: relative;
}
.no1000bannerattentionwrap01 {
    width: 100%;
    font-size: 2.75vw; /* 400px基準でfont-size: 11px; */
    font-weight: 400;
    position: absolute;
    bottom: 10vw; /* 400px基準でbottom: 40px; */
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.no1000bannerattentionwrap01 ul {
    display: table;
    width: 90.66666666666666vw; /* 375px基準でwidth: 340px; */
    margin: 0 auto;
}
.no1000bannerattentionwrap01 ul li {
    display: block;
}
}


/*---------------------------------
  アコーディオン
---------------------------------*/
.planwrap01 {
	display: block;
}
.faqwrap01 {
	display: block;
}
.faqtitle01 {
  font-size: 1.59375vw; /* 1920px基準でfont-size: 30.6px; */
  font-weight: 500;
  text-align: center;
  padding: 0 0 1.40625vw; /* 1920px基準でpadding: 0 0 27px; */
  margin: 0 0 1.40625vw; /* 1920px基準でmargin: 0 0 27px; */
}
.yeswrap01 .faqtitle01 {
  color: #FF5F6E;
  border-bottom: 1px solid #FF5F6E;
}
.nowrap01 .faqtitle01 {
  color: #379BF0;
  border-bottom: 1px solid #379BF0;
}
.accordion {
    display: block;
}
.accordion:last-child {
    border-bottom: 1px solid #82828c;
}
.accordion a:link {
    color: #000000;
    text-decoration: none;
}
.accordion a:visited {
    color: #000000;
}
.accordion a:hover {
    color: #000000;
}
.accordion__title {
    width: 100%;
    display: table;
    font-size: 1.25vw; /* 1920px基準でfont-size: 24px; */
    padding: 1.8229166666666667vw 2.083333333333333vw; /* 1920px基準でpadding: 36px 40px; */
    border-top: 1px solid #82828c;
    cursor: pointer;
    position: relative;
}
.accordion:first-child .accordion__title {
    border-top: none;
}
.accordion__title::before {
    content: '';
    display: inline-block;
    width: 1.40625vw; /* 1920px基準でwidth: 27px; */
    height: 2px;
    background-color: #82828c;
    border-radius: 5px;
    position: absolute;
    right: 2.083333333333333vw; /* 1920px基準でright: 40px; */
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 1s;
}
.accordion__title::after {
    content: '';
    display: inline-block;
    width: 1.40625vw; /* 1920px基準でwidth: 27px; */
    height: 2px;
    background-color: #82828c;
    border-radius: 5px;
    position: absolute;
    right: 2.083333333333333vw; /* 1920px基準でright: 40px; */
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    transition: transform 1s;
}
.accordion__title.show::before {
    opacity: 0;
}
.accordion__title.show::after {
    transform: translateY(-50%) rotate(180deg);
}
.accordion__title p {
    display: table-cell;
    vertical-align: middle;
}
.accordion__title p:nth-child(1) {
    width: 1.1979166666666667vw; /* 1920px基準でwidth: 23px; */
}
.accordion__title p:nth-child(2) {
    padding: 0 0 0 2.083333333333333vw; /* 1920px基準でpadding: 0 0 0 40px; */
}
.accordion__title p img {
    display: block;
}
.accordion__content {
    display: none;
    padding: 1.8229166666666667vw 2.083333333333333vw; /* 1920px基準でpadding: 36px 40px; */
    border-top: 1px solid #82828c;
    background: #FFFDE3;
}
.accordion__contentdetail {
    width: 100%;
    display: table;
}
.accordion__contentdetail p {
    display: table-cell;
    vertical-align: middle;
    font-size: 1.25vw; /* 1920px基準でfont-size: 24px; */
    font-weight: 500;
}
.accordion__contentdetail p:nth-child(1) {
    width: 1.1979166666666667vw; /* 1920px基準でwidth: 23px; */
}
.accordion__contentdetail p:nth-child(2) {
    padding: 0 0 0 2.083333333333333vw; /* 1920px基準でpadding: 0 0 0 40px; */
}
.accordion__contentdetail a:link {
    color: #ff6c00;
    text-decoration: underline;
}
.accordion__contentdetail a:visited {
    color: #ff6c00;
    text-decoration: underline;
}
.nowrap01 .accordion__contentdetail a:link {
    color: #32b4e1;
    text-decoration: underline;
}
.nowrap01 .accordion__contentdetail a:visited {
    color: #32b4e1;
    text-decoration: underline;
}

.yeswrap01 .planwrap01 .accordion {
    display: block;
    padding: 0 0 1.8229166666666667vw; /* 1920px基準でpadding: 0 0 35px; */
}
.yeswrap01 .planwrap01 .accordion:last-child {
    display: block;
    padding: 0;
    border-bottom: none;
}
.yeswrap01 .planwrap01 .accordion__title {
    width: 100%;
    display: block;
    font-size: 1.25vw; /* 1920px基準でfont-size: 24px; */
    padding: 0;
    border-top: none;
    cursor: pointer;
    position: relative;
}
.yeswrap01 .planwrap01 .accordion:first-child .yeswrap01 .planwrap01 .accordion__title {
    border-top: none;
}
.yeswrap01 .planwrap01 .accordion__title::before {
    content: '';
    display: inline-block;
    width: 1.40625vw; /* 1920px基準でwidth: 27px; */
    height: 2px;
    background-color: #FF5F6E;
    border-radius: 5px;
    position: absolute;
    right: 2.083333333333333vw; /* 1920px基準でright: 40px; */
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 1s;
}
.yeswrap01 .planwrap01 .accordion__title::after {
    content: '';
    display: inline-block;
    width: 1.40625vw; /* 1920px基準でwidth: 27px; */
    height: 2px;
    background-color: #FF5F6E;
    border-radius: 5px;
    position: absolute;
    right: 2.083333333333333vw; /* 1920px基準でright: 40px; */
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    transition: transform 1s;
}
.yeswrap01 .planwrap01 .accordion__title.show::before {
    opacity: 0;
}
.yeswrap01 .planwrap01 .accordion__title.show::after {
    transform: translateY(-50%) rotate(180deg);
}
.yeswrap01 .planwrap01 .accordion__content {
    display: none;
    padding: 0;
    border-top: none;
    background: transparent;
}

.nowrap01 .planwrap01 .accordion {
    display: block;
    padding: 0 0 1.8229166666666667vw; /* 1920px基準でpadding: 0 0 35px; */
}
.nowrap01 .planwrap01 .accordion:last-child {
    display: block;
    padding: 0;
    border-bottom: none;
}
.nowrap01 .planwrap01 .accordion__title {
    width: 100%;
    display: block;
    font-size: 1.25vw; /* 1920px基準でfont-size: 24px; */
    padding: 0;
    border-top: none;
    cursor: pointer;
    position: relative;
}
.nowrap01 .planwrap01 .accordion:first-child .nowrap01 .planwrap01 .accordion__title {
    border-top: none;
}
.nowrap01 .planwrap01 .accordion__title::before {
    content: '';
    display: inline-block;
    width: 1.40625vw; /* 1920px基準でwidth: 27px; */
    height: 2px;
    background-color: #379BF0;
    border-radius: 5px;
    position: absolute;
    right: 2.083333333333333vw; /* 1920px基準でright: 40px; */
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 1s;
}
.nowrap01 .planwrap01 .accordion__title::after {
    content: '';
    display: inline-block;
    width: 1.40625vw; /* 1920px基準でwidth: 27px; */
    height: 2px;
    background-color: #379BF0;
    border-radius: 5px;
    position: absolute;
    right: 2.083333333333333vw; /* 1920px基準でright: 40px; */
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    transition: transform 1s;
}
.nowrap01 .planwrap01 .accordion__title.show::before {
    opacity: 0;
}
.nowrap01 .planwrap01 .accordion__title.show::after {
    transform: translateY(-50%) rotate(180deg);
}
.nowrap01 .planwrap01 .accordion__content {
    display: none;
    padding: 0;
    border-top: none;
    background: transparent;
}
@media screen and (max-width: 767px) {
.planwrap01 {
	display: block;
}
.faqwrap01 {
	display: block;
}
.faqtitle01 {
  font-size: 6.25vw; /* 400px基準でfont-size: 25px; */
  font-weight: 500;
  text-align: center;
  padding: 0 0 4vw; /* 400px基準でpadding: 0 0 16px; */
  margin: 0 0 4vw; /* 400px基準でmargin: 0 0 16px; */
}
.yeswrap01 .faqtitle01 {
  color: #FF5F6E;
  border-bottom: 1px solid #FF5F6E;
}
.nowrap01 .faqtitle01 {
  color: #379BF0;
  border-bottom: 1px solid #379BF0;
}
.accordion {
    display: block;
}
.accordion:last-child {
    border-bottom: 1px solid #82828c;
}
.accordion a:link {
    color: #000000;
}
.accordion a:visited {
    color: #000000;
}
.accordion a:hover {
    color: #000000;
}
.accordion__title {
    width: 100%;
    display: table;
    font-size: 2.5vw; /* 400px基準でfont-size: 10px; */
    padding: 4.533333333333333vw 4vw; /* 375px基準でpadding: 17px 15px; */
    border-top: 1px solid #82828c;
    cursor: pointer;
    position: relative;
}
.accordion:first-child .accordion__title {
    border-top: none;
}
.accordion__title::before {
    content: '';
    display: inline-block;
    width: 5.866666666666666vw; /* 375px基準でwidth: 22px; */
    height: 2px;
    background-color: #82828c;
    border-radius: 5px;
    position: absolute;
    right: 2.666666666666667vw; /* 375px基準でright: 10px; */
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 1s;
}
.accordion__title::after {
    content: '';
    display: inline-block;
    width: 5.866666666666666vw; /* 375px基準でwidth: 22px; */
    height: 2px;
    background-color: #82828c;
    border-radius: 5px;
    position: absolute;
    right: 2.666666666666667vw; /* 375px基準でright: 10px; */
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    transition: transform 1s;
}
.accordion__title.show::before {
    opacity: 0;
}
.accordion__title.show::after {
    transform: translateY(-50%) rotate(180deg);
}
.accordion__title p {
    display: table-cell;
    vertical-align: middle;
}
.accordion__title p:nth-child(1) {
    width: 4.8vw; /* 375px基準でwidth: 18px; */
}
.accordion__title p:nth-child(2) {
    padding: 0 0 0 4.266666666666667vw; /* 375px基準でpadding: 0 0 0 16px; */
}
.accordion__title p img {
    display: block;
}
.accordion__content {
    display: none;
    padding: 4.533333333333333vw 4vw; /* 375px基準でpadding: 17px 15px; */
    border-top: 1px solid #82828c;
    background: #FFFDE3;
}
.accordion__contentdetail {
    width: 100%;
    display: table;
}
.accordion__contentdetail p {
    display: table-cell;
    vertical-align: middle;
    font-size: 2.5vw; /* 400px基準でfont-size: 10px; */
    font-weight: 500;
}
.accordion__contentdetail p:nth-child(1) {
    width: 4.8vw; /* 375px基準でwidth: 18px; */
}
.accordion__contentdetail p:nth-child(2) {
    padding: 0 0 0 4.266666666666667vw; /* 375px基準でpadding: 0 0 0 16px; */
}
.accordion__contentdetail a:link {
    color: #ff6c00;
    text-decoration: underline;
}
.accordion__contentdetail a:visited {
    color: #ff6c00;
    text-decoration: underline;
}
.nowrap01 .accordion__contentdetail a:link {
    color: #32b4e1;
    text-decoration: underline;
}
.nowrap01 .accordion__contentdetail a:visited {
    color: #32b4e1;
    text-decoration: underline;
}

.yeswrap01 .planwrap01 .accordion {
    display: block;
    padding: 0 0 12vw; /* 400px基準でpadding: 0 0 48px; */
}
.yeswrap01 .planwrap01 .accordion:last-child {
    display: block;
    padding: 0;
    border-bottom: none;
}
.yeswrap01 .planwrap01 .accordion__title {
    width: 100%;
    display: block;
    font-size: 2.5vw; /* 400px基準でfont-size: 10px; */
    padding: 0;
    border-top: none;
    cursor: pointer;
    position: relative;
}
.yeswrap01 .planwrap01 .accordion:first-child .yeswrap01 .planwrap01 .accordion__title {
    border-top: none;
}
.yeswrap01 .planwrap01 .accordion__title::before {
    content: '';
    display: inline-block;
    width: 5.866666666666666vw; /* 375px基準でwidth: 22px; */
    height: 2px;
    background-color: #FF5F6E;
    border-radius: 5px;
    position: absolute;
    right: 2.666666666666667vw; /* 375px基準でright: 10px; */
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 1s;
}
.yeswrap01 .planwrap01 .accordion__title::after {
    content: '';
    display: inline-block;
    width: 5.866666666666666vw; /* 375px基準でwidth: 22px; */
    height: 2px;
    background-color: #FF5F6E;
    border-radius: 5px;
    position: absolute;
    right: 2.666666666666667vw; /* 375px基準でright: 10px; */
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    transition: transform 1s;
}
.yeswrap01 .planwrap01 .accordion__title.show::before {
    opacity: 0;
}
.yeswrap01 .planwrap01 .accordion__title.show::after {
    transform: translateY(-50%) rotate(180deg);
}
.yeswrap01 .planwrap01 .accordion__content {
    display: none;
    padding: 0;
    border-top: none;
    background: transparent;
}


.nowrap01 .planwrap01 .accordion {
    display: block;
    padding: 0 0 12vw; /* 400px基準でpadding: 0 0 48px; */
}
.nowrap01 .planwrap01 .accordion:last-child {
    display: block;
    padding: 0;
    border-bottom: none;
}
.nowrap01 .planwrap01 .accordion__title {
    width: 100%;
    display: block;
    font-size: 2.5vw; /* 400px基準でfont-size: 10px; */
    padding: 0;
    border-top: none;
    cursor: pointer;
    position: relative;
}
.nowrap01 .planwrap01 .accordion:first-child .nowrap01 .planwrap01 .accordion__title {
    border-top: none;
}
.nowrap01 .planwrap01 .accordion__title::before {
    content: '';
    display: inline-block;
    width: 5.866666666666666vw; /* 375px基準でwidth: 22px; */
    height: 2px;
    background-color: #379BF0;
    border-radius: 5px;
    position: absolute;
    right: 2.666666666666667vw; /* 375px基準でright: 10px; */
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 1s;
}
.nowrap01 .planwrap01 .accordion__title::after {
    content: '';
    display: inline-block;
    width: 5.866666666666666vw; /* 375px基準でwidth: 22px; */
    height: 2px;
    background-color: #379BF0;
    border-radius: 5px;
    position: absolute;
    right: 2.666666666666667vw; /* 375px基準でright: 10px; */
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    transition: transform 1s;
}
.nowrap01 .planwrap01 .accordion__title.show::before {
    opacity: 0;
}
.nowrap01 .planwrap01 .accordion__title.show::after {
    transform: translateY(-50%) rotate(180deg);
}
.nowrap01 .planwrap01 .accordion__content {
    display: none;
    padding: 0;
    border-top: none;
    background: transparent;
}
}


/*---------------------------------
  お問い合わせ先
---------------------------------*/
.contactwrap01 {
    width: 53.489583333333336vw; /* 1920px基準でwidth: 1027px; */
    margin: 0 auto 1.5625vw; /* 1920px基準でmargin: 0 auto 30px; */
    position: relative;
}
.contactwrap01:last-child {
    margin: 0 auto;
}
.contactwrap01 a:nth-child(2) {
    width: 31.874999999999996vw; /* 1920px基準でwidth: 612px; */
    margin: 0 auto;
    top: 7.03125vw; /* 1920px基準でtop: 135px; */
    left: 0;
    right: 0;
    position: absolute;
}
.contactwrap01 a:nth-child(3) {
    width: 26.302083333333332vw; /* 1920px基準でwidth: 505px; */
    margin: 0 auto;
    bottom: 1.5625vw; /* 1920px基準でbottom: 30px; */
    left: 0;
    right: 0;
    position: absolute;
}
.contactwrap01:nth-child(3) a:nth-child(2) {
    width: 31.874999999999996vw; /* 1920px基準でwidth: 612px; */
    margin: 0 auto;
    top: 5.104166666666667vw; /* 1920px基準でtop: 98px; */
    left: 0;
    right: 0;
    position: absolute;
}
.contactwrap01:nth-child(3) a:nth-child(3) {
    width: 19.479166666666668vw; /* 1920px基準でwidth: 374px; */
    margin: 0 auto;
    bottom: 1.5625vw; /* 1920px基準でbottom: 30px; */
    left: 0;
    right: 0;
    position: absolute;
}
.contactwrap01 a{
  display: block;
  text-decoration: none !important;
}
.contactwrap01 a p{
  display: block;
  font-size: 0.7500000000000001vw; /* 1920px基準でfont-size: 14.4px; */
  text-align: center;
  color: #000000;
  padding: 0;
}
@media screen and (max-width: 767px) {
.contactwrap01 {
    width: 84.5vw; /* 400px基準でwidth: 338px; */
    margin: 0 auto 8.75vw; /* 400px基準でmargin: 0 auto 35px; */
    position: relative;
}
.contactwrap01:last-child {
    margin: 0 auto;
}
.contactwrap01 a:nth-child(2) {
    width: 74.5vw; /* 400px基準でwidth: 298px; */
    margin: 0 auto;
    top: 41.75vw; /* 400px基準でtop: 167px; */
    left: 0;
    right: 0;
    position: absolute;
}
.contactwrap01 a:nth-child(3) {
    width: 72.5vw; /* 400px基準でwidth: 290px; */
    margin: 0 auto;
    bottom: 6.25vw; /* 400px基準でbottom: 25px; */
    left: 0;
    right: 0;
    position: absolute;
}
.contactwrap01:nth-child(3) a:nth-child(2) {
    width: 70.25vw; /* 400px基準でwidth: 281px; */
    margin: 0 auto;
    top: 23vw; /* 400px基準でtop: 92px; */
    left: 0;
    right: 0;
    position: absolute;
}
.contactwrap01:nth-child(3) a:nth-child(3) {
    width: 70.25vw; /* 400px基準でwidth: 281px; */
    margin: 0 auto;
    bottom: 6.25vw; /* 400px基準でbottom: 25px; */
    left: 0;
    right: 0;
    position: absolute;
}
.contactwrap01 a{
  display: block;
  text-decoration: none !important;
}
.contactwrap01 a p{
  display: block;
  font-size: 2.75vw; /* 400px基準でfont-size: 11px; */
  text-align: center;
  color: #000000;
  padding: 0;
}
}


/*---------------------------------
  モーダルウィンドウ（共通）
---------------------------------*/
/* これが無いとモーダルウィンドウ表示の際に余白が出る */
*{
	margin: 0;
	padding: 0;
}

/* モーダル全体(背景＋本体) */
.modal {
	display: none;
	position: fixed;
	top: 0;
	height: 100vh;
	width: 100%;
	z-index: 80001;
}

/* モーダル背景 */
.modal-bg {
	position: absolute;
	height: 100vh;
	width: 100%;
	background: rgba(255, 255, 255, 0.5);
}
.modal-bgblue01 {
	position: absolute;
	height: 100vh;
	width: 100%;
	background: rgba(97, 180, 230, 0.3);
}
.modal-bgorange01 {
	position: absolute;
	height: 100vh;
	width: 100%;
	background: rgba(255, 120, 90, 0.5);
}

/* モーダル本体 */
.modal-content01 {
    width: 72.91666666666666vw; /* 1920px基準でwidth: 1400px; */
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: auto;
    max-height: 65%;
    background: #ffffff;
	border-radius: 1.0416666666666665vw; /* 1920px基準でborder-radius: 20px 0; */
}
.modal-content02 {
    width: 98%;
    margin: 0 auto;
    height: auto;
    max-height: 65vh;
    overflow-x: hidden;
    overflow-y: auto;
}
.modal-contentwhitebg01 {
    background: #ffffff;
}
.modal-contentpinkbg01 {
    background: #FF5F6E;
}
.modal-contentbluebg01 {
    background: #379BF0;
}

/* モーダルウィンドウ内容 */
.modal-detailwrap01 {
    width: 100%;
	position: relative;
}
.modal-detailbtninner01 {
	width: 2.604166666666667vw; /* 1920px基準でwidth: 50px; */
    position: fixed;
	top: 2.083333333333333vw; /* 1920px基準でtop: 40px; */
	right: 2.083333333333333vw; /* 1920px基準でright: 40px; */
}
.js-modal-close-btn {
	z-index: 20;
}
.js-modal-close-btn img {
	width: 100%;
}
.modal-detailinner01 {
    box-sizing: border-box;
	padding: 3.90625vw; /* 1280px基準でpadding: 50px; */
}
.modal-detailinner01 img {
	width: 100%;
	height: auto;
}
.modal-detailinner02 {
    width: 70%;
    margin: 0 auto;
    padding: 0 0 2.604166666666667vw; /* 1920px基準でpadding: 0 0 50px; */
}
.modal-detailinner02:last-child {
    padding: 0;
}
.modaltitle01 {
    font-size: 1.5625vw; /* 1920px基準でfont-size: 30px; */
    font-weight: 600;
    padding: 0 0 1.4583333333333333vw; /* 1920px基準でpadding: 0 0 28px; */
}
.modaltitle02 {
    display: table;
    font-size: 1.9791666666666665vw; /* 1920px基準でfont-size: 38px; */
    font-weight: 600;
    margin: 0 auto;
    padding: 0 0 0.78125vw; /* 1920px基準でpadding: 0 0 15px; */
    border-bottom: 1.5px solid #57392b;
}
.modaltitlesmall01 {
    font-size: 0.7291666666666666vw; /* 1920px基準でfont-size: 14px; */
    font-weight: 400;
}
.modalbtnwrap01 {
    width: 37.76041666666667vw; /* 1920px基準でwidth: 725px; */
    margin: 0 auto;
    padding: 1.5625vw 0 0; /* 1920px基準でpadding: 30px 0 0; */
}
.modalbannerwrap01 {
    width: 31.25vw; /* 1920px基準でwidth: 600px; */
    margin: 0 auto;
    padding: 1.5625vw 0 0; /* 1920px基準でpadding: 30px 0 0; */
}
@media screen and (max-width: 767px) {
.modal-content01 {
    width: 89.33333333333333vw; /* 375px基準でwidth: 335px; */
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	height: auto;
	max-height: 70%;
    background: #ffffff;
	border-radius: 2.666666666666667vw; /* 375px基準でborder-radius: 10px 0; */
}
.modal-content02 {
    width: 98%;
    margin: 0 auto;
    height: auto;
    max-height: 65vh;
    overflow-x: hidden;
    overflow-y: auto;
}
.modal-contentwhitebg01 {
    background: #ffffff;
}
.modal-contentpinkbg01 {
    background: #FF5F6E;
}
.modal-contentbluebg01 {
    background: #379BF0;
}

/* モーダルウィンドウ内容 */
.modal-detailwrap01 {
	position: relative;
}
.modal-detailbtninner01 {
	width: 8vw; /* 375px基準で30px */
    position: fixed;
	top: 2.666666666666667vw; /* 375px基準で30px */
	right: 2.666666666666667vw; /* 375px基準で30px */
}
.modal-detailinner01 {
	padding: 10.666666666666668vw 2.666666666666667vw; /* 375px基準でpadding: 40px 10px; */
}
.modal-detailinner01 img {
	width: 100%;
	height: auto;
}
.modal-detailinner02 {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 7.466666666666668vw; /* 375px基準でpadding: 0 0 28px; */
}
.modal-detailinner02:last-child {
    padding: 0;
}
.modaltitle01 {
    font-size: 5.866666666666666vw; /* 375px基準でfont-size: 22px; */
    font-weight: 600;
    padding: 0 0 3.4666666666666663vw; /* 375px基準でpadding: 0 0 13px; */
}
.modaltitle02 {
    display: table;
    font-size: 5.866666666666666vw; /* 375px基準でfont-size: 22px; */
    font-weight: 600;
    margin: 0 auto;
    padding: 0 0 2.666666666666667vw; /* 375px基準でpadding: 0 0 10px; */
    border-bottom: 1.5px solid #57392b;
}
.modaltitlesmall01 {
    font-size: 3.2vw; /* 375px基準でfont-size: 12px; */
    font-weight: 400;
}
.modalbtnwrap01 {
    width: 100%; /* 375px基準でwidth: 317px; */
    margin: 0 auto;
    padding: 5.866666666666666vw 0 0; /* 375px基準でpadding: 22px 0 0; */
}
.modalbannerwrap01 {
    width: 100%;
    margin: 0 auto;
    padding: 5.866666666666666vw 0 0; /* 375px基準でpadding: 22px 0 0; */
}
}


/*---------------------------------
  テキスト頭揃え
---------------------------------*/
.indent01-01 {
	text-indent: -1em;
	padding: 0 0 0 1em;
}
.indent01-05 {
	text-indent: -1.5em;
	padding: 0 0 0 1.5em;
}