@charset "utf-8";

/* .m-plus-rounded-1c-medium {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.m-plus-rounded-1c-bold {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
} */

:root {
  --black: #585858;
  --white: #ffffff;
  --red01: #ff3232;
  --pink01: #f882a0;
  --pink02: #ffc0cf;
  --orange01: #f7931e;
  --orange02: #ff9800;
  --orange03: #fbb03b;
  --orange04: #ff9700;
  --orange05: #ffd6ab;
  --yellow01: #ecd100;
  --yellow02: #ffff00;
  --yellow03: #fef0bb;
  --green01: #9aca5f;
  --green02: #58d120;
  --green03: #cfe7b2;
  --green04: #76ba6b;
  --blue01: #1ebfea;
  --blue02: #96d0ea;
  --blue03: #79c3e4;
  --blue04: #c2e4f3;
  --blue05: #6ebee2;
  --blue06: #ddf3fc;
  --blue07: #e7f4fa;

  --ZenKaku: "Zen Kaku Gothic New";
  --m-plus: "M PLUS Rounded 1c";

  --header-height90: 90px;
  --header-height70: 70px;

  /* font-weight */
  --weightMedium: 500;
  --weightBold: 700;
  --weightBlack: 900;

  /* font */
  --size17: 1.7rem;
  --size19: 1.9rem;
  --size20: 2rem;
  --size22: 2.2rem;
  --size23: 2.3rem;
  --size24: 2.4rem;
  --size25: 2.5rem;
  --size26: 2.6rem;
  --size28: 2.8rem;
  --size30: 3rem;
  --size32: 3.2rem;
  --size36: 3.6rem;
  --size40: 4rem;
  --size45: 4.5rem;
  --size50: 5rem;
  --size60: 6rem;

  /* 行間 */
  --line12: 1.2;
  --line13: 1.3;
  --line14: 1.4;
  --line15: 1.5;
  --line16: 1.6;

  /* 文字間 */
  --fontSpace050: 0.05em;
  --fontSpace100: 0.1em;

  /* border-radius */
  --border10: 10px;
  --border20: 20px;
  --border25: 25px;
  --border50: 50px;
  --borderMv: 1.4285vw;

  --transitionBase01: all 0.3s ease-in-out;
}

@media (max-width: 1100px) {
  :root {
    --size26: 2.2rem;
  }
}

@media (max-width: 1024px) {
  :root {
    --size60: 5.5rem;
    --size45: 4rem;
    --size36: 3.3rem;
    --size25: 2.3rem;
  }
}

@media (max-width: 860px) {
  :root {
    --size60: 5rem;
    --size50: 4rem;
    --size45: 3.7rem;
    --size28: 2.6rem;
  }
}

@media (max-width: 768px) {
  :root {
    --size60: 4.3rem;
    --size50: 3.3rem;
    --size45: 3.3rem;
    --size40: 3.6rem;
    --size36: 3rem;
    --size32: 2.8rem;
    --size30: 2.8rem;
    --size28: 2.4rem;
    --size26: 2rem;
    --size24: 2rem;
    --size23: 2rem;
    --size22: 1.8rem;
    --size20: 1.8rem;

    --borderMv: 2.6041666vw;
  }
}

@media (max-width: 630px) {
  :root {
    --size60: 4rem;
    --size50: 3rem;
    --size45: 3rem;
    --size28: 2rem;
    --size19: 1.7rem;
  }
}

@media (max-width: 480px) {
  :root {
    --size60: 2.9rem;
    --size50: 2.6rem;
    --size45: 2.6rem;
    --size36: 2.4rem;
    --size40: 2.8rem;
    --size32: 2.2rem;
    --size30: 2rem;
    --size28: 1.9rem;
    --size26: 1.9rem;
    --size24: 1.8rem;
    --size23: 1.8rem;
    --size22: 1.7rem;
    --size20: 1.6rem;
    --size19: 1.6rem;
    --size17: 1.5rem;
  }
}

@media (max-width: 375px) {
  :root {
    --size60: 2.4rem;
    --size50: 2.4rem;
    --size45: 2.2rem;
    --size40: 2.4rem;
    --size36: 2rem;

    --size32: 1.6rem;
    --size28: 1.6rem;
    --size26: 1.6rem;
    --size23: 1.6rem;
    --size20: 1.6rem;
    --size17: 1.4rem;
  }
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--ZenKaku);
  color: var(--black);
  font-size: var(--size17);
  font-weight: var(--weightBlack);
  line-height: var(--line16);
  letter-spacing: var(--fontSpace050);
  background-color: var(--white);
  text-align: justify;
}

/* ↓↓↓↓ヘッダー分MVを下げる↓↓↓↓ */
main,
.confirmationContainer {
  margin-top: 114px;
}

@media (max-width: 768px) {
  main,
  .confirmationContainer {
    margin-top: 0;
  }
}

/*******************************************************
ヘッダー
*******************************************************/

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-height90);
  z-index: 5;
  background-color: var(--white);
  padding-left: 1%;
  transition: position 0.3s;
}

.header-inner {
  display: flex;
  height: 100%;
  justify-content: space-between;
  align-items: center;
}

.header-left {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 2rem;
  flex-shrink: 0;
  /* 左側を縮ませない */
}

.logo img {
  max-width: 300px;
  width: 100%;
  display: block;
}

