@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");

body{
  margin: 0;
}

.post-content {
  max-width: 960px;
  margin: 0 auto;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.65;
  letter-spacing: 0.05em;
  color: #333;
  container-type: inline-size;
  container-name: post;
}

.post-content img{
  max-width: 100%;
}

.post-content .mv{
  display: block;
  width: 100%;
  margin: 0;
  vertical-align: bottom;
}

.post-content .sec1{
  background-image: url("https://cms-edusta-prod.s3.ap-northeast-1.amazonaws.com/sites/4/2026/08/31113203/bg1-3.png");
  background-size: cover;
  background-position: center;
  padding:15px 0;
}

.post-content .wrap{
  padding:0 15px;
  box-sizing: border-box;
  width: 100%;

}

.post-content .sec1 .t1{
  margin:10px 0 0;
}

.post-content .sec1 .t1 img{
  width: 148px;
}

.post-content .sec1 p{
  font-size: 14px;
  font-weight: 500;
  margin:0;
  color:black;
}

.post-content .button{
  display: block;
  width: 100%;
  margin:20px auto 0;
  background: #FF8465;
  color:white;
  border-radius: 999px;
  text-align: center;
  text-decoration: none;
  padding:15px 0;
  padding-right: 20px;
  box-sizing: border-box;
  position: relative;
  font-size: 17px;
  font-weight: bold;
  border:2px solid #fff;
  line-height: 1.4;
  box-shadow: 3px 3px 12px rgba(0, 0, 0, 0.3);
  animation: btn_animation 2s ease-in-out infinite;
  transform-origin: center center;
}

/* 控えめな2拍のハートビート */
@keyframes btn_animation {
  0%,
  100% {
    transform: scale(1);
  }
  12% {
    transform: scale(1.04);
  }
  24% {
    transform: scale(1);
  }
  36% {
    transform: scale(1.06);
  }
  50% {
    transform: scale(1);
  }
}

.post-content .button.type2{
  padding:9px 0;
  border-radius: 50px;
}

.post-content .button.mt__plus{
  margin: 40px 0 15px;
}

.post-content .button::before{
  content: "";
  position: absolute;
  top:50%;
  right: 10px;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  background: url("https://cms-edusta-prod.s3.ap-northeast-1.amazonaws.com/sites/4/2026/08/31113201/arrow-3.png") no-repeat center center;
  background-size: contain;
}

.post-content .button.color2::before{
  background: url("https://cms-edusta-prod.s3.ap-northeast-1.amazonaws.com/sites/4/2026/08/31113202/arrow2.png") no-repeat center center;
  background-size: contain;
}

.post-content .button.color3::before{
  background: url("https://cms-edusta-prod.s3.ap-northeast-1.amazonaws.com/sites/4/2026/08/31113202/arrow3.png") no-repeat center center;
  background-size: contain;
}

.post-content .sec1 .t2{
  margin:20px 0 10px;
}

.post-content .sec1 .t2 img{
  width: 56px;
}

.post-content .sec1 .index__flex{
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.8);
  margin-bottom: 2px;
  padding:5px 0;
  text-decoration: underline;
}

.post-content .sec1 .index__flex img{
  width: 32px;
  margin-right: 10px;
}

.post-content .sec1 .index__flex p{
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  color:#333;
}

.post-content .sec2{
  padding:0;
  padding-bottom: 0!important;
  background-image: url("https://cms-edusta-prod.s3.ap-northeast-1.amazonaws.com/sites/4/2026/08/19093702/bg2-1-scaled.png");
  background-size: cover;
  background-position: top;
  background-repeat: repeat-y;
}

.post-content .sec3{
  padding:0;
  background-size: cover;
  background-position: center;
}

.post-content .sec5{
  padding-bottom: 50px;
  background:#F6F6F6;
}

.post-content .sec4{
  padding:0 0 30px;
  /* background-image: url("https://cms-edusta-prod.s3.ap-northeast-1.amazonaws.com/sites/4/2026/08/07102817/bg4-scaled.png"); */
  background-size: cover;
  background-position: center;
}

