@charset "UTF-8";

/* 共通 */
br._sp {
    display: none;
  }
  @media screen and (max-width: 599px) {
    br._sp {
      display: inline;
    }
  }

.tel_number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  color: #ffffff;
}
.tel_icon {
  display: inline-block;
  aspect-ratio: 1/1;
  max-width: clamp(18px, 0.6054490414vw + 15.7295660949px, 24px);
}

.sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
.sns_icon {
  width: 24px;
  aspect-ratio: 1/1;
}
.sns_icon img {
    width: 100%;
    height: 100%;
    vertical-align: bottom;
  -o-object-fit: contain;
     object-fit: contain;
}

.address_list {
    display: grid;
    gap: 16px;
  }
  .address_list li {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: auto auto;
    justify-items: start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
  @media screen and (max-width: 599px) {
    .address_list li {
      grid-auto-flow: row;
      grid-template-columns: 1fr;
      gap: 2px;
    }
  }
  .address_list li dd,
  .address_list li dt, .address_list li a {
    font-size: clamp(12px, 0.1009081736vw + 11.6215943491px , 13px);
    line-height: 1.5;
    letter-spacing: 0.101em;
    color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
  }

  .fnav {
    display: grid;
  }
  .fnav_inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-flow: column;
  }
  .fnav_links {
    display: grid;
    gap: 16px;
  }
  .fnav_links li {
    padding-left: 14px;
    position: relative;
    z-index: 0;
  }
  .fnav_links li::before {
    content: "";
    position: absolute;
    z-index: 0;
    width: 8px;
    height: 8px;
    border-right: 1px solid #ffffff;
    border-bottom: 1px solid #ffffff;
    -webkit-transform: rotate(-45deg) translateY(-50%);
            transform: rotate(-45deg) translateY(-50%);
    top: 50%;
    left: 0;
  }
  .fnav_links li a {
    color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(13px, 0.2018163471vw + 12.2431886983px , 15px);
    line-height: 1.5;
    letter-spacing: 0.101em;
    font-weight: 400;
    cursor: pointer;
    text-decoration: none;
  }

  .banners {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: clamp(16px, 1.614530777vw + 9.9455095863px, 32px);
  }
  
  .banner {
    max-width: 232px;
  }
  .banner_thumbnail {
    aspect-ratio: 232/83;
  
  }

  .banner_thumbnail img {
    width: 100%;
    height: 100%;
    vertical-align: bottom;
    -o-object-fit: cover;
       object-fit: cover;
  }

  .banner_body {
    padding-top: clamp(14px, 0.2018163471vw + 13.2431886983px, 16px);
  }
  .banner_text {
    color: #ffffff;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
  }