.recruit-logo img {
  max-width: 147px;
  width: 100%;
  display: block;
}

.header-right {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 2.8rem;
  flex: 1;
  min-width: 0;
  height: 100%;
}

.tel {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: var(--size30);

  &:hover {
    opacity: 0.6;
  }

  .teltxt {
    display: block;
    font-size: 0.53em;
    font-family: var(--m-plus);
    text-align: center;
    line-height: var(--line12);
  }

  .teltxt02 {
    display: block;
    font-size: 0.46em;
  }

  .number {
    display: block;
    position: relative;
    font-size: 1em;
    font-family: var(--m-plus);
    color: var(--green01);
    text-align: center;
    line-height: 1;
    margin: 5px 0;
  }

  .number::before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 0.64em;
    aspect-ratio: 20 / 24;
    /* アスペクト比(横・縦) */
    background: url("../image/common/tel_icon.png") no-repeat center/contain;
    vertical-align: middle;
    transform: translate(-100%, 9%);
    top: 10%;
    left: -2%;
  }
}

/* @media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
} */

/* ヘッダーボタン */
.header-btn {
  width: 220px;
  height: 100%;
  flex-shrink: 0;
  background: var(--green01);
}

.header-button {
  font-size: 19px;
  font-family: var(--m-plus);
  font-weight: var(--weightMedium);
  color: var(--white);
  line-height: var(--line13);
}

@media (max-width: 1024px) {
  .logo img {
    max-width: 280px;
  }

  .recruit-logo img {
    max-width: 130px;
  }

  .header-right {
    align-items: center;
  }

  .tel {
    font-size: 20px;
  }

  .header-btn {
    width: 180px;
  }

  .header-button {
    font-size: 1.7rem;
  }
}

@media (max-width: 860px) {
  .logo img {
    max-width: 270px;
  }

  .recruit-logo img {
    max-width: 110px;
  }

  .header-right {
    gap: 1rem;
  }

  .header-btn {
    width: 155px;
  }

  .header-button {
    font-size: 1.5rem;
  }
}

@media (max-width: 768px) {
  .header {
    position: static;
    height: var(--header-height70);
  }

  .header-right {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 10;
    flex: initial;
    width: 100%;
    height: 70px;
    justify-content: center;
    align-items: initial;
    gap: 0;
    border-top: 1px solid var(--white);
    opacity: 0;
    visibility: hidden;
    transition: var(--transitionBase01);

    &.show {
      opacity: 1;
      visibility: visible;
    }
  }

  .tel {
    width: 100%;
    flex-basis: 50%;
    background-color: var(--white);

    &:hover {
      opacity: 1;
    }
  }

  .header-btn {
    width: 100%;
    flex-basis: 50%;
  }
}

@media (max-width: 480px) {
  .header-left {
    gap: 1rem;
  }

  .logo img {
    max-width: 230px;
  }

  .recruit-logo img {
    max-width: 100px;
  }
}

@media (max-width: 375px) {
  .logo img {
    max-width: 180px;
  }

  .recruit-logo img {
    max-width: 90px;
  }

  .teltxt {
    font-size: 1.2rem;
  }

  .number {
    font-size: 1.8rem;
  }
}

/*******************************************************
共通
*******************************************************/

.section-inner {
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
}

@media (max-width: 1100px) {
  .section-inner {
    padding-right: max(5%, 20px);
    padding-left: max(5%, 20px);
  }
}

.sc-pd {
  padding: 115px 20px 35px;
}

.sec-outer {
  background-repeat: repeat;
  background-size: min(50%, 34px);
  background-position: center;
}

@media (max-width: 768px) {
  .section-inner {
    padding-right: max(5%, 20px);
    padding-left: max(5%, 20px);
  }

  .sc-pd {
    padding: 80px 20px 35px;
  }
}

.spc-100 {
  letter-spacing: var(--fontSpace100);
}

/* color */
.txt-green01 {
  color: var(--green01);
}

.txt-green04 {
  color: var(--green04);
}

.txt-pink {
  color: var(--pink01);
}

.txt-blue01 {
  color: var(--blue02);
}

.txt-blue02 {
  color: var(--blue03);
}

.txt-blue03 {
  color: var(--blue05);
}

.txt-orange01 {
  color: var(--orange01);
}

.txt-orange02 {
  color: var(--orange02);
}

.txt-yellow {
  color: var(--yellow02);
}

.b-blue04 {
  background: var(--blue04);
}

.b-blue05 {
  background: var(--blue05);
}

.b-pink01 {
  background: var(--pink02);
}

.b-pink02 {
  background: var(--pink01);
}

.b-orange01 {
  background: var(--orange01);
}

.b-orange05 {
  background: var(--orange05);
}

.b-green04 {
  background: var(--green04);
}

/* text */
.sec-ttl {
  font-size: var(--size60);
  text-align: center;
  line-height: var(--line12);
}

.sub-txt {
  font-size: var(--size28);
  font-family: var(--m-plus);
  text-align: center;
  line-height: var(--line13);
  padding-top: 20px;
}

.ttl {
  font-size: var(--size50);
  text-align: center;
  line-height: var(--line14);
}

.size-36 {
  font-size: var(--size36);
}

.size-40 {
  font-size: var(--size40);
}

.size-45 {
  font-size: var(--size45);
}