/* タイトル帯：デザイン 750×260 に合わせる（画像実寸も 750×260） */
.post-content .sec__title{
  position: relative;
  width: 100%;
  aspect-ratio: 750 / 260;
  padding: 0;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.post-content .sec__title.ver2{
  position: relative;
  top: -20px;
}

.post-content .sec__title.ver3{
  margin:30px 0 25px;
  padding: 0;
}

/* 375幅で現行SP相当 → 750幅で2倍 → 960幅で上限 */
.post-content .sec__title.ver3 h2{
  /* 帯の高さ 55% 付近に配置（translateY による下げは不要） */
  position: absolute;
  top: 55%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  width: 100%;
  font-size: clamp(24px, 6.4cqi, 61.44px); /* 48@750 */
}

.post-content .sec__title.size2 h2{
  font-size: clamp(14px, 4cqi, 38px); /* 30@750 */
}

.post-content .sec__title img{
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: fill;
}

.post-content .sec__title h2{
  text-align: center;
  margin: 0;
  font-size: clamp(18px, 4.8cqi, 46.08px); /* 36@750 / 46@960 */
  color:#30415E;
  line-height: 1.5;
  position: relative;
  z-index: 2;
  /* 上部の装飾を避けるため、やや下へ（前回の中間程度） */
  transform: translateY(clamp(11px, 3.2cqi, 30px));
  font-weight: bold;
}

.post-content .sec__title h2 span{
  font-size: clamp(22px, 5.8667cqi, 56.32px); /* 44@750 / 56@960 */
}

.post-content .sec2 .sec2__content{
  background-image: url("https://cms-edusta-prod.s3.ap-northeast-1.amazonaws.com/sites/4/2026/08/07102157/bg.png");
  background-size: cover;
  background-position: center;
  padding:25px 10vw;
}

.post-content .sec2 .sec2__content p.right{
  text-align: right;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
}

.post-content .sec2 .sec2__content h3{
  background: white;
  color:#30415E;
  text-align: center;
  margin:0 0 15px;
  padding:7px 0;
  font-weight: bold;
  font-size: 18px;
}

.post-content .sec2 .sec2__content p{
  font-size: 14px;
  font-weight: 500;
  margin:0 0 20px;
}

.post-content .sec2 .sec2__content ul{
  list-style: none;
  padding:0;
  margin:0;
}

.post-content .sec2 .sec2__content ul li{
  font-size: 14px;
  font-weight: 500;
  margin:0 0 10px;
  color:#333;
  padding-left: 16px;
  position: relative;
}

.post-content .sec2 .sec2__content ul li:last-child{
  margin-bottom: 0;
}

.post-content .st__textbox{
  width: calc(100% + 30px);
  margin:0 -15px;
  box-sizing: border-box;
  padding:15px;
  background: rgba(255, 255, 255, 0.6);
}

.post-content .sec2 .sec2__content ul li::before{
  content: "";
  position: absolute;
  top:50%;
  left: 0;
  background: #32CDCE;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.post-content .st__area{
  padding-top: 40px;
}

.post-content .st__area.ver2{
  padding-top: 0;
}

.post-content .st__img{
  width: 100%;
  margin:15px 0 10px;
  line-height: 1;
  vertical-align: bottom;
}

.post-content .st__area .st__img:first-child{
  margin-top: 0;
}

.post-content .st__name{
  font-size: 16px;
  font-weight: 500;
  margin:0 0 5px;
  padding-bottom: 5px;
  border-bottom: 2px solid #60B7F0;
}

.post-content .st_info{
  font-size: 14px;
  font-weight: 500;
  margin:0;
  color:#333;
}

.post-content .qa__area{
  padding:25px 0 35px;
}

.post-content .qa__area.pt0{
  padding-top: 0;
}

.post-content .qa__area .qa__title{
  font-size: 14px;
  font-weight: bold;
  color:#E06445;
  padding-left: 36px;
  position: relative;
  margin:30px 0 15px;
}

.post-content .qa__area .qa__title:first-child{
  margin-top: 0;
}

.post-content .qa__area .qa__title:before{
  content: "";
  position: absolute;
  top:50%;
  left: 0;
  background: #E06445;
  transform: translateY(-50%);
  width: 25px;
  height: 1px;
}

.post-content .qa__area .qa__flex{
  display: flex;
  align-items: start;
  margin-bottom: 20px;
}

.post-content .qa__area .qa__flex.mb0{
  margin-bottom: 0;
}

.post-content .qa__area .qa__flex.last{
  margin-bottom: 0;
}

.post-content .qa__area .qa__flex .qa__img{
  width: 60px;
  margin-right: 10px;
}

.post-content .qa__area .qa__flex .qa__text{
  width: calc(100% - 70px);
  padding-bottom: 7px;
  border-bottom: 1px solid white;
}

.post-content .qa__area .qa__flex .qa__text.border-none{
  border-bottom: none;
}

.post-content .qa__area .qa__flex .qa__text .qa__name{
  font-size: 14px;
  font-weight: bold;
  margin:0;
  color:#333;
}

.post-content .qa__area .qa__flex .qa__text .qa__a{
  font-size: 14px;
  font-weight: 500;
  margin:0;
  color:#333;
}

.post-content .wide__img{
  width: calc(100% + 30px);
  max-width: none;
  margin:0 -15px;
  display: block;
  line-height: 1;
  vertical-align: bottom;
}

.post-content .sec2__text{
  width: calc(100% + 30px);
  font-size: 12px;
  font-weight: 500;
  background: rgba(255, 255, 255, 0.5);
  margin:0 -15px 30px;
  padding:10px;
  box-sizing: border-box;
}

.post-content .title__img{
  width: 100%;
  margin: 0;
  line-height: 1;
  vertical-align: bottom;
}

.post-content .deco__area{
  background-image: url("https://cms-edusta-prod.s3.ap-northeast-1.amazonaws.com/sites/4/2026/08/07103137/deco.png");
  background-size: cover;
  background-position: top;
  padding:20px;
  margin-top: 20px;
}

.post-content .deco__area p{
  font-size: 14px;
  font-weight: 500;
  margin:0;
  color:#333;
}

.post-content .w__imgbox{
  padding:25px 65px;
}

.post-content .w__imgbox img{
  width: 100%;
}

.post-content .mt__plus{
  margin-top: 40px;
}

.post-content .t4{
 width: 83px;
 margin:30px 0 10px;
}

.post-content .sec3__text{
  font-size: 13px;
  font-weight: 500;
  margin:0;
}

.post-content .footer__info{
  background-image: url("https://cms-edusta-prod.s3.ap-northeast-1.amazonaws.com/sites/4/2026/08/31113204/bg3-2.png");
  background-size: cover;
  background-position: center;
  padding:15px 0;
  color:white;
  line-height: 1.7;
}

.post-content .footer__info h3{
  font-size: 22px;
  font-weight: 500;
  margin:0 0 15px;
}

.post-content .footer__info p.finfo__text{
  font-size: 14px;
  font-weight: 500;
  margin:10px 0 0;
}

.post-content .footer__info p.finfo__text span{
  font-weight: bold;
  font-size: 16px;
}

.post-content .footer__info p.finfo__text.border__plus{
  border-top: 1px solid white;
  padding-top: 10px;
  margin-top: 10px;
}

.post-content .footer__info h3.type2{
  margin-top: 20px;
}

.post-content .footer__info .finfo__text2{
  font-size: 12px;
  margin:20px 0 0;
  text-align: right;
  line-height: 1.3;
}

/* 20260817 */

.post-content .plus__area{
  background:#B7DCF7;
  padding-bottom: 20px;
}

.post-content .sec2__text.mb0{
  margin-bottom: 0;
}

.post-content .st__img{
  margin-bottom: 0;
}

.post-content .st__name{
  font-weight: bold;
}

.post-content .st__name span{
  display: block;
  font-size: 14px;
  font-weight: 500;
}

.post-content .button{
  background:#C21E4F;
}

.post-content .sec__title--ver2{
  position: relative;
  margin:  0;
  text-align: center;
  padding:4.1vw 0;
  padding-left: 9vw;
}

.post-content .sec__title--ver2 h2{
  font-size: 24px;
  font-weight: bold;
  color:#1C458B;
  text-align: center;
  margin: 0;
  position: relative;
  z-index: 2;
  line-height: 1.4;
}

.post-content .sec__title--ver2 img{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
}

.post-content .qa__area .qa__title{
  color:#1C458B;
}

.post-content .qa__area .qa__title:before{
  background:#1C458B;
  transform: translateY(0%);
  top: 12px;
}

.post-content .sec__title--ver2.ver2{
  padding:8vw 0;
  padding-left: 0;
  margin-top: 40px;
}

.post-content .sec__title--ver2.mt0{
  margin-top: 0!important;
}

.post-content .t3{
  margin:30px 0 0;
}

.post-content .t3 img{
  width: 83px;
}

.post-content .t3__text{
  font-size: 13px;
  font-weight: 500;
  margin:0 0 30px;
}

.post-content .footer__info h3{
  font-size: 24px;
  font-weight: bold;
}

.post-content .page__slider {
  width: calc(100% + 30px);
  margin: 0 -15px 40px;
}

.post-content .page__slider__viewport {
  overflow: hidden;
  container-type: inline-size;
  container-name: post-content-slider;
}

.post-content .page__slider__track {
  display: flex;
  align-items: stretch;
  transform: translateX(calc(5cqw - var(--post-content-slider-i, 0) * 90cqw));
  transition: transform 0.5s ease;
}

.post-content .page__slider__track.is-instant {
  transition: none;
}

.post-content .page__slider__item {
  display: flex;
  flex-direction: column;
  flex: 0 0 90cqw;
  width: 90cqw;
  box-sizing: border-box;
  opacity: 0.55;
  transform: scale(0.9);
  transform-origin: center center;
  transition: transform 0.5s ease, opacity 0.5s ease;
}

.post-content .page__slider__item.is-prev {
  transform-origin: right center;
}

.post-content .page__slider__item.is-next {
  transform-origin: left center;
}

.post-content .page__slider__item.is-current {
  opacity: 1;
  transform: scale(1);
  transform-origin: center center;
  position: relative;
  z-index: 1;
}

.post-content .page__slider__track.is-instant .page__slider__item {
  transition: none;
}

.post-content .page__slider .wide__img {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.post-content .page__slider .sec2__text {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  flex: 1;
}

.post-content .page__slider__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 15px 0;
  box-sizing: border-box;
}

.post-content .page__slider__dots {
  display: flex;
  align-items: center;
  gap: 2px;
  width: auto;
}

.post-content .page__slider__dot {
  position: relative;
  flex: 0 0 16px;
  width: 16px;
  height: 2px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #000000;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: background 0.3s ease;
}

.post-content .page__slider__dot.is-current {
  background: #E62B2B;
}

.post-content .page__slider__dot::after {
  content: "";
  position: absolute;
  inset: -12px 0;
}

.post-content .page__slider__arrows {
  display: flex;
  align-items: center;
  gap: 8px;
}

.post-content .page__slider__prev,
.post-content .page__slider__next {
  display: block;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  line-height: 0;
}

.post-content .page__slider__prev img,
.post-content .page__slider__next img {
  width: 31vw;
  height: 31px;
  display: block;
  border-radius: 10px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2);
}

