@charset "UTF-8";
/* ---------------------------------------------
  reset
--------------------------------------------- */
* *:before *:after {
  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,
figure,
article {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
  box-sizing: border-box;
}

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

body {
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

ol,
ul {
  list-style: none;
  list-style-type: none;
}

a {
  text-decoration: none;
  color: inherit;
}

img,
video,
object {
  width: 100%;
  max-width: 100%;
  height: auto;
  border: none;
  display: block;
  vertical-align: bottom;
  object-fit: cover;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  color: inherit;
  background: none;
  box-shadow: none;
}

pre,
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
  color: inherit;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

:focus {
  outline: 0;
}

details {
  display: block;
}

summary {
  display: list-item;
}

/* ---------------------------------------------
  utility
--------------------------------------------- */
.u-pc-only {
  display: block;
}
@media (max-width: 768px) {
  .u-pc-only {
    display: none !important;
  }
}

.u-sp-only {
  display: none;
}
@media (max-width: 768px) {
  .u-sp-only {
    display: block !important;
  }
}

.u-pt-0 {
  padding-top: 0 !important;
}

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

/* ---------------------------------------------
  base
--------------------------------------------- */
@font-face {
  font-family: "Cammron";
  src: url("../fonts/CammronDemo.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
:root {
  --cammron: "Cammron";
}

.wrapper {
  padding-top: clamp(58px, calc(39.5609756098px + 4.8780487805vw), 102px);
}

body {
  font-feature-settings: "palt";
  background-color: #fff;
  width: 100%;
  font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "MS PMincho", "Noto Serif JP", serif;
  color: #2E3252;
  overflow-x: hidden;
}

a {
  text-decoration: none;
  transition: 0.3s;
}

a:hover {
  opacity: 0.6;
  transition: 0.3s;
}

/* ---------------------------------------------
  ヘッダー
--------------------------------------------- */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  padding: clamp(19px, calc(11.4567627494px + 1.9955654102vw), 37px) 0;
  background-color: #fff;
}
.header__inner {
  padding: 0 clamp(20px, calc(16.6474501109px + 0.8869179601vw), 28px);
}
.header__logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.header__logo a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(8px, calc(5.9046563193px + 0.5543237251vw), 13px);
}
.header__logo-image {
  width: clamp(19px, calc(16.066518847px + 0.7760532151vw), 26px);
}
.header__logo-text {
  font-family: var(--cammron);
  font-size: clamp(1.25rem, 0.59375rem + 1.3671875vw, 1.6875rem);
  line-height: 1;
  letter-spacing: -0.05em;
  font-weight: 400;
}

/* ---------------------------------------------
  ハンバーガーメニュー
--------------------------------------------- */
.hamburger {
  width: 513px;
  position: relative;
}
@media (max-width: 768px) {
  .hamburger {
    width: 100%;
  }
}
.hamburger__button {
  background: url(../img/common/hamburger_open.svg) center/cover no-repeat;
  appearance: none;
  outline: none;
  cursor: pointer;
  z-index: 5;
  width: clamp(21px, calc(20.1618625277px + 0.22172949vw), 23px);
  height: clamp(13px, calc(11.3237250554px + 0.44345898vw), 17px);
  position: absolute;
  top: -20px;
  left: clamp(20px, calc(16.6474501109px + 0.8869179601vw), 28px);
}

.drawer {
  position: fixed;
  z-index: 4;
  top: 0;
  left: 0;
  overflow: hidden;
  height: 100vh;
  background-color: #fff;
  width: 100vw;
  transform: translateX(-100vw);
  transition: 0.8s;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  width: 513px;
}
@media (max-width: 768px) {
  .drawer {
    width: 100%;
  }
}
.drawer__nav {
  height: 100%;
}
.drawer__nav-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: clamp(10px, calc(4.5521064302px + 1.4412416851vw), 23px);
  padding-top: clamp(50px, calc(17.3126385809px + 8.6474501109vw), 128px);
  width: 100%;
  height: auto;
}
.drawer__nav-item {
  width: 100%;
}
.drawer__nav-item.--border {
  position: relative;
  padding: clamp(10px, calc(10px + 0vw), 10px) 0;
}
.drawer__nav-item.--border::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 95%;
  border-bottom: 1px solid #192161;
}
@media (max-width: 768px) {
  .drawer__nav-item.--border::after {
    width: clamp(95%, 95% + 2% * (100vw - 375px) / 393px, 97%);
  }
}
.drawer__nav-item.--padding .drawer__nav-link {
  padding-left: clamp(49px, calc(42.2949002217px + 1.7738359202vw), 65px);
}
.drawer__nav-item:nth-of-type(4) .drawer__nav-link {
  font-size: clamp(1.25rem, 1.0404656319rem + 0.8869179601vw, 1.75rem);
  line-height: 1;
  letter-spacing: -0.05em;
  font-weight: 500;
}
.drawer__nav-link {
  font-family: var(--cammron);
  font-size: clamp(1rem, 0.8428492239rem + 0.6651884701vw, 1.375rem);
  line-height: 1;
  letter-spacing: -0.05em;
  font-weight: 500;
  display: block;
  width: 100%;
  padding-left: clamp(39px, calc(33.5521064302px + 1.4412416851vw), 52px);
}
.drawer__nav-link span {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", sans-serif;
  font-size: clamp(0.625rem, 0.520232816rem + 0.44345898vw, 0.875rem);
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-weight: 300;
  display: block;
}
.drawer__bg {
  position: fixed;
  z-index: 3;
  width: 100vw;
  top: 0;
  right: 0;
  overflow: hidden;
  height: 100vh;
  background-color: #000;
  color: #fff;
  visibility: hidden;
  opacity: 0;
}

