@charset "UTF-8";
/*------------------------------------------
  Base Setting
------------------------------------------*/
html {
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  background: #fff;
  color: #3e4958;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: clamp(8px, 1.25vw, 16px);
  letter-spacing: 0.1em;
  line-height: 2.0625;
  font-feature-settings: "palt";
  text-align: justify;
}

@media only screen and (max-width: 767px) {
  body {
    font-size: 4.6666666667vw;
    line-height: 1.742;
  }
}
input, select, textarea {
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

a {
  color: #3e4958;
  text-decoration: none;
  transition: opacity 0.3s;
}
a:hover {
  opacity: 0.7;
}

@media only screen and (max-width: 767px) {
  a:hover {
    opacity: 1;
  }
}
.is--tab {
  display: none;
}

.is--sp {
  display: none;
}

@media only screen and (max-width: 1024px) {
  .is--tab {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .is--pc {
    display: none;
  }
  .is--sp {
    display: block;
  }
}
.no-palt {
  font-feature-settings: normal;
}

/*------------------------------------------
  component
------------------------------------------*/
/* ========== title ========== */
.c-title01 {
  color: #1880d6;
}
.c-title01__en {
  display: block;
  letter-spacing: 0;
  font-family: "EB Garamond", serif;
  line-height: 1.1;
  font-size: clamp(35px, 5.46875vw, 70px);
  -webkit-font-smoothing: antialiased;
}
.c-title01__en.--large {
  font-size: clamp(62px, 9.765625vw, 125px);
}
.c-title01__ja {
  display: inline-block;
  font-family: "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  background: #fff;
  padding: 0 1em;
  margin-top: 0.6em;
  font-size: clamp(12px, 1.875vw, 24px);
}
.c-title01 .--white {
  color: #fff;
}
.c-title01 .--bg-blue {
  background: #1880d6;
}
.c-title01 .--bg-grad {
  background: linear-gradient(90deg, #3ab6ff 0%, #dfb5c8 100%);
}

@media only screen and (max-width: 767px) {
  .c-title01__en {
    font-size: 13.3333333333vw;
  }
  .c-title01__en.--large {
    font-size: 13.3333333333vw;
  }
  .c-title01__ja {
    font-size: 5.3333333333vw;
    margin-top: 0.4em;
  }
}
.c-title02 {
  display: inline-block;
  color: #fff;
  letter-spacing: 0;
  line-height: 1.4;
  padding: 0.3em 1em;
  font-size: clamp(15px, 2.34375vw, 30px);
  background: linear-gradient(90deg, #3ab6ff 0%, #dfb5c8 100%);
}

@media only screen and (max-width: 767px) {
  .c-title02 {
    font-size: 6.6666666667vw;
  }
}
.c-title03 {
  background: #e2e0e7;
  font-size: clamp(10px, 1.5625vw, 20px);
  font-weight: bold;
  line-height: 1.5;
  padding: 0.5em 1em 0.5em 2em;
  position: relative;
  margin-top: clamp(25px, 3.90625vw, 50px);
  margin-bottom: 1em;
}
.c-title03:first-child {
  margin-top: 0;
}
.c-title03:before {
  content: "●";
  color: #036eb7;
  position: absolute;
  top: 0.5em;
  left: 0.8em;
}

@media only screen and (max-width: 767px) {
  .c-title03 {
    font-size: 5.3333333333vw;
    padding: 0.3em 0.5em;
    padding-left: 1.8em;
    margin-top: 10.6666666667vw;
    margin-bottom: 4vw;
  }
  .c-title03:before {
    top: 0.3em;
    left: 0.5em;
  }
}
.c-title04 {
  text-align: center;
}
.c-title04__text {
  display: inline-block;
  font-size: clamp(15px, 2.34375vw, 30px);
  border-radius: 0.5em;
  line-height: 1.5;
  letter-spacing: 0;
  background: #32a1d9;
  color: #fff;
  min-width: clamp(175px, 27.34375vw, 350px);
  padding: 0.4em 1.5em;
}

@media only screen and (max-width: 767px) {
  .c-title04__text {
    font-size: 6.6666666667vw;
    min-width: 62.6666666667vw;
    border-radius: 2.1333333333vw;
    padding: 0.2em 1.5em;
  }
}
/* ========== button ========== */
.c-button01 {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: clamp(130px, 20.3125vw, 260px);
  min-height: clamp(38px, 5.9375vw, 76px);
  padding: 0 2em;
  border-radius: clamp(20px, 3.125vw, 40px);
  font-size: clamp(10px, 1.5625vw, 20px);
  line-height: 1.5;
  letter-spacing: 0;
  background: #036eb7;
  color: #fff;
  border: 1px solid #036eb7;
  position: relative;
  transition: 0.3s;
}
.c-button01:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: clamp(2px, 0.3125vw, 4px) 0 clamp(2px, 0.3125vw, 4px) clamp(5px, 0.78125vw, 10px);
  border-color: transparent transparent transparent #fff;
  position: absolute;
  right: clamp(18px, 2.8125vw, 36px);
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
.c-button01__text {
  display: inline-block;
  padding-right: 1.5em;
}
.c-button01.--back:after {
  right: auto;
  left: clamp(18px, 2.8125vw, 36px);
  transform: translateY(-50%) rotate(180deg);
}
.c-button01.--back .c-button01__text {
  padding-right: 0;
  padding-left: 1.5em;
}

@media only screen and (min-width: 769px) {
  .c-button01:hover {
    opacity: 1;
    color: #036eb7;
    background: #fff;
  }
  .c-button01:hover:after {
    border-color: transparent transparent transparent #036eb7;
  }
}
@media only screen and (max-width: 767px) {
  .c-button01 {
    min-width: 53.3333333333vw;
    min-height: 16vw;
    padding: 0 1.5em;
    border-radius: 8vw;
    font-size: 4.6666666667vw;
  }
  .c-button01:after {
    border-width: 1.0666666667vw 0 1.0666666667vw 2.6666666667vw;
    right: 6.6666666667vw;
  }
  .c-button01__text {
    padding-right: 1.2em;
  }
  .c-button01.--back:after {
    right: auto;
    left: 6.6666666667vw;
  }
  .c-button01.--back .c-button01__text {
    padding-right: 0;
    padding-left: 1.2em;
  }
}
.c-button02 {
  display: inline-block;
  padding: 0.5em 2em;
  border-radius: clamp(20px, 3.125vw, 40px);
  line-height: 1.5;
  letter-spacing: 0;
  color: #fff;
  border: 2px solid #fff;
  position: relative;
  transition: 0.3s;
}
.c-button02:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: clamp(2px, 0.3125vw, 4px) 0 clamp(2px, 0.3125vw, 4px) clamp(5px, 0.78125vw, 10px);
  border-color: transparent transparent transparent #fff;
  position: absolute;
  right: clamp(12px, 1.875vw, 24px);
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
.c-button02__text {
  display: inline-block;
  padding-right: 2em;
}

@media only screen and (min-width: 769px) {
  .c-button02:hover {
    opacity: 1;
    color: #036eb7;
    background: #fff;
  }
  .c-button02:hover:after {
    border-color: transparent transparent transparent #036eb7;
  }
}
@media only screen and (max-width: 767px) {
  .c-button02 {
    padding: 0.8em 1.5em;
    border-radius: 8vw;
    border-width: 1px;
  }
  .c-button02:after {
    border-width: 1.0666666667vw 0 1.0666666667vw 2.6666666667vw;
    right: 6.6666666667vw;
  }
}
.c-button03 {
  display: inline-block;
  padding: 0.8em 2em;
  border-radius: clamp(20px, 3.125vw, 40px);
  line-height: 1.5;
  letter-spacing: 0;
  position: relative;
  border: 2px solid #3e4958;
}
.c-button03:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: clamp(2px, 0.3125vw, 4px) 0 clamp(2px, 0.3125vw, 4px) clamp(5px, 0.78125vw, 10px);
  border-color: transparent transparent transparent #3e4958;
  position: absolute;
  right: clamp(12px, 1.875vw, 24px);
  top: 50%;
  transform: translateY(-50%);
}
.c-button03__text {
  display: inline-block;
  padding-right: 2em;
}
.c-button03.--blue {
  background: #ecf6ff;
  border: none;
}
.c-button03.--beige {
  background: #ece9e2;
  border: none;
}

@media only screen and (max-width: 767px) {
  .c-button03 {
    padding: 0.8em 1.5em;
    border-radius: 8vw;
  }
  .c-button03:after {
    border-width: 1.0666666667vw 0 1.0666666667vw 2.6666666667vw;
    right: 6.6666666667vw;
  }
}
.c-button04 {
  display: inline-block;
  padding: 0.6em 2em;
  border-radius: clamp(20px, 3.125vw, 40px);
  line-height: 1.5;
  letter-spacing: 0;
  border: 2px solid #3e4958;
  position: relative;
  transition: 0.3s;
}
.c-button04:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: clamp(2px, 0.3125vw, 4px) 0 clamp(2px, 0.3125vw, 4px) clamp(5px, 0.78125vw, 10px);
  border-color: transparent transparent transparent #3e4958;
  position: absolute;
  right: clamp(12px, 1.875vw, 24px);
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
.c-button04__text {
  display: inline-block;
  padding-right: 2em;
}

@media only screen and (min-width: 769px) {
  .c-button04:hover {
    opacity: 1;
    color: #fff;
    background: #3e4958;
  }
  .c-button04:hover:after {
    border-color: transparent transparent transparent #fff;
  }
}
@media only screen and (max-width: 767px) {
  .c-button04 {
    padding: 0.9em 1.5em;
    border-radius: 8vw;
    border-width: 1px;
  }
  .c-button04:after {
    border-width: 1.0666666667vw 0 1.0666666667vw 2.6666666667vw;
    right: 6.6666666667vw;
  }
}
.c-button05 {
  display: inline-block;
  padding: 0.6em 2em;
  border-radius: clamp(20px, 3.125vw, 40px);
  line-height: 1.5;
  letter-spacing: 0;
  border: 2px solid #9fa4aa;
  position: relative;
  transition: 0.3s;
}
.c-button05:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: clamp(2px, 0.3125vw, 4px) 0 clamp(2px, 0.3125vw, 4px) clamp(5px, 0.78125vw, 10px);
  border-color: transparent transparent transparent #3e4958;
  position: absolute;
  right: clamp(12px, 1.875vw, 24px);
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
.c-button05__text {
  display: inline-block;
  padding-right: 2em;
}

@media only screen and (min-width: 769px) {
  .c-button05:hover {
    opacity: 1;
    color: #fff;
    background: #3e4958;
  }
  .c-button05:hover:after {
    border-color: transparent transparent transparent #fff;
  }
}
@media only screen and (max-width: 767px) {
  .c-button05 {
    padding: 0.9em 1.5em;
    border-radius: 8vw;
    border: none;
    background: #fff;
  }
  .c-button05:after {
    border-width: 1.0666666667vw 0 1.0666666667vw 2.6666666667vw;
    right: 6.6666666667vw;
  }
}
/* ========== table ========== */
/* ========== text ========== */
.c-text01 {
  font-family: "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: clamp(10px, 1.5625vw, 20px);
}

@media only screen and (max-width: 767px) {
  .c-text01 {
    font-size: 4.6666666667vw;
  }
}
.c-text02 {
  border-bottom: 1px solid #79b5dc;
  margin: clamp(15px, 2.34375vw, 30px) 0 clamp(20px, 3.125vw, 40px);
  padding-bottom: clamp(15px, 2.34375vw, 30px);
}
.c-text02:first-child {
  margin-top: 0;
}

@media only screen and (max-width: 767px) {
  .c-text02 {
    margin: 8vw 0 6.4vw;
    padding-bottom: 4vw;
  }
}
.c-text03 {
  margin: clamp(15px, 2.34375vw, 30px) 0;
}
.c-text03:first-child {
  margin-top: 0;
}
.c-text03:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
  .c-text03 {
    margin: 8vw 0;
  }
}
.c-text04 {
  text-align: center;
  margin: clamp(15px, 2.34375vw, 30px) 0;
}
.c-text04:first-child {
  margin-top: 0;
}
.c-text04:last-child {
  margin-bottom: 0;
}
.c-text04 .marker {
  font-weight: bold;
  font-size: 125%;
}

@media only screen and (max-width: 767px) {
  .c-text04 {
    text-align: left;
    margin: 8vw 0;
  }
  .c-text04 .marker {
    font-size: 114%;
  }
}
.c-text05 {
  margin-bottom: 1em;
  font-weight: bold;
  color: #036eb7;
  background: rgba(217, 73, 119, 0.15);
  padding: 1em;
}
.c-text05:last-child {
  margin-bottom: 0;
}

/* ========== image ========== */
.c-image01 {
  text-align: center;
  margin: 2em 0;
}
.c-image01:first-child {
  margin-top: 0;
}
.c-image01:last-child {
  margin-bottom: 0;
}
.c-image01 img {
  width: clamp(278px, 43.359375vw, 555px);
}

@media only screen and (max-width: 767px) {
  .c-image01 img {
    width: 90%;
  }
}
/* ========== block ========== */
.c-block01 {
  margin-bottom: clamp(5px, 0.78125vw, 10px);
  border: clamp(2.5px, 0.390625vw, 5px) solid rgba(58, 182, 255, 0.2);
}
.c-block01:last-child {
  margin-bottom: 0;
}
.c-block01__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  background: rgba(58, 182, 255, 0.2);
  color: #036eb7;
  padding: 0.6em clamp(20px, 3.125vw, 40px);
  line-height: 1.65;
}
.c-block01__head .head-title {
  font-size: clamp(10px, 1.5625vw, 20px);
}
.c-block01__head .head-text {
  text-align: right;
}
.c-block01__head .head-text strong {
  font-size: clamp(10px, 1.5625vw, 20px);
}
.c-block01__head .head-text .sub {
  font-size: clamp(8px, 1.25vw, 16px);
}
.c-block01__head.--no-contents {
  background: #fff;
}
.c-block01__contents {
  padding: 1em clamp(20px, 3.125vw, 40px);
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.c-block01__text {
  width: 74%;
}
.c-block01__text .spec {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1em 2em;
  color: #036eb7;
  line-height: 1.1;
  margin-bottom: 1em;
}
.c-block01__text .spec__label {
  border: 1px solid #036eb7;
  padding: 0.4em 1em 0.3em;
}
.c-block01__text .spec__icon {
  font-size: clamp(15px, 2.34375vw, 30px);
}
.c-block01__text .spec p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1em;
}
.c-block01__image {
  width: 17%;
}
.c-block01__image.--frame {
  background: rgba(58, 182, 255, 0.2);
  padding: 1.4em;
}

@media only screen and (max-width: 767px) {
  .c-block01 {
    margin-bottom: 2.6666666667vw;
    border-width: 1.3333333333vw;
  }
  .c-block01__head {
    padding: 0.5em 2.6666666667vw;
    flex-wrap: wrap;
  }
  .c-block01__head .head-title {
    font-size: 5.3333333333vw;
    width: 100%;
  }
  .c-block01__head .head-text {
    margin-left: auto;
    text-align: left;
    font-size: 4vw;
  }
  .c-block01__head .head-text strong {
    font-size: 5.3333333333vw;
  }
  .c-block01__head .head-text .sub {
    font-size: 4.6666666667vw;
  }
  .c-block01__head.--no-contents {
    padding-top: 1em;
    padding-bottom: 1em;
  }
  .c-block01__head.--no-contents .head-title {
    margin-bottom: 0.5em;
  }
  .c-block01__head.--no-contents .head-text {
    width: 100%;
  }
  .c-block01__contents {
    padding: 3.2vw 2.6666666667vw 6.4vw;
  }
  .c-block01__text {
    width: 100%;
    -ms-order: 2;
    order: 2;
  }
  .c-block01__text .spec {
    justify-content: center;
    gap: 0.8em;
  }
  .c-block01__text .spec__icon {
    font-size: 6.6666666667vw;
  }
  .c-block01__text .spec p {
    gap: 0.3em;
  }
  .c-block01__image {
    width: 26.6666666667vw;
    margin: 0 auto 5.3333333333vw;
    -ms-order: 1;
    order: 1;
  }
  .c-block01__image.--frame {
    padding: 6.4vw;
  }
}
.c-block02 {
  position: relative;
  border-top: 1px solid #79b5dc;
  padding: 1.5em clamp(22px, 3.4375vw, 44px) 2.5em;
}
.c-block02__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  color: #036eb7;
  line-height: 1.65;
}
.c-block02__head .head-title {
  font-size: clamp(10px, 1.5625vw, 20px);
}
.c-block02__head .head-text {
  text-align: right;
}
.c-block02__head .head-text strong {
  font-size: clamp(10px, 1.5625vw, 20px);
}
.c-block02__head .head-text .sub {
  font-size: clamp(8px, 1.25vw, 16px);
}
.c-block02__contents {
  margin-top: 1em;
}