.section-subTtl {
  font-size: var(--size36);
  font-family: var(--m-plus);
  line-height: var(--line13);
  text-align: center;
  letter-spacing: var(--fontSpace050);
  margin-bottom: clamp(25px, 5%, 45px);
}

/* 改行 */
.br-890,
.br-400 {
  display: none;
}

@media (max-width: 890px) {
  .br-890 {
    display: block;
  }
}

@media (max-width: 860px) {
  .block-860 {
    display: inline-block;
  }
}

@media (max-width: 480px) {
  .block-480 {
    display: inline-block;
  }
}

@media (max-width: 400px) {
  .br-400 {
    display: block;
  }
}

@media (max-width: 326px) {
  .br-326non {
    display: none;
  }
}

/* ↓↓↓↓ボタン↓↓↓↓ */
.btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
  border-radius: var(--border10);
  text-decoration: none;
  transition: all 0.2s ease;
  padding: 0 10px;
}

.btn:hover {
  transform: translateY(-2px);
  opacity: 0.6;
}

/* ↓↓↓↓矢印01(▶︎)↓↓↓↓ */
.arrow1::after {
  content: "";
  position: absolute;
  display: inline-block;
  right: 4%;
  vertical-align: middle;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid var(--white);
}

/* ↑↑↑↑矢印01↑↑↑↑ */

.push {
  display: inline-block;
}

/*******************************************************
MV
*******************************************************/

.mv {
  position: relative;
  width: 100%;
  aspect-ratio: 1400 / 855;

  &::before {
    position: absolute;
    content: "";
    width: 85%;
    aspect-ratio: 1190/785;
    bottom: 0;
    left: 0;
    background-color: var(--blue06);
    border-radius: var(--borderMv);
  }
}

.mvSwiper {
  position: absolute;
  top: 0;
  right: 0;
  width: 85%;
  border-radius: var(--borderMv);

  & .swiper-slide-active img,
  & .swiper-slide-duplicate-active img,
  & .swiper-slide-prev img {
    animation: zoomUp 15s linear 0s normal both;
  }
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.1);
  }
}

.mv-txt {
  position: absolute;
  z-index: 1;
  width: 73.213%;
  top: 54%;
}

.mv-ad {
  position: absolute;
  z-index: 1;
  width: 19.954%;
  top: 60%;
  right: 5%;
}

@media (max-width: 1024px) {
  .mv-txt {
    width: 77%;
  }
}

@media (max-width: 768px) {
  .mv {
    aspect-ratio: 980 / 1430;

    &::before {
      aspect-ratio: 750/1200;
    }
  }

  .mv-txt {
    width: 99%;
  }

  .mv-ad {
    width: 33%;
    top: 75%;
  }
}

@media (max-width: 480px) {
  .mv-ad {
    width: 35%;
  }
}

/*******************************************************
1.セクション
*******************************************************/

.sec-green {
  background-image: url(../image/bg/bg_dot_g.jpg);
  padding: 70px 0 133px;
}

.toyou-outer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 0;
  max-width: 980px;
  margin: 0 auto;
  position: relative;
  margin-bottom: 163px;
}

.toyou-box:nth-child(2),
.toyou-box:nth-child(4) {
  transform: translate(-13%, 56%);
}

.toyou-box {
  max-width: 531px;
  width: 100%;
  background-color: var(--white);
  padding: 30px 0;
  border-radius: var(--border20);
  box-shadow: 12px 12px var(--green03);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.toyou-txt {
  font-size: var(--size26);
  font-family: var(--m-plus);
  text-align: center;
  line-height: var(--line14);
}

.sec-ttl.in-ttl {
  line-height: var(--line16);
}

.bg-w {
  position: relative;
  z-index: 1;
}

.bg-w::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1053px;
  aspect-ratio: 1053 / 286;
  transform: translate(-50%, -50%);
  background: url("../image/common/back.png") center / cover no-repeat;
  z-index: 0;
}

.bg-w > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 1100px) {
  .toyou-box:nth-child(2),
  .toyou-box:nth-child(4) {
    transform: translate(-5%, 56%);
  }

  .toyou-box {
    padding: 30px 10px;
  }
}

@media (max-width: 860px) {
  .toyou-outer {
    gap: 40px 12px;
  }

  .toyou-box:nth-child(2),
  .toyou-box:nth-child(4) {
    transform: translate(0, 56%);
  }
}

@media (max-width: 768px) {
  .toyou-outer {
    display: block;
    margin-bottom: 100px;
  }

  .toyou-box {
    margin: 0 auto 24px;
  }

  .toyou-box:last-child {
    margin-bottom: 0;
  }

  .toyou-box:nth-child(2),
  .toyou-box:nth-child(4) {
    transform: none;
  }

  .bg-w .sub-txt {
    padding-top: 10px;
  }
}

@media (max-width: 600px) {
  .sec-ttl.in-ttl {
    font-size: 7vw;
  }
}

@media (max-width: 480px) {
  .toyou-outer {
    margin-bottom: 70px;
  }

  .bg-w::before {
    width: 600px;
  }
}

/* ↓↓↓↓↓↓↓↓↓↓写真スライド↓↓↓↓↓↓↓↓↓↓ */
.loopSwiper {
  margin-top: 50px;
}