/* 20260828追加 */

.post-content .button{
  background:#FCEE21;
  border-radius: 6px!important;
  font-size: 18px;
  color:#222;
  padding-top: 12px;
  padding-bottom: 12px;
}

.post-content .sec2__title{
  margin: 0;
}

.post-content .sec2__title img{
  width: 67px;
}

.post-content .profile__row{
  background: white;
  box-sizing: border-box;
  padding:12px 15px;
  display: flex;
  align-items: start;
  margin-bottom: 12px;
}

.post-content .profile__left{
  width: 60px;
}

.post-content .profile__left img{
  width: 100%;
}

.post-content .profile__right{
  width: calc(100% - 60px);
  box-sizing: border-box;
  padding-left: 10px;
}

.post-content .profile__right p.profile__name{
  font-size: 14px;
  padding-bottom: 2px;
  margin: 0 0 5px;
  border-bottom: 1px solid #FFBE55;
  font-weight: bold;
}

.post-content .profile__right p.profile__info{
  font-size: 14px;
  font-weight: 500;
  margin: 0;
}

.post-content .sec2 .sec__title--normal{
  margin: 0;
}

.post-content .sec2 .sec__title--normal img{
  width: 100%;
}

.post-content .sec__title--normal img{
  width: 100%;
}

.post-content .sec3__text{
  font-size: 16px;
  font-weight: 500;
  margin-top: 10px;
}