@media only screen and (max-width: 767px) {
  .c-block02 {
    padding: 1em;
  }
  .c-block02__head {
    flex-wrap: wrap;
  }
  .c-block02__head .head-title {
    width: 100%;
    font-size: 5.3333333333vw;
  }
  .c-block02__head .head-text {
    text-align: left;
    margin-left: auto;
    font-size: 4vw;
  }
  .c-block02__head .head-text strong {
    font-size: 5.3333333333vw;
  }
  .c-block02__head .head-text .sub {
    font-size: 4.6666666667vw;
  }
  .c-block02__contents {
    margin-top: 0.5em;
  }
}
.c-block03 {
  margin-top: 2em;
  padding-top: 2em;
  border-top: 1px solid #79b5dc;
}
.c-block03__title {
  font-weight: bold;
  font-size: clamp(10px, 1.5625vw, 20px);
  line-height: 1.65;
  margin-bottom: 0.3em;
}

@media only screen and (max-width: 767px) {
  .c-block03 {
    margin-top: 1em;
    padding-top: 1em;
  }
  .c-block03__title {
    font-size: 5.3333333333vw;
  }
}
.c-block04 {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  border-bottom: 1px solid #79b5dc;
  margin-bottom: clamp(20px, 3.125vw, 40px);
  padding-bottom: clamp(20px, 3.125vw, 40px);
  gap: 5%;
}
.c-block04:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.c-block04.--no-border {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.c-block04__image {
  width: 22%;
}
.c-block04__text {
  flex: 1;
  margin-left: auto;
}
.c-block04__text strong {
  color: #036eb7;
}
.c-block04__text > p:not([class]) {
  margin-bottom: 1em;
}
.c-block04__text > p:not([class]):last-child {
  margin-bottom: 0;
}
.c-block04__title {
  font-weight: bold;
  font-size: 125%;
}
.c-block04__title .marker {
  background: #e9e27a;
}
.c-block04__title.--serif {
  font-family: "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  line-height: 1.35;
  font-size: clamp(17px, 2.65625vw, 34px);
  font-weight: normal;
  margin-bottom: 0.5em;
}
.c-block04__button {
  text-align: right;
  margin-top: 1.5em;
}
.c-block04__list {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  border-top: 1px solid #79b5dc;
}
.c-block04__list .c-block04 {
  width: 50%;
  margin-bottom: 0;
  padding: clamp(15px, 2.34375vw, 30px) 0;
}
.c-block04__list .c-block04:nth-child(odd) {
  padding-right: clamp(15px, 2.34375vw, 30px);
}
.c-block04__list .c-block04:nth-child(even) {
  border-left: 1px solid #79b5dc;
  padding-left: clamp(15px, 2.34375vw, 30px);
}
.c-block04__list .c-block04:last-child {
  border-bottom: 1px solid #79b5dc;
  padding-bottom: clamp(15px, 2.34375vw, 30px);
}
.c-block04__list .c-block04.--large {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
}

@media only screen and (max-width: 767px) {
  .c-block04 {
    margin-bottom: 8vw;
    padding-bottom: 8vw;
    gap: 1em;
  }
  .c-block04__image {
    width: 100%;
    text-align: center;
    -ms-order: 1;
    order: 1;
  }
  .c-block04__image img {
    width: 25.3333333333vw;
  }
  .c-block04__text {
    width: 100%;
    -ms-order: 2;
    order: 2;
  }
  .c-block04__title {
    font-size: 114%;
    margin-bottom: 0.2em;
  }
  .c-block04__title.--serif {
    font-size: 6.6666666667vw;
  }
  .c-block04__button {
    text-align: center;
  }
  .c-block04__list .c-block04 {
    width: 100%;
    padding: 4vw 0;
  }
  .c-block04__list .c-block04:nth-child(odd) {
    padding-right: 0;
  }
  .c-block04__list .c-block04:nth-child(even) {
    border-left: none;
    padding-left: 0;
  }
  .c-block04__list .c-block04:last-child {
    padding-bottom: 4vw;
  }
}
.c-block05 {
  background: rgba(58, 182, 255, 0.15);
  border-radius: 5px;
  padding: 1.5em;
  margin-top: clamp(15px, 2.34375vw, 30px);
}
.c-block05 + .c-block05 {
  margin-top: clamp(5px, 0.78125vw, 10px);
}
.c-block05:first-child {
  margin-top: 0;
}
.c-block05__title {
  font-weight: bold;
  color: #036eb7;
  font-size: 125%;
}

@media only screen and (max-width: 767px) {
  .c-block05 {
    border-radius: 0.6666666667vw;
    padding: 1em;
    margin-top: 8vw;
  }
  .c-block05 + .c-block05 {
    margin-top: 4vw;
  }
  .c-block05__title {
    font-size: 114%;
  }
}
.c-block06 {
  position: relative;
  border: 0.4em solid rgba(58, 182, 255, 0.2);
  background: #fff;
  padding: clamp(15px, 2.34375vw, 30px) clamp(20px, 3.125vw, 40px) clamp(20px, 3.125vw, 40px);
}
.c-block06.--has-arrow {
  margin-bottom: clamp(18px, 2.734375vw, 35px);
}
.c-block06.--has-arrow:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 1em;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: clamp(7.5px, 1.171875vw, 15px) clamp(5.5px, 0.859375vw, 11px) 0 clamp(5.5px, 0.859375vw, 11px);
  border-color: #036eb7 transparent transparent transparent;
}
.c-block06__title {
  font-weight: bold;
  color: #036eb7;
  font-size: 125%;
  margin-bottom: 1em;
}
.c-block06__inner {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  gap: 6%;
}
.c-block06__image {
  width: 24%;
}
.c-block06__text {
  flex: 1;
}
.c-block06__text strong {
  color: #036eb7;
}