/*スライドの動き等速 */
.loopSwiper__list {
  transition-timing-function: linear;

  .swiper-slide {
    border-radius: var(--border10);
    overflow: hidden;
  }

  .swiper-slide02 {
    margin-top: clamp(15px, 5%, 60px);
  }
}

/*******************************************************
2.セクション
*******************************************************/
.sec-orange {
  padding: 160px 0 130px;
  background-image: url(../image/bg/bg_dot_o.jpg);
}

@media (max-width: 768px) {
  .sec-orange {
    padding: 200px 0 100px;
  }
}

.employment-box {
  position: relative;
  display: flex;
  padding-bottom: 130px;
}

.employment-box:last-child {
  padding-bottom: 0;
}

.employment-inner {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
  max-width: 540px;
  width: 100%;
  border-radius: 20px;
}

.inner-orange {
  background-color: var(--orange03);
}

.inner-pink {
  background-color: var(--pink01);
}

.inner-green {
  background-color: var(--green01);
}

/*奇数*/
.employment-outer .employment-box:nth-child(odd) .employment-inner {
  padding: 60px 32px 55px 77px;
  margin-left: auto;
}

/*偶数*/
.employment-outer .employment-box:nth-child(even) .employment-inner {
  padding: 60px 77px 55px 32px;
}

.employment-head {
  font-size: var(--size36);
  font-family: var(--m-plus);
  font-weight: var(--weightBold);
  color: var(--white);
  line-height: var(--line12);
}

.employment-txt {
  max-width: 420;
  width: 100%;
  color: var(--white);
  font-family: var(--m-plus);
  font-weight: var(--weightMedium);
  /* line-height: 1.7; */
}

.employment-pic img {
  position: absolute;
  border-radius: var(--border10);
  max-width: 500px;
  width: 100%;
}

.employment-outer .employment-box:nth-child(odd) .employment-pic img {
  top: -14.31%;
  left: 0;
}

.employment-outer .employment-box:nth-child(even) .employment-pic img {
  top: -14.31%;
  right: 0;
}

.link-outer {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
  padding: 55px 0 60px;
}

.link-outer::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 31.837%;
  aspect-ratio: 312 / 248;
  /* アスペクト比(横・縦) */
  background: url("../image/inquiry_img01.png") no-repeat center/contain;
  vertical-align: middle;
  transform: translate(-50%, -50%);
  top: 25%;
  left: -3%;
}

.link-outer::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 29.593%;
  aspect-ratio: 290 / 224;
  /* アスペクト比(横・縦) */
  background: url("../image/inquiry_img02.png") no-repeat center/contain;
  vertical-align: middle;
  transform: translate(50%, 50%);
  top: -10%;
  right: -2%;
}

.link-head {
  position: relative;
  display: block;
  font-size: var(--size32);
  font-family: var(--m-plus);
  font-weight: var(--weightBold);
  text-align: center;
}

.link-head::before,
.link-head::after {
  position: absolute;
  content: "";
  width: 3px;
  height: 1.3em;
  bottom: 0;
  left: -10px;
  transform: rotate(-23deg);
  background-color: var(--pink01);
}

.link-head::after {
  transform: rotate(23deg);
  right: -10px;
  left: auto;
}

/* ボタン */

.form-link {
  max-width: 400px;
  width: 100%;
  height: 80px;
  margin: 0 auto;
}

.form-link-btn {
  position: relative;
  font-size: var(--size23);
  font-family: var(--m-plus);
  font-weight: var(--weightMedium);
  color: var(--white);
  background-color: var(--pink01);
}

.form-link-btn::after {
  content: "";
  position: absolute;
  aspect-ratio: 18 / 18;
  width: 4.5%;
  right: 4%;
  vertical-align: middle;
  background: url(../image/common/arrow_pink.png) no-repeat center / contain;
}

@media (max-width: 1370px) {
  .link-outer::before {
    width: 28%;
    top: 0%;
    left: 10%;
  }

  .link-outer::after {
    width: 28.593%;
    top: 10%;
    right: 10%;
  }
}

@media (max-width: 1100px) {
  .employment-pic img {
    width: 45%;
  }
}

@media (max-width: 970px) {
  .employment-pic img {
    width: 40%;
  }
}

@media (max-width: 890px) {
  .employment-pic img {
    width: 38%;
  }
}

@media (max-width: 860px) {
  .employment-box {
    flex-direction: column;
    padding-bottom: 190px;
  }

  .employment-pic img {
    max-width: 300px;
    width: 100%;
  }

  .employment-outer .employment-box:nth-child(odd) .employment-pic img,
  .employment-outer .employment-box:nth-child(even) .employment-pic img {
    right: 0;
    left: auto;
    top: -130px;
  }

  .employment-outer .employment-box:nth-child(odd) .employment-inner {
    margin-left: 0;
  }

  .employment-outer .employment-box:nth-child(odd) .employment-inner,
  .employment-outer .employment-box:nth-child(even) .employment-inner {
    padding: 30px 20px;
  }

  .link-outer::before {
    transform: translate(-60%, -60%);
    width: 250px;
    top: 0%;
    left: 20%;
  }

  .link-outer::after {
    width: 240px;
    transform: translate(60%, -60%);
    top: 0%;
    right: 20%;
  }
}

@media (max-width: 768px) {
  .employment-inner {
    gap: 2rem;
  }
}

