@charset "UTF-8";
/* コーポレート・ロゴ（ラウンド） ------------------------------ */
/* ページ内で使用する文字のみを収録したサブセット（約164KB）        */
/* ※文言を追加・変更した場合は、フォントの再生成が必要です          */
@font-face {
  font-family: "CorpRound Web";
  src: url("../fonts/corp-round-web.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
/* CSS Document */
html {
  line-height: 1.45;
}

body {
  font-size: 16px;
  color: #333;
  font-family: "Noto Sans JP", "游ゴシック", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  background-color: #f7f5ee;
  overflow-x: hidden;
  opacity: 1;
  transition: opacity 0.6s ease;
}

@media only screen and (min-width: 450px) and (max-width: 1023px) {
  body {
    background-image: url("../img/bg_lefttop.webp"), url("../img/bg_leftbottom.webp"), url("../img/bg_righttop.webp"), url("../img/bg_rightbottom.webp");
    background-position: left top, left bottom, right top, right bottom;
    background-repeat: no-repeat;
    background-size: 304px auto, 318px auto, 229px auto, 267px auto;
    background-attachment: fixed;
  }
}
@media (prefers-reduced-motion: reduce) {
  html.is-loading body {
    opacity: 1;
  }
  body {
    transition: none;
  }
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.6em;
}

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

.l-container {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 15px;
}

@media only screen and (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}
/*=================================
button
===================================*/
/*
.c-btn {
    position: relative;
    overflow: hidden; // 光の帯をボタン内（角丸）でクリップ
    border: 3px solid #d33131;
    max-width: 335px;
    height: 64px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50px;
    color: #fff;
    background: linear-gradient(45deg, rgba(183, 34, 43, 1.00) 0%, rgba(255, 121, 106, 1.00) 50%, rgba(183, 34, 43, 1.00) 100%);
    background-size: 400% 100%; // グラデを広げて動かす余地をつくる
    background-position: 0% 50%;
    animation: btn-gradient 3.5s ease-in-out infinite; // グラデ自体がキラッと流れる（3.5秒ごと）
    box-shadow: 5px 9px 0 #333333; // 横5px・縦9px・ぼかしなしの影
    transition: transform 0.3s ease, box-shadow 0.15s ease;



    // hover：影のぶん沈み込み＋影が消える＝押し込み感
    &:hover {
        transform: translate(5px, 9px);
        box-shadow: 0 0 0 #333333;
    }

    .txt {
        position: relative;
        font-size: 24px;
        font-family: $corpolate;
        z-index: 1;
        display: inline-block;
        padding-right: 15px;
    }

    .icon {
        width: 22px;
        display: block;
        top: 50%;
        transform: translateY(-50%);
        right: 31px;
        position: absolute;
    }

    // キラッと光る帯（斜めの白いグラデーション）／一定間隔で自動ループ
    &::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        width: 45%;
        height: 100%;
        background: linear-gradient(115deg,
                rgba(255, 255, 255, 0) 0%,
                rgba(255, 255, 255, 0.75) 50%,
                rgba(255, 255, 255, 0) 100%);
        transform: translateX(-180%) skewX(-20deg); // 初期位置：左外に待機
        opacity: 0;
        pointer-events: none;
        // animation: btn-shine 3.5s ease-in-out infinite; // ← 白い帯のキラッは停止（グラデ側で光らせるため）
    }


    &-line {
        border: 3px solid #2b9334;
        overflow: visible; // .head を上部にはみ出させる（親のoverflow:hiddenを解除）
        // 緑グラデに上書き（background-image のみ＝size/position/animationは.c-btnを維持）
        background-image: linear-gradient(45deg, rgba(0, 150, 7, 1.00) 0%, rgba(122, 217, 0, 1.00) 34%, rgba(19, 173, 6, 1.00) 66%, rgba(122, 217, 0, 1.00) 100%);
        height: 72px;

        .head {
            position: absolute;
            width: 100%;
            top: -3px;
            left: 50%;
            transform: translateX(-50%) translateY(-50%);
            background-color: #333;
            color: #fff;
            text-align: center;
            font-family: $corpolate;
            font-size: 16px;
            padding: 5px;
            max-width: 250px;
            border-radius: 20px;
            line-height: 1;
        }

        .txt {
            margin-top: 5px;
            padding: 0;
        }

        .icon {
            top: calc(50% + 5px);
        }
    }

    &-instagram {
        padding: 0;
        background-color: #333333;
        background-image: none;
        border: none;
        box-shadow: 5px 9px 0 #cccccc; // 横5px・縦9px・ぼかしなしの影

        .txt {
            font-family: $base;
            font-size: 16px;
            padding: 0;
            font-weight: 500;
        }
    }

}
*/
.c-btn {
  position: relative;
  overflow: hidden;
  border: 3px solid #d33131;
  max-width: 335px;
  height: 64px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  color: #fff;
  background: linear-gradient(45deg, rgb(183, 34, 43) 0%, rgb(255, 121, 106) 50%, rgb(183, 34, 43) 100%);
  background-size: 400% 100%;
  background-position: 0% 50%;
  animation: btn-gradient 3.5s ease-in-out infinite;
  box-shadow: 5px 9px 0 #333333;
  transition: transform 0.3s ease, box-shadow 0.15s ease;
}
.c-btn:hover {
  transform: translate(5px, 9px);
  box-shadow: 0 0 0 #333333;
}
.c-btn .txt {
  position: relative;
  font-size: 24px;
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
  z-index: 1;
  display: inline-block;
  padding-right: 15px;
}
.c-btn .icon {
  width: 22px;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  right: 31px;
  position: absolute;
}
.c-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 45%;
  height: 100%;
  background: linear-gradient(115deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0) 100%);
  transform: translateX(-180%) skewX(-20deg);
  opacity: 0;
  pointer-events: none;
}
.c-btn-line {
  border: 3px solid #2b9334;
  overflow: visible;
  background-image: linear-gradient(45deg, rgb(0, 150, 7) 0%, rgb(122, 217, 0) 34%, rgb(19, 173, 6) 66%, rgb(122, 217, 0) 100%);
  height: 72px;
}
.c-btn-line .head {
  position: absolute;
  width: 100%;
  top: -3px;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  background-color: #333;
  color: #fff;
  text-align: center;
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
  font-size: 16px;
  padding: 5px;
  max-width: 250px;
  border-radius: 20px;
  line-height: 1;
}
.c-btn-line .txt {
  margin-top: 5px;
  padding: 0;
}
.c-btn-line .icon {
  top: calc(50% + 5px);
}
.c-btn-instagram {
  padding: 0;
  background-color: #333333;
  background-image: none;
  border: none;
  box-shadow: 5px 9px 0 #cccccc;
}
.c-btn-instagram .txt {
  font-family: "Noto Sans JP", "游ゴシック", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-size: 16px;
  padding: 0;
  font-weight: 500;
}

.c-btn-new {
  display: block;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 335px;
  height: 64px;
  background-color: #d74141;
  border-radius: 50px;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 4px 12px #d74141;
}
.c-btn-new::after {
  width: 5px;
  height: 8px;
  background: url(../img/icon_button_wh_new.webp) no-repeat center/contain;
  top: 50%;
  transform: translateY(-50%);
  right: 25px;
  content: "";
  display: block;
  position: absolute;
}
.c-btn-new .txt {
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
}

