/*! Writen  by SCSS */
.text_yellow {
  color: #ffff83; }

.sec_head {
  text-align: center;
  font-size: clamp(24px, 3.88vw, 56px);
  line-height: 1.4;
  font-weight: 600; }
  @media screen and (max-width: 480px) {
    .sec_head {
      font-size: 8.7vw;
      margin-left: -20px;
      margin-right: -20px; } }
  .sec_head + .lead {
    text-align: center;
    margin-top: clamp(30px, 4.17%, 50px);
    margin-bottom: clamp(40px, 5%, 60px); }

.lead {
  font-size: clamp(16px, 1.61vw, 20px); }
  @media screen and (max-width: 480px) {
    .lead {
      font-size: 3.87vw;
      font-weight: 600; } }

.read {
  font-size: clamp(13px, 1.45vw, 18px); }
  @media screen and (max-width: 480px) {
    .read {
      font-size: 3.39vw; } }

.sec_main {
  position: relative;
  z-index: 1;
  padding-top: 54.38%;
  background: url("../images/lp/bg.jpg") center/cover no-repeat; }
  @media screen and (max-width: 480px) {
    .sec_main {
      padding-top: 178.75%;
      background: url("../images/lp/bg_sp.jpg") center/cover no-repeat; } }
  .sec_main img {
    width: 100%; }
  .sec_main .main_center {
    position: absolute;
    z-index: 1;
    width: 59.69%;
    top: 7.59%;
    left: 19.07%;
    clip-path: inset(0 0 100% 0);
    transition-property: clip-path;
    transition-duration: 0.4s;
    transition-timing-function: ease-in-out;
    transition-delay: 0.6s; }
    .loaded .sec_main .main_center {
      clip-path: inset(0); }
    @media screen and (max-width: 480px) {
      .sec_main .main_center {
        position: absolute;
        left: 0;
        right: 0;
        top: 18.25%;
        margin: auto;
        width: 90.34%; } }
    .sec_main .main_center .main_circle {
      position: absolute;
      z-index: -1;
      width: 67.02%;
      top: 0;
      left: 18.33%;
      animation-name: main_rotate;
      animation-iteration-count: infinite;
      animation-timing-function: ease-in-out;
      animation-direction: alternate;
      animation-duration: 20s;
      transition-property: opacity;
      transition-duration: 0.8s;
      transition-delay: 1.4s;
      transition-timing-function: ease-in-out;
      opacity: 0; }
      .loaded .sec_main .main_center .main_circle {
        opacity: 1; }
  .sec_main .main_illust {
    position: absolute;
    transition-property: transform,opacity;
    transition-duration: 0.4s;
    transition-timing-function: ease-in-out;
    opacity: 0;
    transform: translateY(20px); }
    @media screen and (max-width: 480px) {
      .sec_main .main_illust {
        z-index: 2; } }
    .loaded .sec_main .main_illust {
      opacity: 1;
      transform: translateY(0px); }
  .sec_main .main_left_01 {
    width: 9.19%;
    top: 21.38%;
    left: 4.88%;
    transition-delay: 2s; }
    @media screen and (max-width: 480px) {
      .sec_main .main_left_01 {
        width: 12.57%;
        left: 9.67%;
        top: 14.87%; } }
    .loaded .sec_main .main_left_01 {
      animation-name: main_float;
      animation-iteration-count: infinite;
      animation-timing-function: ease-in-out;
      animation-direction: alternate;
      animation-duration: 2s; }
  .sec_main .main_left_02 {
    width: 14.88%;
    top: 51.73%;
    left: 2.5%;
    transition-delay: 2.2s; }
    @media screen and (max-width: 480px) {
      .sec_main .main_left_02 {
        width: 30.92%;
        left: 4.84%;
        top: 58.52%; } }
  .sec_main .main_right_01 {
    width: 9.13%;
    top: 23.45%;
    right: 4.07%;
    transition-delay: 1.8s; }
    @media screen and (max-width: 480px) {
      .sec_main .main_right_01 {
        width: 12.57%;
        right: 31.41%;
        top: 58.52%; } }
  .sec_main .main_right_02 {
    width: 6.94%;
    top: 48.86%;
    right: 8.63%;
    transition-delay: 1.4s; }
    @media screen and (max-width: 480px) {
      .sec_main .main_right_02 {
        width: 12.57%;
        right: 9.67%;
        top: 62.17%; } }
    .loaded .sec_main .main_right_02 {
      animation-name: main_float;
      animation-iteration-count: infinite;
      animation-timing-function: ease-in-out;
      animation-direction: alternate;
      animation-duration: 1s;
      animation-delay: 0.5s; }
  .sec_main .main_right_03 {
    width: 15.75%;
    top: 74.14%;
    right: 2.82%;
    transition-delay: 1.2s; }
    @media screen and (max-width: 480px) {
      .sec_main .main_right_03 {
        width: 30.44%;
        right: 2.42%;
        top: 10.82%; } }
  .sec_main .main_sub {
    position: absolute;
    z-index: 3;
    width: 32.75%;
    left: 1.44%;
    bottom: 1.96%;
    transition-property: transform,opacity;
    transition-duration: 0.4s;
    transition-timing-function: ease-in-out;
    opacity: 0;
    transform: translateY(20px);
    transition-delay: 2s; }
    @media screen and (max-width: 480px) {
      .sec_main .main_sub {
        width: 93.72%;
        left: 0;
        right: 0;
        margin-inline: auto;
        bottom: 3.38%; } }
    .loaded .sec_main .main_sub {
      opacity: 1;
      transform: translateY(0px); }

@keyframes main_rotate {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(360deg); } }
@keyframes main_float {
  0% {
    transform: translateY(-5%); }
  100% {
    transform: translateY(5%); } }