.post-content .sec__profile{
  background:#FFF8DC;
  padding:20px 0;
}

.post-content .sec2{
  background:#F6F6F6;
}

.post-content .sec__title--normal{
  margin: 0;
}

.post-content .sec3{
  background:#F6F6F6;
  padding-bottom: 60px;
}

.post-content .sec4{
  background:#F6F6F6;
  padding-bottom: 0;
}

.post-content .sec4__img{
  margin-bottom: 35px;
  width: 100%;
}

.post-content .footer__info h3{
  color:#08D30F;
}

.post-content .footer__info h4{
  color:black;
  font-size: 16px;
  font-weight: bold;
  margin: 0;
}

.post-content .footer__info h4.mt__plus{
  margin-top: 20px;
}

.post-content .footer__info p{
  color:black;
}

.post-content .footer__info p.finfo__text{
  border-bottom: 1px solid black;
  padding-bottom: 10px;
}

.post-content .footer__info .finfo__text2{
  font-weight: 500;
}

.post-content .sec2 .qa__title{
  color:#E4007F;
}

.post-content .sec2 .qa__area .qa__title:before{
  background: #E4007F;
}

.post-content .sec3 .qa__title{
  color:#9055D9;
}

.post-content .sec3 .qa__area .qa__title:before{
  background: #9055D9;
}

.post-content .sec4 .qa__title{
  color:#50B300;
}

.post-content .sec4 .qa__area .qa__title:before{
  background: #50B300;
}

