@charset "UTF-8";
/*===========================
変数設定
===========================*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
html {
  font-size: 100%; /* ルートのフォントサイズを16pxに設定 */
  font-family: "Noto Sans JP", "Yu Gothic", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
}

body {
  font-size: 1rem; /* bodyのフォントサイズを1.6em（16px）に設定 */
  line-height: 1.5;
  letter-spacing: 0.1em;
  background: #FFFCF1;
}
main {
  width: min(100%, 750px);
  margin-inline: auto;
  background: #fff;
}
h1 {
  font-size: 5rem; /* 50px */
}

h2 {
  font-weight: bold;
}

h3 {
  font-size: 2rem; /* 20px */
}

p {
  font-size: 1.6rem; /* 16px */
  /* margin: 5%; */
}


a {
  color: blue;
}

a:hover {
  text-decoration: none;
  filter: brightness(110%);
  transition: 0.2s;
}
.contact a {
  color: #fff;
}
.contact a:hover {
  text-decoration: none;
  filter: brightness(110%);
  transition: 0.2s;
}
img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

.block {
  width: 92%;
  margin: 0 auto;
}

.wrap {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
}

@media only screen and (max-width: 750px) {
  .wrap {
  width: 86%;
  margin: 0 auto;
  }
}

.sp {
  display: block;
}

footer {
  margin: 0 auto;
  max-width: 750px;
  background: #4e98e3;
  text-align: center;
  color: #fff;
  padding: 1% 0;
}
/* <!-- ------ヘッダースタート------ --> */


.fixed_header .flexbox {
  display: flex;
  position: fixed;
  width: 100%;
  max-width: 750px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  justify-content: flex-end;
}
.fixed_header .flexbox .fixed_btn {
  margin-right: 1%;
  max-width: 70px;
}

@media only screen and (min-width: 750px) {
  .fixed_header .flexbox .fixed_btn {
    max-width: 110px;
  }
}
/* <!-- ------ヘッダー終り------ --> */
.banner {
  max-width: 750px;
  width: 100%;
  position: fixed;
  text-align: right;
  bottom: 1%;
  left: 49%;
  transform: translateX(-50%);
  z-index: 100;
}
.banner a img {
  width: min(180px,12rem,24vw);
}

/* クエスチョンスタート */
.question {
  margin-top: min(40px,2.5rem,5.333333333333333vw);
  margin-bottom: min(35px,2.1875rem,4.666666666666667vw);
  /* padding-block: min(40px,2.5rem,5.333333333333333vw); */
}
.question-ttl {
  position: relative;
}
.answer {
  display: flex;
  justify-content: center;
  width: 80%;
  position: absolute;
  top: 70%;
  left: 10%;
}
.yes-btn {
  margin-right: 20px;
}
/* クエスチョン終り */
/* ポップアップここから------------------------------------------  */
label[for] {
  cursor: pointer;
}

.popup_wrap input {
  display: none;
}

.popup_overlay {
  display: flex;
  justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
}

.popup_trigger {
  position: absolute;
  width: 100%;
  height: 100%;
}

.popup_content {
  position: relative;
  align-self: center;
  width: 92%;
  max-width: 800px;
  padding: 10% 4% 5%;
  box-sizing: border-box;
  background: #fff;
  line-height: 1.4em;
  transition: 0.5s;
  height: auto;
  overflow: scroll;
}
.pop-up_txt {
  text-align: center;
  color: #fff;
  font-size: 24px;
  line-height: 1.6;
}
img.logo {
  width: 50%;
  display: block;
  margin: 0 auto;
}
img.click {
  width: 100%;
  display: block;
  margin: 0 auto;
}
.click-link {
  display: block;
  width: 30%;
  margin: 0 auto;
}
@media only screen and (max-width: 530px) {
  .pop-up_txt {
    font-size: 16px;
  }
  img.logo {
    width: 80%;
    display: block;
    margin: 0 auto;
  }
  .click-link {
    display: block;
    width: 50%;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 768px) {
  .popup_content {
    padding: 6% 4%;
  }
}

.close_btn {
  position: absolute;
  top: 5px;
  right: 15px;
  font-size: 30px;
  cursor: pointer;
  color: #333;
}

.popup_wrap input:checked ~ .popup_overlay {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
}

.open_btn {
  color: #0000ee;
}

.popup_wrap input {
  display: none;
}

.popup_overlay {
  display: flex;
  justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.7);
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
}