.sec01 {
  position: relative;
  padding-bottom: 15.63%; }
  .sec01::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    bottom: 0;
    padding-top: 22.5%;
    background: url("../images/lp/bg_gradient_top.svg") top center/cover no-repeat; }
    @media screen and (max-width: 480px) {
      .sec01::after {
        content: none; } }

.sec02 {
  position: relative;
  z-index: 2;
  margin-top: -15.62%;
  margin-bottom: -10.62%;
  background: linear-gradient(90deg, #63d9a3 0%, #64d1da 26%, #30a6d4 100%); }
  @media screen and (max-width: 480px) {
    .sec02 {
      margin-top: -36.23%;
      padding-top: 28.99%;
      padding-bottom: 36.24%;
      background: url("../images/lp/bg_gradient_sp.svg") center/100% auto no-repeat; } }

.sec03,
.sec05 {
  background-position: top left;
  background-image: url("../images/lp/bg_pattern.png");
  background-repeat: repeat;
  background-size: 32px 64px; }
  @media screen and (max-width: 768px) {
    .sec03,
    .sec05 {
      background-size: 16px 32px; } }

.sec03 {
  padding-top: 25%;
  position: relative;
  z-index: 1;
  padding-bottom: clamp(60px, 8.34%, 100px); }
  @media screen and (max-width: 480px) {
    .sec03 {
      padding-top: 80px;
      padding-bottom: 50px; } }
  .sec03::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    top: 0;
    padding-top: 22.5%;
    background: url("../images/lp/bg_gradient_bottom.svg") bottom center/cover no-repeat; }
    @media screen and (max-width: 480px) {
      .sec03::before {
        content: none; } }

.sec04 {
  padding-top: clamp(50px, 6.67%, 80px);
  padding-bottom: clamp(30px, 4.17%, 50px);
  color: #fff;
  background: linear-gradient(90deg, #63d9a3 0%, #64d1da 26%, #30a6d4 100%); }
  @media screen and (max-width: 480px) {
    .sec04 {
      padding-top: 50px;
      padding-bottom: 50px; } }

.sec05 {
  padding-top: clamp(50px, 6.67%, 80px);
  padding-bottom: clamp(80px, 10%, 120px); }
  @media screen and (max-width: 480px) {
    .sec05 {
      padding-top: 50px;
      padding-bottom: 40px; } }

.sec01_top {
  padding-top: clamp(50px, 6.67%, 80px);
  padding-bottom: clamp(40px, 5%, 60px);
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 480px) {
    .sec01_top {
      padding-top: 30px; } }
  .sec01_top .sec01_lead {
    color: #fff;
    margin-bottom: 1em; }
    @media screen and (max-width: 480px) {
      .sec01_top .sec01_lead {
        margin-bottom: 0.6em; } }
  .sec01_top::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, #63d9a3 0%, #64d1da 26%, #30a6d4 100%);
    mask-image: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, white 50%); }
  .sec01_top .sec01_t_bg_box {
    max-width: 1200px;
    margin-inline: auto;
    background: #fff;
    border-radius: 20px;
    position: relative;
    padding-top: clamp(30px, 4.17%, 50px);
    padding-bottom: clamp(40px, 5%, 60px); }
    @media screen and (max-width: 480px) {
      .sec01_top .sec01_t_bg_box {
        width: calc(100% - 40px);
        padding-top: 20px;
        padding-bottom: 30px; } }
    .sec01_top .sec01_t_bg_box::after {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      margin-inline: auto;
      top: 100%;
      width: 3.34%;
      padding-top: 2.5%;
      background: #fff;
      clip-path: polygon(50% 100%, 0 0, 100% 0); }
      @media screen and (max-width: 480px) {
        .sec01_top .sec01_t_bg_box::after {
          width: 40px;
          padding-top: 30px; } }
    .sec01_top .sec01_t_bg_box .inner {
      max-width: 1120px;
      position: relative; }
      @media screen and (max-width: 480px) {
        .sec01_top .sec01_t_bg_box .inner {
          width: calc(100% - 30px); } }
      .sec01_top .sec01_t_bg_box .inner .sec01_bg_head {
        text-align: center;
        font-weight: 600;
        font-size: clamp(20px, 2.9vw, 36px);
        margin-bottom: 1.38em; }
        @media screen and (max-width: 480px) {
          .sec01_top .sec01_t_bg_box .inner .sec01_bg_head {
            font-size: 4.11vw;
            line-height: 2; } }
        .sec01_top .sec01_t_bg_box .inner .sec01_bg_head .text {
          background: linear-gradient(transparent 70%, #ffc936 70%);
          padding-bottom: 0.19em; }
      .sec01_top .sec01_t_bg_box .inner .sec01_t_list {
        font-size: clamp(12px, 1.45vw, 18px);
        line-height: 1;
        display: grid;
        grid-auto-flow: column;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(8, 1fr);
        gap: 1.33em 2.77em; }
        @media screen and (max-width: 480px) {
          .sec01_top .sec01_t_bg_box .inner .sec01_t_list {
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;
            font-size: 3.39vw;
            gap: 0.6em;
            line-height: 1.4;
            font-weight: 900;
            max-height: 25em; } }
        .sec01_top .sec01_t_bg_box .inner .sec01_t_list .item {
          display: flex;
          align-items: center;
          gap: 0.66em; }
          @media screen and (max-width: 480px) {
            .sec01_top .sec01_t_bg_box .inner .sec01_t_list .item {
              align-items: flex-start;
              gap: 0.5em; } }
          .sec01_top .sec01_t_bg_box .inner .sec01_t_list .item .icon_check {
            width: 1.55em;
            flex-shrink: 0;
            line-height: 0; }
            @media screen and (max-width: 480px) {
              .sec01_top .sec01_t_bg_box .inner .sec01_t_list .item .icon_check {
                margin-top: 0.3em;
                width: 1.2em; } }
    .sec01_top .sec01_t_bg_box .sec01_illust {
      position: absolute;
      max-width: 199px;
      width: 16.59%;
      bottom: 0;
      right: 8.92%; }
      @media screen and (max-width: 480px) {
        .sec01_top .sec01_t_bg_box .sec01_illust {
          width: 22.73%;
          bottom: -50px;
          right: 10.7%; } }

.sec01_center {
  padding-top: clamp(25px, 3.34%, 40px);
  position: relative; }
  @media screen and (max-width: 480px) {
    .sec01_center {
      padding-top: 40px; } }
  .sec01_center .sec01_c_head {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: clamp(28px, 3.22vw, 40px);
    line-height: 1;
    font-weight: 600;
    margin-bottom: 1em; }
    @media screen and (max-width: 480px) {
      .sec01_center .sec01_c_head {
        font-size: 6.29vw; } }
    .sec01_center .sec01_c_head .text_top {
      font-size: 0.8em;
      position: relative;
      padding-bottom: 0.3em;
      margin-bottom: 0.6em; }
      @media screen and (max-width: 480px) {
        .sec01_center .sec01_c_head .text_top {
          font-size: 1em; } }
      .sec01_center .sec01_c_head .text_top::after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        border-bottom: 2px dotted #453c39; }
    .sec01_center .sec01_c_head .text_bottom {
      display: flex;
      align-items: baseline;
      justify-content: center;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 480px) {
        .sec01_center .sec01_c_head .text_bottom {
          font-size: 1.3em;
          flex-wrap: wrap;
          gap: 0.4em 0;
          letter-spacing: 0.05em;
          align-items: center; } }
      .sec01_center .sec01_c_head .text_bottom .text_lg {
        font-size: 1.8em;
        color: #002fb4;
        letter-spacing: 0.1em;
        clip-path: inset(0 100% 0 0);
        transition-property: clip-path;
        transition-duration: 0.8s;
        transition-timing-function: ease-in-out; }
        @media screen and (max-width: 480px) {
          .sec01_center .sec01_c_head .text_bottom .text_lg {
            font-size: 1.35em; } }
      .sec01_center .sec01_c_head .text_bottom .text_bottom_left {
        display: flex;
        align-items: baseline;
        justify-content: center; }
      .sec01_center .sec01_c_head .text_bottom .text_bottom_in {
        display: flex;
        align-items: flex-end;
        transition-property: transform,opacity;
        transition-duration: 0.8s;
        transition-timing-function: ease-in-out;
        opacity: 0;
        transform: translateY(30px);
        transition-delay: 0.6s; }
        @media screen and (max-width: 480px) {
          .sec01_center .sec01_c_head .text_bottom .text_bottom_in {
            justify-content: center;
            transform: translateY(20px); } }
      .sec01_center .sec01_c_head .text_bottom .text_question {
        width: 1.27em;
        line-height: 0;
        margin-left: 0.4em; }
        @media screen and (max-width: 480px) {
          .sec01_center .sec01_c_head .text_bottom .text_question {
            width: 0.85em;
            margin-left: 0.2em; } }
    .sec01_center .sec01_c_head.p-view .text_bottom .text_lg {
      clip-path: inset(0); }
    .sec01_center .sec01_c_head.p-view .text_bottom .text_bottom_in {
      opacity: 1;
      transform: translateY(0px); }
  .sec01_center .sec01_c_list {
    align-items: flex-start; }
    @media screen and (max-width: 480px) {
      .sec01_center .sec01_c_list {
        flex-direction: column;
        gap: 8.46vw 0;
        margin-inline: auto; } }
    .sec01_center .sec01_c_list .item {
      max-width: 365px;
      width: 30.42%; }
      @media screen and (max-width: 480px) {
        .sec01_center .sec01_c_list .item {
          max-width: none;
          width: 100%; } }
      .sec01_center .sec01_c_list .item.item01 {
        margin-top: 5%; }
        @media screen and (max-width: 480px) {
          .sec01_center .sec01_c_list .item.item01 {
            margin-top: 0; } }
      .sec01_center .sec01_c_list .item.item03 {
        margin-top: 4.59%; }
        @media screen and (max-width: 480px) {
          .sec01_center .sec01_c_list .item.item03 {
            margin-top: 0; } }
  .sec01_center .bg_question {
    position: absolute;
    inset: 0;
    z-index: -1; }
    .sec01_center .bg_question .bg_question_item {
      position: absolute;
      top: 0;
      transition-property: transform,opacity;
      transition-duration: 0.8s;
      transition-timing-function: ease-in-out;
      opacity: 0;
      transform: translateY(30px); }
      @media screen and (max-width: 480px) {
        .sec01_center .bg_question .bg_question_item {
          transform: translateY(20px); } }
    .sec01_center .bg_question.p-view .bg_question_item {
      opacity: 1;
      transform: translateY(0px); }
    .sec01_center .bg_question img {
      width: 100%; }
    .sec01_center .bg_question .bg_question_item_01 {
      width: 8.82%;
      left: 5.32%;
      margin-top: 8.88%;
      transition-delay: 0.4s; }
      @media screen and (max-width: 480px) {
        .sec01_center .bg_question .bg_question_item_01 {
          width: 34.3%;
          margin-top: 140.1%;
          right: 0;
          left: auto; } }
    .sec01_center .bg_question .bg_question_item_02 {
      width: 6.07%;
      right: 4.38%;
      margin-top: 8.38%;
      transition-delay: 0.8s; }
      @media screen and (max-width: 480px) {
        .sec01_center .bg_question .bg_question_item_02 {
          width: 23.43%;
          margin-top: 215.46%;
          left: 0;
          right: auto; } }
    .sec01_center .bg_question .bg_question_item_03 {
      width: 4.32%;
      left: 32.5%;
      margin-top: 12.63%;
      transition-delay: 1.2s; }
      @media screen and (max-width: 480px) {
        .sec01_center .bg_question .bg_question_item_03 {
          width: 16.91%;
          margin-top: 57.98%;
          left: 6.04%; } }
    .sec01_center .bg_question .bg_question_item_04 {
      width: 10.57%;
      right: 27.82%;
      margin-top: 2.94%;
      transition-delay: 1.6s; }
      @media screen and (max-width: 480px) {
        .sec01_center .bg_question .bg_question_item_04 {
          width: 41.07%;
          margin-top: 19.33%;
          right: 0; } }

.arrow {
  z-index: 2;
  max-width: 40px;
  width: 3.34%;
  margin-top: clamp(-25px, -2.08%, -15px);
  margin-inline: auto;
  clip-path: inset(0 0 100% 0);
  transition-property: clip-path;
  transition-duration: 0.8s;
  transition-timing-function: ease-in-out; }
  @media screen and (max-width: 480px) {
    .arrow {
      margin-top: 30px;
      width: 20px; } }
  .arrow.p-view {
    clip-path: inset(0);
    animation: move 2s ease-in-out 0s alternate infinite; }
  .arrow img {
    display: block;
    line-height: 0; }

@keyframes move {
  0% {
    transform: translateY(-10px); }
  100% {
    transform: translateY(10px); } }
.sec01_bottom {
  padding-top: clamp(25px, 3.34%, 40px); }
  .sec01_bottom .sec01_b_head {
    max-width: 1251px;
    width: 89.36%;
    margin-inline: auto;
    margin-bottom: clamp(40px, 5%, 60px); }
  .sec01_bottom .lead_wrap {
    text-align: center;
    line-height: 2.5; }
    @media screen and (max-width: 480px) {
      .sec01_bottom .lead_wrap {
        line-height: 2; } }
    .sec01_bottom .lead_wrap + .lead_wrap {
      margin-top: 0.5em; }
      @media screen and (max-width: 480px) {
        .sec01_bottom .lead_wrap + .lead_wrap {
          margin-top: 1em; } }
  .sec01_bottom .sec01_b_illust_box {
    margin-top: clamp(40px, 5.84%, 70px);
    max-width: 840px;
    width: 70%;
    margin-inline: auto;
    position: relative; }
    @media screen and (max-width: 480px) {
      .sec01_bottom .sec01_b_illust_box {
        margin-top: 60px;
        width: 100%; } }
    .sec01_bottom .sec01_b_illust_box .illust {
      display: block;
      max-width: 657px;
      width: 78.22%;
      margin-inline: auto; }
      @media screen and (max-width: 480px) {
        .sec01_bottom .sec01_b_illust_box .illust {
          width: 89.19%; } }
    .sec01_bottom .sec01_b_illust_box .illust_02_sub {
      position: absolute; }
    .sec01_bottom .sec01_b_illust_box .illust_02_sub_light {
      max-width: 68px;
      width: 8.1%;
      top: 2.1%;
      left: 2.39%;
      animation: animation_opacity 1s steps(2, end) 0s alternate infinite; }
      @media screen and (max-width: 480px) {
        .sec01_bottom .sec01_b_illust_box .illust_02_sub_light {
          width: 9.1%;
          top: 2.95%;
          left: -1.33%; } }
    .sec01_bottom .sec01_b_illust_box .illust_02_sub_exclamation {
      max-width: 44px;
      width: 5.24%;
      top: 5.39%;
      right: 6.43%;
      animation: animation_opacity 1.5s steps(2, end) 0s alternate-reverse infinite; }
      @media screen and (max-width: 480px) {
        .sec01_bottom .sec01_b_illust_box .illust_02_sub_exclamation {
          width: 5.89%;
          top: 2.95%;
          right: -0.26%; } }

@keyframes animation_opacity {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.sec02 .inner {
  max-width: 1400px;
  padding-top: clamp(25px, 3.34%, 40px); }
  @media screen and (max-width: 480px) {
    .sec02 .inner {
      padding-top: 0; } }
  .sec02 .inner .sec02_head {
    max-width: 1025px;
    width: 73.22%;
    margin-inline: auto;
    line-height: 0; }
    @media screen and (max-width: 480px) {
      .sec02 .inner .sec02_head {
        width: 100%; } }
    .sec02 .inner .sec02_head .text_yellow {
      text-emphasis: filled; }
  .sec02 .inner .lead {
    color: #fff; }

.sec02_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(25px, 4.29vw, 60px) 5.71%; }
  @media screen and (max-width: 480px) {
    .sec02_list {
      grid-template-columns: 1fr;
      gap: 30px 0; } }
  .sec02_list .item {
    position: relative;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.2);
    border-radius: 10px; }
    .sec02_list .item .item_illust {
      position: absolute;
      z-index: 1;
      bottom: 0; }
    .sec02_list .item .item_head {
      font-size: clamp(20px, 2.74vw, 34px);
      color: #1477b1;
      line-height: 1.32;
      background: #defdff;
      height: 3.52em;
      display: flex;
      align-items: center;
      padding: 0.29em 0.58em; }
      @media screen and (max-width: 480px) {
        .sec02_list .item .item_head {
          font-size: 4.84vw;
          padding: 0.8em;
          height: 3.5em; } }
    .sec02_list .item .read {
      padding: 1em; }
      @media screen and (max-width: 480px) {
        .sec02_list .item .read {
          font-size: 3.39vw;
          line-height: 2.15; } }
      @media screen and (max-width: 480px) {
        .sec02_list .item .read .text_bottom {
          display: inline-block; } }
  .sec02_list .item01 .read {
    width: 78.79%; }
    @media screen and (max-width: 480px) {
      .sec02_list .item01 .read {
        width: 100%; } }
    @media screen and (max-width: 480px) {
      .sec02_list .item01 .read .text_bottom {
        width: 77.85%; } }
  .sec02_list .item01 .item_illust {
    max-width: 136px;
    width: 20.61%;
    right: 0; }
    @media screen and (max-width: 480px) {
      .sec02_list .item01 .item_illust {
        width: 23%; } }
  .sec02_list .item02 .read {
    width: 75.76%; }
    @media screen and (max-width: 480px) {
      .sec02_list .item02 .read {
        width: 100%; } }
    @media screen and (max-width: 480px) {
      .sec02_list .item02 .read .text_bottom {
        width: 62.88%; } }
  .sec02_list .item02 .item_illust {
    max-width: 200px;
    width: 30.31%;
    right: 0; }
    @media screen and (max-width: 480px) {
      .sec02_list .item02 .item_illust {
        width: 38.78%;
        margin-bottom: 1.34%; } }
  .sec02_list .item03 .read {
    width: 60.61%; }
    @media screen and (max-width: 480px) {
      .sec02_list .item03 .read {
        width: 100%; } }
    @media screen and (max-width: 480px) {
      .sec02_list .item03 .read .text_bottom {
        width: 59.89%; } }
  .sec02_list .item03 .item_illust {
    max-width: 239px;
    width: 36.22%;
    right: 3.04%;
    margin-bottom: 4.55%; }
    @media screen and (max-width: 480px) {
      .sec02_list .item03 .item_illust {
        width: 37.97%;
        right: 4.02%;
        margin-bottom: 4.02%; } }
  .sec02_list .item04 .read {
    width: 75.76%; }
    @media screen and (max-width: 480px) {
      .sec02_list .item04 .read {
        width: 100%; } }
    @media screen and (max-width: 480px) {
      .sec02_list .item04 .read .text_bottom {
        width: 74.86%; } }
  .sec02_list .item04 .item_illust {
    max-width: 141px;
    width: 21.37%;
    right: 3.04%;
    margin-bottom: 3.04%; }
    @media screen and (max-width: 480px) {
      .sec02_list .item04 .item_illust {
        width: 20.33%;
        right: 4.02%;
        margin-bottom: 6.69%; } }

.sec03 .sec03_head {
  margin-bottom: clamp(50px, 6.67%, 80px); }
  @media screen and (max-width: 480px) {
    .sec03 .sec03_head {
      margin-bottom: 25px; } }
.sec03 .sec03_wrap {
  align-items: flex-start; }
  @media screen and (max-width: 480px) {
    .sec03 .sec03_wrap {
      flex-direction: column;
      align-items: center;
      gap: 25px 0; } }
  .sec03 .sec03_wrap .profile_image {
    max-width: 370px;
    width: 30.84%; }
    @media screen and (max-width: 480px) {
      .sec03 .sec03_wrap .profile_image {
        width: 57.98%; } }
  .sec03 .sec03_wrap .text_box {
    width: 63.34%; }
    @media screen and (max-width: 480px) {
      .sec03 .sec03_wrap .text_box {
        width: 100%; } }
    .sec03 .sec03_wrap .text_box .name {
      width: fit-content;
      font-size: clamp(20px, 2.41vw, 30px);
      line-height: 1;
      display: flex;
      align-items: baseline;
      color: #05507e;
      padding-bottom: 1em;
      margin-bottom: 1em;
      border-bottom: 2px dotted;
      gap: 1em;
      font-weight: 600;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 480px) {
        .sec03 .sec03_wrap .text_box .name {
          margin-inline: auto;
          font-size: 5.8vw; } }
      .sec03 .sec03_wrap .text_box .name .text_lg {
        font-size: 1.4em;
        letter-spacing: 0.1em; }
    .sec03 .sec03_wrap .text_box .read {
      line-height: 2.78; }
      @media screen and (max-width: 480px) {
        .sec03 .sec03_wrap .text_box .read {
          font-weight: 600;
          text-align: center;
          line-height: 2.5; } }

@media screen and (max-width: 480px) {
  .sec04 .lead {
    font-size: 4.84vw; } }
.sec04 .lead .text_yellow {
  display: inline-block;
  border-bottom: 2px dotted; }

.sec04_wrap {
  max-width: 1200px;
  width: calc(100% - 40px);
  margin-inline: auto;
  position: relative;
  z-index: 2; }
  @media screen and (max-width: 480px) {
    .sec04_wrap {
      margin-left: 20px;
      width: calc(100% - 20px);
      gap: 0 5.07%; } }
  .sec04_wrap .sec04_wrap_head {
    width: 21.67%; }
    @media screen and (max-width: 480px) {
      .sec04_wrap .sec04_wrap_head {
        width: 33%; } }
  .sec04_wrap .sec04_contact_wrap_outer {
    width: 72.5%; }
    @media screen and (max-width: 480px) {
      .sec04_wrap .sec04_contact_wrap_outer {
        width: 61.93%;
        overflow-x: scroll;
        position: relative; } }
    @media screen and (max-width: 480px) {
      .sec04_wrap .sec04_contact_wrap_outer .icon_scroll {
        position: absolute;
        z-index: 2;
        pointer-events: none;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: opacity 0.3s ease-in-out;
        opacity: 0; }
        .sec04_wrap .sec04_contact_wrap_outer .icon_scroll.is-active {
          opacity: 1; }
        .sec04_wrap .sec04_contact_wrap_outer .icon_scroll img {
          position: absolute;
          inset: 0;
          margin: auto;
          max-width: 54px;
          width: 22.14%; } }
  .sec04_wrap .sec04_contact_wrap {
    position: relative; }
    @media screen and (max-width: 480px) {
      .sec04_wrap .sec04_contact_wrap {
        width: 293.45%;
        padding-right: 8.19%; } }
    .sec04_wrap .sec04_contact_wrap .sec04_contact_box {
      max-width: 260px;
      width: 29.89%; }
      .sec04_wrap .sec04_contact_wrap .sec04_contact_box .image_box {
        position: relative;
        line-height: 0; }
        @media screen and (max-width: 480px) {
          .sec04_wrap .sec04_contact_wrap .sec04_contact_box .image_box::after {
            content: "";
            display: block;
            position: absolute;
            inset: 0;
            z-index: 1;
            pointer-events: none;
            border-radius: 5px;
            border: 1px solid; } }
      .sec04_wrap .sec04_contact_wrap .sec04_contact_box .read {
        line-height: 1.67;
        margin-top: 0.6em;
        letter-spacing: 0.1em; }
    .sec04_wrap .sec04_contact_wrap::after {
      content: "";
      display: block;
      position: absolute;
      z-index: -1;
      left: 0;
      right: 0;
      top: 0;
      margin-top: 11.5%;
      border-top: 2px dotted; }
      @media screen and (max-width: 480px) {
        .sec04_wrap .sec04_contact_wrap::after {
          right: 20px; } }

.sec04_wrap_top .sec04_contact_wrap .sec04_contact_box .read .text_yellow {
  display: inline-block;
  font-size: 1.2em;
  letter-spacing: 0.1em; }

.sec04_wrap_bottom {
  margin-top: clamp(30px, 4.17%, 50px); }

.sec04_area_text {
  width: fit-content;
  margin-inline: auto;
  margin-top: clamp(30px, 4.17%, 50px);
  font-size: clamp(14px, 1.61vw, 20px);
  line-height: 1;
  background: #fff;
  padding: 0.8em 4em;
  position: relative;
  color: #096787;
  margin-bottom: clamp(40px, 5.84%, 70px);
  text-align: center; }
  @media screen and (max-width: 480px) {
    .sec04_area_text {
      width: 100%;
      padding: 0.8em 0;
      line-height: 1.4;
      margin-bottom: 20px; } }
  .sec04_area_text::after {
    content: "";
    display: block;
    position: absolute;
    inset: -0.25em;
    pointer-events: none;
    border: 1px solid #fff; }

.sec04_cap {
  font-size: clamp(10px, 1.12vw, 14px);
  padding-left: 1em;
  text-indent: -1em; }
  @media screen and (max-width: 480px) {
    .sec04_cap {
      font-size: 12px; } }

.q_a_list {
  max-width: 1200px;
  width: calc(100% - 40px);
  margin-inline: auto;
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 480px) {
    .q_a_list {
      width: 100%; } }
  .q_a_list .item + .item {
    padding-top: clamp(40px, 5%, 60px);
    margin-top: clamp(40px, 5%, 60px);
    border-top: 1px solid #cccccc; }
    @media screen and (max-width: 480px) {
      .q_a_list .item + .item {
        margin-top: 20px;
        padding-top: 40px; } }
  .q_a_list .item dt,
  .q_a_list .item dd {
    position: relative;
    padding-left: 5%; }
    @media screen and (max-width: 480px) {
      .q_a_list .item dt,
      .q_a_list .item dd {
        padding-left: 20px;
        padding-right: 20px; } }
    .q_a_list .item dt .q,
    .q_a_list .item dt .a,
    .q_a_list .item dd .q,
    .q_a_list .item dd .a {
      position: absolute;
      max-width: 85px;
      width: 7.09%;
      left: 0;
      top: 0;
      z-index: 1; }
      @media screen and (max-width: 480px) {
        .q_a_list .item dt .q,
        .q_a_list .item dt .a,
        .q_a_list .item dd .q,
        .q_a_list .item dd .a {
          width: 60px;
          left: 10px; } }
  .q_a_list .item dt {
    margin-bottom: clamp(25px, 3.34%, 40px); }
    .q_a_list .item dt .q {
      margin-top: -1.66%; }
      @media screen and (max-width: 480px) {
        .q_a_list .item dt .q {
          margin-top: -20px; } }
    .q_a_list .item dt .item_inner {
      display: flex;
      align-items: center;
      font-size: clamp(14px, 2.09vw, 26px);
      background: linear-gradient(90deg, #63d9a3 0%, #64d1da 26%, #30a6d4 100%);
      padding: 0.6em 1.73em;
      color: #fff;
      border-radius: 10px;
      cursor: pointer; }
      @media screen and (max-width: 480px) {
        .q_a_list .item dt .item_inner {
          font-size: 4.28vw;
          line-height: 1.39;
          padding: 0.6em 15px 0.6em 60px;
          border-radius: 6px; } }
    .q_a_list .item dt .q_text {
      line-height: 1.6;
      font-weight: 600; }
    .q_a_list .item dt .cross_box {
      flex-shrink: 0;
      margin-left: auto;
      width: 1em;
      height: 1em;
      position: relative;
      background: #fff; }
      @media screen and (max-width: 768px) {
        .q_a_list .item dt .cross_box {
          align-self: center;
          margin-bottom: 0;
          width: 1.66em;
          height: 1.66em; } }
      .q_a_list .item dt .cross_box::before, .q_a_list .item dt .cross_box::after {
        content: "";
        display: block;
        position: absolute;
        background: #333; }
      .q_a_list .item dt .cross_box::before {
        height: 2px;
        top: calc(50% - 1px);
        left: 6px;
        right: 6px; }
      .q_a_list .item dt .cross_box::after {
        width: 2px;
        left: calc(50% - 1px);
        top: 6px;
        bottom: 6px;
        transition: transform 0.5s ease-in-out; }
    .q_a_list .item dt.active .cross_box::after {
      transform: rotate(90deg); }
      @media screen and (max-width: 768px) {
        .q_a_list .item dt.active .cross_box::after {
          transform: rotate(90deg) translateX(-50%); } }
  .q_a_list .item dd {
    display: none;
    padding-top: 1.67%; }
    @media screen and (max-width: 480px) {
      .q_a_list .item dd {
        padding-top: 20px; } }
    .q_a_list .item dd .a {
      top: 0; }
    .q_a_list .item dd .a_text {
      font-size: clamp(13px, 1.61vw, 20px);
      line-height: 1.5;
      padding: 1em 2.25em;
      border-radius: 10px;
      position: relative; }
      @media screen and (max-width: 480px) {
        .q_a_list .item dd .a_text {
          font-size: 3.75vw;
          padding: 1em 15px 1em 60px; } }
      .q_a_list .item dd .a_text::before, .q_a_list .item dd .a_text::after {
        content: "";
        display: block;
        position: absolute;
        border-radius: 10px; }
        @media screen and (max-width: 480px) {
          .q_a_list .item dd .a_text::before, .q_a_list .item dd .a_text::after {
            border-radius: 6px; } }
      .q_a_list .item dd .a_text::before {
        inset: 2px;
        z-index: -1;
        background: #fff; }
      .q_a_list .item dd .a_text::after {
        inset: 0;
        z-index: -2;
        background: linear-gradient(90deg, #63d9a3 0%, #64d1da 26%, #30a6d4 100%); }

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