@charset "UTF-8";
@font-face {
  font-family: "ttl";
  src: url("../font/LINESeedJP_TTF_Rg.ttf") format("truetype"); }
/*--------------------
共通設定
----------------------*/
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  text-decoration: none;
  color: #3d496d;
  transition: .4s; }
  a:hover {
    opacity: .7; }
  a:visited {
    color: transparent; }
  a.disabled {
    pointer-events: none;
    text-decoration: none; }

ul, ol {
  list-style: none; }

.pc {
  display: block; }
  @media screen and (max-width: 1100px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 1100px) {
    .sp {
      display: block; } }

html, body {
  overflow-x: visible;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  height: -webkit-fill-available;
  min-height: -webkit-fill-available; }

.fs-l-page {
  overflow: visible; }

.wrapper {
  margin: 0 auto !important; }

main {
  max-width: 100%; }

.mainBox {
  margin: 0 auto !important; }

footer {
  position: relative;
  z-index: 9999; }

html.lenis, html.lenis body {
  height: auto; }

.fadeIn {
  opacity: 0;
  transition: opacity 1.5s; }
  .fadeIn.visible {
    opacity: 1; }

/*--------------------------------------------*/
.lp_wrapper {
  margin: 0 0 0 auto;
  padding: 0;
  color: #3d496d;
  letter-spacing: 0;
  font-size: 14px;
  text-align: center;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  letter-spacing: 0;
  font-weight: 300;
  font-style: normal;
  width: 100%;
  max-width: 50%;
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), rgba(169, 173, 168, 0.2) calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), rgba(169, 173, 168, 0.2) calc(100% - 1px));
  background-size: 44px 44px;
  background-repeat: repeat;
  background-position: center center; }
  @media screen and (max-width: 1100px) {
    .lp_wrapper {
      width: 100%;
      max-width: none;
      padding: 0 10%;
      display: block; } }
  @media screen and (max-width: 500px) {
    .lp_wrapper {
      width: 100%;
      padding: 0; } }
  .lp_wrapper header {
    width: calc(100%/2);
    box-sizing: border-box;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 60px;
    display: flex;
    align-items: flex-end;
    background: #ffffff;
    border-right: 1px solid #3d496d; }
    @media screen and (max-width: 1100px) {
      .lp_wrapper header {
        display: none; } }
    .lp_wrapper header .bg {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: calc(100% - 60px);
      z-index: 1;
      font-size: 0;
      line-height: 0; }
      @media screen and (max-width: 1100px) {
        .lp_wrapper header .bg {
          display: none; } }
      .lp_wrapper header .bg .inner {
        position: absolute;
        left: 0;
        top: 0;
        opacity: 0;
        width: 100%;
        height: 100%; }
        .lp_wrapper header .bg .inner .swiper .swiper-slide.color1 {
          background: #ef4848; }
        .lp_wrapper header .bg .inner .swiper .swiper-slide.color2 {
          background: #f7ce26; }
        .lp_wrapper header .bg .inner .swiper .swiper-slide.color3 {
          background: #538aea; }
        .lp_wrapper header .bg .inner .swiper .swiper-slide.color4 {
          background: #9a82db; }
        .lp_wrapper header .bg .inner .swiper .swiper-slide.color5 {
          background: #61ef56; }
        .lp_wrapper header .bg .inner .swiper .swiper-slide.color6 {
          background: #f492a9; }
        .lp_wrapper header .bg .inner .swiper .swiper-slide.color7 {
          background: #f77e23; }
        .lp_wrapper header .bg .inner .swiper img {
          width: auto;
          height: 100vh;
          object-fit: contain; }
        .lp_wrapper header .bg .inner.bg__box02 {
          background: #ffffff;
          z-index: 4; }
          .lp_wrapper header .bg .inner.bg__box02 .pc_box {
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0; }
          .lp_wrapper header .bg .inner.bg__box02 .link {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            width: 90%;
            max-width: 600px; }
            .lp_wrapper header .bg .inner.bg__box02 .link li {
              width: calc(100%/2 - 3%);
              margin-bottom: 6%; }
              .lp_wrapper header .bg .inner.bg__box02 .link li a {
                display: block;
                height: fit-content;
                padding: 1.0em 1.5em;
                font-family: "comba", sans-serif;
                color: #ffffff;
                font-size: 16px;
                line-height: 1.0;
                border-radius: 50vh;
                text-align: left;
                position: relative; }
                @media screen and (max-width: 500px) {
                  .lp_wrapper header .bg .inner.bg__box02 .link li a {
                    font-size: 13px;
                    padding: 1.2em 1.5em; } }
                .lp_wrapper header .bg .inner.bg__box02 .link li a::after {
                  position: absolute;
                  content: "";
                  background: url("../images/SVG/arrow.svg") no-repeat;
                  background-size: contain;
                  width: 16px;
                  height: 13px;
                  top: 50%;
                  right: 1.5em;
                  transform: translateY(-50%); }
                .lp_wrapper header .bg .inner.bg__box02 .link li a.color1 {
                  background: #ef4848; }
                .lp_wrapper header .bg .inner.bg__box02 .link li a.color2 {
                  background: #f7ce26; }
                .lp_wrapper header .bg .inner.bg__box02 .link li a.color3 {
                  background: #538aea; }
                .lp_wrapper header .bg .inner.bg__box02 .link li a.color4 {
                  background: #9a82db; }
                .lp_wrapper header .bg .inner.bg__box02 .link li a.color5 {
                  background: #61ef56; }
                .lp_wrapper header .bg .inner.bg__box02 .link li a.color6 {
                  background: #f492a9; }
                .lp_wrapper header .bg .inner.bg__box02 .link li a.color7 {
                  background: #f77e23; }

#color1, #color2, #color3, #color4, #color5, #color6, #color7 {
  padding-top: 60px; }

.lp_main {
  margin-top: -60px;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
  overflow: hidden; }
  .lp_main .sp_box {
    display: none; }
    @media screen and (max-width: 1100px) {
      .lp_main .sp_box {
        display: block; } }
  .lp_main .link {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 90%;
    max-width: 600px;
    margin: 10% auto; }
    @media screen and (max-width: 500px) {
      .lp_main .link {
        width: 80%; } }
    .lp_main .link li {
      width: calc(100%/2 - 3%);
      margin-bottom: 6%; }
      .lp_main .link li a {
        display: block;
        height: fit-content;
        padding: 1.0em 1.5em;
        font-family: "comba", sans-serif;
        color: #ffffff;
        font-size: 16px;
        line-height: 1.0;
        border-radius: 50vh;
        text-align: left;
        position: relative; }
        @media screen and (max-width: 500px) {
          .lp_main .link li a {
            font-size: 12px;
            padding: 1.2em 1.5em; } }
        .lp_main .link li a::after {
          position: absolute;
          content: "";
          background: url("../images/SVG/arrow.svg") no-repeat;
          background-size: contain;
          width: 16px;
          height: 13px;
          top: 50%;
          right: 1.5em;
          transform: translateY(-50%); }
        .lp_main .link li a.color1 {
          background: #ef4848; }
        .lp_main .link li a.color2 {
          background: #f7ce26; }
        .lp_main .link li a.color3 {
          background: #538aea; }
        .lp_main .link li a.color4 {
          background: #9a82db; }
        .lp_main .link li a.color5 {
          background: #61ef56; }
        .lp_main .link li a.color6 {
          background: #f492a9; }
        .lp_main .link li a.color7 {
          background: #f77e23; }
  .lp_main .color-section {
    width: 100%;
    /*min-height: 100vh;*/ }
  .lp_main h1 {
    font-size: min(1.2em, 3.5vw);
    font-weight: 500;
    margin: 15% auto 0;
    line-height: 2.0; }
    .lp_main h1 span {
      font-size: 70%; }
    @media screen and (max-width: 500px) {
      .lp_main h1 {
        margin-top: 25%; } }
  .lp_main .box--01 p {
    margin: 0 auto 15%;
    font-size: min(1.2em, 3.5vw);
    font-weight: 500;
    line-height: 2.0; }
  .lp_main .anchor {
    padding-top: 60px;
    margin-top: -60px; }
  .lp_main .line_marker {
    margin: 10% auto;
    position: relative;
    font-family: "comba", sans-serif;
    font-size: 16px;
    font-weight: 600; }
    .lp_main .line_marker span {
      font-size: 100%;
      width: 110px;
      display: block;
      margin: 0 auto;
      position: relative; }
      .lp_main .line_marker span::after {
        content: "(";
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        line-height: 1.0; }
      .lp_main .line_marker span::before {
        content: ")";
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        line-height: 1.0; }
    .lp_main .line_marker::before, .lp_main .line_marker::after {
      content: "";
      position: absolute;
      width: calc(100%/2 - 53px);
      background: #3d496d;
      height: 1px; }
    .lp_main .line_marker::before {
      top: 50%;
      transform: translateY(-50%);
      left: 0; }
    .lp_main .line_marker::after {
      top: 50%;
      transform: translateY(-50%);
      right: 0; }
  .lp_main .color_box {
    width: 80%;
    margin: 0 auto;
    max-width: 500px; }
    @media screen and (max-width: 500px) {
      .lp_main .color_box {
        width: 100%; } }
  .lp_main .sizelist {
    width: 90%;
    margin: 0 auto; }
    .lp_main .sizelist li {
      display: flex;
      align-items: center;
      justify-content: space-between;
      background: #ffffff;
      border: 1px solid #3d496d;
      width: 100%;
      border-top-left-radius: 20px;
      margin-bottom: 32px; }
      .lp_main .sizelist li div {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding: 16px; }
        @media screen and (max-width: 500px) {
          .lp_main .sizelist li div {
            padding: 8px; } }
        .lp_main .sizelist li div p {
          font-size: min(0.8em, 2.7vw);
          text-align: left;
          margin-left: 1.0em;
          font-weight: 500; }
        .lp_main .sizelist li div:nth-child(1) {
          width: 40%; }
          @media screen and (max-width: 500px) {
            .lp_main .sizelist li div:nth-child(1) {
              padding-left: 16px; } }
        .lp_main .sizelist li div:nth-child(2) {
          width: 60%;
          justify-content: flex-end;
          background-image: radial-gradient(circle, #3d496d 1px, transparent 1px);
          background-position: left top;
          background-repeat: repeat-y;
          background-size: 1px 10px;
          align-items: flex-end; }
  .lp_main .itemlist {
    background: #ffffff;
    border: solid #3d496d;
    border-width: 1px 0;
    padding-bottom: 12%;
    margin: 15% auto 0; }
    .lp_main .itemlist .swiper2 .swiper-button-prev,
    .lp_main .itemlist .swiper2 .swiper-button-next {
      height: 50px;
      width: 50px;
      top: 40%; }
      @media screen and (max-width: 1500px) {
        .lp_main .itemlist .swiper2 .swiper-button-prev,
        .lp_main .itemlist .swiper2 .swiper-button-next {
          top: 35%; } }
    .lp_main .itemlist .swiper2 .swiper-button-prev {
      left: 30%; }
      @media screen and (max-width: 1500px) {
        .lp_main .itemlist .swiper2 .swiper-button-prev {
          left: 20%; } }
      @media screen and (max-width: 500px) {
        .lp_main .itemlist .swiper2 .swiper-button-prev {
          left: 15%; } }
    .lp_main .itemlist .swiper2 .swiper-button-next {
      right: 30%; }
      @media screen and (max-width: 1500px) {
        .lp_main .itemlist .swiper2 .swiper-button-next {
          right: 20%; } }
      @media screen and (max-width: 500px) {
        .lp_main .itemlist .swiper2 .swiper-button-next {
          right: 15%; } }
    .lp_main .itemlist .swiper2 .swiper-button-prev::after,
    .lp_main .itemlist .swiper2 .swiper-button-next::after {
      background-repeat: no-repeat;
      background-size: contain;
      content: "";
      height: 40px;
      margin: auto;
      width: 40px; }
    .lp_main .itemlist .swiper2 .swiper-button-prev::after {
      background-image: url("../images/SVG/back.svg"); }
    .lp_main .itemlist .swiper2 .swiper-button-next::after {
      background-image: url("../images/SVG/next.svg"); }
    .lp_main .itemlist .swiper2 .swiper-slide img {
      height: auto;
      width: 100%; }
    .lp_main .itemlist h3 {
      font-weight: 500;
      font-size: min(0.9em, 3vw); }
    .lp_main .itemlist p {
      font-size: min(0.9em, 3vw);
      font-weight: 500;
      margin: 8px auto;
      line-height: 1.8;
      white-space: pre-wrap; }
      @media screen and (max-width: 500px) {
        .lp_main .itemlist p {
          line-height: 1.5; } }
      .lp_main .itemlist p span {
        letter-spacing: .05em;
        font-size: 70%;
        margin: 0 4px; }
      .lp_main .itemlist p img {
        width: auto;
        height: 12px !important; }
    .lp_main .itemlist a {
      display: block;
      width: 70%;
      margin: 24px auto 0;
      padding: 1.0em 1.5em;
      font-family: "comba", sans-serif;
      color: #ffffff;
      font-size: 14px;
      line-height: 1.0;
      border-radius: 50vh;
      text-align: center;
      position: relative;
      max-width: 170px; }
      @media screen and (max-width: 500px) {
        .lp_main .itemlist a {
          width: 50%;
          font-size: 12px; } }
      .lp_main .itemlist a::after {
        position: absolute;
        content: "";
        background: url("../images/SVG/arrow.svg") no-repeat;
        background-size: contain;
        width: 16px;
        height: 13px;
        top: 50%;
        right: 1.5em;
        transform: translateY(-50%); }
        @media screen and (max-width: 500px) {
          .lp_main .itemlist a::after {
            right: 1.0em; } }
      .lp_main .itemlist a.color1 {
        background: #ef4848; }
      .lp_main .itemlist a.color2 {
        background: #f7ce26; }
      .lp_main .itemlist a.color3 {
        background: #538aea; }
      .lp_main .itemlist a.color4 {
        background: #9a82db; }
      .lp_main .itemlist a.color5 {
        background: #61ef56; }
      .lp_main .itemlist a.color6 {
        background: #f492a9; }
      .lp_main .itemlist a.color7 {
        background: #f77e23; }
  .lp_main .btn {
    border-bottom: 1px solid #3d496d;
    margin-bottom: 20%; }
    .lp_main .btn a {
      color: #ffffff;
      display: block;
      padding: 2.0em;
      font-size: min(1.2em, 3.5vw);
      position: relative; }
      .lp_main .btn a.color1 {
        background: #ef4848; }
      .lp_main .btn a.color2 {
        background: #f7ce26; }
      .lp_main .btn a.color3 {
        background: #538aea; }
      .lp_main .btn a.color4 {
        background: #9a82db; }
      .lp_main .btn a.color5 {
        background: #61ef56; }
      .lp_main .btn a.color6 {
        background: #f492a9; }
      .lp_main .btn a.color7 {
        background: #f77e23; }
      .lp_main .btn a::after {
        position: absolute;
        content: "";
        background: url("../images/SVG/arrow.svg") no-repeat;
        background-size: contain;
        width: 16px;
        height: 13px;
        top: 50%;
        right: 3.0em;
        transform: translateY(-50%); }

#backToTop {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease; }

#backToTop.show {
  opacity: 1;
  pointer-events: auto; }
