@charset "UTF-8";
/*! Writen  by SCSS */
body {
  font-feature-settings: "palt"; }

img.svg {
  width: 100%; }

.color01 {
  color: #3a4c59; }

.color02 {
  color: #fff; }

.f34 {
  font-size: clamp(20px, 2.362vw, 34px); }
  @media screen and (max-width: 480px) {
    .f34 {
      font-size: calc(23vw/3.9); } }

.f32 {
  font-size: clamp(20px, 2.223vw, 32px); }
  @media screen and (max-width: 480px) {
    .f32 {
      font-size: calc(23vw/3.9); } }

.f24 {
  font-size: clamp(18px, 1.667vw, 24px); }
  @media screen and (max-width: 480px) {
    .f24 {
      font-size: calc(18vw/3.9); } }

.f22 {
  font-size: clamp(17px, 1.528vw, 22px); }
  @media screen and (max-width: 480px) {
    .f22 {
      font-size: calc(17vw/3.9); } }

.f20 {
  font-size: clamp(16px, 1.389vw, 20px); }
  @media screen and (max-width: 480px) {
    .f20 {
      font-size: calc(16vw/3.9); } }

.f16 {
  font-size: clamp(13px, 1.112vw, 16px); }
  @media screen and (max-width: 480px) {
    .f16 {
      font-size: clamp(14px, 3.33vw, 15px); } }

.f14 {
  font-size: clamp(12px, 0.973vw, 14px); }
  @media screen and (max-width: 480px) {
    .f14 {
      font-size: clamp(12px, 2.82vw, 13px);
      letter-spacing: 0; } }

.mb1em {
  margin-bottom: 1em !important; }

.mb2em {
  margin-bottom: 2em !important; }

@media screen and (max-width: 480px) {
  .mb1em_sp {
    margin-bottom: 1em !important; } }

.inner_1280 {
  max-width: 1280px;
  width: calc(100% - 40px);
  margin: 0 auto; }

.mainvisual {
  position: relative;
  padding-bottom: 100px; }
  .mainvisual .main_bg {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    width: calc(1226%/14.4);
    display: block;
    pointer-events: none;
    padding-bottom: calc(1377%/14.4);
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.5, 1, 0.89, 1); }
    .loaded .mainvisual .main_bg {
      opacity: 1; }
    @media screen and (max-width: 480px) {
      .mainvisual .main_bg {
        padding-bottom: calc(1775%/7.79);
        width: 100%; } }
    .mainvisual .main_bg img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      line-height: 0;
      object-fit: cover;
      object-position: right top; }
  .mainvisual .main_item01 {
    position: relative;
    z-index: 2;
    padding: calc(480%/14.4) 0 100px calc(80%/14.4); }
    @media screen and (max-width: 480px) {
      .mainvisual .main_item01 {
        padding: calc(226%/3.75) 20px 40px; } }
    .mainvisual .main_item01 .main_txt {
      width: calc(953%/14.4);
      transition-property: transform,opacity;
      transition-duration: 1s;
      transition-timing-function: cubic-bezier(0.5, 1, 0.89, 1);
      transition-delay: 1.3s;
      transform: translateY(20px);
      opacity: 0; }
      .loaded .mainvisual .main_item01 .main_txt {
        transform: translateY(0px);
        opacity: 1; }
      @media screen and (max-width: 480px) {
        .mainvisual .main_item01 .main_txt {
          width: calc(220%/3.35); } }
  .mainvisual .main_item02 {
    position: relative;
    z-index: 2;
    max-width: 1280px;
    width: calc(100% - 40px);
    margin: 0 auto;
    display: flex; }
    @media screen and (max-width: 1200px) {
      .mainvisual .main_item02 {
        flex-direction: column; } }
    .mainvisual .main_item02 .f34 {
      letter-spacing: 0.18em;
      line-height: 1.79;
      padding-left: calc(43% / 14.4);
      transition-duration: 1s;
      transition-timing-function: cubic-bezier(0.5, 1, 0.89, 1);
      transition-delay: 1.5s;
      opacity: 0;
      transform: translateY(20px); }
      .loaded .mainvisual .main_item02 .f34 {
        transform: translateY(0px);
        opacity: 1; }
      @media screen and (max-width: 480px) {
        .mainvisual .main_item02 .f34 {
          padding-left: 0; } }
    .mainvisual .main_item02 .f16 {
      letter-spacing: 0.23em;
      line-height: 2.875;
      padding-left: calc(50% / 14.4);
      transition-duration: 1s;
      transition-timing-function: cubic-bezier(0.5, 1, 0.89, 1);
      transition-delay: 1.6s;
      opacity: 0;
      transform: translateY(20px); }
      .loaded .mainvisual .main_item02 .f16 {
        transform: translateY(0px);
        opacity: 1; }
      @media screen and (max-width: 480px) {
        .mainvisual .main_item02 .f16 {
          margin-top: 56px;
          padding-left: 0;
          letter-spacing: 0; } }

