@charset "UTF-8";
/* medium */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
/* フォームリセット */
input[type=checkbox],
input[type=radio] {
  display: none;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

/* リキッドレイアウト対応 */
html body .sp {
  display: none;
}
@media screen and (max-width: 767px) {
  html body .sp {
    display: block;
  }
}

html body .pc {
  display: block;
}
@media screen and (max-width: 767px) {
  html body .pc {
    display: none;
  }
}

html body {
  color: #171717;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  font-size: clamp(14px, 1rem, 1rem);
}
@media screen and (max-width: 767px) {
  html body {
    letter-spacing: 0.03em;
  }
}

h1, h2, h3, h4 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

.ja {
  font-family: "Noto Sans JP", sans-serif;
}

.en {
  font-family: "Figtree", sans-serif;
}

.en2 {
  font-family: "Montserrat", sans-serif;
}

html {
  font-size: 16px;
}

/* aタグ設定 */
a {
  text-decoration: none;
  color: inherit;
}

/* pcの電話番号発信対応 */
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

html {
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 376px) {
  html {
    font-size: 0.875rem;
  }
}

h2, h3, h4 {
  color: #171717;
  font-weight: 500;
  letter-spacing: 0.03em;
}
h2:has(svg), h3:has(svg), h4:has(svg) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
}

@media screen and (max-width: 767px) {
  p {
    font-size: clamp(13px, 0.875rem, 0.875rem);
  }
}

img {
  pointer-events: none;
}

.disp-sp {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .disp-sp {
    display: block !important;
  }
}

.disp-pc {
  display: block !important;
}
@media screen and (max-width: 767px) {
  .disp-pc {
    display: none !important;
  }
}

.disp-sp-inline {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .disp-sp-inline {
    display: inline-block !important;
  }
}

.disp-pc-inline {
  display: inline-block !important;
}
@media screen and (max-width: 767px) {
  .disp-pc-inline {
    display: none !important;
  }
}

a.l-hover {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  a.l-hover:hover {
    opacity: 0.7;
  }
}