@media (max-width: 678px) {
  .link-outer::before {
    transform: translate(-60%, -50%);
    width: 220px;
  }

  .link-outer::after {
    width: 200px;
    transform: translate(60%, -50%);
  }

  .link-head::before,
  .link-head::after {
    left: 50px;
  }

  .link-head::after {
    right: 50px;
    left: auto;
  }
}

@media (max-width: 630px) {
  .sec-orange {
    padding: 260px 0 150px;
  }

  .employment-box {
    padding-bottom: 210px;
  }

  .employment-outer .employment-box:nth-child(odd) .employment-pic img,
  .employment-outer .employment-box:nth-child(even) .employment-pic img {
    top: -185px;
  }
}

@media (max-width: 560px) {
  .link-head::before,
  .link-head::after {
    left: 0px;
  }

  .link-head::after {
    right: 0px;
    left: auto;
  }
}

@media (max-width: 480px) {
  .employment-inner {
    gap: 1.7rem;
  }

  .link-outer::before {
    transform: translate(-50%, -50%);
    width: 170px;
  }

  .link-outer::after {
    width: 160px;
    transform: translate(50%, -50%);
  }

  .form-link {
    height: 70px;
  }
}

/*******************************************************
3.セクション
*******************************************************/
.sec-blue {
  padding: 90px 0 100px;
  background-image: url(../image/bg/bg_dot_b.jpg);
}

/* ↓↓↓↓↓↓↓↓↓↓スケジュール↓↓↓↓↓↓↓↓↓↓ */

.schedule-outer {
  background-color: var(--white);
  border-radius: var(--border20);
  padding: 62px 10px 23px;
  margin-bottom: 117px;
}

.schedule-head {
  font-size: 5rem;
  text-align: center;
  padding-bottom: 32px;
  line-height: var(--line13);
}

.schedule-txt {
  font-size: 2.4rem;
  font-family: var(--m-plus);
  font-weight: var(--weightBold);
  text-align: center;
}

.schedule-box {
  max-width: 830px;
  width: 100%;
  margin: 0 auto;
  padding: 37px 0 55px;
}

.schedule {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2.5rem;
  padding: 30px 0;
  border-top: 2px solid #d2ebf6;
}

.schedule:last-child {
  border-bottom: 2px solid #d2ebf6;
}

.week-list {
  width: 230px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
}

.week {
  font-size: var(--size30);
  font-family: var(--m-plus);
  width: 73px;
  height: 73px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.schedule-detail {
  font-size: 24px;
  font-family: var(--m-plus);
  line-height: var(--line13);
}

.comment-set {
  display: flex;
  justify-content: center;
  max-width: 738px;
  width: 100%;
  margin: 0 auto;
}

.comment-pic {
  max-width: 399px;
  width: 100%;
}

.comment-box {
  position: relative;
  max-width: 385px;
  width: 100%;
  transform: translate(-10%, -10%);
}

.comment-box::after {
  content: "";
  position: absolute;
  left: 20%;
  bottom: 5%;
  aspect-ratio: 34 / 42;
  width: 8.834%;
  background: url("../image/common/hukidashi.png") no-repeat center / contain;
}

.comment {
  font-size: 2.2rem;
  font-family: var(--m-plus);
  background: var(--green03);
  border-radius: 60px;
  padding: 30px 34px;
  line-height: var(--line15);
}

@media (max-width: 860px) {
  .schedule-head {
    font-size: 4rem;
  }

  .schedule-txt,
  .schedule-detail {
    font-size: 20px;
  }

  .comment {
    font-size: 1.8rem;
    padding: 30px 25px;
    border-radius: 40px;
  }

  .comment-box::after {
    bottom: 26%;
  }
}

@media (max-width: 788px) {
  .comment-box::after {
    bottom: 8%;
  }
}

@media (max-width: 768px) {
  .schedule-head {
    font-size: 4rem;
    padding-bottom: 25px;
  }

  .schedule-txt {
    font-size: 18px;
  }

  .schedule {
    display: flex;
    flex-direction: column;
    padding: 20px 0;
  }

  .week {
    width: 65px;
    height: 65px;
  }

  .schedule-detail {
    text-align: center;
  }

  .comment-set {
    flex-direction: column-reverse;
    align-items: center;
    gap: 3rem;
  }

  .comment {
    padding: 28px 25px;
  }

  .comment-box {
    transform: none;
  }

  .comment-box::after {
    left: 63%;
    bottom: -17%;
    transform: scaleX(-1);
  }
}

@media (max-width: 630px) {
  .schedule-head {
    font-size: 3.5rem;
  }
}

@media (max-width: 480px) {
  .schedule-head {
    font-size: 3.2rem;
  }

  .schedule-txt,
  .schedule-detail {
    font-size: 1.6rem;
  }

  .comment {
    font-size: 15px;
    padding: 25px;
  }

  .week {
    width: 50px;
    height: 50px;
  }
}

@media (max-width: 375px) {
  .schedule-head {
    font-size: 2.4rem;
  }
}

/* ↓↓↓↓↓↓↓↓↓↓インタビュー↓↓↓↓↓↓↓↓↓↓ */

.interview-head {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.5rem;
  font-size: var(--size45);
  padding-bottom: 32px;
}

.interview-head > span:not(.interview-text) {
  width: 73px;
  height: 73px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  font-size: var(--size60);
  font-weight: 700;
  line-height: 1;
}

.interview-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5.5rem;
  background-color: var(--white);
  border-radius: var(--border20);
  padding: 25px 20px;
  margin-bottom: 45px;
}