.popup_trigger {
  position: absolute;
  width: 100%;
  height: 100%;
}

.popup_content {
  position: relative;
  align-self: center;
  width: 92%;
  max-width: 750px;
  padding: 20px 0 20px 0;
  box-sizing: border-box;
  background: rgba(51, 51, 51, 0.9);
  line-height: 1.4em;
  transition: 0.5s;
  height: auto;
  overflow: scroll;
}

@media only screen and (min-width: 768px) {
  .popup_content {
    padding: 30px 0 30px 0;
}
}

.close_btn {
  position: absolute;
  top: 5px;
  right: 15px;
  font-size: 30px;
  cursor: pointer;
  color: #fff;
}

.popup_wrap input:checked ~ .popup_overlay {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
}
/* <!-- ------強みスタート------ --> */
section.strong {
  background-image: radial-gradient(circle, #dddddd 10%, transparent 10%), 
                    radial-gradient(circle, #dddddd 10%, transparent 10%);
  background-position: 0 0, 15px 15px;
  background-size: 15px 15px;
  background-color: #fff;
  padding-bottom: min(10px,0.625rem,1.333333333333333vw);
}
  /* section.strong::before {
    content:'';
    display: block;
    padding-top: 90px;
    margin-top: -90px;
    background-color: #fff;
  }  
@media only screen and (max-width: 750px) {
section.strong::before {
  content:'';
  display: block;
  padding-top: 60px;
  margin-top: -60px;
  background-color: #fff;
}
} */
.recommend {
  /* margin-top: min(35px,2.1875rem,5.384615384615385vw); */
  padding-top: min(60px,3.75rem,9.230769230769231vw);
  margin-bottom: min(60px,3.75rem,9.230769230769231vw);
  text-align: center;
}
.recommend img {
  width: 80%;
}
.strong-point img {
  margin-bottom: min(40px,2.5rem,6.153846153846154vw);
}
/* <!-- ------強み終り------ --> */

/* <!-- ------CTAスタート------ --> */
.cta {
  text-align: center;
  background-color: #ef7500;
  padding-bottom: min(70px,4.375rem,9.333333333333333vw);
}
.line {
  margin: 0 auto;
  margin-bottom: min(35px,2.1875rem,5.384615384615385vw);
}

.contact p {
  letter-spacing: 0;
  /* color: black; */
  margin-bottom: 0;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
}
@media only screen and (max-width: 516px) {
  .contact p {
    font-size: 16px;
  }
}

/* <!-- ------CTAスタート------ --> */

/* <!-- ------お悩みスタート------ --> */
section.trouble {
  margin-top: min(80px, 5rem, 10.66666666666667vw);
  background-image: radial-gradient(circle, #dddddd 10%, transparent 10%), 
                    radial-gradient(circle, #dddddd 10%, transparent 10%);
  background-position: 0 0, 15px 15px;
  background-size: 15px 15px;
  background-color: #efefef;
}

.trouble-list {
  margin-top: min(50px,3.125rem,7.692307692307692vw);
  padding-bottom: min(80px,5rem,12.30769230769231vw);
}
.settle {
  margin-top: min(70px,4.375rem,10.76923076923077vw);
}
/* <!-- ------お悩み終わり------ --> */

/* <!-- ------けいびくんってなにスタート------ --> */
.introduction {
  margin-top: min(50px,3.125rem,6.666666666666667vw);
  background-color: #4e98e3;
  padding-block: min(40px,2.5rem,5.333333333333333vw);
}
.support {
  background-image: radial-gradient(circle, #dddddd 10%, transparent 10%), 
                    radial-gradient(circle, #dddddd 10%, transparent 10%);
  background-position: 0 0, 15px 15px;
  background-size: 15px 15px;
  background-color: #fff;
}

.support_img-01 {
  padding-top: min(30px,1.875rem,4.615384615384615vw);
}
.support_img-02 {
  text-align: center;
  margin-top: min(60px,3.75rem,9.230769230769231vw);
  margin-bottom: min(30px,1.875rem,4.615384615384615vw);
}
.support_img-02 img {
  width: 85%;
}
.support_img-03 {
  padding-bottom: min(80px,5rem,12.30769230769231vw);
}
/* <!-- ------けいびくんってなに終り------ --> */

/* <!-- ------仕事紹介スタート------ --> */
.how_job {
  margin-top: min(80px,5rem,10.66666666666667vw);
}
section.job_introduction {
  background-color: #4e98e3;
  padding-bottom: min(70px,4.375rem,9.333333333333333vw);
}
.job_introduction-ttl {
  margin-top: min(50px,3.125rem,7.692307692307692vw);
}
.scene-list {
  margin-top: min(60px,3.75rem,9.230769230769231vw);
}
.traffic {
  margin-top: min(70px,4.375rem,10.76923076923077vw);
}
.mall {
  margin-top: min(70px,4.375rem,10.76923076923077vw);
}
.event {
  margin-top: min(70px,4.375rem,10.76923076923077vw);
}
.facility {
  margin-top: min(70px,4.375rem,10.76923076923077vw);
}
.light_work {
  margin-top: min(50px,3.125rem,7.692307692307692vw);
  padding-bottom: min(80px, 5rem, 12.30769230769231vw);
}
/* <!-- ------仕事紹介終り------ --> */

/* <!-- ------5つの特徴スタート------ --> */
section.five_point {
  margin-top: min(80px, 5rem, 10.66666666666667vw);
  background-image: url(../images/five_point-back.webp);
  background-size: cover;
}

.five_point01 {
  margin-top: min(50px,3.125rem,7.692307692307692vw);
}
.five_point02,
.five_point03,
.five_point04,
.five_point05 {
  margin-top: min(70px,4.375rem,10.76923076923077vw);
}
.hut_ttl {
  margin-top: min(100px,6.25rem,13.33333333333333vw);
}
.hut {
  background-image: radial-gradient(circle, #dddddd 10%, transparent 10%), 
                    radial-gradient(circle, #dddddd 10%, transparent 10%);
  background-position: 0 0, 15px 15px;
  background-size: 15px 15px;
  background-color: #fff;
  padding-bottom: 60px;
}
.hut_img01 {
  padding-top: min(70px,4.375rem,10.76923076923077vw);
}
.hut_img02 {
  margin-top: min(50px,3.125rem,7.692307692307692vw);
}
/* <!-- ------5つの特徴終り------ --> */

/* <!-- ------生活紹介スタート------ --> */
section.life_style {
  padding-top: min(70px,4.375rem,9.333333333333333vw);
  background-color: #eee;
}
.life_style-ttl {
  text-align: center;
}
.life_style-ttl img {
  width: 70%;
}
.life_style-comment {
  margin-top: min(50px,3.125rem,7.692307692307692vw);
  padding-bottom: min(30px,1.875rem,4.615384615384615vw);
}
.area {
  background-image: radial-gradient(circle, #dddddd 10%, transparent 10%), 
                    radial-gradient(circle, #dddddd 10%, transparent 10%);
  background-position: 0 0, 15px 15px;
  background-size: 15px 15px;
  background-color: #fff;
  padding-top: min(70px,4.375rem,9.333333333333333vw);
  padding-bottom: min(90px,5.625rem,12vw);
}
.area_ttl {
  text-align: center;
}
.area_ttl img {
  width: 70%;
}
.area_list {
  margin-top: min(50px,3.125rem,7.692307692307692vw);
  margin-bottom: min(55px,3.4375rem,8.461538461538462vw);
}
/* <!-- ------生活紹介終り------ --> */

/* <!-- ------QAスタート------ --> */
section.faq {
  background-image: radial-gradient(circle, #dddddd 10%, transparent 10%), 
                    radial-gradient(circle, #dddddd 10%, transparent 10%);
  background-position: 0 0, 15px 15px;
  background-size: 15px 15px;
  background-color: #fff;
  padding-bottom: min(100px,6.25rem,13.33333333333333vw);
}
.job_ttl {
  text-align: center;
  margin-top: min(70px,4.375rem,10.76923076923077vw);
  margin-bottom: min(30px,1.875rem,4.615384615384615vw);
}
.job_ttl img {
  width: 60%;
}

/* お仕事について */
/* FAQ全体のスタイル */
.p-faq__details {
  margin: 0 auto min(40px, 2.5rem, 6.153846153846154vw); /* 各QAの間にマージン */
  max-width: 650px;
  overflow: hidden; /* ボーダーのはみ出しを防ぐ */
  transition: border-radius 0.2s ease-in-out;
}

.p-faq__details[open] {
  border-radius: 10px 10px 0 0; /* 開いたとき、上だけ角丸 */
  border-bottom: none; /* 二重ボーダーを防ぐ */
}

/* summary（質問部分）のスタイル */
.p-faq__summary {
  display: flex;
  align-items: center;
  background-color: #d3efe9;
  border: solid 2px #d3efe9;
  cursor: pointer;
  font-weight: 700;
  padding-block: min(20px, 1.25rem, 3.076923076923077vw);
  /* padding-inline: min(40px, 2.5rem, 6.153846153846154vw); */
  padding-right: min(47px,2.9375rem,7.230769230769231vw);
  padding-left: min(30px, 1.875rem, 4.615384615384615vw);
  position: relative;
  border-radius: 10px; /* デフォルトで全体を角丸に */
  transition: border-radius 0.2s ease-in-out;
}

.p-faq__details[open] .p-faq__summary {
  border-radius: 10px 10px 0 0; /* 開いたときは上部のみ角丸 */
  border: solid 2px #d3efe9;
}

/* summaryのアイコン（＋/−） */
.p-faq__summary:after {
  content: "+";
  font-size: 2.3em;
  color: #00b49a;
  position: absolute;
  right: 2%;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.2s ease, content 0.2s ease;
}

.p-faq__details[open] .p-faq__summary:after {
  content: "−"; /* 開いたときのアイコン */
}

/* detailsマーカーを非表示 */
.p-faq__summary::-webkit-details-marker {
  display: none;
}

/* body（回答部分）のスタイル */
.p-faq__body {
  border: solid 3px #d3efe9;
  display: flex;
  align-items: center;
  background-color: #fff;
  padding-block: min(20px, 1.25rem, 3.076923076923077vw);
  padding-right: min(47px,2.9375rem,7.230769230769231vw);
  padding-left: min(30px, 1.875rem, 4.615384615384615vw);
  border-radius: 0 0 10px 10px;
  border-top: none;
}

/* Q/Aラベルのスタイル */
.p-faq__summary-prefix,
.p-faq__body-prefix {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-right: 10px;
  border-radius: 1000px;
  font-size: 22px;
  flex-shrink: 0;
}

/* 最後のFAQの下の余白を削除 */
.p-faq__details:last-of-type {
  margin-bottom: 0;
}

.p-faq__summary-text {
  font-size: min(32px,2rem,4.266666666666667vw);
}
.p-faq__body-text {
  font-size: min(32px,2rem,4.266666666666667vw);
}
/* お仕事について */

/* 面接について */
/* 全体のコンテナ */
.p-faq__details_interview {
  margin: 0 auto min(40px, 2.5rem, 6.153846153846154vw); /* 各QA間に余白を追加 */
  max-width: 650px;
  overflow: hidden; /* ボーダーのはみ出しを防止 */
  transition: border-radius 0.2s ease-in-out;
}

.p-faq__details_interview[open] {
  border-radius: 10px 10px 0 0; /* 開いたとき、上のみ角丸 */
  border-bottom: none; /* 二重ボーダーを防止 */
}

/* summary（質問部分）のスタイル */
.p-faq__summary_interview {
  display: flex;
  align-items: center;
  background-color: #ffefe1;
  border: solid 2px #ffefe1;
  cursor: pointer;
  font-weight: 700;
  padding-block: min(20px, 1.25rem, 3.076923076923077vw);
  padding-right: min(47px,2.9375rem,7.230769230769231vw);
  padding-left: min(30px, 1.875rem, 4.615384615384615vw);
  position: relative;
  border-radius: 10px; /* デフォルトの角丸 */
  transition: border-radius 0.2s ease-in-out;
}

.p-faq__details_interview[open] .p-faq__summary_interview {
  border-radius: 10px 10px 0 0; /* 開いたときは上だけ角丸 */
  border: solid 2px #ffefe1;
}

/* summaryのアイコン（＋ / −） */
.p-faq__summary_interview:after {
  content: "+";
  font-size: 2.3em;
  color: #ef7500;
  position: absolute;
  right: 2%;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.2s ease, content 0.2s ease;
}

.p-faq__details_interview[open] .p-faq__summary_interview:after {
  content: "−"; /* 開いたときのアイコン */
}

/* detailsマーカーを非表示 */
.p-faq__summary_interview::-webkit-details-marker {
  display: none;
}

/* body（回答部分）のスタイル */
.p-faq__body_interview {
  border: solid 3px #ffefe1;
  display: flex;
  align-items: center;
  background-color: #fff;
  padding-block: min(20px, 1.25rem, 3.076923076923077vw);
  padding-right: min(47px,2.9375rem,7.230769230769231vw);
  padding-left: min(30px, 1.875rem, 4.615384615384615vw);
  border-radius: 0 0 10px 10px; /* 下部の角丸 */
  border-top: none; /* 二重ボーダーを防止 */
}

/* Q/Aラベルのスタイル */
.p-faq__summary-prefix_interview,
.p-faq__body-prefix_interview {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-right: 10px;
  border-radius: 1000px;
  font-size: 22px;
  flex-shrink: 0;
}

/* 最後のQAの下の余白を削除 */
.p-faq__details_interview:last-of-type {
  margin-bottom: 0;
}
/* 面接について */

/* 応募要件について */
/* 全体のコンテナ */
.p-faq__details_requirement {
  margin: 0 auto min(40px, 2.5rem, 6.153846153846154vw); /* 各QAの間に余白を追加 */
  max-width: 650px;
  overflow: hidden; /* ボーダーのはみ出し防止 */
  transition: border-radius 0.2s ease-in-out;
}

.p-faq__details_requirement[open] {
  border-radius: 10px 10px 0 0; /* 開いたときは上のみ角丸 */
  border-bottom: none; /* 二重ボーダー防止 */
}

/* summary（質問部分）のスタイル */
.p-faq__summary_requirement {
  display: flex;
  align-items: center;
  background-color: #ffdede;
  border: solid 2px #ffdede;
  cursor: pointer;
  font-weight: 700;
  padding-block: min(20px, 1.25rem, 3.076923076923077vw);
  padding-right: min(47px,2.9375rem,7.230769230769231vw);
  padding-left: min(30px, 1.875rem, 4.615384615384615vw);
  position: relative;
  border-radius: 10px; /* デフォルトの角丸 */
  transition: border-radius 0.2s ease-in-out;
}

.p-faq__details_requirement[open] .p-faq__summary_requirement {
  border-radius: 10px 10px 0 0; /* 開いたときは上だけ角丸 */
  border: solid 2px #ffdede;
}

/* summaryのアイコン（＋ / −） */
.p-faq__summary_requirement:after {
  content: "+";
  font-size: 2.3em;
  color: #ff7676;
  position: absolute;
  right: 2%;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.2s ease, content 0.2s ease;
}

.p-faq__details_requirement[open] .p-faq__summary_requirement:after {
  content: "−"; /* 開いたときのアイコン */
}

/* detailsマーカーを非表示 */
.p-faq__summary_requirement::-webkit-details-marker {
  display: none;
}

/* body（回答部分）のスタイル */
.p-faq__body_requirement {
  border: solid 2px #ffdede;;
  display: flex;
  align-items: center;
  background-color: #fff;
  padding-block: min(20px, 1.25rem, 3.076923076923077vw);
  padding-right: min(47px,2.9375rem,7.230769230769231vw);
  padding-left: min(30px, 1.875rem, 4.615384615384615vw);
  border-radius: 0 0 10px 10px; /* 下部の角丸 */
  border-top: none; /* 二重ボーダー防止 */
}

/* Q/Aラベルのスタイル */
.p-faq__summary-prefix_requirement,
.p-faq__body-prefix_requirement {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-right: 10px;
  border-radius: 1000px;
  font-size: 22px;
  flex-shrink: 0;
}
/* 最後のQAの下の余白を削除 */
.p-faq__details_requirement:last-of-type {
  margin-bottom: 0;
}
/* 応募要件について */

/* 寮について */
/* 全体のコンテナ */
.p-faq__details_house {
  margin: 0 auto min(40px, 2.5rem, 6.153846153846154vw); /* 各QAの間に余白 */
  max-width: 650px;
  overflow: hidden; /* はみ出し防止 */
  transition: border-radius 0.2s ease-in-out;
}

.p-faq__details_house[open] {
  border-radius: 10px 10px 0 0; /* 開いたときの角丸 */
  border-bottom: none; /* 二重ボーダー防止 */
}

/* summary（質問部分）のスタイル */
.p-faq__summary_house {
  display: flex;
  align-items: center;
  background-color: #d2e9f9;
  border: solid 2px #d2e9f9;
  cursor: pointer;
  font-weight: 700;
  padding-block: min(20px, 1.25rem, 3.076923076923077vw);
  padding-right: min(47px,2.9375rem,7.230769230769231vw);
  padding-left: min(30px, 1.875rem, 4.615384615384615vw);
  position: relative;
  border-radius: 10px; /* デフォルトの角丸 */
  transition: border-radius 0.2s ease-in-out;
}

.p-faq__details_house[open] .p-faq__summary_house {
  border-radius: 10px 10px 0 0; /* 開いたときの角丸 */
  border: solid 2px #d2e9f9;
}

/* summaryのアイコン（＋ / −） */
.p-faq__summary_house:after {
  content: "+";
  font-size: 2.3em;
  color: #4e98e3;
  position: absolute;
  right: 2%;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.2s ease, content 0.2s ease;
}

.p-faq__details_house[open] .p-faq__summary_house:after {
  content: "−"; /* 開いたときのアイコン */
}

/* detailsマーカーを非表示 */
.p-faq__summary_house::-webkit-details-marker {
  display: none;
}

/* body（回答部分）のスタイル */
.p-faq__body_house {
  border: solid 2px #d2e9f9;
  display: flex;
  align-items: center;
  background-color: #fff;
  padding-block: min(20px, 1.25rem, 3.076923076923077vw);
  padding-right: min(47px,2.9375rem,7.230769230769231vw);
  padding-left: min(30px, 1.875rem, 4.615384615384615vw);
  border-radius: 0 0 10px 10px; /* 下部の角丸 */
  border-top: none; /* 二重ボーダー防止 */
}

/* Q/Aラベルのスタイル */
.p-faq__summary-prefix_house,
.p-faq__body-prefix_house {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-right: 10px;
  border-radius: 1000px;
  font-size: 22px;
  flex-shrink: 0;
}
/* 最後のQAの下の余白を削除 */
.p-faq__details_house:last-of-type {
  margin-bottom: 0;
}

/* 寮について */

/* 給与について */
/* 全体のコンテナ */
.p-faq__details_allowance {
  margin: 0 auto min(40px, 2.5rem, 6.153846153846154vw); /* 各QAの間に均等な余白 */
  max-width: 650px;
  overflow: hidden; /* はみ出し防止 */
  transition: border-radius 0.2s ease-in-out;
}

.p-faq__details_allowance[open] {
  border-radius: 10px 10px 0 0; /* 開いたときの角丸 */
  border-bottom: none; /* 二重ボーダー防止 */
}

/* summary（質問部分）のスタイル */
.p-faq__summary_allowance {
  display: flex;
  align-items: center;
  background-color: #fff5ca;
  border: solid 2px #fff5ca;
  cursor: pointer;
  font-weight: 700;
  padding-block: min(20px, 1.25rem, 3.076923076923077vw);
  padding-right: min(47px,2.9375rem,7.230769230769231vw);
  padding-left: min(30px, 1.875rem, 4.615384615384615vw);
  position: relative;
  border-radius: 10px; /* デフォルトの角丸 */
  transition: border-radius 0.2s ease-in-out;
}

.p-faq__details_allowance[open] .p-faq__summary_allowance {
  border-radius: 10px 10px 0 0; /* 開いたときの角丸 */
  border: solid 2px #fff5ca;
}

/* summaryのアイコン（＋ / −） */
.p-faq__summary_allowance:after {
  content: "+";
  font-size: 2.3em;
  color: #ffce00;
  position: absolute;
  right: 2%;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.2s ease, content 0.2s ease;
}

.p-faq__details_allowance[open] .p-faq__summary_allowance:after {
  content: "−"; /* 開いたときのアイコン */
}

/* detailsマーカーを非表示 */
.p-faq__summary_allowance::-webkit-details-marker {
  display: none;
}

/* body（回答部分）のスタイル */
.p-faq__body_allowance {
  border: solid 2px #fff5ca;
  display: flex;
  align-items: center;
  background-color: #fff;
  padding-block: min(20px, 1.25rem, 3.076923076923077vw);
  padding-right: min(47px,2.9375rem,7.230769230769231vw);
  padding-left: min(30px, 1.875rem, 4.615384615384615vw);
  border-radius: 0 0 10px 10px; /* 下部の角丸 */
  border-top: none; /* 二重ボーダー防止 */
}

/* Q/Aラベルのスタイル */
.p-faq__summary-prefix_allowance,
.p-faq__body-prefix_allowance {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-right: 10px;
  border-radius: 1000px;
  font-size: 22px;
  flex-shrink: 0;
}

/* 最後のQAの下の余白を削除 */
.p-faq__details_allowance:last-of-type {
  margin-bottom: 0;
}

/* 給与について */

/* <!-- ------QA終り------ --> */

/* <!-- ------サポートスタート------ --> */
.faq_end {
  margin-top: min(80px,5rem,10.66666666666667vw);
}
.campaign2 {
  margin-top: min(50px,3.125rem,7.692307692307692vw);
  margin-bottom: min(50px,3.125rem,7.692307692307692vw);
}
/* <!-- ------サポート終り------ --> */

.contact-form{
  text-align: center;
}
.line-end {
  padding-top: 30px;
  padding-bottom: 40px;
}
.form .wrap {
  border: solid 1px #d0d0d0;
  padding: 5%;
  margin: 0 auto;
  background: #fff;
}

.form {
  padding-bottom: 40px;
}
.form-ttl {
  margin-bottom: min(50px,3.125rem,6.666666666666667vw);
}
.attention {
  font-size: 12px;
  margin: 0 auto;
}
.label p {
  font-size: 12px;
}

/*# sourceMappingURL=main.css.map */