.post-content .button.mb0{
  margin-bottom:0!important;
}

.post-content .button.mt__plus.mb0{
  margin-top: 50px;
}

.post-content .button.mb__plus{
  margin-bottom: 40px;
}






@media screen and (min-width: 540px) {
  /*
    540px〜960px で可変（960px超は上限で固定）
    計算式: clamp(min, min + (100vw - 540px) * (max - min) / 420, max)
    ※ 420 = 960 - 540
    セレクタは上部と同一（上書きが確実に効くように）
  */

  .post-content .page__slider {
    width: calc(100% + 2 * var(--sec-pad-x));
    margin: 0 calc(var(--sec-pad-x) * -1) 20px;
  }

  .post-content .page__slider__nav {
    padding: 12px var(--sec-pad-x) 0;
  }

  .post-content {
    --sec-pad-x: clamp(15px, calc(15px + (100vw - 540px) * 15 / 420), 30px);
  }

  /* --- sec1 --- */
  .post-content .sec1 {
    padding: clamp(15px, calc(15px + (100vw - 540px) * 15 / 420), 30px) 0;
  }

  .post-content .wrap {
    padding: 0 var(--sec-pad-x);
  }

  .post-content .sec1 .t1 img {
    width: clamp(148px, calc(148px + (100vw - 540px) * 72 / 420), 220px);
  }

  .post-content .sec1 p {
    font-size: clamp(14px, calc(14px + (100vw - 540px) * 4 / 420), 18px);
  }

  .post-content .button {
    margin: clamp(20px, calc(20px + (100vw - 540px) * 12 / 420), 32px) auto 0;
    padding: clamp(15px, calc(15px + (100vw - 540px) * 5 / 420), 20px) 0;
    padding-right: clamp(20px, calc(20px + (100vw - 540px) * 8 / 420), 28px);
    font-size: clamp(18px, calc(18px + (100vw - 540px) * 6 / 420), 24px);
  }

  .post-content .button.type2 {
    padding: clamp(9px, calc(9px + (100vw - 540px) * 3 / 420), 12px) 0;
  }

  .post-content .button::before {
    width: clamp(20px, calc(20px + (100vw - 540px) * 8 / 420), 28px);
    height: clamp(20px, calc(20px + (100vw - 540px) * 8 / 420), 28px);
  }

  .post-content .sec1 .t2 {
    margin: clamp(20px, calc(20px + (100vw - 540px) * 12 / 420), 32px) 0 10px;
  }

  .post-content .sec1 .t2 img {
    width: clamp(56px, calc(56px + (100vw - 540px) * 28 / 420), 84px);
  }

  .post-content .sec1 .index__flex {
    padding: clamp(5px, calc(5px + (100vw - 540px) * 5 / 420), 10px) 0;
  }

  .post-content .sec1 .index__flex img {
    width: clamp(32px, calc(32px + (100vw - 540px) * 16 / 420), 48px);
    margin-right: clamp(10px, calc(10px + (100vw - 540px) * 6 / 420), 16px);
  }

  .post-content .sec1 .index__flex p {
    font-size: clamp(14px, calc(14px + (100vw - 540px) * 4 / 420), 18px);
  }

  /* --- sec2 / 共通パーツ --- */
  .post-content .sec2 {
    padding: 0 0 clamp(80px, calc(80px + (100vw - 540px) * 20 / 420), 100px);
  }

  .post-content .sec__title {
    margin-bottom: clamp(20px, calc(20px + (100vw - 540px) * 10 / 420), 30px);
  }

  .post-content .sec__title.ver3 {
    margin: clamp(40px, calc(40px + (100vw - 540px) * 10 / 420), 50px) 0 clamp(25px, calc(25px + (100vw - 540px) * 5 / 420), 30px);
  }

  .post-content .sec2 .sec2__content {
    padding: clamp(25px, calc(25px + (100vw - 540px) * 10 / 420), 35px) clamp(90px, calc(90px + (100vw - 540px) * 40 / 420), 130px);
  }

  .post-content .sec2 .sec2__content p.right {
    font-size: clamp(14px, calc(14px + (100vw - 540px) * 4 / 420), 18px);
  }

  .post-content .sec2 .sec2__content h3 {
    margin: 0 0 clamp(15px, calc(15px + (100vw - 540px) * 5 / 420), 20px);
    padding: clamp(7px, calc(7px + (100vw - 540px) * 3 / 420), 10px) 0;
    font-size: clamp(16px, calc(16px + (100vw - 540px) * 4 / 420), 20px);
  }

  .post-content .sec2 .sec2__content p {
    font-size: clamp(14px, calc(14px + (100vw - 540px) * 4 / 420), 18px);
    margin: 0 0 clamp(20px, calc(20px + (100vw - 540px) * 8 / 420), 28px);
  }

  .post-content .sec2 .sec2__content ul li {
    font-size: clamp(14px, calc(14px + (100vw - 540px) * 4 / 420), 18px);
    margin: 0 0 clamp(10px, calc(10px + (100vw - 540px) * 4 / 420), 14px);
    padding-left: clamp(16px, calc(16px + (100vw - 540px) * 6 / 420), 22px);
  }

  .post-content .sec2 .sec2__content ul li::before {
    width: clamp(8px, calc(8px + (100vw - 540px) * 2 / 420), 10px);
    height: clamp(8px, calc(8px + (100vw - 540px) * 2 / 420), 10px);
  }

  .post-content .st__textbox {
    width: calc(100% + 2 * var(--sec-pad-x));
    margin: 0 calc(var(--sec-pad-x) * -1);
    padding: clamp(15px, calc(15px + (100vw - 540px) * 5 / 420), 20px);
  }

  .post-content .st__area {
    padding-top: clamp(40px, calc(40px + (100vw - 540px) * 16 / 420), 56px);
  }

  .post-content .st__img {
    margin: clamp(15px, calc(15px + (100vw - 540px) * 5 / 420), 20px) 0 clamp(10px, calc(10px + (100vw - 540px) * 4 / 420), 14px);
  }

  .post-content .st__area .st__img:first-child {
    margin-top: 0;
  }

  .post-content .st__name {
    font-size: clamp(16px, calc(16px + (100vw - 540px) * 4 / 420), 20px);
    margin: 0 0 clamp(5px, calc(5px + (100vw - 540px) * 3 / 420), 8px);
    padding-bottom: clamp(5px, calc(5px + (100vw - 540px) * 3 / 420), 8px);
  }

  .post-content .st_info {
    font-size: clamp(14px, calc(14px + (100vw - 540px) * 4 / 420), 18px);
  }

  .post-content .qa__area {
    padding: clamp(35px, calc(35px + (100vw - 540px) * 15 / 420), 50px) 0;
  }

  .post-content .qa__area .qa__title {
    font-size: clamp(14px, calc(14px + (100vw - 540px) * 4 / 420), 18px);
    padding-left: clamp(36px, calc(36px + (100vw - 540px) * 10 / 420), 46px);
    margin: clamp(30px, calc(30px + (100vw - 540px) * 10 / 420), 40px) 0 clamp(20px, calc(20px + (100vw - 540px) * 8 / 420), 28px);
  }

  .post-content .qa__area .qa__title:before {
    width: clamp(25px, calc(25px + (100vw - 540px) * 7 / 420), 32px);
  }

  .post-content .qa__area .qa__flex {
    margin-bottom: clamp(15px, calc(15px + (100vw - 540px) * 5 / 420), 20px);
  }

  .post-content .qa__area .qa__flex .qa__img {
    width: clamp(60px, calc(60px + (100vw - 540px) * 20 / 420), 80px);
    margin-right: clamp(10px, calc(10px + (100vw - 540px) * 6 / 420), 16px);
  }

  .post-content .qa__area .qa__flex .qa__text {
    width: calc(100% - clamp(70px, calc(70px + (100vw - 540px) * 26 / 420), 96px));
    padding-bottom: clamp(7px, calc(7px + (100vw - 540px) * 3 / 420), 10px);
  }

  .post-content .qa__area .qa__flex .qa__text .qa__name {
    font-size: clamp(14px, calc(14px + (100vw - 540px) * 4 / 420), 18px);
    margin: 0 0 clamp(5px, calc(5px + (100vw - 540px) * 3 / 420), 8px);
  }

  .post-content .qa__area .qa__flex .qa__text .qa__a {
    font-size: clamp(14px, calc(14px + (100vw - 540px) * 4 / 420), 18px);
  }

  .post-content .wide__img {
    width: calc(100% + 2 * var(--sec-pad-x));
    margin: 0 calc(var(--sec-pad-x) * -1);
  }

  .post-content .sec2__text {
    width: calc(100% + 2 * var(--sec-pad-x));
    font-size: clamp(12px, calc(12px + (100vw - 540px) * 3 / 420), 15px);
    margin: 0 calc(var(--sec-pad-x) * -1) clamp(30px, calc(30px + (100vw - 540px) * 10 / 420), 40px);
    padding: clamp(10px, calc(10px + (100vw - 540px) * 4 / 420), 14px);
  }

  .post-content .t4 {
    width: clamp(83px, calc(83px + (100vw - 540px) * 30 / 420), 113px);
    margin: clamp(30px, calc(30px + (100vw - 540px) * 10 / 420), 40px) 0 10px;
  }

  .post-content .sec3__text {
    font-size: clamp(13px, calc(13px + (100vw - 540px) * 3 / 420), 16px);
  }

  .post-content .deco__area{
    padding:30px 20px 20px;
  }

  /* --- footer__info --- */
  .post-content .footer__info {
    padding: clamp(15px, calc(15px + (100vw - 540px) * 10 / 420), 25px) 0;
  }

  .post-content .footer__info h3 {
    font-size: clamp(22px, calc(22px + (100vw - 540px) * 6 / 420), 28px);
    margin: 0 0 clamp(15px, calc(15px + (100vw - 540px) * 5 / 420), 20px);
  }

  .post-content .footer__info p.finfo__text {
    font-size: clamp(14px, calc(14px + (100vw - 540px) * 4 / 420), 18px);
  }

  .post-content .footer__info p.finfo__text.border__plus {
    padding-top: clamp(10px, calc(10px + (100vw - 540px) * 4 / 420), 14px);
    margin-top: clamp(10px, calc(10px + (100vw - 540px) * 4 / 420), 14px);
  }

  .post-content .footer__info h3.type2 {
    margin-top: clamp(20px, calc(20px + (100vw - 540px) * 8 / 420), 28px);
  }

  .post-content .footer__info .finfo__text2 {
    font-size: clamp(12px, calc(12px + (100vw - 540px) * 3 / 420), 15px);
    margin: clamp(10px, calc(10px + (100vw - 540px) * 4 / 420), 14px) 0 0;
  }
}