.interview-wrapper > .interview-box:last-of-type {
  margin-bottom: 0;
}

.interview-box:nth-child(even) {
  flex-direction: row-reverse;
}

.prof-box {
  max-width: 241px;
  width: 100%;
}

.prof-pic {
  width: 100%;
}

.prof {
  max-width: 185px;
  width: 100%;
  margin: 0 auto;
  transform: translateY(-28px);
}

.prof02 {
  max-width: 197px;
}

.prof-txt {
  /* font-size: 17px; */
  font-family: var(--m-plus);
  font-weight: var(--weightMedium);
  color: var(--white);
  text-align: center;
  text-align: left;
  padding: 10px 5px;
  border-radius: var(--border10);
  line-height: var(--line12);
}

.interview {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  max-width: 600px;
  width: 100%;
}

.member-head {
  font-size: var(--size36);
  font-family: var(--m-plus);
  line-height: var(--line13);
}

.member-txt {
  font-size: var(--size17);
  font-family: var(--m-plus);
  font-weight: var(--weightMedium);
}

@media (max-width: 1100px) {
  .interview-box {
    gap: 4rem;
    padding: 34px 32px;
  }
}

@media (max-width: 890px) {
  .interview-head {
    flex-wrap: wrap;
  }

  .interview-head > span:not(.interview-text) {
    width: 63px;
    height: 63px;
  }

  .interview-text {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 768px) {
  .interview-box,
  .interview-box:nth-child(even) {
    flex-direction: column;
    gap: 0;
    padding: 30px 20px;
  }

  .interview {
    max-width: none;
    width: auto;
  }
}

@media (max-width: 540px) {
  .interview-head > span:not(.interview-text) {
    width: 55px;
    height: 55px;
  }
}

@media (max-width: 480px) {
  .interview-head {
    gap: 0.2rem;
  }

  .interview-head > span:not(.interview-text) {
    width: 50px;
    height: 50px;
  }
}

@media (max-width: 420px) {
  .interview-head > span:not(.interview-text) {
    width: 44px;
    height: 44px;
  }
}

@media (max-width: 375px) {
  .interview-head > span:not(.interview-text) {
    width: 36px;
    height: 36px;
  }
}

/*******************************************************
4.セクション
*******************************************************/
.message-recruitment {
  padding: 80px 0 130px;
}

@media (max-width: 768px) {
  .message-recruitment {
    padding: 80px 0 100px;
  }
}

/* ↓↓↓↓↓↓↓↓↓↓メッセージ↓↓↓↓↓↓↓↓↓↓ */

.message-outer {
  margin-top: max(13%, 40px);
}

.message-ttl {
  padding-bottom: clamp(30px, 7%, 65px);
}

.message-box {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 4rem;
}

.message-pic {
  width: 43.368%;
  flex-shrink: 0;
  padding-top: 15px;
}

.message-txt {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.txt-content {
  font-size: var(--size17);
  font-family: var(--m-plus);
  font-weight: var(--weightMedium);
  line-height: 3;
  text-decoration: underline #c0de9b;
  text-underline-offset: 12px;
  padding: 0 0 30px;
}

.Rep-D {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 2rem;
  font-family: var(--m-plus);

  p {
    line-height: 1;
  }
}

.title {
  font-size: 19px;
}

.name {
  font-size: 28px;
}

@media (max-width: 768px) {
  .message-box {
    flex-direction: column-reverse;
    gap: 4rem;
  }

  .message-pic {
    max-width: 250px;
    width: 100%;
  }
}

@media (max-width: 480px) {
  .message-pic {
    margin: 0 auto;
    padding: 0;
  }
}

/* ↓↓↓↓↓↓↓↓↓↓募集要項↓↓↓↓↓↓↓↓↓↓ */

/* .recruitment-outer {
  margin-top: max(13%, 40px);
} */

.recruitment-ttl {
  padding-bottom: clamp(30px, 7%, 65px);
}

.recruitmentBox {
  border-radius: var(--border20);
  overflow: hidden;
}

.recruitmentBox__ttl {
  text-align: center;
  font-size: var(--size26);
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2.23em;
  color: var(--white);
  background-color: var(--blue05);
}

.recruitmentBox__main {
  background-color: var(--blue07);
  padding: 30px 25px 65px;
}

.recruitmentBox__head {
  font-size: var(--size24);
  text-align: center;
  line-height: 1.58;
}

.recruitmentFlex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 35px 30px;
  margin: 35px auto 45px;
}

.recruitmentFlex__item {
  width: calc((100% - 60px) / 3);
  display: flex;
  flex-direction: column;
  align-items: center;

  .img {
    border-radius: var(--border10);
    overflow: hidden;
  }
}

.recruitmentFlex__name {
  text-align: center;
  font-size: var(--size22);
  margin-top: 10px;
}

.recruitment_wrapper {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.recruitment__detail {
  display: flex;
  font-size: var(--size22);
  height: max(3.45em, 50px);
  border-radius: var(--border10);
  overflow: hidden;

  dt {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 13.18em;
    color: var(--white);
    background-color: var(--blue05);
    font-size: 1em;
  }

  dd {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
    background-color: var(--white);
    font-size: 1em;
  }
}

.faq {
  background: var(--yellow03);
  padding: 80px 0;
}

@media (max-width: 768px) {
  .recruitmentFlex {
    width: min(100%, 500px);

    gap: 25px 15px;
  }

  .recruitmentFlex__item {
    width: calc((100% - 15px) / 2);
  }

  .recruitmentFlex__name {
    margin-top: 5px;
  }

  .recruitment__detail {
    dt {
      width: 9em;
    }
  }
}

@media (max-width: 480px) {
  .recruitmentFlex {
    gap: 15px 5px;
  }

  .recruitmentFlex__item {
    width: calc((100% - 5px) / 2);
  }

  .recruitmentBox__main {
    background-color: var(--blue07);
    padding: 25px 10px 40px;
  }

  .recruitmentFlex__name {
    font-size: 14px;
    margin-top: 5px;
    line-height: 1.2;
  }

  .recruitment__detail {
    flex-direction: column;
    height: auto;

    dt {
      width: 100%;
      height: 2em;
    }

    dd {
      height: 4em;
      flex: initial;
    }
  }
}

/* faq */
/* -------------------------------
全体スタイル
--------------------------------- */

.toggle-main dl,
.toggle-main dd {
  margin: 0;
}

.toggle {
  margin: 18px 0;
}

/* トグルリンク全体 */
.toggle-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background-color: var(--white);
  font-size: var(--size24);
  font-family: var(--m-plus);
  cursor: pointer;
  padding: 15px 25px 15px 18px;
  line-height: var(--line14);
}

.toggle-link .left-side {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex: 1;
}

/* Qアイコン */
.toggle-link .icon-q {
  display: inline-flex;
  justify-content: center;
  width: 48px;
  height: 48px;
  color: var(--orange04);
  background-color: var(--yellow03);
  border-radius: var(--border50);
  flex-shrink: 0;
  font-size: 2rem;
}

.icon-q span {
  transform: translate(5%, 16%);
}

/* プラス/マイナス */
.toggle-link .plus-minus {
  margin-left: auto;
  width: 30px;
  height: 2px;
  background: var(--orange02);
  position: relative;
  transition: all 0.3s ease;
}

.toggle-link .plus-minus::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 30px;
  background: var(--orange02);
  top: -14px;
  left: 14px;
  transition: all 0.3s ease;
}