body.is-open {
  overflow: hidden;
}
body.is-open .hamburger__button {
  background: url(../img/common/hamburger_close.svg) center/contain no-repeat;
  width: 88px;
  height: 6px;
  top: -30px;
  left: 402px;
  transition: 0.8s;
  padding: 20px;
}
@media (max-width: 768px) {
  body.is-open .hamburger__button {
    left: 70%;
    left: min(620 / 768 * 100vw, 620px);
  }
}
body.is-open .drawer {
  transform: translateX(0vw);
  transition: 0.8s;
  opacity: 1;
  visibility: visible;
  pointer-events: visible;
  position: absolute;
  overflow-y: scroll;
}
body.is-open .drawer__bg {
  visibility: visible;
  opacity: 0.8;
  transition: 0.5s;
}

/* ---------------------------------------------
  フッター（トップページのみ）
--------------------------------------------- */
.wrapper.front-page .footer {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", sans-serif;
  margin-top: clamp(54px, calc(23.4079822616px + 8.0931263858vw), 127px);
}
.wrapper.front-page .footer__cover {
  background-color: #192161;
  padding-top: min(35 / 1280 * 100vw, 35px);
  margin-top: min(35 / 1280 * 100vw, 35px);
}
.wrapper.front-page .footer__inner {
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__inner {
    padding: 0 clamp(35px, calc(1.0769230769px + 8.9743589744vw), 70px);
  }
}
.wrapper.front-page .footer__heading {
  font-size: clamp(1.875rem, 0.9375rem + 1.953125vw, 2.5rem);
  line-height: 1.2;
  letter-spacing: -0.05em;
  font-weight: 400;
  margin: 0 min(40 / 1280 * 100vw, 40px) min(35 / 1280 * 100vw, 35px) min(40 / 1280 * 100vw, 40px);
  border-bottom: 1px solid #192161;
  padding: 0 0 min(10 / 1280 * 100vw, 10px) min(15 / 1280 * 100vw, 15px);
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__heading {
    font-size: clamp(1.875rem, 0.0576923077rem + 7.6923076923vw, 3.75rem);
    line-height: 1.2;
    letter-spacing: -0.05em;
    font-weight: 400;
    margin: clamp(35px, calc(1.0769230769px + 8.9743589744vw), 70px) 0 clamp(20px, calc(0.6153846154px + 5.1282051282vw), 40px) 0;
    padding: 0 0 clamp(6px, calc(0.1846153846px + 1.5384615385vw), 12px) clamp(12.5px, calc(0.3846153846px + 3.2051282051vw), 25px);
    display: block;
  }
  .wrapper.front-page .footer__heading a {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: baseline;
  }
}
.wrapper.front-page .footer__heading span {
  font-size: clamp(0.75rem, 0.375rem + 0.78125vw, 1rem);
  line-height: 1;
  letter-spacing: 0.2em;
  font-weight: 400;
  display: block;
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__heading span {
    font-size: clamp(0.75rem, 0.0230769231rem + 3.0769230769vw, 1.5rem);
    line-height: 1;
    letter-spacing: 0.2em;
    font-weight: 400;
  }
}
.wrapper.front-page .footer__nav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: min(55 / 1280 * 100vw, 55px);
  padding: 0 min(55 / 1280 * 100vw, 55px);
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__nav {
    padding: 0 0 0 clamp(12.5px, calc(0.3846153846px + 3.2051282051vw), 25px);
  }
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__nav.--top {
    flex-direction: column;
  }
}
.wrapper.front-page .footer__nav.--middle {
  display: grid;
  grid-template: repeat(3, 1fr)/repeat(2, 1fr);
  border-bottom: 1px solid #192161;
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__nav.--middle {
    padding-bottom: clamp(20px, calc(0.6153846154px + 5.1282051282vw), 40px);
    margin-bottom: clamp(29px, calc(0.8923076923px + 7.4358974359vw), 58px);
  }
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__nav.--middle .footer__nav-link {
    font-size: clamp(1.25rem, 0.0384615385rem + 5.1282051282vw, 2.5rem);
    line-height: 1.225;
    letter-spacing: -0.05em;
    font-weight: 400;
  }
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__nav.--bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .wrapper.front-page .footer__nav.--bottom .footer__nav-item:nth-of-type(1) {
    grid-column: 1;
    grid-row: 1;
  }
  .wrapper.front-page .footer__nav.--bottom .footer__nav-item:nth-of-type(2) {
    grid-column: 1;
    grid-row: 2;
  }
  .wrapper.front-page .footer__nav.--bottom .footer__nav-item:nth-of-type(3) {
    grid-column: 2;
    grid-row: 2;
  }
  .wrapper.front-page .footer__nav.--bottom .footer__nav-item:nth-of-type(3) .footer__nav-link {
    font-size: clamp(1.25rem, 0.0384615385rem + 5.1282051282vw, 2.5rem);
    line-height: 1.88;
    letter-spacing: -0.05em;
    font-weight: 400;
  }
}
.wrapper.front-page .footer__nav-item {
  text-align: center;
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__nav-item {
    text-align: left;
  }
}
.wrapper.front-page .footer__nav-item.--bg {
  background-color: #192161;
}
.wrapper.front-page .footer__nav-item.--bg .footer__nav-link {
  color: #fff;
}
.wrapper.front-page .footer__nav-link {
  font-size: clamp(1.25rem, 0.59375rem + 1.3671875vw, 1.6875rem);
  line-height: 1.2222222222;
  letter-spacing: -0.05em;
  font-weight: 400;
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__nav-link {
    font-size: clamp(1.5625rem, 0.0480769231rem + 6.4102564103vw, 3.125rem);
    line-height: 1.22;
    letter-spacing: -0.05em;
    font-weight: 400;
  }
}
.wrapper.front-page .footer__nav-link span {
  font-size: clamp(0.625rem, 0.34375rem + 0.5859375vw, 0.8125rem);
  line-height: 1;
  letter-spacing: 0.2em;
  font-weight: 400;
  display: block;
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__nav-link span {
    font-size: clamp(0.625rem, 0.0192307692rem + 2.5641025641vw, 1.25rem);
    line-height: 1;
    letter-spacing: 0.2em;
    font-weight: 400;
  }
}
.wrapper.front-page .footer__group {
  display: flex;
  justify-content: space-between;
  gap: min(15 / 1280 * 100vw, 15px);
  margin-top: min(80 / 1280 * 100vw, 80px);
  padding: 0 min(55 / 1280 * 100vw, 55px);
}
.wrapper.front-page .footer__logo {
  display: flex;
  justify-content: flex-start;
}
.wrapper.front-page .footer__logo a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: clamp(8px, calc(5.9046563193px + 0.5543237251vw), 13px);
}
.wrapper.front-page .footer__logo-image {
  width: clamp(19px, calc(16.066518847px + 0.7760532151vw), 26px);
}
.wrapper.front-page .footer__logo-text {
  font-family: var(--cammron);
  font-size: clamp(1.25rem, 0.59375rem + 1.3671875vw, 1.6875rem);
  line-height: 1;
  letter-spacing: -0.05em;
  font-weight: 400;
  color: #fff;
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__logo-text {
    color: #2E3252;
  }
}
.wrapper.front-page .footer__address {
  font-size: clamp(0.75rem, 0.375rem + 0.78125vw, 1rem);
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-weight: 400;
  color: #fff;
  margin-top: min(10 / 1280 * 100vw, 10px);
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__address {
    font-size: clamp(0.75rem, 0.0230769231rem + 3.0769230769vw, 1.5rem);
    line-height: 1.3333333333;
    letter-spacing: 0.2em;
    font-weight: 400;
    color: #2E3252;
    margin-top: clamp(8px, calc(0.2461538462px + 2.0512820513vw), 16px);
  }
}
.wrapper.front-page .footer__tel {
  font-size: clamp(1rem, 0.53125rem + 0.9765625vw, 1.3125rem);
  line-height: 1.1904761905;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #fff;
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__tel {
    font-size: clamp(1rem, 0.0307692308rem + 4.1025641026vw, 2rem);
    line-height: 1.1875;
    letter-spacing: 0.2em;
    font-weight: 400;
    color: #2E3252;
  }
}
.wrapper.front-page .footer__company {
  display: flex;
  align-items: center;
  gap: min(30 / 1280 * 100vw, 30px);
}
.wrapper.front-page .footer__company-item:nth-of-type(1) {
  width: min(75 / 1280 * 100vw, 75px);
}
.wrapper.front-page .footer__company-item:nth-of-type(2) {
  width: min(94 / 1280 * 100vw, 94px);
}
.wrapper.front-page .footer__company-item:nth-of-type(3) {
  width: min(114 / 1280 * 100vw, 114px);
}
.wrapper.front-page .footer__company-item:nth-of-type(4) {
  width: min(27 / 1280 * 100vw, 27px);
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__company {
    justify-content: center;
    gap: clamp(25px, calc(0.7692307692px + 6.4102564103vw), 50px);
    margin-top: clamp(45px, calc(1.3846153846px + 11.5384615385vw), 90px);
  }
  .wrapper.front-page .footer__company-item:nth-of-type(1) {
    width: clamp(43px, calc(1.3230769231px + 11.0256410256vw), 86px);
  }
  .wrapper.front-page .footer__company-item:nth-of-type(2) {
    width: clamp(47px, calc(1.4461538462px + 12.0512820513vw), 94px);
  }
  .wrapper.front-page .footer__company-item:nth-of-type(3) {
    width: clamp(61px, calc(1.8769230769px + 15.641025641vw), 122px);
  }
  .wrapper.front-page .footer__company-item:nth-of-type(4) {
    width: clamp(16px, calc(0.4923076923px + 4.1025641026vw), 32px);
  }
}
.wrapper.front-page .footer__badge {
  width: min(179 / 1280 * 100vw, 179px);
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__badge {
    width: clamp(132px, calc(4.0615384615px + 33.8461538462vw), 264px);
  }
}
.wrapper.front-page .footer__copyright {
  text-align: center;
  background-color: #192161;
  padding-bottom: min(35 / 1280 * 100vw, 35px);
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__copyright {
    background-color: #fff;
    padding-bottom: clamp(40px, calc(-8.4615384615px + 12.8205128205vw), 90px);
    margin-top: clamp(30px, calc(0.9230769231px + 7.6923076923vw), 60px);
  }
}
.wrapper.front-page .footer__copyright small {
  font-size: clamp(0.75rem, 0.375rem + 0.78125vw, 1rem);
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 400;
  color: #fff;
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__copyright small {
    font-size: clamp(0.75rem, 0.0230769231rem + 3.0769230769vw, 1.5rem);
    line-height: 1;
    letter-spacing: 0em;
    font-weight: 400;
    color: #192161;
  }
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__wrap {
    display: flex;
    justify-content: space-between;
  }
}
@media (max-width: 768px) {
  .wrapper.front-page .footer__info {
    margin-top: clamp(45px, calc(1.3846153846px + 11.5384615385vw), 90px);
  }
}

