@charset "UTF-8";
/*------------------------------------------------------------------------
// Setting
  ├ reset
  ├ common
  └ 
------------------------------------------------------------------------*/
/*----------------------------------------
//////////////////////////////////////////
//////////////////////////////////////////
	reset
//////////////////////////////////////////
//////////////////////////////////////////
----------------------------------------*/
*,
::before,
::after {
  box-sizing: border-box;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
main,
menu,
nav,
section,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

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

span,
small,
strong,
em,
b,
i {
  color: inherit;
}

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

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

img {
  width: 100%;
  height: auto;
  border: 0;
  vertical-align: middle;
  -o-object-fit: cover;
  object-fit: cover;
}

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

caption,
th {
  text-align: left;
}

input,
select {
  vertical-align: middle;
}

input,
textarea {
  margin: 0;
  padding: 0;
}

address {
  font-style: normal;
}

img {
  width: 100%;
  height: auto;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  border: 0;
  font-family: inherit;
  font-weight: inherit;
  cursor: pointer;
  background: transparent;
  margin: 0;
  padding: 0;
}

iframe {
  width: 100%;
  height: 100%;
  display: block;
}

/*----------------------------------------
//////////////////////////////////////////
//////////////////////////////////////////
	common
//////////////////////////////////////////
//////////////////////////////////////////
----------------------------------------*/
/* css変数 */
:root {
  /* color */
  --main-color: #243858;
  --sub-color: #0c52ae;
  --sub2-color: #0099ff;
  --accent-color: #fff240;
  /* font-family */
  --font-family-ja: "Noto Sans JP", sans-serif;
  --font-family-ja2: "Roboto Condensed", sans-serif;
  --font-family-en: "Roboto", sans-serif;
}

/*スムーズスクロール*/
html {
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
  overflow-y: auto;
  color: var(--main-color);
  background: #fff;
  font-family: var(--font-family-ja);
  font-size: 16px;
  line-height: 1.75;
}

a {
  display: inline-block;
  color: inherit;
  text-decoration: none;
  transition: 0.4s;
  cursor: pointer;
}

main {
  overflow: hidden;
}

/* 横スクロールバーを非表示 */
*::-webkit-scrollbar {
  display: none;
}

* {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* PC時,SP時表示,非表示 */
.display-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .display-pc {
    display: none;
  }

  .display-sp {
    display: block;
  }
}

/* 電話 */
@media screen and (min-width: 769px) {
  a[href^="tel"] {
    pointer-events: none;
  }
}
/* テキスト中央寄せ */
.text-center {
  text-align: center;
}

/* 余白 */
.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mt50 {
  margin-top: 50px;
}

.mt80 {
  margin-top: 60px;
}

.mt70 {
  margin-top: 70px;
}

.mt80 {
  margin-top: 80px;
}

.mt90 {
  margin-top: 90px;
}

.mt100 {
  margin-top: 100px;
}

.mt110 {
  margin-top: 110px;
}

.mt120 {
  margin-top: 120px;
}

.mt130 {
  margin-top: 130px;
}

.mt140 {
  margin-top: 140px;
}

.mt150 {
  margin-top: 150px;
}

.mt160 {
  margin-top: 160px;
}

.mt170 {
  margin-top: 170px;
}

.mt180 {
  margin-top: 180px;
}

.mt190 {
  margin-top: 190px;
}

.mt200 {
  margin-top: 200px;
}

@media screen and (max-width: 768px) {
  .mt10,
  .mt20,
  .mt30,
  .mt40,
  .mt50,
  .mt60,
  .mt70,
  .mt80,
  .mt90,
  .mt100,
  .mt110,
  .mt120,
  .mt130,
  .mt140,
  .mt150,
  .mt160,
  .mt170,
  .mt180,
  .mt190,
  .mt200 {
    margin-top: 0;
  }

  .mt10-sp {
    margin-top: 10px;
  }

  .mt20-sp {
    margin-top: 20px;
  }

  .mt30-sp {
    margin-top: 30px;
  }

  .mt40-sp {
    margin-top: 40px;
  }

  .mt50-sp {
    margin-top: 50px;
  }

  .mt80-sp {
    margin-top: 60px;
  }

  .mt70-sp {
    margin-top: 70px;
  }

  .mt80-sp {
    margin-top: 80px;
  }

  .mt90-sp {
    margin-top: 90px;
  }

  .mt100-sp {
    margin-top: 100px;
  }
}
.mb10 {
  margin-bottom: 10px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb100 {
  margin-bottom: 100px;
}

.mb110 {
  margin-bottom: 110px;
}

.mb120 {
  margin-bottom: 120px;
}

.mb130 {
  margin-bottom: 130px;
}

.mb140 {
  margin-bottom: 140px;
}

.mb150 {
  margin-bottom: 150px;
}

.mb160 {
  margin-bottom: 160px;
}

.mb170 {
  margin-bottom: 170px;
}

.mb180 {
  margin-bottom: 180px;
}

.mb190 {
  margin-bottom: 190px;
}

.mb200 {
  margin-bottom: 200px;
}

@media screen and (max-width: 768px) {
  .mb10,
  .mb20,
  .mb30,
  .mb40,
  .mb50,
  .mb60,
  .mb70,
  .mb80,
  .mb90,
  .mb100,
  .mb110,
  .mb120,
  .mb130,
  .mb140,
  .mb150,
  .mb160,
  .mb170,
  .mb180,
  .mb190,
  .mb200 {
    margin-bottom: 0;
  }

  .mb10-sp {
    margin-bottom: 10px;
  }

  .mb20-sp {
    margin-bottom: 20px;
  }

  .mb30-sp {
    margin-bottom: 30px;
  }

  .mb40-sp {
    margin-bottom: 40px;
  }

  .mb50-sp {
    margin-bottom: 50px;
  }

  .mb80-sp {
    margin-bottom: 60px;
  }

  .mb70-sp {
    margin-bottom: 70px;
  }

  .mb80-sp {
    margin-bottom: 80px;
  }

  .mb90-sp {
    margin-bottom: 90px;
  }

  .mb100-sp {
    margin-bottom: 100px;
  }
}
.pt10 {
  padding-top: 10px;
}

.pt20 {
  padding-top: 20px;
}

.pt30 {
  padding-top: 30px;
}

.pt40 {
  padding-top: 40px;
}

.pt50 {
  padding-top: 50px;
}

.pt60 {
  padding-top: 60px;
}

.pt70 {
  padding-top: 70px;
}

.pt80 {
  padding-top: 80px;
}

.pt90 {
  padding-top: 90px;
}

.pt100 {
  padding-top: 100px;
}

.pt110 {
  padding-top: 110px;
}

.pt120 {
  padding-top: 120px;
}

.pt130 {
  padding-top: 130px;
}

.pt140 {
  padding-top: 140px;
}

.pt150 {
  padding-top: 150px;
}

.pt160 {
  padding-top: 160px;
}

.pt170 {
  padding-top: 170px;
}

.pt180 {
  padding-top: 180px;
}

.pt190 {
  padding-top: 190px;
}

.pt200 {
  padding-top: 200px;
}

.pt210 {
  padding-top: 210px;
}

.pt220 {
  padding-top: 220px;
}

.pt230 {
  padding-top: 230px;
}

.pt240 {
  padding-top: 240px;
}

.pt250 {
  padding-top: 250px;
}

.pt260 {
  padding-top: 260px;
}

.pt270 {
  padding-top: 270px;
}

.pt280 {
  padding-top: 280px;
}

.pt290 {
  padding-top: 290px;
}

.pt300 {
  padding-top: 300px;
}

@media screen and (max-width: 768px) {
  .pt10,
  .pt20,
  .pt30,
  .pt40,
  .pt50,
  .pt60,
  .pt70,
  .pt80,
  .pt90,
  .pt100,
  .pt110,
  .pt120,
  .pt130,
  .pt140,
  .pt150,
  .pt160,
  .pt170,
  .pt180,
  .pt190,
  .pt200,
  .pt210,
  .pt220,
  .pt230,
  .pt240,
  .pt250,
  .pt260,
  .pt270,
  .pt280,
  .pt290,
  .pt300 {
    padding-top: 0;
  }

  .pt10-sp {
    padding-top: 10px;
  }

  .pt20-sp {
    padding-top: 20px;
  }

  .pt30-sp {
    padding-top: 30px;
  }

  .pt40-sp {
    padding-top: 40px;
  }

  .pt50-sp {
    padding-top: 50px;
  }

  .pt60-sp {
    padding-top: 60px;
  }

  .pt70-sp {
    padding-top: 70px;
  }

  .pt80-sp {
    padding-top: 80px;
  }

  .pt90-sp {
    padding-top: 90px;
  }

  .pt100-sp {
    padding-top: 100px;
  }
}
.pb10 {
  padding-bottom: 10px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb90 {
  padding-bottom: 90px;
}

.pb100 {
  padding-bottom: 100px;
}

.pb110 {
  padding-bottom: 110px;
}

.pb120 {
  padding-bottom: 120px;
}

.pb130 {
  padding-bottom: 130px;
}

.pb140 {
  padding-bottom: 140px;
}

.pb150 {
  padding-bottom: 150px;
}

.pb160 {
  padding-bottom: 160px;
}

.pb170 {
  padding-bottom: 170px;
}

.pb180 {
  padding-bottom: 180px;
}

.pb190 {
  padding-bottom: 190px;
}

.pb200 {
  padding-bottom: 200px;
}

.pb210 {
  padding-bottom: 210px;
}

.pb220 {
  padding-bottom: 220px;
}

.pb230 {
  padding-bottom: 230px;
}

.pb240 {
  padding-bottom: 240px;
}

.pb250 {
  padding-bottom: 250px;
}

.pb260 {
  padding-bottom: 260px;
}

.pb270 {
  padding-bottom: 270px;
}

.pb280 {
  padding-bottom: 280px;
}

.pb290 {
  padding-bottom: 290px;
}

.pb300 {
  padding-bottom: 300px;
}

@media screen and (max-width: 768px) {
  .pb10,
  .pb20,
  .pb30,
  .pb40,
  .pb50,
  .pb60,
  .pb70,
  .pb80,
  .pb90,
  .pb100,
  .pb110,
  .pb120,
  .pb130,
  .pb140,
  .pb150,
  .pb160,
  .pb170,
  .pb180,
  .pb190,
  .pb200,
  .pb210,
  .pb220,
  .pb230,
  .pb240,
  .pb250,
  .pb260,
  .pb270,
  .pb280,
  .pb290,
  .pb300 {
    padding-bottom: 0;
  }

  .pb10-sp {
    padding-bottom: 10px;
  }

  .pb20-sp {
    padding-bottom: 20px;
  }

  .pb30-sp {
    padding-bottom: 30px;
  }

  .pb40-sp {
    padding-bottom: 40px;
  }

  .pb50-sp {
    padding-bottom: 50px;
  }

  .pb60-sp {
    padding-bottom: 60px;
  }

  .pb70-sp {
    padding-bottom: 70px;
  }

  .pb80-sp {
    padding-bottom: 80px;
  }

  .pb90-sp {
    padding-bottom: 90px;
  }

  .pb100-sp {
    padding-bottom: 100px;
  }

  .pb110-sp {
    padding-bottom: 110px;
  }

  .pb120-sp {
    padding-bottom: 120px;
  }

  .pb130-sp {
    padding-bottom: 130px;
  }

  .pb140-sp {
    padding-bottom: 140px;
  }

  .pb150-sp {
    padding-bottom: 150px;
  }
}

/*----------------------------------------
//////////////////////////////////////////
//////////////////////////////////////////
	アニメーション
//////////////////////////////////////////
//////////////////////////////////////////
----------------------------------------*/
/* フェードしたい要素に付与するクラス */
.js-fade {
  opacity: 0;
  transform: translateY(30px);
  transition: 1.5s;
}
/* スクロール後に付与されるクラス */
.scrolled {
  opacity: 1;
  transform: translateY(0px);
}

/*----------------------------------------
//////////////////////////////////////////
//////////////////////////////////////////
	メインビジュアル
//////////////////////////////////////////
//////////////////////////////////////////
----------------------------------------*/
.mv {
  width: 100vw;
  height: clamp(41.5rem, 34.266rem + 15.05vw, 47.813rem); /* 664px - 765px */
  position: relative;
}
.mv__image {
  position: absolute;
  inset: 0;
  width: 100%;
}
.mv__image img {
  height: clamp(41.5rem, 34.266rem + 15.05vw, 47.813rem); /* 664px - 765px */
}
.mv__logo {
  position: absolute;
  top: clamp(1.25rem, 0.942rem + 1.31vw, 2.125rem); /* 20px - 34px */
  left: clamp(0.938rem, -0.053rem + 4.23vw, 3.75rem); /* 15 - 60px */
  width: clamp(3.875rem, 3.545rem + 1.41vw, 4.813rem); /* 62px - 77px */
  z-index: 1000;
}
.mv__decoration {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.mv__text {
  position: absolute;
  bottom: 120px;
  left: 51%;
  transform: translateX(-50%);
  width: clamp(
    43.75rem,
    30.542rem + 27.48vw,
    55.274rem
  ); /* 360.5px - 884.39px */
  z-index: 1000;
}

/* レスポンシブ */
@media screen and (max-width: 768px) {
  .mv {
    height: clamp(34.625rem, 29.211rem + 23.1vw, 50rem); /* 554px - 800px */
  }
  .mv__image img {
    height: clamp(41.5rem, 33.389rem + 34.61vw, 50rem); /* 664px - 800px */
  }
  .mv__text {
    width: clamp(22.5rem, 17.133rem + 22.9vw, 28.125rem); /* 360px - 450px */
    bottom: 16px;
    left: 50%;
  }
}
@media screen and (max-width: 374px) {
  .mv__text {
    width: 95%;
  }
}
/*----------------------------------------
//////////////////////////////////////////
//////////////////////////////////////////
	CTAボタン
//////////////////////////////////////////
//////////////////////////////////////////
----------------------------------------*/
/* cta-button */
.cta-button a {
  padding: 12.5px;
  display: flex;
  align-items: center;
  border-radius: 100vmax;
  border: 2px solid #fff;
  position: relative;
  overflow: hidden;
}
.cta-button a:before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to bottom,
    #ffc590 0%,
    #ffb26d 4.4%,
    #ffc798 10.47%,
    #e9823e 58.16%,
    #f16814 82.21%,
    #e9610f 100%
  );
  opacity: 1; /*ホバー準備*/
  visibility: visible; /*ホバー準備*/
  transition: 0.6s; /*ホバー準備*/
}
.cta-button a:after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    #45dfe1 0%,
    #3ddfdd 3.76%,
    #7bf0ef 12.55%,
    #4cc1a9 54.81%,
    #6ac4a8 87.02%,
    #5bc694 92.89%,
    #c2fbc4 100%
  );
  opacity: 0; /*ホバー準備*/
  visibility: hidden; /*ホバー準備*/
  transition: 0.6s; /*ホバー準備*/
}
.cta-button a .border {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 359px;
  height: 1px;
  background: #d25304;
  z-index: 10;
  transition: 0.6s;
}
.cta-button a .free {
  min-width: clamp(
    3.844rem,
    2.456rem + 2.89vw,
    5.054rem
  ); /* 61.5px - 80.87px */
  min-height: clamp(
    3.844rem,
    2.456rem + 2.89vw,
    5.054rem
  ); /* 61.5px - 80.87px */
  background: var(--accent-color);
  font-weight: bold;
  font-size: clamp(1.313rem, 1.18rem + 0.56vw, 1.688rem); /* 21px - 27px */
  text-shadow: 0px 10px 15px rgba(165, 155, 6, 0.5);
  display: grid;
  place-content: center;
  border-radius: 50%;
  z-index: 10;
}
.cta-button a .text {
  color: #fff;
  padding-bottom: 4px;
  position: relative;
  z-index: 10;
}
.cta-button a .text--middle {
  font-weight: 500;
  font-size: clamp(1.063rem, 0.996rem + 0.28vw, 1.25rem); /* 21px - 27px */
  text-shadow: 0px 5px 10px rgba(175, 66, 0, 0.5);
  margin-left: 5.5px;
}
.cta-button a .text--large {
  font-weight: 500;
  font-size: clamp(1.563rem, 1.43rem + 0.56vw, 1.938rem); /* 25px - 31px */
  text-shadow: 0px 5px 10px rgba(175, 66, 0, 0.55);
  margin-left: 3.9px;
  margin-top: 5px;
  position: relative;
  top: 2px;
}
.cta-button a .text--small {
  font-weight: 500;
  font-size: clamp(0.75rem, 0.684rem + 0.28vw, 0.938rem); /* 12px - 15px */
  text-shadow: 0px 5px 10px rgba(175, 66, 0, 0.5);
  position: relative;
  top: -2px;
}
.cta-button a .arrow {
  width: clamp(1.313rem, 0.599rem + 1.48vw, 1.935rem); /* 21px - 30.96px */
  height: clamp(1.313rem, 0.599rem + 1.48vw, 1.935rem); /* 21px - 30.96px */
  background: url(../img/cta-arrow.webp) no-repeat center center / cover;
  margin-left: 14.3px;
  margin-top: 5px;
  transition: 0.6s; /*ホバー準備*/
  position: relative;
  z-index: 10;
}
/* ホバー */
@media screen and (min-width: 769px) {
  .cta-button a:hover:before {
    opacity: 0;
    visibility: hidden;
  }
  .cta-button a:hover:after {
    opacity: 1;
    visibility: visible;
  }
  .cta-button a:hover .arrow {
    transform: translateX(4px);
    background: url(../img/cta-arrow-hover.webp) no-repeat center center / cover;
  }
  .cta-button a:hover .border {
    opacity: 0;
    visibility: hidden;
  }
}
/* レスポンシブ */
@media screen and (max-width: 768px) {
  .cta-button a {
    padding: 6px 4px;
  }
  .cta-button a .text--middle {
    margin-left: 2px;
  }
  .cta-button a .text--large {
    margin-left: 0;
  }
  .cta-button a .text--small {
    margin-left: 0;
  }
  .cta-button a .arrow {
    margin-left: 2px;
  }
}
@media screen and (max-width: 374px) {
  .cta-button a .text--middle {
    font-size: 12px;
  }
  .cta-button a .text--large {
    font-size: 20px;
  }
  .cta-button a .text--small {
    font-size: 11px;
  }
  .cta-button a .free {
    min-width: 55px;
    min-height: 55px;
    font-size: 16px;
  }
}