.bg-grey {
  background: -webkit-gradient(linear, left bottom, left top, from(#F4F5F5), to(#F4F5F5)), var(--color-bg-gray, #F8F8F8);
  background: linear-gradient(0deg, #F4F5F5 0%, #F4F5F5 100%), var(--color-bg-gray, #F8F8F8);
}

.bg-blue {
  background: #103888;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  height: clamp(51px, 4.6875vw, 60px);
  background: #fff;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
@media screen and (max-width: 767px) {
  .l-header {
    height: clamp(50.15px, 14.6766169154vw, 59px);
  }
}
.l-header__inner {
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: space-between;
  position: relative;
  padding: 0 clamp(21.25px, 1.953125vw, 25px);
  max-width: clamp(1327.7px, 122.03125vw, 1562px);
}
@media screen and (max-width: 767px) {
  .l-header__inner {
    padding: 0 clamp(17px, 4.9751243781vw, 20px);
  }
}
.l-header:has(+ .l-offcanvas.is-active) {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}
.l-header.header__under {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}
.l-header.is-hidden-scroll {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.l-header.header__page {
  z-index: 99;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}

.header__logo img {
  width: clamp(183.6px, 16.875vw, 216px);
}
@media screen and (max-width: 850px) {
  .header__logo img {
    width: clamp(153px, 14.0625vw, 180px);
  }
}
@media screen and (max-width: 767px) {
  .header__logo img {
    width: clamp(170px, 15.625vw, 200px);
  }
}
.header__nav {
  height: -webkit-fill-available;
}
.header__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(26.35px, 2.421875vw, 31px);
}
@media screen and (max-width: 900px) {
  .header__nav-list {
    gap: clamp(17px, 1.5625vw, 20px);
  }
}
.header__nav-item {
  font-size: clamp(13px, 1.09375vw, 14px);
  white-space: nowrap;
  position: relative;
  height: 100%;
}
.header__nav-item.is-open .header__nav-child {
  display: inline-block;
}
.header__nav-item a {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header__nav-link {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  height: 3.9375rem;
  padding: 1.25rem 0;
}
.header__nav-link.recruitment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.header__nav-child {
  position: absolute;
  top: 2.9375rem;
  left: -1.5625rem;
  padding: 1.25rem 1.5625rem 0.9375rem;
  background-color: rgb(255, 255, 255);
  border-radius: 0 0 0.625rem 0.625rem;
  -webkit-transform: translateY(4px);
          transform: translateY(4px);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  font-size: clamp(13px, 1.09375vw, 14px);
  letter-spacing: 0.005em;
  color: #171717;
  opacity: 0;
  visibility: hidden;
  z-index: -2;
}
.header__nav-child li + li {
  margin-top: clamp(10px, 0.7936507937vw, 0.75rem);
}
.header__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(30.6px, 2.8125vw, 36px);
  height: 100%;
}
.header__hamburger {
  width: 35px;
  height: 12px;
  padding: 0;
  position: relative;
}
.header__hamburger span {
  width: 100%;
  height: 1px;
  background-color: #000;
  display: block;
  border-radius: 9999px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header__hamburger span:nth-child(1) {
  position: absolute;
  top: 0px;
}
.header__hamburger span:nth-child(2) {
  position: absolute;
  bottom: 0px;
}
.header__hamburger.is-active span:nth-child(1) {
  -webkit-transform: translateY(7px) rotate(45deg);
          transform: translateY(7px) rotate(45deg);
}
.header__hamburger.is-active span:nth-child(2) {
  -webkit-transform: translateY(-4px) rotate(-45deg);
          transform: translateY(-4px) rotate(-45deg);
}

.l-offcanvas {
  position: fixed;
  inset: 0;
  z-index: 98;
  opacity: 0;
  visibility: hidden;
  overflow: scroll;
  pointer-events: none;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  padding-bottom: 19.9004975124vw;
  background: #fff;
}
.l-offcanvas.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.l-offcanvas__nav {
  padding: clamp(80.75px, 23.631840796vw, 95px) clamp(34px, 9.9502487562vw, 40px) 0;
  margin: 0 auto;
  display: -ms-grid;
  display: grid;
  place-content: center;
  font-size: clamp(14.45px, 4.2288557214vw, 17px);
  -ms-grid-columns: 100%;
  grid-template-columns: 100%;
}
.l-offcanvas__nav-item {
  margin-bottom: 1.5875rem;
}
.l-offcanvas__nav-item__top {
  border-bottom: 1px solid #E8E8E8;
  padding-bottom: 0.75rem;
  margin-bottom: 0.625rem;
  display: block;
  font-weight: 500;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: space-between;
}
.l-offcanvas__nav-item__top i {
  width: clamp(21.25px, 6.2189054726vw, 25px);
  height: clamp(21.25px, 6.2189054726vw, 25px);
  border: 0;
  position: relative;
  background-image: url(../images/common/icon-plus.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-position: center;
}
.l-offcanvas__nav-item__top.open i {
  background-image: url(../images/common/icon-minus.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
}
.l-offcanvas__nav-item__bottom {
  color: #171717;
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
  display: none;
  font-size: clamp(12.75px, 3.7313432836vw, 15px);
}
.l-offcanvas__nav-item__bottom li + li {
  margin-top: 0.75rem;
}
.l-offcanvas__nav-item__bottom li span {
  position: relative;
  padding-left: 1.2em;
}
.l-offcanvas__nav-item__bottom li span::before {
  content: "";
  position: absolute;
  height: 1px;
  width: clamp(9.35px, 2.736318408vw, 11px);
  background: #171717;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  left: 0;
}
.l-offcanvas__nav-item .letter {
  opacity: 0;
  position: relative;
  left: -10px;
  display: inline-block;
}
.l-offcanvas__nav-item .icon-arrow-large {
  color: #103888;
  position: relative;
  top: clamp(-1.7px, -0.4975124378vw, -2px);
}
.l-offcanvas .l-offcanvas__btn {
  gap: clamp(27.2px, 7.960199005vw, 32px);
  font-size: clamp(13.6px, 3.9800995025vw, 16px);
}
.l-offcanvas .l-offcanvas__btn__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
}

html {
  scrollbar-gutter: stable;
}

html.is-open__menu {
  overflow: hidden;
}
html.is-open__menu .is-open > a {
  opacity: 1;
}
html.is-open__menu .is-open .header__nav-child {
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}
.inner {
  width: 62.5rem;
  max-width: 100%;
  padding: 0 1.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 376px) {
  .inner {
    padding: 0 3.75rem;
  }
}

.l-inner {
  max-width: clamp(1207px, 110.9375vw, 1420px);
  margin: 0 auto;
  padding: 0 clamp(59.5px, 5.46875vw, 70px);
}
@media screen and (max-width: 767px) {
  .l-inner {
    padding: 0 clamp(17px, 4.9751243781vw, 20px);
    max-width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .l-inner-sp {
    max-width: 33.75rem;
    margin: 0 auto;
  }
}

.l-split {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .l-split {
    display: -ms-grid;
    display: grid;
  }
}

.l-col2 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: calc(50% - 1.25rem) clamp(34px, 3.125vw, 40px) calc(50% - 1.25rem);
  grid-template-columns: calc(50% - 1.25rem) calc(50% - 1.25rem);
  gap: clamp(34px, 3.125vw, 40px);
}
@media screen and (max-width: 767px) {
  .l-col2 {
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
  }
}

.l-col3 {
  display: -ms-grid;
  display: grid;
  gap: 1.875rem;
  -ms-grid-columns: 1fr 1.875rem 1fr 1.875rem 1fr;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .l-col3 {
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
    gap: 2.5rem;
  }
}
.l-col3 a {
  display: block;
}
@media screen and (min-width: 768px) {
  .l-col3 a img {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .l-col3 a svg rect {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .l-col3 a svg path {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .l-col3 a:hover img {
    opacity: 0.7;
  }
  .l-col3 a:hover svg rect {
    fill: #103888;
  }
  .l-col3 a:hover svg path {
    fill: #fff;
  }
}
.l-col3 .c-block figure {
  display: block;
}
.l-col3 .c-block figure img {
  aspect-ratio: 383/240;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
}
.l-col3 .c-block .c-block__ttl {
  margin-top: 1.125rem;
}
.l-col3 .c-block p {
  margin-top: 0.8125rem;
}

.u-txt {
  text-align: center;
  font-size: clamp(13.6px, 1.25vw, 16px);
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .u-txt {
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
  }
}

.u-ttl {
  font-size: clamp(23.8px, 2.1875vw, 28px);
  padding-bottom: clamp(38.25px, 3.515625vw, 45px);
  line-height: 1.7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 600;
  place-content: center;
}
@media screen and (max-width: 767px) {
  .u-ttl {
    font-size: clamp(20.4px, 5.9701492537vw, 24px);
    padding-bottom: clamp(27.2px, 7.960199005vw, 32px);
  }
}
.u-ttl__inner {
  display: -ms-inline-grid;
  display: inline-grid;
}
.u-ttl .en {
  font-size: clamp(11.05px, 1.015625vw, 13px);
  color: #103888;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: center;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.03em;
  position: relative;
  display: block;
}
@media screen and (max-width: 767px) {
  .u-ttl .en {
    font-size: clamp(11.9px, 3.4825870647vw, 14px);
  }
}
.u-ttl .en + span {
  margin-top: 0.9375rem;
  display: block;
  line-height: 1;
}
.u-ttl--sub {
  letter-spacing: 0.03em;
  font-size: clamp(19.55px, 1.796875vw, 23px);
  padding-bottom: clamp(25.5px, 2.34375vw, 30px);
}
@media screen and (max-width: 767px) {
  .u-ttl--sub {
    font-size: clamp(17px, 4.9751243781vw, 20px);
    padding-bottom: clamp(25.5px, 7.4626865672vw, 30px);
  }
}
.u-ttl--sub .en {
  font-size: clamp(11.05px, 1.015625vw, 13px);
}
@media screen and (max-width: 767px) {
  .u-ttl--sub .en {
    font-size: clamp(11.9px, 3.4825870647vw, 14px);
  }
}
.u-ttl--sub .en + span {
  margin-top: clamp(6.8px, 0.625vw, 8px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .u-ttl--sub .en + span {
    margin-top: clamp(8.5px, 2.4875621891vw, 10px);
  }
}
.u-ttl--sub + p {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .u-ttl--sub + p {
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
    text-align: left;
  }
}
.u-ttl--white {
  color: #fff;
}
.u-ttl--white .en {
  color: #fff;
}
.u-ttl--white .en::before {
  background: #fff;
}
.u-ttl--en {
  place-content: unset;
  padding-bottom: clamp(21.25px, 1.953125vw, 25px);
}
@media screen and (max-width: 767px) {
  .u-ttl--en {
    text-align: center;
    place-content: center;
    padding-bottom: clamp(12.75px, 3.7313432836vw, 15px);
  }
}
.u-ttl--en .ja {
  font-size: clamp(11.05px, 1.015625vw, 13px);
  color: #103888;
  font-weight: 500;
  letter-spacing: 0;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .u-ttl--en .ja {
    font-size: clamp(11.05px, 3.2338308458vw, 13px);
  }
}
.u-ttl--en .en {
  font-size: clamp(26px, 3.028125vw, 38.76px);
  color: #171717;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .u-ttl--en .en {
    text-align: center;
    font-size: clamp(20.5785px, 6.0223880597vw, 24.21px);
  }
}
.u-ttl--en .text {
  font-size: clamp(22px, 2.39296875vw, 30.63px);
  color: #171717;
  line-height: 1.5 !important;
  display: block;
}
@media screen and (max-width: 767px) {
  .u-ttl--en .text {
    text-align: center;
    font-size: clamp(18.8785px, 5.5248756219vw, 22.21px);
  }
}

.u-ttl--section {
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  font-size: clamp(17px, 1.25rem, 1.25rem);
}

.u-ttl-wrapper {
  text-align: center;
}

.u-btn__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
  margin-top: clamp(34px, 3.125vw, 40px);
}
@media screen and (max-width: 767px) {
  .u-btn__wrapper {
    margin-top: clamp(25.5px, 7.4626865672vw, 30px);
  }
}
.u-btn__wrapper.baseline {
  place-content: normal;
}
@media screen and (max-width: 767px) {
  .u-btn__wrapper.baseline {
    place-content: center;
  }
}

.contact-form .u-btn__wrapper {
  display: -ms-grid;
  display: grid;
}

.u-btn-blue {
  color: #fff;
  font-size: clamp(13px, 1.09375vw, 14px);
  letter-spacing: 0.05em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  place-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(15.3px, 1.40625vw, 18px);
  background-color: #103888;
  border-radius: 999px;
  white-space: nowrap;
  height: clamp(35.7px, 3.28125vw, 42px);
  padding: clamp(0px, 0vw, 0px) clamp(17px, 1.5625vw, 20px) 0 clamp(18.7px, 1.71875vw, 22px);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  padding-bottom: 1px;
  overflow: hidden;
  position: relative;
  line-height: 1;
}
.u-btn-blue svg {
  position: relative;
  top: clamp(0.595px, 0.0546875vw, 0.7px);
}
@media screen and (max-width: 767px) {
  .u-btn-blue {
    height: clamp(39.1px, 11.4427860697vw, 46px);
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
    padding: 0 clamp(18.7px, 5.4726368159vw, 22px) clamp(1.7px, 0.4975124378vw, 2px);
  }
  .u-btn-blue svg {
    position: relative;
    top: clamp(0.85px, 0.2487562189vw, 1px);
  }
}
.u-btn-blue::before {
  content: "";
  background: rgba(255, 255, 255, 0.3);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .u-btn-blue {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .u-btn-blue:hover::before {
    opacity: 1;
  }
}

.u-btn-blue--reverse {
  color: #103888;
  border: 1px solid #103888;
  background: #fff;
  font-size: clamp(13px, 1.09375vw, 14px);
  letter-spacing: 0.005em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  place-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(15.3px, 1.40625vw, 18px);
  border-radius: 999px;
  white-space: nowrap;
  height: clamp(35.7px, 3.28125vw, 42px);
  padding: clamp(0px, 0vw, 0px) clamp(17px, 1.5625vw, 20px) 0 clamp(18.7px, 1.71875vw, 22px);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  padding-bottom: 1px;
  font-weight: 500;
  position: relative;
  overflow: hidden;
  line-height: 1;
}
.u-btn-blue--reverse svg {
  position: relative;
  top: clamp(0.595px, 0.0546875vw, 0.7px);
}
@media screen and (max-width: 767px) {
  .u-btn-blue--reverse {
    height: clamp(39.1px, 11.4427860697vw, 46px);
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
    padding: 0 clamp(18.7px, 5.4726368159vw, 22px) clamp(1.7px, 0.4975124378vw, 2px);
  }
  .u-btn-blue--reverse svg {
    position: relative;
    top: clamp(0.85px, 0.2487562189vw, 1px);
  }
}
.u-btn-blue--reverse::before {
  content: "";
  background: rgba(255, 255, 255, 0.3);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .u-btn-blue--reverse {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .u-btn-blue--reverse:hover {
    background-color: #103888;
    opacity: 1;
    color: #fff;
    border: 1px solid rgba(16, 56, 136, 0);
  }
  .u-btn-blue--reverse:hover::before {
    opacity: 1;
  }
}

.u-btn-wrapper {
  text-align: center;
}

.l-section {
  padding: clamp(51px, 4.6875vw, 60px) 0;
}
@media screen and (max-width: 767px) {
  .l-section {
    padding: clamp(51px, 14.9253731343vw, 60px) 0;
  }
}

.l-section__white {
  background: #fff;
  position: relative;
  z-index: 2;
}

.back-to-top {
  position: absolute;
  bottom: 1.25rem;
  right: 1.25rem;
  z-index: 10;
  width: 4.375rem;
  height: 4.375rem;
}
@media screen and (max-width: 767px) {
  .back-to-top {
    width: 3.75rem;
    height: 3.75rem;
    right: 0.625rem;
    bottom: 0.625rem;
  }
}
@media screen and (max-width: 767px) {
  .back-to-top.underpage {
    display: none;
  }
}

.c-block figure {
  border-radius: clamp(4.25px, 0.390625vw, 5px);
  display: block;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-block figure {
    aspect-ratio: 352/198;
    border-radius: clamp(4.25px, 1.2437810945vw, 5px);
  }
}
@media screen and (max-width: 767px) {
  .c-block figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.c-block__ttl {
  margin-top: clamp(17px, 1.5625vw, 20px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: clamp(17px, 1.5625vw, 20px);
  font-weight: 500;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .c-block__ttl {
    font-size: clamp(17px, 4.9751243781vw, 20px);
    margin-top: clamp(17px, 4.9751243781vw, 20px);
  }
}
.c-block__ttl svg {
  position: relative;
  top: 0rem;
}
.c-block p {
  margin-top: clamp(17px, 1.5625vw, 20px);
  color: #171717;
  font-size: clamp(13.6px, 1.25vw, 16px);
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-block p {
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
    margin-top: clamp(8.5px, 2.4875621891vw, 10px);
  }
}
@media screen and (min-width: 768px) {
  .c-block figure,
  .c-block .c-block__ttl,
  .c-block p {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .c-block:hover figure,
  .c-block:hover .c-block__ttl,
  .c-block:hover p {
    opacity: 0.7;
  }
  .c-block:hover .u-btn-blue::before {
    opacity: 1;
  }
}

/* Firefoxの場合 */
@-moz-document url-prefix() {
  .c-block__ttl svg {
    top: 0.0625rem;
  }
}
.news__list .news__item {
  border-bottom: 1px solid #BEBEBE;
  display: block;
  cursor: pointer;
}
.news__list .news__item dl {
  padding: clamp(24.65px, 2.265625vw, 29px) 0 clamp(25.5px, 2.34375vw, 30px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: space-between;
}
@media screen and (max-width: 767px) {
  .news__list .news__item dl {
    display: -ms-grid;
    display: grid;
    gap: clamp(8.5px, 2.4875621891vw, 10px);
    padding: clamp(20.4px, 5.9701492537vw, 24px) 0 clamp(23.8px, 6.9651741294vw, 28px);
  }
}
.news__list .news__item dl dt {
  color: #103888;
  font-size: clamp(11.05px, 1.015625vw, 13px);
  padding-top: clamp(2.55px, 0.234375vw, 3px);
}
@media screen and (max-width: 767px) {
  .news__list .news__item dl dt {
    font-size: clamp(11.05px, 3.2338308458vw, 13px);
  }
}
.news__list .news__item dl dd {
  width: calc(100% - clamp(94.35px, 8.671875vw, 111px));
  position: relative;
}
@media screen and (max-width: 767px) {
  .news__list .news__item dl dd {
    width: 100%;
  }
}
.news__list .news__item dl dd > * {
  padding-right: clamp(51px, 4.6875vw, 60px);
}
.news__list .news__item dl dd::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%229%22%20height%3D%2215%22%20viewBox%3D%220%200%209%2015%22%20fill%3D%22none%22%20xmlns%3D%22http://www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M0.530273%200.530273L7.03027%207.03027L0.530273%2013.5303%22%20stroke%3D%22%23103888%22%20stroke-width%3D%221.5%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(7.65px, 0.703125vw, 9px);
  height: clamp(12.75px, 1.171875vw, 15px);
  position: absolute;
  right: clamp(13.6px, 1.25vw, 16px);
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.news__list .news__item dl dd::before {
  content: "";
  background-image: url("../images/common/hover-arrow.svg");
  width: clamp(38.25px, 3.515625vw, 45px);
  height: clamp(38.25px, 3.515625vw, 45px);
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  position: absolute;
  right: 0;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.news__list .news__item dl dd div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: space-between;
}
.news__list .news__item dl dd div p {
  font-size: clamp(16.15px, 1.484375vw, 19px);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .news__list .news__item dl dd div p {
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
  }
}
.news__list .news__item dl dd div svg {
  color: #103888;
  width: clamp(8.5px, 0.78125vw, 10px);
}
.news__list .news__item dl dd div.news-detail__contet {
  font-size: clamp(13.6px, 1.25vw, 16px);
  color: #171717;
  margin-top: clamp(8.5px, 0.78125vw, 10px);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
}
@media screen and (max-width: 767px) {
  .news__list .news__item dl dd div.news-detail__contet {
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
  }
}
.news__list .news__item dl dd div.news-detail__contet p {
  font-size: clamp(13.6px, 1.25vw, 16px);
  color: #171717;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .news__list .news__item dl dd div.news-detail__contet p {
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
  }
}
.news__list .news__item dl dd > p, .news__list .news__item dl dd > .news__item__contents {
  font-size: clamp(13.6px, 1.25vw, 16px);
  color: #171717;
  margin-top: clamp(8.5px, 0.78125vw, 10px);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
}
@media screen and (max-width: 767px) {
  .news__list .news__item dl dd > p, .news__list .news__item dl dd > .news__item__contents {
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
  }
}
.news__list .news__item dl dd > p p, .news__list .news__item dl dd > .news__item__contents p {
  font-size: clamp(13.6px, 1.25vw, 16px);
  color: #171717;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .news__list .news__item dl dd > p p, .news__list .news__item dl dd > .news__item__contents p {
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
  }
}
.news__list .news__item:first-of-type dl {
  padding-top: 0;
}
@media screen and (min-width: 768px) {
  .news__list .news__item:hover dl dd::after {
    opacity: 0;
  }
  .news__list .news__item:hover dl dd::before {
    opacity: 1;
  }
}

.c-table {
  border-top: 1px solid #CCCCCC;
  border-left: 1px solid #CCCCCC;
  max-width: clamp(680px, 62.5vw, 800px);
  margin-left: auto;
  margin-right: auto;
}
.c-table-row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: clamp(200.6px, 18.4375vw, 236px) 1fr;
  grid-template-columns: clamp(200.6px, 18.4375vw, 236px) 1fr;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .c-table-row {
    display: block;
  }
}
.c-table-heading, .c-table-data {
  border-right: 1px solid #CCCCCC;
  border-bottom: 1px solid #CCCCCC;
}
.c-table-heading {
  padding: clamp(15.3px, 1.40625vw, 18px) clamp(17px, 1.5625vw, 20px);
  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;
  font-weight: 500;
  background-color: #F8F8F8;
  font-size: clamp(13.6px, 1.25vw, 16px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-table-heading {
    padding: clamp(8.5px, 2.4875621891vw, 10px) clamp(17px, 4.9751243781vw, 20px);
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left;
  }
}
.c-table-data {
  padding: clamp(15.3px, 1.40625vw, 18px) clamp(42.5px, 3.90625vw, 50px);
  line-height: 1.7;
  font-size: clamp(12.75px, 1.171875vw, 15px);
}
@media screen and (max-width: 767px) {
  .c-table-data {
    font-size: clamp(12.75px, 3.7313432836vw, 15px);
    padding: clamp(12.75px, 3.7313432836vw, 15px) clamp(17px, 4.9751243781vw, 20px);
  }
}
.c-table-list.dot li {
  margin-left: 1em;
}
.c-table-list.dot li::before {
  content: "・";
  margin-left: -1em;
}
.c-table-list.counter {
  counter-reset: number 0;
}
.c-table-list.counter li {
  margin-left: 1.2em;
  counter-increment: number 1;
}
.c-table-list.counter li::before {
  content: counter(number) ". ";
  margin-left: -1.2em;
}

.footer {
  background: #fff;
}
.footer .footer-main {
  padding-top: clamp(44.2px, 4.0625vw, 52px);
}
.footer .footer-main__inner {
  max-width: clamp(1249.5px, 114.84375vw, 1470px);
  padding: 0 clamp(34px, 3.125vw, 40px);
  margin: 0 auto;
  place-content: space-between;
  gap: clamp(34px, 3.125vw, 40px);
}
@media screen and (max-width: 1025px) {
  .footer .footer-main__inner {
    gap: clamp(51px, 14.9253731343vw, 60px);
  }
}
@media screen and (max-width: 767px) {
  .footer .footer-main__inner {
    display: block;
    max-width: 100%;
    padding: 0 clamp(17px, 4.9751243781vw, 20px);
  }
}
.footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.9841269841vw;
}
@media screen and (max-width: 1025px) {
  .footer__nav {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr clamp(25.5px, 7.4626865672vw, 30px) 1fr clamp(25.5px, 7.4626865672vw, 30px) 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    gap: clamp(34px, 9.9502487562vw, 40px) clamp(25.5px, 7.4626865672vw, 30px);
  }
}
@media screen and (max-width: 767px) {
  .footer__nav {
    -ms-grid-columns: 1fr clamp(17px, 4.9751243781vw, 20px) 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(25.5px, 7.4626865672vw, 30px) clamp(17px, 4.9751243781vw, 20px);
  }
}
.footer__nav-item .footer__nav-item__top {
  border-bottom: 1px solid #E2E3E5;
  padding-bottom: clamp(8.5px, 0.78125vw, 10px);
  font-size: clamp(13px, 1.171875vw, 15px);
  font-weight: 500;
  padding-right: clamp(40.8px, 3.75vw, 48px);
}
@media screen and (max-width: 767px) {
  .footer__nav-item .footer__nav-item__top {
    font-size: clamp(14.45px, 4.2288557214vw, 17px);
    padding-right: clamp(8.5px, 2.4875621891vw, 10px);
  }
}
.footer__nav-item .footer__nav-item__bottom {
  font-size: clamp(13px, 1.171875vw, 15px);
  color: #171717;
  padding-top: clamp(16.15px, 1.484375vw, 19px);
}
@media screen and (max-width: 767px) {
  .footer__nav-item .footer__nav-item__bottom {
    font-size: clamp(12.75px, 3.7313432836vw, 15px);
  }
}
.footer__nav-item .footer__nav-item__bottom li + li {
  padding-top: clamp(8.5px, 0.78125vw, 10px);
}
.footer__nav .footer__btn {
  position: relative;
  top: clamp(-3.4px, -0.3125vw, -4px);
}
@media screen and (max-width: 767px) {
  .footer__nav .footer__btn {
    grid-column: 1/-1;
    -ms-grid-row: 4;
    grid-row: 4;
    margin-top: clamp(8.5px, 2.4875621891vw, 10px);
    margin-bottom: clamp(34px, 9.9502487562vw, 40px);
  }
}
.footer .footer-left .footer-logo {
  width: clamp(168.3px, 15.46875vw, 198px);
}
@media screen and (max-width: 767px) {
  .footer .footer-left .footer-logo {
    width: clamp(179.35px, 52.4875621891vw, 211px);
  }
}
@media screen and (max-width: 767px) {
  .footer .footer-right {
    margin-top: clamp(34px, 9.9502487562vw, 40px);
  }
}
.footer .footer-address {
  max-width: clamp(1249.5px, 114.84375vw, 1470px);
  padding: 0 clamp(34px, 3.125vw, 40px);
  margin: 0 auto;
  padding-bottom: clamp(21.25px, 1.953125vw, 25px);
}
@media screen and (max-width: 767px) {
  .footer .footer-address {
    max-width: 100%;
    padding: 0 clamp(17px, 4.9751243781vw, 20px);
  }
}
.footer .footer-address address {
  font-style: normal;
}
.footer .footer-address address .company {
  font-size: clamp(13px, 1.09375vw, 14px);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .footer .footer-address address .company {
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
  }
}
.footer .footer-address address .place {
  font-size: clamp(13px, 1.09375vw, 14px);
  padding: clamp(4.25px, 0.390625vw, 5px) 0 clamp(6.8px, 0.625vw, 8px);
  color: #171717;
}
@media screen and (max-width: 767px) {
  .footer .footer-address address .place {
    font-size: clamp(11.9px, 3.4825870647vw, 14px);
  }
}
.footer .footer-address address .place + a {
  color: #103888;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(5.95px, 0.546875vw, 7px);
  letter-spacing: 0.05em;
  font-size: clamp(13px, 1.09375vw, 14px);
}
@media screen and (max-width: 767px) {
  .footer .footer-address address .place + a {
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
    margin-bottom: clamp(29.75px, 8.7064676617vw, 35px);
  }
}
.footer .footer-bottom {
  background: #F0F0F0;
  font-size: clamp(9.35px, 0.859375vw, 11px);
  color: #6D727F;
  padding: clamp(5.1px, 0.46875vw, 6px) 0;
}
@media screen and (max-width: 767px) {
  .footer .footer-bottom {
    font-size: clamp(9.35px, 2.736318408vw, 11px);
    padding: clamp(8.5px, 2.4875621891vw, 10px) 0;
  }
}
.footer .footer-bottom .l-footer__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: clamp(1249.5px, 114.84375vw, 1470px);
  padding: 0 clamp(34px, 3.125vw, 40px);
  margin: 0 auto;
  place-content: space-between;
}
@media screen and (max-width: 767px) {
  .footer .footer-bottom .l-footer__inner {
    max-width: 100%;
    padding: 0 clamp(17px, 4.9751243781vw, 20px);
    display: -ms-grid;
    display: grid;
    gap: clamp(8.5px, 2.4875621891vw, 10px);
    place-content: baseline;
  }
}
.footer .footer-bottom .l-footer__inner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(21.25px, 1.953125vw, 25px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .footer .footer-bottom .l-footer__inner ul {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.footer .footer-bottom small {
  font-size: clamp(9.35px, 0.859375vw, 11px);
}
@media screen and (max-width: 767px) {
  .footer .footer-bottom small {
    font-size: clamp(9.35px, 2.736318408vw, 11px);
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.js-order-anime__item {
  opacity: 0;
  -webkit-transform: translateY(clamp(25.5px, 2.34375vw, 30px));
          transform: translateY(clamp(25.5px, 2.34375vw, 30px));
}

.js-item {
  opacity: 0;
  -webkit-transform: translateY(16px);
          transform: translateY(16px);
  -webkit-filter: blur(3px);
          filter: blur(3px);
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  will-change: opacity, transform, filter;
  visibility: hidden;
}

.js-item.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-filter: blur(0);
          filter: blur(0);
  visibility: visible;
}

.js-member-fade-item {
  opacity: 0;
  -webkit-transform: translateY(25px);
          transform: translateY(25px);
  -webkit-transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease, -webkit-transform 0.7s ease;
  will-change: opacity, transform;
}
.js-member-fade-item.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* loopの複製スライドは最初から見せる */
.member__list .swiper-slide-duplicate .js-member-fade-item {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.l-section__page-top {
  color: #171717;
  background: #103888;
  height: clamp(148.75px, 13.671875vw, 175px);
  display: -ms-grid;
  display: grid;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-section__page-top {
    height: clamp(127.5px, 37.3134328358vw, 150px);
  }
}
.l-section__page-top h1 {
  color: #fff;
  text-align: center;
}
.l-section__page-top h1 small {
  display: block;
  font-size: clamp(11.9px, 1.09375vw, 14px);
  margin-bottom: clamp(4.25px, 0.390625vw, 5px);
}
@media screen and (max-width: 767px) {
  .l-section__page-top h1 small {
    font-size: clamp(11.9px, 3.4825870647vw, 14px);
    margin-bottom: clamp(2.55px, 0.7462686567vw, 3px);
  }
}
.l-section__page-top h1 span {
  display: block;
  font-size: clamp(21.25px, 1.953125vw, 25px);
  padding-bottom: clamp(23.8px, 2.1875vw, 28px);
}
@media screen and (max-width: 767px) {
  .l-section__page-top h1 span {
    font-size: clamp(17.85px, 5.223880597vw, 21px);
    padding-bottom: clamp(17px, 4.9751243781vw, 20px);
  }
}
.l-section__page-top .line-bg {
  bottom: 0;
  top: auto;
}

.l-section__page {
  padding: 3.75rem 0 3.75rem;
  color: #171717;
  position: relative;
}

.l-title__pages {
  font-size: clamp(18px, 1.3125rem, 1.3125rem);
  text-align: center;
  font-weight: 500;
  margin-bottom: 2.1875rem;
}

.l-title__pages-02 {
  font-size: clamp(28px, 1.9375rem, 1.9375rem);
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-title__pages-02 {
    text-align: left;
    font-size: clamp(20px, 1.5625rem, 1.5625rem);
  }
}
.l-title__pages-02 small {
  color: #103888;
  display: block;
  font-size: clamp(14px, 1rem, 1rem);
  font-weight: 400;
  font-family: "Figtree", sans-serif;
  margin-bottom: 0.4375rem;
}

.l-pankuzu {
  font-size: clamp(10px, 0.75rem, 0.75rem);
  color: #171717;
  padding: 0.625rem 3.4375rem 0;
  max-width: 91.0625rem;
}
@media screen and (max-width: 767px) {
  .l-pankuzu {
    padding: 0.625rem 1.25rem 0;
  }
}
.l-pankuzu a {
  margin-right: 0.625rem;
  margin-left: 0.3125rem;
}
.l-pankuzu a:first-of-type {
  margin-left: 0;
}
.l-pankuzu span {
  margin-left: 0.3125rem;
}

.line-bg {
  height: clamp(4.25px, 0.390625vw, 5px);
  background: -webkit-gradient(linear, left top, right top, from(#00A0E9), color-stop(24%, #1D2088), color-stop(47%, #E2007E), color-stop(60%, #E41F1F), color-stop(74%, #FDEC06), color-stop(88%, #00964B), to(#00A0E9));
  background: linear-gradient(to right, #00A0E9, #1D2088 24%, #E2007E 47%, #E41F1F 60%, #FDEC06 74%, #00964B 88%, #00A0E9);
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 767px) {
  .line-bg {
    height: clamp(4.25px, 1.2437810945vw, 5px);
  }
}

body.popup-bg {
  overflow: hidden;
}
body.popup-bg::before {
  content: "";
  background: rgba(23, 23, 23, 0.5);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

.popup {
  width: 42.5rem;
  max-width: calc(100% - 2.5rem);
  background: #fff;
  border-radius: 0.625rem;
  padding: 3.125rem 3.75rem;
  font-size: clamp(14px, 1rem, 1rem);
  color: #171717;
  position: fixed;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 101;
}
@media screen and (max-width: 767px) {
  .popup {
    font-size: clamp(12px, 0.875rem, 0.875rem);
    padding: 3.125rem 1.25rem;
    overflow: auto;
    max-height: 750px;
  }
}
@media screen and (max-width: 376px) {
  .popup {
    max-height: 650px;
  }
}
@media screen and (max-width: 350px) {
  .popup {
    max-height: 500px;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .popup {
    max-height: 350px;
  }
}
@media screen and (max-width: 670px) and (orientation: landscape) {
  .popup {
    max-height: 300px;
  }
}
.popup h2 {
  font-size: clamp(18px, 1.3125rem, 1.3125rem);
  margin-bottom: 1.875rem;
  text-align: center;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .popup h2 {
    font-size: clamp(16px, 1.125rem, 1.125rem);
    margin-bottom: 1.25rem;
  }
}
.popup .popup-contents p {
  line-height: 1.7;
}
.popup .popup-contents p + p {
  margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .popup .popup-contents p + p {
    margin-top: 1.25rem;
  }
}
.popup .popup-contents .notice {
  font-size: clamp(12px, 0.875rem, 0.875rem);
}
.popup .popup-btn {
  text-align: center;
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .popup .popup-btn {
    margin-top: 2.8125rem;
  }
}
.popup .popup-btn a {
  min-width: 12.5rem;
  text-align: center;
  place-content: center;
  position: relative;
  padding-right: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .popup .popup-btn a {
    width: 100%;
    height: 2.6875rem;
  }
}
.popup .popup-btn a svg {
  position: absolute;
  right: 0.625rem;
}
.popup .popup-btn a .icon-wrap {
  position: absolute;
  right: 0.625rem;
}
.popup .popup-btn a + a {
  margin-left: 2.25rem;
}
@media screen and (max-width: 767px) {
  .popup .popup-btn a + a {
    margin-left: 0;
    margin-top: 0.9375rem;
  }
}
.popup .popup-btn__inner {
  margin-bottom: 1.6875rem;
}
@media screen and (max-width: 767px) {
  .popup .popup-btn__inner {
    margin-top: -0.3125rem;
  }
}

.l-pankuzu {
  font-size: clamp(10.2px, 0.9375vw, 12px);
}
@media screen and (max-width: 767px) {
  .l-pankuzu {
    font-size: clamp(10.2px, 2.9850746269vw, 12px);
  }
}

.l-pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
  margin-top: clamp(51px, 4.6875vw, 60px);
  margin-bottom: clamp(17px, 1.5625vw, 20px);
  gap: clamp(3.4px, 0.3125vw, 4px);
  font-family: "Figtree", sans-serif;
  color: #171717;
  font-size: clamp(13.6px, 1.25vw, 16px);
}
@media screen and (max-width: 767px) {
  .l-pager {
    font-size: clamp(11.9px, 3.4825870647vw, 14px);
  }
}
.l-pager a, .l-pager span {
  width: clamp(27.2px, 2.5vw, 32px);
  height: clamp(27.2px, 2.5vw, 32px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: center;
}
.l-pager a.current, .l-pager span.current {
  background: #103888;
  color: #fff;
  border-radius: 100%;
  padding-left: clamp(0.85px, 0.078125vw, 1px);
}
.l-pager .prev {
  margin-right: clamp(8.5px, 0.78125vw, 10px);
  position: relative;
  top: clamp(0.85px, 0.078125vw, 1px);
}
.l-pager .next {
  margin-left: clamp(8.5px, 0.78125vw, 10px);
  position: relative;
  top: clamp(0.85px, 0.078125vw, 1px);
}

.contact {
  background: #103888;
  padding: clamp(42.5px, 3.90625vw, 50px) 0 clamp(46.75px, 4.296875vw, 55px);
  position: relative;
}
.contact .page-top {
  position: absolute;
  width: clamp(38.25px, 3.515625vw, 45px);
  height: clamp(38.25px, 3.515625vw, 45px);
  right: clamp(13.6px, 1.25vw, 16px);
  bottom: clamp(17px, 1.5625vw, 20px);
}
.contact .line-bg {
  height: clamp(4.25px, 0.390625vw, 5px);
  background: -webkit-gradient(linear, left top, right top, from(#00A0E9), color-stop(24%, #1D2088), color-stop(47%, #E2007E), color-stop(60%, #E41F1F), color-stop(74%, #FDEC06), color-stop(88%, #00964B), to(#00A0E9));
  background: linear-gradient(to right, #00A0E9, #1D2088 24%, #E2007E 47%, #E41F1F 60%, #FDEC06 74%, #00964B 88%, #00A0E9);
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.contact h2 {
  color: #fff;
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.05em;
}
.contact h2 p {
  font-size: clamp(15.3px, 1.40625vw, 18px);
}
@media screen and (max-width: 767px) {
  .contact h2 p {
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
  }
}
.contact h2 small {
  font-weight: 500;
  display: block;
  margin-bottom: clamp(21.25px, 1.953125vw, 25px);
  letter-spacing: 0.03em;
  font-size: clamp(14.45px, 1.328125vw, 17px);
}
@media screen and (max-width: 767px) {
  .contact h2 small {
    font-size: clamp(14.45px, 4.2288557214vw, 17px);
    margin-bottom: clamp(17px, 4.9751243781vw, 20px);
  }
}
.contact .u-btn__wrapper {
  margin-top: clamp(25.5px, 2.34375vw, 30px);
}
@media screen and (max-width: 767px) {
  .contact .u-btn__wrapper {
    margin-top: clamp(21.25px, 6.2189054726vw, 25px);
  }
}
.contact--sub {
  background: #fff;
  padding: 0;
}
.contact--sub .line-bg {
  position: absolute;
  top: auto;
  bottom: 0;
}
html.is-mv-loaded .l-cta {
  z-index: 3;
}

.l-cta {
  position: fixed;
  bottom: clamp(4.25px, 0.390625vw, 5px);
  right: clamp(0px, 0vw, 0px);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .l-cta {
    right: auto;
    bottom: clamp(0px, 0vw, 0px);
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    width: calc(100% - clamp(34px, 9.9502487562vw, 40px));
    max-width: 450px;
  }
}
.l-cta img {
  width: clamp(318.75px, 29.296875vw, 375px);
}
@media screen and (max-width: 767px) {
  .l-cta img {
    width: 100%;
  }
}
.l-cta a {
  display: block;
  width: clamp(318.75px, 29.296875vw, 375px);
}
@media screen and (max-width: 767px) {
  .l-cta a {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .l-cta a {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .l-cta a:hover {
    opacity: 0.9;
  }
}
.l-cta.is-hidden {
  opacity: 0;
  visibility: hidden;
  bottom: clamp(-25.5px, -2.34375vw, -30px);
}
@media screen and (max-width: 767px) {
  .l-cta.is-hidden {
    bottom: clamp(-25.5px, -7.4626865672vw, -30px);
  }
}

.member-archive .member-contents {
  max-width: clamp(850px, 78.125vw, 1000px);
  margin-left: auto;
  margin-right: auto;
}
.member-archive .l-pager {
  margin-top: clamp(42.5px, 3.90625vw, 50px);
}
@media screen and (max-width: 767px) {
  .member-archive .l-pager {
    margin-top: clamp(21.25px, 6.2189054726vw, 25px);
  }
}
.member-archive__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr clamp(17px, 1.5625vw, 20px) 1fr clamp(17px, 1.5625vw, 20px) 1fr;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: clamp(17px, 1.5625vw, 20px);
     -moz-column-gap: clamp(17px, 1.5625vw, 20px);
          column-gap: clamp(17px, 1.5625vw, 20px);
  row-gap: clamp(42.5px, 3.90625vw, 50px);
}
@media screen and (max-width: 767px) {
  .member-archive__list {
    -ms-grid-columns: 1fr clamp(13.6px, 3.9800995025vw, 16px) 1fr;
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: clamp(13.6px, 3.9800995025vw, 16px);
       -moz-column-gap: clamp(13.6px, 3.9800995025vw, 16px);
            column-gap: clamp(13.6px, 3.9800995025vw, 16px);
    row-gap: clamp(28.05px, 8.2089552239vw, 33px);
  }
}
.member-archive__item figure {
  aspect-ratio: 1/1;
}
.member-archive__item figure img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  overflow: hidden;
  width: 100%;
  height: 100%;
  border-radius: 5px;
}
.member-archive__item__bio {
  margin-top: clamp(17px, 1.5625vw, 20px);
  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;
}
@media screen and (max-width: 767px) {
  .member-archive__item__bio {
    margin-top: clamp(13.6px, 3.9800995025vw, 16px);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: clamp(8.5px, 2.4875621891vw, 10px);
  }
}
@media screen and (max-width: 767px) {
  .member-archive__item__bio__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: clamp(10.2px, 2.9850746269vw, 12px);
       -moz-column-gap: clamp(10.2px, 2.9850746269vw, 12px);
            column-gap: clamp(10.2px, 2.9850746269vw, 12px);
  }
}
.member-archive__item__bio .name {
  font-size: clamp(16.15px, 1.484375vw, 19px);
}
@media screen and (max-width: 767px) {
  .member-archive__item__bio .name {
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
  }
}
.member-archive__item__bio .country {
  color: #6D727F;
  font-size: clamp(11.05px, 1.015625vw, 13px);
}
@media screen and (max-width: 767px) {
  .member-archive__item__bio .country {
    font-size: clamp(11.9px, 3.4825870647vw, 14px);
  }
}
.member-archive__item__bio .tag {
  color: #fff;
  display: inline-block;
  line-height: 1;
  padding: clamp(5.95px, 0.546875vw, 7px);
  font-size: clamp(10.2px, 0.9375vw, 12px);
}
@media screen and (max-width: 767px) {
  .member-archive__item__bio .tag {
    padding: clamp(5.95px, 1.7412935323vw, 7px);
    font-size: clamp(10.2px, 2.9850746269vw, 12px);
  }
}
.member-archive__item__bio .tag.blue {
  background-color: #103888;
}
.member-archive__item__bio .tag.light-blue {
  background-color: #0294E0;
}
.member-archive__item__bio .tag.orange {
  background-color: #e49a37;
}
.member-archive__item__bio .tag.pink {
  background-color: #c32a7f;
}
.member-archive__item__message {
  font-weight: 500;
  line-height: 1.4;
  margin-top: clamp(12.75px, 1.171875vw, 15px);
  font-size: clamp(13.6px, 1.25vw, 16px);
}
@media screen and (max-width: 767px) {
  .member-archive__item__message {
    margin-top: clamp(5.1px, 1.4925373134vw, 6px);
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
  }
}
@media screen and (min-width: 768px) {
  .member-archive__item {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .member-archive__item:hover {
    opacity: 0.7;
  }
}

.history__cards {
  max-width: clamp(759.9px, 69.84375vw, 894px);
  margin-left: auto;
  margin-right: auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: calc(50% - clamp(20.4px, 1.875vw, 24px)) clamp(40.8px, 3.75vw, 48px) calc(50% - clamp(20.4px, 1.875vw, 24px));
  grid-template-columns: calc(50% - clamp(20.4px, 1.875vw, 24px)) calc(50% - clamp(20.4px, 1.875vw, 24px));
  -webkit-column-gap: clamp(40.8px, 3.75vw, 48px);
     -moz-column-gap: clamp(40.8px, 3.75vw, 48px);
          column-gap: clamp(40.8px, 3.75vw, 48px);
  margin-top: clamp(59.5px, 5.46875vw, 70px);
}
@media screen and (max-width: 767px) {
  .history__cards {
    -ms-grid-columns: calc(50% - clamp(7.65px, 2.2388059701vw, 9px)) clamp(15.3px, 4.4776119403vw, 18px) calc(50% - clamp(7.65px, 2.2388059701vw, 9px));
    grid-template-columns: calc(50% - clamp(7.65px, 2.2388059701vw, 9px)) calc(50% - clamp(7.65px, 2.2388059701vw, 9px));
    -webkit-column-gap: clamp(15.3px, 4.4776119403vw, 18px);
       -moz-column-gap: clamp(15.3px, 4.4776119403vw, 18px);
            column-gap: clamp(15.3px, 4.4776119403vw, 18px);
    margin-top: clamp(65.45px, 19.1542288557vw, 77px);
  }
}
.history__card-image {
  width: 100%;
  aspect-ratio: 423/237;
}
@media screen and (max-width: 767px) {
  .history__card-image {
    aspect-ratio: 43/24;
  }
}
.history__card-image img {
  border-radius: clamp(8.5px, 0.78125vw, 10px);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .history__card-image img {
    border-radius: clamp(8.5px, 2.4875621891vw, 10px);
  }
}
.history__card-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(10.2px, 0.9375vw, 12px);
     -moz-column-gap: clamp(10.2px, 0.9375vw, 12px);
          column-gap: clamp(10.2px, 0.9375vw, 12px);
  margin-top: clamp(21.25px, 1.953125vw, 25px);
  font-size: clamp(17px, 1.5625vw, 20px);
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .history__card-ttl {
    margin-top: clamp(20.4px, 5.9701492537vw, 24px);
    -webkit-column-gap: clamp(10.2px, 2.9850746269vw, 12px);
       -moz-column-gap: clamp(10.2px, 2.9850746269vw, 12px);
            column-gap: clamp(10.2px, 2.9850746269vw, 12px);
    font-size: clamp(17px, 4.9751243781vw, 20px);
  }
}
.history__card-ttl img {
  width: clamp(25.5px, 2.34375vw, 30px);
  height: clamp(25.5px, 2.34375vw, 30px);
}
@media screen and (max-width: 767px) {
  .history__card-ttl img {
    width: clamp(25.5px, 7.4626865672vw, 30px);
    height: clamp(25.5px, 7.4626865672vw, 30px);
  }
}
.history__card-txt {
  margin-top: clamp(12.75px, 1.171875vw, 15px);
  font-size: clamp(13.6px, 1.25vw, 16px);
  line-height: 1.5;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .history__card-txt {
    margin-top: clamp(12.75px, 3.7313432836vw, 15px);
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
  }
}
@media screen and (min-width: 768px) {
  .history__card {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .history__card:hover {
    opacity: 0.7;
  }
}

.contactus-step {
  max-width: clamp(680px, 62.5vw, 800px);
  margin-left: auto;
  margin-right: auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
}
.contactus-step__item {
  padding-bottom: clamp(21.25px, 1.953125vw, 25px);
  border-bottom: 1px solid #CCCCCC;
  font-size: clamp(13.6px, 1.25vw, 16px);
  text-align: center;
  color: #777779;
}
@media screen and (max-width: 767px) {
  .contactus-step__item {
    padding: clamp(8.5px, 2.4875621891vw, 10px) 0 clamp(8.5px, 2.4875621891vw, 10px);
    font-size: clamp(11.9px, 3.4825870647vw, 14px);
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}
@media screen and (max-width: 570px) {
  .contactus-step__item {
    font-size: clamp(8.5px, 2.4875621891vw, 10px);
  }
}
.contactus-step__item.is-current {
  position: relative;
  color: #171717;
}
.contactus-step__item.is-current::after {
  content: "";
  position: absolute;
  display: block;
  bottom: clamp(-2.55px, -0.234375vw, -3px);
  left: 0;
  width: 100%;
  height: clamp(4.25px, 0.390625vw, 5px);
  background-color: #103888;
}
@media screen and (max-width: 767px) {
  .contactus-step__item.is-current::after {
    height: clamp(4.25px, 1.2437810945vw, 5px);
  }
}

.contact-form {
  max-width: clamp(680px, 62.5vw, 800px);
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(13.6px, 1.25vw, 16px);
  color: #171717;
}
@media screen and (max-width: 767px) {
  .contact-form {
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
  }
}
.contact-form__note {
  margin-top: clamp(34px, 3.125vw, 40px);
  color: #FF0000;
  -ms-grid-columns: 1fr clamp(484.5px, 44.53125vw, 570px);
  grid-template-columns: 1fr clamp(484.5px, 44.53125vw, 570px);
  display: -ms-grid;
  display: grid;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .contact-form__note {
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
    margin-top: clamp(34px, 9.9502487562vw, 40px);
    white-space: normal;
  }
}
@media screen and (max-width: 767px) {
  .contact-form__note span {
    display: block;
    margin-left: 0;
    margin-top: clamp(4.25px, 1.2437810945vw, 5px);
  }
}
.contact-form__row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr clamp(484.5px, 44.53125vw, 570px);
  grid-template-columns: 1fr clamp(484.5px, 44.53125vw, 570px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: clamp(17px, 1.5625vw, 20px) 0;
  border-bottom: 1px solid #CCCCCC;
}
.contact-form__row:has(textarea) {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 767px) {
  .contact-form__row {
    display: block;
    padding: clamp(13.6px, 3.9800995025vw, 16px) 0;
  }
}
.contact-form__row.required dt span {
  color: #FF0000;
}
@media screen and (max-width: 767px) {
  .contact-form dt {
    margin-bottom: clamp(6.8px, 1.9900497512vw, 8px);
  }
}
.contact-form dt label {
  cursor: pointer;
}
.contact-form dd input,
.contact-form dd select,
.contact-form dd textarea {
  width: 100%;
  border: 1px solid #CCCCCC;
  background: #fff;
  border-radius: clamp(4.25px, 0.390625vw, 5px);
  padding: clamp(9.35px, 0.859375vw, 11px) clamp(8.5px, 0.78125vw, 10px) clamp(11.05px, 1.015625vw, 13px) clamp(9.35px, 0.859375vw, 11px);
  color: #171717;
}
@media screen and (max-width: 767px) {
  .contact-form dd input,
  .contact-form dd select,
  .contact-form dd textarea {
    border-radius: clamp(4.25px, 1.2437810945vw, 5px);
    padding: clamp(9.35px, 2.736318408vw, 11px) clamp(8.5px, 2.4875621891vw, 10px) clamp(11.05px, 3.2338308458vw, 13px) clamp(9.35px, 2.736318408vw, 11px);
  }
}
.contact-form dd textarea {
  min-height: clamp(147.05px, 13.515625vw, 173px);
}
@media screen and (max-width: 767px) {
  .contact-form dd textarea {
    min-height: clamp(147.05px, 43.0348258706vw, 173px);
  }
}
.contact-form__select {
  position: relative;
}
.contact-form__select::after {
  content: "";
  position: absolute;
  top: 1.5em;
  right: clamp(12.75px, 1.171875vw, 15px);
  width: clamp(8.5px, 0.78125vw, 10px);
  height: clamp(8.5px, 0.78125vw, 10px);
  border-right: 2px solid #171717;
  border-bottom: 2px solid #171717;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .contact-form__select::after {
    right: clamp(12.75px, 3.7313432836vw, 15px);
    width: clamp(8.5px, 2.4875621891vw, 10px);
    height: clamp(8.5px, 2.4875621891vw, 10px);
  }
}
.contact-form__select select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  padding-right: clamp(32.3px, 2.96875vw, 38px);
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .contact-form__select select {
    padding-right: clamp(28.9px, 8.4577114428vw, 34px);
  }
}
.contact-form__select select::-ms-expand {
  display: none;
}
.contact-form__name {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr clamp(17px, 1.5625vw, 20px) 1fr;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: clamp(17px, 1.5625vw, 20px);
     -moz-column-gap: clamp(17px, 1.5625vw, 20px);
          column-gap: clamp(17px, 1.5625vw, 20px);
}
@media screen and (max-width: 767px) {
  .contact-form__name {
    -webkit-column-gap: clamp(17px, 4.9751243781vw, 20px);
       -moz-column-gap: clamp(17px, 4.9751243781vw, 20px);
            column-gap: clamp(17px, 4.9751243781vw, 20px);
  }
}
.contact-form__name-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(8.5px, 0.78125vw, 10px);
     -moz-column-gap: clamp(8.5px, 0.78125vw, 10px);
          column-gap: clamp(8.5px, 0.78125vw, 10px);
  font-size: clamp(14.45px, 1.328125vw, 17px);
}
@media screen and (max-width: 767px) {
  .contact-form__name-item {
    -webkit-column-gap: clamp(8.5px, 2.4875621891vw, 10px);
       -moz-column-gap: clamp(8.5px, 2.4875621891vw, 10px);
            column-gap: clamp(8.5px, 2.4875621891vw, 10px);
    font-size: clamp(14.45px, 4.2288557214vw, 17px);
  }
}
.contact-form__name-item:has(.wpcf7-not-valid) {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1fr;
  grid-template-columns: auto 1fr;
}
.contact-form__name-item:has(.wpcf7-not-valid) .wpcf7-not-valid-tip {
  grid-column: 1/-1; /* ← 全幅にする */
}
.contact-form__privacy {
  margin-top: clamp(17px, 1.5625vw, 20px);
  font-size: clamp(11.05px, 1.015625vw, 13px);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .contact-form__privacy {
    margin-top: clamp(11.9px, 3.4825870647vw, 14px);
    font-size: clamp(11.05px, 3.2338308458vw, 13px);
  }
}
.contact-form__privacy a {
  color: #103888;
  text-decoration: underline;
}
.contact-form .u-btn__wrapper {
  margin-top: clamp(34px, 3.125vw, 40px);
}
@media screen and (max-width: 767px) {
  .contact-form .u-btn__wrapper {
    margin-top: clamp(34px, 9.9502487562vw, 40px);
  }
}

@media screen and (max-width: 767px) {
  .contactus__confirm dd {
    margin-top: clamp(5.95px, 1.7412935323vw, 7px);
  }
}
.contactus__confirm .contact-form__select::after {
  content: none;
}

.contactus__complete .contact-form {
  margin-top: clamp(34px, 3.125vw, 40px);
}
@media screen and (max-width: 767px) {
  .contactus__complete .contact-form {
    margin-top: clamp(34px, 9.9502487562vw, 40px);
  }
}

.wpcf7-not-valid {
  background: rgba(255, 0, 0, 0.2) !important;
  width: 100%;
}

.wpcf7-not-valid-tip {
  color: #FF0000;
  margin-top: clamp(4.25px, 0.390625vw, 5px);
  display: block;
  font-size: clamp(13.6px, 1.25vw, 16px);
}
@media screen and (max-width: 767px) {
  .wpcf7-not-valid-tip {
    font-size: clamp(13.6px, 3.9800995025vw, 16px);
  }
}
@media screen and (max-width: 376px) {
  .wpcf7-not-valid-tip {
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #103888;
  color: #103888;
  font-weight: 500;
  padding: 1.25rem;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #FF0000;
  color: #FF0000;
  font-weight: 500;
  padding: 1.25rem;
}

.wpcf7-spinner {
  display: block;
  margin: 1.25rem auto 0;
}