.ta_c {
  text-align: center; }

.sec {
  width: 100%;
  position: relative;
  z-index: 2;
  overflow: hidden; }

.sec_ttl {
  display: flex;
  align-items: flex-end;
  margin-bottom: 60px; }
  @media screen and (max-width: 480px) {
    .sec_ttl {
      flex-direction: column;
      align-items: center;
      justify-content: center;
      grid-gap: 1em;
      margin-bottom: 40px; } }
  .sec_ttl .sec_ttl_img {
    line-height: 0; }
  .sec_ttl .ttl_txt {
    line-height: 1;
    letter-spacing: 0.23em;
    margin-left: 0.5em; }
    @media screen and (max-width: 480px) {
      .sec_ttl .ttl_txt {
        margin: 0 auto;
        font-size: calc(12vw/3.35);
        letter-spacing: 0.05em; } }
  .sec_ttl.sec01_ttl .sec_ttl_img {
    width: calc(427%/12.8); }
    @media screen and (max-width: 480px) {
      .sec_ttl.sec01_ttl .sec_ttl_img {
        width: calc(165%/3.35); } }
  @media screen and (max-width: 480px) {
    .sec_ttl.sec02_ttl {
      margin-bottom: 30px; } }
  .sec_ttl.sec02_ttl .sec_ttl_img {
    width: calc(278%/12.8); }
    @media screen and (max-width: 480px) {
      .sec_ttl.sec02_ttl .sec_ttl_img {
        width: calc(120%/3.35); } }
  .sec_ttl.sec03_ttl .sec_ttl_img {
    width: calc(224%/12.8); }
    @media screen and (max-width: 480px) {
      .sec_ttl.sec03_ttl .sec_ttl_img {
        width: calc(96%/3.35); } }
  .sec_ttl.sec04_ttl .sec_ttl_img {
    width: calc(343%/12.8); }
    @media screen and (max-width: 480px) {
      .sec_ttl.sec04_ttl .sec_ttl_img {
        width: calc(146%/3.35); } }
  .sec_ttl.sec05_ttl {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    grid-gap: 0.5em; }
    @media screen and (max-width: 480px) {
      .sec_ttl.sec05_ttl {
        grid-gap: 1em; } }
    .sec_ttl.sec05_ttl .sec_ttl_img {
      width: calc(276%/12.8); }
      @media screen and (max-width: 480px) {
        .sec_ttl.sec05_ttl .sec_ttl_img {
          width: calc(118%/3.35); } }