@media only screen and (max-width: 767px) {
  .c-block06 {
    border-width: 1.8666666667vw;
    padding: 5.3333333333vw 5.3333333333vw 8vw;
  }
  .c-block06.--has-arrow {
    margin-bottom: 12vw;
  }
  .c-block06.--has-arrow:after {
    border-width: 5.8666666667vw 4.2666666667vw 0 4.2666666667vw;
  }
  .c-block06__title {
    font-size: 114%;
  }
  .c-block06__inner {
    display: -moz-flex;
    display: flex;
    -ms-flex-pack: justify;
    flex-wrap: wrap;
  }
  .c-block06__image {
    width: 100%;
    text-align: center;
    margin-bottom: 1em;
  }
  .c-block06__image img {
    width: 25.3333333333vw;
  }
  .c-block06__text {
    width: 100%;
  }
}
/* ========== list ========== */
.c-list01 {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  gap: 0.5em 4%;
  margin-top: clamp(15px, 2.34375vw, 30px);
}
.c-list01:first-child {
  margin-top: 0;
}
.c-list01 li {
  width: 48%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: clamp(5px, 0.78125vw, 10px);
  min-height: clamp(28px, 4.296875vw, 55px);
  background: rgba(58, 182, 255, 0.2);
  font-weight: bold;
  color: #036eb7;
  line-height: 1.5;
  padding: 0.6em 0;
}

@media only screen and (max-width: 767px) {
  .c-list01 {
    gap: 0.5em;
    margin-top: 8vw;
  }
  .c-list01 li {
    width: 100%;
    border-radius: 1.3333333333vw;
    min-height: 20vw;
  }
}
.c-list02 {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  gap: clamp(20px, 3.125vw, 40px) clamp(20px, 3.125vw, 40px);
  margin-top: clamp(15px, 2.34375vw, 30px);
  justify-content: center;
}
.c-list02:first-child {
  margin-top: 0;
}
.c-list02 li {
  width: clamp(92.5px, 14.453125vw, 185px);
}

@media only screen and (max-width: 767px) {
  .c-list02 {
    gap: 5.3333333333vw;
    margin-top: 8vw;
  }
  .c-list02 li {
    width: 24.6666666667vw;
  }
}
.c-list03 {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  gap: clamp(10px, 1.5625vw, 20px) 2%;
  margin-top: clamp(15px, 2.34375vw, 30px);
}
.c-list03:first-child {
  margin-top: 0;
}
.c-list03__item {
  width: 32%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(117px, 18.28125vw, 234px);
  text-align: center;
}
.c-list03__item.--bg01 {
  background: rgba(217, 73, 119, 0.2);
  color: #036eb7;
}
.c-list03__item.--bg02 {
  background: rgba(3, 110, 183, 0.7);
  color: #fff;
}
.c-list03__item.--bg03 {
  background: #49b3e5;
  color: #fff;
}
.c-list03__item.--bg04 {
  background: rgba(96, 97, 194, 0.8);
  color: #fff;
}
.c-list03__illust img {
  width: clamp(33px, 5.15625vw, 66px);
}
.c-list03__text {
  margin-top: 1em;
  min-height: 4em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .c-list03 {
    margin-top: 8vw;
    gap: 1em;
  }
  .c-list03__item {
    width: 100%;
    min-height: 45.3333333333vw;
    padding: 1em 0;
  }
  .c-list03__illust img {
    width: 13.3333333333vw;
  }
  .c-list03__text {
    min-height: auto;
    margin-top: 0.5em;
  }
}
.c-list04 {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  gap: clamp(20px, 3.125vw, 40px) 5%;
  margin-top: clamp(25px, 3.90625vw, 50px);
}
.c-list04:first-child {
  margin-top: 0;
}
.c-list04__item {
  width: 30%;
  text-align: center;
}
.c-list04__image {
  padding: 2em;
  background: rgba(58, 182, 255, 0.2);
}
.c-list04__text {
  font-weight: bold;
  margin-top: 0.5em;
}

