/*! Writen  by SCSS */
.sec01 {
  padding-top: clamp(50px, 7.5%, 90px);
  padding-bottom: clamp(80px, 10%, 120px); }

.sec02 {
  padding-top: clamp(80px, 10%, 120px);
  padding-bottom: clamp(80px, 10%, 120px); }

.sec_lead_wrap {
  text-align: center;
  margin-bottom: clamp(40px, 5%, 60px); }
  .sec_lead_wrap .sec_head {
    margin-bottom: 1.5em; }

.button_list {
  display: grid;
  align-items: start;
  align-content: start;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 2.5%;
  margin-bottom: clamp(40px, 5.84%, 70px); }
  @media screen and (max-width: 480px) {
    .button_list {
      grid-template-columns: 1fr;
      gap: 15px 0; } }
  .button_list .item a {
    display: block;
    line-height: 0;
    transition: opacity 0.3s ease-in-out; }
    @media (hover: hover) {
      .button_list .item a:hover {
        opacity: 0.7; } }

@media screen and (max-width: 480px) {
  .sec01_wrap {
    flex-direction: column;
    gap: 30px 0; } }
.sec01_wrap .sec01_box {
  width: 48.34%;
  background: #f8f6f2;
  padding: 1.25%; }
  @media screen and (max-width: 480px) {
    .sec01_wrap .sec01_box {
      width: 100%;
      padding: 15px; } }
  .sec01_wrap .sec01_box .sec01_text_box {
    margin-bottom: 20px; }
    .sec01_wrap .sec01_box .sec01_text_box .box_head {
      display: flex;
      align-items: baseline;
      gap: 0.25em;
      justify-content: space-between;
      line-height: 1;
      padding-bottom: 0.8em;
      margin-bottom: 0.8em;
      border-bottom: 1px solid; }
      @media screen and (max-width: 960px) {
        .sec01_wrap .sec01_box .sec01_text_box .box_head {
          align-items: center; } }
      .sec01_wrap .sec01_box .sec01_text_box .box_head .text {
        flex-shrink: 0; }
        @media screen and (max-width: 480px) {
          .sec01_wrap .sec01_box .sec01_text_box .box_head .text {
            line-height: 1.6; } }
      .sec01_wrap .sec01_box .sec01_text_box .box_head .border_text {
        border: 1px solid;
        color: #5f0e13;
        font-size: 0.8em;
        padding: 0.2em 0.5em; }
    .sec01_wrap .sec01_box .sec01_text_box .read {
      line-height: 1.6; }
  .sec01_wrap .sec01_box .image_box_01 {
    max-width: 548px;
    margin-inline: auto; }
  .sec01_wrap .sec01_box .image_box_02 {
    max-width: 533px;
    margin-inline: auto; }

.sec02_content + .sec02_content {
  margin-top: clamp(50px, 6.67%, 80px); }
.sec02_content .sec02_lead {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25em;
  line-height: 1;
  margin-bottom: clamp(40px, 5%, 60px); }
  @media screen and (max-width: 480px) {
    .sec02_content .sec02_lead .text_top {
      line-height: 1.4; } }
  .sec02_content .sec02_lead .text_bottom {
    font-size: 1.33em;
    font-weight: 700; }
    .sec02_content .sec02_lead .text_bottom .text_min {
      font-size: 0.6em; }

.sec02_wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  position: relative; }
  .sec02_wrap::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #333;
    right: 50%; }
  .sec02_wrap .sec02_inner {
    max-width: 580px;
    width: 48.34%; }
    @media screen and (max-width: 480px) {
      .sec02_wrap .sec02_inner {
        width: 48%; } }
    .sec02_wrap .sec02_inner .sec02_top_box {
      position: relative; }
      .sec02_wrap .sec02_inner .sec02_top_box .text_right,
      .sec02_wrap .sec02_inner .sec02_top_box .text_bottom {
        font-size: clamp(20px, 2.9vw, 36px);
        line-height: 1.23;
        position: absolute;
        z-index: 2;
        font-weight: 700; }
      .sec02_wrap .sec02_inner .sec02_top_box .text_right {
        top: 0.4em;
        right: 0.4em;
        writing-mode: vertical-rl; }
        .sec02_wrap .sec02_inner .sec02_top_box .text_right .text_in {
          -webkit-text-combine: horizontal;
          -ms-text-combine-horizontal: all;
          -moz-text-combine-upright: all;
          text-combine-upright: all; }
      .sec02_wrap .sec02_inner .sec02_top_box .text_bottom {
        color: #fff;
        left: 0.4em;
        bottom: 0.4em; }
      @media screen and (max-width: 480px) {
        .sec02_wrap .sec02_inner .sec02_top_box .imaeg_box img {
          display: block;
          width: 100%;
          height: 100%;
          line-height: 0;
          aspect-ratio: 280 / 400;
          object-fit: cover;
          object-position: center; } }
    .sec02_wrap .sec02_inner .sec02_b_lead {
      font-size: clamp(14px, 2.01vw, 25px);
      line-height: 1.28;
      margin-top: 6.9%;
      margin-bottom: 6.9%;
      text-align: center; }
    .sec02_wrap .sec02_inner .sec02_list {
      display: flex;
      align-items: flex-start;
      justify-content: center;
      flex-wrap: wrap;
      gap: clamp(25px, 4.17vw, 50px) 3.44%;
      margin-bottom: 6.9%; }
      .sec02_wrap .sec02_inner .sec02_list .item {
        width: 48.28%; }
        @media screen and (max-width: 480px) {
          .sec02_wrap .sec02_inner .sec02_list .item {
            width: 100%; } }
        .sec02_wrap .sec02_inner .sec02_list .item .item_text {
          font-size: clamp(12px, 1.45vw, 18px);
          margin-top: 0.6em;
          line-height: 1.34;
          text-align: center; }
    .sec02_wrap .sec02_inner .sec02_button {
      max-width: 280px;
      margin-inline: auto; }
      .sec02_wrap .sec02_inner .sec02_button a {
        font-size: clamp(14px, 2.01vw, 25px);
        line-height: 1;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: opacity 0.3s ease-in-out;
        padding: 0.8em 0.2em;
        color: #fff;
        background: #297b75; }
        @media (hover: hover) {
          .sec02_wrap .sec02_inner .sec02_button a:hover {
            opacity: 0.7; } }
      .sec02_wrap .sec02_inner .sec02_button.sec02_button_02 a {
        background: #549691; }
  .sec02_wrap.sec02_wrap_40 .sec02_list .item .item_text {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5em; }
    .sec02_wrap.sec02_wrap_40 .sec02_list .item .item_text::before, .sec02_wrap.sec02_wrap_40 .sec02_list .item .item_text::after {
      content: "";
      display: block;
      width: 0.38em;
      padding-top: 2em;
      background-position: center;
      background-size: cover;
      background-repeat: no-repeat; }
    .sec02_wrap.sec02_wrap_40 .sec02_list .item .item_text::before {
      background-image: url("../images/plan/text_arrow_left.svg"); }
    .sec02_wrap.sec02_wrap_40 .sec02_list .item .item_text::after {
      background-image: url("../images/plan/text_arrow_right.svg"); }

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