/* ボタン */
.button._more {
  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;
  gap: clamp(24px, 0.8072653885vw + 20.9727547931px, 32px);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding-top: 15px;
  padding-bottom: 17px;
  min-width: clamp(200px, 0.8072653885vw + 196.9727547931px, 208px);
  padding-left: clamp(32px, 0.8072653885vw + 28.9727547931px, 40px);
  padding-right: clamp(32px, 0.8072653885vw + 28.9727547931px, 40px);
  text-align: center;
  color: #ffffff;
  border-radius: 34px;
}
.button._more .icon {
  aspect-ratio: 1/1;
  display: inline-block;
  max-width: clamp(32px, 0.8072653885vw + 28.9727547931px, 40px);
}
.button._more .icon img {
  -o-object-fit: contain;
     object-fit: contain;
}
.button._more._blue {
  background: transparent -webkit-gradient(linear, left top, right top, from(#003f71), to(#6eadd8)) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(90deg, #003f71 0%, #6eadd8 100%) 0% 0% no-repeat padding-box;
}
.button._more._yellow {
  background: transparent -webkit-gradient(linear, right top, left top, from(#dada06), to(#f3bc21)) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(270deg, #dada06 0%, #f3bc21 100%) 0% 0% no-repeat padding-box;
}
.button._more._white {
  background-color: #ffffff;
  color: #333333;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.button._more._white._services {
  width: 100%;
  max-width: clamp(300px, 2.5227043391vw + 290.5398587286px, 325px);
  padding-top: 17px;
  padding-bottom: 19px;
  border-radius: 40px;
}
@media screen and (max-width: 599px) {
  .button._more._white._services {
    width: 100%;
  }
}
.button._contact {
  height: 100%;
  padding-right: clamp(10px, 0.4036326942vw + 8.4863773966px, 14px);
  padding-left: clamp(10px, 0.4036326942vw + 8.4863773966px, 14px);
  padding-top: clamp(14px, 0.3027245207vw + 12.8647830474px, 17px);
  padding-bottom: clamp(14px, 0.3027245207vw + 12.8647830474px, 17px);
  display: grid;
  -ms-flex-line-pack: center;
      align-content: center;
  justify-items: center;
  gap: 10px;
  font-size: 10px;
  color: #ffffff;
}
.button._contact .button_icon {
  display: block;
  aspect-ratio: 30/24;
  max-width: clamp(24px, 0.6054490414vw + 21.7295660949px, 30px);
}
.button._circle {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: relative;
  z-index: 0;
}
.button._circle a {
  font-size: clamp(9px, 0.6054490414vw + 6.7295660949px , 15px);
  line-height: 1.5;
  letter-spacing: 0.101em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(13px, 0.7063572149vw + 10.351160444px, 20px);
  padding-top: clamp(45px, 2.5227043391vw + 35.5398587286px, 70px);
  padding-bottom: clamp(45px, 2.5227043391vw + 35.5398587286px, 70px);
  padding-left: clamp(38px, 2.2199798184vw + 29.6750756811px, 60px);
}
.button._circle .circle {
  pointer-events: none;
  display: block;
  aspect-ratio: 1/1;
  max-width: clamp(100px, 6.0544904137vw + 77.2956609485px, 160px);
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: -1;
  width: 100%;
  border-radius: 50%;
}
.button._circle .circle-l {
  left: 0;
  border: 1px solid #003f71;
}
.button._circle .circle-r {
  left: clamp(20px, 0.5045408678vw + 18.1079717457px, 25px);
  border: 1px solid #005aa2;
}
.button._circle .arrow {
  width: clamp(44px, 3.1281533804vw + 32.2694248234px, 75px);
  height: 1px;
  background-color: #003f71;
  display: inline-block;
  position: relative;
  z-index: 0;
}
.button._circle .arrow::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  right: -20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border: clamp(12px, 0.3027245207vw + 10.8647830474px, 15px) solid transparent;
  border-left: clamp(16px, 0.9081735621vw + 12.5943491423px, 25px) solid #003f71;
}

/* common */
.common-cta_wrapper {
    /* max-width: 1164px;
    margin-left: auto;
    margin-right: auto; */
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    background-image: url(../images/contact1.jpg);
    background-repeat: repeat;
    background-position: center;
    background-size: cover;
  }
  @media screen and (max-width: 780px) {
    .common-cta_wrapper {
      grid-template-columns: 1fr;
    }
  }
  .common-cta_col {
    background-repeat: repeat;
    background-position: center;
    background-size: cover;
    position: relative;
    z-index: 0;
  }
  .common-cta_col::after {
    content: "";
    background: rgba(0, 0, 0, 0.6);
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .common-cta_col._col1 {
    /* margin-left: calc(50% - 50vw);
    padding-left: calc(50vw - 50%); */
    background-image: url(../images/contact1.jpg);
  }
  @media screen and (max-width: 780px) {
    .common-cta_col._col1 {
      margin-left: 0;
      padding-left: 0;
      background-image: none;
    }
    .common-cta_col._col1::before {
      content: "";
      position: absolute;
      z-index: 1;
      width: 80%;
      height: 2px;
      border-radius: 15px;
      background-color: #707070;
      bottom: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
    }
  }
  .common-cta_col._col1 .common-cta_inner {
    padding-left: 90px;
  }
  @media screen and (max-width: 780px) {
    .common-cta_col._col1 .common-cta_inner {
      padding-left: clamp(32px, 0.8072653885vw + 28.9727547931px, 40px);
    }
  }
  .common-cta_col._col2 {
    /* margin-right: calc(50% - 50vw);
    padding-right: calc(50vw - 50%); */
    background-image: url(../images/fv-bg.jpg);
  }
  @media screen and (max-width: 780px) {
    .common-cta_col._col2 {
      margin-right: 0;
      padding-right: 0;
      background-image: none;
    }
  }
  .common-cta_col._col2 .common-cta_inner {
    padding-right: 90px;
  }
  @media screen and (max-width: 780px) {
    .common-cta_col._col2 .common-cta_inner {
      padding-right: clamp(32px, 0.8072653885vw + 28.9727547931px, 40px);
    }
  }
  .common-cta_inner {
    position: relative;
    z-index: 2;
    padding-top: clamp(50px, 2.0181634712vw + 42.4318869828px, 70px);
    padding-bottom: clamp(50px, 2.0181634712vw + 42.4318869828px, 70px);
    padding-left: clamp(32px, 0.8072653885vw + 28.9727547931px, 40px);
    padding-right: clamp(32px, 0.8072653885vw + 28.9727547931px, 40px);
    display: grid;
    -ms-flex-line-pack: center;
        align-content: center;
    justify-items: center;
    gap: clamp(32px, 1.2108980827vw + 27.4591321897px, 44px);
  }
  .common-cta_header {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
  .common-cta_heading {
    font-size: clamp(18px, 0.8072653885vw + 14.9727547931px , 26px);
    line-height: 1.7;
    letter-spacing: 0.1em;
    color: #ffffff;
    font-weight: normal;
  }
  .common-cta_body {
    max-width: clamp(300px, 9.3844601413vw + 264.8082744702px, 393px);
  }
  .common-cta_body .button {
    margin-left: auto;
    margin-right: auto;
    margin-top: clamp(24px, 0.8072653885vw + 20.9727547931px, 32px);
  }
  .common-cta_text {
    text-align: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    color: #ffffff;
  }
  .common-cta_contact {
    display: grid;
    justify-items: center;
    gap: 2px;
    margin-top: clamp(24px, 0.8072653885vw + 20.9727547931px, 32px);
  }
  .common-cta_contact .tel_icon {
    display: block;
    max-width: 24px;
    margin-bottom: clamp(2px, 0.2018163471vw + 1.2431886983px, 4px);
  }
  .common-cta_contact .tel a {
    color: #dada06;
    font-size: 21px;
  }
  .common-cta_contact span {
    font-size: clamp(13px, 0.2018163471vw + 12.2431886983px , 15px);
    line-height: 1.5;
    letter-spacing: 0.101em;
    display: inline-block;
    color: #ffffff;
  }



  /* フッター */
  .footer_wrapper {
    background-color: #5c88a7;
  }
  .footer_inner {
    max-width: 1164px;
    padding: 0 32px;
    margin-left: auto;
    margin-right: auto;
    padding-top: clamp(50px, 5.0454086781vw + 31.0797174571px, 100px);
    padding-bottom: clamp(40px, 4.0363269425vw + 24.8637739657px, 80px);
    display: grid;
    gap: clamp(50px, 5.0454086781vw + 31.0797174571px, 100px);
  }
  .footer_body {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: repeat(2, 1fr);
  }
  @media screen and (max-width: 780px) {
    .footer_body {
      grid-auto-flow: row;
      grid-template-columns: 1fr;
      gap: 40px;
    }
  }
  .footer_content {
    display: grid;
    gap: clamp(24px, 0.8072653885vw + 20.9727547931px, 32px);
    grid-template-rows: auto 1fr;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    margin-right: 24px;
  }
  @media screen and (max-width: 780px) {
    .footer_content {
      margin-right: 0;
    }
  }
  .footer_logo {
    max-width: clamp(284px, 0vw + 284px, 284px);
    aspect-ratio: 284/59;
  }
  .footer_logo img {
    width: 100%;
    height: 100%;
    vertical-align: bottom;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .footer_sns {
    margin-top: clamp(24px, 1.614530777vw + 17.9455095863px, 40px);
  }
  .footer_copy {
    text-align: center;
    color: #ffffff;
  }
  @media screen and (max-width: 780px) {
    .footer_copy {
      margin-top: clamp(40px, 2.4217961655vw + 30.9182643794px, 64px);
    }
  }

  .footer_copy small {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 80%;
  }

  /* ドロワー */