@media only screen and (max-width: 767px) {
  .c-list04 {
    gap: 8vw;
    margin-top: 8vw;
  }
  .c-list04__item {
    width: 100%;
  }
  .c-list04__image {
    width: 60%;
    margin: auto;
    padding: 2.5em;
  }
  .c-list04__text {
    font-weight: bold;
    margin-top: 0.5em;
  }
}
.c-list05 {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  padding: 0 1em;
  gap: clamp(15px, 2.34375vw, 30px) 4%;
}
.c-list05__item {
  width: 48%;
  background: rgba(58, 182, 255, 0.2);
  padding: clamp(17px, 2.734375vw, 35px) clamp(17px, 2.734375vw, 35px) clamp(20px, 3.125vw, 40px);
}
.c-list05__title {
  font-size: 125%;
  font-weight: bold;
  line-height: 1.7;
}
.c-list05__text {
  min-height: 3.5em;
}
.c-list05__image {
  text-align: center;
  margin-top: 1em;
}
.c-list05__image img {
  width: clamp(93px, 14.53125vw, 186px);
}

@media only screen and (max-width: 767px) {
  .c-list05 {
    padding: 0;
    gap: 1.3333333333vw;
  }
  .c-list05__item {
    width: 100%;
    padding: 1em 1em 1.5em;
  }
  .c-list05__title {
    font-size: 114%;
  }
  .c-list05__text {
    min-height: auto;
  }
  .c-list05__image img {
    width: 24.8vw;
  }
}
/* ========== newslist ========== */
.c-newslist {
  border-top: 1px solid #79b5dc;
}
.c-newslist li {
  border-bottom: 1px solid #79b5dc;
  padding: 0 0.5em;
}
.c-newslist a {
  display: flex;
  min-height: clamp(34px, 5.3125vw, 68px);
  align-items: center;
  gap: 2em;
  padding: 0.5em 0;
  line-height: 1.5;
}
.c-newslist__date {
  font-size: 87.5%;
}
.c-newslist__text {
  flex: 1;
}

@media only screen and (max-width: 767px) {
  .c-newslist li {
    padding: 0;
  }
  .c-newslist a {
    display: block;
    min-height: auto;
    padding: 1em 0;
  }
  .c-newslist__date {
    width: 100%;
    margin-bottom: 0.3em;
  }
}
/* ========== faq ========== */
.c-faq {
  width: clamp(540px, 84.375vw, 1080px);
  margin: auto;
}
.c-faq__title {
  margin-bottom: clamp(15px, 2.34375vw, 30px);
}
.c-faq__item {
  background: #fff;
  border-radius: clamp(5px, 0.78125vw, 10px);
  margin-bottom: 0.8em;
  overflow: hidden;
}
.c-faq__item:last-child {
  margin-bottom: 0;
}
.c-faq__question {
  min-height: clamp(42px, 6.5625vw, 84px);
  display: flex;
  align-items: center;
  padding: 1em 0;
  position: relative;
}
.c-faq__question.is--active .c-faq__questionIcon:after {
  opacity: 0;
}
.c-faq__questionLabel {
  padding: 0 clamp(50px, 7.8125vw, 100px);
  font-size: 125%;
  color: #036eb7;
  line-height: 1.7;
}
.c-faq__questionMark {
  position: absolute;
  top: 0.6em;
  left: 1.3em;
  font-size: clamp(14px, 2.109375vw, 27px);
  width: clamp(25px, 3.90625vw, 50px);
  height: clamp(25px, 3.90625vw, 50px);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0768ab;
  color: #fff;
  font-family: "EB Garamond", serif;
  border-radius: 50%;
}
.c-faq__questionIcon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: clamp(15px, 2.34375vw, 30px);
  width: clamp(15px, 2.34375vw, 30px);
  height: clamp(15px, 2.34375vw, 30px);
}
.c-faq__questionIcon:before, .c-faq__questionIcon:after {
  content: "";
  position: absolute;
  background: #0768ab;
}
.c-faq__questionIcon:before {
  height: 2px;
  width: 100%;
  left: 0;
  top: 50%;
  margin-top: -1px;
}
.c-faq__questionIcon:after {
  height: 100%;
  width: 2px;
  top: 0;
  left: 50%;
  margin-left: -1px;
  transition: opacity 0.3s;
}
.c-faq__answer p {
  background: rgba(58, 182, 255, 0.15);
  border-radius: 5px;
  padding: 1em 1.5em;
}
.c-faq__answerInner {
  padding: 0 clamp(50px, 7.8125vw, 100px) 1.5em;
}