/*----------------------------------------
//////////////////////////////////////////
//////////////////////////////////////////
	メニュー
//////////////////////////////////////////
//////////////////////////////////////////
----------------------------------------*/
.menu {
  padding-block: clamp(2.206rem, 0.358rem + 7.89vw, 7.456rem)
    clamp(2.206rem, -0.294rem + 10.67vw, 9.306rem); /* 35.3 - 119.3 */ /* 35.3 - 148.9 */
  position: relative;
}
.menu__figure {
  position: absolute;
  top: 0;
  right: 80px;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.menu__figure img:nth-of-type(1) {
  left: 0;
}
.menu__figure img:nth-of-type(2) {
  mix-blend-mode: overlay;
}
.menu__inner {
  display: flex;
  align-items: center;
  gap: clamp(2.688rem, 1.719rem + 4.13vw, 5.438rem); /* 43px - 87px */
  padding-right: clamp(
    0.938rem,
    -2.045rem + 12.73vw,
    7.5rem
  ); /* 15px - 120px */
}
.menu__image {
  width: 632.28px;
}
.menu__content {
  width: 600px;
  border-radius: 8px;
  background: rgb(255, 255, 255, 0.9);
  box-shadow: 0px 15px 20px rgba(151, 179, 201, 0.6);
  position: relative;
  padding-block: 25px 28px;
  padding-inline: 15px;
  margin-top: 15px;
}
.menu__text-bg {
  position: absolute;
  top: -50px;
  right: -50px;
  width: clamp(6.875rem, 5.995rem + 3.76vw, 9.375rem); /* 110px - 150px */
}
.menu-list {
  max-width: 410px;
  margin-inline: auto;
}
.menu-item {
  /* ドットの大きさ2 × 2pxの点を背景画像とする */
  background-image: radial-gradient(
    circle,
    var(--main-color) 1px,
    transparent 2px
  );
  /* 背景画像の大きさを設定 */
  background-size: 7px 3px;
  /* 背景の開始位置を指定 */
  background-position: left bottom;
  /* 横方向に繰り返す */
  background-repeat: repeat-x;
}
.menu-item a {
  width: 100%;
  position: relative;
  padding-block: 15px 16px;
  transition: 0.6s ease;
}
.menu-item a:after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 23px;
  height: 23px;
  background: url(../img/arrow-icon.webp) no-repeat center center / cover;
  transition: 0.6s ease;
}
.menu-item a .menu-number {
  font-family: var(--font-family-en);
  font-weight: normal;
  font-size: 21px;
  letter-spacing: 0.05em;
  line-height: 28px;
}
.menu-item a .menu-text {
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 28px;
  margin-left: 6px;
}
/* ホバー */
@media screen and (min-width: 769px) {
  .menu-item a:hover {
    opacity: 0.6;
  }
  .menu-item a:hover:after {
    transform: translateY(-35%);
  }
}
/* レスポンシブ */
@media screen and (min-width: 1600px) {
  .menu__inner {
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .menu {
    padding-block: 35px clamp(2.206rem, -0.294rem + 10.67vw, 9.306rem); /* 30px */ /* 35.3 - 148.9 */
  }
  .menu__figure {
    right: 0;
  }
  .menu__inner {
    flex-direction: column;
    padding-right: 0;
  }
  .menu__image {
    width: 345px;
    margin-right: auto;
  }
  .menu__content {
    width: calc(100% - 30px);
    max-width: 600px;
    margin-top: 0;
  }
  .menu__text-bg {
    top: -45px;
    right: 0;
  }
}

/*----------------------------------------
//////////////////////////////////////////
//////////////////////////////////////////
	パララックス
//////////////////////////////////////////
//////////////////////////////////////////
----------------------------------------*/
.parallax {
  background: url(../img/parallax.webp) no-repeat center center / cover;
  padding-inline: 30px;
  padding-block: clamp(
    3.375rem,
    1.592rem + 7.61vw,
    8.438rem
  ); /* 54px - 135px */
}
.parallax__content {
  max-width: 655px;
  padding-inline: 20px;
  padding-block: clamp(1.625rem, 1.493rem + 0.56vw, 2rem)
    clamp(2.625rem, 2.559rem + 0.28vw, 2.813rem); /* 26px - 32px */ /* 42px - 45px */
  margin-inline: auto;
  background: rgb(255, 255, 255, 0.85);
  box-shadow: 0px 10px 15px rgba(85, 85, 85, 0.16);
  text-align: center;
  border: 4px solid;
  -o-border-image: linear-gradient(
    #c1a340 0%,
    #fff 26.87%,
    #f9e9b5 57.73%,
    #9e8430 82.85%,
    #eed688 92.05%,
    #b79b3f 100%
  );
  border-image: linear-gradient(
    #c1a340 0%,
    #fff 26.87%,
    #f9e9b5 57.73%,
    #9e8430 82.85%,
    #eed688 92.05%,
    #b79b3f 100%
  );
  border-image-slice: 1;
}
.parallax__logo {
  width: clamp(3.313rem, 2.63rem + 2.91vw, 5.25rem); /* 53px - 84px */
  margin-inline: auto;
}
.parallax__lead {
  font-weight: 600;
  font-size: clamp(1.688rem, 1.489rem + 0.85vw, 2.25rem); /* 28px - 36px */
  letter-spacing: 0.1em;
  line-height: 1.7;
  background: linear-gradient(to right, #0078ff 0%, #0cf 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-top: 7px;
  padding-left: 30px;
}
.parallax__text {
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 38px;
  margin-top: 5px;
}

/* レスポンシブ */
@media screen and (min-width: 1441px) {
  .parallax {
    padding-block: 9.375vw;
  }
}
@media screen and (max-width: 768px) {
  .parallax {
    background: url(../img/parallax-sp.webp) no-repeat center center / cover;
  }
  .parallax__lead {
    letter-spacing: 0.03em;
    margin-top: 8px;
    padding-left: 15px;
    line-height: 1.7;
  }
  .parallax__content {
    padding-inline: 5px 0;
  }
  .parallax__text {
    margin-top: 5px;
  }
}
@media screen and (max-width: 374px) {
  .parallax__lead {
    font-size: 22px;
  }
  .parallax__text {
    font-size: 18px;
  }
}

/*----------------------------------------
//////////////////////////////////////////
//////////////////////////////////////////
	特徴
//////////////////////////////////////////
//////////////////////////////////////////
----------------------------------------*/
/* 上部 */
.feature__top {
  background: url(../img/feature-bg.webp) no-repeat center center / cover;
  padding-block: clamp(2.419rem, 1.494rem + 3.95vw, 5.046rem)
    clamp(5.875rem, 3.927rem + 8.31vw, 11.406rem); /* 38.7px - 80.73px */ /* 94px - 182.5px */
  color: #fff;
  background-size: 100% 100%;
}
.feature__header {
  padding-inline: 15px;
  text-align: center;
  position: relative;
}
.feature__header:after {
  content: "";
  position: absolute;
  bottom: -14px;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(4.063rem, 3.49rem + 2.44vw, 5.688rem); /* 65px - 91px */
  height: clamp(0.188rem, 0.165rem + 0.09vw, 0.25rem); /* 3px - 4px */
  background: var(--accent-color);
}
.feature__title-treat {
  width: clamp(9.375rem, 7.86rem + 6.46vw, 13.677rem); /* 150px - 218.83px */
  margin-inline: auto;
}
.feature__title {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.feature__title-en {
  font-family: var(--font-family-en);
  font-weight: 500;
  font-size: clamp(2.25rem, 1.942rem + 1.31vw, 3.125rem); /* 36px - 50px */
  letter-spacing: 0.12em;
  color: var(--accent-color);
  text-shadow: 0px 6px 0px var(--sub-color);
  line-height: 1;
  margin-top: 7px;
}
.feature__title-ja {
  font-weight: 500;
  font-size: clamp(1.563rem, 1.342rem + 0.94vw, 2.188rem); /* 25px - 35px */
  letter-spacing: 0.05em;
  line-height: 68px;
  margin-top: clamp(0.188rem, -0.099rem + 1.22vw, 1rem); /* 3px - 16px */
}
.feature__stats {
  max-width: 800.5px;
  margin-inline: auto;
  padding-inline: 15px;
  display: flex;
  flex-direction: column;
  gap: 15px;
  box-sizing: content-box;
  margin-top: clamp(2.063rem, 1.38rem + 2.91vw, 4rem); /* 33px - 64px */
}
.feature__stat-item {
  border: 1px solid #fff;
}
.feature__stat-label {
  font-family: var(--font-family-ja2);
  font-weight: normal;
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 38px;
  text-align: center;
  padding: 3px 15px;
}
.feature__stat-row {
  display: flex;
  justify-content: center;
  border-top: 1px solid #fff;
  padding-bottom: 15px;
}
.feature__stat-value {
  font-family: var(--font-family-ja2);
  font-weight: normal;
  font-size: clamp(0.875rem, 0.787rem + 0.38vw, 1.125rem); /* 14px - 18px */
  letter-spacing: 0.05em;
  line-height: 49px;
  position: relative;
  left: -10px;
}
.feature__stat-number {
  font-family: var(--font-family-ja2);
  font-weight: normal;
  font-style: italic;
  font-size: clamp(4.938rem, 4.343rem + 2.54vw, 6.625rem); /* 79px - 106px */
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 22px;
  position: relative;
  left: -16px;
}
.feature__stat-number--small {
  font-size: clamp(4.375rem, 4.155rem + 0.94vw, 5rem); /* 70px - 80px */
  margin-top: 24px;
  left: 2px;
}
.feature__stat-number--small.mt {
  margin-top: 40px;
}
.feature__stat-number--middle {
  font-size: clamp(4.938rem, 4.541rem + 1.69vw, 6.063rem); /* 79px - 97px */
  margin-top: 11px;
  left: 0;
}
.feature__stat-unit {
  font-family: var(--font-family-ja2);
  font-weight: normal;
  font-style: normal;
  font-size: clamp(1.063rem, 0.952rem + 0.47vw, 1.375rem); /* 17px - 22px */
  letter-spacing: 0.05em;
  line-height: 60px;
}
.feature__stat-unit--small {
  font-size: 18px;
}
.feature__stat-unit--middle {
  font-size: clamp(2.5rem, 2.302rem + 0.85vw, 3.063rem); /* 40px - 49px */
  font-style: italic;
}
.feature__stat-note {
  font-weight: normal;
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 20px;
  padding-inline: 10px;
  padding-bottom: 10px;
}
.feature__stat-note--small {
  font-size: 9px;
}
.feature__stat-note--outside {
  margin-top: -13px;
  padding-inline: 0;
  padding-bottom: 0;
  text-align: left;
}
.feature__stat-itemWrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(0.25rem, 0.107rem + 0.61vw, 0.656rem); /* 4px - 10.5px */
}
.feature__bottom {
  margin-block: clamp(1.063rem, -1.105rem + 9.25vw, 7.219rem)
    clamp(3.125rem, 0.198rem + 12.49vw, 11.438rem); /* 17px - 115.5px */ /* 50px - 183px */
  padding-inline: clamp(
    0.625rem,
    -0.475rem + 4.69vw,
    3.75rem
  ); /* 10px - 60px */
  display: flex;
  justify-content: space-between;
  gap: clamp(1.25rem, -28.438rem + 39.58vw, 7.188rem); /* 20px - 115px */
  max-width: 1440px;
  margin-inline: auto;
}
.feature__description-text {
  font-weight: normal;
  font-size: clamp(0.938rem, 0.827rem + 0.47vw, 1.25rem); /* 15px - 20px */
  letter-spacing: 0.05em;
  line-height: clamp(2.188rem, 2.011rem + 0.75vw, 2.688rem); /* 35px - 43px */
  width: 460px;
  margin-top: clamp(0rem, -0.924rem + 3.94vw, 2.625rem); /* 0 - 42px */
  padding-left: clamp(0rem, -33.125rem + 44.17vw, 6.625rem); /* 0 - 106px */
  box-sizing: content-box;
}
.feature__highlight {
  font-weight: bold;
  font-size: clamp(1.25rem, 1.14rem + 0.47vw, 1.563rem);
  line-height: clamp(2.188rem, 1.967rem + 0.94vw, 2.813rem); /* 35px - 45px */
  letter-spacing: 0.05em;
  background: #fff23f;
}
.feature__image {
  width: clamp(20.625rem, -1.58rem + 46.2vw, 40rem); /* 330px - 640px */
}
/* レスポンシブ */
@media screen and (max-width: 768px) {
  .feature__top {
    background: url(../img/feature-bg-sp.webp) no-repeat center center / cover;
    background-size: 100% 100%;
  }
  .feature__header:after {
    bottom: -3px;
  }
  .feature__stat-number {
    margin-top: 30px;
    left: -1px;
  }
  .feature__stat-value {
    left: 5px;
    top: 5px;
  }
  .feature__stats {
    gap: 20px;
  }
  .feature__stat-note--outside {
    margin-top: -11px;
  }
  .feature__stat-number--small {
    margin-top: 7px;
    left: 5px;
  }
  .feature__stat-number--small.mt {
    margin-top: 48px;
  }
  .feature__stat-note {
    text-align: center;
  }
  .feature__stat-note--outside {
    text-align: left;
  }
  .feature__stat-unit {
    line-height: 1;
  }
  .feature__stat-row {
    padding-bottom: 24px;
  }
  .feature__stat-row:has(.feature__stat-number--small) {
    padding-bottom: 0;
  }
  .feature__stat-itemWrapper .feature__stat-note {
    padding-bottom: 4px;
  }
  .feature__stat-number--middle {
    margin-top: 19px;
    left: 7px;
  }
  .feature__stat-row:has(.feature__stat-number--middle) {
    padding-bottom: 10px;
  }
  .feature__bottom {
    flex-direction: column;
  }
  .feature__description-text {
    width: 100%;
    text-align: center;
  }
  .feature__image {
    width: 100%;
  }
}
@media screen and (max-width: 374px) {
  .feature__description-text {
    font-size: 12px;
  }
  .feature__highlight {
    font-size: 15px;
  }
}
/* 下部 */
.feature__list {
  background: url(../img/feature-bg2.webp) no-repeat center center / cover;
  background-size: 100% 100%;
  padding-block: clamp(3.438rem, 2.227rem + 5.16vw, 6.875rem)
    clamp(3.75rem, 1.439rem + 9.86vw, 10.313rem); /* 55px - 110px*/ /* 60px - 165px*/
  padding-inline: 15px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.feature__item {
  width: 100%;
  max-width: 1260px;
  margin-inline: auto;
  padding-block: clamp(1.375rem, 0.825rem + 2.35vw, 2.938rem)
    clamp(2.5rem, 1.4rem + 4.69vw, 5.625rem); /* 22x - 47px*/ /* 40px - 90px*/
  padding-inline: 15px;
  background: rgb(255, 255, 255, 0.85);
  border-top: 8px solid var(--sub-color);
  box-shadow: 0px 10px 15px rgba(85, 85, 85, 0.16);
}
.feature__item-inner {
  max-width: 800px;
  margin-inline: auto;
}
.feature__icon {
  width: clamp(3.375rem, 2.979rem + 1.69vw, 4.5rem); /* 54px - 72px*/
  margin-inline: auto;
}
.feature__item-title {
  font-weight: 500;
  font-size: clamp(1.438rem, 1.283rem + 0.66vw, 1.875rem); /* 23px - 30px*/
  letter-spacing: 0.05em;
  line-height: 46px;
  text-align: center;
  margin-top: 14px;
  position: relative;
}
.feature__item-title:after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 35px;
  height: 2px;
  background: var(--sub2-color);
}
.feature__item-stat {
  border-radius: 8px;
  margin-top: 40px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
.feature__item-note {
  font-weight: normal;
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 20px;
  margin-top: 15px;
}
.feature__item-note--small {
  font-size: 10px;
}
.feature__body {
  display: flex;
  gap: 43.6px;
  align-items: center;
  margin-top: 30px;
}
.feature__chart {
  width: 356.45px;
}
.feature__description {
  width: 400px;
  font-weight: normal;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 28px;
}
.feature__description2 {
  font-weight: normal;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 28px;
  margin-top: 10px;
}
/* レスポンシブ */
@media screen and (max-width: 768px) {
  .feature__item-title {
    margin-top: 9px;
  }
  .feature__item-title:after {
    bottom: -11px;
  }
  .feature__item-stat {
    min-height: 115px;
  }
  .feature__body {
    flex-direction: column;
  }
  .feature__chart {
    width: 100%;
  }
  .feature__description {
    width: 100%;
    margin-top: 13px;
  }
  .feature__body {
    margin-top: 25px;
    gap: 0;
  }
}
@media screen and (max-width: 374px) {
  .feature__item-title {
    font-size: 20px;
  }
}

/*----------------------------------------
//////////////////////////////////////////
//////////////////////////////////////////
	インタビュー
//////////////////////////////////////////
//////////////////////////////////////////
----------------------------------------*/
.interview {
  background: url(../img/interview-bg.webp) no-repeat center center / cover;
  background-size: 100% 100%;
  padding-block: clamp(3.75rem, 2.54rem + 5.16vw, 7.188rem)
    clamp(2.5rem, -2.21rem + 20.09vw, 15.875rem); /* 60px - 115px */ /* 40px - 254px */
}
.interview__title {
  position: relative;
}
.interview__subtitle {
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 46px;
  text-align: center;
  color: #fff;
}
.interview__maintitle {
  font-weight: bold;
  font-size: clamp(1.75rem, 1.596rem + 0.66vw, 2.188rem); /* 28px - 35px */
  letter-spacing: 0.05em;
  line-height: 46px;
  text-align: center;
  color: #fff;
  margin-top: clamp(0.188rem, -0.011rem + 0.85vw, 0.75rem); /* 3px - 12px */
}
.interview__title:after {
  content: "";
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  width: 65px;
  height: 3px;
  background: var(--accent-color);
}
.interview__list {
  display: flex;
  justify-content: space-between;
  margin-top: clamp(6.125rem, 5.641rem + 2.07vw, 7.5rem); /* 98px - 120px */
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 15px;
  box-sizing: content-box;
  gap: 30px;
}
.interview__item {
  position: relative;
  cursor: pointer;
}
.interview__item:nth-of-type(2) {
  top: 64px;
  right: 8px;
}
.interview__image {
  width: 545px;
  height: 447px;
  box-shadow: 0px 10px 15px rgba(16, 50, 61, 0.16);
  position: relative;
  left: 8px;
  padding: 10px;
}
.interview__image:after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: #0c52ae;
  opacity: 0.5;
  z-index: 1;
}
.interview__image-wrap {
  height: 315px;
  overflow: hidden;
  position: relative;
  z-index: 2;
}
.interview__image-wrap img {
  width: 100%;
  height: 100%;
  transition: 0.3s;
}
.interview__tag {
  position: absolute;
  top: -76px;
  left: -36px;
  z-index: 10;
}
.interview__tag img {
  width: 225px;
}
.interview__content {
  width: 470px;
  z-index: 10;
  letter-spacing: 0.05em;
  position: relative;
  margin-top: -177px;
}
.interview__content-wrap {
  padding: 27px 15px 10px;
  background: #fff;
}
.interview__text {
  font-weight: bold;
  font-size: 24px;
  background: linear-gradient(to bottom, #0078ff 0%, #0cf 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.interview__item:nth-of-type(2) .interview__text {
  background: linear-gradient(to right, #0078ff 0%, #0cf 50%, #0cf 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.interview__info {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 19px;
  margin-top: 6px;
}
.interview__info-item {
  display: flex;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 20px;
  gap: 10px;
}
.interview__info-label {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: normal;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 20px;
  color: #fff;
  padding-inline: 7px;
  height: 20px;
  border-radius: 3px;
  background: var(--sub-color);
}
.interview__name {
  text-align: right;
  margin-top: 18px;
  right: -5px;
  position: relative;
}
.interview__name img {
  width: 135.55px;
}
.interview__more {
  cursor: pointer;
  text-align: center;
  height: 64px;
  display: grid;
  place-content: center;
  position: relative;
}
.interview__more:before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: var(--main-color);
  /* ホバー準備 */
  transition: 0.3s;
  opacity: 1;
  visibility: visible;
}
.interview__more:after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, #00cbfe 0%, #0279ff 62%, #00cbfe 100%);
  /* ホバー準備 */
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
}
.interview__more-text {
  font-family: var(--font-family-ja2);
  font-weight: normal;
  font-style: italic;
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
  position: relative;
  z-index: 10;
}
.interview__more-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 6px;
  width: 53px;
  height: 53px;
  background: linear-gradient(to bottom, #0078ff 0%, #0cf 100%);
  /* ホバー準備 */
  transition: 0.6s;
  z-index: 11;
}
.interview__more-icon:before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.5px;
  height: 15.88px;
  background: #fff;
}
.interview__more-icon:after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 15.88px;
  height: 1.5px;
  background: #fff;
}
/* ホバー */
@media screen and (min-width: 769px) {
  .interview__item:hover .interview__more:before {
    opacity: 0;
    visibility: hidden;
  }
  .interview__item:hover .interview__more:after {
    opacity: 1;
    visibility: visible;
  }
  .interview__item:hover .interview__more .interview__more-icon {
    background: transparent;
  }
  .interview__item:hover .interview__image-wrap img {
    transform: scale(1.04);
  }
}
/* レスポンシブ */
@media screen and (max-width: 1200px) {
  .interview__list {
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .interview {
    background: url(../img/interview-bg-sp.webp) no-repeat center center / cover;
  }
  .interview__list {
    gap: 76px;
  }
  .interview__item {
    width: 100%;
    max-width: 420px;
  }
  .interview__title:after {
    bottom: -15px;
  }
  .interview__image {
    width: 100%;
    left: 0;
    padding: 15px;
  }
  .interview__content {
    width: calc(100% - 30px);
  }
  .interview__tag {
    top: -60px;
    left: -5px;
  }
  .interview__tag img {
    width: 180px;
    height: 103px;
  }
  .interview__content {
    margin-top: -172px;
  }
  .interview__text {
    font-size: 18px;
  }
  .interview__content-wrap {
    padding: 18px 15px 15px;
  }
  .interview__info {
    margin-top: 12px;
  }
  .interview__name {
    margin-top: 16px;
    right: 4px;
  }
  .interview__name img {
    width: 112.81px;
  }
  .interview__more {
    height: 44px;
  }
  .interview__more-text {
    font-size: 16px;
  }
  .interview__more-icon {
    width: 35px;
    height: 35px;
  }
  .interview__more-icon:before {
    height: 10.57px;
  }
  .interview__more-icon:after {
    width: 10.57px;
  }
  .interview__item:nth-of-type(2) {
    top: 0;
    right: 0;
  }
}
@media screen and (max-width: 374px) {
  .interview__text {
    font-size: 14px;
  }
}

/*----------------------------------------
//////////////////////////////////////////
//////////////////////////////////////////
	募集要項
//////////////////////////////////////////
//////////////////////////////////////////
----------------------------------------*/
.recruit {
  background: linear-gradient(to bottom, #0078ff 0%, #0cf 100%);
}
.recruit__header {
  background: url(../img/recruit-head.webp) no-repeat center center / cover;
  padding: clamp(2.625rem, 1.989rem + 2.71vw, 4.431rem) 15px
    clamp(3.75rem, 2.21rem + 6.57vw, 8.125rem);
  /* 42px - 70.9px */ /* 15px */ /* 60px - 130px */
}
.recruit__header-treat {
  width: clamp(12.5rem, 11.337rem + 4.96vw, 15.803rem); /* 200px - 252.85px */
  margin-inline: auto;
}
.recruit__subtitle {
  width: clamp(21.563rem, 16.79rem + 20.36vw, 35.117rem); /* 345px - 561.87px */
  margin-inline: auto;
  margin-top: 10px;
}
.recruit__maintitle {
  font-weight: bold;
  font-size: clamp(1.438rem, 1.283rem + 0.66vw, 1.875rem); /* 23px - 30px */
  letter-spacing: 0.05em;
  line-height: 46px;
  text-align: center;
  color: #fff;
  position: relative;
  margin-top: 10px;
}
.recruit__maintitle:after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 65px;
  height: 3px;
  background: var(--accent-color);
}
.recruit__wrapper {
  max-width: 1000px;
  width: calc(100% - 30px);
  margin-inline: auto;
  padding-block: clamp(1.625rem, 1.273rem + 1.5vw, 2.625rem)
    clamp(2.25rem, 1.502rem + 3.19vw, 4.375rem); /* 26px - 42px */ /* 36px - 70px */
  background: var(--main-color);
  color: #fff;
  max-width: 1000px;
  margin-inline: auto;
  background: var(--main-color);
  color: #fff;
  margin-top: -70px;
}
.recruit__content {
  max-width: 700px;
  margin-inline: auto;
  padding-inline: 15px;
  box-sizing: content-box;
  display: flex;
  flex-direction: column;
  gap: clamp(0.625rem, 0.493rem + 0.56vw, 1rem); /* 10px - 16px */
}
.recruit__content-title {
  font-weight: 500;
  font-size: clamp(0.938rem, 0.827rem + 0.47vw, 1.25rem); /* 15px - 20px */
  letter-spacing: 0.05em;
  line-height: 46px;
  color: #fff;
  border-bottom: 1px solid #fff;
}
.recruit__content-list {
  margin-top: 8px;
}
.recruit__content-item {
  font-weight: normal;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 28px;
  color: #fff;
  position: relative;
  padding-left: 16px;
}
.recruit__content-item:before {
  content: "";
  position: absolute;
  top: 13px;
  left: 6px;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #fff;
}
.recruit__guidance {
  max-width: 1000px;
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  padding-block: clamp(1.5rem, 1.368rem + 0.56vw, 1.875rem)
    clamp(3.438rem, 2.007rem + 6.1vw, 7.5rem); /* 24px - 30px */ /* 55px - 120px */
}
.recruit__guidance-content {
  min-width: clamp(21.563rem, 16.831rem + 20.19vw, 35rem); /* 345px - 560px */
  min-height: 385px;
  border: 4px solid;
  -o-border-image: linear-gradient(
    #c1a340 0%,
    #fff 26.87%,
    #f9e9b5 57.73%,
    #9e8430 82.85%,
    #eed688 92.05%,
    #b79b3f 100%
  );
  border-image: linear-gradient(
    #c1a340 0%,
    #fff 26.87%,
    #f9e9b5 57.73%,
    #9e8430 82.85%,
    #eed688 92.05%,
    #b79b3f 100%
  );
  border-image-slice: 1;
  background: rgb(255, 255, 255, 0.95);
  margin-top: 168px;
  padding: clamp(2.813rem, 2.262rem + 2.35vw, 4.375rem)
    clamp(0.625rem, 0.295rem + 1.41vw, 1.563rem)
    clamp(2.375rem, 1.671rem + 3vw, 4.375rem);
  /* 45px - 70px */ /* 15px - 25px */ /* 38px - 70px */
  position: relative;
  z-index: 2;
}
.recruit__guidance-title {
  font-weight: 500;
  font-size: clamp(1.438rem, 1.283rem + 0.66vw, 1.875rem); /* 23px - 30px */
  letter-spacing: 0.05em;
  line-height: clamp(2.25rem, 1.986rem + 1.13vw, 3rem); /* 36px - 48px */
}
.recruit__guidance-image {
  min-width: clamp(
    21.563rem,
    17.909rem + 15.59vw,
    31.938rem
  ); /* 345px - 511px */
  position: relative;
  right: 50px;
}
.recruit__guidance-description {
  font-weight: normal;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 28px;
  margin-top: clamp(1rem, 0.912rem + 0.38vw, 1.25rem);
}
.recruit__guidance-text {
  position: absolute;
  top: -12px;
  right: 3px;
  width: 140px;
}
/* レスポンシブ */
@media screen and (min-width: 1441px) {
  .recruit__header {
    padding: 4.923611111111112vw 15px 9.027777777777777vw;
  }
}
@media screen and (max-width: 768px) {
  .recruit__header {
    background: url(../img/recruit-head-sp.webp) no-repeat center center / cover;
  }
  .recruit__maintitle:after {
    bottom: -11px;
  }
  .recruit__wrapper {
    margin-top: -30px;
  }
  .recruit__guidance {
    flex-direction: column-reverse;
  }
  .recruit__guidance-image {
    right: 0;
    width: 345px;
    align-self: flex-end;
  }
  .recruit__guidance-content {
    margin-top: -80px;
    width: 345px;
    min-height: initial;
  }
  .recruit__guidance-text {
    top: -18px;
    right: -9px;
    width: 100px;
  }
}
@media screen and (max-width: 374px) {
  .recruit__guidance-image {
    width: 100%;
    min-width: 100%;
  }
  .recruit__guidance-content {
    width: 100%;
    min-width: 100%;
  }
}

/*----------------------------------------
//////////////////////////////////////////
//////////////////////////////////////////
	選考の流れ
//////////////////////////////////////////
//////////////////////////////////////////
----------------------------------------*/
.flow {
  padding-inline: 15px;
}
.flow__inner {
  max-width: 800px;
  margin-inline: auto;
  padding-block: clamp(3.25rem, 1.754rem + 6.38vw, 7.5rem)
    clamp(0rem, -1.651rem + 7.04vw, 4.688rem); /* 52px - 120px */ /* 0 - 75px */
}
.flow__title {
  font-weight: bold;
  font-size: clamp(1.75rem, 1.596rem + 0.66vw, 2.188rem); /* 28px - 35px */
  letter-spacing: 0.05em;
  line-height: 36px;
  text-align: center;
  position: relative;
}
.flow__title:after {
  content: "";
  position: absolute;
  bottom: -29px;
  left: 50%;
  transform: translateX(-50%);
  width: 65px;
  height: 3px;
  background: linear-gradient(to right, #0078ff 0%, #0cf 100%);
}
.flow__step {
  margin-top: clamp(3.25rem, 2.634rem + 2.63vw, 5rem); /* 52px - 80px */
}
.flow__entry {
  margin-top: clamp(1.875rem, 1.721rem + 0.66vw, 2.313rem); /* 30px - 37px */
  padding: clamp(1.563rem, 0.88rem + 2.91vw, 3.5rem)
    clamp(0.625rem, -0.145rem + 3.29vw, 2.813rem)
    clamp(3.313rem, 2.652rem + 2.82vw, 5.188rem);
  /* 25px - 56px */ /* 10px - 45px */ /* 53px - 83px */
  border: 4px solid;
  -o-border-image: linear-gradient(
    #c1a340 0%,
    #fff 26.87%,
    #f9e9b5 57.73%,
    #9e8430 82.85%,
    #eed688 92.05%,
    #b79b3f 100%
  );
  border-image: linear-gradient(
    #c1a340 0%,
    #fff 26.87%,
    #f9e9b5 57.73%,
    #9e8430 82.85%,
    #eed688 92.05%,
    #b79b3f 100%
  );
  border-image-slice: 1;
  background: url(../img/flow-entry-bg.webp) no-repeat center center / cover;
  position: relative;
}
.flow__entry:after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0.85;
  z-index: 1;
}
.flow__entry-content {
  position: relative;
  z-index: 2;
}
.flow__entry-logo {
  width: clamp(2.125rem, 1.421rem + 3vw, 4.125rem); /* 34px - 66px */
  margin-inline: auto;
}
.flow__entry-title {
  font-weight: bold;
  font-size: clamp(1.563rem, 1.342rem + 0.94vw, 2.188rem); /* 25px - 35px */
  letter-spacing: 0.05em;
  line-height: clamp(3.125rem, 2.795rem + 1.41vw, 4.063rem); /* 50px - 65px */
  text-align: center;
  margin-top: clamp(1.25rem, 1.184rem + 0.28vw, 1.438rem); /* 20px - 23px */
  padding-left: clamp(0rem, -0.22rem + 0.94vw, 0.625rem); /* 0 - 10px */
}
.flow__entry-description {
  font-weight: normal;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 28px;
  margin-top: 30px;
}
.flow__entry--highlight {
  background: var(--accent-color);
}
.flow__entry--large {
  font-weight: bold;
}
.flow__addresses {
  text-align: center;
  border-top: 1px solid var(--main-color);
  padding-top: clamp(1.25rem, 0.92rem + 1.41vw, 2.188rem); /* 20px - 35px */
  margin-top: 35px;
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.758rem + 1.03vw, 1.688rem); /* 16px - 27px */
}
.flow__address {
  font-weight: normal;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 28px;
}
.flow__address strong {
  font-weight: bold;
}
/* レスポンシブ */
@media screen and (max-width: 768px) {
  .flow__entry {
    background: url(../img/flow-entry-bg-sp.webp) no-repeat center center /
      cover;
  }
  .flow__title:after {
    bottom: -20px;
  }
  .flow__addresses {
    text-align: left;
  }
}
@media screen and (max-width: 374px) {
  .flow__entry-title {
    font-size: 20px;
  }
}