.toggle-input:checked + .toggle-link .plus-minus::after {
  opacity: 0;
}

/* -------------------------------
開閉部分
--------------------------------- */

/* ▼ 閉じている状態 */
.toggle-main {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  transform: translateY(0);
  transition:
    max-height 0.5s ease,
    opacity 0.4s ease,
    transform 0.4s ease;
}

/* ▼ 開いた状態 */
.toggle-input:checked ~ .toggle-main {
  max-height: 800px;
  opacity: 1;
  transform: translateY(10px);
}

/* Aアイコン + flex */

.toggle-main dd .icon-a {
  display: inline-flex;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: var(--orange04);
  color: var(--white);
  border-radius: var(--border50);
  flex-shrink: 0;
  font-size: 2rem;
}

.icon-a span {
  transform: translate(5%, 16%);
}

.toggle-main dd {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  position: relative;
  font-size: var(--size19);
  font-family: var(--m-plus);
  padding: 23px 35px 23px 18px;
}

/* ↑↑↑↑faq↑↑↑↑ */

@media (max-width: 768px) {
  /* プラス/マイナス */
  .toggle-link .plus-minus {
    width: 20px;
  }

  .toggle-link .plus-minus::after {
    height: 20px;
    top: -9px;
    left: 9px;
  }
}

@media (max-width: 630px) {
  .toggle-link,
  .toggle-main dd {
    padding: 15px 10px;
  }

  /* アイコン */
  .toggle-link .icon-q,
  .toggle-main dd .icon-a {
    width: 35px;
    height: 35px;
    font-size: 1.8rem;
  }

  .icon-q span,
  .icon-a span {
    transform: translate(0, 11%);
  }
}

@media (max-width: 480px) {
  .faq-box {
    padding-top: 20px;
  }

  .toggle-link .left-side {
    gap: 1rem;
  }

  .toggle-main dd {
    align-items: flex-start;
    gap: 1rem;
  }
}

/*******************************************************
6.セクション
*******************************************************/
.form {
  padding: 118px 0 135px;
}

.form-back {
  background: var(--blue06);
  padding: 80px 74px;
  margin-top: 38px;
}

@media (max-width: 768px) {
  .form {
    padding: 80px 0 100px;
  }
}

/* ↓↓↓↓↓↓↓↓↓↓応募フォーム↓↓↓↓↓↓↓↓↓↓ */
#formWrap {
  margin: 0 auto;
}

table.formTable {
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse;
}

/* table.formTable td,
table.formTable th {
  padding: 10px;
} */
table.formTable th,
table.formTable td {
  display: block;
  width: 100%;
}

table.formTable td {
  padding-left: 85px;
}

table.formTable th {
  font-size: 1.9rem;
  font-family: var(--m-plus);
  text-align: left;
  padding-bottom: 8px;
}

td input[type="text"] {
  background-color: #fff;
  border: 2px solid #d2ebf6;
}

table.formTable tr {
  display: block;
  padding-bottom: 45px;
}

table.formTable tr:last-child {
  padding-bottom: 36px;
}

