/* ==========================================================================
  HTML UPDATE
========================================================================== */
@layer page {
  @media all and (width >= 48rem) {
    html:has([data-start-animation='true']) {
      overflow: hidden;
    }
  }
  @media all and (width < 48rem) {
    html:has([data-start-animation='true']) {
      overflow: hidden;
    }
  }
}

/* ==========================================================================
  HEADER UPDATE
========================================================================== */
@layer page {
  @media all and (width >= 48rem) {
    [data-start-animation='true'] .c-header {
      -webkit-transition: -webkit-transform 0.3s linear;
      transition: -webkit-transform 0.3s linear;
      transition: transform 0.3s linear;
      transition: transform 0.3s linear, -webkit-transform 0.3s linear;
      -webkit-transform: translateY(-100%);
      transform: translateY(-100%);
    }
    [data-start-animation='true'] .c-header.is-show {
      -webkit-transform: translateY(0);
      transform: translateY(0);
    }
  }
  @media all and (width < 48rem) {
    [data-start-animation='true'] .c-header {
      -webkit-transition: -webkit-transform 0.3s linear;
      transition: -webkit-transform 0.3s linear;
      transition: transform 0.3s linear;
      transition: transform 0.3s linear, -webkit-transform 0.3s linear;
      -webkit-transform: translateY(-100%);
      transform: translateY(-100%);
    }
    [data-start-animation='true'] .c-header.is-show {
      -webkit-transform: translateY(0);
      transform: translateY(0);
    }
  }
}