@media only screen and (max-width: 767px) {
  .c-faq {
    width: 100%;
  }
  .c-faq__title {
    margin-bottom: 1em;
  }
  .c-faq__item {
    border-radius: 1.3333333333vw;
    margin-bottom: 0.5em;
  }
  .c-faq__question {
    min-height: auto;
  }
  .c-faq__questionLabel {
    padding: 0 16vw;
    font-size: 100%;
  }
  .c-faq__questionMark {
    top: 2.6666666667vw;
    left: 2.6666666667vw;
    font-size: 5.6vw;
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
  .c-faq__questionIcon {
    right: 6.6666666667vw;
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
  .c-faq__answer p {
    padding: 1em;
  }
  .c-faq__answerInner {
    padding: 0 2.6666666667vw 2.6666666667vw;
  }
}
/* ========== trouble ========== */
.c-trouble {
  position: relative;
}
.c-trouble__image {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(125px, 19.53125vw, 250px);
}
.c-trouble__text {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: clamp(24px, 3.75vw, 48px);
}
.c-trouble__text.--center {
  justify-content: center;
}
.c-trouble__text:first-child {
  margin-top: 0;
}
.c-trouble__textBox {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: clamp(5px, 0.78125vw, 10px);
  position: relative;
  overflow: hidden;
  background: rgba(58, 182, 255, 0.2);
  width: clamp(140px, 21.875vw, 280px);
  height: clamp(50px, 7.8125vw, 100px);
  padding: 0 1em;
  font-weight: bold;
  font-size: 125%;
  line-height: 1.65;
  text-align: left;
}
.c-trouble__textBox p {
  position: relative;
  z-index: 1;
}
.c-trouble__textBox.--warning:before {
  content: "";
  width: clamp(140px, 21.875vw, 280px);
  height: clamp(140px, 21.875vw, 280px);
  border-radius: 50%;
  position: absolute;
  background: radial-gradient(circle, #ff5a66 0%, rgba(255, 90, 102, 0) 100%);
  filter: blur(30px);
}
.c-trouble__textBox.--box01:before {
  left: 60%;
  top: -30%;
}
.c-trouble__textBox.--box02:before {
  right: 60%;
  top: -30%;
}
.c-trouble__textBox.--box03:before {
  left: 60%;
  bottom: -30%;
}
.c-trouble__textBox.--box04:before {
  right: 60%;
  bottom: -30%;
}
.c-trouble__lead {
  text-align: center;
}
.c-trouble__lead p {
  display: inline-block;
  color: #fff;
  background: #ff5a66;
  padding: 0.2em 1.5em;
  font-size: clamp(15px, 2.34375vw, 30px);
  border-radius: clamp(5px, 0.78125vw, 10px);
  position: relative;
}
.c-trouble__lead p:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: clamp(10px, 1.5625vw, 20px) clamp(5px, 0.78125vw, 10px) 0 clamp(5px, 0.78125vw, 10px);
  border-color: #ff5a66 transparent transparent transparent;
}
.c-trouble__summary {
  text-align: center;
  font-weight: bold;
  color: #036eb7;
  font-size: 125%;
  margin-top: 2em;
}

@media only screen and (max-width: 767px) {
  .c-trouble__image {
    position: static;
    transform: translate(0);
    width: 100%;
    text-align: center;
    margin-bottom: 0.5em;
  }
  .c-trouble__image img {
    width: 33.3333333333vw;
  }
  .c-trouble__text {
    gap: 1.3333333333vw;
    margin-top: 1.3333333333vw;
  }
  .c-trouble__textBox {
    width: 100%;
    height: 20vw;
    padding: 0;
    font-size: 114%;
    letter-spacing: 0;
  }
  .c-trouble__textBox.--warning:before {
    width: 34.6666666667vw;
    height: 34.6666666667vw;
    border-radius: 50%;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    background: radial-gradient(circle, rgba(255, 90, 102, 0.7) 0%, rgba(255, 90, 102, 0) 100%);
    filter: blur(30px);
  }
  .c-trouble__lead {
    margin-bottom: 5.3333333333vw;
  }
  .c-trouble__lead p {
    padding: 0.2em 0.5em;
    font-size: 6.6666666667vw;
    border-radius: 1.3333333333vw;
  }
  .c-trouble__lead p:after {
    border-width: 2.6666666667vw 1.3333333333vw 0 1.3333333333vw;
  }
  .c-trouble__summary {
    font-size: 114%;
    margin-top: 1em;
  }
}
/* ========== comparison ========== */
.c-comparison {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  gap: 2%;
}
.c-comparison__block {
  width: 49%;
  position: relative;
}
.c-comparison__block.--blue {
  background: rgba(24, 128, 214, 0.15);
}
.c-comparison__block.--blue .c-comparison__blockHead {
  background: rgba(24, 128, 214, 0.6);
}
.c-comparison__block.--pink {
  background: rgba(217, 73, 119, 0.15);
}
.c-comparison__block.--pink .c-comparison__blockHead {
  background: rgba(217, 73, 119, 0.75);
}
.c-comparison__blockHead {
  min-height: 80px;
  padding: 0.3em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 125%;
  font-weight: bold;
  line-height: 1.65;
  color: #fff;
}
.c-comparison__blockContents {
  padding: 1em 1.5em;
}
.c-comparison__box {
  position: relative;
  border-bottom: 1px solid #fff;
  padding: 0 0 1em;
  margin-bottom: 0.5em;
}
.c-comparison__box:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.c-comparison__box.--check {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  gap: 8%;
  align-items: center;
  padding-bottom: 0.5em;
}
.c-comparison__box.--check:last-child {
  padding-bottom: 0;
}
.c-comparison__box.--check > * {
  width: 46%;
}
.c-comparison__boxLabel {
  background: #fff;
  display: inline-block;
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
  min-width: clamp(57px, 8.90625vw, 114px);
}
.c-comparison__boxIcon {
  text-align: center;
  line-height: 1.1;
  font-size: clamp(15px, 2.34375vw, 30px);
  font-weight: bold;
}
.c-comparison__boxIcon.--pink {
  color: #d94977;
}
.c-comparison__boxText {
  margin-top: 0.5em;
}
.c-comparison__boxText strong {
  font-size: 125%;
  color: #036eb7;
}

@media only screen and (max-width: 767px) {
  .c-comparison {
    gap: 6.6666666667vw;
  }
  .c-comparison__block {
    width: 100%;
  }
  .c-comparison__blockHead {
    min-height: auto;
    font-size: 114%;
  }
  .c-comparison__blockContents {
    padding: 1em;
  }
  .c-comparison__box.--check {
    gap: 0.5em;
    justify-content: center;
  }
  .c-comparison__box.--check > * {
    width: 80%;
  }
  .c-comparison__boxLabel {
    min-width: 33.3333333333vw;
  }
  .c-comparison__boxIcon {
    font-size: 6.6666666667vw;
  }
  .c-comparison__boxText {
    margin-top: 0.3em;
  }
  .c-comparison__boxText strong {
    font-size: 114%;
  }
}
/* ========== card ========== */
.c-card {
  position: relative;
}
.c-card__inner {
  display: block;
  height: 100%;
  position: relative;
  background: #fff;
  border-radius: clamp(10px, 1.5625vw, 20px);
  padding: clamp(15px, 2.34375vw, 30px) clamp(15px, 2.34375vw, 30px) clamp(40px, 6.25vw, 80px);
}
.c-card__image {
  height: clamp(100px, 15.625vw, 200px);
  margin-bottom: 1em;
}
.c-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.c-card__head {
  margin-bottom: 1em;
}
.c-card__headDate {
  font-size: 87.5%;
  line-height: 1.5;
  letter-spacing: 0;
}
.c-card__headCategory {
  margin-top: 0.5em;
}
.c-card__title {
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 0.5em;
  letter-spacing: 0;
}
.c-card__text {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.c-card__button {
  position: absolute;
  bottom: clamp(15px, 2.34375vw, 30px);
  right: clamp(15px, 2.34375vw, 30px);
  width: clamp(75px, 11.71875vw, 150px);
  padding: 0.4em 1.5em;
  border-radius: clamp(20px, 3.125vw, 40px);
  line-height: 1.5;
  letter-spacing: 0;
  border: 2px solid #9da4aa;
  transition: 0.3s;
}
.c-card__button:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: clamp(2px, 0.3125vw, 4px) 0 clamp(2px, 0.3125vw, 4px) clamp(5px, 0.78125vw, 10px);
  border-color: transparent transparent transparent #3e4958;
  position: absolute;
  right: clamp(10px, 1.5625vw, 20px);
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}

@media only screen and (min-width: 769px) {
  .c-card__inner:hover {
    opacity: 1;
  }
  .c-card__inner:hover .c-card__button {
    background: #3e4958;
    color: #fff;
  }
  .c-card__inner:hover .c-card__button:after {
    border-color: transparent transparent transparent #fff;
  }
}
@media only screen and (max-width: 767px) {
  .c-card__inner {
    border-radius: 2.6666666667vw;
    padding: 6.6666666667vw;
  }
  .c-card__image {
    height: 48vw;
  }
  .c-card__headDate {
    font-size: 100%;
  }
  .c-card__text {
    -webkit-line-clamp: 2;
  }
  .c-card__button {
    position: relative;
    left: 0;
    top: 0;
    width: 42.6666666667vw;
    margin: 1em auto 0;
    padding: 0.9em 1.5em;
    border-radius: 16vw;
    border-width: 1px;
  }
  .c-card__button:after {
    border-width: 1.0666666667vw 0 1.0666666667vw 2.6666666667vw;
    right: 6.6666666667vw;
  }
}
/* ========== category ========== */
.c-category {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  gap: 0.5em;
}
.c-category__item {
  letter-spacing: 0;
  line-height: 1.5;
  font-size: clamp(7px, 1.015625vw, 13px);
  min-width: clamp(75px, 11.71875vw, 150px);
  color: #3e4958;
  background: #ece9e2;
  padding: 0.2em 1em;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-category {
    display: -moz-flex;
    display: flex;
    -ms-flex-pack: justify;
    flex-wrap: wrap;
    gap: 0.5em;
  }
  .c-category__item {
    font-size: 4vw;
    min-width: 38.9333333333vw;
  }
}
/* ========== system ========== */
.c-system {
  text-align: center;
  padding: 3em 0;
}
.c-system__title {
  font-size: clamp(15px, 2.34375vw, 30px);
  font-weight: bold;
  color: #036eb7;
  margin-bottom: 1em;
}
.c-system__button {
  margin-top: 5em;
}

@media only screen and (max-width: 767px) {
  .c-system {
    padding: 2em 0 0;
  }
  .c-system__title {
    font-size: 6.6666666667vw;
  }
  .c-system__text {
    text-align: left;
  }
  .c-system__button {
    margin-top: 1.5em;
  }
}
/* ========== other ========== */
.indent-1 {
  text-indent: -1em;
  padding-left: 1em;
  font-feature-settings: normal;
}

.marker {
  background: #e9e27a;
}

.js-acTrigger {
  cursor: pointer;
}

.js-acHide {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s ease-out;
}

/* ========== animation ========== */
.ani-float {
  position: absolute;
  width: clamp(190px, 29.765625vw, 381px);
  animation: float 5s infinite;
  z-index: -1;
}

@media only screen and (max-width: 767px) {
  .ani-float {
    width: 50.6666666667vw;
  }
}
@keyframes float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(1.5em);
  }
  100% {
    transform: translateY(0);
  }
}
.--delay2_5 {
  animation-delay: 2.5s;
}

.fadeInUp {
  opacity: 0;
  transform: translateY(2em);
}
.fadeInUp.js-scr-active {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s, transform 0.6s;
}

/*------------------------------------------
  layout
------------------------------------------*/
.l-wrapper {
  position: relative;
}

.l-mian {
  position: relative;
}

.l-flex {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
}