.sec01 {
  margin-bottom: 150px; }
  @media screen and (max-width: 480px) {
    .sec01 {
      margin-bottom: 0;
      padding-bottom: 80px; } }
  .sec01 .item01 {
    padding-bottom: 180px;
    position: relative; }
    @media screen and (max-width: 480px) {
      .sec01 .item01 {
        padding-bottom: 60px; } }
    .sec01 .item01 .img101 {
      width: 100%;
      height: 545px;
      overflow: hidden; }
      @media screen and (max-width: 480px) {
        .sec01 .item01 .img101 {
          position: absolute;
          inset: 0;
          height: 100%; } }
      .sec01 .item01 .img101 img {
        object-fit: cover;
        width: 100%;
        height: 100%;
        object-position: bottom center; }
    .sec01 .item01 .img102 {
      position: absolute;
      left: 0;
      right: 0;
      top: -90px;
      max-width: calc(1200%/14.4);
      margin: 0 auto; }
      @media screen and (max-width: 480px) {
        .sec01 .item01 .img102 {
          top: 15px; } }
      .sec01 .item01 .img102 img {
        width: calc(1116%/14.4); }
        @media screen and (max-width: 480px) {
          .sec01 .item01 .img102 img {
            width: 100%; } }
    .sec01 .item01 .img_txts {
      position: absolute;
      top: calc(100%/5.45);
      left: 0;
      right: 0;
      max-width: 1280px;
      width: calc(100% - 40px);
      margin: auto; }
      @media screen and (max-width: 480px) {
        .sec01 .item01 .img_txts {
          position: relative;
          top: 0;
          padding-top: 60px;
          text-align: center; } }
    .sec01 .item01 .f32 {
      color: #fff;
      line-height: 1;
      margin-bottom: 1em; }
      @media screen and (max-width: 480px) {
        .sec01 .item01 .f32 {
          letter-spacing: 0.1em; } }
    .sec01 .item01 .f16 {
      color: #fff;
      letter-spacing: 0.17em;
      line-height: 2.3125;
      margin-bottom: 2.2em; }
      @media screen and (max-width: 480px) {
        .sec01 .item01 .f16 {
          line-height: 2.2; } }
    .sec01 .item01 .box01 {
      background: #fff;
      max-width: 820px;
      margin: 0 auto;
      padding: 40px 20px;
      box-shadow: 0 0 30px rgba(0, 0, 0, 0.1); }
      .sec01 .item01 .box01 .f22 {
        text-align: center;
        margin-bottom: 1em; }
      .sec01 .item01 .box01 .in_box {
        display: flex;
        align-items: center;
        justify-content: center;
        grid-gap: 0 50px; }
        @media screen and (max-width: 480px) {
          .sec01 .item01 .box01 .in_box {
            flex-direction: column;
            grid-gap: 0; } }
        .sec01 .item01 .box01 .in_box .in_l {
          width: 200px;
          height: 200px;
          border: 1px solid #dfdfdf;
          display: flex;
          justify-content: center;
          align-items: center; }
          @media screen and (max-width: 480px) {
            .sec01 .item01 .box01 .in_box .in_l {
              width: 100%;
              height: auto;
              border: 0;
              border-bottom: 1px solid #dfdfdf;
              margin-bottom: 30px;
              padding-bottom: 30px; } }
          .sec01 .item01 .box01 .in_box .in_l .img103 {
            width: calc(87%/2); }
            @media screen and (max-width: 480px) {
              .sec01 .item01 .box01 .in_box .in_l .img103 {
                width: 84px; } }
        .sec01 .item01 .box01 .in_box .in_r .f14 {
          line-height: 2;
          letter-spacing: 0.16em; }
          @media screen and (max-width: 480px) {
            .sec01 .item01 .box01 .in_box .in_r .f14 {
              text-align: left; } }
        @media screen and (max-width: 480px) {
          .sec01 .item01 .box01 .in_box .in_r .sp_left {
            text-align: left !important;
            letter-spacing: 0.1em; } }