/* ---------------------------------------------
  フッター（トップページ以外）
--------------------------------------------- */
.wrapper:not(.front-page) .footer {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", sans-serif;
}
.wrapper:not(.front-page) .footer__cover {
  margin-top: min(45 / 1280 * 100vw, 45px);
}
.wrapper:not(.front-page) .footer__inner {
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__inner {
    padding: 0 clamp(35px, calc(1.0769230769px + 8.9743589744vw), 70px);
  }
}
.wrapper:not(.front-page) .footer__heading {
  font-family: var(--cammron);
  font-size: clamp(1.5625rem, -0.78125rem + 4.8828125vw, 3.125rem);
  line-height: 1;
  letter-spacing: -0.02em;
  font-weight: 400;
  color: #fff;
  text-align: center;
  background-color: #192161;
}
.wrapper:not(.front-page) .footer__heading a {
  display: block;
  padding: 0;
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__heading {
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", sans-serif;
    font-size: clamp(1.875rem, 0.0576923077rem + 7.6923076923vw, 3.75rem);
    line-height: 1.2;
    letter-spacing: -0.05em;
    font-weight: 400;
    margin: clamp(35px, calc(1.0769230769px + 8.9743589744vw), 70px) 0 clamp(20px, calc(0.6153846154px + 5.1282051282vw), 40px) 0;
    padding: 0 clamp(12.5px, calc(0.3846153846px + 3.2051282051vw), 25px) clamp(6px, calc(0.1846153846px + 1.5384615385vw), 12px);
    border-bottom: 1px solid #192161;
    display: block;
    background-color: transparent;
    color: #2E3252;
  }
  .wrapper:not(.front-page) .footer__heading a {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: baseline;
  }
}
@media (max-width: 768px) and (max-width: 768px) {
  .wrapper:not(.front-page) .footer__heading span {
    font-size: clamp(0.75rem, 0.0230769231rem + 3.0769230769vw, 1.5rem);
    line-height: 1;
    letter-spacing: 0.2em;
    font-weight: 400;
  }
}
.wrapper:not(.front-page) .footer__heading.--under a {
  padding: clamp(18px, calc(0px + 2.34375vw), 30px) 0;
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__heading.--under {
    font-family: var(--cammron);
    font-size: clamp(1.5625rem, 0.0480769231rem + 6.4102564103vw, 3.125rem);
    line-height: 1;
    letter-spacing: -0.02em;
    font-weight: 400;
    color: #fff;
    padding: 0;
    text-align: center;
    background-color: #192161;
    margin: 0;
  }
  .wrapper:not(.front-page) .footer__heading.--under a {
    display: block;
    padding: clamp(18px, calc(0.5538461538px + 4.6153846154vw), 36px) 0;
  }
  .wrapper:not(.front-page) .footer__heading.--under span {
    display: none;
  }
}
.wrapper:not(.front-page) .footer__nav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: min(55 / 1280 * 100vw, 55px);
  padding: 0 min(55 / 1280 * 100vw, 55px);
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__nav {
    padding: 0 0 0 clamp(12.5px, calc(0.3846153846px + 3.2051282051vw), 25px);
  }
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__nav.--top {
    flex-direction: column;
  }
}
.wrapper:not(.front-page) .footer__nav.--under {
  gap: 0;
  flex-wrap: nowrap;
  padding: 0;
  display: grid;
  grid-template: repeat(1, 1fr)/repeat(6, 1fr);
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__nav.--under {
    display: flex;
    flex-direction: column;
    padding: 0 0 0 clamp(12.5px, calc(0.3846153846px + 3.2051282051vw), 25px);
  }
}
.wrapper:not(.front-page) .footer__nav.--under .footer__nav-link {
  font-family: var(--cammron);
  font-size: clamp(1.1875rem, 0.90625rem + 0.5859375vw, 1.375rem);
  line-height: 1;
  letter-spacing: 0.2em;
  font-weight: 400;
  display: block;
  color: #fff;
  height: min(162 / 1280 * 100vw, 162px);
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__nav.--under .footer__nav-link {
    font-family: var(--cammron);
    font-size: clamp(1.25rem, 0.0384615385rem + 5.1282051282vw, 2.5rem);
    line-height: 1;
    letter-spacing: 0.2em;
    font-weight: 400;
    display: block;
    color: #fff;
    aspect-ratio: 189/140;
    height: auto;
    padding: 0;
  }
}
.wrapper:not(.front-page) .footer__nav.--under .footer__nav-link span {
  font-size: clamp(0.625rem, 0.4375rem + 0.390625vw, 0.75rem);
  line-height: 1;
  letter-spacing: 0.4em;
  font-weight: 400;
  display: block;
  margin-top: clamp(5px, calc(5px + 0vw), 5px);
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__nav.--under .footer__nav-link span {
    font-size: clamp(0.6875rem, 0.0211538462rem + 2.8205128205vw, 1.375rem);
    line-height: 1;
    letter-spacing: 0.4em;
    font-weight: 400;
    margin-top: clamp(5px, calc(0.1538461538px + 1.2820512821vw), 10px);
  }
}
.wrapper:not(.front-page) .footer__nav.--under .footer__nav-label {
  margin-top: min(-29 / 1280 * 100vw, -29px);
}
.wrapper:not(.front-page) .footer__nav.--under .footer__nav-link-wrap {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: min(7 / 1280 * 100vw, 7px);
  position: relative;
}
.wrapper:not(.front-page) .footer__nav.--under .footer__nav-item:nth-of-type(1) .footer__nav-link {
  background: url(../img/common/footer_nav_image_01_pc.jpg) center/cover no-repeat;
}
.wrapper:not(.front-page) .footer__nav.--under .footer__nav-item:nth-of-type(2) .footer__nav-link {
  background: url(../img/common/footer_nav_image_02_pc.jpg) center/cover no-repeat;
}
.wrapper:not(.front-page) .footer__nav.--under .footer__nav-item:nth-of-type(3) .footer__nav-link {
  background: url(../img/common/footer_nav_image_03_pc.jpg) center/cover no-repeat;
}
.wrapper:not(.front-page) .footer__nav.--under .footer__nav-item:nth-of-type(4) .footer__nav-link {
  background: url(../img/common/footer_nav_image_04_pc.jpg) center/cover no-repeat;
}
.wrapper:not(.front-page) .footer__nav.--under .footer__nav-item:nth-of-type(5) .footer__nav-link {
  background: url(../img/common/footer_nav_image_05_pc.jpg) center/cover no-repeat;
}
.wrapper:not(.front-page) .footer__nav.--under .footer__nav-item:nth-of-type(6) .footer__nav-link {
  background: url(../img/common/footer_nav_image_06_pc.jpg) center/cover no-repeat;
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__nav.--under {
    gap: 0;
    padding: 0;
    display: grid;
    grid-template: repeat(3, 1fr)/repeat(2, 1fr);
    margin-bottom: clamp(50px, calc(1.5384615385px + 12.8205128205vw), 100px);
  }
  .wrapper:not(.front-page) .footer__nav.--under a {
    display: block;
    padding: clamp(18px, calc(0.5538461538px + 4.6153846154vw), 36px) 0;
  }
  .wrapper:not(.front-page) .footer__nav.--under span {
    display: none;
  }
  .wrapper:not(.front-page) .footer__nav.--under .footer__nav-link-wrap {
    gap: clamp(8px, calc(4.6474501109px + 0.8869179601vw), 16px);
  }
  .wrapper:not(.front-page) .footer__nav.--under .footer__nav-item {
    text-align: center;
  }
  .wrapper:not(.front-page) .footer__nav.--under .footer__nav-item:nth-of-type(1) .footer__nav-link {
    background: url(../img/common/footer_nav_image_01_sp.jpg) center/cover no-repeat;
  }
  .wrapper:not(.front-page) .footer__nav.--under .footer__nav-item:nth-of-type(2) .footer__nav-link {
    background: url(../img/common/footer_nav_image_02_sp.jpg) center/cover no-repeat;
  }
  .wrapper:not(.front-page) .footer__nav.--under .footer__nav-item:nth-of-type(3) .footer__nav-link {
    background: url(../img/common/footer_nav_image_03_sp.jpg) center/cover no-repeat;
  }
  .wrapper:not(.front-page) .footer__nav.--under .footer__nav-item:nth-of-type(4) .footer__nav-link {
    background: url(../img/common/footer_nav_image_04_sp.jpg) center/cover no-repeat;
  }
  .wrapper:not(.front-page) .footer__nav.--under .footer__nav-item:nth-of-type(5) .footer__nav-link {
    background: url(../img/common/footer_nav_image_05_sp.jpg) center/cover no-repeat;
  }
  .wrapper:not(.front-page) .footer__nav.--under .footer__nav-item:nth-of-type(6) .footer__nav-link {
    background: url(../img/common/footer_nav_image_06_sp.jpg) center/cover no-repeat;
  }
}
.wrapper:not(.front-page) .footer__nav.--middle {
  display: grid;
  grid-template: repeat(3, 1fr)/repeat(2, 1fr);
  border-bottom: 1px solid #192161;
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__nav.--middle {
    padding-bottom: clamp(20px, calc(0.6153846154px + 5.1282051282vw), 40px);
    margin-bottom: clamp(29px, calc(0.8923076923px + 7.4358974359vw), 58px);
  }
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__nav.--middle .footer__nav-link {
    font-size: clamp(1.25rem, 0.0384615385rem + 5.1282051282vw, 2.5rem);
    line-height: 1.225;
    letter-spacing: -0.05em;
    font-weight: 400;
  }
}
.wrapper:not(.front-page) .footer__nav.--bottom {
  padding-bottom: min(53 / 1280 * 100vw, 53px);
  position: relative;
}
.wrapper:not(.front-page) .footer__nav.--bottom::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  width: 100vw;
  height: 1px;
  background-color: #192161;
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__nav.--bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-bottom: 0;
  }
  .wrapper:not(.front-page) .footer__nav.--bottom::after {
    display: none;
  }
  .wrapper:not(.front-page) .footer__nav.--bottom .footer__nav-item:nth-of-type(1) {
    grid-column: 1;
    grid-row: 1;
  }
  .wrapper:not(.front-page) .footer__nav.--bottom .footer__nav-item:nth-of-type(2) {
    grid-column: 1;
    grid-row: 2;
  }
  .wrapper:not(.front-page) .footer__nav.--bottom .footer__nav-item:nth-of-type(3) {
    grid-column: 2;
    grid-row: 2;
  }
  .wrapper:not(.front-page) .footer__nav.--bottom .footer__nav-item:nth-of-type(3) .footer__nav-link {
    font-size: clamp(1.25rem, 0.0384615385rem + 5.1282051282vw, 2.5rem);
    line-height: 1.88;
    letter-spacing: -0.05em;
    font-weight: 400;
  }
}
.wrapper:not(.front-page) .footer__nav-item {
  text-align: center;
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__nav-item {
    text-align: left;
  }
}
.wrapper:not(.front-page) .footer__nav-item.--bg .footer__nav-link {
  color: #192161;
}
.wrapper:not(.front-page) .footer__nav-link {
  font-size: clamp(1.25rem, 0.59375rem + 1.3671875vw, 1.6875rem);
  line-height: 1.2222222222;
  letter-spacing: -0.05em;
  font-weight: 400;
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__nav-link {
    font-size: clamp(1.5625rem, 0.0480769231rem + 6.4102564103vw, 3.125rem);
    line-height: 1.22;
    letter-spacing: -0.05em;
    font-weight: 400;
  }
}
.wrapper:not(.front-page) .footer__nav-link span {
  font-size: clamp(0.625rem, 0.34375rem + 0.5859375vw, 0.8125rem);
  line-height: 1;
  letter-spacing: 0.2em;
  font-weight: 400;
  display: block;
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__nav-link span {
    font-size: clamp(0.625rem, 0.0192307692rem + 2.5641025641vw, 1.25rem);
    line-height: 1;
    letter-spacing: 0.2em;
    font-weight: 400;
  }
}
.wrapper:not(.front-page) .footer__nav-more {
  font-size: clamp(0.75rem, 0.75rem + 0vw, 0.75rem);
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 400;
  width: fit-content;
  position: absolute;
  bottom: clamp(15px, calc(-10.5px + 3.3203125vw), 32px);
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__nav-more {
    font-size: clamp(0.75rem, 0.0230769231rem + 3.0769230769vw, 1.5rem);
    line-height: 1;
    letter-spacing: 0em;
    font-weight: 400;
    bottom: clamp(30px, calc(0.9230769231px + 7.6923076923vw), 60px);
  }
}
.wrapper:not(.front-page) .footer__nav-more::after {
  content: "";
  background: url(../img/common/footer_arrow.png) center/cover no-repeat;
  width: clamp(10px, calc(9.5809312639px + 0.110864745vw), 11px);
  height: clamp(6px, calc(6px + 0vw), 6px);
  position: absolute;
  top: 50%;
  right: clamp(-6px, calc(-5.1618625277px + -0.22172949vw), -8px);
  translate: 100% -50%;
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__nav-more::after {
    width: clamp(10px, calc(5.1538461538px + 1.2820512821vw), 15px);
    height: clamp(6px, calc(3.0923076923px + 0.7692307692vw), 9px);
  }
}
.wrapper:not(.front-page) .footer__group {
  display: flex;
  justify-content: space-between;
  gap: min(15 / 1280 * 100vw, 15px);
  margin-top: min(41 / 1280 * 100vw, 41px);
  padding: 0 min(55 / 1280 * 100vw, 55px);
}
.wrapper:not(.front-page) .footer__info {
  margin-top: min(70 / 1280 * 100vw, 70px);
}
.wrapper:not(.front-page) .footer__logo {
  display: flex;
  justify-content: flex-start;
}
.wrapper:not(.front-page) .footer__logo a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: clamp(8px, calc(5.9046563193px + 0.5543237251vw), 13px);
}
.wrapper:not(.front-page) .footer__logo-image {
  width: clamp(19px, calc(16.066518847px + 0.7760532151vw), 26px);
}
.wrapper:not(.front-page) .footer__logo-text {
  font-family: var(--cammron);
  font-size: clamp(1.25rem, 0.59375rem + 1.3671875vw, 1.6875rem);
  line-height: 1;
  letter-spacing: -0.05em;
  font-weight: 400;
}
.wrapper:not(.front-page) .footer__address {
  font-size: clamp(0.75rem, 0.375rem + 0.78125vw, 1rem);
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-weight: 400;
  color: #192161;
  margin-top: min(10 / 1280 * 100vw, 10px);
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__address {
    font-size: clamp(0.75rem, 0.0230769231rem + 3.0769230769vw, 1.5rem);
    line-height: 1.3333333333;
    letter-spacing: 0.2em;
    font-weight: 400;
    color: #2E3252;
    margin-top: clamp(8px, calc(0.2461538462px + 2.0512820513vw), 16px);
  }
}
.wrapper:not(.front-page) .footer__tel {
  font-size: clamp(1rem, 0.53125rem + 0.9765625vw, 1.3125rem);
  line-height: 1.1904761905;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #192161;
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__tel {
    font-size: clamp(1rem, 0.0307692308rem + 4.1025641026vw, 2rem);
    line-height: 1.1875;
    letter-spacing: 0.2em;
    font-weight: 400;
    color: #2E3252;
  }
}
.wrapper:not(.front-page) .footer__company {
  display: flex;
  align-items: center;
  gap: min(30 / 1280 * 100vw, 30px);
  margin-top: min(70 / 1280 * 100vw, 70px);
}
.wrapper:not(.front-page) .footer__company-item:nth-of-type(1) {
  width: min(75 / 1280 * 100vw, 75px);
}
.wrapper:not(.front-page) .footer__company-item:nth-of-type(2) {
  width: min(94 / 1280 * 100vw, 94px);
}
.wrapper:not(.front-page) .footer__company-item:nth-of-type(3) {
  width: min(114 / 1280 * 100vw, 114px);
}
.wrapper:not(.front-page) .footer__company-item:nth-of-type(4) {
  width: min(27 / 1280 * 100vw, 27px);
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__company {
    justify-content: center;
    gap: clamp(25px, calc(0.7692307692px + 6.4102564103vw), 50px);
    margin-top: clamp(45px, calc(1.3846153846px + 11.5384615385vw), 90px);
  }
  .wrapper:not(.front-page) .footer__company-item:nth-of-type(1) {
    width: clamp(43px, calc(1.3230769231px + 11.0256410256vw), 86px);
  }
  .wrapper:not(.front-page) .footer__company-item:nth-of-type(2) {
    width: clamp(47px, calc(1.4461538462px + 12.0512820513vw), 94px);
  }
  .wrapper:not(.front-page) .footer__company-item:nth-of-type(3) {
    width: clamp(61px, calc(1.8769230769px + 15.641025641vw), 122px);
  }
  .wrapper:not(.front-page) .footer__company-item:nth-of-type(4) {
    width: clamp(16px, calc(0.4923076923px + 4.1025641026vw), 32px);
  }
}
.wrapper:not(.front-page) .footer__badge {
  width: min(179 / 1280 * 100vw, 179px);
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__badge {
    width: clamp(132px, calc(4.0615384615px + 33.8461538462vw), 264px);
  }
}
.wrapper:not(.front-page) .footer__copyright {
  text-align: center;
  padding: min(35 / 1280 * 100vw, 35px) 0 min(44 / 1280 * 100vw, 44px);
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__copyright {
    background-color: #fff;
    padding-bottom: clamp(40px, calc(-8.4615384615px + 12.8205128205vw), 90px);
    margin-top: clamp(30px, calc(0.9230769231px + 7.6923076923vw), 60px);
  }
}
.wrapper:not(.front-page) .footer__copyright small {
  font-size: clamp(0.75rem, 0.375rem + 0.78125vw, 1rem);
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 400;
  color: #192161;
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__copyright small {
    font-size: clamp(0.75rem, 0.0230769231rem + 3.0769230769vw, 1.5rem);
    line-height: 1;
    letter-spacing: 0em;
    font-weight: 400;
    color: #192161;
  }
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__wrap {
    display: flex;
    justify-content: space-between;
  }
}
@media (max-width: 768px) {
  .wrapper:not(.front-page) .footer__info {
    margin-top: clamp(45px, calc(1.3846153846px + 11.5384615385vw), 90px);
  }
}

/* ---------------------------------------------
  下層
--------------------------------------------- */
.page__title {
  font-family: var(--cammron);
  font-size: clamp(1.875rem, 1.0892461197rem + 3.3259423503vw, 3.75rem);
  line-height: 1.5;
  letter-spacing: -0.02em;
  font-weight: 500;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 100%;
  text-align: center;
}
.page__title span {
  font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "MS PMincho", "Noto Serif JP", serif;
  font-size: clamp(0.875rem, 0.7178492239rem + 0.6651884701vw, 1.25rem);
  line-height: 1;
  letter-spacing: 0.4em;
  font-weight: 300;
  display: block;
}/*# sourceMappingURL=common.css.map */