@media screen and (min-width: 540px) {
  /*
    20260817 可変（540px〜960px、960px超は上限で固定）
    計算式: clamp(min, min + (100vw - 540px) * (max - min) / 420, max)
  */

  .post-content .footer__info p.finfo__text span{
    font-size: 20px;
  }

  .post-content .plus__area {
    padding-bottom: clamp(20px, calc(20px + (100vw - 540px) * 12 / 420), 32px);
  }

  .post-content .sec2__text.mb0 {
    margin-bottom: 0;
  }

  .post-content .sec2 {
    padding-top: 0!important;
  }

  .post-content .st__img {
    margin-bottom: 0;
  }

  .post-content .st__name span {
    font-size: clamp(14px, calc(14px + (100vw - 540px) * 4 / 420), 18px);
  }

  .post-content .sec__title--ver2 {
    padding-top: clamp(37px, calc(37px + (100vw - 540px) * 29 / 420), 66px);
    padding-bottom: clamp(37px, calc(37px + (100vw - 540px) * 29 / 420), 66px);
    padding-left: clamp(49px, calc(49px + (100vw - 540px) * 37 / 420), 86px);
  }

  .post-content .sec__title--ver2 h2 {
    font-size: clamp(24px, calc(24px + (100vw - 540px) * 8 / 420), 48px);
  }

  .post-content .qa__area .qa__title:before {
    top: clamp(12px, calc(12px + (100vw - 540px) * 4 / 420), 16px);
  }

  .post-content .sec__title--ver2.ver2 {
    padding-top: clamp(43px, calc(43px + (100vw - 540px) * 34 / 420), 100px);
    padding-bottom: clamp(43px, calc(43px + (100vw - 540px) * 34 / 420), 100px);
    padding-left: 0;
    margin-top: clamp(40px, calc(40px + (100vw - 540px) * 16 / 420), 56px);
  }

  .post-content .t3 {
    margin: clamp(30px, calc(30px + (100vw - 540px) * 10 / 420), 40px) 0 0;
  }

  .post-content .t3 img {
    width: clamp(83px, calc(83px + (100vw - 540px) * 30 / 420), 113px);
  }

  .post-content .t3__text {
    font-size: clamp(13px, calc(13px + (100vw - 540px) * 3 / 420), 16px);
    margin: 0 0 clamp(30px, calc(30px + (100vw - 540px) * 10 / 420), 40px);
  }

  .post-content .footer__info h3 {
    font-size: clamp(24px, calc(24px + (100vw - 540px) * 8 / 420), 32px);
  }

  .post-content .page__slider {
    width: calc(100% + 2 * var(--sec-pad-x));
    margin: 0 calc(var(--sec-pad-x) * -1) clamp(20px, calc(20px + (100vw - 540px) * 12 / 420), 50px);
  }

  .post-content .page__slider__nav {
    padding: clamp(12px, calc(12px + (100vw - 540px) * 4 / 420), 16px) var(--sec-pad-x) 0;
  }

  .post-content .page__slider__dots {
    gap: clamp(2px, calc(2px + (100vw - 540px) * 1 / 420), 3px);
  }

  .post-content .page__slider__dot {
    flex-basis: clamp(16px, calc(16px + (100vw - 540px) * 6 / 420), 22px);
    width: clamp(16px, calc(16px + (100vw - 540px) * 6 / 420), 22px);
    height: clamp(2px, calc(2px + (100vw - 540px) * 1 / 420), 3px);
  }

  .post-content .page__slider__dot::after {
    inset: clamp(-16px, calc(-12px + (100vw - 540px) * -4 / 420), -12px) 0;
  }

  .post-content .page__slider__arrows {
    gap: clamp(8px, calc(8px + (100vw - 540px) * 4 / 420), 12px);
  }

  .post-content .page__slider__prev,
  .post-content .page__slider__next {
    width: clamp(30px, calc(30px + (100vw - 540px) * 12 / 420), 42px);
    height: clamp(30px, calc(30px + (100vw - 540px) * 12 / 420), 42px);
  }

  .post-content .page__slider__prev img,
  .post-content .page__slider__next img {
    width: clamp(31px, calc(31px + (100vw - 540px) * 11 / 420), 42px);
    height: clamp(31px, calc(31px + (100vw - 540px) * 11 / 420), 42px);
  }
}