.sec02 {
  margin-bottom: 130px; }
  @media screen and (max-width: 768px) {
    .sec02 {
      margin-bottom: 80px; } }
  .sec02 .sec02_bg01 {
    position: absolute;
    left: 0;
    top: 120px; }
    @media screen and (max-width: 1400px) {
      .sec02 .sec02_bg01 {
        width: calc(290%/14.4); } }
    @media screen and (max-width: 480px) {
      .sec02 .sec02_bg01 {
        width: calc(180%/3.75);
        left: -30px; } }
  .sec02 .sec02_bg02 {
    position: absolute;
    right: 0;
    bottom: 180px; }
    @media screen and (max-width: 1400px) {
      .sec02 .sec02_bg02 {
        width: calc(629%/14.4); } }
    @media screen and (max-width: 480px) {
      .sec02 .sec02_bg02 {
        width: calc(290%/3.75);
        right: -100px;
        top: 125vw;
        bottom: auto; } }
  .sec02 .img_list_ttl {
    margin-bottom: 30px; }
    @media screen and (max-width: 480px) {
      .sec02 .img_list_ttl {
        margin-bottom: 25px; } }
  .sec02 .img_list {
    max-width: 1030px;
    margin: 0 auto 60px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    grid-gap: 40px 0; }
    @media screen and (max-width: 600px) {
      .sec02 .img_list {
        grid-gap: 0; } }
    .sec02 .img_list li {
      width: calc(230%/10.3); }
      @media screen and (max-width: 600px) {
        .sec02 .img_list li {
          width: calc(162%/3.35); }
          .sec02 .img_list li:not(:nth-child(-n+2)) {
            margin-top: calc(8%/3.35); } }
  .sec02 .box02 {
    position: relative;
    z-index: 2;
    max-width: 1030px;
    margin: 0 auto;
    padding: calc(54%/12.8);
    background-image: url("../images/top/img209.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff; }
    @media screen and (max-width: 480px) {
      .sec02 .box02 {
        padding: 40px 20px;
        background-image: url("../images/top/img209_sp.png"); } }
    .sec02 .box02 .f22 {
      margin-bottom: 1.4em; }
    .sec02 .box02 .f14 {
      line-height: 2.5;
      letter-spacing: 0.18em; }
      @media screen and (max-width: 480px) {
        .sec02 .box02 .f14 {
          letter-spacing: 0.1em; } }

.sec03 {
  background: #3a4c59;
  color: #fff !important;
  padding: 170px 0 100px;
  position: relative;
  margin-bottom: 180px; }
  @media screen and (max-width: 768px) {
    .sec03 {
      padding: 60px 0;
      margin-bottom: 80px; } }
  .sec03::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    padding-bottom: calc(496%/14.4);
    background-image: url("../images/top/img301.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
    @media screen and (max-width: 480px) {
      .sec03::before {
        background-image: url("../images/top/img301_sp.png");
        padding-bottom: calc(840%/8.3); } }
  .sec03 .inner_1280 {
    position: relative;
    z-index: 2; }
  .sec03 .item02 {
    display: flex; }
    @media screen and (max-width: 1200px) {
      .sec03 .item02 {
        justify-content: space-between; } }
    @media screen and (max-width: 768px) {
      .sec03 .item02 {
        flex-direction: column;
        grid-gap: 20px 0; } }
    .sec03 .item02.re {
      margin-top: 100px;
      flex-direction: row-reverse;
      justify-content: space-between; }
      @media screen and (max-width: 768px) {
        .sec03 .item02.re {
          margin-top: 60px;
          flex-direction: column; } }
    .sec03 .item02 .imgs {
      width: calc(620%/12.8); }
      @media screen and (max-width: 768px) {
        .sec03 .item02 .imgs {
          width: 100%; } }
    .sec03 .item02 .txts {
      width: calc(460% / 12.8);
      padding-left: calc(55%/12.8); }
      @media screen and (max-width: 1200px) {
        .sec03 .item02 .txts {
          width: calc(600%/12.8); } }
      @media screen and (max-width: 768px) {
        .sec03 .item02 .txts {
          width: 100%; } }
      .sec03 .item02 .txts .f24 {
        margin-bottom: 1em;
        letter-spacing: 0.08em; }
      .sec03 .item02 .txts .f14 {
        line-height: 2;
        letter-spacing: 0.12em; }
        @media screen and (max-width: 768px) {
          .sec03 .item02 .txts .f14 {
            margin-top: 2px;
            letter-spacing: 0.1em; } }

.sec04 {
  margin-bottom: 100px; }
  .sec04 .list_items {
    display: flex;
    justify-content: space-between;
    font-size: clamp(14px, 1.112vw, 16px); }
    @media screen and (max-width: 768px) {
      .sec04 .list_items {
        flex-direction: column; } }
    @media screen and (max-width: 480px) {
      .sec04 .list_items {
        font-size: clamp(12px, 2.82vw, 13px);
        letter-spacing: 0; } }
    .sec04 .list_items .item_ttl {
      width: calc(273%/12.8);
      border-top: 1px solid #dddddd;
      padding: 1.3em 0; }
      @media screen and (max-width: 768px) {
        .sec04 .list_items .item_ttl {
          width: 100%;
          text-align: center;
          border-bottom: 1px solid #dddddd; } }
    .sec04 .list_items .txts {
      border-top: 1px solid #dddddd;
      width: calc(800%/12.8); }
      @media screen and (max-width: 768px) {
        .sec04 .list_items .txts {
          width: calc(100% - 40px);
          margin: 0 auto;
          border: 0; } }
      .sec04 .list_items .txts .item {
        display: flex;
        letter-spacing: 0.12em;
        padding: 1.3em 0;
        border-bottom: 1px solid #dddddd; }
        @media screen and (max-width: 768px) {
          .sec04 .list_items .txts .item {
            letter-spacing: 0; } }
        .sec04 .list_items .txts .item dt {
          width: 195px; }
          @media screen and (max-width: 768px) {
            .sec04 .list_items .txts .item dt {
              width: 35%; } }
        .sec04 .list_items .txts .item dd {
          width: calc(100% - 195px); }
          @media screen and (max-width: 768px) {
            .sec04 .list_items .txts .item dd {
              width: 65%; } }
  .sec04 .item01 {
    margin-bottom: 80px; }

.sec05 {
  margin-bottom: 220px; }
  @media screen and (max-width: 768px) {
    .sec05 {
      margin-bottom: 80px; } }
  .sec05 .inner_1280 {
    padding: 120px 20px 80px;
    background: #f8f8f8; }
    @media screen and (max-width: 768px) {
      .sec05 .inner_1280 {
        padding: 60px 20px; } }
  .sec05 .form_cnt {
    max-width: 1000px;
    margin: 0 auto; }
    .sec05 .form_cnt .form_inner {
      max-width: 600px;
      margin-inline: auto; }
    .sec05 .form_cnt .item + .item {
      margin-top: 40px; }
    .sec05 .form_cnt .item .ttl {
      margin-bottom: 10px; }
  .sec05 textarea {
    max-width: 700px;
    width: 100%;
    min-height: 200px;
    border-radius: 5px;
    border: 1px solid #ccc; }
  .sec05 .f16 {
    margin: 10px auto 30px; }
  .sec05 .privacy_box {
    max-width: 700px;
    border: 1px solid #999;
    padding: 20px;
    margin: 50px auto; }
    .sec05 .privacy_box .privacy_head {
      width: fit-content;
      margin-inline: auto;
      background: #f8f8f8;
      padding: 0 2em;
      margin-top: -2.5em;
      margin-bottom: 1em; }
      @media screen and (max-width: 768px) {
        .sec05 .privacy_box .privacy_head {
          padding: 0 1em;
          margin-top: -4em; } }
    .sec05 .privacy_box .privacy_text {
      width: fit-content;
      margin-inline: auto; }
  .sec05 .submit_btn {
    max-width: 300px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .sec05 .submit_btn {
        max-width: 220px; } }
    .sec05 .submit_btn .submit {
      width: 100%;
      height: 70px;
      background: #e77619;
      color: #fff;
      border-radius: 3px;
      margin: 0 auto;
      font-size: clamp(14px, 1.112vw, 16px);
      letter-spacing: 0.24em;
      font-family: YakuHanMP,"Shippori Mincho","Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","游明朝",YuMincho,"游明朝体","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝",serif; }
      @media screen and (max-width: 768px) {
        .sec05 .submit_btn .submit {
          height: 50px; } }

input[type=text],
input[type=tel],
input[type=email],
input[type=number],
textarea,
select {
  width: 100%;
  box-sizing: border-box;
  padding: 5px;
  font-family: YakuHanMP,"Shippori Mincho","Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","游明朝",YuMincho,"游明朝体","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝",serif;
  border: 0;
  border-radius: 0; }
  input[type=text]:focus,
  input[type=tel]:focus,
  input[type=email]:focus,
  input[type=number]:focus,
  textarea:focus,
  select:focus {
    outline: none; }

input[type=text],
input[type=tel],
input[type=email],
input[type=number] {
  width: 100%;
  height: 54px;
  padding: 5px 20px; }

select {
  padding: 5px 20px; }

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