/* ↓↓↓↓↓↓↓↓↓↓ラジオ↓↓↓↓↓↓↓↓↓↓ */
/* ラベル全体 */
table.formTable td .radio {
  display: inline-flex;
  align-items: center;
  margin-right: 45px;
  font-family: var(--m-plus);
  cursor: pointer;
}

/* 本体を消す */
table.formTable input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #d2ebf6;
  background: #fff;
  margin-right: 8px;
  position: relative;
  cursor: pointer;
}

/* チェック● */
table.formTable input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  inset: 4px;
  background: var(--blue03);
  border-radius: 50%;
}

/* ↑↑↑↑↑↑↑↑↑↑ラジオ↑↑↑↑↑↑↑↑↑↑ */

table.formTable input[type="text"],
td input[type="date"],
table.formTable textarea {
  max-width: 735px;
  width: 100%;
  background: var(--white);
  border: 2px solid #d2ebf6;
  padding: 8px;
  box-sizing: border-box;
}

table.formTable textarea {
  height: 250px;
}

.textarea::placeholder {
  color: #a8a8a8;
}

textarea {
  font-size: 1.9rem;
  font-family: var(--m-plus);
  font-weight: var(--weightMedium);
}

.label {
  display: inline-block;
  color: var(--white);
  font-size: 1.5rem;
  text-align: center;
  width: 70px;
  line-height: 30px;
  border-radius: 15px;
  margin-right: 15px;
}

.label.require {
  background: var(--blue03);
}

.label.any {
  background: #adadad;
}

.privacy-text {
  max-width: 817px;
  width: 100%;
  font-size: 1.5rem;
  font-family: var(--m-plus);
  margin: 0 auto;
  padding-bottom: 85px;
}

.submit-wrap {
  text-align: center;
}

.submit-wrap input[type="submit"] {
  max-width: 400px;
  width: 100%;
  height: 80px;
  background: var(--blue03);
  color: var(--white);
  font-size: var(--size23);
  font-family: var(--m-plus);
  font-weight: var(--weightMedium);
  border-radius: var(--border10);
  cursor: pointer;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
  background:
    url(../image/common/arrow_blue.png) no-repeat right 4% center,
    var(--blue03);
  background-size: 18px;
}

.submit-wrap input[type="submit"]:hover {
  opacity: 0.8;
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .form-back {
    padding: 65px 20px;
  }

  table.formTable td {
    padding-left: 0;
  }

  .label,
  table.formTable th {
    font-size: 1.7rem;
  }

  .privacy-text {
    padding-bottom: 50px;
  }
}

@media (max-width: 480px) {
  .privacy-text {
    font-size: 1.3rem;
  }

  .submit-wrap input[type="submit"] {
    width: 80%;
    height: 70px;
  }
}

@media (max-width: 375px) {
  .label {
    width: 50px;
    margin-right: 8px;
  }

  .label,
  table.formTable th {
    font-size: 1.6rem;
  }
}

/* ↓↓↓↓↓↓↓↓↓↓確認画面↓↓↓↓↓↓↓↓↓↓ */

.confirmation__txt {
  text-align: center;
  font-size: var(--size19);
  line-height: var(--line15);
  color: var(--blue03);
  padding: 40px 30px;
}

.confirmationContainer table.formTable tr {
  display: flex;
}

.confirmationContainer table.formTable th {
  background-color: var(--blue06);
  padding: 12px 10px;
  border-radius: var(--border10);
  max-width: 200px;
  width: 100%;
}

.confirmation__txt--error h4 {
  color: var(--red01);
}

/* ボタン */
.form-btn {
  margin: 0 auto;
}

.submit-btnset {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5rem;
  padding: 50px 0 80px;
}

.btn-outer {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  max-width: 250px;
  width: 100%;
  height: 70px;
  background: var(--blue03);
  color: var(--white);
  font-size: var(--size20);
  font-family: var(--m-plus);
  font-weight: var(--weightMedium);
  border-radius: var(--border10);
  cursor: pointer;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.btn-outer:hover {
  opacity: 0.8;
  transform: translateY(-2px);
}

@media screen and (max-width: 768px) {
  .confirmationContainer table.formTable th {
    max-width: 700px;
    width: 100%;
  }

  .formTable tr {
    flex-direction: column;
    align-items: flex-start;
  }

  .formTable tr th {
    margin-bottom: 10px;
  }

  .formTable tr td {
    width: min(100%, 700px);
  }

  .formTable:not(.formTable-top) {
    width: min(100%, 230px);
  }

  .submit-btnset {
    flex-direction: column;
    gap: 2rem;
    padding: 20px 0 80px;
  }

  .btn-outer {
    max-width: 300px;
    width: 100%;
    height: 60px;
  }
}

/* ↑↑↑↑↑↑↑↑↑↑確認画面↑↑↑↑↑↑↑↑↑↑ */

/*******************************************************
フッター
*******************************************************/
footer {
  position: relative;
  background-color: var(--green01);
  color: var(--white);
  font-size: 14px;
  font-weight: var(--weightMedium);
  text-align: center;
  padding: 16px 0;
}

.footer-inner {
  padding: 0 10px;
}

@media (max-width: 768px) {
  footer {
    padding-bottom: 110px;
  }

  .footer-mail {
    padding-bottom: 0;
  }
}