/*=================================
追従ボタン
===================================*/
.c-fixed-cta {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 800;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 20px calc(30px + env(safe-area-inset-bottom));
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%);
  transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
}
.c-fixed-cta.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
@media only screen and (min-width: 450px) {
  .c-fixed-cta {
    max-width: 375px;
  }
}
@media only screen and (min-width: 1024px) {
  .c-fixed-cta {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .c-fixed-cta {
    transition: none;
  }
}
/*=================================
marquee（横に永遠と流れるスライダー）
===================================*/
.c-marquee {
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
}
.c-marquee::-webkit-scrollbar {
  display: none;
}
.c-marquee.is-dragging {
  cursor: grabbing;
}
.c-marquee__track {
  display: flex;
  width: max-content;
}
.c-marquee__item {
  flex: 0 0 auto;
  width: 118px;
  margin-right: 10px;
  user-select: none;
  pointer-events: none;
}
.c-marquee__item img {
  width: 100%;
  height: auto;
}
.c-marquee__item p {
  margin-top: 6px;
  font-size: 12px;
  text-align: center;
  font-weight: 500;
  line-height: 1.5;
}

@keyframes btn-gradient {
  0% {
    background-position: 100% 50%;
  }
  25% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
/*=================================
header
===================================*/
.l-header {
  position: absolute;
  top: 11px;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 50px;
  padding-left: 5.33333333%;
}
.l-header__logo {
  width: 39.46666667%;
  display: block;
}
.l-header__nav {
  position: fixed;
  top: 11px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
  width: 100%;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 4%;
  box-sizing: border-box;
  pointer-events: none;
}
@media only screen and (min-width: 1024px) {
  .l-header__nav {
    display: none;
  }
}
.l-header__nav > * {
  pointer-events: auto;
}

/*=================================
menu nav（SPハンバーガー／PC右サイド共通の構造）
===================================*/
.l-menu__nav {
  width: 100%;
}
.l-menu__nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.l-menu__nav a {
  display: block;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  font-size: 16px;
  padding: 11px 0;
  line-height: 1;
  border-bottom: 1px solid #ed98b2;
  letter-spacing: 0.05em;
}
.l-menu__nav .has-child ul li a {
  font-size: 18px;
}
.l-menu__nav ul ul {
  border-bottom: 1px solid #ed98b2;
}
.l-menu__nav ul ul a {
  font-family: "Noto Sans JP", "游ゴシック", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-weight: 500;
  font-size: 16px;
  padding: 8px 0 8px 25px;
  border: none;
  position: relative;
  line-height: 1;
  opacity: 0.9;
  letter-spacing: 0.05em;
}
.l-menu__nav ul ul a::before {
  position: absolute;
  width: 10px;
  height: 11px;
  left: 3px;
  top: 50%;
  transform: translateY(-50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  content: "";
  background-color: #fff;
}
.l-menu__nav ul ul li:not(:last-of-type) a {
  border-bottom: 2px dotted #ffd4d6;
}
.l-menu__nav li.is-double {
  display: flex;
  align-items: center;
  gap: 8px;
}
.l-menu__nav li.is-double a {
  font-size: 16px;
  border-bottom: none;
  text-decoration: underline;
  text-decoration-color: #ffd4d6;
  text-decoration-thickness: 1px;
  text-underline-offset: 10px;
}

/*=================================
menu（ハンバーガーの中身：全幅フェード）
===================================*/
.l-menu {
  position: fixed;
  inset: 0;
  z-index: 900;
  background-color: #f16d93;
  background-image: url(../img/bg_nav_top.webp), url(../img/bg_nav_bottom.webp);
  background-position: top right, left bottom;
  background-repeat: no-repeat;
  color: #fff;
  background-size: 140px, 104px;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.l-menu.is-open {
  opacity: 1;
  visibility: visible;
}
.l-menu__inner {
  min-height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding: 20px 23px;
}
.l-menu__logo {
  width: 183px;
  margin-bottom: 20px;
}
.l-menu .l-menu__nav a {
  font-weight: 600;
}
.l-menu .l-menu__nav a span {
  color: #ffea3a;
  font-size: 20px;
}
.l-menu .l-menu__nav .has-child ul li a span {
  font-size: 18px;
}
.l-menu .l-menu__nav li.is-double .l-menu__sns {
  margin-top: 0;
  flex-shrink: 0;
  margin-left: 25px;
}
.l-menu .l-menu__sns {
  margin-top: 25px;
}
.l-menu .l-menu__sns img {
  width: 30px;
}
.l-menu .l-menu__cta {
  margin-top: 20px;
}
.l-menu .l-menu__cta ul {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.l-menu .l-menu__cta li a {
  max-width: 400px;
  display: block;
  height: 52px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 30px;
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  position: relative;
}
.l-menu .l-menu__cta li a::after {
  width: 22px;
  height: 22px;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  content: "";
  display: block;
  background: url(../img/icon_button_wh.webp) no-repeat center/contain;
  position: absolute;
}
.l-menu .l-menu__cta li a.trial {
  border: 2px solid #ffffff;
}
.l-menu .l-menu__cta li a.line {
  background-color: #06c755;
  gap: 10px;
}
.l-menu .l-menu__cta li a.line img {
  width: 23px;
}

body.is-menu-open {
  overflow: hidden;
}
body.is-menu-open .l-content {
  z-index: 1000;
}

/*=================================
hamburger（形のみ・中身は後で）
===================================*/
.c-hamburger {
  position: relative;
  display: block;
  width: 63px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  line-height: 0;
}
.c-hamburger__blob {
  display: block;
  width: 100%;
  height: auto;
}
.c-hamburger__blob path {
  fill: #f16d93;
  transition: fill 0.3s ease;
}
.c-hamburger__bars {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50%;
  height: 20px;
}
.c-hamburger__bar {
  position: absolute;
  left: 0;
  width: 100%;
  height: 8px;
  background-color: #fff;
  transition: transform 0.3s ease, background-color 0.3s ease;
  -webkit-mask: no-repeat center/contain;
  mask: no-repeat center/contain;
}
.c-hamburger__bar--top {
  top: 0;
  -webkit-mask-image: url("../img/nav_bar_top.webp");
  mask-image: url("../img/nav_bar_top.webp");
}
.c-hamburger__bar--bottom {
  bottom: 0;
  -webkit-mask-image: url("../img/nav_bar_bottom.webp");
  mask-image: url("../img/nav_bar_bottom.webp");
}
.c-hamburger {
  /* ---- クリック時（.is-active）：ブロブ白 / バー ピンク＆バッテン ---- */
}
.c-hamburger.is-active .c-hamburger__blob path {
  fill: #fff;
}
.c-hamburger.is-active .c-hamburger__bar {
  background-color: #f16d93;
}
.c-hamburger.is-active .c-hamburger__bar--top {
  transform: translateY(6px) rotate(45deg);
}
.c-hamburger.is-active .c-hamburger__bar--bottom {
  transform: translateY(-6px) rotate(-45deg);
}

/*=================================
main
===================================*/
.l-mv {
  position: relative;
}
.l-mv__txt00 {
  width: 69.333%;
  position: absolute;
  left: 5.33333333%;
  top: 7.2%;
}
.l-mv__txt01 {
  width: 37.86666667%;
  position: absolute;
  top: 15.03%;
  left: 5.33333333%;
}
.l-mv__txt02 {
  width: 79.2%;
  position: absolute;
  left: 5.33333333%;
  top: 19.42%;
}
.l-mv__txt02::after {
  left: 0;
  position: absolute;
  bottom: -10px;
  height: 5px;
  background-color: #f57b00;
  content: "";
  width: 0;
  transition: width 0.8s ease;
}
.l-mv__txt03 {
  width: 57.86666667%;
  top: 30.22%;
  position: absolute;
  left: 5.33333333%;
}
.l-mv__txt03::after {
  left: 0;
  position: absolute;
  bottom: -10px;
  height: 5px;
  background-color: #2d8c5a;
  content: "";
  width: 0;
  transition: width 0.8s ease;
}
.l-mv__txt04 {
  width: 46.93333333%;
  position: absolute;
  left: 5.33333333%;
  top: 40.87%;
}
.l-mv__points {
  width: 96.53333333%;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  bottom: 13.78%;
  z-index: 9;
}
.l-mv__awards {
  width: 94.66666667%;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  bottom: 5%;
}

/* ページ読み込み完了（body.is-loaded）で、MVの下線を 0 → 100% に伸ばす */
.is-loaded .l-mv__txt02::after,
.is-loaded .l-mv__txt03::after {
  width: 100%;
}

/* スクロールで塊ごとにふわっとフェードイン（.p-subscription 以降・JSで付与） */
.js-fade,
.js-fade-op {
  opacity: 0;
  will-change: opacity, transform;
}
.js-fade.is-show,
.js-fade-op.is-show {
  opacity: 1;
}

.js-fade {
  transform: translateY(50px);
  transition: opacity 0.9s ease, transform 0.9s ease;
}
.js-fade.is-show {
  transform: none;
}

.js-fade-op {
  transition: opacity 0.9s ease;
}

.c-btn.js-fade-op {
  transition: opacity 0.9s ease, transform 0.3s ease, box-shadow 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .js-fade {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .js-fade-op {
    opacity: 1;
    transition: none;
  }
}
/* ピコピコ常時アニメ（タグ・PICK UPアイコン） */
.p-intro__img02 .tag,
.p-menu__content .pickup p .icon {
  transform-origin: center;
  animation: piko 1.5s ease-in-out infinite;
}

@keyframes piko {
  0%, 50%, 100% {
    transform: scale(1);
  }
  15% {
    transform: scale(1.12);
  }
  30% {
    transform: scale(0.98);
  }
  40% {
    transform: scale(1.06);
  }
}
.p-intro {
  padding: 44px 0 90px 0;
  position: relative;
}
.p-intro .ph01 {
  position: absolute;
  left: -17px;
  top: -23px;
  width: 128px;
}
.p-intro .ph02 {
  position: absolute;
  width: 184px;
  top: -55px;
  right: -55px;
}
.p-intro__bg {
  width: 100%;
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  user-select: none;
  z-index: -1;
}
.p-intro__ttl {
  width: 228px;
  margin: 0 auto;
}
.p-intro__img01 {
  margin-top: 35px;
  max-width: 325px;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.p-intro__img01 .tag {
  width: 81px;
  position: absolute;
  left: -17px;
  top: -22px;
}
.p-intro__tags {
  max-width: 230px;
  margin: 10px auto 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.p-intro__tags li {
  display: flex;
  align-items: center;
  gap: 10px;
}
.p-intro__tags li .tag {
  border: 1px solid #000;
  background-color: #fff;
  border-radius: 15px;
  font-size: 12px;
  width: 50px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
}
.p-intro__tags li .txt {
  font-size: 13px;
  font-weight: 500;
}
.p-intro__img02 {
  margin-top: 31px;
  max-width: 325px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.p-intro__img02 .tag {
  position: absolute;
  width: 102px;
  top: -23px;
  right: -33px;
}
.p-intro__img02 .ph03 {
  position: absolute;
  left: -18px;
  bottom: -2px;
  width: 72px;
}
.p-intro__list {
  margin-top: 22px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.p-intro__list li {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  width: 280px;
  height: 32px;
  margin: 0 auto;
  border-radius: 8px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-intro__list li strong {
  font-weight: 500;
  color: #2d8c5a;
}
.p-intro__list li span {
  position: relative;
}
.p-intro__list li span::before {
  width: 18px;
  height: 17px;
  top: 50%;
  transform: translateY(-50%);
  left: -24px;
  position: absolute;
  content: "";
  display: block;
  background: url(../img/icon_checkbox.webp) no-repeat center/contain;
}
.p-intro .c-btn,
.p-intro .c-btn-new {
  margin-top: 20px;
}

.p-about {
  padding-top: 53px;
  position: relative;
}
.p-about__ttl {
  max-width: 258px;
  margin: 0 auto;
}
.p-about__img01 {
  max-width: 325px;
  margin: 25px auto 0;
}
.p-about__txt {
  font-weight: 500;
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0.1em;
  margin-top: 10px;
}
.p-about__txt span {
  color: #ef657a;
}
.p-about .break {
  opacity: 0;
}
.p-about__ttl02 {
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
  text-align: center;
  font-size: 28px;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  margin-top: -110px;
}
.p-about__ttl02 span {
  color: #ef657a;
  background: linear-gradient(transparent 60%, #ffea3a 60%);
}
.p-about__ttl03 {
  background-color: #333;
  font-size: 14px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 7px;
  margin: 22px auto 0;
  font-weight: 500;
  border-radius: 25px;
  max-width: 325px;
}
.p-about__example {
  max-width: 365px;
  margin: 4px auto 0;
}
.p-about .bg-about-wrapper {
  position: relative;
  background-color: #f7f5ee;
  margin-top: 150px;
}
.p-about .bg-about-wrapper .bg-about-top {
  position: absolute;
  width: 100%;
  z-index: -1;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-99%);
}
.p-about__wrap {
  position: relative;
  background-color: #fff;
  z-index: 1;
}
.p-about__wrap .bg-wrap {
  user-select: none;
  position: absolute;
  width: 100%;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.p-about__ttl04 {
  max-width: 325px;
  margin: 30px auto 0;
}
.p-about__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
  row-gap: 18px;
}
.p-about__list li {
  width: 49%;
}
.p-about__list li:first-of-type {
  width: 100%;
}
.p-about__list li p {
  font-weight: 500;
  text-align: center;
  font-weight: 500;
  line-height: 1.5714285714;
  font-size: 14px;
  margin-top: 5px;
}
.p-about__list li p span {
  color: #f16d93;
}
.p-about__txt-bottom {
  margin: 0 auto 0;
  max-width: 252px;
  position: relative;
  z-index: 9;
  transform: translateY(35px);
}
.p-about .c-btn,
.p-about .c-btn-new {
  top: 35px;
  margin-top: 33px;
  position: relative;
  z-index: 99;
}

.p-course {
  padding-top: 110px;
  position: relative;
}
.p-course .txt-course {
  width: 18px;
  left: 0;
  top: 110px;
  position: absolute;
}
.p-course__ttl {
  max-width: 310px;
  margin: 0 auto;
}
.p-course__txt {
  text-align: center;
  line-height: 1.75;
  font-weight: 500;
  margin-top: 15px;
}
.p-course__txt span {
  color: #f57b00;
}
.p-course__note {
  font-size: 12px;
  font-weight: 500;
  color: #666666;
  margin-top: 18px;
  text-align: center;
  letter-spacing: 0.1em;
}
.p-course__note .initial {
  color: #efafb4;
}
.p-course__note .middle {
  color: #eda548;
}
.p-course__note .late {
  color: #78baa1;
}
.p-course__wrap {
  background-color: #ffffef;
  margin-top: 24px;
}
.p-course__wrap .l-container {
  padding: 0 25px;
}
.p-course__wrap-ttl {
  background-color: #333;
  color: #fff;
  font-size: 14px;
  padding: 7px;
  transform: translateY(-50%);
  line-height: 1;
  border-radius: 20px;
  text-align: center;
  max-width: 325px;
  margin: 0 auto;
  font-weight: 500;
}
.p-course__wrap-list li {
  padding: 23px 0;
}
.p-course__wrap-list li:not(:last-of-type) {
  border-bottom: 1px solid #e6e6e6;
}
.p-course__wrap-list li h3 {
  font-size: 20px;
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
}
.p-course__wrap-list li .tags {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 4px;
  margin-top: 10px;
}
.p-course__wrap-list li .tags span {
  padding: 5px;
  border-radius: 6px;
  text-align: center;
  color: #fff;
  font-size: 12px;
  background-color: gray;
  font-weight: 500;
}
.p-course__wrap-list li .tags .initial {
  background-color: #efafb4;
}
.p-course__wrap-list li .tags .middle {
  background-color: #eda548;
}
.p-course__wrap-list li .tags .late {
  background-color: #78baa1;
}
.p-course__outro {
  color: #fff;
  padding: 15px 0;
  position: relative;
  background-color: #249989;
}
.p-course__outro .illust01 {
  position: absolute;
  width: 99px;
  top: -60px;
  right: 25px;
}
.p-course__outro .illust02 {
  position: absolute;
  width: 54px;
  right: 22px;
  bottom: -18px;
}
.p-course__outro .l-container {
  max-width: 330px;
}
.p-course__outro-img {
  width: 158px;
}
.p-course__outro-txt {
  padding-left: 128px;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.73333333;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.p-course__outro-txt span {
  color: #ffea3a;
}

.p-menu {
  padding-top: 55px;
}
.p-menu__ttl {
  max-width: 313px;
  margin: 0 auto;
}
.p-menu__txt {
  margin-top: 20px;
  line-height: 1.75;
  font-weight: 500;
  text-align: center;
}
.p-menu__tabs {
  margin-top: 30px;
  gap: 5px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  height: 42px;
  border-bottom: 3px solid #dddddd;
  transition: border-bottom-color 0.2s ease;
  color: #333;
}
.p-menu__tabs:has(.p-menu__tab--05.is-active) {
  border-bottom-color: #f16d93;
}
.p-menu__tabs:has(.p-menu__tab--06.is-active) {
  border-bottom-color: #d74141;
}
.p-menu__tabs:has(.p-menu__tab--07.is-active) {
  border-bottom-color: #f57b00;
}
.p-menu__tabs:has(.p-menu__tab--08.is-active) {
  border-bottom-color: #72ad00;
}
.p-menu__tabs:has(.p-menu__tab--09.is-active) {
  border-bottom-color: #2d8c5a;
}
.p-menu__tabs:has(.p-menu__tab--10.is-active) {
  border-bottom-color: #249989;
}
.p-menu__tab {
  border-radius: 6px 6px 0 0;
  border: none;
  outline: none;
  background-color: #dddddd;
  padding: 0;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  color: #333;
}
.p-menu__tab.is-active {
  color: #fff;
}
.p-menu__tab--05.is-active {
  background-color: #f16d93;
}
.p-menu__tab--06.is-active {
  background-color: #d74141;
}
.p-menu__tab--07.is-active {
  background-color: #f57b00;
}
.p-menu__tab--08.is-active {
  background-color: #72ad00;
}
.p-menu__tab--09.is-active {
  background-color: #2d8c5a;
}
.p-menu__tab--10.is-active {
  background-color: #249989;
}
.p-menu__content {
  display: none;
  padding-top: 20px;
  padding-bottom: 55px;
  --menu-color: #ddd;
}
.p-menu__content.is-active {
  display: block;
}
.p-menu__content--05 {
  background-color: #fcf2f4;
  --menu-color: #f16d93;
}
.p-menu__content--05 .icon {
  width: 84px;
  top: -70px;
  right: -15px;
}
.p-menu__content--06 {
  background-color: #f9f2f2;
  --menu-color: #d74141;
}
.p-menu__content--06 .icon {
  width: 87px;
  top: -80px;
  right: 0px;
}
.p-menu__content--07 {
  background-color: #fff7f0;
  --menu-color: #f57b00;
}
.p-menu__content--07 .icon {
  width: 106px;
  top: -70px;
  right: 15px;
}
.p-menu__content--08 {
  background-color: #f8f9f4;
  --menu-color: #72ad00;
}
.p-menu__content--08 .icon {
  width: 99px;
  right: 15px;
  top: -75px;
}
.p-menu__content--09 {
  background-color: #f5f7f5;
  --menu-color: #2d8c5a;
}
.p-menu__content--09 .icon {
  width: 121px;
  top: -80px;
  right: 10px;
}
.p-menu__content--10 {
  background-color: #f4f4f4;
  --menu-color: #249989;
}
.p-menu__content--10 .icon {
  width: 106px;
  top: -75px;
  right: 15px;
}
.p-menu__content .l-container {
  padding: 0 20px;
}
.p-menu__content .ttl-wrap {
  display: flex;
  align-items: flex-end;
  gap: 13px;
}
.p-menu__content .ttl-wrap h3 {
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
  color: var(--menu-color);
}
.p-menu__content .ttl-wrap h3 .num {
  font-size: 45px;
}
.p-menu__content .ttl-wrap h3 .month {
  font-size: 23px;
}
.p-menu__content .ttl-wrap h3 .txt {
  font-size: 26px;
}
.p-menu__content .ttl-wrap .txt-wrap {
  font-weight: 500;
}
.p-menu__content .ttl-wrap .txt-wrap span {
  display: inline-block;
  background-color: var(--menu-color);
  padding: 4px 15px 5px 15px;
  line-height: 1;
  border-radius: 20px;
  color: #fff;
  font-size: 14px;
}
.p-menu__content .ttl-wrap .txt-wrap p {
  font-size: 14px;
}
.p-menu__content .img01 {
  margin-top: 10px;
}
.p-menu__content .img02 {
  margin-top: 15px;
}
.p-menu__content .txt01 {
  font-size: 14px;
  line-height: 1.7142857143;
  letter-spacing: 0;
  font-weight: 500;
  margin-top: 15px;
}
.p-menu__content .c-marquee {
  margin-top: 18px;
}
.p-menu__content .pickup {
  margin-top: 50px;
  padding: 22px 0;
  background-color: #fff;
  position: relative;
}
.p-menu__content .pickup h3 {
  background-color: var(--menu-color);
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Jost", sans-serif;
  line-height: 1;
  font-size: 14px;
  transform: translateY(-50%);
  padding: 4px 24px;
  border-radius: 0 15px 15px 0;
  color: #fff;
}
.p-menu__content .pickup h4 {
  font-size: 18px;
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
  color: var(--menu-color);
}
.p-menu__content .pickup p {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.7142857143;
  font-weight: 500;
  position: relative;
}
.p-menu__content .pickup p .icon {
  display: block;
  position: absolute;
}

.p-subscription {
  padding: 54px 0 50px 0;
  background: url(../img/bg_subscription.webp) no-repeat center/cover;
}
.p-subscription .l-container {
  padding: 0 25px;
}
.p-subscription__box {
  background-color: #fff;
  border-radius: 10px;
  padding: 20px 18px;
}
.p-subscription__box-ttl {
  display: flex;
  align-items: center;
  gap: 12px;
}
.p-subscription__box-ttl .icon {
  width: 26px;
  display: block;
}
.p-subscription__box-ttl .main {
  display: block;
  color: #249989;
  font-size: 28px;
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
  line-height: 1.4285714286;
}
.p-subscription__box-txt {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.7142857143;
  margin-top: 10px;
}
.p-subscription__box-txt span {
  color: #249989;
}
.p-subscription__list {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  z-index: 1;
}
.p-subscription__list li {
  display: flex;
  justify-content: space-between;
}
.p-subscription__list li .img-wrap {
  width: 150px;
}
.p-subscription__list li .txt-wrap {
  position: relative;
  padding-left: 11px;
  width: calc(100% - 150px);
  padding-top: 8px;
}
.p-subscription__list li .txt-wrap h3 {
  line-height: 1;
  line-height: 1.8125;
}
.p-subscription__list li .txt-wrap h3 span {
  background-color: #249989;
  font-weight: 500;
  color: #fff;
  padding: 0 8px 2px;
  line-height: 1;
}
.p-subscription__list li .txt-wrap h3 span strong {
  font-weight: 500;
  color: #ffea3a;
}
.p-subscription__list li .txt-wrap p {
  font-size: 14px;
  line-height: 1.5714285714;
  margin-top: 6px;
  position: relative;
}
.p-subscription__list li .txt-wrap .num {
  font-size: 75px;
  font-family: "Jost", sans-serif;
  color: #fffcdc;
  line-height: 1;
  right: 0;
  bottom: -20px;
  position: absolute;
  z-index: -1;
}
.p-subscription__ttl02 {
  margin-top: 30px;
  max-width: 325px;
  margin-left: auto;
  margin-right: auto;
}
.p-subscription__txt {
  font-weight: 600;
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.7142857143;
}
.p-subscription__txt span {
  color: #d74141;
}

.p-strong01 {
  padding-top: 63px;
  background: #f7f5ee url(../img/bg_string01_top.webp) no-repeat top center/100%;
}
.p-strong01 .l-container {
  padding: 0 23px;
}
.p-strong01__ttl {
  max-width: 270px;
  margin: 0 auto;
}
.p-strong01__txt {
  font-size: 16px;
  margin-top: 20px;
  line-height: 1.75;
  font-weight: 500;
}
.p-strong01__ttl02 {
  max-width: 316px;
  margin: 30px auto 0;
}
.p-strong01__list {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}
.p-strong01__list li {
  text-align: center;
}
.p-strong01__list li h4 {
  font-size: 16px;
  font-weight: bold;
  color: #2d8c5a;
  margin-top: 10px;
  line-height: 1.5;
}
.p-strong01__list li p {
  font-size: 14px;
  font-weight: 500;
  margin-top: 10px;
  line-height: 1.7142857143;
}
.p-strong01__bottom {
  padding: 20px 24px;
  background-color: #333;
  color: #fff;
  margin-top: 24px;
}
.p-strong01__bottom li {
  padding-left: 27px;
  line-height: 2.0666666667;
  font-weight: 500;
  letter-spacing: 0;
  white-space: nowrap;
  position: relative;
}
.p-strong01__bottom li::before {
  position: absolute;
  content: "";
  width: 18px;
  height: 17px;
  background: url(../img/icon_checkbox_yellow.webp) no-repeat center/contain;
  left: 0;
  top: 10px;
}
.p-strong01__bottom li span {
  color: #ffea3a;
}

.p-point02 {
  padding: 63px 0 110px 0;
  background: url(../img/bg_point02.webp) no-repeat center/cover;
}
.p-point02 .l-container {
  padding: 0 23px;
}
.p-point02__ttl {
  max-width: 343px;
  margin: 0 auto;
}
.p-point02__txt {
  line-height: 1.75;
  font-weight: 500;
  margin-top: 24px;
  letter-spacing: 0.05em;
  font-size: 16px;
}
.p-point02__txt span {
  color: #249989;
}
.p-point02__list {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 50px;
}
.p-point02__list li:nth-of-type(odd) h3 span {
  color: #f16d93;
}
.p-point02__list li:nth-of-type(odd) p span {
  color: #f16d93;
}
.p-point02__list li:nth-of-type(even) h3 span {
  color: #249989;
}
.p-point02__list li:nth-of-type(even) p span {
  color: #249989;
}
.p-point02__list li h3 {
  position: relative;
  padding-left: 70px;
  font-size: 20px;
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
  letter-spacing: 0.1em;
}
.p-point02__list li h3 .icon {
  position: absolute;
  width: 60px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.p-point02__list li .img {
  margin-top: 10px;
}
.p-point02__list li p {
  margin-top: 15px;
  font-size: 14px;
  line-height: 1.7142857143;
  font-weight: 500;
}

.p-point02-box {
  background-color: #249989;
  color: #fff;
  border-radius: 10px;
  text-align: center;
  padding: 15px;
  max-width: 325px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-top: -67px;
}
.p-point02-box .ph {
  position: absolute;
  top: -80px;
  right: -80px;
  width: 210px;
  user-select: none;
}
.p-point02-box p {
  font-size: 15px;
  line-height: 1.8;
  font-weight: 500;
}
.p-point02-box p span {
  font-size: 18px;
  color: #ffea3a;
  letter-spacing: 0.1em;
}

.p-point03 {
  padding: 73px 0 93px 0;
  background: #f7f5ee url(../img/bg_point03.webp) no-repeat center top/100%;
}
.p-point03 .l-container {
  padding: 0 23px;
}
.p-point03__ttl {
  max-width: 275px;
  margin: 0 auto;
}
.p-point03__txt {
  font-weight: 500;
  line-height: 1.75;
  margin-top: 25px;
  font-size: 16px;
}
.p-point03__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 30px;
  max-width: 270px;
  margin-left: auto;
  margin-right: auto;
}
.p-point03__list li {
  gap: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-point03__list li:last-of-type .img-wrap::after {
  display: none;
}
.p-point03__list li .img-wrap {
  width: 120px;
  position: relative;
}
.p-point03__list li .img-wrap::after {
  position: absolute;
  bottom: -16px;
  width: 16px;
  height: 10px;
  background-color: #4a996e;
  content: "";
  display: block;
  left: 50%;
  transform: translateX(-50%);
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.p-point03__list li .txt-wrap {
  width: calc(100% - 120px);
}
.p-point03__list li .txt-wrap .en {
  display: block;
  font-family: "Jost", sans-serif;
  color: #4a996e;
  font-size: 16px;
  font-weight: 600;
}
.p-point03__list li .txt-wrap p {
  margin-top: 10px;
  letter-spacing: 0.1em;
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
  font-size: 20px;
  line-height: 1.5;
}

.p-point03-box {
  background-color: #e56d00;
  color: #fff;
  border-radius: 10px;
  text-align: center;
  padding: 20px;
  max-width: 325px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-top: -60px;
}
.p-point03-box .ph {
  position: absolute;
  bottom: -95px;
  left: -105px;
  width: 248px;
  user-select: none;
}
.p-point03-box p {
  font-size: 15px;
  line-height: 1.8;
  font-weight: 500;
}
.p-point03-box p span {
  font-size: 18px;
  color: #ffea3a;
  letter-spacing: 0.1em;
}

.p-step {
  padding: 50px 0 76px 0;
}
.p-step .l-container {
  padding: 0 25px;
}
.p-step__ttl {
  max-width: 243px;
  margin: 0 auto;
}
.p-step__list {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-top: 25px;
}
.p-step__list li {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-step__list li:last-of-type .num::after {
  display: none;
}
.p-step__list li .num {
  width: 73px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../img/bg_step_num.webp) no-repeat center/contain;
  font-size: 40px;
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
  line-height: 1;
  color: #fff;
  position: relative;
}
.p-step__list li .num::after {
  width: 3px;
  height: 50px;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  content: "";
  background-color: #efafb4;
}
.p-step__list li .txt-wrap {
  padding-left: 11px;
  width: calc(100% - 73px);
}
.p-step__list li .txt-wrap h3 {
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
}
.p-step__list li .txt-wrap h3 span {
  color: #f16d93;
}
.p-step__list li .txt-wrap p {
  font-size: 14px;
  line-height: 1.7142857143;
  font-weight: 500;
}
.p-step__box {
  background-color: #f4eff1;
  border-radius: 10px;
  padding: 42px 22px;
  margin-top: 20px;
}
.p-step__box-ttl {
  max-width: 235px;
  margin: 0 auto;
}
.p-step__box-img {
  margin: 20px;
}
.p-step__box-txt {
  font-size: 14px;
  font-weight: 500;
  margin-top: 15px;
  line-height: 1.7142857143;
}
.p-step__box-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 15px;
}
.p-step__box-list li {
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  height: 32px;
  gap: 6px;
}
.p-step__box-list li .icon {
  display: block;
  width: 18px;
}
.p-step__box-list li .txt {
  display: block;
  font-weight: 500;
}
.p-step__box-list li .txt span {
  color: #d74141;
}

.p-trial .p-intro__bg {
  top: 0;
  bottom: 0;
  height: auto;
}
.p-trial .p-intro__bg img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}
.p-trial .p-intro__ttl {
  max-width: 295px;
}
.p-trial__subttl {
  left: 50%;
  width: 140px;
  height: 30px;
  letter-spacing: 0.1em;
  background-color: #f57b00;
  border-radius: 20px;
  transform: translateX(-50%) translateY(-50%);
  top: 0;
  position: absolute;
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
  line-height: 1;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-trial__txt {
  text-align: center;
  font-size: 16px;
  margin-top: 15px;
  line-height: 1.75;
  font-weight: 500;
}

.p-feeling {
  padding: 54px 0 107px 0;
}
.p-feeling .l-container {
  padding: 0 20px;
}
.p-feeling__txt {
  font-size: 16px;
  line-height: 1.75;
  font-weight: 500;
  margin-top: 20px;
  padding-left: 5px;
  padding-right: 5px;
}
.p-feeling__ttl {
  max-width: 297px;
  margin: 0 auto;
}
.p-feeling__list {
  max-width: 345px;
  margin: 20px auto 0;
}
.p-feeling__list li:nth-of-type(1) .txt {
  background: url(../img/bg_feeling01.webp) no-repeat center top/100%;
  height: 138px;
}
.p-feeling__list li:nth-of-type(2) .txt {
  background: url(../img/bg_feeling02.webp) no-repeat center top/100%;
  height: 105px;
}
.p-feeling__list li:nth-of-type(3) .txt {
  background: url(../img/bg_feeling03.webp) no-repeat center top/100%;
  height: 108px;
}
.p-feeling__list li:nth-of-type(4) .txt {
  background: url(../img/bg_feeling04.webp) no-repeat center top/100%;
  height: 106px;
}
.p-feeling__list li .txt {
  padding: 15px 30px;
}
.p-feeling__list li .txt p {
  font-size: 14px;
  line-height: 1.7142857143;
  color: #fff;
}
.p-feeling__txt-bottom {
  max-width: 262px;
  margin: 40px auto 0;
}

.p-kodawari {
  position: relative;
  background-color: #fff0f3;
  padding-bottom: 50px;
}
.p-kodawari .l-container {
  padding: 0 25px;
}
.p-kodawari .bg {
  position: absolute;
  z-index: -1;
  user-select: none;
  left: 50%;
  transform: translateX(-50%) translateY(-99%);
  top: 0;
  width: 100%;
}
.p-kodawari__ttl {
  max-width: 210px;
  margin: 0 auto;
}
.p-kodawari__txt {
  font-size: 16px;
  line-height: 1.75;
  font-weight: 500;
  margin-top: 25px;
}
.p-kodawari__txt span {
  color: #ef657a;
}
.p-kodawari__list {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.p-kodawari__list .txt {
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  font-size: 14px;
  line-height: 1.7142857143;
  font-weight: 500;
  margin-top: 15px;
}

.p-sozai {
  padding: 35px 0 70px 0;
}
.p-sozai .l-container {
  padding: 0 25px;
}
.p-sozai__ttl {
  max-width: 334px;
  margin: 0 auto;
}
.p-sozai__img01 {
  max-width: 325px;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
}
.p-sozai__img02 {
  margin-top: 15px;
  margin-left: auto;
  margin-right: auto;
  max-width: 325px;
}
.p-sozai__txt {
  font-size: 16px;
  line-height: 1.75;
  margin-top: 15px;
  font-weight: 500;
}
.p-sozai__txt span {
  color: #2d8c5a;
}

.p-message {
  background-color: #f7f5ee;
  padding-bottom: 50px;
}
.p-message .l-container {
  padding: 0 25px;
}
.p-message__ttl {
  max-width: 268px;
  margin: 0 auto;
  transform: translateY(-35px);
}
.p-message__flex {
  display: flex;
  align-items: center;
}
.p-message__flex .img {
  width: 97px;
}
.p-message__flex .txt {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8666666667;
  padding-left: 14px;
  width: calc(100% - 97px);
}
.p-message__flex .txt span {
  color: #2d8c5a;
  font-weight: bold;
}
.p-message__name {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  line-height: 1;
  font-size: 12px;
  margin-top: 22px;
  font-weight: 500;
  background-color: #333;
  border-radius: 20px;
  height: 30px;
}
.p-message__txt {
  font-size: 14px;
  line-height: 1.7142857143;
  font-weight: 500;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  margin-top: 18px;
}
.p-message__txt span {
  color: #2d8c5a;
}

.p-management {
  padding-top: 40px;
  position: relative;
}
.p-management .en {
  user-select: none;
  width: 65px;
  left: 0;
  top: 0;
  position: absolute;
  z-index: -1;
}
.p-management .l-container {
  padding: 0 25px;
}
.p-management__ttl {
  max-width: 254px;
  margin: 0 auto;
}
.p-management__img {
  margin-top: 20px;
}
.p-management__list {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.p-management__list li {
  display: flex;
  justify-content: space-between;
  position: relative;
}
.p-management__list li::before {
  content: "";
  display: block;
  width: 86.6%;
  height: 187px;
  background-color: #ddd;
  position: absolute;
  right: -25px;
  bottom: 0;
  z-index: -1;
}
.p-management__list li:nth-of-type(odd)::before {
  background-color: #e6fcf2;
}
.p-management__list li:nth-of-type(odd) .txt-wrap h3 span {
  text-decoration-color: #249989;
  color: #249989;
}
.p-management__list li:nth-of-type(even) {
  flex-direction: row-reverse;
}
.p-management__list li:nth-of-type(even)::before {
  background-color: #ffefe1;
  right: auto;
  left: -25px;
}
.p-management__list li:nth-of-type(even) .txt-wrap {
  padding-left: 0;
  padding-right: 19px;
}
.p-management__list li:nth-of-type(even) .txt-wrap h3 span {
  text-decoration-color: #f57b00;
  color: #f57b00;
}
.p-management__list li .img {
  width: 33.8%;
}
.p-management__list li .txt-wrap {
  width: 66.2%;
  padding-left: 20px;
  padding-bottom: 35px;
}
.p-management__list li .txt-wrap h3 {
  font-size: 20px;
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
  line-height: 1.65;
  letter-spacing: 0.1em;
}
.p-management__list li .txt-wrap h3 span {
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 2px;
}
.p-management__list li .txt-wrap p {
  letter-spacing: 0;
  font-size: 14px;
  line-height: 1.7142857143;
  font-weight: 500;
  margin-top: 15px;
}

.p-reason01 {
  padding-top: 67px;
  padding-bottom: 45px;
}
.p-reason01 .l-container {
  padding: 0 25px;
}
.p-reason01__ttl {
  max-width: 227px;
  margin: 0 auto;
}
.p-reason01__img01 {
  margin-top: 28px;
  position: relative;
  z-index: 9;
}
.p-reason01__txt01 {
  background-color: #f7f5ee;
  padding-top: 60px;
  padding-bottom: 25px;
  margin-top: -42px;
}
.p-reason01__txt01 p {
  font-size: 14px;
  line-height: 1.7142857143;
  font-weight: 500;
}
.p-reason01__txt01 p span {
  color: #ef657a;
}
.p-reason01__txt02 {
  font-size: 16px;
  line-height: 1.75;
  font-weight: 500;
  margin-top: 22px;
}
.p-reason01__txt02 span {
  color: #ef657a;
}
.p-reason01__img02 {
  margin-top: 15px;
}
.p-reason01__txt03 {
  text-align: center;
  margin-top: 25px;
}
.p-reason01__txt03 h3 {
  max-width: 308px;
  margin: 0 auto;
}
.p-reason01__txt03 p {
  font-size: 14px;
  line-height: 1.7142857143;
  margin-top: 10px;
  font-weight: 500;
}

.p-reason02 {
  background-color: #f7f5ee;
  padding: 60px 0 97px 0;
}
.p-reason02 .l-container {
  padding: 0 25px;
}
.p-reason02__ttl {
  max-width: 263px;
  margin: 0 auto;
}
.p-reason02__img {
  margin-top: 25px;
}
.p-reason02__txt {
  font-weight: 500;
  line-height: 1.75;
  margin-top: 20px;
}
.p-reason02__txt span {
  color: #f57b00;
}
.p-reason02__list {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  gap: 50px;
}
.p-reason02__list li:nth-of-type(odd) h3 span {
  color: #2d8c5a;
}
.p-reason02__list li:nth-of-type(odd) p span {
  color: #2d8c5a;
}
.p-reason02__list li:nth-of-type(even) h3 span {
  color: #f57b00;
}
.p-reason02__list li:nth-of-type(even) p span {
  color: #f57b00;
}
.p-reason02__list li h3 {
  position: relative;
  padding-left: 70px;
  font-size: 20px;
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
  letter-spacing: 0.1em;
}
.p-reason02__list li h3 .icon {
  position: absolute;
  width: 60px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.p-reason02__list li .img {
  margin-top: 10px;
}
.p-reason02__list li p {
  margin-top: 15px;
  font-size: 14px;
  line-height: 1.7142857143;
  font-weight: 500;
}

.p-reason02-box {
  background-color: #e56d00;
  color: #fff;
  border-radius: 10px;
  text-align: center;
  padding: 13px;
  max-width: 325px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-top: -75px;
}
.p-reason02-box .ph {
  position: absolute;
  top: -95px;
  right: -120px;
  width: 295px;
  user-select: none;
}
.p-reason02-box p {
  font-size: 15px;
  line-height: 1.8;
  font-weight: 500;
}
.p-reason02-box p span {
  font-size: 18px;
  color: #ffea3a;
  letter-spacing: 0.1em;
}

.p-important {
  background-color: #fff0f2;
  margin-top: 120px;
  padding-bottom: 45px;
}
.p-important__ttl {
  transform: translateY(-60px);
  max-width: 308px;
  margin: 0 auto;
}
.p-important__list {
  margin-top: -25px;
}
.p-important__list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-important__list li:not(:last-of-type) {
  border-bottom: 1px solid #e5ccd6;
  padding-bottom: 25px;
}
.p-important__list li:not(:first-of-type) {
  padding-top: 25px;
}
.p-important__list li .img {
  width: 100px;
}
.p-important__list li .txt-wrap {
  padding-left: 12px;
  width: calc(100% - 100px);
}
.p-important__list li .txt-wrap h3 {
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
  font-size: 20px;
  line-height: 1.5;
}
.p-important__list li .txt-wrap h3 span {
  color: #ef657a;
  letter-spacing: 0.1em;
}
.p-important__list li .txt-wrap p {
  font-size: 14px;
  line-height: 1.7142857143;
  margin-top: 5px;
}

.p-voice {
  padding: 50px 0 75px 0;
}
.p-voice .l-container {
  padding: 0 25px;
}
.p-voice__ttl {
  max-width: 191px;
  margin: 0 auto;
}
.p-voice__list {
  margin-top: 30px;
  display: flex;
  gap: 10px;
  flex-direction: column;
}
.p-voice__list li {
  background-color: #fcfbe8;
  border-radius: 10px;
}
.p-voice__list li .head {
  border-bottom: 1px solid #eadfc5;
  padding: 12px 16px;
  display: flex;
  gap: 15px;
  align-items: center;
}
.p-voice__list li .head .icon {
  width: 80px;
}
.p-voice__list li .head h3 {
  letter-spacing: 0.04em;
  font-size: 20px;
  white-space: nowrap;
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
}
.p-voice__list li .head .stars {
  width: 130px;
}
.p-voice__list li .txt {
  padding: 15px 22px;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 500;
}

.p-media {
  background-color: #f7f5ee;
  padding: 56px 0 87px 0;
}
.p-media .l-container {
  padding: 0 20px;
}
.p-media__ttl {
  max-width: 338px;
  margin: 0 auto;
}
.p-media__txt {
  line-height: 1.75;
  font-size: 16px;
  margin-top: 20px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.p-media__swiper {
  margin-top: 35px;
}
.p-media__swiper .swiper-slide {
  width: 200px;
}

.p-instagram {
  padding: 74px 0 124px 0;
}
.p-instagram .l-container {
  padding: 0 25px;
}
.p-instagram__ttl {
  max-width: 238px;
  margin: 0 auto;
}
.p-instagram__txt {
  font-size: 16px;
  margin-top: 30px;
  line-height: 1.75;
  font-weight: 500;
}
.p-instagram__grid {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}
.p-instagram__grid a {
  display: block;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.p-instagram__grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.2s ease;
}
.p-instagram__grid a:hover img {
  opacity: 0.8;
}
.p-instagram .c-btn,
.p-instagram .c-btn-new {
  margin-top: 18px;
}

.p-faq {
  padding-bottom: 60px;
  background-color: #f2f2f2;
}
.p-faq__ttl {
  transform: translateY(-56px);
  max-width: 208px;
  margin: 0 auto;
}
.p-faq__list {
  margin-top: -40px;
}
.p-faq__item {
  border-bottom: 1px solid #cccccc;
  padding: 20px 0;
}
.p-faq__q {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  letter-spacing: 0.1em;
  font-family: "CorpRound Web", Noto Sans JP, 游ゴシック, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif;
  font-size: 20px;
  padding-right: 45px;
  position: relative;
  line-height: 1.5;
}
.p-faq__q::after {
  width: 16px;
  height: 16px;
  background: url(../img/icon_faq_open.webp) no-repeat center/contain;
  position: absolute;
  right: 0;
  top: 8px;
  content: "";
  display: block;
}
.p-faq__q span {
  color: #249989;
}
.p-faq__item.is-open .p-faq__q::after {
  background-image: url(../img/icon_faq_close.webp);
}
.p-faq__a {
  display: none;
  font-size: 14px;
  line-height: 1.7142857143;
  font-weight: 500;
  margin-top: 10px;
}

.p-form {
  position: relative;
  z-index: 10;
  padding-top: 47px;
  padding-bottom: 44px;
}
.p-form__ttl {
  margin-bottom: 27px;
  max-width: 278px;
  margin: 0 auto;
}

.l-footer {
  padding-top: 160px;
  position: relative;
  margin-top: 46px;
}
.l-footer .l-container {
  max-width: 290px;
}
.l-footer__top {
  background-color: #f7f5ee;
  position: relative;
  padding-bottom: 70px;
}
.l-footer__top .bg_top {
  position: absolute;
  width: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(-99%);
  top: 0;
  user-select: none;
  pointer-events: none;
}
.l-footer__top .bg_right {
  width: 71px;
  right: 0;
  z-index: 9;
  user-select: none;
  bottom: -35px;
  position: absolute;
  pointer-events: none;
}
.l-footer__top .bg_left {
  width: 52px;
  position: absolute;
  user-select: none;
  left: 0;
  bottom: 0;
  pointer-events: none;
}
.l-footer__bottom {
  background-color: #333;
  padding-bottom: 10px;
  position: relative;
}
.l-footer__bottom .bg_bottom {
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(-99%);
  width: 100%;
  user-select: none;
  top: 0;
}
.l-footer .l-container {
  position: relative;
  z-index: 9;
}
.l-footer .break {
  opacity: 0;
  user-select: none;
}
.l-footer__logo {
  max-width: 254px;
  margin-left: auto;
  margin-right: auto;
  margin-top: -65px;
}
.l-footer__txt {
  font-weight: 600;
  font-size: 28px;
  line-height: 1.6428571429;
  white-space: nowrap;
  letter-spacing: 0.05em;
  margin-top: 20px;
}
.l-footer__txt span {
  color: #ef657a;
  background-color: #fff;
  padding: 3px 6px 4px 6px;
  line-height: 1;
  margin-right: 4px;
  display: inline-block;
}
.l-footer__nav ul {
  display: flex;
  flex-wrap: wrap;
  row-gap: 15px;
}
.l-footer__nav ul li {
  width: 50%;
}
.l-footer__nav ul li:first-of-type {
  width: 100%;
}
.l-footer__nav ul li:nth-of-type(2) {
  width: 100%;
}
.l-footer__nav ul li a {
  color: #fff;
  letter-spacing: 0.1em;
  font-size: 14px;
  font-weight: 500;
}
.l-footer .copyright {
  color: #cccccc;
  font-size: 11px;
  letter-spacing: 0.1em;
  font-weight: 500;
  display: block;
  margin-top: 30px;
  text-align: center;
  width: 100%;
  white-space: nowrap;
}

@keyframes btn-shine {
  0% {
    transform: translateX(-180%) skewX(-20deg);
    opacity: 0;
  }
  3% {
    opacity: 1;
  }
  20% {
    transform: translateX(320%) skewX(-20deg);
    opacity: 0;
  }
  100% {
    transform: translateX(320%) skewX(-20deg);
    opacity: 0;
  }
}
/* =========================================================
   スマポンシブ レイアウト
   中央 375px 固定 ／ PC(768px〜) で左右サイドを固定表示
   ========================================================= */
/* 中央コンテンツ：〜449pxは全幅／450px以上は375pxで中央固定（伸ばさない） */
.l-content {
  position: relative;
  width: 100%;
  margin: 0 auto;
  background: #fff;
  min-height: 100vh;
  z-index: 1;
}
@media only screen and (max-width: 449px) {
  .l-content {
    overflow-x: hidden;
  }
}
@media only screen and (min-width: 450px) {
  .l-content {
    max-width: 375px;
  }
}

/* 左右サイド：SPでは非表示 */
.l-side {
  display: none;
}

/* PC（768px〜）：左右サイドを画面に固定表示 */
@media only screen and (min-width: 1024px) {
  .l-side {
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    width: calc((100% - 375px) / 2);
    overflow-y: auto;
    box-sizing: border-box;
    padding: 40px 30px;
    background: #f7f5ee;
    z-index: 0;
  }
  .l-side--left {
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #f7f5ee;
    background-image: url("../img/bg_lefttop.webp"), url("../img/bg_leftbottom.webp");
    background-position: left top, left bottom;
    background-repeat: no-repeat;
    background-size: 304px auto, 318px auto;
  }
  .l-side--left .l-side__logo {
    width: 306px;
    margin: 0 0 40px;
    font: inherit;
  }
  .l-side--left .l-side__btns {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 22px;
  }
  .l-side--left .l-side__btns .c-btn,
  .l-side--left .l-side__btns .c-btn-new {
    max-width: 340px;
    height: 73px;
    width: 100%;
  }
  .l-side--left .l-side__btns .c-btn-line .txt {
    margin-top: 0;
  }
  .l-side--left .l-side__btns .c-btn-line .icon {
    top: 50%;
    transform: translateY(-50%);
  }
  .l-side--right {
    right: 0;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #f7f5ee;
    background-image: url("../img/bg_righttop.webp"), url("../img/bg_rightbottom.webp");
    background-position: right top, right bottom;
    background-repeat: no-repeat;
    background-size: 229px auto, 267px auto;
  }
  /* 右サイドのメニュー：共通(.l-menu__nav)を継承し、色/サイズだけPC用に上書き */
  .l-side--right .l-menu__nav {
    max-width: 391px;
    margin: 0 auto;
  }
  .l-side--right .l-menu__nav a {
    color: #333333;
    padding: 25px 0;
    font-size: 22px;
    border-bottom-color: #cccccc;
  }
  .l-side--right .l-menu__nav .has-child > a {
    border-bottom: none;
  }
  .l-side--right .l-menu__nav .has-child ul {
    padding-bottom: 15px;
  }
  .l-side--right .l-menu__nav ul ul {
    border-bottom-color: #cccccc;
  }
  .l-side--right .l-menu__nav ul ul a {
    font-size: 19px;
    padding: 10px 0 10px 20px;
  }
  .l-side--right .l-menu__nav ul ul a::before {
    background-color: #ffcb4c;
  }
  .l-side--right .l-menu__nav ul ul li:first-child a {
    padding-top: 0;
  }
  .l-side--right .l-menu__nav ul ul li:not(:last-of-type) a {
    border-bottom: none;
  }
  .l-side--right .l-menu__nav li.is-double {
    gap: 15px;
  }
  .l-side--right .l-menu__nav li.is-double .sep {
    color: #fff;
  }
  .l-side--right .l-menu__nav li.is-double a {
    font-size: 19px;
    text-decoration: none;
  }
  /* 右サイドのInstagram（ピンク版アイコン） */
  .l-side__sns {
    margin-top: 30px;
    width: 100%;
    max-width: 391px;
    margin: 20px auto 0;
  }
  .l-side__sns img {
    width: 36px;
  }
  /* サイド内サンプル要素 */
  .l-side__logo {
    font-family: "Jost", sans-serif;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 30px;
  }
  .l-side__nav ul {
    list-style: none;
    margin: 0 0 30px;
    padding: 0;
  }
  .l-side__nav li + li {
    margin-top: 12px;
  }
  .l-side__nav a {
    color: #333;
    text-decoration: none;
  }
  .l-side__text {
    font-size: 13px;
    line-height: 1.8;
    color: #888;
  }
}
/* 1024〜1159px：サイドが狭いので中身を少し小さく（適宜調整） */
@media only screen and (min-width: 1024px) and (max-width: 1159px) {
  .l-side--right .l-menu__nav a {
    font-size: 17px;
  }
  .l-side--right .l-menu__nav ul ul a,
  .l-side--right .l-menu__nav li.is-double a {
    font-size: 15px;
  }
  .l-side--left .l-side__logo {
    width: 150px;
  }
  .l-side--left .l-side__btns {
    gap: 35px;
  }
  .l-side--left .l-side__btns .c-btn,
  .l-side--left .l-side__btns .c-btn-new {
    height: 54px;
  }
  .l-side--left .l-side__btns .c-btn-line {
    height: 62px;
  }
  .l-side--left .l-side__btns .txt {
    font-size: 18px;
  }
  .l-side--left .l-side__btns .icon {
    width: 18px;
  }
}
/* ==========================================================================
   ukokkeiフォーム調整：PC表示（768px以上）でのみ適用
   ========================================================================== */
@media only screen and (min-width: 768px) {
  /* ── 1. 商品選択エリア：画像非表示、テキスト+数量のみ ── */
  #ukokkei-landing-page-form .order-item-image {
    display: none !important;
  }
  #ukokkei-landing-page-form .order-item-info {
    width: 75% !important;
    vertical-align: middle !important;
  }
  #ukokkei-landing-page-form .order-item-quantity {
    width: 25% !important;
    vertical-align: middle !important;
    text-align: right !important;
  }

  /* ── 2. お届け頻度エリア：ラベルを独立行にし段差崩れを解消 ── */
  #ukokkei-landing-page-form .frequency-period-label,
  #ukokkei-landing-page-form .shipment-frequency-lp-label {
    width: 100% !important;
    float: none !important;
    display: block !important;
    margin-bottom: 8px !important;
  }
  #ukokkei-landing-page-form .shipment-frequency-lp-options {
    width: 100% !important;
    float: none !important;
    display: block !important;
    padding-left: 0 !important;
  }
  #ukokkei-landing-page-form .shipment-frequency-lp-selectable {
    margin-left: 15px !important;
  }

  /* ── 3. 「1ヶ月ごと」固定テキストの装飾解除 ── */
  #ukokkei-landing-page-form .frequency-lp-single-select {
    background-color: transparent !important;
    padding: 0 !important;
    font-weight: bold !important;
    border: none !important;
    box-shadow: none !important;
  }

  /* ── 4. ラジオボタン：巨大青丸+✓ → 標準的な小さいラジオ ── */
  #ukokkei-landing-page-form .custom-radio-btn-label .custom-controller-representer,
  #ukokkei-landing-page-form .custom-radio-circle-label .custom-controller-representer {
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #999 !important;
    border-radius: 50% !important;
    background: #fff !important;
    background-image: none !important;
    vertical-align: middle !important;
    position: relative !important;
    display: inline-block !important;
    box-sizing: border-box !important;
  }
  #ukokkei-landing-page-form .custom-radio-btn-label .custom-controller:checked + .custom-controller-representer,
  #ukokkei-landing-page-form .custom-radio-circle-label .custom-controller:checked + .custom-controller-representer {
    border-color: #268ac4 !important;
    background: #fff !important;
    background-image: none !important;
  }
  #ukokkei-landing-page-form .custom-radio-btn-label .custom-controller:checked + .custom-controller-representer::after,
  #ukokkei-landing-page-form .custom-radio-circle-label .custom-controller:checked + .custom-controller-representer::after {
    content: "" !important;
    display: block !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: #268ac4 !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
  }

  /* ── 5. PCでBootstrap PCレイアウト誤発火を抑制 ── */
  #ukokkei-landing-page-form [class*="col-sm-"],
  #ukokkei-landing-page-form [class*="col-md-"],
  #ukokkei-landing-page-form [class*="col-lg-"] {
    float: none !important;
    width: 100% !important;
  }
  /* 姓・名の横並び（col-xs-6 + col-sm-4）は50%幅を維持 */
  #ukokkei-landing-page-form .col-xs-6[class*="col-sm-"],
  #ukokkei-landing-page-form .col-xs-6[class*="col-md-"],
  #ukokkei-landing-page-form .col-xs-6[class*="col-lg-"] {
    float: left !important;
    width: 50% !important;
  }
  /* offset リセット */
  #ukokkei-landing-page-form [class*="col-sm-offset-"],
  #ukokkei-landing-page-form [class*="col-md-offset-"],
  #ukokkei-landing-page-form [class*="col-lg-offset-"] {
    margin-left: 0 !important;
  }
  /* ラベル：ブロック・左寄せ */
  #ukokkei-landing-page-form .control-label {
    display: block !important;
    text-align: left !important;
    margin-bottom: 5px !important;
    padding-top: 0 !important;
  }
  /* 名前入力ラッパー：フル幅 */
  #ukokkei-landing-page-form .customer-info-name-input-wrapper {
    display: block !important;
    width: 100% !important;
  }
  #ukokkei-landing-page-form .customer-info-name-label-wrapper {
    display: none !important;
  }
  /* row-xs-no-margin：モバイル margin:0 を維持 */
  #ukokkei-landing-page-form .row-xs-no-margin {
    margin: 0 !important;
  }
  /* col-xs パディング：モバイル値を維持 */
  #ukokkei-landing-page-form .col-xs-p-ol-2 {
    padding-left: 2px !important;
    padding-right: 0 !important;
  }
  #ukokkei-landing-page-form .col-xs-p-or-2 {
    padding-left: 0 !important;
    padding-right: 2px !important;
  }
  #ukokkei-landing-page-form .col-xs-p-l-0 {
    padding-left: 0 !important;
  }
  #ukokkei-landing-page-form .col-xs-p-r-0 {
    padding-right: 0 !important;
  }
  /* required ラベル：モバイル表示を維持 */
  #ukokkei-landing-page-form .required-label-sp,
  #ukokkei-landing-page-form .lp-required-label-sp {
    display: inline !important;
  }
  #ukokkei-landing-page-form .required-label-pc,
  #ukokkei-landing-page-form .lp-required-label-pc {
    display: none !important;
  }
  /* form-control 全幅 */
  #ukokkei-landing-page-form .form-control {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/*# sourceMappingURL=style.css.map */
