@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

li,
dd {
  list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

img {
  border: none;
  vertical-align: bottom;
}

@media screen and (max-width: 1279px) and (min-width: 768px) {
  html {
    font-size: calc(16 / 1280 * 100vw);
  }
}
@media screen and (max-width: 374px) {
  html {
    font-size: calc(16 / 375 * 100vw);
  }
}

body {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
}

a {
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: inherit;
}
@media (hover: hover) {
  a:hover {
    cursor: pointer;
  }
}

picture,
img,
a,
span {
  display: inline-block;
}

video,
img,
svg {
  width: 100%;
  height: 100%;
}

button {
  font: inherit;
  color: inherit;
  background: transparent;
  background: none;
  border: none;
}

input,
textarea,
select {
  font: inherit;
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
.l-inner {
  position: relative;
  width: 100%;
  max-width: 1280px;
  height: inherit;
  padding: 0 3.75rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    width: 100%;
    max-width: 540px;
    padding: 0 1.25rem;
  }
}

.l-inner__narrow {
  max-width: 60rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner__narrow {
    padding: 0 1.25rem;
    max-width: 500px;
  }
}

.c-animated__fadeIn {
  opacity: 0;
  translate: 0 40px;
  -webkit-transition: opacity 0.6s ease, translate 0.6s ease;
  transition: opacity 0.6s ease, translate 0.6s ease;
}
.c-animated__fadeIn.js-show {
  translate: 0;
  opacity: 1;
}

.c-title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.6px;
  line-height: 160%;
  position: relative;
}
@media (min-width: 768px) {
  .c-title {
    font-size: max(2.5rem, 28px);
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: 0.03em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-title {
    font-size: 2.5rem;
  }
}

.c-title-sub {
  position: absolute;
  left: -10px;
  top: -56px;
  font-size: 70px;
  font-weight: 700;
  letter-spacing: 3.5px;
  line-height: 130%;
  opacity: 0.6;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(231, 241, 245, 0.4)), to(rgba(81, 148, 185, 0.2)));
  background: linear-gradient(0deg, rgba(231, 241, 245, 0.4) 0%, rgba(81, 148, 185, 0.2) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Poppins", sans-serif;
}
@media (min-width: 768px) {
  .c-title-sub {
    font-size: max(11.5rem, 128.8px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    top: -138px;
    left: -40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-title-sub {
    font-size: 11.5rem;
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .c-title-sub {
    top: -90px;
  }
}

.c-service-title-sub {
  position: absolute;
  font-size: 14px;
  color: #1B6C8C;
  font-weight: 700;
  letter-spacing: 0.42px;
  line-height: normal;
  font-family: "Poppins", sans-serif;
  top: -21px;
  left: 0;
}
@media (min-width: 768px) {
  .c-service-title-sub {
    font-size: clamp(18px, 15.7142857143px + 0.2976190476vw, 20px);
    top: -43px;
  }
}

.c-bg {
  position: relative;
  z-index: 1;
  overflow-y: hidden;
}
.c-bg::before {
  content: "";
  position: absolute;
  background: url(../img/bg-sp.png) no-repeat center center/cover;
  width: 100%;
  height: 1691px;
  top: -20px;
  left: 0;
  z-index: -1;
}
@media (min-width: 768px) {
  .c-bg::before {
    background: url(../img/bg-pc.png) no-repeat center center/cover;
    height: 1860px;
    top: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-bg.--2::before {
    top: 240px;
    height: 2260px;
  }
}

.c-page-bg {
  position: relative;
  z-index: 1;
  overflow-y: hidden;
}
.c-page-bg::before {
  content: "";
  position: absolute;
  background: url(../img/page-bg-sp.png) no-repeat center center/cover;
  width: 100%;
  height: 1648px;
  top: 0;
  left: 0;
  z-index: -1;
}
@media (min-width: 768px) {
  .c-page-bg::before {
    background: url(../img/page-bg-pc.png) no-repeat center center/cover;
    height: 1845px;
    top: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-page-bg.--2::before {
    top: 240px;
    height: 2260px;
  }
}

.c-cta {
  padding-top: 67px;
  padding-bottom: 64px;
  padding-inline: 46px;
  background: url(../../../assets/img/cta-bg-sp.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
@media (min-width: 768px) {
  .c-cta {
    background: url(../../../assets/img/cta-bg-pc.jpg) no-repeat center center/cover;
    padding-top: clamp(80px, -27.4285714286px + 13.9880952381vw, 174px);
    padding-bottom: clamp(60px, -26.8571428571px + 11.3095238095vw, 136px);
    padding-inline: clamp(60px, -111.4285714286px + 22.3214285714vw, 210px);
  }
}

.c-cta__title {
  position: absolute;
  -webkit-text-stroke-width: 1.5px;
  -webkit-text-stroke-color: #aeccdb;
  font-family: "Poppins", sans-serif;
  font-size: 70px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%; /* 91px */
  letter-spacing: 3.5px;
  color: transparent;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -57px;
}
@media (min-width: 768px) {
  .c-cta__title {
    font-size: max(11.5rem, 128.8px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    z-index: 1;
    top: -80px;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-cta__title {
    font-size: 11.5rem;
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .c-cta__title {
    top: -50px;
  }
}

.c-cta__btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media (min-width: 768px) {
  .c-cta__btn-wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: clamp(32px, 0px + 4.1666666667vw, 60px);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.c-cta__btn {
  border: 1.5px solid var(--white, #fefefe);
  padding-top: 20px;
  padding-bottom: 24px;
  text-align: center;
  font-weight: 400;
  line-height: 150%; /* 21px */
  letter-spacing: 0.42px;
  font-size: 14px;
  position: relative;
}
@media (min-width: 768px) {
  .c-cta__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(12px, 5.1428571429px + 0.8928571429vw, 18px);
    max-width: 480px;
    width: 100%;
    font-size: clamp(14px, 11.7142857143px + 0.2976190476vw, 16px);
    letter-spacing: 0.48px;
    line-height: 100%;
    padding-top: clamp(20px, 6.2857142857px + 1.7857142857vw, 32px);
    padding-bottom: clamp(24px, 5.7142857143px + 2.380952381vw, 40px);
  }
}
.c-cta__btn svg {
  width: 20px;
  height: 10px;
  position: absolute;
  right: 16px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (min-width: 768px) {
  .c-cta__btn svg {
    right: clamp(16px, -6.8571428571px + 2.9761904762vw, 36px);
  }
}

.--qa {
  color: #FEFEFE;
}
@media (any-hover: hover) {
  .--qa:hover {
    background: #FEFEFE;
    color: #1B6C8C;
  }
  .--qa:hover svg path {
    stroke: #1B6C8C;
  }
}

.c-cta__btn-text {
  font-size: 20px;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.6px;
}
@media (min-width: 768px) {
  .c-cta__btn-text {
    font-size: clamp(22px, 19.7142857143px + 0.2976190476vw, 24px);
    letter-spacing: 0.72px;
    line-height: 100%;
  }
}

.--contact {
  color: #1B6C8C;
  background: #FEFEFE;
}
@media (any-hover: hover) {
  .--contact:hover {
    background: transparent;
    color: #FEFEFE;
  }
  .--contact:hover svg path {
    stroke: #FEFEFE;
  }
}

.c-page-fv {
  padding-top: 90px;
  padding-bottom: 40px;
  padding-inline: 36px;
  background: url(../img/page-fv-sp.jpg) no-repeat center center/cover;
}
@media (min-width: 768px) {
  .c-page-fv {
    background: url(../img/page-fv-pc.jpg) no-repeat center center/cover;
    padding-top: clamp(100px, 38.2857142857px + 8.0357142857vw, 154px);
    padding-bottom: clamp(80px, 52.5714285714px + 3.5714285714vw, 104px);
    padding-inline: clamp(80px, 11.4285714286px + 8.9285714286vw, 140px);
  }
}
@media screen and (max-width: 767px) {
  .c-page-fv.--pb {
    padding-bottom: 104px;
  }
}

.c-page-fv__title {
  color: #FEFEFE;
  text-shadow: 0 2px 2px rgba(28, 112, 152, 0.25);
  font-size: 28px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 42px */
  letter-spacing: 0.84px;
}
@media (min-width: 768px) {
  .c-page-fv__title {
    font-size: clamp(32px, 13.7142857143px + 2.380952381vw, 48px);
    letter-spacing: 1.44px;
    line-height: 170%;
  }
}

.c-page-fv__text {
  margin-top: 16px;
  color: #FEFEFE;
  text-shadow: 0 2px 2px rgba(28, 112, 152, 0.25);
  font-size: 14px;
  font-weight: 600;
  line-height: 150%; /* 21px */
  letter-spacing: 0.7px;
  font-family: "Poppins", sans-serif;
}
@media (min-width: 768px) {
  .c-page-fv__text {
    margin-top: clamp(12px, -6.2857142857px + 2.380952381vw, 28px);
    font-size: clamp(20px, 10.8571428571px + 1.1904761905vw, 28px);
    letter-spacing: 1.4px;
    line-height: 140%;
  }
}

.c-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #1B6C8C;
  z-index: 1000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: translate 0.6s ease;
  transition: translate 0.6s ease;
}
.c-loading.js-loading-end {
  translate: 0 -100%;
}

.c-loading__inner {
  position: relative;
}

.c-loading__image {
  width: 155px;
  height: 67px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 768px) {
  .c-loading__image {
    width: 252px;
    height: 108px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    aspect-ratio: 7/3;
  }
}

.p-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  padding-inline: 1.25rem;
  background: transparent;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media (min-width: 768px) {
  .p-header {
    padding-inline: 9.7222222222vw;
  }
}
.p-header.is-scrolled {
  background: var(--white, #fefefe);
  -webkit-box-shadow: 0 1px 10px 0 rgba(28, 112, 152, 0.25);
          box-shadow: 0 1px 10px 0 rgba(28, 112, 152, 0.25);
}
.p-header.is-scrolled::before {
  background: var(--dark-blue, #1b6c8c);
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
.p-header.is-scrolled .p-header__list li a {
  color: #333;
  text-shadow: none;
}
.p-header.is-scrolled .p-header__btn {
  color: #0781D2;
  text-shadow: none;
  border-color: #0781D2;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .p-header.is-scrolled .p-header__btn:hover {
    background: #0781D2;
    color: #FEFEFE;
    border-color: #0781D2;
  }
  .p-header.is-scrolled .p-header__btn:hover svg {
    fill: #FEFEFE;
  }
}
.p-header.is-scrolled .p-header__btn svg {
  fill: #0781D2;
}
@media (max-width: 1390px) {
  .p-header::before {
    content: "";
    position: absolute;
    width: 80px;
    height: 100%;
    top: 0;
    right: 0;
    background: transparent;
    -webkit-transition: background 0.3s ease;
    transition: background 0.3s ease;
  }
}
@media screen and (max-width: 1390px) and (max-width: 767px) {
  .p-header::before {
    width: 66px;
  }
}

.p-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 12px;
  padding-bottom: 11px;
}
@media (min-width: 768px) {
  .p-header__inner {
    padding-top: 22px;
    padding-bottom: 12px;
  }
}

.p-header__logo-image {
  width: 95.614px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 95.61/41;
  position: relative;
}
@media (min-width: 768px) {
  .p-header__logo-image {
    width: clamp(100px, 54.2857142857px + 5.9523809524vw, 140px);
  }
}
.p-header__logo-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.p-header__logo-image .p-header__logo-default {
  opacity: 1;
}
.p-header__logo-image .p-header__logo-scrolled {
  opacity: 0;
}

.p-header.is-scrolled .p-header__logo-image .p-header__logo-default {
  opacity: 0;
}
.p-header.is-scrolled .p-header__logo-image .p-header__logo-scrolled {
  opacity: 1;
}

.p-header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-column-gap: 2.7777777778vw;
     -moz-column-gap: 2.7777777778vw;
          column-gap: 2.7777777778vw;
}
@media screen and (max-width: 767px) {
  .p-header__nav {
    display: none;
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 1390px) {
  .p-header__nav {
    display: none;
  }
}

.p-header__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2.2222222222vw;
     -moz-column-gap: 2.2222222222vw;
          column-gap: 2.2222222222vw;
}
.p-header__list li a {
  font-size: max(0.8125rem, 9.1px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.03em;
  color: #FEFEFE;
  text-shadow: 0 2px 2px rgba(28, 112, 152, 0.25);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-header__list li a {
    font-size: 0.8125rem;
  }
}
@media (any-hover: hover) {
  .p-header__list li a:hover {
    opacity: 0.6;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}

.p-header__btn {
  padding-left: 23px;
  padding-right: 30px;
  padding-top: 16px;
  padding-bottom: 18px;
  border: 1.5px solid #fff;
  color: #FEFEFE;
  font-size: max(0.8125rem, 9.1px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.03em;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .p-header__btn {
    font-size: 0.8125rem;
  }
}
@media (any-hover: hover) {
  .p-header__btn:hover {
    background: #FEFEFE;
    color: #0781D2;
  }
  .p-header__btn:hover svg {
    fill: #0781D2;
  }
}

.p-header__btn-icon {
  margin-top: 5px;
}
.p-header__btn-icon svg {
  fill: #FEFEFE;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}

.p-drawer__icon {
  position: fixed;
  z-index: 102;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  top: 19px;
  right: 23px;
  width: 24px;
  height: 14px;
}
@media (min-width: 768px) {
  .p-drawer__icon {
    top: 24px;
    width: 33px;
    height: 23px;
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-drawer__icon {
    top: 18px;
  }
}
@media (min-width: 768px) and (min-width: 1391px) {
  .p-drawer__icon {
    display: none;
  }
}

.p-drawer__icon--bar {
  width: 100%;
  height: 1px;
  background: var(--white, #fefefe);
}

.p-drawer__icon-text {
  position: absolute;
  font-family: "Poppins", sans-serif;
  font-size: 8px;
  letter-spacing: 0.24px;
  line-height: 150%;
  color: #fefefe;
  top: 20px;
}
@media (min-width: 768px) {
  .p-drawer__icon-text {
    font-size: 12px;
    top: 30px;
  }
}

.p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(1) {
  rotate: 30deg;
  translate: 0 6.5px;
}
@media (min-width: 768px) {
  .p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(1) {
    translate: 0 10.5px;
  }
}
.p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(2) {
  display: none;
}
.p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(3) {
  rotate: -30deg;
  translate: 0 -6.5px;
}
@media (min-width: 768px) {
  .p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(3) {
    translate: 0 -10.5px;
  }
}

.p-drawer {
  position: fixed;
  z-index: 101;
  overflow-y: scroll;
  top: 64px;
  right: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  background: var(--white, #fefefe);
}
@media (min-width: 768px) {
  .p-drawer {
    top: clamp(77px, 57.5714285714px + 2.5297619048vw, 94px);
  }
}

.p-drawer__icon--bar {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.p-drawer {
  translate: -101%;
  -webkit-transition: translate 0.5s ease;
  transition: translate 0.5s ease;
}
.p-drawer.js-show {
  translate: 0;
}

.p-drawer__body {
  width: 100%;
  height: 100%;
  padding-block: 56px 40px;
  padding-left: 67px;
  position: relative;
}
@media (min-width: 768px) {
  .p-drawer__body {
    padding-left: 0;
  }
}
.p-drawer__body::before {
  content: "";
  position: absolute;
  background: url(../img/drawer-bg-sp.png) no-repeat center center/cover;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

.p-drawer__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 34px;
  margin-bottom: 38px;
}
@media (min-width: 768px) {
  .p-drawer__list {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    row-gap: 20px;
    margin-bottom: 20px;
  }
}
.p-drawer__list li a {
  font-size: max(1rem, 11.2px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.03em;
  padding-left: 26px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-drawer__list li a {
    font-size: 1rem;
  }
}
.p-drawer__list li a::before {
  content: "";
  position: absolute;
  background: #d1d8dc;
  width: 14px;
  height: 2px;
  left: 0;
  top: 50%;
  translate: 0 -50%;
}

.p-drawer__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  padding-block: 16px;
  padding-left: 52px;
  background: #fff;
  border: 2px solid var(--accent-blue, #0781d2);
  background: var(--white, #fefefe);
  width: 240px;
}
@media (min-width: 768px) {
  .p-drawer__btn {
    margin-inline: auto;
  }
}

.p-drawer__btn-text {
  color: var(--accent-blue, #0781d2);
  font-size: 16px;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.48px;
}

.p-footer {
  padding-top: 40px;
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .p-footer {
    background: var(--white-gray, #f4f6f7);
  }
}
@media (min-width: 768px) {
  .p-footer {
    padding-top: 69px;
    padding-bottom: 60px;
    background: var(--white, #fefefe);
  }
}

.p-footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  padding-inline: 36px;
}
@media (min-width: 768px) {
  .p-footer__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 92px;
    padding-inline: clamp(60px, 60px + 0vw, 60px);
  }
}

.p-footer__body-logo {
  width: 130.594px;
  height: 56px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 130.59/56;
}
@media (min-width: 768px) {
  .p-footer__body-logo {
    width: 149.251px;
    height: 64px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    aspect-ratio: 149.25/64;
  }
}

.p-footer__body-address {
  margin-top: 32px;
  font-size: 14px;
  font-weight: 400;
  line-height: 170%; /* 23.8px */
  letter-spacing: 0.42px;
}
@media (min-width: 768px) {
  .p-footer__body-address {
    margin-top: 11px;
  }
}

.p-footer__body-open {
  margin-top: 24px;
  font-size: 14px;
  font-weight: 400;
  line-height: 170%; /* 23.8px */
  letter-spacing: 0.42px;
}
@media (min-width: 768px) {
  .p-footer__body-open {
    margin-top: 28px;
  }
}

.p-footer__contact-btn-wrap {
  margin-top: 40px;
}

.p-footer__contact-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  font-size: 13px;
  font-weight: 600;
  line-height: 150%; /* 19.5px */
  letter-spacing: 0.39px;
  color: #0781D2;
  border: 1.5px solid var(--acsent-blue, #0781D2);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-top: 17px;
  padding-bottom: 19px;
  padding-left: 24px;
  padding-right: 30px;
}
@media (any-hover: hover) {
  .p-footer__contact-btn:hover {
    background: #0781D2;
    color: #FEFEFE;
  }
  .p-footer__contact-btn:hover svg path {
    fill: #FEFEFE;
  }
}
.p-footer__contact-btn svg {
  width: 20px;
  height: 15px;
}
.p-footer__contact-btn svg path {
  fill: #0781D2;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-footer__nav-lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}

.p-footer__nav-link {
  font-size: 13px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 19.5px */
  letter-spacing: 0.39px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .p-footer__nav-link:hover {
    opacity: 0.6;
  }
}

.p-footer__copyright {
  margin-top: 48px;
  text-align: center;
}
@media (min-width: 768px) {
  .p-footer__copyright {
    margin-top: 109px;
  }
}

.p-footer__copyright-text {
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 18px */
  letter-spacing: 0.36px;
}

.p-test {
  background: -webkit-gradient(linear, left top, left bottom, from(#025F87), to(rgba(99, 169, 229, 0)));
  background: linear-gradient(180deg, #025F87 0%, rgba(99, 169, 229, 0) 100%);
  padding-block: 7.5rem;
  height: 3000px;
}
@media screen and (max-width: 767px) {
  .p-test {
    padding-block: 4.375rem;
  }
}

.p-test__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-test__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 1.25rem;
  }
}

.p-test__title {
  text-transform: uppercase;
  color: blue;
  display: inline;
  font-size: max(2.5rem, 28px);
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-test__title {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-test__title {
    font-size: max(1.25rem, 14px);
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-test__title {
    font-size: 1.25rem;
  }
}

.p-test__text {
  -webkit-margin-before: 2.5rem;
          margin-block-start: 2.5rem;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
}

.p-test__text-wrap {
  width: min(25rem, 100%);
}

.p-test__img {
  width: min(37.5rem, 100%);
  height: auto;
}

.p-fv {
  background: url(../img/fv-bg-sp.jpg) no-repeat center center/cover;
  padding-top: 98px;
  padding-bottom: clamp(20.313rem, -8.015rem + 120.87vw, 50rem);
}
@media (min-width: 426px) and (max-width: 768px) {
  .p-fv {
    background: url(../img/fv-bg-tab.jpg) no-repeat center center/cover;
    padding-bottom: 322px;
  }
}
@media (min-width: 768px) {
  .p-fv {
    background: url(../img/fv-bg-pc.jpg) no-repeat center center/cover;
    padding-top: 122px;
    padding-bottom: clamp(11.25rem, -7.393rem + 38.84vw, 27.563rem);
  }
}

.p-fv__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 9px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
@media (min-width: 768px) {
  .p-fv__title {
    gap: 18px;
  }
}

.p-fv__title-text {
  font-size: 32px;
  line-height: 150%;
  letter-spacing: 0.96px;
  font-weight: 400;
  color: #FEFEFE;
  background: #1B6C8C;
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-inline: 12px;
  -webkit-text-stroke-width: 0.5px;
  -webkit-text-stroke-color: var(--white, #fefefe);
}
.p-fv__title-text.--2 {
  padding-right: 0;
}
@media (min-width: 768px) {
  .p-fv__title-text {
    font-size: max(3rem, 33.6px);
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.03em;
    padding-inline: 24px;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-fv__title-text {
    font-size: 3rem;
  }
}

.p-fv__text {
  margin-top: 230px;
  padding-inline: 20px;
}

.p-about {
  padding-top: 76px;
  padding-bottom: 104px;
  position: relative;
}
@media (min-width: 768px) {
  .p-about {
    padding-top: clamp(120px, 19.4285714286px + 13.0952380952vw, 208px);
    padding-bottom: clamp(120px, 28.5714285714px + 11.9047619048vw, 200px);
  }
}

.p-about__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
@media (min-width: 768px) {
  .p-about__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-about__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media (min-width: 768px) {
  .p-about__body {
    width: 44.13%;
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-about__body {
    width: 100%;
    margin-inline: auto;
  }
}

.p-about__text {
  margin-top: 16px;
  font-weight: 400;
  letter-spacing: 0.48px;
  line-height: 200%;
}
.p-about__text span {
  display: inline;
  color: #0781D2;
  font-weight: 600;
}
@media (min-width: 768px) {
  .p-about__text {
    font-size: clamp(16px, 16px + 0vw, 16px);
    margin-top: 28px;
  }
}

@media (min-width: 768px) {
  .p-about__image {
    width: 50.6%;
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-about__image {
    width: 80%;
    margin-inline: auto;
  }
}
.p-about__image img {
  height: auto;
}

.p-vision {
  background: url(../img/vision-bg-sp.jpg) no-repeat center center/cover;
  position: relative;
  padding-block: 20px;
}
@media (min-width: 768px) {
  .p-vision {
    padding-block: 24px;
    background: url(../img/vision-bg-pc.png) no-repeat center center/cover;
  }
}

.p-vision__title-sub {
  position: absolute;
  -webkit-text-stroke-width: 1.5px;
  -webkit-text-stroke-color: #aeccdb;
  font-family: "Poppins", sans-serif;
  font-size: 70px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%; /* 91px */
  letter-spacing: 3.5px;
  color: transparent;
  right: 20px;
  top: -80px;
}
@media (min-width: 768px) {
  .p-vision__title-sub {
    font-size: max(11.5rem, 128.8px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    z-index: 1;
    top: -148px;
    right: clamp(20px, -14.2857142857px + 4.4642857143vw, 50px);
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-vision__title-sub {
    font-size: 11.5rem;
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-vision__title-sub {
    top: -100px;
  }
}

.p-vision__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media (min-width: 768px) {
  .p-vision__items {
    padding-left: clamp(120px, -21.7142857143px + 18.4523809524vw, 244px);
    gap: clamp(16px, 11.4285714286px + 0.5952380952vw, 20px);
  }
}

.p-vision__item {
  background: #fff;
  padding-top: 24px;
  padding-left: 8px;
  padding-right: 15px;
  padding-bottom: 24px;
  position: relative;
}
@media (min-width: 768px) {
  .p-vision__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: clamp(21px, -3px + 3.125vw, 42px);
    padding-top: clamp(20px, 1.7142857143px + 2.380952381vw, 36px);
    padding-bottom: clamp(20px, -2.8571428571px + 2.9761904762vw, 40px);
  }
}

.p-vision__item-number {
  position: absolute;
  left: 16px;
  top: -20px;
  color: #9ecadb;
  font-family: "Poppins", sans-serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 15px */
  letter-spacing: 0.3px;
}
.p-vision__item-number span {
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 45px */
  letter-spacing: 0.9px;
}

.p-vision__item-number--pc {
  position: relative;
  color: #9ecadb;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 27px */
  letter-spacing: 0.54px;
  margin-right: clamp(20px, -2.8571428571px + 2.9761904762vw, 40px);
}
.p-vision__item-number--pc span {
  position: absolute;
  left: 50%;
  translate: -50%;
  bottom: -16px;
  font-size: max(4.375rem, 49px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-vision__item-number--pc span {
    font-size: 4.375rem;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .p-vision__item-number--pc span {
    bottom: 0;
  }
}

@media (min-width: 768px) {
  .p-vision__item-body {
    padding-left: clamp(18px, -2.5714285714px + 2.6785714286vw, 36px);
    position: relative;
    border-left: 1px solid #9ecadb;
  }
}

.p-vision__item-title {
  color: #1B6C8C;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 30px */
  letter-spacing: 0.6px;
}
@media (min-width: 768px) {
  .p-vision__item-title {
    font-size: max(2rem, 22.4px);
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-vision__item-title {
    font-size: 2rem;
  }
}

.p-vision__item-text {
  margin-top: 8px;
  font-weight: 400;
  line-height: 170%; /* 27.2px */
  letter-spacing: 0.48px;
  padding-left: 8px;
}
@media (min-width: 768px) {
  .p-vision__item-text {
    font-size: clamp(16px, 13.7142857143px + 0.2976190476vw, 18px);
    margin-top: clamp(8px, -1.1428571429px + 1.1904761905vw, 16px);
  }
}

.p-top-service {
  padding-top: 100px;
  padding-bottom: 44px;
}
@media (min-width: 768px) {
  .p-top-service {
    padding-top: clamp(120px, -18.2857142857px + 18.005952381vw, 241px);
    padding-bottom: 12px;
  }
}

.p-top-service__title {
  font-size: 28px;
  letter-spacing: 0.84px;
  line-height: 160%;
}
@media (min-width: 768px) {
  .p-top-service__title {
    font-size: max(2.5rem, 28px);
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: 0.03em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-top-service__title {
    font-size: 2.5rem;
  }
}

.p-top-service__content {
  margin-top: 31px;
}
@media (min-width: 768px) {
  .p-top-service__content {
    margin-top: 60px;
  }
}

.p-top-service__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 80px;
}
@media (min-width: 768px) {
  .p-top-service__items {
    gap: 100px;
  }
}

@media (min-width: 768px) {
  .p-top-service__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-top-service__item.--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media (min-width: 768px) {
  .p-top-service__item-image {
    width: 49%;
  }
}

.p-top-service__item-body {
  position: relative;
}
@media (min-width: 768px) {
  .p-top-service__item-body {
    width: 46.8%;
  }
}

.p-top-service__item-title {
  margin-top: -12px;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.72px;
  line-height: 100%;
  color: #FEFEFE;
}
@media (min-width: 768px) {
  .p-top-service__item-title {
    background: #1B6C8C;
    padding-block: 12px;
    padding-inline: 16px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    white-space: nowrap;
    letter-spacing: 0.96px;
    line-height: 1.2;
    font-size: clamp(18px, 2px + 2.0833333333vw, 32px);
  }
  .p-top-service__item-title.--tr {
    text-align: right;
    position: absolute;
    top: -40px;
    right: 0;
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-top-service__item-title.--tr {
    top: -20px;
  }
}
.p-top-service__item-title span {
  padding-block: 6px;
  padding-inline: 8px;
  background: #1B6C8C;
  display: inline;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 768px) {
  .p-top-service__item-title span {
    padding-block: 12px;
    padding-inline: 16px;
  }
}
.p-top-service__item-title.--sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  background: unset;
  padding: 0;
}

.p-top-service__item-text {
  margin-top: 20px;
  font-weight: 400;
  line-height: 170%; /* 27.2px */
  letter-spacing: 0.48px;
}
@media (min-width: 768px) {
  .p-top-service__item-text {
    margin-top: 28px;
    font-size: clamp(16px, 16px + 0vw, 16px);
  }
}

.p-top-service__item-btn-wrap {
  margin-top: 32px;
  text-align: center;
}
@media (min-width: 768px) {
  .p-top-service__item-btn-wrap {
    margin-top: 40px;
    text-align: end;
  }
  .p-top-service__item-btn-wrap.--reverse {
    text-align: start;
  }
}

.p-top-service__item-btn {
  display: inline-block;
  color: #0781D2;
  border: 1.5px solid #0781D2;
  font-weight: 600;
  letter-spacing: 0.48px;
  line-height: 100%;
  padding-block: 17px;
  width: 210px;
  text-align: center;
  position: relative;
}
@media (min-width: 768px) {
  .p-top-service__item-btn {
    font-size: clamp(16px, 16px + 0vw, 16px);
  }
}
.p-top-service__item-btn::before {
  content: "";
  position: absolute;
  top: calc(50% + 4px);
  translate: 0 -50%;
  left: calc(100% - 16px);
  width: 31px;
  height: 1.5px;
  background: #0781D2;
  -webkit-transition: width 0.5s ease;
  transition: width 0.5s ease;
}
.p-top-service__item-btn::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  translate: 0 -50%;
  rotate: 45deg;
  left: calc(100% + 4px);
  width: 12px;
  height: 1.5px;
  background: #0781D2;
  -webkit-transition: left 0.5s ease;
  transition: left 0.5s ease;
}
@media (any-hover: hover) {
  .p-top-service__item-btn:hover::before {
    width: 50px;
  }
  .p-top-service__item-btn:hover::after {
    left: calc(100% + 23px);
  }
}

.p-greeting {
  padding-top: 56px;
  padding-bottom: 44px;
}
@media (min-width: 768px) {
  .p-greeting {
    padding-top: 240px;
    padding-bottom: 104px;
  }
}

.p-greeting__title {
  font-size: 32px;
  font-weight: 600;
  line-height: 160%; /* 51.2px */
  letter-spacing: 0.96px;
}

@media screen and (max-width: 767px) {
  .p-greeting__title-sub {
    z-index: -1;
    line-height: 130%;
    top: -75px;
  }
}
.p-greeting__content {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  padding-inline: 22px;
  gap: 32px;
}
@media (min-width: 768px) {
  .p-greeting__content {
    margin-top: 60px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: clamp(30px, 4.8571428571px + 3.2738095238vw, 52px);
    max-width: 960px;
    margin-inline: auto;
    padding-inline: 0;
  }
}

@media (min-width: 768px) {
  .p-greeting__content-body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.p-greeting__content-text {
  font-weight: 400;
  line-height: 200%; /* 32px */
  letter-spacing: 0.48px;
}
@media (min-width: 768px) {
  .p-greeting__content-text {
    line-height: 170%;
    font-size: clamp(14px, 11.7142857143px + 0.2976190476vw, 16px);
  }
}

.p-greeting__content-name {
  margin-top: 32px;
  font-size: 19px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 28.5px */
  letter-spacing: 0.57px;
  white-space: nowrap;
  text-align: end;
}
@media (min-width: 768px) {
  .p-greeting__content-name {
    font-size: clamp(22px, 19.7142857143px + 0.2976190476vw, 24px);
    margin-top: 50px;
  }
}

@media (min-width: 768px) {
  .p-greeting__content-image {
    width: 30.4%;
  }
  .p-greeting__content-image img {
    height: auto;
  }
}

.p-greeting__biography {
  margin-top: 80px;
}
@media (min-width: 768px) {
  .p-greeting__biography {
    max-width: 1080px;
    margin-inline: auto;
    padding-inline: 60px;
    margin-top: 103px;
  }
}

.p-greeting__biography-image {
  width: 90%;
}
@media (min-width: 768px) {
  .p-greeting__biography-image {
    width: clamp(500px, 422.2857142857px + 10.119047619vw, 568px);
  }
}

.p-greeting__biography-body {
  background: #fff;
  max-width: 500px;
  width: 89.33%;
  margin-inline: auto;
  padding-top: 24px;
  padding-inline: 24px;
  padding-bottom: 42px;
  border: 1px solid #d1d8dc;
  margin-top: -50px;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .p-greeting__biography-body {
    width: 100%;
    max-width: 518px;
    margin-inline: auto 0;
    margin-top: -130px;
    padding-top: 45px;
    padding-left: 96px;
  }
}

.p-greeting__biography-title {
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%; /* 18px */
  letter-spacing: 0.54px;
}
@media (min-width: 768px) {
  .p-greeting__biography-title {
    position: absolute;
    top: 36px;
    left: 36px;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    line-height: 130%;
  }
}
.p-greeting__biography-title span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%; /* 18px */
  letter-spacing: 0.54px;
  padding-left: 16px;
  position: relative;
}
@media (min-width: 768px) {
  .p-greeting__biography-title span {
    padding-left: 0;
    padding-top: 21px;
  }
}
.p-greeting__biography-title span::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  translate: 0 -50%;
  width: 1px;
  height: 16px;
  background: #333;
}
@media (min-width: 768px) {
  .p-greeting__biography-title span::before {
    left: 0;
    top: 9px;
    translate: unset;
    width: 16px;
    height: 1px;
  }
}

.p-greeting__biography-lists {
  margin-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  position: relative;
}
@media (min-width: 768px) {
  .p-greeting__biography-lists {
    margin-top: 0;
  }
}
.p-greeting__biography-lists::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 90%;
  background: #D1D8DC;
  left: 3px;
  top: 5px;
}
@media (min-width: 768px) {
  .p-greeting__biography-lists::before {
    top: 11px;
    height: 92%;
  }
}

.p-greeting__biography-list {
  padding-left: 28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
@media (min-width: 768px) {
  .p-greeting__biography-list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 22px;
  }
}

.p-greeting__biography-list-date {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 14px */
  letter-spacing: 0.42px;
  font-family: "Poppins", sans-serif;
  position: relative;
}
@media (min-width: 768px) {
  .p-greeting__biography-list-date {
    width: 68px;
  }
}
.p-greeting__biography-list-date::before {
  content: "";
  position: absolute;
  left: -28px;
  top: 50%;
  translate: 0 -50%;
  width: 7px;
  height: 7px;
  background: #E60012;
  border-radius: 50%;
}

.p-greeting__biography-list-text {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 170%; /* 23.8px */
  letter-spacing: 0.42px;
}

.p-greeting__biography-sns-wrap {
  margin-top: 31px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 48px;
}

.p-greeting__biography-sns-btn {
  width: 20px;
  height: 20px;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-greeting__biography-sns-btn:hover {
  opacity: 0.7;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.p-access {
  padding-top: 56px;
  padding-bottom: 80px;
  overflow-x: hidden;
}
@media (min-width: 768px) {
  .p-access {
    padding-top: 136px;
    padding-bottom: clamp(180px, 108px + 9.375vw, 243px);
  }
}

@media screen and (max-width: 767px) {
  .p-access__title {
    font-size: 32px;
  }
}

.p-access__content {
  margin-top: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
@media (min-width: 768px) {
  .p-access__content {
    margin-top: 40px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: clamp(40px, -26.2857142857px + 8.630952381vw, 98px);
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 900px) {
  .p-access__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media (min-width: 768px) {
  .p-access__table {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.p-access__table table {
  border-collapse: collapse;
  font-size: clamp(14px, 11.7142857143px + 0.2976190476vw, 16px);
}
@media (min-width: 768px) and (max-width: 900px) {
  .p-access__table table {
    margin-inline: auto;
  }
}
.p-access__table tr {
  /* padding-bottom: 19px;  ← 無効なので削除 */
  /* border-bottom: 1px solid $medium-gray; ← セル側に集約 */
}
.p-access__table th,
.p-access__table td {
  border-bottom: 1px solid #D1D8DC;
  vertical-align: top;
}
.p-access__table th {
  font-weight: 500;
  line-height: 170%;
  letter-spacing: 0.48px;
  width: 66px;
  text-align: left;
  padding: 20px 0 19px;
}
.p-access__table td {
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.48px;
  padding: 20px 0 19px 24px;
}
@media screen and (max-width: 767px) {
  .p-access__table td a {
    color: #1B6C8C;
  }
}

.p-access__map {
  aspect-ratio: 167/134;
}
@media (min-width: 768px) {
  .p-access__map {
    width: 47.3%;
    aspect-ratio: 549/439;
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 900px) {
  .p-access__map {
    width: 70%;
    margin-inline: auto;
  }
}
.p-access__map iframe {
  width: 100%;
  height: 100%;
}

.p-access__parking {
  margin-top: 80px;
  display: grid;
  row-gap: 22px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-access__parking {
    margin-top: 77px;
    z-index: 1;
  }
}
@media (min-width: 768px) {
  .p-access__parking {
    grid-template-areas: "image title" "image text";
    -webkit-column-gap: clamp(32px, -4.5714285714px + 4.7619047619vw, 64px);
       -moz-column-gap: clamp(32px, -4.5714285714px + 4.7619047619vw, 64px);
            column-gap: clamp(32px, -4.5714285714px + 4.7619047619vw, 64px);
    grid-template-columns: clamp(400px, 206.8571428571px + 25.1488095238vw, 569px) 1fr;
    row-gap: 0;
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 900px) {
  .p-access__parking {
    grid-template-areas: "title" "image" "text";
    row-gap: 24px;
    width: 70%;
    grid-template-columns: 1fr;
    margin-inline: auto;
  }
}

.p-access__parking-title {
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%; /* 24px */
  letter-spacing: 0.72px;
  padding-inline: 8px;
  padding-block: 6px;
  background: #1B6C8C;
  color: #FEFEFE;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 768px) {
  .p-access__parking-title {
    grid-area: title;
    font-size: clamp(20px, 6.2857142857px + 1.7857142857vw, 32px);
    align-self: start;
    padding-block: 12px;
    padding-inline: 16px;
    margin-top: 20px;
  }
}

@media (min-width: 768px) {
  .p-access__parking-image {
    grid-area: image;
  }
}

.p-access__parking-text {
  font-weight: 400;
  line-height: 170%; /* 27.2px */
  letter-spacing: 0.48px;
}
@media (min-width: 768px) {
  .p-access__parking-text {
    grid-area: text;
    line-height: 200%;
    font-size: clamp(14px, 11.7142857143px + 0.2976190476vw, 16px);
  }
}
.p-access__parking-text span {
  color: #0781D2;
  font-weight: 600;
}

.p-service-procedure {
  padding-bottom: 80px;
}
@media (min-width: 768px) {
  .p-service-procedure {
    padding-bottom: 96px;
  }
}

.p-service-procedure__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media (min-width: 768px) {
  .p-service-procedure__inner {
    gap: 60px;
  }
}

.p-service-procedure__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
@media (min-width: 768px) {
  .p-service-procedure__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-service-procedure__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 32px;
  }
}

.p-service-procedure__text {
  margin-top: 0;
}

.p-service-flow {
  padding-top: 21px;
  padding-bottom: 80px;
  overflow-x: hidden;
}
@media (min-width: 768px) {
  .p-service-flow {
    padding-top: 44px;
    padding-bottom: 124px;
  }
}

.p-service-flow__title {
  font-size: 28px;
  position: relative;
  line-height: 170%;
  letter-spacing: 0;
}
@media (min-width: 768px) {
  .p-service-flow__title {
    font-size: clamp(32px, 22.8571428571px + 1.1904761905vw, 40px);
    line-height: 170%;
    letter-spacing: 0;
    padding-left: 8px;
  }
}

.p-service-flow__content {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .p-service-flow__content {
    padding-inline: 16px;
  }
}
@media (min-width: 768px) {
  .p-service-flow__content {
    margin-top: clamp(40px, 17.1428571429px + 2.9761904762vw, 60px);
  }
}

.p-service-flow__items--sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 31px;
}
@media (min-width: 768px) {
  .p-service-flow__items--sp {
    display: none;
  }
}

.p-service-flow__item {
  border: 2px solid var(--medium-gray, #d1d8dc);
  background: var(--white, #fefefe);
  padding-inline: 32px;
  padding-top: 26px;
  padding-bottom: 32px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-service-flow__item::before {
    content: "";
    position: absolute;
    width: 2px;
    height: 32px;
    background: #d1d8dc;
    left: 50%;
    translate: -50%;
    bottom: -33px;
  }
}
.p-service-flow__item:last-of-type::before {
  display: none;
}

.p-service-flow__item-title {
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 170%; /* 40.8px */
  padding-left: 38px;
  position: relative;
}

.p-service-flow__item-title-number {
  position: absolute;
  font-size: 18px;
  font-weight: 700;
  line-height: 170%;
  font-family: "Poppins", sans-serif;
  background: #0781D2;
  color: #FEFEFE;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  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;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.p-service-flow__item-image {
  margin-top: 24px;
  width: 100px;
  margin-inline: auto;
}

.p-service-flow__item-text {
  margin-top: 26px;
  font-style: normal;
  font-weight: 400;
  line-height: 170%; /* 27.2px */
}
@media (min-width: 768px) {
  .p-service-flow__item-text {
    margin-top: 12px;
    padding-left: 11px;
  }
}

.p-service-flow__items--pc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(40px, -5.7142857143px + 5.9523809524vw, 80px);
  position: relative;
}
.p-service-flow__items--pc::before {
  content: "";
  position: absolute;
  width: 1000%;
  height: 2px;
  background: #d1d8dc;
  left: 50%;
  translate: -50%;
  top: clamp(186px, 162px + 3.125vw, 207px);
}
.p-service-flow__items--pc .p-service-flow__item {
  background: unset;
  border: unset;
  padding: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-service-flow__items--pc .p-service-flow__item::before {
  display: none;
}
.p-service-flow__items--pc .p-service-flow__item-title {
  margin-top: 78px;
  padding-left: 0;
  font-size: clamp(20px, 15.4285714286px + 0.5952380952vw, 24px);
}
.p-service-flow__items--pc .p-service-flow__item-title-number {
  font-size: 20px;
  line-height: 170%;
  width: 42px;
  height: 42px;
  left: 0;
  top: -32px;
}
.p-service-flow__items--pc .p-service-flow__item-image {
  border: 2px solid var(--medium-gray, #d1d8dc);
  background: var(--white, #fefefe);
  width: clamp(140px, 117.1428571429px + 2.9761904762vw, 160px);
  height: clamp(140px, 117.1428571429px + 2.9761904762vw, 160px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 0;
  margin-inline: 0;
  position: relative;
}
.p-service-flow__items--pc .p-service-flow__item-image::before {
  position: absolute;
  content: "";
  width: 2px;
  height: 29px;
  background: #d1d8dc;
  left: 18px;
  bottom: -29px;
}
.p-service-flow__items--pc .p-service-flow__item-image img {
  width: 50%;
  height: auto;
}
.p-service-flow__items--pc .p-service-flow__item-text {
  font-size: clamp(16px, 16px + 0vw, 16px);
}

.p-service-requirements {
  padding-top: 21px;
  padding-bottom: 80px;
}
@media (min-width: 768px) {
  .p-service-requirements {
    padding-bottom: 104px;
  }
}

.p-service-requirements__title {
  font-size: 28px;
  line-height: 170%;
  letter-spacing: 0;
}
@media (min-width: 768px) {
  .p-service-requirements__title {
    font-size: clamp(32px, 22.8571428571px + 1.1904761905vw, 40px);
    line-height: 170%;
    letter-spacing: 0;
  }
}

.p-service-requirements__title-date {
  font-size: 16px;
  font-weight: 600;
  line-height: 170%;
}

.p-service-requirements-text {
  margin-top: 32px;
  font-weight: 400;
  line-height: 200%; /* 32px */
  letter-spacing: 0.48px;
}
@media (min-width: 768px) {
  .p-service-requirements-text {
    margin-top: 60px;
    max-width: 826px;
    margin-inline: auto;
    font-size: clamp(16px, 16px + 0vw, 16px);
    line-height: 170%;
  }
}

.p-service-requirements__lists {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3px;
  padding-block: 24px;
  padding-inline: 16px;
  background: #F4F6F7;
}
@media (min-width: 768px) {
  .p-service-requirements__lists {
    margin-top: 60px;
    width: 100%;
    max-width: 600px;
    margin-inline: auto;
    padding-inline: 32px;
  }
}

.p-service-requirements__list {
  padding-left: 34px;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 180%; /* 32.4px */
  letter-spacing: 0.54px;
  position: relative;
}
.p-service-requirements__list::before {
  content: "";
  position: absolute;
  background: url(../img/icon-check.png) no-repeat center center/contain;
  width: 18px;
  height: 18px;
  left: 0;
  top: 50%;
  translate: 0 -50%;
}

.p-service-requirements__btn-wrap {
  margin-top: 80px;
}
@media (min-width: 768px) {
  .p-service-requirements__btn-wrap {
    margin-top: 104px;
  }
}

.p-service-requirements__btn {
  color: #0781D2;
  font-weight: 600;
  line-height: 100%; /* 16px */
  letter-spacing: 0.48px;
  border: 1.5px solid var(--acsent-blue, #0781d2);
  padding-block: 20px;
  width: 100%;
  max-width: 240px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
  margin-inline: auto;
  padding-left: 36px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (min-width: 768px) {
  .p-service-requirements__btn {
    font-size: clamp(20px, 15.4285714286px + 0.5952380952vw, 24px);
    padding-block: clamp(32px, 8px + 3.125vw, 53px);
    max-width: 480px;
    gap: clamp(16px, -2.2857142857px + 2.380952381vw, 32px);
    padding-left: 20px;
  }
}
@media (any-hover: hover) {
  .p-service-requirements__btn:hover {
    background: #0781D2;
    color: #FEFEFE;
  }
  .p-service-requirements__btn:hover .p-service-requirements__btn-icon path {
    fill: #FEFEFE;
  }
}

.p-service-requirements__btn-icon svg path {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-service-link {
  padding-bottom: 100px;
}
@media (min-width: 768px) {
  .p-service-link {
    padding-bottom: 186px;
  }
}

.p-service-link__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
@media (min-width: 768px) {
  .p-service-link__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: clamp(40px, 17.1428571429px + 2.9761904762vw, 60px);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media (min-width: 768px) {
  .p-service-link__image {
    width: 37%;
  }
}

@media (min-width: 768px) {
  .p-service-link__body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.p-service-link__title {
  color: #1B6C8C;
  font-size: 24px;
  font-weight: 600;
  line-height: 130%; /* 24px */
  letter-spacing: 0.72px;
}
@media (min-width: 768px) {
  .p-service-link__title {
    margin-top: -15px;
  }
}

.p-service-link__text {
  margin-top: 20px;
  font-weight: 400;
  line-height: 170%; /* 27.2px */
  letter-spacing: 0.48px;
}
@media (min-width: 768px) {
  .p-service-link__text {
    font-size: clamp(16px, 16px + 0vw, 16px);
  }
}

.p-service-link__btn-wrap {
  margin-top: 32px;
  text-align: center;
}
@media (min-width: 768px) {
  .p-service-link__btn-wrap {
    margin-top: 18px;
    padding-right: 15px;
    text-align: right;
  }
}

@media screen and (max-width: 767px) {
  .p-construction-fv {
    padding-bottom: 104px;
  }
}

@media screen and (max-width: 767px) {
  .p-service-construction__title {
    line-height: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-service-construction__title-date {
    line-height: 170%;
  }
}

@media screen and (max-width: 767px) {
  .p-service-construction__title--sub {
    top: -32px;
  }
}

.p-company-plan {
  padding-bottom: 80px;
}
@media (min-width: 768px) {
  .p-company-plan {
    padding-bottom: 104px;
  }
}

@media screen and (max-width: 767px) {
  .p-company-plan__inner {
    padding-inline: 36px;
  }
}
.p-company-plan__content {
  background: #FEFEFE;
  border: 1px solid #D1D8DC;
  padding-top: 49px;
  padding-bottom: 24px;
  padding-inline: 37px;
}
@media (min-width: 768px) {
  .p-company-plan__content {
    padding-top: 62px;
    padding-bottom: 32px;
    max-width: 960px;
    margin-inline: auto;
  }
}

.p-company-plan__content-title {
  font-size: 24px;
  font-weight: 600;
  line-height: 150%; /* 36px */
  text-align: center;
  position: relative;
}
@media (min-width: 768px) {
  .p-company-plan__content-title {
    font-size: clamp(24px, 24px + 0vw, 24px);
    letter-spacing: 0.72px;
    line-height: 180%;
  }
}

.p-company-plan__content-title-sub {
  position: absolute;
  left: 50%;
  translate: -50%;
  top: -27px;
}
@media (min-width: 768px) {
  .p-company-plan__content-title-sub {
    top: -38px;
  }
}

.p-company-plan__content-price {
  margin-top: 8px;
  text-align: center;
  font-family: "Poppins", sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 150%;
  color: #0781D2;
}
@media (min-width: 768px) {
  .p-company-plan__content-price {
    font-size: clamp(32px, 27.4285714286px + 0.5952380952vw, 36px);
    letter-spacing: 1.08px;
    line-height: 180%;
  }
}

.p-company-plan__content-text {
  margin-top: 12px;
  font-weight: 400;
  line-height: 170%;
}
.p-company-plan__content-text span {
  color: #E60012;
  font-size: 16px;
  line-height: 170%;
  margin-right: 4px;
}
@media (min-width: 768px) {
  .p-company-plan__content-text {
    margin-top: 8px;
    line-height: 150%;
    margin-left: clamp(40px, -9.1428571429px + 6.3988095238vw, 83px);
    letter-spacing: 0.48px;
  }
}

.p-company-plan__btn-wrap {
  margin-top: 80px;
}

.p-company-plan__btn {
  color: #0781D2;
  font-weight: 600;
  line-height: 100%; /* 16px */
  letter-spacing: 0.48px;
  border: 1.5px solid var(--acsent-blue, #0781d2);
  padding-block: 20px;
  width: 100%;
  max-width: 240px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
  margin-inline: auto;
  padding-left: 36px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (min-width: 768px) {
  .p-company-plan__btn {
    font-size: clamp(20px, 15.4285714286px + 0.5952380952vw, 24px);
    padding-block: clamp(32px, 8px + 3.125vw, 53px);
    max-width: 480px;
    gap: clamp(16px, -2.2857142857px + 2.380952381vw, 32px);
    padding-left: 20px;
  }
}
@media (any-hover: hover) {
  .p-company-plan__btn:hover {
    background: #0781D2;
    color: #FEFEFE;
  }
  .p-company-plan__btn:hover .p-service-requirements__btn-icon path {
    fill: #FEFEFE;
  }
}

.p-company-plan__btn-icon svg path {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-company-service-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-company-service-link__title {
  font-weight: 600;
  letter-spacing: 0.48px;
  line-height: 150%;
  padding-inline: 36px;
}
@media (min-width: 768px) {
  .p-company-service-link__title {
    font-size: clamp(22px, 19.7142857143px + 0.2976190476vw, 24px);
    text-align: center;
  }
}

.p-company-service-link__inner {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-company-service-link__inner {
    margin-top: 56px;
  }
}
.p-company-service-link__inner:not(:first-of-type) {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-company-service-link__body-title {
    line-height: 150%;
  }
}

.p-inheritance-plan {
  padding-top: 21px;
  padding-bottom: 80px;
}
@media (min-width: 768px) {
  .p-inheritance-plan {
    padding-top: 44px;
    padding-bottom: 104px;
  }
}

@media screen and (max-width: 767px) {
  .p-inheritance-plan__title {
    font-size: 28px;
    padding-left: 16px;
  }
}

@media screen and (max-width: 767px) {
  .p-inheritance-plan__title--sub {
    padding-left: 16px;
  }
}

.p-inheritance-plan__items {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 60px;
}
@media (min-width: 768px) {
  .p-inheritance-plan__items {
    margin-top: 60px;
    gap: 80px;
    max-width: 960px;
    margin-inline: auto;
  }
}

.p-inheritance-plan__item {
  background: #FEFEFE;
  border: 2px solid #D1D8DC;
  padding-top: 43px;
  padding-inline: 16px;
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .p-inheritance-plan__item {
    padding-top: 66px;
    padding-inline: clamp(20px, -2.8571428571px + 2.9761904762vw, 40px);
    padding-bottom: 32px;
  }
}

.p-inheritance-plan__item-title {
  position: relative;
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 36px */
  text-align: center;
}
@media (min-width: 768px) {
  .p-inheritance-plan__item-title {
    font-size: clamp(28px, 23.4285714286px + 0.5952380952vw, 32px);
    letter-spacing: 0.96px;
    line-height: normal;
  }
}

.p-inheritance-plan__item-title--sub {
  position: absolute;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.42px;
  color: #1B6C8C;
  font-family: "Poppins", sans-serif;
  left: 50%;
  translate: -50%;
  top: -23px;
}
@media (min-width: 768px) {
  .p-inheritance-plan__item-title--sub {
    font-size: 20px;
    letter-spacing: 0.6px;
    top: -22px;
  }
}

@media (min-width: 768px) {
  .p-inheritance-plan__item-body {
    margin-top: 32px;
  }
}

.p-inheritance-plan__item-cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .p-inheritance-plan__item-cards {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .p-inheritance-plan__item-cards {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: clamp(20px, 4px + 2.0833333333vw, 34px);
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-inheritance-plan__item-cards {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-inheritance-plan__item-list-card {
  background: #F4F6F7;
  padding: 16px;
}
@media (min-width: 768px) {
  .p-inheritance-plan__item-list-card {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-top: 24px;
    padding-inline: clamp(12px, -4px + 2.0833333333vw, 26px);
  }
}

.p-inheritance-plan__card-text {
  font-weight: 400;
  line-height: 170%; /* 27.2px */
  letter-spacing: 0.48px;
}
@media screen and (max-width: 767px) {
  .p-inheritance-plan__card-text.--large {
    font-size: 18px;
  }
}
@media (min-width: 768px) {
  .p-inheritance-plan__card-text.--large {
    font-size: 18px;
    letter-spacing: 0.54px;
  }
}

.p-inheritance-plan__card-lists {
  margin-top: 16px;
  margin-bottom: 23px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}
@media (min-width: 768px) {
  .p-inheritance-plan__card-lists {
    margin-top: 48px;
    margin-bottom: clamp(30px, 0.2857142857px + 3.869047619vw, 56px);
  }
}

.p-inheritance-plan__card-list {
  position: relative;
  padding-left: 18px;
  font-weight: 600;
  line-height: 180%; /* 28.8px */
  letter-spacing: 0.48px;
}
@media (min-width: 768px) {
  .p-inheritance-plan__card-list {
    padding-left: 34px;
    font-size: 18px;
  }
}
.p-inheritance-plan__card-list::before {
  content: "";
  position: absolute;
  background: url(../img/icon-check.png) no-repeat center center/contain;
  width: 14px;
  height: 15px;
  left: 0;
  top: 8px;
}
@media (min-width: 768px) {
  .p-inheritance-plan__card-list::before {
    width: 18px;
    height: 15.5px;
    top: 50%;
    translate: 0 -50%;
  }
}

.p-inheritance-plan__card-title {
  font-size: 24px;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.72px;
  text-align: center;
}

.p-inheritance-plan__card-items {
  margin-top: 16px;
  display: grid;
  gap: 8px;
}
@media (min-width: 768px) {
  .p-inheritance-plan__card-items {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-inheritance-plan__card-item {
  text-align: center;
  font-weight: 600;
  line-height: 170%; /* 27.2px */
  letter-spacing: 0.48px;
  background: #FEFEFE;
  padding-top: 7px;
  padding-bottom: 10px;
}
@media (min-width: 768px) {
  .p-inheritance-plan__card-item {
    font-size: clamp(16px, 16px + 0vw, 16px);
    padding-top: clamp(10px, 5.4285714286px + 0.5952380952vw, 14px);
    padding-bottom: clamp(10px, 5.4285714286px + 0.5952380952vw, 14px);
  }
  .p-inheritance-plan__card-item.--large {
    padding-top: clamp(2px, -26.5714285714px + 3.7202380952vw, 27px);
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .p-inheritance-plan__card-item.--large {
    padding-top: 10px;
  }
}

.p-inheritance-plan__price {
  font-size: 28px;
  font-style: normal;
  font-weight: 600;
  line-height: 180%; /* 50.4px */
  letter-spacing: 0.84px;
  font-family: "Poppins", sans-serif;
  color: #0781D2;
  text-align: center;
  margin-top: 8px;
}
@media (min-width: 768px) {
  .p-inheritance-plan__price {
    font-size: clamp(32px, 27.4285714286px + 0.5952380952vw, 36px);
    letter-spacing: 1.08px;
  }
}

.p-inheritance-plan__price-text {
  font-size: 7px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 12.6px */
  letter-spacing: 0.21px;
  margin-top: -5px;
  text-align: center;
}

.p-inheritance-plan__item-text {
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.36px;
  margin-top: 16px;
}
.p-inheritance-plan__item-text span {
  color: #E60012;
}
@media (min-width: 768px) {
  .p-inheritance-plan__item-text {
    margin-top: 20px;
  }
}

.p-inheritance-plan__item-content {
  margin-top: 16px;
  background: #F4F6F7;
  padding: 16px;
}
@media (min-width: 768px) {
  .p-inheritance-plan__item-content {
    margin-top: 20px;
    padding-block: 24px;
    padding-inline: clamp(24px, 5.7142857143px + 2.380952381vw, 40px);
  }
}

.p-inheritance-plan__item-content-text {
  font-weight: 400;
  line-height: 170%; /* 27.2px */
  letter-spacing: 0.48px;
}
.p-inheritance-plan__item-content-text span {
  color: #0781D2;
  font-weight: 600;
}
@media (min-width: 768px) {
  .p-inheritance-plan__item-content-text {
    font-size: clamp(16px, 16px + 0vw, 16px);
  }
}

.p-inheritance-plan__item-text-bottom {
  text-align: center;
  margin-top: 16px;
  font-weight: 600;
  line-height: 170%; /* 27.2px */
  letter-spacing: 0.48px;
}
.p-inheritance-plan__item-text-bottom span {
  color: #0781D2;
}
@media (min-width: 768px) {
  .p-inheritance-plan__item-text-bottom {
    font-size: clamp(18px, 13.4285714286px + 0.5952380952vw, 22px);
    letter-spacing: 0.66px;
    text-align: start;
    max-width: 650px;
    margin-inline: auto;
    margin-top: 24px;
  }
}

.p-inheritance-flow {
  padding-top: 21px;
  padding-bottom: 100px;
}
@media (min-width: 768px) {
  .p-inheritance-flow {
    padding-top: 44px;
    padding-bottom: 186px;
  }
}

@media screen and (max-width: 767px) {
  .p-inheritance-flow__title {
    font-size: 28px;
  }
}

.p-inheritance-flow__content {
  margin-top: 14px;
}
@media (min-width: 768px) {
  .p-inheritance-flow__content {
    margin-top: 63px;
    max-width: 960px;
    margin-inline: auto;
  }
}

.p-inheritance-flow__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  position: relative;
}
@media (min-width: 768px) {
  .p-inheritance-flow__lists {
    gap: 27px;
  }
}

.p-inheritance-flow__list {
  padding-left: 40px;
  padding-right: 16px;
  position: relative;
}
@media (min-width: 768px) {
  .p-inheritance-flow__list {
    padding-left: 54px;
  }
}
.p-inheritance-flow__list::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 10px;
  width: 1px;
  height: 106%;
  background: #d1d8dc;
}
@media (min-width: 768px) {
  .p-inheritance-flow__list::before {
    left: 21px;
    width: 2px;
    height: 110%;
  }
}
.p-inheritance-flow__list:last-child::before {
  display: none;
}

.p-inheritance-flow__list-title {
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  position: relative;
}
@media (min-width: 768px) {
  .p-inheritance-flow__list-title {
    font-size: clamp(22px, 19.7142857143px + 0.2976190476vw, 24px);
  }
}
.p-inheritance-flow__list-title span {
  position: absolute;
  left: -40px;
  top: 2px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 170%; /* 30.6px */
  color: #FEFEFE;
  background: #0781D2;
  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;
}
@media (min-width: 768px) {
  .p-inheritance-flow__list-title span {
    left: -54px;
    width: 42px;
    height: 42px;
    font-size: 20px;
    top: -6px;
  }
}

.p-inheritance-flow__list-text {
  margin-top: 12px;
  font-weight: 400;
  line-height: 170%; /* 27.2px */
  letter-spacing: 0.48px;
}
@media (min-width: 768px) {
  .p-inheritance-flow__list-text {
    margin-top: 16px;
  }
}

.p-faq {
  padding-top: 40px;
  padding-bottom: 100px;
}
@media (min-width: 768px) {
  .p-faq {
    padding-top: 72px;
    padding-bottom: 186px;
  }
}

.p-faq__cate-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
}
@media (min-width: 768px) {
  .p-faq__cate-wrap {
    max-width: 802px;
    margin-inline: auto;
    gap: clamp(16px, 6.8571428571px + 1.1904761905vw, 24px);
  }
}

.p-faq__cate {
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 170%; /* 23.8px */
  letter-spacing: 0.42px;
  color: #0781D2;
  padding-block: 6px;
  padding-left: 16px;
  padding-right: 22px;
  border: 1.5px solid #0781D2;
  background: #FEFEFE;
  position: relative;
}
@media (min-width: 768px) {
  .p-faq__cate {
    font-size: clamp(14px, 11.7142857143px + 0.2976190476vw, 16px);
    padding-left: clamp(24px, 14.8571428571px + 1.1904761905vw, 32px);
    padding-right: clamp(24px, 3.4285714286px + 2.6785714286vw, 42px);
    padding-block: clamp(8px, 3.4285714286px + 0.5952380952vw, 12px);
  }
}
.p-faq__cate svg {
  position: absolute;
  width: 10px;
  height: 6px;
  right: 10px;
  top: 50%;
  translate: 0 -50% 0;
}
@media (min-width: 768px) {
  .p-faq__cate svg {
    width: 16px;
    height: 8px;
    right: clamp(8px, -5.7142857143px + 1.7857142857vw, 20px);
  }
}
@media (any-hover: hover) {
  .p-faq__cate:hover {
    background: #0781D2;
    color: #FEFEFE;
  }
  .p-faq__cate:hover svg path {
    stroke: #FEFEFE;
  }
}

.p-faq__contents {
  margin-top: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 80px;
}
@media (min-width: 768px) {
  .p-faq__content {
    max-width: 960px;
    width: 100%;
    margin-inline: auto;
  }
}

.p-faq__content-title {
  font-size: 28px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.84px;
}
@media (min-width: 768px) {
  .p-faq__content-title {
    text-align: center;
    font-size: clamp(32px, 22.8571428571px + 1.1904761905vw, 40px);
    letter-spacing: 1.2px;
  }
}

summary {
  display: block;
}
summary::-webkit-details-marker {
  display: none;
}

.faq__items {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media (min-width: 768px) {
  .faq__items {
    margin-top: 60px;
  }
}

.faq__item {
  background: #FEFEFE;
  border: 1px solid #D1D8DC;
  font-weight: 600;
  line-height: 200%;
  letter-spacing: 0.54px;
  padding-left: 16px;
}
@media (min-width: 768px) {
  .faq__item {
    font-size: clamp(18px, 18px + 0vw, 18px);
    padding-left: 40px;
  }
}

.faq__question {
  padding-block: 24px;
  position: relative;
  display: block;
}
.faq__question::before, .faq__question::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  background: #0781D2;
}
.faq__question::before {
  right: 16px;
  width: 16px;
  height: 2px;
}
@media (min-width: 768px) {
  .faq__question::before {
    right: 32px;
  }
}
.faq__question::after {
  right: 23px;
  width: 2px;
  height: 16px;
  -webkit-transition: rotate 0.3s ease;
  transition: rotate 0.3s ease;
}
@media (min-width: 768px) {
  .faq__question::after {
    right: 39px;
  }
}
@media (any-hover: hover) {
  .faq__question:hover {
    cursor: pointer;
  }
}

details[open] .faq__question::after {
  rotate: 90deg;
}

.faq__question-text {
  list-style: none;
  position: relative;
  padding-inline: 25px 50px;
}
.faq__question-text::before {
  content: "Q. ";
  font-family: "Poppins", sans-serif;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 200%; /* 36px */
  letter-spacing: 0.54px;
  color: #0781D2;
}

.faq__answer {
  padding-bottom: 24px;
}

.faq__answer-text {
  list-style: none;
  position: relative;
  padding-inline: 16px;
  font-weight: 400;
  line-height: 200%; /* 32px */
  letter-spacing: 0.48px;
}

.p-contact {
  padding-top: 76px;
  padding-bottom: 80px;
}
@media (min-width: 768px) {
  .p-contact {
    padding-top: 208px;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__title-sub {
    font-size: 65px;
  }
}

.p-contact__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-contact__content {
    margin-top: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 32px;
  }
}
@media (min-width: 768px) {
  .p-contact__content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: -64px;
  }
}
@media (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-contact__content {
    margin-top: 24px;
    gap: 24px;
  }
}

.p-contact__text {
  font-weight: 400;
  line-height: 200%; /* 32px */
  letter-spacing: 0.48px;
}
@media (min-width: 768px) {
  .p-contact__text {
    font-size: clamp(16px, 16px + 0vw, 16px);
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

@media (min-width: 768px) {
  .pcontact-image {
    width: 49%;
  }
}

.p-contact__form-wrap {
  margin-top: 60px;
  border: 1px solid var(--medium-gray, #d1d8dc);
  background: var(--white, #fefefe);
  padding-top: 24px;
  padding-inline: 16px;
  padding-bottom: 60px;
}
@media (min-width: 768px) {
  .p-contact__form-wrap {
    margin-top: 80px;
    padding-inline: clamp(80px, -10.2857142857px + 11.755952381vw, 159px);
    padding-top: 56px;
    max-width: 960px;
    margin-inline: auto;
    width: 100%;
  }
}

.p-contact__form-text {
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.48px;
}
@media (min-width: 768px) {
  .p-contact__form-text {
    font-weight: 600;
    font-size: clamp(16px, 16px + 0vw, 16px);
  }
}
.p-contact__form-text span {
  color: #E60012;
}

#formWrap {
  width: 100%;
  margin: 0 auto;
  color: #555;
  line-height: 120%;
}

table.formTable {
  width: 100%;
  margin-top: 16px;
  border-collapse: collapse;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media (min-width: 768px) {
  table.formTable {
    margin-top: 32px;
  }
}

table.formTable tbody {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media (min-width: 768px) {
  table.formTable tbody {
    gap: 20px;
  }
}

table.formTable tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}

table.formTable th {
  font-weight: normal;
  text-align: left;
  font-weight: 600;
}
@media (min-width: 768px) {
  table.formTable th {
    font-size: clamp(18px, 15.7142857143px + 0.2976190476vw, 20px);
    line-height: 170%;
  }
}
table.formTable th span {
  color: #E60012;
}

.formTable td {
  font-weight: 400;
  line-height: 170%; /* 27.2px */
  letter-spacing: 0.48px;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .formTable td {
    font-size: clamp(18px, 15.7142857143px + 0.2976190476vw, 20px);
  }
}
.formTable td span {
  margin-top: 8px;
}

select {
  width: 100%;
  padding: 5px 5px 5px 15px;
  font-size: 110%;
  display: block;
  border-radius: 2px;
  border: 1px solid var(--medium-gray, #d1d8dc);
  background: var(--white, #fefefe);
  appearance: none; /* 標準の矢印を消す */
  -webkit-appearance: none;
  -moz-appearance: none;
  background: url("../img/icon-contact-arrow.png") no-repeat right 1em center;
  /* → right 1em の数値を調整すると左に寄せられる */
  padding-right: 2.5em;
  /* 文字がアイコンに重ならないよう余白を作る */
}

form input[type=text],
form textarea {
  width: 100%;
  padding: 5px 5px 5px 15px;
  font-size: 110%;
  display: block;
  border-radius: 2px;
  border: 1px solid var(--medium-gray, #d1d8dc);
  background: var(--white, #fefefe);
}
@media (min-width: 768px) {
  form input[type=text],
  form textarea {
    padding-inline: 14px;
    padding-block: 10px;
  }
}

::-webkit-input-placeholder {
  color: #D1D8DC;
}

::-moz-placeholder {
  color: #D1D8DC;
}

:-ms-input-placeholder {
  color: #D1D8DC;
}

::-ms-input-placeholder {
  color: #D1D8DC;
}

::placeholder {
  color: #D1D8DC;
}

.p-contact__form-textarea-text {
  font-style: normal;
  line-height: 170%; /* 34px */
  letter-spacing: 0.6px;
  font-weight: 400;
}
@media (min-width: 768px) {
  .p-contact__form-textarea-text {
    font-size: clamp(18px, 15.7142857143px + 0.2976190476vw, 20px);
  }
}

/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
@media screen and (max-width: 572px) {
  table.formTable th,
  table.formTable td {
    width: auto;
    display: block;
  }
  table.formTable th {
    margin-top: 5px;
    border-bottom: 0;
  }
}
.p-contact__form-accept {
  margin-top: 48px;
  border-radius: 2px;
  border: 1px solid var(--medium-gray, #d1d8dc);
  background: var(--white, #fefefe);
  padding: 20px;
  height: 360px;
  overflow-y: auto;
}
@media (min-width: 768px) {
  .p-contact__form-accept {
    margin-top: 80px;
    height: 232px;
  }
}

.p-contact__form-accept-title {
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 170%; /* 27.2px */
  letter-spacing: 0.48px;
  text-align: center;
}
.p-contact__form-accept-title span {
  color: #E60012;
}
@media (min-width: 768px) {
  .p-contact__form-accept-title {
    font-size: clamp(18px, 18px + 0vw, 18px);
  }
}

.p-contact__form-accept-text {
  margin-top: 16px;
  font-weight: 400;
  line-height: 170%; /* 27.2px */
  letter-spacing: 0.48px;
}
@media (min-width: 768px) {
  .p-contact__form-accept-text {
    margin-top: 20px;
    font-size: clamp(16px, 16px + 0vw, 16px);
  }
}

.p-contact__form-checkbox {
  margin-top: 10px;
  text-align: center;
}
@media (min-width: 768px) {
  .p-contact__form-checkbox {
    margin-top: 12px;
  }
}

.p-contact__form-checkbox-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.48px;
}

.p-contact__form-checkbox-input {
  margin-right: 8px;
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: #0781D2;
}

.p-contact__form-checkbox-text {
  color: #333;
  font-size: 14px;
}

.p-contact__form-btn-wrap {
  margin-top: 48px;
  position: relative;
  width: 100%;
  max-width: 300px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-contact__form-btn-wrap {
    margin-top: 80px;
    font-size: clamp(16px, 16px + 0vw, 16px);
  }
}
.p-contact__form-btn-wrap input {
  padding-block: 24px;
  padding-inline: 20px;
  width: 100%;
  max-width: 300px;
  border: 1px solid #0781D2;
  background: var(--white, #fefefe);
  color: #0781D2;
  font-weight: 600;
  line-height: 100%; /* 16px */
  letter-spacing: 0.48px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .p-contact__form-btn-wrap input:hover {
    background: #0781D2;
    color: #FEFEFE;
    cursor: pointer;
  }
}

.p-contact__form-btn-wrap--confirm {
  position: relative;
}
.p-contact__form-btn-wrap--confirm::before {
  content: "";
  position: absolute;
  background: url(../img/icon-arrow-contact.png) no-repeat center center/contain;
  top: 123px;
  left: calc(100% - 24px);
  width: 12px;
  height: 8px;
}
@media (min-width: 768px) {
  .p-contact__form-btn-wrap--confirm::before {
    top: clamp(119px, 114.4285714286px + 0.5952380952vw, 123px);
  }
}

@media (min-width: 768px) {
  .p-contact__content--thanks {
    gap: clamp(48px, 29.7142857143px + 2.380952381vw, 64px);
  }
}

@media (min-width: 768px) {
  .p-contact__content-body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.p-contact__content-thnaks-btn-wrap {
  text-align: center;
  margin-top: 32px;
}
@media (min-width: 768px) {
  .p-contact__content-thnaks-btn-wrap {
    text-align: end;
    margin-top: clamp(40px, 26.2857142857px + 1.7857142857vw, 52px);
  }
}

.p-contact__form-back {
  margin-top: 40px;
}

.p-contact__form-submit::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
}

.p-contact__form-accept-text {
  font-size: clamp(16px, 16px + 0vw, 16px);
  line-height: 170%;
  letter-spacing: 0.48px;
  font-weight: 400;
}

.p-contact__form-accept-text-title {
  margin-top: 16px;
  font-size: clamp(16px, 16px + 0vw, 16px);
  line-height: 170%;
  letter-spacing: 0.48px;
  font-weight: 600;
}

.p-contact__form-accept-text-content-title {
  margin-top: 16px;
  font-size: clamp(16px, 16px + 0vw, 16px);
  line-height: 170%;
  letter-spacing: 0.48px;
  font-weight: 600;
}

.p-contact__form-accept-text-content-text {
  font-size: clamp(16px, 16px + 0vw, 16px);
  line-height: 170%;
  letter-spacing: 0.48px;
  font-weight: 400;
}

input[type=submit] {
  padding-block: 24px;
  padding-inline: 20px;
  width: 100%;
  max-width: 300px;
  border: 1px solid #0781D2;
  background: var(--white, #fefefe);
  color: #0781D2;
  font-weight: 600;
  line-height: 100%; /* 16px */
  letter-spacing: 0.48px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  input[type=submit]:hover {
    background: #0781D2;
    color: #FEFEFE;
    cursor: pointer;
  }
}

.g-recaptcha {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-contact__form-btn-wrap-submit {
  margin-inline: auto;
  text-align: center;
  margin-top: 16px;
}

.p-404 {
  padding-top: 184px;
  padding-bottom: 320px;
  text-align: center;
  background: #1B6C8C;
}
@media (min-width: 768px) {
  .p-404 {
    padding-top: 204px;
    padding-bottom: 241px;
  }
}

.p-404-heading {
  font-size: 80px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 2.4px;
  color: #FEFEFE;
  font-family: "Poppins", sans-serif;
}
@media (min-width: 768px) {
  .p-404-heading {
    font-size: clamp(80px, 34.2857142857px + 5.9523809524vw, 120px);
    letter-spacing: 3.6px;
  }
}

.p-404-text {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 32px */
  letter-spacing: 0.48px;
  color: #FEFEFE;
}

.p-404-btn-wrap {
  margin-top: 32px;
}
@media (min-width: 768px) {
  .p-404-btn-wrap {
    margin-top: 40px;
  }
}

.p-404-btn {
  color: #fff;
  border: 1.5px solid #fff;
}
.p-404-btn::before {
  content: "";
  position: absolute;
  top: calc(50% + 4px);
  translate: 0 -50%;
  left: calc(100% - 16px);
  width: 31px;
  height: 1.5px;
  background: #fff;
  -webkit-transition: width 0.5s ease;
  transition: width 0.5s ease;
}
.p-404-btn::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  translate: 0 -50%;
  rotate: 45deg;
  left: calc(100% + 4px);
  width: 12px;
  height: 1.5px;
  background: #fff;
  -webkit-transition: left 0.5s ease;
  transition: left 0.5s ease;
}

@media (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}
.u-text__center {
  text-align: center !important;
}
@media screen and (max-width: 767px) {
  .u-text__center--sp {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .u-text__center--pc {
    text-align: center !important;
  }
}

.u-text__left {
  text-align: left !important;
}
@media screen and (max-width: 767px) {
  .u-text__left--sp {
    text-align: left !important;
  }
}
@media (min-width: 768px) {
  .u-text__left--pc {
    text-align: left !important;
  }
}

.u-text__right {
  text-align: right !important;
}
@media screen and (max-width: 767px) {
  .u-text__right--sp {
    text-align: right !important;
  }
}
@media (min-width: 768px) {
  .u-text__right--pc {
    text-align: right !important;
  }
}

.u-text__nowrap {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .u-text__nowrap--sp {
    white-space: nowrap;
  }
}
@media (min-width: 768px) {
  .u-text__nowrap--pc {
    white-space: nowrap;
  }
}

.u-pointer__none {
  pointer-events: none !important;
}
@media screen and (max-width: 767px) {
  .u-pointer__none--sp {
    pointer-events: none !important;
  }
}
@media (min-width: 768px) {
  .u-pointer__none--pc {
    pointer-events: none !important;
  }
}