.l-inner {
  position: relative;
  margin: auto;
  max-width: clamp(610px, 95.3125vw, 1220px);
}

@media only screen and (max-width: 767px) {
  .l-inner {
    padding: 0 6.4vw;
  }
}
.l-pagehead__inner {
  position: relative;
  height: clamp(275px, 42.96875vw, 550px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-pagehead__text {
  text-align: center;
  position: relative;
  z-index: 10;
}
.l-pagehead__title {
  display: inline-block;
  background: linear-gradient(90deg, #3ab6ff 0%, #dfb5c8 100%);
  color: #fff;
  font-family: "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: clamp(22px, 3.515625vw, 45px);
  line-height: 1.2;
  padding: 0.1em 1.6em;
}
.l-pagehead__lead {
  color: #fff;
  font-weight: bold;
  font-size: clamp(11px, 1.71875vw, 22px);
  line-height: 1.6;
  margin-top: 1em;
}
.l-pagehead__visual {
  overflow: hidden;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.l-pagehead__visual picture {
  width: 100%;
  height: 100%;
}
.l-pagehead__visual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media only screen and (max-width: 767px) {
  .l-pagehead__inner {
    height: 103.4666666667vw;
  }
  .l-pagehead__title {
    font-size: 8.5333333333vw;
    padding: 0.1em 0.5em;
  }
  .l-pagehead__lead {
    background: #036eb7;
    font-size: 4vw;
    margin-top: 0;
    padding: 1em 1.5em;
  }
}
.l-breadcrumb {
  background: #fff;
}
.l-breadcrumb__list {
  padding: 1.3em clamp(22px, 3.4375vw, 44px);
  font-size: 87.5%;
  line-height: 1.6;
  letter-spacing: 0;
}
.l-breadcrumb li {
  display: inline;
}
.l-breadcrumb li:after {
  content: "＞";
  padding: 0 0.5em;
}
.l-breadcrumb li:last-child:after {
  content: none;
}
.l-breadcrumb a {
  text-decoration: underline;
}

@media only screen and (max-width: 767px) {
  .l-breadcrumb__list {
    padding: 1em 5.8666666667vw;
    font-size: 4vw;
  }
  .l-breadcrumb__list li:after {
    padding: 0;
  }
}
.l-fixedNav {
  position: sticky;
  bottom: 0;
  left: 0;
  z-index: 900;
}
.l-fixedNav__list {
  display: flex;
  justify-content: center;
  gap: 0 clamp(7px, 1.09375vw, 14px);
  padding: clamp(15px, 2.34375vw, 30px) 0;
}
.l-fixedNav__button {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #036eb7;
  letter-spacing: 0;
  gap: 0.6em;
  width: clamp(107px, 16.71875vw, 214px);
  height: clamp(24px, 3.75vw, 48px);
  background: #fff;
  border-radius: clamp(12px, 1.875vw, 24px);
  box-shadow: 0px 0px 0px clamp(2px, 0.3125vw, 4px) rgba(3, 110, 183, 0.5);
}
.l-fixedNav__button img {
  width: auto;
}
.l-fixedNav__button.--web img {
  height: clamp(10px, 1.5625vw, 20px);
}
.l-fixedNav__button.--contact img {
  height: clamp(10.5px, 1.640625vw, 21px);
}

@media only screen and (max-width: 767px) {
  .l-fixedNav__list {
    gap: 0 2%;
    padding: 3.2vw 3.7333333333vw;
    background: rgba(62, 73, 88, 0.9);
  }
  .l-fixedNav__button {
    gap: 0.6em;
    width: 49%;
    height: 12.8vw;
    border-radius: 6.4vw;
    box-shadow: none;
    font-size: 3.6vw;
  }
  .l-fixedNav__button.--web img {
    height: 4.1333333333vw;
  }
  .l-fixedNav__button.--contact img {
    height: 4.2666666667vw;
  }
}
.l-pageNav {
  margin-bottom: clamp(22px, 3.4375vw, 44px);
}
.l-pageNav__list {
  gap: clamp(5px, 0.78125vw, 10px);
}
.l-pageNav__list.--col4 {
  gap: clamp(5px, 0.78125vw, 10px) 1.333%;
}
.l-pageNav__list.--col4 a {
  width: 24%;
  padding-right: 2.5em;
}
.l-pageNav__list + .l-pageNav__list {
  margin-top: clamp(5px, 0.78125vw, 10px);
}
.l-pageNav a {
  font-size: clamp(10px, 1.5625vw, 20px);
  color: #fff;
  background: #3ab6ff;
  border: 1px solid #3ab6ff;
  position: relative;
  letter-spacing: 0;
  line-height: 1.5;
  display: flex;
  align-items: center;
  padding: 0.3em 4em 0.3em 1.2em;
  min-height: clamp(24px, 3.75vw, 48px);
  min-width: clamp(113px, 17.65625vw, 226px);
  border-radius: clamp(12px, 1.875vw, 24px);
  transition: 0.3s;
}
.l-pageNav a:before, .l-pageNav a:after {
  content: "";
  position: absolute;
  transition: 0.3s;
}
.l-pageNav a:before {
  width: 1px;
  height: 70%;
  top: 15%;
  right: 2.8em;
  background: #fff;
}
.l-pageNav a:after {
  right: 1.3em;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: clamp(5px, 0.78125vw, 10px) clamp(2px, 0.3125vw, 4px) 0 clamp(2px, 0.3125vw, 4px);
  border-color: #fff transparent transparent transparent;
}

@media only screen and (min-width: 769px) {
  .l-pageNav a:hover {
    opacity: 1;
    color: #3ab6ff;
    background: #fff;
  }
  .l-pageNav a:hover:before {
    background: #3ab6ff;
  }
  .l-pageNav a:hover:after {
    border-color: #3ab6ff transparent transparent transparent;
  }
}
@media only screen and (max-width: 767px) {
  .l-pageNav {
    margin-bottom: 6.4vw;
  }
  .l-pageNav__list {
    gap: 0.4em;
  }
  .l-pageNav__list + .l-pageNav__list {
    margin-top: 0.4em;
  }
  .l-pageNav__list.--col4 {
    gap: 0.4em;
  }
  .l-pageNav__list.--col4 a {
    width: 100%;
    padding-right: 13.3333333333vw;
  }
  .l-pageNav a {
    width: 100%;
    font-size: 5.3333333333vw;
    border: none;
    padding: 0.6em 13.3333333333vw 0.6em 3.7333333333vw;
    min-height: 16vw;
    border-radius: 3.2vw;
  }
  .l-pageNav a:before {
    height: 62%;
    top: 19%;
    right: 9.6vw;
  }
  .l-pageNav a:after {
    border-width: 2.6666666667vw 1.0666666667vw 0 1.0666666667vw;
    right: 4vw;
  }
}
.l-card {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
}
.l-card.--col3 {
  gap: clamp(15px, 2.34375vw, 30px) 2%;
}
.l-card.--col3 .c-card {
  width: 32%;
}

@media only screen and (max-width: 767px) {
  .l-card {
    display: -moz-flex;
    display: flex;
    -ms-flex-pack: justify;
    flex-wrap: wrap;
  }
  .l-card.--col3 {
    gap: 1em;
  }
  .l-card.--col3 .c-card {
    width: 100%;
  }
}
/*------------------------------------------
  header
------------------------------------------*/
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}
.l-header:before {
  content: "";
  width: 100%;
  height: clamp(50px, 7.8125vw, 100px);
  background: rgba(255, 255, 255, 0.9);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: 0.6s;
}
.l-header__inner {
  position: relative;
  height: clamp(105px, 16.40625vw, 210px);
  padding-left: clamp(25px, 3.90625vw, 50px);
  display: flex;
  align-items: center;
  transition: height 0.6s;
}
.l-header__logo {
  display: flex;
  align-items: center;
}
.l-header__logo .logo-img {
  width: 11.796875vw;
  max-width: 151px;
  transition: 0.6s;
}
.l-header__logo .logo-txt {
  width: 21.015625vw;
  max-width: 269px;
  height: 5.859375vw;
  max-height: 75px;
  margin-left: 24px;
  transition: 0.6s;
  background-image: url(../images/common/header-logo-txt-wh.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
.l-header__info {
  display: flex;
  position: absolute;
  top: clamp(12px, 1.875vw, 24px);
  right: clamp(112.5px, 17.578125vw, 225px);
  border: 1px solid #fff;
  color: #fff;
  height: clamp(26px, 4.0625vw, 52px);
  padding: 0 1em;
  gap: 0.5em;
  align-items: center;
  letter-spacing: 0;
  transition-property: color, border-color;
  transition-duration: 0.6s, 0.6s;
}
.l-header__info .info-tel {
  font-family: "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: bold;
  font-size: 131.25%;
}
.l-header__info a {
  color: #fff;
  transition: 0.6s;
}
.l-header__trigger {
  width: 12.109375vw;
  max-width: 155px;
  position: absolute;
  top: clamp(12px, 1.875vw, 24px);
  right: clamp(20px, 3.125vw, 40px);
  cursor: pointer;
  z-index: 100;
}
.l-header__trigger .trigger-btn {
  display: flex;
  font-family: "EB Garamond", serif;
  font-weight: 700;
  font-size: clamp(9px, 1.40625vw, 18px);
  letter-spacing: 0;
  background: #036eb7;
  color: #fff;
  border-radius: clamp(18px, 2.8125vw, 36px);
  height: clamp(26px, 4.0625vw, 52px);
  border: 1px solid #036eb7;
  align-items: center;
  justify-content: center;
  transition: 0.6s;
}
.l-header__trigger .trigger-btn__text {
  position: relative;
}
.l-header__trigger .trigger-btn__text:after {
  content: "MENU";
}
.l-header__trigger .trigger-btn__icon {
  display: none;
}
.l-header__trigger:hover .trigger-btn {
  background: #fff;
  color: #036eb7;
}
.l-header__trigger.is--active .trigger-btn {
  background: #fff;
  color: #036eb7;
}
.l-header__trigger.is--active .trigger-btn__text {
  padding-right: 2em;
  background: url(../images/common/header-close.png) no-repeat right center;
  background-size: clamp(8px, 1.25vw, 16px);
}
.l-header__trigger.is--active .trigger-btn__text:after {
  content: "CLOSE";
}
.l-header__menu {
  overflow: hidden;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  min-height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.4s ease, visibility 0s ease 0.4s;
}
.l-header__menu.is--active {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.4s ease, visibility 0s ease 0s;
}
.l-header__menu .menu-contents {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  width: clamp(400px, 62.5vw, 800px);
  height: 100vh;
  background: #036eb7;
  -ms-overflow-y: auto;
  overflow-y: auto;
  transform: translateX(100%);
  transition: 0.6s;
  z-index: 1;
}
.l-header__menu .menu-contents__inner {
  position: relative;
  min-height: 100%;
  padding: clamp(50px, 7.8125vw, 100px) 0 clamp(77px, 12.03125vw, 154px);
}
.l-header__menu .menu-close {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.l-header__menu.is--active .menu-contents {
  transform: translateX(0);
  transition: 0.6s 0.6s;
}
.l-header.is--fix:before {
  opacity: 1;
  transition: 0.6s 0.6s;
}
.l-header.is--fix .l-header__inner {
  height: clamp(50px, 7.8125vw, 100px);
}
.l-header.is--fix .l-header__logo .logo-img {
  width: 6.328125vw;
  max-width: 81px;
}
.l-header.is--fix .l-header__logo .logo-txt {
  width: 16.953125vw;
  max-width: 217px;
  height: 4.765625vw;
  max-height: 61px;
  margin-left: 20px;
  background-image: url(../images/common/header-logo-txt.png);
}
.l-header.is--fix .l-header__info {
  color: #3e4958;
  border-color: #3e4958;
  transition-property: color, border-color;
  transition-duration: 0.6s, 0.6s;
  transition-delay: 0.6s, 0.6s;
}
.l-header.is--fix .l-header__info a {
  color: #3e4958;
  transition: 0.6s 0.6s;
}

@media only screen and (max-width: 767px) {
  .l-header {
    position: absolute;
  }
  .l-header:before {
    content: none;
  }
  .l-header__inner {
    height: 24vw;
    padding-left: 1.8666666667vw;
  }
  .l-header__logo .logo-img {
    width: 19.2vw;
    max-width: 100%;
  }
  .l-header__logo .logo-txt {
    width: 35.7333333333vw;
    max-width: 100%;
    height: 10.1333333333vw;
    max-height: 100%;
    margin-left: 1em;
  }
  .l-header__info {
    display: none;
  }
  .l-header__trigger {
    width: 16.5333333333vw;
    max-width: 100%;
    top: 0;
    right: 0;
  }
  .l-header__trigger .trigger-btn {
    border-radius: 0;
    height: 16.5333333333vw;
  }
  .l-header__trigger .trigger-btn__text {
    display: none;
  }
  .l-header__trigger .trigger-btn__icon {
    display: block;
    width: 9.6vw;
    height: 4.2666666667vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .l-header__trigger .trigger-btn__icon span {
    position: absolute;
    height: 2px;
    width: 100%;
    background: #fff;
    transition: 0.3s;
  }
  .l-header__trigger .trigger-btn__icon span:nth-child(1) {
    top: 0;
  }
  .l-header__trigger .trigger-btn__icon span:nth-child(2) {
    top: 50%;
    margin-top: -1px;
  }
  .l-header__trigger .trigger-btn__icon span:nth-child(3) {
    bottom: 0;
  }
  .l-header__trigger:hover .trigger-btn {
    background: #036eb7;
  }
  .l-header__trigger.is--active .trigger-btn {
    background: #fff;
  }
  .l-header__trigger.is--active .trigger-btn__icon span {
    background: #036eb7;
  }
  .l-header__trigger.is--active .trigger-btn__icon span:nth-child(1) {
    top: 50%;
    margin-top: -1px;
    transform: rotate(-45deg);
  }
  .l-header__trigger.is--active .trigger-btn__icon span:nth-child(2) {
    opacity: 0;
  }
  .l-header__trigger.is--active .trigger-btn__icon span:nth-child(3) {
    bottom: 50%;
    margin-bottom: -1px;
    transform: rotate(45deg);
  }
  .l-header__menu .menu-contents {
    width: 100%;
  }
  .l-header__menu .menu-contents__inner {
    padding: 21.3333333333vw 0 0;
  }
  .l-header.is--fix {
    position: absolute;
  }
  .l-header.is--fix .l-header__logo .logo-img {
    width: 19.2vw;
    max-width: 100%;
  }
  .l-header.is--fix .l-header__logo .logo-txt {
    width: 35.7333333333vw;
    max-width: 100%;
    height: 10.1333333333vw;
    max-height: 100%;
    margin-left: 1em;
    background-image: url(../images/common/header-logo-txt-wh.png);
  }
  .l-header.is--fix .l-header__trigger {
    position: fixed;
  }
}
.global-nav {
  padding: 0 clamp(20px, 3.125vw, 40px);
}
.global-nav a {
  display: block;
  position: relative;
  color: #fff;
  letter-spacing: 0;
  line-height: 1.45;
}
.global-nav--main .nav-list {
  gap: 0 1%;
}
.global-nav--main .nav-list ul {
  width: 49.5%;
}
.global-nav--main .nav-list li {
  border: 1px solid #fff;
  margin-bottom: clamp(5px, 0.78125vw, 10px);
}
.global-nav--main .nav-list li:last-child {
  margin-bottom: 0;
}
.global-nav--main .nav-list a {
  display: flex;
  align-items: center;
  position: relative;
  padding: 0.5em clamp(22px, 3.4375vw, 44px) 0.5em clamp(12px, 1.875vw, 24px);
  transition: 0.3s;
}
.global-nav--main .nav-list a:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: clamp(2px, 0.3125vw, 4px) 0 clamp(2px, 0.3125vw, 4px) clamp(5px, 0.78125vw, 10px);
  border-color: transparent transparent transparent #fff;
  position: absolute;
  right: clamp(15px, 2.34375vw, 30px);
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
.global-nav--main .nav-list a:hover {
  background: #fff;
  color: #036eb7;
  opacity: 1;
}
.global-nav--main .nav-list a:hover:after {
  border-color: transparent transparent transparent #036eb7;
}
.global-nav--main .nav-list--primary a {
  min-height: clamp(27px, 4.21875vw, 54px);
  font-size: clamp(9px, 1.40625vw, 18px);
}
.global-nav--main .nav-list--secondary a {
  min-height: clamp(20px, 3.125vw, 40px);
}
.global-nav--main .nav-list__label {
  color: #fff;
  font-size: clamp(10px, 1.5625vw, 20px);
  margin: clamp(7.5px, 1.171875vw, 15px) 0 0.5em;
}
.global-nav--main .banner-list {
  margin-top: clamp(7.5px, 1.171875vw, 15px);
  gap: clamp(6.5px, 1.015625vw, 13px);
  justify-content: flex-end;
}
.global-nav--main .banner-list li {
  width: 26%;
}
.global-nav--sub {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #add7fa;
  min-height: clamp(57px, 8.90625vw, 114px);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.global-nav--sub .sub-list {
  width: 100%;
  align-items: center;
  justify-content: space-between;
}
.global-nav--sub .sub-list__link--button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  gap: 0.8em;
  width: clamp(107px, 16.71875vw, 214px);
  min-height: clamp(24px, 3.75vw, 48px);
  border-radius: clamp(12px, 1.875vw, 24px);
  color: #036eb7;
}
.global-nav--sub .sub-list__link--button img {
  width: clamp(15.5px, 2.421875vw, 31px);
}
.global-nav--sub .sub-list__link--sns {
  display: flex;
  align-items: center;
  gap: 0.5em;
  color: #3e4958;
}
.global-nav--sub .sub-list__link--sns img {
  width: clamp(18px, 2.8125vw, 36px);
}
.global-nav--sub .sub-list__link--logo img {
  width: 18.59375vw;
  max-width: 238px;
}

@media only screen and (max-width: 767px) {
  .global-nav {
    padding: 0 9.6vw;
  }
  .global-nav--main {
    padding-bottom: 10.6666666667vw;
  }
  .global-nav--main .nav-list {
    gap: 0;
    border-bottom: 1px solid #fff;
  }
  .global-nav--main .nav-list ul {
    width: 100%;
  }
  .global-nav--main .nav-list li {
    border-bottom: none;
    margin-bottom: 0;
  }
  .global-nav--main .nav-list a {
    padding: 0.5em 9.6vw 0.5em 5.8666666667vw;
  }
  .global-nav--main .nav-list a:after {
    border-width: 1.0666666667vw 0 1.0666666667vw 2.6666666667vw;
    right: 5.8666666667vw;
  }
  .global-nav--main .nav-list a:hover {
    background: #036eb7;
    color: #fff;
  }
  .global-nav--main .nav-list a:hover:after {
    border-color: transparent transparent transparent #fff;
  }
  .global-nav--main .nav-list--primary a {
    min-height: 15.4666666667vw;
    font-size: 4.5333333333vw;
  }
  .global-nav--main .nav-list--secondary a {
    min-height: 15.4666666667vw;
  }
  .global-nav--main .nav-list__label {
    font-size: 5.3333333333vw;
    margin: 10.6666666667vw 0 0.5em;
  }
  .global-nav--main .banner-list {
    margin-top: 5.3333333333vw;
    gap: 3.4666666667vw;
    justify-content: center;
  }
  .global-nav--main .banner-list li {
    width: 100%;
    padding: 0 6.4vw;
  }
  .global-nav--sub {
    position: static;
    padding-top: 6.4vw;
    padding-bottom: 8.5333333333vw;
    min-height: auto;
    flex-wrap: wrap;
  }
  .global-nav--sub .sub-list {
    width: 100%;
    align-items: center;
    justify-content: space-between;
  }
  .global-nav--sub .sub-list li:last-child {
    width: 100%;
    border-top: 1px solid #fff;
    text-align: center;
    margin-top: 6.4vw;
    padding-top: 5.3333333333vw;
  }
  .global-nav--sub .sub-list__link--button {
    width: 50.6666666667vw;
    min-height: 14.1333333333vw;
    border-radius: 6.9333333333vw;
    font-size: 4vw;
    gap: 0.3em;
  }
  .global-nav--sub .sub-list__link--button img {
    width: 7.2vw;
  }
  .global-nav--sub .sub-list__link--sns img {
    width: 12vw;
  }
  .global-nav--sub .sub-list__link--logo img {
    width: 53.3333333333vw;
    max-width: 100%;
  }
}
/*------------------------------------------
  footer
------------------------------------------*/
.l-footer {
  position: relative;
}
.l-footer__info {
  padding: clamp(35px, 5.46875vw, 70px) 0;
  background-image: url(../images/common/footer-info-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.l-footer .footer-about {
  width: 50%;
  color: #fff;
  border-left: 1px solid #fff;
  padding: 0 clamp(26px, 4.0625vw, 52px);
  letter-spacing: 0;
  line-height: 1.5;
}
.l-footer .footer-about a {
  color: #fff;
}
.l-footer .footer-about__title {
  font-family: "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: clamp(15px, 2.34375vw, 30px);
  margin-bottom: 0.5em;
}
.l-footer .footer-about__title span {
  display: block;
  font-size: 50%;
}
.l-footer .footer-about__tel {
  font-family: "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: bold;
  font-size: clamp(11.5px, 1.796875vw, 23px);
}
.l-footer .footer-about__tel a {
  font-size: clamp(15px, 2.34375vw, 30px);
}
.l-footer .footer-about__text {
  margin-bottom: 0.5em;
}
.l-footer .footer-about__text p {
  margin-top: 0.5em;
}
.l-footer .footer-about__sns a {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
}
.l-footer .footer-about__sns img {
  width: clamp(14.5px, 2.265625vw, 29px);
}
.l-footer .footer-menu {
  width: 50%;
  color: #fff;
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
  padding: 0 clamp(23px, 3.59375vw, 46px);
  justify-content: space-between;
}
.l-footer .footer-menu__list {
  width: 48%;
  line-height: 1.5;
  border-top: 1px solid #fff;
}
.l-footer .footer-menu__list li {
  border-bottom: 1px solid #fff;
}
.l-footer .footer-menu__list a {
  color: #fff;
  display: block;
  padding: 0.8em 0.5em;
  letter-spacing: 0;
  position: relative;
}
.l-footer__banner {
  background: #e9f0fe;
  padding: clamp(32px, 5vw, 64px) clamp(15px, 2.34375vw, 30px) clamp(37px, 5.78125vw, 74px);
}
.l-footer .footer-banner {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(20px, 3.125vw, 40px);
}
.l-footer .footer-banner li {
  width: clamp(150px, 23.4375vw, 300px);
}
.l-footer__logo {
  position: relative;
  padding: clamp(32px, 5vw, 64px) clamp(15px, 2.34375vw, 30px) clamp(37px, 5.78125vw, 74px);
  text-align: center;
}
.l-footer .footer-logo {
  margin-bottom: clamp(22px, 3.4375vw, 44px);
}
.l-footer .footer-logo img {
  width: clamp(222px, 34.6875vw, 444px);
}
.l-footer .footer-catch img {
  width: clamp(233px, 36.40625vw, 466px);
}
.l-footer .footer-pagetop {
  position: absolute;
  bottom: 0;
  right: 0;
  width: clamp(117.5px, 18.359375vw, 235px);
}
.l-footer__copyright {
  background: #036eb7;
  text-align: center;
  height: clamp(28px, 4.375vw, 56px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-footer .footer-copyright {
  color: #fff;
  font-size: 93.75%;
}

@media only screen and (max-width: 767px) {
  .l-footer__info {
    padding: 8.5333333333vw 0 10.6666666667vw;
    background-image: url(../images/common/footer-info-bg-sp.png);
  }
  .l-footer .footer-about {
    width: 100%;
    border-left: none;
    border-bottom: 1px solid #fff;
    padding: 0 0 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
  .l-footer .footer-about__title {
    font-size: 5.6vw;
  }
  .l-footer .footer-about__title span {
    font-size: 3.4666666667vw;
  }
  .l-footer .footer-about__address {
    margin-bottom: 0.5em;
  }
  .l-footer .footer-about__tel {
    font-size: 5.8666666667vw;
  }
  .l-footer .footer-about__tel a {
    font-size: 6.9333333333vw;
  }
  .l-footer .footer-about__sns img {
    width: 7.4666666667vw;
  }
  .l-footer .footer-menu {
    width: 100%;
    border: none;
    padding: 0;
  }
  .l-footer .footer-menu__list {
    width: 100%;
    border: none;
  }
  .l-footer .footer-menu__list li {
    border: none;
    margin-bottom: 0.5em;
  }
  .l-footer .footer-menu__list a {
    padding: 0;
  }
  .l-footer__banner {
    padding: 8.5333333333vw 10.1333333333vw 8.5333333333vw;
  }
  .l-footer .footer-banner {
    gap: 4vw;
  }
  .l-footer .footer-banner li {
    width: 100%;
  }
  .l-footer__logo {
    padding: 5.8666666667vw 0 8.5333333333vw;
  }
  .l-footer .footer-logo {
    margin-bottom: 5.8666666667vw;
  }
  .l-footer .footer-logo img {
    width: 59.2vw;
  }
  .l-footer .footer-catch img {
    width: 62.1333333333vw;
  }
  .l-footer .footer-pagetop {
    bottom: 2.1333333333vw;
    right: 2.1333333333vw;
    width: 12vw;
  }
  .l-footer__copyright {
    height: 11.7333333333vw;
  }
  .l-footer .footer-copyright {
    font-size: 2.6666666667vw;
  }
}