/* ==========================================================================
  MV
========================================================================== */
@layer page {
  @media all and (width >= 48rem) {
    .top-visual {
      container-type: inline-size;
    }
    .top-visual__inner {
      position: relative;
    }
    .top-visual-main {
      height: calc(860 / var(--font-size) * 1rem);
      height: min(calc(860 / var(--font-size) * 1rem), calc(860 / 1440 * 100cqw));
      overflow: hidden;
      background: url('/assets/img/top/visual_bg.jpg') center bottom no-repeat;
      background: url('/assets/img/top/visual_bg.webp') center bottom no-repeat;
      background: url('/assets/img/top/visual_bg.avif') center bottom no-repeat;
      background-size: cover;
    }
    .top-visual-main__inner {
      position: relative;
      max-width: calc(1280 / var(--font-size) * 1rem);
      max-width: min(calc(1280 / var(--font-size) * 1rem), calc(1280 / 1440 * 100cqw));
      padding-inline: calc(40 / var(--font-size) * 1rem);
      padding-inline: min(calc(40 / var(--font-size) * 1rem), calc(40 / 1440 * 100cqw));
      margin-inline: auto;
    }
    .top-visual-main-title {
      width: calc(429 / var(--font-size) * 1rem);
      width: min(calc(429 / var(--font-size) * 1rem), calc(429 / 1440 * 100cqw));
      height: calc(130 / var(--font-size) * 1rem);
      height: min(calc(130 / var(--font-size) * 1rem), calc(130 / 1440 * 100cqw));
      position: absolute;
      top: 0;
      left: 0;
      margin-top: calc(336 / var(--font-size) * 1rem);
      margin-top: min(calc(336 / var(--font-size) * 1rem), calc(336 / 1440 * 100cqw));
      margin-left: calc(725 / var(--font-size) * 1rem);
      margin-left: min(calc(725 / var(--font-size) * 1rem), calc(725 / 1440 * 100cqw));
      z-index: 2;
    }
    [data-start-animation='true'] .top-visual-main-title {
      -webkit-transition: opacity 0.7s ease-out;
      transition: opacity 0.7s ease-out;
      -webkit-transition-delay: 0.2s;
      transition-delay: 0.2s;
      opacity: 0;
    }
    [data-start-animation='true'] .is-start .top-visual-main-title {
      opacity: 1;
    }
    .top-visual-main-img {
      width: calc(650 / var(--font-size) * 1rem);
      width: min(calc(650 / var(--font-size) * 1rem), calc(650 / 1440 * 100cqw));
      height: 0;
      height: calc(875 / var(--font-size) * 1rem);
      height: min(calc(875 / var(--font-size) * 1rem), calc(875 / 1440 * 100cqw));
      -webkit-mask: url('/assets/img/top/visual_mask.svg');
      mask: url('/assets/img/top/visual_mask.svg');
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      position: absolute;
      top: 0;
      left: 0;
      margin-top: calc(-50 / var(--font-size) * 1rem);
      margin-top: max(calc(-50 / var(--font-size) * 1rem), calc(-50 / 1440 * 100cqw));
      margin-left: calc(48 / var(--font-size) * 1rem);
      margin-left: min(calc(48 / var(--font-size) * 1rem), calc(48 / 1440 * 100cqw));
    }
    [data-start-animation='true'] .top-visual-main-img {
      -webkit-transition: all 0.3s ease-out;
      transition: all 0.3s ease-out;
      -webkit-clip-path: circle(0px at 90% 0%);
      clip-path: circle(0px at 90% 0%);
    }
    [data-start-animation='true'] .is-start .top-visual-main-img {
      -webkit-clip-path: circle(1200px at 90% 0%);
      clip-path: circle(1200px at 90% 0%);
    }
    .top-visual-main-img-slide img {
      margin-top: calc(50 / var(--font-size) * 1rem);
      margin-top: min(calc(50 / var(--font-size) * 1rem), calc(50 / 1440 * 100cqw));
    }
    .top-visual-main-map {
      width: calc(771 / var(--font-size) * 1rem);
      width: min(calc(771 / var(--font-size) * 1rem), calc(771 / 1440 * 100cqw));
      height: calc(891 / var(--font-size) * 1rem);
      height: min(calc(891 / var(--font-size) * 1rem), calc(891 / 1440 * 100cqw));
      background: url('/assets/img/top/visual_map.svg');
      background-size: 100%;
      position: absolute;
      top: 0;
      left: 0;
      margin-top: calc(115 / var(--font-size) * 1rem);
      margin-top: min(calc(115 / var(--font-size) * 1rem), calc(115 / 1440 * 100cqw));
      margin-left: calc(-13 / var(--font-size) * 1rem);
      margin-left: max(calc(-13 / var(--font-size) * 1rem), calc(-13 / 1440 * 100cqw));
    }
    [data-start-animation='true'] .top-visual-main-map {
      -webkit-transition: opacity 0.5s ease-out;
      transition: opacity 0.5s ease-out;
      opacity: 0;
    }
    [data-start-animation='true'] .is-start .top-visual-main-map {
      opacity: 1;
    }
    .top-visual-main-copy {
      width: calc(273 / var(--font-size) * 1rem);
      width: min(calc(273 / var(--font-size) * 1rem), calc(273 / 1440 * 100cqw));
      height: calc(26 / var(--font-size) * 1rem);
      height: min(calc(26 / var(--font-size) * 1rem), calc(26 / 1440 * 100cqw));
      position: absolute;
      top: 0;
      left: 0;
      margin-top: calc(290 / var(--font-size) * 1rem);
      margin-top: min(calc(290 / var(--font-size) * 1rem), calc(290 / 1440 * 100cqw));
      margin-left: calc(726 / var(--font-size) * 1rem);
      margin-left: min(calc(726 / var(--font-size) * 1rem), calc(726 / 1440 * 100cqw));
      z-index: 1;
    }
    [data-start-animation='true'] .top-visual-main-copy {
      -webkit-transition: opacity 0.5s ease-out;
      transition: opacity 0.5s ease-out;
      -webkit-transition-delay: 0.5s;
      transition-delay: 0.5s;
      opacity: 0;
    }
    [data-start-animation='true'] .is-start .top-visual-main-copy {
      opacity: 1;
    }
    [data-start-animation='true'] .top-visual-news {
      -webkit-transition: opacity 0.5s ease-out;
      transition: opacity 0.5s ease-out;
      -webkit-transition-delay: 1s;
      transition-delay: 1s;
      opacity: 0;
    }
    [data-start-animation='true'] .is-start .top-visual-news {
      opacity: 1;
    }
    .top-visual-main-deco {
      position: relative;
      --visual-deco-width: 0;
      --visual-deco-height: 0;
      --visual-deco-top: 0;
      --visual-deco-left: 0;
    }
    [data-start-animation='true'] .top-visual-main-deco__child {
      -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
      transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
      transition: opacity 0.5s ease-out, transform 0.5s ease-out;
      transition: opacity 0.5s ease-out, transform 0.5s ease-out, -webkit-transform 0.5s ease-out;
      -webkit-transition-delay: 0.9s;
      transition-delay: 0.9s;
      opacity: 0;
      -webkit-transform: scale(0.4) rotate(120deg);
      transform: scale(0.4) rotate(120deg);
    }
    [data-start-animation='true'] .is-start .top-visual-main-deco__child {
      opacity: 1;
      -webkit-transform: scale(1) rotate(0);
      transform: scale(1) rotate(0);
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(1) {
      -webkit-transition-delay: 0.5s;
      transition-delay: 0.5s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(2) {
      -webkit-transition-delay: 0.55s;
      transition-delay: 0.55s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(3) {
      -webkit-transition-delay: 0.6s;
      transition-delay: 0.6s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(4) {
      -webkit-transition-delay: 0.65s;
      transition-delay: 0.65s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(5) {
      -webkit-transition-delay: 0.7s;
      transition-delay: 0.7s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(6) {
      -webkit-transition-delay: 0.75s;
      transition-delay: 0.75s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(7) {
      -webkit-transition-delay: 0.8s;
      transition-delay: 0.8s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(8) {
      -webkit-transition-delay: 0.85s;
      transition-delay: 0.85s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(9) {
      -webkit-transition-delay: 0.9s;
      transition-delay: 0.9s;
    }
    .top-visual-main-deco__child {
      content: '';
      position: absolute;
      width: min(calc(var(--visual-deco-width) / var(--font-size) * 1rem), calc(var(--visual-deco-width) / 1440 * 100cqw));
      height: min(calc(var(--visual-deco-height) / var(--font-size) * 1rem), calc(var(--visual-deco-height) / 1440 * 100cqw));
      margin-top: min(calc(var(--visual-deco-top) / var(--font-size) * 1rem), calc(var(--visual-deco-top) / 1440 * 100cqw));
      margin-left: min(calc(var(--visual-deco-left) / var(--font-size) * 1rem), calc(var(--visual-deco-left) / 1440 * 100cqw));
      background-repeat: no-repeat;
      background-size: contain;
      background-position: top left;
    }
    .top-visual-main-deco01 {
      background-image: url(../img/top/visual_deco01.svg);
      --visual-deco-width: 189.59;
      --visual-deco-height: 235.06;
      --visual-deco-top: 160;
      --visual-deco-left: 1200;
    }
    .top-visual-main-deco02 {
      background-image: url(../img/top/visual_deco02.svg);
      --visual-deco-width: 227.55;
      --visual-deco-height: 262.41;
      --visual-deco-top: 618;
      --visual-deco-left: 1103;
    }
    .top-visual-main-deco03 {
      background-image: url(../img/top/visual_deco03.svg);
      --visual-deco-width: 226.46;
      --visual-deco-height: 184.96;
      --visual-deco-top: 756;
      --visual-deco-left: 758;
    }
    .top-visual-main-deco04 {
      background-image: url(../img/top/visual_deco04.svg);
      --visual-deco-width: 86.77;
      --visual-deco-height: 128.32;
      --visual-deco-top: 828;
      --visual-deco-left: 618;
    }
    .top-visual-main-deco05 {
      background-image: url(../img/top/visual_deco05.svg);
      --visual-deco-width: 11.88;
      --visual-deco-height: 11.88;
      --visual-deco-top: 630;
      --visual-deco-left: 106;
    }
    .top-visual-main-deco06 {
      background-image: url(../img/top/visual_deco06.svg);
      --visual-deco-width: 159.36;
      --visual-deco-height: 126.09;
      --visual-deco-top: 290;
      --visual-deco-left: -45;
      margin-left: max(calc(var(--visual-deco-left) / var(--font-size) * 1rem), calc(var(--visual-deco-left) / 1440 * 100cqw));
    }
    .top-visual-main-deco07 {
      background-image: url(../img/top/visual_deco07.svg);
      --visual-deco-width: 107.87;
      --visual-deco-height: 113.82;
      --visual-deco-top: 580;
      --visual-deco-left: -186;
      margin-left: max(calc(var(--visual-deco-left) / var(--font-size) * 1rem), calc(var(--visual-deco-left) / 1440 * 100cqw));
    }
    .top-visual-main-deco08 {
      background-image: url(../img/top/visual_deco08.svg);
      --visual-deco-width: 57.66;
      --visual-deco-height: 50.21;
      --visual-deco-top: 506;
      --visual-deco-left: -74;
      margin-left: max(calc(var(--visual-deco-left) / var(--font-size) * 1rem), calc(var(--visual-deco-left) / 1440 * 100cqw));
    }
    .top-visual-main-deco09 {
      background-image: url(../img/top/visual_deco09.svg);
      --visual-deco-width: 154.7;
      --visual-deco-height: 126.97;
      --visual-deco-top: 296;
      --visual-deco-left: -214;
      margin-left: max(calc(var(--visual-deco-left) / var(--font-size) * 1rem), calc(var(--visual-deco-left) / 1440 * 100cqw));
    }
    .top-visual-bar {
      background-color: var(--color-light-green);
    }
    .top-visual-bar__inner {
      max-width: calc(1280 / var(--font-size) * 1rem);
      padding-inline: calc(40 / var(--font-size) * 1rem);
      margin-inline: auto;
    }
    .top-visual-bar__body {
      padding-block: calc(20 / var(--font-size) * 1rem);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
    .top-visual-bar-logos {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: calc(32 / var(--font-size) * 1rem);
    }
    .top-visual-bar-logo {
    }
    .top-visual-bar-logo--ma {
      width: calc(270 / var(--font-size) * 1rem);
    }
    .top-visual-bar-logo--jpx {
      width: calc(44 / var(--font-size) * 1rem);
    }
    .top-visual-bar-content {
      border-left: #d9d9d9 solid calc(1 / var(--font-size) * 1rem);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      padding-left: calc(32 / var(--font-size) * 1rem);
      margin-left: calc(32 / var(--font-size) * 1rem);
    }
    .top-visual-bar-text {
      font-size: calc(15 / var(--font-size) * 1rem);
      line-height: 1.3;
    }
    .top-visual-news {
      position: absolute;
      width: 100%;
      max-width: calc(1440 / var(--font-size) * 1rem);
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      top: calc(590 / 953 * 100%);
    }
    .top-visual-news__inner {
      position: absolute;
      right: 0;
      background-color: var(--color-white);
      border-radius: 9999px 0 0 9999px;
      padding-inline: min(calc(24 / var(--font-size) * 1rem), calc(24 / 1440 * 100cqw)) min(calc(32 / var(--font-size) * 1rem), calc(32 / 1440 * 100cqw));
      -webkit-box-shadow: calc(5 / var(--font-size) * 1rem) calc(10 / var(--font-size) * 1rem) calc(10 / var(--font-size) * 1rem) 0px rgba(76, 171, 77, 0.22);
              box-shadow: calc(5 / var(--font-size) * 1rem) calc(10 / var(--font-size) * 1rem) calc(10 / var(--font-size) * 1rem) 0px rgba(76, 171, 77, 0.22);
    }
    .top-visual-news__body {
      height: min(calc(56 / var(--font-size) * 1rem), calc(56 / 1440 * 100cqw));
    }
    .top-visual-news-list {
    }
    .top-visual-news-item__inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      height: 100%;
      gap: min(calc(12 / var(--font-size) * 1rem), calc(12 / 1440 * 100cqw));
    }
    .top-visual-news-item-info {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: min(calc(8 / var(--font-size) * 1rem), calc(8 / 1440 * 100cqw));
    }
    .top-visual-news-item-info-date {
      color: #828282;
      font-family: var(--font-en);
      font-size: min(calc(18 / var(--font-size) * 1rem), calc(18 / 1440 * 100cqw));
      font-weight: 400;
      letter-spacing: 0.06em;
    }
    .top-visual-news-item-info-cat {
      color: var(--color-main);
      font-size: min(calc(14 / var(--font-size) * 1rem), calc(14 / 1440 * 100cqw));
      line-height: 1;
      font-weight: bold;
      letter-spacing: 0.2em;
      text-align: center;
      border: min(calc(1 / var(--font-size) * 1rem), calc(1 / 1440 * 100cqw)) var(--color-main) solid;
      border-radius: 9999px;
      padding-block: min(calc(4 / var(--font-size) * 1rem), calc(4 / 1440 * 100cqw)) min(calc(6 / var(--font-size) * 1rem), calc(6 / 1440 * 100cqw));
      padding-inline: min(calc(8 / var(--font-size) * 1rem), calc(8 / 1440 * 100cqw)) min(calc(7 / var(--font-size) * 1rem), calc(7 / 1440 * 100cqw));
    }
    .top-visual-news-item-data {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
    }
    .top-visual-news-item-data-text {
      font-size: min(calc(15 / var(--font-size) * 1rem), calc(15 / 1440 * 100cqw));
      font-weight: 500;
      line-height: 1.4;
      display: inline-block;
      letter-spacing: 0.1em;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      width: min(calc(363 / var(--font-size) * 1rem), calc(363 / 1440 * 100cqw));
    }
    .top-visual-news-item a:hover .top-visual-news-item-data-text {
      text-decoration: underline;
    }
  }
  @media all and (width < 48rem) {
    .top-visual {
      container-type: inline-size;
    }
    .top-visual__inner {
      position: relative;
    }
    .top-visual-main {
      height: calc(794 / var(--font-size) * 1rem);
      overflow: hidden;
      background: url('/assets/img/top/visual_bg.jpg') center bottom no-repeat;
      background: url('/assets/img/top/visual_bg.webp') center bottom no-repeat;
      background: url('/assets/img/top/visual_bg.avif') center bottom no-repeat;
      background-size: cover;
    }
    .top-visual-main__inner {
      position: relative;
      margin-inline: auto;
    }
    .top-visual-main-title {
      width: calc(258 / var(--font-size) * 1rem);
      height: calc(78 / var(--font-size) * 1rem);
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      margin-top: calc(548 / var(--font-size) * 1rem);
      z-index: 2;
    }
    [data-start-animation='true'] .top-visual-main-title {
      -webkit-transition: opacity 0.7s ease-out;
      transition: opacity 0.7s ease-out;
      -webkit-transition-delay: 0.2s;
      transition-delay: 0.2s;
      opacity: 0;
    }
    [data-start-animation='true'] .is-start .top-visual-main-title {
      opacity: 1;
    }
    .top-visual-main-img {
      width: calc(284 / var(--font-size) * 1rem);
      height: 0;
      height: calc(383 / var(--font-size) * 1rem);
      -webkit-mask: url('/assets/img/top/visual_mask.svg');
      mask: url('/assets/img/top/visual_mask.svg');
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      margin-top: calc(100 / var(--font-size) * 1rem);
      margin-left: calc(-16 / var(--font-size) * 1rem);
    }
    [data-start-animation='true'] .top-visual-main-img {
      -webkit-transition: all 0.3s ease-out;
      transition: all 0.3s ease-out;
      -webkit-clip-path: circle(0px at 90% 0%);
      clip-path: circle(0px at 90% 0%);
    }
    [data-start-animation='true'] .is-start .top-visual-main-img {
      -webkit-clip-path: circle(1200px at 90% 0%);
      clip-path: circle(1200px at 90% 0%);
    }
    .top-visual-main-img-slider-containe {
      width: 100%;
      height: 100%;
    }
    .top-visual-main-img-slider-containe img {
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
    }
    .top-visual-main-map {
      width: calc(289 / var(--font-size) * 1rem);
      height: calc(334 / var(--font-size) * 1rem);
      background: url('/assets/img/top/visual_map.svg');
      background-size: 100%;
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      margin-top: calc(186 / var(--font-size) * 1rem);
      margin-left: calc(2 / var(--font-size) * 1rem);
    }
    [data-start-animation='true'] .top-visual-main-map {
      -webkit-transition: opacity 0.5s ease-out;
      transition: opacity 0.5s ease-out;
      opacity: 0;
    }
    [data-start-animation='true'] .is-start .top-visual-main-map {
      opacity: 1;
    }
    .top-visual-main-copy {
      width: calc(171 / var(--font-size) * 1rem);
      width: min(calc(171 / var(--font-size) * 1rem), calc(171 / 375 * 100cqw));
      height: calc(13 / var(--font-size) * 1rem);
      height: min(calc(13 / var(--font-size) * 1rem), calc(13 / 375 * 100cqw));
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      margin-top: calc(510 / var(--font-size) * 1rem);
      margin-top: min(calc(510 / var(--font-size) * 1rem), calc(510 / 375 * 100cqw));
      z-index: 1;
    }
    [data-start-animation='true'] .top-visual-main-copy {
      -webkit-transition: opacity 0.5s ease-out;
      transition: opacity 0.5s ease-out;
      -webkit-transition-delay: 0.5s;
      transition-delay: 0.5s;
      opacity: 0;
    }
    [data-start-animation='true'] .is-start .top-visual-main-copy {
      opacity: 1;
    }
    .top-visual-main-deco {
      position: relative;
      --visual-deco-width: 0;
      --visual-deco-height: 0;
      --visual-deco-top: 0;
      --visual-deco-left: 0;
    }
    [data-start-animation='true'] .top-visual-main-deco__child {
      -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
      transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out;
      transition: opacity 0.5s ease-out, transform 0.5s ease-out;
      transition: opacity 0.5s ease-out, transform 0.5s ease-out, -webkit-transform 0.5s ease-out;
      -webkit-transition-delay: 0.9s;
      transition-delay: 0.9s;
      opacity: 0;
      -webkit-transform: translateX(-50%) scale(0.4) rotate(120deg);
      transform: translateX(-50%) scale(0.4) rotate(120deg);
    }
    [data-start-animation='true'] .is-start .top-visual-main-deco__child {
      opacity: 1;
      -webkit-transform: translateX(-50%) scale(1) rotate(0);
      transform: translateX(-50%) scale(1) rotate(0);
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(1) {
      -webkit-transition-delay: 0.5s;
      transition-delay: 0.5s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(2) {
      -webkit-transition-delay: 0.55s;
      transition-delay: 0.55s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(3) {
      -webkit-transition-delay: 0.6s;
      transition-delay: 0.6s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(4) {
      -webkit-transition-delay: 0.65s;
      transition-delay: 0.65s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(5) {
      -webkit-transition-delay: 0.7s;
      transition-delay: 0.7s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(6) {
      -webkit-transition-delay: 0.75s;
      transition-delay: 0.75s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(7) {
      -webkit-transition-delay: 0.8s;
      transition-delay: 0.8s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(8) {
      -webkit-transition-delay: 0.85s;
      transition-delay: 0.85s;
    }
    [data-start-animation='true'] .top-visual-main-deco__child:nth-of-type(9) {
      -webkit-transition-delay: 0.9s;
      transition-delay: 0.9s;
    }
    .top-visual-main-deco__child {
      content: '';
      position: absolute;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      width: calc(var(--visual-deco-width) / var(--font-size) * 1rem);
      height: calc(var(--visual-deco-height) / var(--font-size) * 1rem);
      margin-top: calc(var(--visual-deco-top) / var(--font-size) * 1rem);
      margin-left: calc(var(--visual-deco-left) / var(--font-size) * 1rem);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: top left;
    }
    .top-visual-main-deco01 {
      background-image: url(../img/top/visual_deco01_sp.svg);
      --visual-deco-width: 143;
      --visual-deco-height: 126;
      --visual-deco-top: 88;
      --visual-deco-left: -163;
    }
    .top-visual-main-deco02 {
      background-image: url(../img/top/visual_deco02_sp.svg);
      --visual-deco-width: 58;
      --visual-deco-height: 50;
      --visual-deco-top: 244;
      --visual-deco-left: -186;
    }
    .top-visual-main-deco03 {
      background-image: url(../img/top/visual_deco03_sp.svg);
      --visual-deco-width: 44;
      --visual-deco-height: 44;
      --visual-deco-top: 314;
      --visual-deco-left: 186;
    }
    .top-visual-main-deco04 {
      background-image: url(../img/top/visual_deco04_sp.svg);
      --visual-deco-width: 106;
      --visual-deco-height: 129;
      --visual-deco-top: 460;
      --visual-deco-left: 202;
    }
    .top-visual-main-deco05 {
      background-image: url(../img/top/visual_deco05_sp.svg);
      --visual-deco-width: 177;
      --visual-deco-height: 141;
      --visual-deco-top: 658;
      --visual-deco-left: 85;
    }
    .top-visual-bar {
      background-color: var(--color-light-green);
    }
    .top-visual-bar__inner {
      max-width: calc(1280 / var(--font-size) * 1rem);
      padding-inline: calc(20 / var(--font-size) * 1rem);
      margin-inline: auto;
    }
    .top-visual-bar__body {
      padding-block: calc(16 / var(--font-size) * 1rem) calc(24 / var(--font-size) * 1rem);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .top-visual-bar-logos {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: calc(26 / var(--font-size) * 1rem);
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
    .top-visual-bar-logo {
    }
    .top-visual-bar-logo--ma {
      width: calc(208 / var(--font-size) * 1rem);
    }
    .top-visual-bar-logo--jpx {
      width: calc(33 / var(--font-size) * 1rem);
    }
    .top-visual-bar-content {
      border-top: #d9d9d9 solid calc(1 / var(--font-size) * 1rem);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      padding-top: calc(10 / var(--font-size) * 1rem);
      margin-top: calc(10 / var(--font-size) * 1rem);
    }
    .top-visual-bar-text {
      font-size: calc(14 / var(--font-size) * 1rem);
      line-height: 1.3;
    }
    .top-visual-news {
      position: absolute;
      top: calc(669 / var(--font-size) * 1rem);
      right: 0;
    }
    .top-visual-news__inner {
      right: 0;
      background-color: var(--color-white);
      border-radius: calc(28 / var(--font-size) * 1rem) 0 0 calc(28 / var(--font-size) * 1rem);
      padding-inline: calc(20 / var(--font-size) * 1rem) calc(20 / var(--font-size) * 1rem);
      -webkit-box-shadow: calc(5 / var(--font-size) * 1rem) calc(10 / var(--font-size) * 1rem) calc(8 / var(--font-size) * 1rem) 0px rgba(76, 171, 77, 0.22);
              box-shadow: calc(5 / var(--font-size) * 1rem) calc(10 / var(--font-size) * 1rem) calc(8 / var(--font-size) * 1rem) 0px rgba(76, 171, 77, 0.22);
    }
    .top-visual-news__body {
      height: calc(78 / var(--font-size) * 1rem);
    }
    .top-visual-news-list {
    }
    .top-visual-news-item__inner {
      padding-block: calc(13 / var(--font-size) * 1rem) calc(15 / var(--font-size) * 1rem);
    }
    .top-visual-news-item-info + .top-visual-news-item-data {
      margin-top: calc(8 / var(--font-size) * 1rem);
    }
    .top-visual-news-item-info-date {
      color: #828282;
      font-family: var(--font-en);
      font-size: calc(15 / var(--font-size) * 1rem);
      font-weight: 400;
      letter-spacing: 0.06em;
    }
    .top-visual-news-item-info-cat {
      color: var(--color-main);
      font-size: calc(12 / var(--font-size) * 1rem);
      line-height: 1;
      font-weight: bold;
      letter-spacing: 0.2em;
      text-align: center;
      border: calc(1 / var(--font-size) * 1rem) var(--color-main) solid;
      border-radius: 9999px;
      padding-block: calc(1 / var(--font-size) * 1rem) calc(2 / var(--font-size) * 1rem);
      padding-inline: calc(8 / var(--font-size) * 1rem) calc(7 / var(--font-size) * 1rem);
    }
    .top-visual-news-item-data {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
    }
    .top-visual-news-item-data-text {
      font-size: calc(14 / var(--font-size) * 1rem);
      font-weight: 500;
      line-height: 1.2857142857;
      display: inline-block;
      letter-spacing: 0.05em;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      width: calc(317 / 375 * 100vw);
    }
    .top-visual-news-item a:hover .top-visual-news-item-data-text {
      text-decoration: underline;
    }
  }
  @media all and (width > 90rem) {
    .top-visual-main {
      background: url('/assets/img/top/visual_bg.jpg') center no-repeat;
      background: url('/assets/img/top/visual_bg.webp') center no-repeat;
      background: url('/assets/img/top/visual_bg.avif') center no-repeat;
      background-size: cover;
    }
    .top-visual-news__inner {
      border-radius: 9999px;
    }
  }
  @media all and (48rem > width > 34rem) {
    .top-visual-news {
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      width: calc(480 / var(--font-size) * 1rem);
    }
    .top-visual-news__inner {
      border-radius: calc(28 / var(--font-size) * 1rem);
    }
  }
}
/* h1のテキスト */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* ==========================================================================
  BG
========================================================================== */
@layer page {
  @media all and (width >= 48rem) {
    .top-container {
      padding-top: calc(156 / var(--font-size) * 1rem);
    }
  }
  @media all and (width < 48rem) {
    .top-container {
      padding-top: calc(56 / var(--font-size) * 1rem);
    }
  }
}

/* ==========================================================================
  SEARCH FUND
========================================================================== */
@layer page {
  @media all and (width >= 48rem) {
    .top-search-fund-section {
    }
    .top-search-fund__detail {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(60 / var(--font-size) * 1rem);
    }
    .top-search-fund__contet {
      max-width: calc(640 / var(--font-size) * 1rem);
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
    }
    .top-search-fund-message {
      font-size: calc(34 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
      margin-bottom: calc(32 / var(--font-size) * 1rem);
    }
    .top-search-fund-texts {
    }
    .top-search-fund-texts .c-text {
      --text-font-size: 18;
    }
    .top-search-fund-texts .c-text + .c-text {
      margin-top: calc(24 / var(--font-size) * 1rem);
    }
    .top-search-fund-img {
      position: relative;
    }
    .top-search-fund-img__label {
      width: calc(500 / var(--font-size) * 1rem);
    }
    .top-search-fund-note {
      margin-top: calc(52 / var(--font-size) * 1rem);
      background-color: var(--color-light-green);
      padding: calc(24 / var(--font-size) * 1rem) calc(48 / var(--font-size) * 1rem);
    }
    .top-search-fund-note__heading {
      margin-bottom: calc(8 / var(--font-size) * 1rem);
    }
    .top-search-fund-note-title {
      font-size: calc(22 / var(--font-size) * 1rem);
      color: var(--color-main);
      font-weight: bold;
    }
    .top-search-fund-note-text {
      font-size: calc(18 / var(--font-size) * 1rem);
      line-height: 1.8;
    }
    .top-search-fund-button {
      margin-top: calc(12 / var(--font-size) * 1rem);
      text-align: center;
    }
  }
  @media all and (60rem > width >= 48rem) {
    .top-search-fund__contet,
    .top-search-fund-texts {
      max-width: initial;
    }
    .top-search-fund__detail {
      display: initial;
    }
    .top-search-fund-img {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-margin-before: calc(80 / var(--font-size) * 1rem);
      margin-block-start: calc(80 / var(--font-size) * 1rem);
    }
  }
  @media all and (width < 48rem) {
    .top-search-fund-section {
    }
    .top-search-fund__detail {
    }
    .top-search-fund__contet {
    }
    .top-search-fund-message {
      font-size: calc(28 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
      margin-bottom: calc(24 / var(--font-size) * 1rem);
    }
    .top-search-fund-texts {
    }
    .top-search-fund-texts .c-text {
      --text-font-size: 15;
    }
    .top-search-fund-texts .c-text + .c-text {
      margin-top: calc(16 / var(--font-size) * 1rem);
    }
    .top-search-fund-img {
      position: relative;
      margin-top: calc(40 / var(--font-size) * 1rem);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
    .top-search-fund-img__label {
      width: 100%;
      max-width: calc(450 / var(--font-size) * 1rem);
    }
    .top-search-fund-note {
      margin-top: calc(40 / var(--font-size) * 1rem);
      background-color: var(--color-light-green);
      padding: calc(16 / var(--font-size) * 1rem) calc(32 / var(--font-size) * 1rem) calc(24 / var(--font-size) * 1rem);
    }
    .top-search-fund-note__heading {
      margin-bottom: calc(12 / var(--font-size) * 1rem);
    }
    .top-search-fund-note-title {
      font-size: calc(18 / var(--font-size) * 1rem);
      color: var(--color-main);
      font-weight: bold;
    }
    .top-search-fund-note-text {
      font-size: calc(15 / var(--font-size) * 1rem);
      line-height: 1.8;
    }
    .top-search-fund-button {
      margin-top: calc(12 / var(--font-size) * 1rem);
      text-align: center;
    }
  }
}

/* ==========================================================================
  ABOUT
========================================================================== */
@layer page {
  @media all and (width >= 48rem) {
    .top-about-message {
      font-size: calc(34 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
      margin-bottom: calc(32 / var(--font-size) * 1rem);
    }
    .top-about-catch {
      font-size: calc(28 / var(--font-size) * 1rem);
      text-align: center;
      line-height: 1.3;
      font-weight: bold;
      margin-bottom: calc(32 / var(--font-size) * 1rem);
    }
    .top-about-text {
      font-size: calc(18 / var(--font-size) * 1rem);
    }
    .top-about-support {
      margin-top: calc(56 / var(--font-size) * 1rem);
    }
    .top-about-img {
      margin-inline: auto;
      margin-block: calc(56 / var(--font-size) * 1rem) calc(56 / var(--font-size) * 1rem);
      padding-block: calc(56 / var(--font-size) * 1rem) 0;
      border-top: calc(1 / var(--font-size) * 1rem) solid var(--color-border-gray);
    }
    .top-about-button {
      margin-top: calc(48 / var(--font-size) * 1rem);
      text-align: center;
    }
    .top-about-catch + .top-about-img {
      -webkit-margin-before: 0;
      margin-block-start: 0;
    }
    .top-about-features {
      display: -ms-grid;
      display: grid;
      gap: calc(72 / var(--font-size) * 1rem);
      -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(3, 1fr);
    }
    .top-about-feature {
    }
    .top-about-feature-card {
    }
    .top-about-feature-card__inner {
    }
    .top-about-feature-thumb {
      margin-bottom: calc(32 / var(--font-size) * 1rem);
    }
    .top-about-feature-title {
      font-size: calc(24 / var(--font-size) * 1rem);
      line-height: 1.3;
      color: var(--color-main);
      font-weight: bold;
      margin-bottom: calc(24 / var(--font-size) * 1rem);
    }
    .top-about-feature-text {
      font-size: calc(16 / var(--font-size) * 1rem);
      line-height: 1.8;
    }
    .top-about-flow {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(38 / var(--font-size) * 1rem);
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
    .top-about-flow-list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(44 / var(--font-size) * 1rem);
    }
    .top-about-flow-catch {
      position: relative;
    }
    .top-about-flow-catch:after {
      content: '';
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      margin-top: calc(-48 / var(--font-size) * 1rem);
      display: block;
      width: calc(24 / var(--font-size) * 1rem);
      height: calc(63 / var(--font-size) * 1rem);
      -webkit-mask: url(/assets/img/top/about_flow_arrow.svg);
      mask: url(/assets/img/top/about_flow_arrow.svg);
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-position: center center;
      mask-position: center center;
      background-color: var(--color-green);
    }
    .top-about-flow-catch:first-of-type:after {
      right: 0;
      margin-right: calc(-20 / var(--font-size) * 1rem);
    }
    .top-about-flow-catch:last-of-type:after {
      left: 0;
      margin-left: calc(-12 / var(--font-size) * 1rem);
    }
    .top-about-flow-catch__in {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
    .top-about-flow-title {
      background-color: var(--color-green);
      color: var(--color-white);
      font-size: calc(28 / var(--font-size) * 1rem);
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      padding: calc(57 / var(--font-size) * 1rem) calc(19 / var(--font-size) * 1rem) calc(123 / var(--font-size) * 1rem);
      border-radius: calc(8 / var(--font-size) * 1rem);
    }
    .top-about-flow-list-head {
      margin-bottom: calc(32 / var(--font-size) * 1rem);
    }
    .top-about-flow-icon {
      width: calc(137 / var(--font-size) * 1rem);
      margin-top: calc(-75 / var(--font-size) * 1rem);
    }
    .top-about-flow-content {
      border: var(--color-green) solid calc(6 / var(--font-size) * 1rem);
      border-radius: calc(128 / var(--font-size) * 1rem) 0 calc(128 / var(--font-size) * 1rem) 0;
    }
    .top-about-flow-content__in {
      padding: calc(49 / var(--font-size) * 1rem) calc(33 / var(--font-size) * 1rem);
    }
    .top-about-flow-list-item {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
    }
    .top-about-flow-list-feature {
      position: relative;
    }
    .top-about-flow-list-item + .top-about-flow-list-item .top-about-flow-list-feature::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      margin-left: calc(-26 / var(--font-size) * 1rem);
      display: block;
      width: calc(10 / var(--font-size) * 1rem);
      height: calc(27 / var(--font-size) * 1rem);
      -webkit-mask: url(/assets/img/top/about_flow_arrow.svg);
      mask: url(/assets/img/top/about_flow_arrow.svg);
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-position: center center;
      mask-position: center center;
      background-color: var(--color-green);
    }
    .top-about-flow-subtitle {
      font-size: calc(28 / var(--font-size) * 1rem);
      text-align: center;
      line-height: 1.3;
      font-weight: bold;
      margin-bottom: calc(32 / var(--font-size) * 1rem);
    }
    .top-about-flow-list-body .c-list-item + .c-list-item {
      margin-top: calc(12 / var(--font-size) * 1rem);
    }
  }
  @media all and (60rem > width >= 48rem) {
    .top-about-features {
      gap: calc(32 / var(--font-size) * 1rem);
    }
    .top-about-flow {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: calc(26 / var(--font-size) * 1rem);
    }
    .top-about-flow-catch {
      position: relative;
      margin-top: calc(36 / var(--font-size) * 1rem);
      margin-bottom: calc(36 / var(--font-size) * 1rem);
    }
    .top-about-flow-catch__in {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
    }
    .top-about-flow-catch--reverse .top-about-flow-catch__in {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
      flex-direction: row-reverse;
    }
    .top-about-flow-catch:after {
      -webkit-transform: translateX(-50%) rotate(90deg);
      transform: translateX(-50%) rotate(90deg);
      top: initial;
      margin-top: initial;
      left: initial;
      margin-left: initial;
      right: initial;
      margin-right: initial;
    }
    .top-about-flow-catch:first-of-type:after {
      bottom: 0;
      margin-bottom: calc(-64 / var(--font-size) * 1rem);
      left: 50%;
    }
    .top-about-flow-catch:last-of-type:after {
      top: 0;
      margin-top: calc(-64 / var(--font-size) * 1rem);
      left: 50%;
    }
    .top-about-flow-icon {
      margin-top: initial;
      position: absolute;
      left: 0;
      margin-left: calc(-122 / var(--font-size) * 1rem);
    }
    .top-about-flow-catch--reverse .top-about-flow-icon {
      left: initial;
      margin-left: initial;
      right: 0;
      margin-right: calc(-122 / var(--font-size) * 1rem);
    }
    .top-about-flow-title {
      -webkit-writing-mode: initial;
      -ms-writing-mode: initial;
      writing-mode: initial;
      padding: calc(12 / var(--font-size) * 1rem) calc(80 / var(--font-size) * 1rem);
    }
  }
  @media all and (width < 48rem) {
    .top-about-section {
      margin-top: calc(64 / var(--font-size) * 1rem);
    }
    .top-about-message {
      font-size: calc(28 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
      margin-bottom: calc(24 / var(--font-size) * 1rem);
    }
    .top-about-catch {
      font-size: calc(20 / var(--font-size) * 1rem);
      text-align: center;
      line-height: 1.3;
      font-weight: bold;
      margin-bottom: calc(24 / var(--font-size) * 1rem);
    }
    .top-about-text {
    }
    .top-about-support {
      margin-top: calc(32 / var(--font-size) * 1rem);
    }
    .top-about-img {
      padding-block: calc(40 / var(--font-size) * 1rem) 0;
      border-top: calc(1 / var(--font-size) * 1rem) solid var(--color-border-gray);
      max-width: calc(960 / var(--font-size) * 1rem);
      margin-inline: auto;
      margin-block: calc(40 / var(--font-size) * 1rem);
    }
    .top-about-img:first-of-type {
      -webkit-margin-before: 0;
      margin-block-start: 0;
    }
    .top-about-text {
      --text-font-size: 15;
    }
    .top-about-button {
      margin-top: calc(24 / var(--font-size) * 1rem);
      text-align: center;
    }
    .top-about-features {
    }
    .top-about-feature {
    }
    .top-about-feature + .top-about-feature {
      margin-top: calc(32 / var(--font-size) * 1rem);
    }
    .top-about-feature-card {
    }
    .top-about-feature-card__inner {
    }
    .top-about-feature-thumb {
      margin-bottom: calc(16 / var(--font-size) * 1rem);
    }
    .top-about-feature-title {
      font-size: calc(20 / var(--font-size) * 1rem);
      line-height: 1.3;
      color: var(--color-main);
      font-weight: bold;
      margin-bottom: calc(12 / var(--font-size) * 1rem);
    }
    .top-about-feature-text {
      font-size: calc(13 / var(--font-size) * 1rem);
      line-height: 1.8;
    }
    .top-about-flow {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(26 / var(--font-size) * 1rem);
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .top-about-flow-list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(44 / var(--font-size) * 1rem);
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .top-about-flow-catch {
      position: relative;
      margin-top: calc(18 / var(--font-size) * 1rem);
      margin-bottom: calc(18 / var(--font-size) * 1rem);
    }
    .top-about-flow-catch:after {
      content: '';
      position: absolute;
      left: 50%;
      -webkit-transform: translateX(-50%) rotate(90deg);
      transform: translateX(-50%) rotate(90deg);
      display: block;
      width: calc(24 / var(--font-size) * 1rem);
      height: calc(63 / var(--font-size) * 1rem);
      -webkit-mask: url(/assets/img/top/about_flow_arrow.svg);
      mask: url(/assets/img/top/about_flow_arrow.svg);
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-position: center center;
      mask-position: center center;
      background-color: var(--color-green);
    }
    .top-about-flow-catch:first-of-type:after {
      bottom: 0;
      margin-bottom: calc(-54 / var(--font-size) * 1rem);
    }
    .top-about-flow-catch:last-of-type:after {
      top: 0;
      margin-top: calc(-54 / var(--font-size) * 1rem);
    }
    .top-about-flow-catch__in {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
    .top-about-flow-title {
      background-color: var(--color-green);
      color: var(--color-white);
      font-size: calc(20 / var(--font-size) * 1rem);
      padding: calc(12 / var(--font-size) * 1rem) calc(80 / var(--font-size) * 1rem);
      border-radius: calc(8 / var(--font-size) * 1rem);
    }
    .top-about-flow-icon {
      width: calc(92 / var(--font-size) * 1rem);
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
    }
    .top-about-flow-catch:first-of-type .top-about-flow-icon {
      left: 0;
      margin-left: calc(-36 / var(--font-size) * 1rem);
    }
    .top-about-flow-catch:last-of-type .top-about-flow-icon {
      right: 0;
      margin-right: calc(-36 / var(--font-size) * 1rem);
    }
    .top-about-flow-content {
      border: var(--color-green) solid calc(3 / var(--font-size) * 1rem);
      border-radius: 0 calc(64 / var(--font-size) * 1rem) 0 calc(64 / var(--font-size) * 1rem);
    }
    .top-about-flow-content__in {
      padding: calc(17 / var(--font-size) * 1rem) calc(20 / var(--font-size) * 1rem);
    }
    .top-about-flow-list-item {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(14 / var(--font-size) * 1rem);
    }
    .top-about-flow-list-feature {
      position: relative;
      width: calc(108 / var(--font-size) * 1rem);
    }
    .top-about-flow-list-item + .top-about-flow-list-item .top-about-flow-list-feature::after {
      content: '';
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%) rotate(90deg);
      transform: translateX(-50%) rotate(90deg);
      margin-top: calc(-36 / var(--font-size) * 1rem);
      display: block;
      width: calc(10 / var(--font-size) * 1rem);
      height: calc(27 / var(--font-size) * 1rem);
      -webkit-mask: url(/assets/img/top/about_flow_arrow.svg);
      mask: url(/assets/img/top/about_flow_arrow.svg);
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-position: center center;
      mask-position: center center;
      background-color: var(--color-green);
    }
    .top-about-flow-subtitle {
      font-size: calc(20 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
      margin-bottom: calc(12 / var(--font-size) * 1rem);
    }
    .top-about-flow-list-body .c-list-item + .c-list-item {
      margin-top: calc(12 / var(--font-size) * 1rem);
    }
    .top-about-flow-list-body .c-list {
      --list-font-size: 13;
    }
    .top-about-flow-list-body .c-text {
      --text-font-size: 13;
    }
  }
}

/* ==========================================================================
  FUND
========================================================================== */
@layer page {
  @media all and (width >= 48rem) {
    .top-fund-section {
      background-color: var(--color-light-green);
    }
    .top-fund-section .l-section__inner {
      position: relative;
      padding-top: calc(80 / var(--font-size) * 1rem);
      padding-bottom: calc(132 / var(--font-size) * 1rem);
    }
    .top-fund-section .l-section__heading {
      position: absolute;
    }
    .top-fund-section .l-section__body {
      position: relative;
    }
    .top-fund-section .c-section-title {
      --title-en-color: var(--color-white);
    }

    .top-fund-map {
      display: block;
      background: url('/assets/img/top/fund_map.svg') center center no-repeat;
      background-size: contain;
      width: calc(815 / var(--font-size) * 1rem);
      height: calc(941 / var(--font-size) * 1rem);
      position: absolute;
      top: 0;
      left: 0;
      margin-top: calc(-86 / var(--font-size) * 1rem);
      margin-left: calc(-170 / var(--font-size) * 1rem);
      pointer-events: none;
      container-type: inline-size;
    }
    .top-fund-map::after {
      --top-pos: 0;
      --left-pos: 0;
      content: '';
      display: block;
      background: url('/assets/img/top/fund_map_current.svg') center center no-repeat;
      background-size: contain;
      width: calc(150 / var(--font-size) * 1rem);
      height: calc(150 / var(--font-size) * 1rem);
      position: absolute;
      top: 0;
      left: 0;
      margin-top: calc(var(--top-pos) / var(--font-size) * 1rem);
      margin-left: calc(var(--left-pos) / var(--font-size) * 1rem);
      pointer-events: none;
    }
    .top-fund-section[data-animation-current-start='true'] .top-fund-map::after {
      -webkit-animation: mapCurrent 0.3s ease-out 0s;
      animation: mapCurrent 0.3s ease-out 0s;
    }
    @-webkit-keyframes mapCurrent {
      0% {
        opacity: 0.2;
        -webkit-transform: scale(0.2);
        transform: scale(0.2);
      }
      100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
      }
    }
    @keyframes mapCurrent {
      0% {
        opacity: 0.2;
        -webkit-transform: scale(0.2);
        transform: scale(0.2);
      }
      100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
      }
    }
    .top-fund-section.current-hokkaido .top-fund-map::after {
      --top-pos: 24;
      --left-pos: 624;
    }
    .top-fund-section.current-tohoku .top-fund-map::after {
      --top-pos: 214;
      --left-pos: 560;
    }
    .top-fund-section.current-kanto .top-fund-map::after {
      --top-pos: 372;
      --left-pos: 514;
    }
    .top-fund-section.current-chubu .top-fund-map::after {
      --top-pos: 388;
      --left-pos: 450;
    }
    .top-fund-section.current-kinki .top-fund-map::after {
      --top-pos: 434;
      --left-pos: 370;
    }
    .top-fund-section.current-chugoku .top-fund-map::after {
      --top-pos: 420;
      --left-pos: 276;
    }
    .top-fund-section.current-shikoku .top-fund-map::after {
      --top-pos: 468;
      --left-pos: 335;
    }
    .top-fund-section.current-kyushu .top-fund-map::after {
      --top-pos: 530;
      --left-pos: 198;
    }
    .top-fund-section.current-hokuriku .top-fund-map::after {
      --top-pos: 324;
      --left-pos: 450;
    }

    .top-fund-content {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end;
      margin-top: calc(6 / var(--font-size) * 1rem);
    }
    .top-fund-info {
      width: 53.5%;
      padding-right: calc((14 / var(--font-size) * 1rem) + 24px);
    }
    .top-fund-info-title {
      font-size: calc(30 / var(--font-size) * 1rem);
      line-height: 1.3;
      margin-bottom: calc(20 / var(--font-size) * 1rem);
      text-align: center;
      font-weight: bold;
    }
    .top-fund-info-text {
      font-size: calc(16 / var(--font-size) * 1rem);
      text-align: center;
    }
    .top-fund-slider {
      width: 53.5%;
      position: relative;
      margin-top: calc(32 / var(--font-size) * 1rem);
    }
    .top-fund-slider-area__wrapper {
      position: relative;
      z-index: 2;
    }
    .top-fund-slider-area {
      position: absolute;
      top: 0;
      left: 0;
      width: calc(136 / var(--font-size) * 1rem);
      height: calc(136 / var(--font-size) * 1rem);
      background-color: var(--color-main);
      border-radius: 50%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin-top: calc(-58 / var(--font-size) * 1rem);
      margin-left: calc(-58 / var(--font-size) * 1rem);
    }
    .top-fund-slider-area::before {
      content: '';
      position: absolute;
      right: 0;
      bottom: 0;
      margin-bottom: calc(-11 / var(--font-size) * 1rem);
      margin-right: calc(-15 / var(--font-size) * 1rem);
      width: calc(86 / var(--font-size) * 1rem);
      height: calc(86 / var(--font-size) * 1rem);
      border-radius: 50%;
      border: calc(16 / var(--font-size) * 1rem) solid #efefef;
      z-index: -1;
    }
    .top-fund-slider-area__inner {
    }
    .top-fund-slider-area-name {
      font-size: calc(24 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
      color: var(--color-white);
    }
    .top-fund-slider-text {
      text-align: center;
      font-size: calc(12 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
      color: var(--color-white);
      margin-top: calc(4 / var(--font-size) * 1rem);
    }
    .top-fund-slider-container {
      width: calc(53.5vw + 14 / var(--font-size) * 1rem);
      position: initial !important;
      margin-block: calc(-14 / var(--font-size) * 1rem) !important;
      padding-block: calc(14 / var(--font-size) * 1rem) !important;
      margin-left: calc(-14 / var(--font-size) * 1rem) !important;
      padding-left: calc(14 / var(--font-size) * 1rem) !important;
    }
    .current-kyushu .top-fund-slider-container:before {
      opacity: 0;
    }
    .top-fund-slider-wrapper {
    }
    .top-fund-slider-slide {
      background-color: var(--color-white);
      max-width: calc(600 / var(--font-size) * 1rem);
      border-top-left-radius: calc(50 / var(--font-size) * 1rem);
      border-bottom-right-radius: calc(50 / var(--font-size) * 1rem);
      overflow: hidden;
      -webkit-box-shadow: 0 0 calc(20 / var(--font-size) * 1rem) rgba(54, 151, 73, 0.16);
      box-shadow: 0 0 calc(20 / var(--font-size) * 1rem) rgba(54, 151, 73, 0.16);
    }
    .top-fund-slider-slide__in {
      padding: calc(44 / var(--font-size) * 1rem) calc(44 / var(--font-size) * 1rem) calc(44 / var(--font-size) * 1rem) 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      height: 100%;
      -webkit-box-align: stretch;
      -ms-flex-align: stretch;
      align-items: stretch;
    }
    .top-fund-slider-slide-head {
      -ms-flex-preferred-size: calc(234 / var(--font-size) * 1rem);
      flex-basis: calc(234 / var(--font-size) * 1rem);
      -ms-flex-negative: 0;
      flex-shrink: 0;
      -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
    }
    .top-fund-slider-slide-heading {
      text-align: center;
      font-size: calc(22 / var(--font-size) * 1rem);
      line-height: 1.5;
      font-weight: bold;
    }
    .top-fund-slider-slide-body {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
    .top-fund-slider-slide-content {
      padding-left: calc(32 / var(--font-size) * 1rem);
    }
    .top-fund-slider-slide-body::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: calc(2 / var(--font-size) * 1rem);
      height: 100%;
      background-color: var(--color-main);
    }
    .top-fund-slider-slide-def {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(20 / var(--font-size) * 1rem);
    }
    .top-fund-slider-slide-def + .top-fund-slider-slide-def {
      margin-top: calc(16 / var(--font-size) * 1rem);
    }
    .top-fund-slider-slide-def-tit {
      -ms-flex-preferred-size: calc(74 / var(--font-size) * 1rem);
      flex-basis: calc(74 / var(--font-size) * 1rem);
      -ms-flex-negative: 0;
      flex-shrink: 0;
      font-size: calc(14 / var(--font-size) * 1rem);
      font-weight: bold;
    }
    .top-fund-slider-slide-def-data {
      font-size: calc(14 / var(--font-size) * 1rem);
    }
    .top-fund-slider-slide-figure {
      margin-top: calc(28 / var(--font-size) * 1rem);
      height: 50px;
    }
    .top-fund-slider-slide-logo {
      display: -ms-grid;
      display: grid;
      gap: calc(10 / var(--font-size) * 1rem);
      -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(3, 1fr);
    }
    .top-fund-slider-slide-logo-item picture {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      height: 100%;
    }
    .top-fund-slider-controller {
      position: absolute;
      bottom: 0;
      left: 50%;
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(24 / var(--font-size) * 1rem);
      margin-bottom: calc(-28 / var(--font-size) * 1rem);
      -webkit-transform: translateX(-50%) translateY(100%);
      transform: translateX(-50%) translateY(100%);
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin-left: calc(24px * -1);
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
    .top-fund-slider-btn-prev,
    .top-fund-slider-btn-next {
      width: calc(35 / var(--font-size) * 1rem);
      height: calc(35 / var(--font-size) * 1rem);
      background-color: var(--color-main);
      -webkit-mask: url('/assets/img/common/arrow.svg');
      mask: url('/assets/img/common/arrow.svg');
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      cursor: pointer;
      -ms-flex-negative: 0;
      flex-shrink: 0;
    }
    .top-fund-slider-btn-prev {
      -webkit-transform: rotate(180deg);
      transform: rotate(180deg);
    }
    .top-fund-slider-pagination {
      height: calc(35 / var(--font-size) * 1rem) !important;
    }
    .top-fund-slider-pagination .swiper-pagination-bullet {
      background: var(--color-white) !important;
      opacity: 1 !important;
      -webkit-transform: translateY(50%) !important;
      transform: translateY(50%) !important;
    }
    .top-fund-slider-pagination .swiper-pagination-bullet-active {
      background: var(--color-main) !important;
    }
    .swiper-horizontal > .swiper-pagination-bullets,
    .swiper-pagination-bullets.swiper-pagination-horizontal,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
      width: auto !important;
    }
  }
  @media all and (80rem > width >= 60rem) {
    .top-fund-info {
      padding-right: 0;
    }
    .top-fund-slider-controller {
      margin-left: 0;
    }
  }
  @media all and (60rem > width >= 48rem) {
    .top-fund-section .l-section__heading {
      position: initial;
    }
    .top-fund-info {
      width: 100%;
      padding-right: initial;
    }
    .top-fund-map {
      width: calc(815 / var(--font-size) * 1rem * 0.75);
      height: calc(941 / var(--font-size) * 1rem * 0.75);
      margin-left: calc(0 / var(--font-size) * 1rem);
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
    }
    .top-fund-map::after {
      width: calc(150 / var(--font-size) * 1rem * 0.75);
      height: calc(150 / var(--font-size) * 1rem * 0.75);
      margin-top: calc(var(--top-pos) / var(--font-size) * 1rem * 0.75);
      margin-left: calc(var(--left-pos) / var(--font-size) * 1rem * 0.75);
    }
    .top-fund-slider {
      width: 100%;
    }
    .top-fund-slider-container {
      width: 100vw;
      margin-block: 0 !important;
      padding-block: 0 !important;
      margin-left: calc(-40 / var(--font-size) * 1rem) !important;
      margin-right: calc(-40 / var(--font-size) * 1rem) !important;
      padding-left: 0 !important;
    }
    .top-fund-slider-area {
      margin-left: calc(-360 / var(--font-size) * 1rem);
    }
    .top-fund-slider-slide-body {
      display: initial;
    }
    .top-fund-slider-slide__in {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      padding: calc(44 / var(--font-size) * 1rem);
    }
    .top-fund-slider-slide-head {
      -ms-flex-preferred-size: auto;
      flex-basis: auto;
    }
    .top-fund-slider-slide-heading {
      padding-bottom: calc(32 / var(--font-size) * 1rem);
    }
    .top-fund-slider-slide-body::before {
      width: 100%;
      height: calc(2 / var(--font-size) * 1rem);
    }
    .top-fund-slider-slide-content {
      padding-left: 0;
      padding-top: calc(32 / var(--font-size) * 1rem);
    }
    .top-fund-slider-area__wrapper {
      width: 0;
      height: 0;
      position: absolute;
      right: 0;
      left: 0;
      margin: auto;
    }
  }
  @media all and (width < 48rem) {
    .top-fund-section {
      background-color: var(--color-light-green);
      margin-top: calc(64 / var(--font-size) * 1rem);
    }
    .top-fund-section .l-section__inner {
      position: relative;
      padding-top: calc(56 / var(--font-size) * 1rem);
      padding-bottom: calc(112 / var(--font-size) * 1rem);
    }
    .top-fund-section .l-section__heading {
      margin-bottom: calc(166 / var(--font-size) * 1rem);
    }
    .top-fund-section .l-section__body {
      position: relative;
    }
    .top-fund-section .c-section-title {
      --title-en-color: var(--color-white);
    }

    .top-fund-map {
      display: block;
      background: url('/assets/img/top/fund_map.svg') center center no-repeat;
      background-size: contain;
      width: calc(418 / var(--font-size) * 1rem);
      height: calc(483 / var(--font-size) * 1rem);
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      margin-top: calc(-44 / var(--font-size) * 1rem);
      margin-left: calc(-40 / var(--font-size) * 1rem);
      pointer-events: none;
      container-type: inline-size;
    }
    .top-fund-map::after {
      --top-pos: 0;
      --left-pos: 0;
      content: '';
      display: block;
      background: url('/assets/img/top/fund_map_current.svg') center center no-repeat;
      background-size: contain;
      width: calc(79 / var(--font-size) * 1rem);
      height: calc(79 / var(--font-size) * 1rem);
      position: absolute;
      top: 0;
      left: 0;
      margin-top: calc(var(--top-pos) / var(--font-size) * 1rem);
      margin-left: calc(var(--left-pos) / var(--font-size) * 1rem);
      pointer-events: none;
    }
    .top-fund-section[data-animation-current-start='true'] .top-fund-map::after {
      -webkit-animation: mapCurrent 0.3s ease-out 0s;
      animation: mapCurrent 0.3s ease-out 0s;
    }
    @-webkit-keyframes mapCurrent {
      0% {
        opacity: 0.2;
        -webkit-transform: scale(0.2);
        transform: scale(0.2);
      }
      100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
      }
    }
    @keyframes mapCurrent {
      0% {
        opacity: 0.2;
        -webkit-transform: scale(0.2);
        transform: scale(0.2);
      }
      100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
      }
    }
    .top-fund-section.current-hokkaido .top-fund-map::after {
      --top-pos: 20;
      --left-pos: 319;
    }
    .top-fund-section.current-tohoku .top-fund-map::after {
      --top-pos: 108;
      --left-pos: 286;
    }
    .top-fund-section.current-kanto .top-fund-map::after {
      --top-pos: 198;
      --left-pos: 262;
    }
    .top-fund-section.current-chubu .top-fund-map::after {
      --top-pos: 198;
      --left-pos: 230;
    }
    .top-fund-section.current-kinki .top-fund-map::after {
      --top-pos: 230;
      --left-pos: 190;
    }
    .top-fund-section.current-chugoku .top-fund-map::after {
      --top-pos: 214;
      --left-pos: 149;
    }
    .top-fund-section.current-shikoku .top-fund-map::after {
      --top-pos: 235;
      --left-pos: 165;
    }
    .top-fund-section.current-kyushu .top-fund-map::after {
      --top-pos: 270;
      --left-pos: 101;
    }
    .top-fund-section.current-hokuriku .top-fund-map::after {
      --top-pos: 166;
      --left-pos: 230;
    }

    .top-fund-content {
    }
    .top-fund-info {
    }
    .top-fund-info-title {
      font-size: calc(24 / var(--font-size) * 1rem);
      line-height: 1.3;
      margin-bottom: calc(10 / var(--font-size) * 1rem);
      text-align: center;
      font-weight: bold;
    }
    .top-fund-info-text {
      font-size: calc(15 / var(--font-size) * 1rem);
      text-align: center;
    }
    .top-fund-slider {
      position: relative;
      margin-top: calc(56 / var(--font-size) * 1rem);
      margin-left: calc(-20 / var(--font-size) * 1rem);
      margin-right: calc(-20 / var(--font-size) * 1rem);
    }
    .top-fund-slider-area__wrapper {
      z-index: 2;
      width: 0;
      height: 0;
      position: absolute;
      right: 0;
      left: 0;
      margin: auto;
    }
    .top-fund-slider-area {
      position: absolute;
      top: 0;
      right: 0;
      width: calc(88.13 / var(--font-size) * 1rem);
      height: calc(88.13 / var(--font-size) * 1rem);
      background-color: var(--color-main);
      border-radius: 50%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin-top: calc(-44 / var(--font-size) * 1rem);
      margin-right: calc(-174 / var(--font-size) * 1rem);
    }
    .top-fund-slider-area::before {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      margin-bottom: calc(-18.37 / var(--font-size) * 1rem);
      margin-left: calc(-6.37 / var(--font-size) * 1rem);
      width: calc(55.73 / var(--font-size) * 1rem);
      height: calc(55.73 / var(--font-size) * 1rem);
      border-radius: 50%;
      border: calc(12 / var(--font-size) * 1rem) solid #efefef;
      z-index: -1;
    }
    .top-fund-slider-area__inner {
    }
    .top-fund-slider-area-name {
      font-size: calc(15.5 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
      color: var(--color-white);
    }
    .top-fund-slider-text {
      text-align: center;
      font-size: calc(7.78 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
      color: var(--color-white);
      margin-top: calc(4 / var(--font-size) * 1rem);
    }
    .top-fund-slider-container {
      position: initial !important;
      margin-block: calc(0 / var(--font-size) * 1rem) !important;
      padding-block: calc(0 / var(--font-size) * 1rem) !important;
      margin-left: calc(0 / var(--font-size) * 1rem) !important;
      padding-left: calc(0 / var(--font-size) * 1rem) !important;
    }
    .top-fund-slider-wrapper {
    }
    .top-fund-slider-slide {
      background-color: var(--color-white);
      max-width: calc(290 / var(--font-size) * 1rem);
      border-top-left-radius: calc(43 / var(--font-size) * 1rem);
      border-bottom-right-radius: calc(43 / var(--font-size) * 1rem);
      overflow: hidden;
      -webkit-box-shadow: 0 0 calc(20 / var(--font-size) * 1rem) rgba(54, 151, 73, 0.16);
      box-shadow: 0 0 calc(20 / var(--font-size) * 1rem) rgba(54, 151, 73, 0.16);
    }
    .top-fund-slider-slide__in {
      padding: calc(24 / var(--font-size) * 1rem) calc(20 / var(--font-size) * 1rem) calc(32 / var(--font-size) * 1rem);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      height: 100%;
      -webkit-box-align: stretch;
      -ms-flex-align: stretch;
      align-items: stretch;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .top-fund-slider-slide-head {
      -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
      min-height: calc(84 / var(--font-size) * 1rem);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
    .top-fund-slider-slide-heading {
      text-align: center;
      font-size: calc(18.95 / var(--font-size) * 1rem);
      line-height: 1.5;
      font-weight: bold;
    }
    .top-fund-slider-slide-body {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin-top: calc(16 / var(--font-size) * 1rem);
    }
    .top-fund-slider-slide-content {
      padding-top: calc(28 / var(--font-size) * 1rem);
    }
    .top-fund-slider-slide-body::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      height: calc(2 / var(--font-size) * 1rem);
      width: 100%;
      background-color: var(--color-main);
    }
    .top-fund-slider-slide-def {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(17 / var(--font-size) * 1rem);
    }
    .top-fund-slider-slide-def + .top-fund-slider-slide-def {
      margin-top: calc(8 / var(--font-size) * 1rem);
    }
    .top-fund-slider-slide-def-tit {
      -ms-flex-preferred-size: calc(65.45 / var(--font-size) * 1rem);
      flex-basis: calc(65.45 / var(--font-size) * 1rem);
      -ms-flex-negative: 0;
      flex-shrink: 0;
      font-size: calc(12.06 / var(--font-size) * 1rem);
      font-weight: bold;
      line-height: 1.8;
    }
    .top-fund-slider-slide-def-data {
      font-size: calc(12.06 / var(--font-size) * 1rem);
      line-height: 1.8;
    }
    .top-fund-slider-slide-figure {
      margin-top: calc(17.22 / var(--font-size) * 1rem);
    }
    .top-fund-slider-slide-logo {
      display: -ms-grid;
      display: grid;
      gap: calc(9 / var(--font-size) * 1rem);
      -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(3, 1fr);
    }
    .top-fund-slider-controller {
      position: absolute;
      bottom: 0;
      left: 50%;
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(15 / var(--font-size) * 1rem);
      margin-bottom: calc(-16 / var(--font-size) * 1rem);
      -webkit-transform: translateX(-50%) translateY(100%);
      transform: translateX(-50%) translateY(100%);
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
    .top-fund-slider-btn-prev,
    .top-fund-slider-btn-next {
      width: calc(26 / var(--font-size) * 1rem);
      height: calc(26 / var(--font-size) * 1rem);
      background-color: var(--color-main);
      -webkit-mask: url('/assets/img/common/arrow.svg');
      mask: url('/assets/img/common/arrow.svg');
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      cursor: pointer;
      -ms-flex-negative: 0;
      flex-shrink: 0;
    }
    .top-fund-slider-btn-prev {
      -webkit-transform: rotate(180deg);
      transform: rotate(180deg);
    }
    .top-fund-slider-pagination {
      height: calc(35 / var(--font-size) * 1rem) !important;
    }
    .top-fund-slider-pagination .swiper-pagination-bullet {
      width: calc(6 / var(--font-size) * 1rem) !important;
      height: calc(6 / var(--font-size) * 1rem) !important;
      margin: 0 calc(3 / var(--font-size) * 1rem) !important;
      background: var(--color-white) !important;
      opacity: 1 !important;
      -webkit-transform: translateY(50%) !important;
      transform: translateY(50%) !important;
    }
    .top-fund-slider-pagination .swiper-pagination-bullet-active {
      background: var(--color-main) !important;
    }
    .swiper-horizontal > .swiper-pagination-bullets,
    .swiper-pagination-bullets.swiper-pagination-horizontal,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
      width: auto !important;
    }
  }
}

/* ==========================================================================
  TARGET
========================================================================== */
@layer page {
  @media all and (width >= 48rem) {
    .top-target-area {
    }
    .top-target-area-block {
      --block-color: var(--color-green);
      --block-img-url: url('/assets/img/top/target_searcher_img.jpg');
      --block-img-url: url('/assets/img/top/target_searcher_img.webp');
      --block-img-url: url('/assets/img/top/target_searcher_img.avif');

      background-color: var(--block-color);
      border-top-left-radius: calc(140 / var(--font-size) * 1rem);
      border-bottom-right-radius: calc(140 / var(--font-size) * 1rem);
      overflow: hidden;
    }
    .top-target-area-block + .top-target-area-block {
      margin-top: calc(24 / var(--font-size) * 1rem);
    }
    .top-target-area-block--searcher {
      --block-color: var(--color-green);
      --block-img-url: url('/assets/img/top/target_searcher_img.jpg');
      --block-img-url: url('/assets/img/top/target_searcher_img.webp');
      --block-img-url: url('/assets/img/top/target_searcher_img.avif');
    }
    .top-target-area-block--succession {
      --block-color: #a7c200;
      --block-img-url: url('/assets/img/top/target_succession_img.jpg');
      --block-img-url: url('/assets/img/top/target_succession_img.webp');
      --block-img-url: url('/assets/img/top/target_succession_img.avif');
    }
    .top-target-feature {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
    .top-target-feature::before {
      content: '';
      display: block;
      width: calc(404 / var(--font-size) * 1rem);
      -webkit-mask: url('/assets/img/top/target_deco.svg');
      mask: url('/assets/img/top/target_deco.svg');
      -webkit-mask-size: cover;
      mask-size: cover;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: center right;
      mask-position: center right;
      background: var(--block-img-url) center center no-repeat;
      background-size: cover;
    }
    .top-target-feature__content {
      width: calc(796 / var(--font-size) * 1rem);
      padding: calc(50 / var(--font-size) * 1rem) calc(104 / var(--font-size) * 1rem) calc(64 / var(--font-size) * 1rem) calc(64 / var(--font-size) * 1rem);
    }
    .top-target-feature__heading {
      text-align: center;
      margin-bottom: calc(24 / var(--font-size) * 1rem);
    }
    .top-target-feature-title {
      font-size: calc(32 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
      color: var(--color-white);
    }
    .top-target-feature__body {
    }
    .top-target-feature-list {
      display: -ms-grid;
      display: grid;
      gap: calc(20 / var(--font-size) * 1rem);
      -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(3, 1fr);
    }
    .top-target-feature-list--2-col {
      -ms-grid-columns: (1fr)[2];
      grid-template-columns: repeat(2, 1fr);
    }
    .top-target-feature-list-item {
      background-color: rgba(24, 147, 49, 0.4);
      border-top-left-radius: calc(20 / var(--font-size) * 1rem);
      border-bottom-right-radius: calc(20 / var(--font-size) * 1rem);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      padding: calc(20 / var(--font-size) * 1rem) calc(8 / var(--font-size) * 1rem);
    }
    .top-target-area-block--searcher .top-target-feature-list-item {
      background-color: rgba(24, 147, 49, 0.4);
    }
    .top-target-area-block--succession .top-target-feature-list-item {
      background-color: rgba(138, 160, 0, 0.5);
    }
    .top-target-feature-list-text {
      text-align: center;
      font-size: calc(20 / var(--font-size) * 1rem);
      line-height: 1.4;
      font-weight: bold;
      color: var(--color-white);
    }
    .top-target-feature-text {
      text-align: center;
      font-size: calc(18 / var(--font-size) * 1rem);
      line-height: 1.8;
      color: var(--color-white);
      font-weight: bold;
      margin-top: calc(32 / var(--font-size) * 1rem);
    }
    .top-target-feature-button {
      margin-top: calc(26 / var(--font-size) * 1rem);
      text-align: center;
    }
  }
  @media all and (60rem > width >= 48rem) {
    .top-target-feature {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .top-target-feature-list {
      -ms-grid-columns: auto;
      grid-template-columns: auto;
    }
    .top-target-feature::before {
      width: 100%;
      height: calc(404 / var(--font-size) * 1rem);
      -webkit-mask: url(/assets/img/top/target_deco_vertical.svg);
      mask: url(/assets/img/top/target_deco_vertical.svg);
      -webkit-mask-size: cover;
      mask-size: cover;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: bottom center;
      mask-position: bottom center;
    }
    .top-target-feature__content {
      width: 100%;
      padding: calc(58 / var(--font-size) * 1rem) calc(24 / var(--font-size) * 1rem) calc(72 / var(--font-size) * 1rem);
    }
    .top-target-area-block {
      --block-color: var(--color-green);
      --block-img-url: url('/assets/img/top/target_searcher_img_sp.jpg');
      --block-img-url: url('/assets/img/top/target_searcher_img_sp.webp');
      --block-img-url: url('/assets/img/top/target_searcher_img_sp.avif');
    }
    .top-target-area-block--searcher {
      --block-color: var(--color-green);
      --block-img-url: url('/assets/img/top/target_searcher_img_sp.jpg');
      --block-img-url: url('/assets/img/top/target_searcher_img_sp.webp');
      --block-img-url: url('/assets/img/top/target_searcher_img_sp.avif');
    }
    .top-target-area-block--succession {
      --block-color: #a7c200;
      --block-img-url: url('/assets/img/top/target_succession_img_sp.jpg');
      --block-img-url: url('/assets/img/top/target_succession_img_sp.webp');
      --block-img-url: url('/assets/img/top/target_succession_img_sp.avif');
    }
  }
  @media all and (width < 48rem) {
    .top-target-section {
      margin-top: calc(56 / var(--font-size) * 1rem);
    }
    .top-target-area {
    }
    .top-target-area-block {
      --block-color: var(--color-green);
      --block-img-url: url('/assets/img/top/target_searcher_img_sp.jpg');
      --block-img-url: url('/assets/img/top/target_searcher_img_sp.webp');
      --block-img-url: url('/assets/img/top/target_searcher_img_sp.avif');

      background-color: var(--block-color);
      border-top-left-radius: calc(80 / var(--font-size) * 1rem);
      border-bottom-right-radius: calc(80 / var(--font-size) * 1rem);
      overflow: hidden;
    }
    .top-target-area-block + .top-target-area-block {
      margin-top: calc(24 / var(--font-size) * 1rem);
    }
    .top-target-area-block--searcher {
      --block-color: var(--color-green);
      --block-img-url: url('/assets/img/top/target_searcher_img_sp.jpg');
      --block-img-url: url('/assets/img/top/target_searcher_img_sp.webp');
      --block-img-url: url('/assets/img/top/target_searcher_img_sp.avif');
    }
    .top-target-area-block--succession {
      --block-color: #a7c200;
      --block-img-url: url('/assets/img/top/target_succession_img_sp.jpg');
      --block-img-url: url('/assets/img/top/target_succession_img_sp.webp');
      --block-img-url: url('/assets/img/top/target_succession_img_sp.avif');
    }
    .top-target-feature {
    }
    .top-target-feature::before {
      content: '';
      display: block;
      -webkit-mask: url(/assets/img/top/target_deco_vertical.svg);
      mask: url(/assets/img/top/target_deco_vertical.svg);
      -webkit-mask-size: cover;
      mask-size: cover;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: bottom center;
      mask-position: bottom center;
      background: var(--block-img-url) center center no-repeat;
      background-size: cover;
      width: 100%;
      height: calc(200 / var(--font-size) * 1rem);
    }
    .top-target-feature__content {
      padding: calc(24 / var(--font-size) * 1rem) calc(20 / var(--font-size) * 1rem) calc(48 / var(--font-size) * 1rem);
    }
    .top-target-feature__heading {
      text-align: center;
      margin-bottom: calc(24 / var(--font-size) * 1rem);
    }
    .top-target-feature-title {
      font-size: calc(24 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
      color: var(--color-white);
    }
    .top-target-feature-title__sub {
      font-size: calc(20 / var(--font-size) * 1rem);
    }
    .top-target-feature__body {
    }
    .top-target-feature-list {
    }
    .top-target-feature-list-item {
      background-color: rgba(24, 147, 49, 0.4);
      border-top-left-radius: calc(12 / var(--font-size) * 1rem);
      border-bottom-right-radius: calc(12 / var(--font-size) * 1rem);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      padding: calc(12 / var(--font-size) * 1rem) calc(12 / var(--font-size) * 1rem);
    }
    .top-target-feature-list-item + .top-target-feature-list-item {
      margin-top: calc(10 / var(--font-size) * 1rem);
    }
    .top-target-area-block--searcher .top-target-feature-list-item {
      background-color: rgba(24, 147, 49, 0.4);
    }
    .top-target-area-block--succession .top-target-feature-list-item {
      background-color: rgba(138, 160, 0, 0.5);
    }
    .top-target-feature-list-text {
      text-align: center;
      font-size: calc(14 / var(--font-size) * 1rem);
      line-height: 1.4;
      font-weight: bold;
      color: var(--color-white);
    }
    .top-target-feature-text {
      font-size: calc(13 / var(--font-size) * 1rem);
      line-height: 1.8;
      color: var(--color-white);
      font-weight: bold;
      margin-top: calc(16 / var(--font-size) * 1rem);
    }
    .top-target-feature-button {
      margin-top: calc(24 / var(--font-size) * 1rem);
      text-align: center;
    }
  }
}

/* ==========================================================================
  MESSAGE
========================================================================== */
@layer page {
  @media all and (width >= 48rem) {
    .top-message-section {
    }
    .top-message-content {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(48 / var(--font-size) * 1rem);
      max-width: calc(1080 / var(--font-size) * 1rem);
      position: relative;
      margin-left: auto;
      margin-right: auto;
    }
    .top-message-content + .top-message-content {
      margin-top: calc(80 / var(--font-size) * 1rem);
    }
    .top-message-content--reverse {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
      flex-direction: row-reverse;
    }
    .top-message-paragraph {
    }
    .top-message-paragraph__innner {
    }
    .top-message-paragraph-texts {
    }
    .top-message-paragraph-texts .c-text {
      --text-font-size: 18;
    }
    .top-message-paragraph-texts .c-text + .c-text {
      margin-top: calc(24 / var(--font-size) * 1rem);
    }
    .top-message-paragraph-name {
      margin-top: calc(24 / var(--font-size) * 1rem);
      font-size: calc(24 / var(--font-size) * 1rem);
      font-weight: bold;
      line-height: 1.3;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: calc(16 / var(--font-size) * 1rem);
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end;
    }
    .top-message-content--reverse .top-message-paragraph-name {
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start;
    }
    .top-message-paragraph-name__role {
      font-size: calc(15 / 24 * 1em);
      display: inline-block;
      margin-top: calc(5 / var(--font-size) * 1rem);
    }
    .top-member-list {
      display: -ms-grid;
      display: grid;
      gap: calc(56 / var(--font-size) * 1rem);
      -ms-grid-columns: (1fr)[4];
      grid-template-columns: repeat(4, 1fr);
    }
    .top-member-list-item {
    }
    .top-member-card {
    }
    .top-member-card__inner {
    }
    .top-member-card-thumb {
    }
    .top-member-card__body {
      background-color: var(--color-light-green);
      padding: calc(32 / var(--font-size) * 1rem) calc(32 / var(--font-size) * 1rem) calc(43 / var(--font-size) * 1rem);
    }
    .top-member-card-role {
      font-size: calc(13 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
      color: #49ba60;
      text-align: center;
      margin-bottom: calc(8 / var(--font-size) * 1rem);
    }
    .top-member-card-name {
      font-size: calc(20 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
      text-align: center;
    }
    .top-member-feature__content {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: calc(56 / var(--font-size) * 1rem);
    }
    .top-message-photo {
      -ms-flex-negative: 0;
      flex-shrink: 0;
      width: calc(324 / var(--font-size) * 1rem);
      position: relative;
    }
    .top-message-photo-img {
      width: calc(324 / var(--font-size) * 1rem);
    }
    .top-member-feature {
      margin-top: calc(64 / var(--font-size) * 1rem);
    }
    .top-member-feature-title {
      font-size: calc(40 / var(--font-size) * 1rem);
      font-weight: bold;
      color: var(--color-main);
      margin-bottom: calc(32 / var(--font-size) * 1rem);
      font-family: var(--font-en);
    }
  }
  @media all and (60rem > width >= 48rem) {
    .top-message-content {
      gap: calc(32 / var(--font-size) * 1rem);
    }
    .top-member-list {
      gap: calc(32 / var(--font-size) * 1rem);
    }
    .top-member-card__body {
      padding: calc(16 / var(--font-size) * 1rem) calc(16 / var(--font-size) * 1rem) calc(21 / var(--font-size) * 1rem);
    }
  }
  @media all and (width < 48rem) {
    .top-message-section {
    }
    .top-message-content {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: calc(24 / var(--font-size) * 1rem);
    }
    .top-message-content + .top-message-content {
      margin-top: calc(32 / var(--font-size) * 1rem);
    }
    .top-message-paragraph {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1;
    }
    .top-message-paragraph__innner {
    }
    .top-message-paragraph-texts {
    }
    .top-message-paragraph-texts .c-text {
      --text-font-size: 15;
    }
    .top-message-paragraph-texts .c-text + .c-text {
      margin-top: calc(16 / var(--font-size) * 1rem);
    }
    .top-message-paragraph-name {
      margin-top: calc(12 / var(--font-size) * 1rem);
      font-size: calc(18 / var(--font-size) * 1rem);
      font-weight: bold;
      line-height: 1.3;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: calc(12 / var(--font-size) * 1rem);
    }
    .top-message-paragraph-name__role {
      font-size: calc(12 / 18 * 1em);
      display: inline-block;
    }
    .top-member-list {
      display: -ms-grid;
      display: grid;
      gap: calc(16 / var(--font-size) * 1rem);
      -ms-grid-columns: (1fr)[2];
      grid-template-columns: repeat(2, 1fr);
    }
    .top-member-list-item {
    }
    .top-member-card {
    }
    .top-member-card__inner {
    }
    .top-member-card-thumb {
    }
    .top-member-card__body {
      background-color: var(--color-light-green);
      padding: calc(17 / var(--font-size) * 1rem) calc(16 / var(--font-size) * 1rem) calc(23 / var(--font-size) * 1rem);
    }
    .top-member-card-role {
      font-size: calc(10 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
      color: #49ba60;
      text-align: center;
      margin-bottom: calc(4 / var(--font-size) * 1rem);
    }
    .top-member-card-name {
      font-size: calc(15 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
      text-align: center;
    }
    .top-member-feature__content {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: calc(16 / var(--font-size) * 1rem);
    }
    .top-message-photo {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
    .top-message-photo-img {
      max-width: calc(200 / var(--font-size) * 1rem);
    }
    .top-member-feature {
      margin-top: calc(32 / var(--font-size) * 1rem);
    }
    .top-member-feature-title {
      font-size: calc(30 / var(--font-size) * 1rem);
      font-weight: bold;
      color: var(--color-main);
      margin-bottom: calc(12 / var(--font-size) * 1rem);
      font-family: var(--font-en);
      text-align: center;
      letter-spacing: calc(5 / 100 * 1em);
    }
    .top-member-photo {
      margin-left: calc(-20 / var(--font-size) * 1rem);
      margin-right: calc(-20 / var(--font-size) * 1rem);
    }
  }
}

/* ==========================================================================
  COLUMN
========================================================================== */
@layer page {
  @media all and (width >= 48rem) {
    .top-column-slider {
      width: 100%;
      position: relative;
      margin-top: calc(32 / var(--font-size) * 1rem);
    }
    .top-column-slider-container {
      overflow: visible !important;
      width: calc(100% + calc(30 / var(--font-size) * 1rem));
      position: initial !important;
      margin: calc(-15 / var(--font-size) * 1rem) !important;
      padding: calc(15 / var(--font-size) * 1rem) !important;
    }
    .top-column-slider-wrapper {
    }
    .top-column-slider-slide {
      background-color: var(--color-white);
      max-width: calc(380 / var(--font-size) * 1rem);
      overflow: hidden;
      -webkit-box-shadow: 0 0 calc(20 / var(--font-size) * 1rem) calc(5 / var(--font-size) * 1rem) rgba(243, 245, 235, 0.74);
              box-shadow: 0 0 calc(20 / var(--font-size) * 1rem) calc(5 / var(--font-size) * 1rem) rgba(243, 245, 235, 0.74);
      -webkit-transition: 0.3s -webkit-box-shadow !important;
      transition: 0.3s -webkit-box-shadow !important;
      transition: 0.3s box-shadow !important;
      transition: 0.3s box-shadow, 0.3s -webkit-box-shadow !important;
    }
    .top-column-slider-slide:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
    }
    .top-column-slider-slide__in {
      padding: calc(18 / var(--font-size) * 1rem) calc(18 / var(--font-size) * 1rem) calc(13 / var(--font-size) * 1rem);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      height: 100%;
      -webkit-box-align: stretch;
          -ms-flex-align: stretch;
              align-items: stretch;
    }
    .top-column-slider-slide-visual + .top-column-slider-slide-desc {
      margin-top: calc(16 / var(--font-size) * 1rem);
    }
    .top-column-slider-slide-desc__title {
      font-size: calc(18 / var(--font-size) * 1rem);
      line-height: 1.667;
      font-weight: bold;
      -webkit-font-feature-settings: 'palt';
              font-feature-settings: 'palt';
      letter-spacing: 0.05em;
      display: -webkit-box;
      -webkit-line-clamp: 3; /* 3行まで表示 */
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .top-column-slider-slide-desc__text {
      font-size: calc(16 / var(--font-size) * 1rem);
      font-weight: 300;
      line-height: 1.6;
      display: -webkit-box;
      -webkit-line-clamp: 3; /* 3行まで表示 */
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .top-column-slider-slide-desc__title + .top-column-slider-slide-desc__text {
      margin-top: calc(8 / var(--font-size) * 1rem);
    }
    .top-column-slider-controller {
      position: absolute;
      top: 0;
      right: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(20 / var(--font-size) * 1rem);
      margin-top: calc(-40 / var(--font-size) * 1rem);
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
    }
    .top-column-slider-btn-prev,
    .top-column-slider-btn-next {
      width: calc(30 / var(--font-size) * 1rem);
      height: calc(30 / var(--font-size) * 1rem);
      background-color: var(--color-main);
      -webkit-mask: url('/assets/img/common/arrow.svg');
              mask: url('/assets/img/common/arrow.svg');
      -webkit-mask-size: contain;
              mask-size: contain;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      cursor: pointer;
      -ms-flex-negative: 0;
          flex-shrink: 0;
    }
    .top-column-slider-btn-prev {
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
    }
    .top-column-slider-pagination {
      height: calc(30 / var(--font-size) * 1rem) !important;
    }
    .top-column-slider-pagination .swiper-pagination-bullet {
      background: #cbcbcb !important;
      opacity: 1 !important;
    }
    .top-column-slider-pagination .swiper-pagination-bullet-active {
      background: var(--color-main) !important;
    }
    .swiper-horizontal > .swiper-pagination-bullets,
    .swiper-pagination-bullets.swiper-pagination-horizontal,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
      width: auto !important;
    }
    .top-column-list-button {
      margin-top: calc(43 / var(--font-size) * 1rem);
      text-align: center;
    }
    /* Swiper非活性状態 */
    .top-column-slider-container:not(.swiper-initialized) .top-column-slider-wrapper {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(3, 1fr);
      gap: calc(30 / var(--font-size) * 1rem);
    }
    .top-column-slider-container:not(.swiper-initialized) .top-column-slider-btn-prev,
    .top-column-slider-container:not(.swiper-initialized) .top-column-slider-btn-next {
      display: none;
    }
  }
  @media all and (width < 48rem) {
    .top-column-slider {
      max-width: calc(304 / var(--font-size) * 1rem);
      margin-inline: auto;
      position: relative;
      margin-top: calc(32 / var(--font-size) * 1rem);
    }
    .top-column-slider-container {
      width: calc(100% + calc(30 / var(--font-size) * 1rem));
      position: initial !important;
      margin: calc(-15 / var(--font-size) * 1rem) !important;
      padding: calc(15 / var(--font-size) * 1rem) !important;
      overflow: visible !important;
    }
    .top-column-slider-wrapper {
    }
    .top-column-slider-slide {
      background-color: var(--color-white);
      overflow: hidden;
      -webkit-box-shadow: 0 0 calc(12 / var(--font-size) * 1rem) calc(6 / var(--font-size) * 1rem) rgba(228, 231, 214, 0.74);
              box-shadow: 0 0 calc(12 / var(--font-size) * 1rem) calc(6 / var(--font-size) * 1rem) rgba(228, 231, 214, 0.74);
    }
    .top-column-slider-slide__in {
      padding: calc(17 / var(--font-size) * 1rem) calc(16 / var(--font-size) * 1rem) calc(20 / var(--font-size) * 1rem);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      height: 100%;
      -webkit-box-align: stretch;
          -ms-flex-align: stretch;
              align-items: stretch;
    }
    .top-column-slider-slide-visual + .top-column-slider-slide-desc {
      margin-top: calc(10 / var(--font-size) * 1rem);
    }
    .top-column-slider-slide-desc__title {
      font-size: calc(14.38 / var(--font-size) * 1rem);
      line-height: 1.6668984701;
      font-weight: bold;
      -webkit-font-feature-settings: 'palt';
              font-feature-settings: 'palt';
      letter-spacing: 0.1em;
      display: -webkit-box;
      -webkit-line-clamp: 3; /* 3行まで表示 */
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .top-column-slider-slide-desc__text {
      font-size: calc(11.99 / var(--font-size) * 1rem);
      font-weight: 300;
      line-height: 1.7;
      -webkit-font-feature-settings: 'palt';
              font-feature-settings: 'palt';
      letter-spacing: 0.1em;
      display: -webkit-box;
      -webkit-line-clamp: 3; /* 3行まで表示 */
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .top-column-slider-slide-desc__title + .top-column-slider-slide-desc__text {
      margin-top: calc(4 / var(--font-size) * 1rem);
    }
    .top-column-slider-controller {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(15 / var(--font-size) * 1rem);
      margin-top: calc(18 / var(--font-size) * 1rem);
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
    }
    .top-column-slider-btn-prev,
    .top-column-slider-btn-next {
      width: calc(26 / var(--font-size) * 1rem);
      height: calc(26 / var(--font-size) * 1rem);
      background-color: var(--color-main);
      -webkit-mask: url('/assets/img/common/arrow.svg');
              mask: url('/assets/img/common/arrow.svg');
      -webkit-mask-size: contain;
              mask-size: contain;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      cursor: pointer;
      -ms-flex-negative: 0;
          flex-shrink: 0;
    }
    .top-column-slider-btn-prev {
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
    }
    .top-column-slider-pagination {
      height: calc(36 / var(--font-size) * 1rem) !important;
    }
    .top-column-slider-pagination .swiper-pagination-bullet {
      width: calc(6 / var(--font-size) * 1rem) !important;
      height: calc(6 / var(--font-size) * 1rem) !important;
      margin: 0 calc(3 / var(--font-size) * 1rem) !important;
      background: #cbcbcb !important;
      opacity: 1 !important;
      -webkit-transform: translateY(50%) !important;
      transform: translateY(50%) !important;
    }
    .top-column-slider-pagination .swiper-pagination-bullet-active {
      background: var(--color-main) !important;
    }
    .swiper-horizontal > .swiper-pagination-bullets,
    .swiper-pagination-bullets.swiper-pagination-horizontal,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
      width: auto !important;
    }
    .top-column-slider-btn {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      width: calc(100% + calc(48 / var(--font-size) * 1rem));
      z-index: 2;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
    }
    .top-column-slider-btn-prev.--filled,
    .top-column-slider-btn-next.--filled {
      width: calc(32 / var(--font-size) * 1rem);
      height: calc(32 / var(--font-size) * 1rem);
      -webkit-mask: none;
              mask: none;
      background: url(/assets/img/top/ico_arrow.svg) no-repeat center/contain;
      border-radius: 9999px;
    }
    .top-column-list-button {
      margin-top: calc(26 / var(--font-size) * 1rem);
      text-align: center;
    }
    .top-column-list-button .c-button {
    }
  }
}

/* ==========================================================================
  NEWS
========================================================================== */
@layer page {
  @media all and (width >= 48rem) {
    .top-news-section {
    }
    .top-news-list {
    }
    .top-news-list-item {
      --list-item-text-color: var(--color-black);

      border-top: var(--color-border-gray) solid calc(1 / var(--font-size) * 1rem);
      padding-inline: calc(16 / var(--font-size) * 1rem);
    }
    .top-news-list-item:nth-last-of-type(1) {
      border-bottom: var(--color-border-gray) solid calc(1 / var(--font-size) * 1rem);
    }
    .top-news-block {
      display: block;
      padding-block: calc(24 / var(--font-size) * 1rem);
    }
    a.top-news-block:hover {
      --list-item-text-color: var(--color-main);
      cursor: pointer;
    }
    .top-news-block__inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: calc(24 / var(--font-size) * 1rem);
    }
    .top-news-block__heading {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: calc(16 / var(--font-size) * 1rem);
      -ms-flex-negative: 0;
      flex-shrink: 0;
    }
    .top-news-block-date {
      font-size: calc(17 / var(--font-size) * 1rem);
      color: var(--color-text-gray);
      font-weight: bold;
      line-height: 1.3;
    }
    .top-news-block-category {
      font-size: calc(11 / var(--font-size) * 1rem);
      color: var(--color-text-gray);
      background-color: var(--color-light-gray);
      font-weight: bold;
      line-height: 1.3;
      padding: calc(8 / var(--font-size) * 1rem) calc(12 / var(--font-size) * 1rem);
      border-radius: 9999px;
    }
    .top-news-block__body {
      width: 100%;
    }
    .top-news-block-text {
      font-size: calc(18 / var(--font-size) * 1rem);
      line-height: 1.3;
      -webkit-transition: color 0.15s ease-out;
      transition: color 0.15s ease-out;
      color: var(--list-item-text-color);
      overflow: hidden;
      display: -webkit-box;
      text-overflow: ellipsis;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      max-height: calc(47 / var(--font-size) * 1rem);
    }
    .top-news-button {
      margin-top: calc(56 / var(--font-size) * 1rem);
      text-align: center;
    }
    .top-news-list-item--pdf .top-news-block__inner::after {
      content: '';
      position: relative;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      display: block;
      width: calc(30 / var(--font-size) * 1rem);
      height: calc(30 / var(--font-size) * 1rem);
      flex-shrink: 0;
      -webkit-mask: url(/assets/img/common/icon_pdf.svg);
      mask: url(/assets/img/common/icon_pdf.svg);
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-position: center center;
      mask-position: center center;
      background-color: #ea4832;
      -webkit-transition: 0.15s background-color ease-out;
      transition: 0.15s background-color ease-out;
    }
  }
  @media all and (width < 48rem) {
    .top-news-section {
    }
    .top-news-list {
    }
    .top-news-list-item {
      --list-item-text-color: var(--color-black);

      border-top: var(--color-border-gray) solid calc(1 / var(--font-size) * 1rem);
      position: relative;
    }
    .top-news-list-item:nth-last-of-type(1) {
      border-bottom: var(--color-border-gray) solid calc(1 / var(--font-size) * 1rem);
    }
    .top-news-block {
      display: block;
      padding-block: calc(20 / var(--font-size) * 1rem);
    }
    .top-news-block__inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: calc(10 / var(--font-size) * 1rem);
    }
    .top-news-block__heading {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: calc(12 / var(--font-size) * 1rem);
      -ms-flex-negative: 0;
      flex-shrink: 0;
    }
    .top-news-block-date {
      font-size: calc(14 / var(--font-size) * 1rem);
      color: var(--color-text-gray);
      font-weight: bold;
      line-height: 1.3;
    }
    .top-news-block-category {
      font-size: calc(10 / var(--font-size) * 1rem);
      color: var(--color-text-gray);
      background-color: var(--color-light-gray);
      font-weight: bold;
      line-height: 1.3;
      padding: calc(8 / var(--font-size) * 1rem) calc(12 / var(--font-size) * 1rem);
      border-radius: 9999px;
    }
    .top-news-block__body {
      width: 100%;
    }
    .top-news-block-text {
      font-size: calc(15 / var(--font-size) * 1rem);
      line-height: 1.3;
      -webkit-transition: color 0.15s ease-out;
      transition: color 0.15s ease-out;
      color: var(--list-item-text-color);
      overflow: hidden;
      display: -webkit-box;
      text-overflow: ellipsis;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      max-height: calc(39 / var(--font-size) * 1rem);
    }
    .top-news-button {
      margin-top: calc(56 / var(--font-size) * 1rem);
      text-align: center;
    }
    .top-news-list-item--pdf .top-news-block__inner::after {
      content: '';
      position: absolute;
      top: 50%;
      right: 0;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      -ms-flex-negative: 0;
      flex-shrink: 0;
      display: block;
      width: calc(30 / var(--font-size) * 1rem);
      height: calc(30 / var(--font-size) * 1rem);
      flex-shrink: 0;
      -webkit-mask: url(/assets/img/common/icon_pdf.svg);
      mask: url(/assets/img/common/icon_pdf.svg);
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-position: center center;
      mask-position: center center;
      background-color: #ea4832;
      -webkit-transition: 0.15s background-color ease-out;
      transition: 0.15s background-color ease-out;
    }
    .top-news-list-item--pdf .top-news-block__body {
      padding-right: calc(32 / var(--font-size) * 1rem);
    }
  }
}

/* ==========================================================================
  COMPANY
========================================================================== */
@layer page {
  @media all and (width >= 48rem) {
    .top-company-section {
      margin-bottom: calc(160 / var(--font-size) * 1rem);
    }
    .top-company-list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(40 / var(--font-size) * 1rem);
    }
    .top-company-list-row {
      width: calc((100% - 40 / var(--font-size) * 1rem) / 2);
    }
    .top-company-list-item {
      border-top: calc(1 / var(--font-size) * 1rem) solid #d7dce6;
      padding: calc(32 / var(--font-size) * 1rem) calc(16 / var(--font-size) * 1rem);
    }
    .top-company-list-item:nth-last-of-type(1) {
      border-bottom: calc(1 / var(--font-size) * 1rem) solid #d7dce6;
    }
    .top-company-list-item-dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(32 / var(--font-size) * 1rem);
    }
    .top-company-list-item-dt {
      -ms-flex-negative: 0;
      flex-shrink: 0;
      min-width: calc(102 / var(--font-size) * 1rem);
      color: #878b93;
      font-size: calc(17 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
    }
    .top-company-list-item-dd {
      font-size: calc(18 / var(--font-size) * 1rem);
      line-height: 1.3;
      -ms-flex-negative: 1;
      flex-shrink: 1;
    }
    .top-company-list-item-dd-unit {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(8 / var(--font-size) * 1rem);
    }
    .top-company-list-item-dd-unit + .top-company-list-item-dd-unit {
      margin-top: calc(20 / var(--font-size) * 1rem);
    }
    .top-company-list-item-dd-unit__role {
      min-width: calc(120 / var(--font-size) * 1rem);
    }
  }
  @media all and (60rem > width >= 48rem) {
    .top-company-list {
      gap: calc(32 / var(--font-size) * 1rem);
    }
    .top-company-list-row {
      width: calc((100% - 32 / var(--font-size) * 1rem) / 2);
    }
    .top-company-list-item-dd-unit {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
  }
  @media all and (width < 48rem) {
    .top-company-section {
      margin-bottom: calc(56 / var(--font-size) * 1rem);
    }
    .top-company-list {
    }
    .top-company-list-row {
    }
    .top-company-list-item {
      border-top: calc(1 / var(--font-size) * 1rem) solid #d7dce6;
      padding: calc(20 / var(--font-size) * 1rem) 0;
    }
    .top-company-list-item:nth-last-of-type(1) {
      border-bottom: calc(1 / var(--font-size) * 1rem) solid #d7dce6;
    }
    .top-company-list-item-dl {
    }
    .top-company-list-item-dt {
      color: #878b93;
      font-size: calc(14 / var(--font-size) * 1rem);
      line-height: 1.3;
      font-weight: bold;
    }
    .top-company-list-item-dd {
      margin-top: calc(8 / var(--font-size) * 1rem);
      font-size: calc(15 / var(--font-size) * 1rem);
      line-height: 1.3;
      -ms-flex-negative: 1;
      flex-shrink: 1;
    }
    .top-company-list-item-dd-unit {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(8 / var(--font-size) * 1rem);
    }
    .top-company-list-item-dd-unit + .top-company-list-item-dd-unit {
      margin-top: calc(8 / var(--font-size) * 1rem);
    }
    .top-company-list-item-dd-unit__role {
      min-width: calc(120 / var(--font-size) * 1rem);
    }
  }
}

/* ==========================================================================
  CONTACT
========================================================================== */

@layer page {
  @media all and (width >= 48rem) {
    .top-contact-section {
      background-color: var(--color-light-green);
    }
    .top-contact-section .l-section__inner {
      padding-top: calc(160 / var(--font-size) * 1rem);
      padding-bottom: calc(172 / var(--font-size) * 1rem);
    }
    .top-contact-section .c-section-title {
      --title-en-color: var(--color-white);
    }
    .top-contact-form {
    }
    .top-contact-form__inner {
    }
    .top-contact-form-item {
      padding-top: calc(24 / var(--font-size) * 1rem);
      padding-bottom: calc(24 / var(--font-size) * 1rem);
      border-top: solid calc(1 / var(--font-size) * 1rem) var(--color-border-gray);
    }
    .top-contact-form-item:nth-last-of-type(1) {
      border-bottom: solid calc(1 / var(--font-size) * 1rem) var(--color-border-gray);
    }
    .top-contact-form-item.is-hidden {
      display: none;
    }
    .top-contact-form-block {
    }
    .top-contact-form-block__inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(24 / var(--font-size) * 1rem);
    }
    .top-contact-form-block__head {
      min-width: calc(260 / var(--font-size) * 1rem);
      -ms-flex-negative: 0;
      flex-shrink: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: calc(16 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-text {
      font-size: calc(18 / var(--font-size) * 1rem);
      line-height: 1.4;
      font-weight: 500;
    }
    .top-contact-form-block-icon {
      -ms-flex-negative: 0;
      flex-shrink: 0;
      width: calc(38 / var(--font-size) * 1rem);
      height: calc(24 / var(--font-size) * 1rem);
      background-color: var(--color-orange);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      border-radius: calc(3 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-icon::before {
      content: '必須';
      color: var(--color-white);
      font-size: calc(11 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-icon--optional {
      background-color: initial;
      border: calc(1 / var(--font-size) * 1rem) solid var(--color-orange);
    }
    .top-contact-form-block-icon--optional::before {
      content: '任意';
      color: var(--color-orange);
    }
    .top-contact-form-block__body {
      width: 100%;
    }
    .top-contact-form-block-input {
    }
    .top-contact-form-block-input:has(.top-contact-form-block-input-radio),
    .top-contact-form-block-input:has(.top-contact-form-block-input-check) {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: calc(27 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-input input[type='text'],
    .top-contact-form-block-input input[type='tel'],
    .top-contact-form-block-input input[type='email'] {
      border-radius: calc(6 / var(--font-size) * 1rem);
      width: 100%;
      font-size: calc(18 / var(--font-size) * 1rem);
      padding: calc(17 / var(--font-size) * 1rem) calc(16 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-input textarea {
      border-radius: calc(6 / var(--font-size) * 1rem);
      width: 100%;
      font-size: calc(16 / var(--font-size) * 1rem);
      padding: calc(17 / var(--font-size) * 1rem) calc(16 / var(--font-size) * 1rem);
      min-height: calc(200 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-input-radio label {
      cursor: pointer;
      padding-left: calc(34 / var(--font-size) * 1rem);
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-size: calc(18 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-input-radio label::before,
    .top-contact-form-block-input-radio label::after {
      content: '';
      display: block;
      border-radius: 50%;
      position: absolute;
      top: 0;
    }
    .top-contact-form-block-input-radio label::before {
      margin-top: calc(-1 / var(--font-size) * 1rem);
      background-color: var(--color-white);
      border: 1px solid var(--color-border-gray);
      height: calc(27 / var(--font-size) * 1rem);
      width: calc(27 / var(--font-size) * 1rem);
      left: 0;
    }
    .top-contact-form-block-input-radio label::after {
      margin-top: calc(7 / var(--font-size) * 1rem);
      background-color: var(--color-white);
      opacity: 0;
      height: calc(11 / var(--font-size) * 1rem);
      width: calc(11 / var(--font-size) * 1rem);
      left: calc(8 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-input-radio label:has(input:checked)::before {
      background-color: var(--color-main);
      border-color: var(--color-main);
    }
    .top-contact-form-block-input-radio label:has(input:checked)::after {
      opacity: 1;
    }
    .top-contact-form-block-input-radio input {
      margin: 0;
    }
    .top-contact-form-block-input-check label {
      cursor: pointer;
      padding-left: calc(34 / var(--font-size) * 1rem);
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-size: calc(18 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-input-check label::before,
    .top-contact-form-block-input-check label::after {
      content: '';
      display: block;
      position: absolute;
      top: 0;
    }
    .top-contact-form-block-input-check label::before {
      margin-top: calc(-1 / var(--font-size) * 1rem);
      background-color: var(--color-white);
      border: 1px solid var(--color-border-gray);
      height: calc(27 / var(--font-size) * 1rem);
      width: calc(27 / var(--font-size) * 1rem);
      left: 0;
    }
    .top-contact-form-block-input-check label::after {
      margin-top: calc(5 / var(--font-size) * 1rem);
      opacity: 0;
      height: calc(16 / var(--font-size) * 1rem);
      width: calc(20 / var(--font-size) * 1rem);
      left: calc(3 / var(--font-size) * 1rem);
      background-image: url(../img/common/icon_check.svg);
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
    }
    .top-contact-form-block-input-check label:has(input:checked)::before {
      background-color: var(--color-main);
      border-color: var(--color-main);
    }
    .top-contact-form-block-input-check label:has(input:checked)::after {
      opacity: 1;
    }
    .top-contact-form-block-input-check input {
      margin: 0;
    }
    .top-contact-button {
      text-align: center;
      margin-top: calc(56 / var(--font-size) * 1rem);
    }
  }
  @media all and (60rem > width >= 48rem) {
    .top-contact-form-block-input:has(.top-contact-form-block-input-radio),
    .top-contact-form-block-input:has(.top-contact-form-block-input-check) {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: calc(20 / var(--font-size) * 1rem);
    }
  }
  @media all and (width < 48rem) {
    .top-contact-section {
      background-color: var(--color-light-green);
    }
    .top-contact-section .l-section__inner {
      padding-top: calc(56 / var(--font-size) * 1rem);
      padding-bottom: calc(56 / var(--font-size) * 1rem);
    }
    .top-contact-section .c-section-title {
      --title-en-color: var(--color-white);
    }
    .top-contact-form {
    }
    .top-contact-form__inner {
    }
    .top-contact-form-item {
      padding-top: calc(20 / var(--font-size) * 1rem);
      padding-bottom: calc(20 / var(--font-size) * 1rem);
      border-top: solid calc(1 / var(--font-size) * 1rem) var(--color-border-gray);
    }
    .top-contact-form-item:nth-last-of-type(1) {
      border-bottom: solid calc(1 / var(--font-size) * 1rem) var(--color-border-gray);
    }
    .top-contact-form-item.is-hidden {
      display: none;
    }
    .top-contact-form-block {
    }
    .top-contact-form-block__inner {
    }
    .top-contact-form-block__head {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: calc(12 / var(--font-size) * 1rem);
      margin-bottom: calc(16 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-text {
      font-size: calc(16 / var(--font-size) * 1rem);
      line-height: 1.4;
      font-weight: 500;
    }
    .top-contact-form-block-icon {
      -ms-flex-negative: 0;
      flex-shrink: 0;
      width: calc(38 / var(--font-size) * 1rem);
      height: calc(24 / var(--font-size) * 1rem);
      background-color: var(--color-orange);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      border-radius: calc(3 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-icon::before {
      content: '必須';
      color: var(--color-white);
      font-size: calc(11 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-icon--optional {
      background-color: initial;
      border: calc(1 / var(--font-size) * 1rem) solid var(--color-orange);
    }
    .top-contact-form-block-icon--optional::before {
      content: '任意';
      color: var(--color-orange);
    }
    .top-contact-form-block__body {
      width: 100%;
    }
    .top-contact-form-block-input {
    }
    .top-contact-form-block-input:has(.top-contact-form-block-input-radio) {
    }
    .top-contact-form-block-input-radio + .top-contact-form-block-input-radio,
    .top-contact-form-block-input-check + .top-contact-form-block-input-check {
      margin-top: calc(6 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-input input[type='text'],
    .top-contact-form-block-input input[type='tel'],
    .top-contact-form-block-input input[type='email'] {
      border-radius: calc(6 / var(--font-size) * 1rem);
      width: 100%;
      font-size: calc(16 / var(--font-size) * 1rem);
      padding: calc(17 / var(--font-size) * 1rem) calc(16 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-input textarea {
      border-radius: calc(6 / var(--font-size) * 1rem);
      width: 100%;
      font-size: calc(16 / var(--font-size) * 1rem);
      padding: calc(17 / var(--font-size) * 1rem) calc(16 / var(--font-size) * 1rem);
      min-height: calc(200 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-input-radio label {
      cursor: pointer;
      padding-left: calc(32 / var(--font-size) * 1rem);
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
    .top-contact-form-block-input-radio label::before,
    .top-contact-form-block-input-radio label::after {
      content: '';
      display: block;
      border-radius: 50%;
      position: absolute;
      top: 0;
    }
    .top-contact-form-block-input-radio label::before {
      margin-top: calc(1 / var(--font-size) * 1rem);
      background-color: var(--color-white);
      border: 1px solid var(--color-border-gray);
      height: calc(24 / var(--font-size) * 1rem);
      width: calc(24 / var(--font-size) * 1rem);
      left: 0;
    }
    .top-contact-form-block-input-radio label::after {
      margin-top: calc(8 / var(--font-size) * 1rem);
      background-color: var(--color-white);
      opacity: 0;
      height: calc(10 / var(--font-size) * 1rem);
      width: calc(10 / var(--font-size) * 1rem);
      left: calc(7 / var(--font-size) * 1rem);
    }
    .top-contact-form-block-input-radio label:has(input:checked)::before {
      background-color: var(--color-main);
      border-color: var(--color-main);
    }
    .top-contact-form-block-input-radio label:has(input:checked)::after {
      opacity: 1;
    }
    .top-contact-form-block-input-radio input {
      margin: 0;
    }
    .top-contact-form-block-input-check label {
      cursor: pointer;
      padding-left: calc(32 / var(--font-size) * 1rem);
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
    .top-contact-form-block-input-check label::before,
    .top-contact-form-block-input-check label::after {
      content: '';
      display: block;
      position: absolute;
      top: 0;
    }
    .top-contact-form-block-input-check label::before {
      margin-top: calc(1 / var(--font-size) * 1rem);
      background-color: var(--color-white);
      border: 1px solid var(--color-border-gray);
      height: calc(24 / var(--font-size) * 1rem);
      width: calc(24 / var(--font-size) * 1rem);
      left: 0;
    }
    .top-contact-form-block-input-check label::after {
      margin-top: calc(6 / var(--font-size) * 1rem);
      opacity: 0;
      height: calc(14 / var(--font-size) * 1rem);
      width: calc(18 / var(--font-size) * 1rem);
      left: calc(3 / var(--font-size) * 1rem);
      background-image: url(../img/common/icon_check.svg);
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
    }
    .top-contact-form-block-input-check label:has(input:checked)::before {
      background-color: var(--color-main);
      border-color: var(--color-main);
    }
    .top-contact-form-block-input-check label:has(input:checked)::after {
      opacity: 1;
    }
    .top-contact-form-block-input-check input {
      margin: 0;
    }
    .top-contact-text {
      font-size: calc(14 / var(--font-size) * 1rem);
      line-height: 1.8;
      margin-top: calc(24 / var(--font-size) * 1rem);
    }
    .top-contact-button {
      text-align: center;
      margin-top: calc(32 / var(--font-size) * 1rem);
    }
    .contact-form-errormes {
      font-size: calc(13 / var(--font-size) * 1rem);
    }
  }

  /* ここから追記 */
  .contact-form-errormes {
    padding: 0.8em;
    border: 1px solid #d81718;
    color: #d81718;
    text-align: center;
    font-size: calc(16 / var(--font-size) * 1rem);
  }
  .top-contact-form-block-input.is-error input,
  .top-contact-form-block-input.is-error textarea {
    border: 1px solid #d81718;
  }
  .top-contact-form-block-input.is-error input[name='radio'] {
    border: none;
  }
  .top-contact-form-block-input.radio.is-error {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .top-contact-form-block-input.radio.is-error .error-txt {
    display: block;
    width: 100%;
  }
  .top-contact-form-block-input .error-txt {
    display: none;
    padding-top: 0.3em;
    color: #d81718;
    font-size: calc(13 / var(--font-size) * 1rem);
  }
  .top-contact-form-block-input.is-error .error-txt {
    display: block;
  }
  .submit__inner {
    position: relative;
    --button-height: 58;
    display: inline-block;
    min-width: calc(280 / var(--font-size) * 1rem);
  }
  .submit__inner:before {
    content: '';
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: block;
    width: calc(16 / var(--font-size) * 1rem);
    height: calc(16 / var(--font-size) * 1rem);
    flex-shrink: 0;
    -webkit-mask: url(/assets/img/common/arrow.svg);
    mask: url(/assets/img/common/arrow.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center center;
    mask-position: center center;
    background-color: #fff;
    -webkit-transition: 0.15s background-color ease-out;
    transition: 0.15s background-color ease-out;
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .submit__inner:hover:before {
    background-color: var(--color-accent);
  }
  .submit-button {
    min-height: calc((var(--button-height) - var(--button-border-width)) / var(--font-size) * 1rem);
    font-size: calc(15 / var(--font-size) * 1rem);
    line-height: 1.3;
    color: var(--button-text-color);
    font-weight: bold;
    cursor: pointer;
    padding-inline: calc(24 / var(--font-size) * 1rem);
  }
  .contact-form .thanks-block {
    display: none;
  }
  .c-button.confirm {
    background: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border: none;
  }
  .thanks {
    margin-top: 160px;
  }
  .thanks p {
    text-align: center;
  }
  /* ここまで */
}

/* ==========================================================================
  TOP追従バナー
========================================================================== */
#fixed-banner {
  z-index: 1000;
  position: fixed;
  right: 40px;
  bottom: 40px;
  left: unset;
}
#fixed-banner　.show-fadein {
  -webkit-animation: fadein .3s ease-in;
  display: block;
  animation: fadein .3s ease-in;
}
.fixed-banner-wrapper {
  max-width: 920px;
}
#close-btn {
  position: absolute;
  top: -8px;
  left: -10px;
  width: 20px;
  height: 20px;
  float: right;
  color: #5d5d5d;
  font-weight: bold;
  font-size: 22px;
  line-height: 1;
  text-align: center;
  cursor: pointer;
}
.fixed-banner-sp-img {
  max-width: 214px;
}

@media all and (width < 48rem) {

  #fixed-banner {
    width: 50%;
    left: 20px;
    bottom: 20px;
    right: unset;
  }

}