/*----------------------------------------
//////////////////////////////////////////
//////////////////////////////////////////
	セミナー
//////////////////////////////////////////
//////////////////////////////////////////
----------------------------------------*/
.seminar {
  background: url(../img/seminar-bg.webp) no-repeat center center / cover;
  padding: clamp(5.625rem, 4.701rem + 3.94vw, 8.25rem) 15px
    clamp(3.625rem, 3.075rem + 2.35vw, 5.188rem);
  /* 90px - 132px */ /* 58px - 83px */
  width: 100%;
}
.modal__member .seminar {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  z-index: 20000;
  position: relative;
  padding-inline: 5px;
}
.seminar__cta {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.seminar__text {
  font-weight: 500;
  font-size: clamp(1.375rem, 1.001rem + 1.6vw, 2.438rem); /* 22px - 39px */
  letter-spacing: 0.03em;
  line-height: clamp(2.75rem, 2.002rem + 3.19vw, 4.875rem); /* 44px - 78px */
  text-align: center;
  color: #fff;
}
.seminar__text--highlight {
  color: var(--accent-color);
}
.seminar__location {
  font-weight: normal;
  font-size: clamp(0.938rem, 0.761rem + 0.75vw, 1.438rem); /* 15px - 23px */
  letter-spacing: 0.03em;
  line-height: clamp(2.875rem, 2.325rem + 2.35vw, 4.438rem); /* 46px - 71px */
  text-align: center;
  color: #fff;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: clamp(0.375rem, 0.287rem + 0.38vw, 0.625rem); /* 6px - 10px */
}
.seminar__location:before {
  content: "";
  display: flex;
  align-items: center;
  width: 1px;
  height: 20px;
  transform: rotate(-40deg);
  background: #fff;
  position: relative;
  left: -18px;
}
.seminar__location:after {
  content: "";
  width: 1px;
  height: 20px;
  transform: rotate(40deg);
  background: #fff;
  position: relative;
  right: -18px;
}
.seminar__location--highlight {
  font-size: clamp(1.25rem, 1.008rem + 1.03vw, 1.938rem); /* 20px - 31px */
  color: var(--accent-color);
  top: -5px;
  position: relative;
}
.seminar__cta {
  max-width: 466px;
  margin-inline: auto;
}
/* レスポンシブ */
@media screen and (min-width: 1441px) {
  .seminar {
    padding: 9.166666666666666vw 15px 5.763888888888889vw;
  }
}
@media screen and (max-width: 768px) {
  .seminar {
    background: url(../img/seminar-bg-sp.webp) no-repeat center center / cover;
    margin-top: -29px;
    padding-inline: 10px;
  }
  .seminar__location--highlight {
    top: -2px;
  }
  .seminar__location:before {
    height: 16px;
    transform: rotate(-45deg);
    left: -10px;
  }
  .seminar__location:after {
    height: 16px;
    transform: rotate(45deg);
    right: -10px;
  }
}
@media screen and (max-width: 374px) {
  .seminar__text {
    font-size: 19px;
  }
  .seminar__location {
    font-size: 13px;
  }
}

/*----------------------------------------
//////////////////////////////////////////
//////////////////////////////////////////
	フッター
//////////////////////////////////////////
//////////////////////////////////////////
----------------------------------------*/
.footer {
  padding: clamp(1.875rem, -0.348rem + 9.48vw, 8.188rem) 15px
    clamp(11.25rem, 9.71rem + 6.57vw, 15.625rem);
  /* 30px - 131px */ /* 15px */ /* 180px - 250px */
}
.footer__logo {
  width: 62px;
  margin-inline: auto;
}
.footer__copyright {
  display: block;
  text-align: center;
  font-family: var(--font-family-en);
  font-weight: normal;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 12px;
}

/*----------------------------------------
//////////////////////////////////////////
//////////////////////////////////////////
	メンバー
//////////////////////////////////////////
//////////////////////////////////////////
----------------------------------------*/
.modal__member {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  inset: 0;
  overflow: scroll;
  background-color: rgba(0, 107, 206, 0.8);
  transition: 1s ease-in-out;
  z-index: 10000;
}
.modal__member.is-active {
  opacity: 1;
  visibility: visible;
}
.modal__member .modal__content {
  height: auto;
  position: relative;
  margin: 140px auto 60px;
  max-width: 1160px;
  background-color: white;
}
.modal__member .modal__head {
  position: absolute;
  top: 286px;
  left: 30px;
}
.modal__member .modal__image img {
  width: 100%;
}
.modal__member .modal__block {
  position: relative;
  z-index: 1;
  margin-top: -136px;
  padding-bottom: 130px;
}
.modal__member .modal__block.-member02 {
  padding-bottom: 190px;
}
.modal__member .modal__block .modal__dream {
  position: absolute;
  z-index: 1;
  top: 6px;
  right: 162px;
}
.modal__member .modal__outer {
  position: absolute;
  top: 222px;
  right: 90px;
  margin-left: 90px;
  padding: 66px 60px 47px;
  max-width: 560px;
  background-color: #fff;
}
.modal__member .modal__outer .modal__sub {
  display: flex;
  padding-bottom: 12px;
  color: #006bce;
  font-size: 22px;
  font-weight: bold;
}
.modal__member .modal__outer .modal__text {
  font-size: 16px;
  line-height: 2.1;
}
.modal__member .modal__description-sub {
  display: flex;
  padding: 120px 90px 14px;
  background-image: url(../img/modal_member_mask.webp);
  background-repeat: no-repeat;
  background-size: cover;
  color: #006bce;
  font-size: 22px;
  font-weight: bold;
}
@media screen and (max-width: 1200px) {
  .modal__member .modal__head {
    top: 25.83333vw;
    width: 34.75vw;
  }
}
@media screen and (max-width: 768px) {
  .modal__member .modal__head {
    top: 61.6vw;
    left: 5.33333vw;
    width: 80vw;
  }
}
@media screen and (max-width: 1600px) {
  .modal__member .modal__block {
    margin-top: -8.5vw;
  }
}
@media screen and (max-width: 1120px) {
  .modal__member .modal__block {
    padding-bottom: 160px;
  }
}
@media screen and (max-width: 768px) {
  .modal__member .modal__block {
    margin-top: -26.66667vw;
    padding-bottom: 18.13333vw;
  }
}
@media screen and (max-width: 1120px) {
  .modal__member .modal__block.-member02 {
    padding-bottom: 240px;
  }
}
@media screen and (max-width: 768px) {
  .modal__member .modal__block.-member02 {
    padding-bottom: 18.13333vw;
  }
}
@media screen and (max-width: 1600px) {
  .modal__member .modal__block .modal__caption img {
    width: 53.125vw;
  }
}
@media screen and (max-width: 768px) {
  .modal__member .modal__block .modal__caption img {
    width: 100%;
  }
}
@media screen and (max-width: 1120px) {
  .modal__member .modal__block .modal__dream {
    width: 37.32143vw;
  }
}
@media screen and (max-width: 768px) {
  .modal__member .modal__block .modal__dream {
    display: none;
  }
}
@media screen and (max-width: 1600px) {
  .modal__member .modal__outer {
    top: 13.875vw;
    right: 5.625vw;
  }
}
@media screen and (max-width: 768px) {
  .modal__member .modal__outer {
    position: static;
    margin-left: 0;
    padding: 0 5.33333vw;
    max-width: none;
  }
}
@media screen and (max-width: 768px) {
  .modal__member .modal__outer .modal__sub {
    padding: 9.06667vw 0 1.86667vw;
    font-size: 4.26667vw;
  }
}
@media screen and (max-width: 768px) {
  .modal__member .modal__outer .modal__text {
    font-size: 3.2vw;
    line-height: 2;
  }
}
@media screen and (max-width: 845px) {
  .modal__member .modal__description-sub {
    padding-top: 160px;
  }
}
@media screen and (max-width: 768px) {
  .modal__member .modal__description-sub {
    padding: 11.46667vw 5.33333vw 2.93333vw;
    font-size: 4.26667vw;
  }
}
.modal__member .modal__description {
  display: flex;
  padding: 0 90px 120px;
  background-image: url(../img/modal_member_mask.webp);
  background-repeat: no-repeat;
  background-size: cover;
  flex-flow: row;
}
@media screen and (max-width: 768px) {
  .modal__member .modal__description {
    padding: 0 5.33333vw 33.33333vw;

    flex-flow: column;
  }
}
.modal__member .modal__description .modal__text {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .modal__member .modal__description .modal__text {
    flex-direction: column;
    line-height: 1.8;
  }
}
.modal__member .modal__description .modal__text span {
  display: block;
  width: 47%;
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .modal__member .modal__description .modal__text span {
    width: 100%;
    line-height: 1.8;
  }
}
.modal__member .modal__profile {
  display: flex;
  padding: 0 98px 55px;

  flex-wrap: wrap;
}
@media screen and (max-width: 1600px) {
  .modal__member .modal__profile {
    padding: 0 6.125vw 55px;
  }
}
@media screen and (max-width: 768px) {
  .modal__member .modal__profile {
    padding: 0 5.33333vw 8.8vw;

    flex-flow: column;
  }
}
.modal__member .modal__profile .modal__profile__img {
  position: relative;
  margin-top: 48px;
  width: 50%;
}
@media screen and (max-width: 768px) {
  .modal__member .modal__profile .modal__profile__img {
    margin-top: -24vw;
    width: 100%;
    flex: auto 1 0;
  }
}
.modal__member .modal__profile .modal__profile__img .modal__dream {
  position: absolute;
  top: -187px;
  right: -392px;
}
@media screen and (max-width: 1120px) {
  .modal__member .modal__profile .modal__profile__img .modal__dream {
    right: -21.42857vw;
    width: 37.32143vw;
  }
}
@media screen and (max-width: 768px) {
  .modal__member .modal__profile .modal__profile__img .modal__dream {
    display: none;
  }
}
.modal__member .modal__profile .modal__profile__detail {
  padding-top: 150px;
  padding-left: 67px;
  width: 50%;
}
@media screen and (max-width: 1600px) {
  .modal__member .modal__profile .modal__profile__detail {
    padding-top: 9.375vw;
    padding-left: 4.1875vw;
  }
}
@media screen and (max-width: 768px) {
  .modal__member .modal__profile .modal__profile__detail {
    padding: 8vw 0 0;
    width: 100%;

    flex: auto 1 0;
  }
}
.modal__member .modal__profile .modal__profile__outer:first-child {
  padding-bottom: 65px;
}
@media screen and (max-width: 768px) {
  .modal__member .modal__profile .modal__profile__outer:first-child {
    padding-bottom: 8vw;
  }
}
.modal__member .modal__profile .modal__profile__outer .modal__profile__sub {
  display: flex;
  padding-bottom: 10px;
  color: #006bce;
  font-size: 22px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .modal__member .modal__profile .modal__profile__outer .modal__profile__sub {
    padding-bottom: 3.73333vw;
    font-size: 4.26667vw;
  }
}
.modal__member .modal__profile .modal__profile__outer .modal__profile__text {
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .modal__member .modal__profile .modal__profile__outer .modal__profile__text {
    line-height: 1.7;
  }
}
.modal__member .modal__profile .modal_profule_under .modal__description-sub {
  display: flex;
  padding: 84px 0 9px;
  background: transparent;
}
@media screen and (max-width: 768px) {
  .modal__member .modal__profile .modal_profule_under .modal__description-sub {
    padding: 0 0 3.2vw;
  }
}
.modal__member .modal__profile .modal_profule_under .modal__description {
  padding: 0;
  background: transparent;
}
.modal__close {
  position: absolute;
  z-index: 2;
  padding: 0;
  border: none;
  outline: inherit;
  outline: none;
  width: 76px;
  height: 76px;
  cursor: pointer;
  transition: transform 0.3s, background-position 0.3s;
  transform: scale(1);
  background: linear-gradient(45deg, #00cbfe 0%, #0279ff 62%, #00cbfe 100%);
  background-color: transparent;
  background-position: 0;
  background-size: 200% 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  top: -33px;
  right: 20px;
}
.modal__close::before,
.modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 33px;
  height: 1px;
  transition: transform 0.3s;
  transform: translate(-50%, -50%);
  background-color: #fff;
}
body:has(.modal__member.is-active) {
  overflow-y: hidden;
}
/* ホバー */
@media screen and (min-width: 769px) {
  .modal__close:hover {
    background-position: 100% 0;
  }
}
.modal__close::before {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal__close::after {
  transform: translate(-50%, -50%) rotate(45deg);
}
@media screen and (min-width: 769px) {
  .modal__member {
    padding-inline: 5.33333vw;
  }
}
@media screen and (max-width: 768px) {
  .modal__member .modal__content {
    margin: 10.66667vw 5.33333vw;
  }
  .modal__member .modal__close {
    width: 10.66667vw;
    height: 10.66667vw;
    top: -4.4vw;
  }
  .modal__member .modal__close::before,
  .modal__member .modal__close::after {
    width: 6.66667vw;
  }
  .modal__member .modal__description .modal__text span,
  .modal__member .modal__profile .modal__profile__outer .modal__profile__text {
    font-size: 3.2vw;
    line-height: 2;
  }
}

/*----------------------------------------
//////////////////////////////////////////
//////////////////////////////////////////
	追従バナー
//////////////////////////////////////////
//////////////////////////////////////////
----------------------------------------*/
.fixed__banner {
  position: fixed;
  bottom: 0;
  left: 0;
  background: var(--main-color);
  width: 100%;
  padding-block: 5px;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.625rem, -2.004rem + 5.47vw, 2.919rem); /* 10px - 46.7px */
  padding-inline: clamp(0.625rem, -9.797rem + 21.68vw, 9.719rem)
    clamp(0.625rem, -14.202rem + 30.85vw, 13.563rem); /* 10px - 155.5px */ /* 10px - 217px */
}
.fixed__banner-text {
  width: clamp(19.688rem, 2.51rem + 35.74vw, 34.676rem); /* 315px - 554.81px */
}
@media screen and (max-width: 768px) {
  .fixed__banner {
    flex-direction: column;
  }
}