@media screen and (min-width: 540px) {
  /*
    20260828 可変（540px〜960px、960px超は上限で固定）
    計算式: clamp(min, min + (100vw - 540px) * (max - min) / 420, max)
  */

  .post-content .button {
    border-radius: clamp(6px, calc(6px + (100vw - 540px) * 2 / 420), 8px) !important;
    font-size: clamp(18px, calc(18px + (100vw - 540px) * 6 / 420), 24px);
    padding-top: clamp(12px, calc(12px + (100vw - 540px) * 4 / 420), 16px);
    padding-bottom: clamp(12px, calc(12px + (100vw - 540px) * 4 / 420), 16px);
  }

  .post-content .sec2__title img {
    width: clamp(67px, calc(67px + (100vw - 540px) * 33 / 420), 100px);
  }

  .post-content .profile__row {
    padding: clamp(12px, calc(12px + (100vw - 540px) * 4 / 420), 16px) var(--sec-pad-x);
    margin-bottom: clamp(12px, calc(12px + (100vw - 540px) * 4 / 420), 16px);
  }

  .post-content .profile__left {
    width: clamp(60px, calc(60px + (100vw - 540px) * 20 / 420), 80px);
  }

  .post-content .profile__right {
    width: calc(100% - clamp(60px, calc(60px + (100vw - 540px) * 20 / 420), 80px));
    padding-left: clamp(10px, calc(10px + (100vw - 540px) * 6 / 420), 16px);
  }

  .post-content .profile__right p.profile__name {
    font-size: clamp(14px, calc(14px + (100vw - 540px) * 4 / 420), 18px);
    padding-bottom: clamp(2px, calc(2px + (100vw - 540px) * 1 / 420), 3px);
    margin: 0 0 clamp(5px, calc(5px + (100vw - 540px) * 3 / 420), 8px);
  }

  .post-content .profile__right p.profile__info {
    font-size: clamp(14px, calc(14px + (100vw - 540px) * 4 / 420), 18px);
  }

  .post-content .sec3__text {
    font-size: clamp(16px, calc(16px + (100vw - 540px) * 4 / 420), 20px);
    margin-top: clamp(10px, calc(10px + (100vw - 540px) * 4 / 420), 14px);
  }

  .post-content .sec__profile {
    padding: clamp(20px, calc(20px + (100vw - 540px) * 12 / 420), 32px) 0;
  }

  .post-content .sec3 {
    padding-bottom: clamp(60px, calc(60px + (100vw - 540px) * 20 / 420), 80px);
  }

  .post-content .sec4__img {
    margin-bottom: clamp(20px, calc(20px + (100vw - 540px) * 12 / 420), 32px);
  }

  .post-content .footer__info h4 {
    font-size: clamp(16px, calc(16px + (100vw - 540px) * 4 / 420), 20px);
  }

  .post-content .footer__info h4.mt__plus {
    margin-top: clamp(20px, calc(20px + (100vw - 540px) * 8 / 420), 28px);
  }

  .post-content .footer__info p.finfo__text {
    padding-bottom: clamp(10px, calc(10px + (100vw - 540px) * 4 / 420), 14px);
  }

  .post-content .sec5{
    padding-bottom: 80px;
  }
}



