@charset "UTF-8";
HTML {
  font-size: 10px;
}

body {
  color: #351F01;
  font-size: 1.6rem;
  font-family: "Noto Sans JP";
  letter-spacing: 0.05em;
  line-height: 1.5;
  position: relative;
  background-image: url("../img/bg.png");
  background-size: cover;
  background-repeat: repeat-y;
}
body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  pointer-events: none;
  z-index: -2;
}

a {
  color: #351F01;
  text-decoration: none;
}

.container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 6%;
}

.wrapper {
  max-width: 600px;
  margin: 0 auto;
}

img {
  width: 100%;
}

li {
  list-style: none;
}

.br {
  display: inline-block;
}

.fadein {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s;
}

.top_section-title-ja {
  font-size: 3.2rem;
  font-weight: 600;
  font-family: "M PLUS Rounded 1c";
  margin-top: -72px;
}
@media (max-width: 768px) {
  .top_section-title-ja {
    font-size: 2.4rem;
    margin-top: -28px;
  }
}

.top_section-title-en {
  font-family: "Josefin Sans", sans-serif;
  font-size: 10rem;
  font-weight: 600;
}
@media (max-width: 768px) {
  .top_section-title-en {
    font-size: 4.8rem;
  }
}

.btn a {
  font-weight: 500;
  color: #fff;
  background: #6FA8FE;
  border: 2px solid #6FA8FE;
  border-radius: 50px;
  padding: 16px 40px;
  transition: 0.3s ease-in-out;
}
.btn a:hover {
  color: #418dff;
  background-color: #fff;
  border: 2px solid #418dff;
}
@media (max-width: 768px) {
  .btn a {
    padding: 16px 24px;
    white-space: nowrap;
    width: 100%;
    display: inline-block;
    text-align: center;
  }
}

.btn a:after {
  content: "→";
  padding-left: 24px;
  transition: 0.3s ease-in-out;
}

#to_contact {
  margin-bottom: 120px;
}
@media (max-width: 768px) {
  #to_contact {
    margin-bottom: 100px;
  }
}

.to_contact {
  text-align: center;
}
.to_contact-box {
  background-color: #FCFAEB;
  border-radius: 50px;
  padding: 4% 6% 6%;
}
.to_contact-lead {
  font-size: 2rem;
  margin-bottom: 48px;
}
@media (max-width: 768px) {
  .to_contact-lead {
    font-size: 1.6rem;
  }
}
.to_contact .top_section-title-en {
  color: rgba(253, 185, 76, 0.3);
}
.to_contact .top_section-title-ja {
  margin-bottom: 32px;
}
.to_contact-flex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
.to_contact-flex p {
  font-size: 2rem;
}
@media (max-width: 768px) {
  .to_contact-flex {
    flex-direction: column;
    gap: 64px;
  }
}
.to_contact-flex a {
  background-color: #FE7F30;
  border: 2px solid #FE7F30;
  border-radius: 50px;
  padding: 24px 14px;
  transition: 0.3s ease-in-out;
  display: inline-block;
  width: 95%;
  text-align: center;
}
.to_contact-flex a:hover {
  background-color: #fff;
  border: 2px solid #EF7F30;
}
@media (max-width: 768px) {
  .to_contact-flex a {
    width: 100%;
    display: inline-block;
    padding: 18px 10px;
  }
}
.to_contact-tel, .to_contact-mail {
  width: 45%;
  font-size: 2rem;
  font-weight: 600;
}
@media (max-width: 1024px) {
  .to_contact-tel, .to_contact-mail {
    width: 100%;
    font-size: 1.7rem;
  }
}
.to_contact-tel p, .to_contact-mail p {
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  line-height: 1;
  position: relative;
}
@media (max-width: 1024px) {
  .to_contact-tel p, .to_contact-mail p {
    font-size: 1.6rem;
  }
}
@media (max-width: 768px) {
  .to_contact-tel p, .to_contact-mail p {
    margin-bottom: 24px;
  }
}
@media (max-width: 500px) {
  .to_contact-tel p, .to_contact-mail p {
    font-size: 1.4rem;
  }
}
.to_contact-tel p .phone,
.to_contact-tel p .mail, .to_contact-mail p .phone,
.to_contact-mail p .mail {
  width: 24px;
  margin-right: 8px;
}
.to_contact-tel p .phone img,
.to_contact-tel p .mail img, .to_contact-mail p .phone img,
.to_contact-mail p .mail img {
  width: 100%;
  height: 100%;
}
@media (max-width: 500px) {
  .to_contact-tel p .phone,
  .to_contact-tel p .mail, .to_contact-mail p .phone,
  .to_contact-mail p .mail {
    width: 20px;
  }
}
@media (max-width: 768px) {
  .to_contact-tel a {
    font-size: 1.8rem;
    letter-spacing: 0.1em;
  }
}
.to_contact .dashed_left {
  width: 2em;
  height: 60px;
  border-bottom: 4px dotted #351F01;
  transform: rotate(70deg);
  transform-origin: 114% 64%;
}
.to_contact .dashed_right {
  width: 2em;
  height: 60px;
  border-bottom: 4px dotted #351F01;
  transform: rotate(-70deg);
  transform-origin: -14% 64%;
}

.to_recruit {
  margin-bottom: 120px;
}
@media (max-width: 768px) {
  .to_recruit {
    margin-bottom: 100px;
  }
}

.recruit_box {
  background-color: #fff;
  display: flex;
  overflow: hidden;
}
@media (max-width: 768px) {
  .recruit_box {
    flex-direction: column;
  }
}
.recruit_img {
  width: 60%;
  aspect-ratio: 640/177;
  background-image: url("../img/img_recruit.png");
  background-color: rgba(105, 105, 105, 0.4);
  background-blend-mode: darken;
  background-position: left 0 center;
  background-repeat: no-repeat;
  background-size: cover;
  clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%);
  position: relative;
  z-index: 1;
}
.recruit_img img {
  height: 100%;
}
.recruit_img::before {
  content: "RECRUIT";
  position: absolute;
  bottom: 0;
  left: 2%;
  font-size: 6.4rem;
  font-weight: 700;
  color: rgba(252, 250, 235, 0.4);
  letter-spacing: 0.04em;
  line-height: 1;
  z-index: 2;
}
@media (max-width: 768px) {
  .recruit_img {
    width: 100%;
    max-height: 320px;
    aspect-ratio: 5/3;
    background-size: cover;
    background-position: calc(50% + 120px);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
@media (max-width: 500px) {
  .recruit_img::before {
    font-size: 4.4rem;
  }
}
.recruit_text {
  width: 50%;
  font-weight: 500;
  font-size: 2rem;
	position: relative;
  padding: 4% 3%;
	background-image: url("../img/logo.png");
	background-size: 24%;
	background-repeat: no-repeat;
	background-position: right 4% bottom 8%;
	z-index: 3;
}
.recruit_text ::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: rgba(255, 255, 255, 0.1);
	z-index: -1;
}
.recruit_text p {
  margin-bottom: 40px;
}
.recruit_text-lead {
  font-size: 2.8rem;
  font-family: "M PLUS Rounded 1c";
  margin-bottom: 24px;
}
@media (max-width: 1024px) {
  .recruit_text-lead {
    font-size: 2.4rem;
  }
}
@media (max-width: 768px) {
  .recruit_text {
    width: 100%;
    padding: 24px 6% 28px 6%;
    font-size: 1.6rem;
    margin-bottom: 28px;
	  background-size: 100px;
	  background-position: right 4% top 8%;
  }
  .recruit_text-lead {
    font-size: 2rem;
    margin-bottom: 16px;
  }
  .recruit_text p {
    margin-bottom: 24px;
  }
}
@media(max-width: 500px) {
	.recruit_text {
		background-position: right 4% top 10%;
	}
}

.company {
  font-family: "M PLUS Rounded 1c";
  text-align: center;
  background-color: #FDB94C;
  border-radius: 70%/100% 100% 0 0;
  padding-top: 120px;
  padding-bottom: 80px;
  background-image: url("../img/illustration_company1.png"), url("../img/illustration_company2.png"), url("../img/illustration_company3.png");
  background-size: 80px, 110px, 110px;
  background-repeat: no-repeat;
  background-position: top 50% left 15%, top 36% right 15%, bottom 30% right 15%;
  position: relative;
}
.company::before {
  content: "";
  position: absolute;
  top: 18%;
  left: 16%;
  width: 64px;
  height: 64px;
  background-image: url("../img/illustration_about4.png");
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 1;
}
.company::after {
  content: "";
  position: absolute;
  top: 10%;
  left: 20%;
  width: 64px;
  height: 64px;
  background-image: url("../img/illustration_about5.png");
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 1;
}
.company .top_section-title {
  margin-bottom: 32px;
  position: relative;
  z-index: 2;
}
.company .top_section-title-en {
  color: rgba(252, 250, 235, 0.3);
}
.company_flex {
  display: flex;
  gap: 40px;
  align-items: center;
  justify-content: center;
}
.company_map {
  width: 35%;
  height: 300px;
}
.company_address {
  width: 40%;
  text-align: left;
  letter-spacing: 0.05em;
  line-height: 1.8;
  padding: 40px 0;
}
.company_address h3 {
  font-size: 2rem;
  margin-bottom: 1.6rem;
}
.company_address p {
  font-size: 2rem;
}
@media (max-width: 1024px) {
  .company {
    background-size: 60px, 80px, 80px;
    border-radius: 90%/100% 100% 0 0;
  }
  .company::before {
    left: 10%;
  }
  .company::after {
    left: 16%;
  }
}
@media (max-width: 768px) {
  .company {
    border-radius: 50%/40% 40% 0 0;
    position: relative;
    z-index: 2;
  }
  .company::before {
    left: 5%;
  }
  .company::after {
    left: 10%;
  }
  .company_flex {
    flex-direction: column;
  }
  .company_map {
    width: 90%;
    height: 240px;
  }
  .company_address {
    width: 90%;
    padding: 0 10%;
  }
  .company_address h3 {
    font-size: 2rem;
  }
  .company_address p {
    font-size: 1.6rem;
  }
}
@media (max-width: 768px) and (max-width: 500px) {
  .company_address {
    padding: 0;
  }
}
@media (max-width: 500px) {
  .company {
    border-radius: 50%/16% 16% 0 0;
    padding-top: 80px;
  }
  .company::before {
    width: 48px;
    left: 3%;
  }
  .company::after {
    width: 48px;
    top: 6%;
    left: 8%;
  }
}

.page_title {
  position: relative;
  margin-top: 150px;
  height: 200px;
  background-image: url("../img/img_section_title-bg_re.jpg");
  background-color: rgba(255, 255, 255, 0.2);
  background-blend-mode: lighten;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right 0 bottom 10%;
  text-align: center;
  font-size: 4rem;
  font-family: "M PLUS Rounded 1c";
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
}
.page_title::before {
  position: absolute;
  top: 16%;
  left: 5%;
  font-size: 8.8rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  color: rgba(252, 250, 235, 0.4);
  letter-spacing: 0.04em;
  line-height: 1;
  z-index: -1;
}
@media (max-width: 1024px) {
  .page_title {
    background-image: url("../img/img_section_title-bg.jpg");
    margin-top: 70px;
  }
}
@media (max-width: 768px) {
  .page_title {
    height: 100px;
    font-size: 2rem;
  }
  .page_title:before {
    font-size: 4rem;
  }
}
@media (min-width: 2000px) {
  .page_title {
    height: 250px;
  }
}

.page_section-title {
  font-size: 3.2rem;
  font-family: "M PLUS Rounded 1c";
  text-align: center;
  padding-bottom: 8px;
  margin-bottom: 40px;
  position: relative;
}
.page_section-title::after {
  content: "";
  position: absolute;
  width: 80px;
  height: 4px;
  background-color: #FE7F30;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  .page_section-title {
    font-size: 2rem;
  }
}

header {
  width: 96%;
  max-width: 1400px;
/*   font-size: 1.4rem; */
  font-family: "M PLUS Rounded 1c";
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.08em;
  padding: 12px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
  border-radius: 40px;
  position: fixed;
  top: 32px;
  left: 50%;
  transform: translate(-50%);
  z-index: 10;
  border: 1px solid #fe7f30;
}

.header_logo {
  display: flex;
  gap: 8px;
  align-items: center;
}
.header_logo img {
  height: 48px;
  width: 48px;
}
.header_logo p {
  color: #F39A07;
}
.header_nav {
    font-size: 1.4rem;
	display: flex;
  align-items: center;
  gap: 32px;
}
.header_nav-list {
  display: flex;
  gap: 24px;
}
.header_nav-contact {
  display: flex;
  gap: 16px;
}
.header_nav-contact li {
  width: 40px;
  height: 40px;
  background-color: #F39A07;
  border-radius: 40px;
}
.header_nav-contact li img {
  width: 40px;
  padding: 10px;
}

@media (max-width: 1024px) {
  header {
    width: 100%;
    top: 0;
    left: 0;
    transform: none;
    border-radius: 0;
    padding: 12px 16px;
  }
  .toggle_btn {
    width: 35px;
    height: 35px;
    position: relative;
    cursor: pointer;
    z-index: 20;
  }
  .toggle_btn span {
    width: 100%;
    background-color: #333;
    height: 2px;
    position: absolute;
    left: 0;
    transition: 0.7s;
  }
  .toggle_btn span:nth-child(1) {
    top: 20%;
  }
  .toggle_btn span:nth-child(2) {
    top: 50%;
  }
  .toggle_btn span:nth-child(3) {
    top: 80%;
  }
  .header_nav {
    display: none;
  }
  .open .toggle_btn span:nth-child(1) {
    transform: rotate(45deg);
    top: 50%;
  }
  .open .toggle_btn span:nth-child(2) {
    display: none;
  }
  .open .toggle_btn span:nth-child(3) {
    transform: rotate(-45deg);
    top: 50%;
  }
  .open .header_nav {
    width: 100%;
    height: 100vh;
    font-size: 2rem;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    background-color: rgb(255, 255, 255);
    border-radius: 20px;
    margin: 2% 0;
    padding: 120px 0;
  }
  .open .header_nav-list {
    flex-direction: column;
    align-items: center;
  }
  .open .header_nav-contact {
    justify-content: center;
  }
  .open .header_nav-contact li {
    margin: 24px 12px;
    justify-content: center;
  }
}
#mv {
  font-family: "M PLUS Rounded 1c";
  margin-top: 160px;
}
@media (max-width: 768px) {
  #mv {
    margin-top: 140px;
  }
}

.mv {
  display: flex;
  align-items: center;
  justify-content: space-around;
}
@media (max-width: 768px) {
  .mv {
    flex-direction: column;
  }
}
.mv_text {
  width: 48%;
}
@media (max-width: 768px) {
  .mv_text {
    width: 100%;
    margin-bottom: 24px;
  }
}
.mv_text h1 {
  font-size: 4.8rem;
  font-weight: 600;
  margin-bottom: 24px;
  position: relative;
  white-space: nowrap;
}
.mv_text h1::before {
  content: "SUN HEART";
  font-family: "Josefin Sans", sans-serif;
  font-size: 10rem;
  font-weight: 600;
  white-space: nowrap;
  color: rgba(235, 185, 76, 0.3);
  position: absolute;
  top: -56%;
  z-index: -1;
}
@media (max-width: 1024px) {
  .mv_text h1 {
    font-size: 2.8rem;
    margin-bottom: 16px;
  }
  .mv_text h1::before {
    font-size: 8rem;
  }
}
@media (max-width: 768px) {
  .mv_text h1::before {
    font-size: 4.8rem;
  }
}
.mv_lead {
  font-size: 2.4rem;
}
@media (max-width: 1024px) {
  .mv_lead {
    font-size: 2rem;
  }
}
@media (max-width: 768px) {
  .mv_lead {
    font-size: 1.6rem;
  }
}
.mv_img {
  width: 68%;
  background-image: url(../img/mv_img-bg.png);
  background-repeat: no-repeat;
  background-size: 90%;
  background-position: right 0px bottom 0px;
  text-align: right;
  z-index: -2;
}
.mv_img img {
  width: 90%;
  margin-bottom: 1%;
  margin-right: 3%;
}
@media (max-width: 768px) {
  .mv_img {
    width: 90%;
    margin-top: -28px;
    margin-left: auto;
  }
}

.blur {
  animation-name: blurAnime;
  animation-duration: 1.8s;
  animation-fill-mode: forwards;
}

@keyframes blurAnime {
  from {
    filter: blur(5px);
    transform: scale(0.7);
  }
  to {
    filter: blur(0);
    transform: scale(1);
  }
}
#top_about {
  background-image: url("../img/illustration_about1.png"), url("../img/illustration_about2.png"), url("../img/illustration_about3.png"), url("../img/illustration_about4.png"), url("../img/illustration_about5.png"), url("../img/shape_bg.png");
  background-size: 120px, 100px, 70px, 70px, 70px, cover;
  background-repeat: no-repeat;
  background-position: top 32% right 20%, bottom 36% left 8%, bottom 40% right 24%, top 54% right 9%, top 64% right 4%, top;
}
@media (max-width: 768px) {
  #top_about {
    background-size: 60px, 60px, 40px, 40px, 40px, cover;
  }
}

.top_about {
  padding-bottom: 360px;
}
@media (max-width: 768px) {
  .top_about {
    margin-top: -140px;
  }
}
.top_about .top_section-title {
  padding-top: 240px;
}
.top_about .top_section-title-en {
  color: rgba(252, 250, 235, 0.3);
}
.top_about-text {
  font-size: 2.4rem;
  font-weight: 500;
  margin: 64px auto;
}
@media (max-width: 768px) {
  .top_about-text {
    font-size: 1.8rem;
    margin: 40px auto;
  }
}
.top_about-text p {
  display: inline-block;
  -moz-text-align-last: left;
       text-align-last: left;
  margin-bottom: 40px;
}
.top_about-text .btn {
  display: flex;
  justify-content: flex-end;
}
.top_about-text .btn a {
  display: inline-block;
}

#top_service {
  margin-top: -340px;
}

.top_service {
  position: relative;
}
.top_service-bg-top {
  background-image: url("../img/shape_bg-white.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: top center;
  width: 100%;
  aspect-ratio: 1437/572;
  z-index: 1;
}
.top_service-bg-bottom {
  background-image: url("../img/shape_bg-white-bottom.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: bottom;
  width: 100%;
  aspect-ratio: 1437/350;
  z-index: 1;
  margin-top: -9%;
}
.top_service-content {
  background-image: url("../img/illustration_service1.png"), url("../img/illustration_service2.png");
  background-size: 72px, 80px;
  background-repeat: no-repeat;
  background-position: top 32% right 20%, bottom 14% left 10%;
  background-color: #FCFAEB;
  position: relative;
  z-index: 2;
  margin-top: -20%;
}
.top_service .top_section-title-en {
  color: rgba(253, 185, 76, 0.3);
}
.top_service-lead {
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  margin: 40px 0;
}
@media (max-width: 768px) {
  .top_service-lead {
    font-size: 1.6rem;
  }
}
.top_service-list {
  display: flex;
  justify-content: center;
  gap: 8%;
  position: relative;
}
@media (max-width: 768px) {
  .top_service-list {
    flex-direction: column;
  }
}
.top_service-item {
  width: 45%;
  max-width: 360px;
  aspect-ratio: 3/3.5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8%;
  color: white;
  font-weight: 500;
  position: relative;
}
.top_service-item p {
  font-size: 2.4rem;
  margin-bottom: 40px;
  font-family: "M PLUS Rounded 1c";
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  .top_service-item {
    width: 60%;
  }
  .top_service-item:nth-child(2) {
    margin-left: auto;
    margin-top: -64px;
  }
  .top_service-item p {
    font-size: 1.6rem;
    margin-bottom: 32px;
  }
}
.top_service-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
  overflow: hidden;
}
.top_service-img img {
  width: 100%;
  filter: brightness(70%);
}
.top_service-text {
  position: relative;
  z-index: 2;
  text-align: center;
}

#top_faq {
  padding: 120px 6%;
}
@media (max-width: 768px) {
  #top_faq {
    padding-bottom: 100px;
  }
}

.top_faq-flex {
  display: flex;
  gap: 4%;
  align-items: center;
  justify-content: center;
  background-color: #FDB94C;
  border-radius: 50px;
  padding: 2% 6%;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  .top_faq-flex {
    padding: 4% 6%;
    gap: 8%;
  }
}
.top_faq-flex::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #ffe7c2;
  position: absolute;
  left: -100%;
  top: 0;
  transition: 1.4s;
  z-index: -1;
}
.top_faq-flex:hover::before {
  left: 100%;
}
.top_faq-img {
  width: 20%;
}
.top_faq-img img {
  width: 100%;
}
.top_faq .top_section-title {
  width: 45%;
  text-align: center;
}
@media (max-width: 768px) {
  .top_faq .top_section-title {
    width: 64%;
    text-align: left;
  }
}
.top_faq .top_section-title-en {
  color: rgba(252, 250, 235, 0.3);
}
.top_faq-lead {
  font-size: 2rem;
  padding-top: 16px;
}
@media (max-width: 768px) {
  .top_faq-lead {
    font-size: 1.6rem;
  }
}
.top_faq-arrow {
  width: 20%;
  text-align: center;
}
@media (max-width: 768px) {
  .top_faq-arrow {
    display: none;
  }
}

.faq_arrow {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 160px;
  height: 4px;
  margin: 14.9px 0;
  border-radius: 9999px;
  background-color: #351f01;
}

.faq_arrow::before,
.faq_arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  width: 32px;
  height: 4px;
  border-radius: 9999px;
  background-color: #351f01;
  transform-origin: calc(100% - 2px) 50%;
}

.faq_arrow::before {
  transform: rotate(32deg);
}

.faq_arrow::after {
  transform: rotate(-32deg);
}

#page_about {
  margin: 0 auto;
}
#page_about .page_title::before {
  content: "ABOUT US";
}

.page_about-lead {
  font-family: "M PLUS Rounded 1c";
  font-size: 2.4rem;
  font-weight: 600;
  margin: 56px 0;
  text-align: center;
  letter-spacing: 0.08em;
  line-height: 1.8;
}
.page_about-message {
  max-width: 1000px;
  font-size: 2.4rem;
  padding: 60px 8%;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 80px;
  line-height: 1.6;
  z-index: 3;
  position: relative;
  background-image: url("../img/logo.png");
  background-size: 16%;
  background-repeat: no-repeat;
  background-position: left 3% bottom 4%;
}
.page_about-message ::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 80px;
  z-index: -1;
}
.page_about-message-name {
  font-size: 2rem;
  margin-top: 32px;
  text-align: right;
  z-index: 1;
}
@media (max-width: 768px) {
  .page_about-lead {
    font-size: 1.6rem;
    margin: 24px 0;
  }
  .page_about-message {
    font-size: 1.6rem;
    border-radius: 40px;
    padding: 40px 8%;
  }
  .page_about-message::before {
    background-size: 100px;
    border-radius: 40px;
  }
  .page_about-message-name {
    font-size: 1.4rem;
  }
}

#page_overview {
  margin-top: 160px;
  margin-bottom: 160px;
}
@media (max-width: 768px) {
  #page_overview {
    margin-top: 100px;
    margin-bottom: 100px;
  }
}

.information {
  max-width: 800px;
  margin: 0 auto;
}
.information .row {
  display: flex;
  align-items: stretch;
  margin-bottom: 12px;
}
.information dt {
  width: 25%;
  background-color: #FDB94C;
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  z-index: 1;
}
.information dd {
  background-color: #fff;
  border-radius: 0 12px 12px 0;
  padding: 16px 24px 16px 44px;
  margin-left: -20px;
  flex: 1;
  display: flex;
  align-items: center;
  z-index: 0;
}
@media (max-width: 500px) {
  .information .row {
    flex-direction: column;
  }
  .information dt {
    width: 100%;
  }
  .information dd {
    border-radius: 0 0 12px 12px;
    padding: 36px 24px 16px 32px;
    margin-top: -20px;
    margin-left: 0;
  }
}

#page_service {
  margin-bottom: 60px;
}
#page_service .page_title::before {
  content: "SERVICE";
}

.page_service {
  text-align: center;
}
.page_service-lead {
  font-size: 2.4rem;
  font-family: "M PLUS Rounded 1c";
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin: 56px;
  border-bottom: 8px dotted #FE7F30;
  display: inline-block;
}
.page_service-flex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  margin-bottom: 56px;
}
.page_service-flex:last-child {
  flex-direction: row-reverse;
}
.page_service-flex-img {
  width: 24%;
}
.page_service-flex-img img {
  width: 100%;
}
.page_service-flex-text {
  width: 60%;
  text-align: left;
  background-color: #fff;
  border-radius: 16px;
  padding: 32px 40px;
}
.page_service-flex-title {
  font-family: "M PLUS Rounded 1c";
  font-size: 2.4rem;
  margin-bottom: 24px;
}
@media (max-width: 768px) {
  .page_service-lead {
    font-size: 1.6rem;
    margin: 24px 0;
  }
  .page_service-flex {
    flex-direction: column;
    gap: 24px;
  }
.page_service-flex:last-child {
    flex-direction: column;
  }
  .page_service-flex-img {
    width: 56%;
  }
  .page_service-flex-text {
    width: 100%;
    padding: 24px 16px;
  }
  .page_service-flex-title {
    font-size: 2rem;
    margin-bottom: 16px;
  }
}

#page_flow {
  padding-top: 100px;
  margin-bottom: 160px;
}
@media (max-width: 768px) {
  #page_flow {
    padding-top: 40px;
    margin-bottom: 100px;
  }
}

.flow_list {
  counter-reset: step;
}
.flow_list li {
  counter-increment: step;
  background-color: #fff;
  border-radius: 16px;
  padding: 40px;
  margin-bottom: 88px;
  position: relative;
}
.flow_list li::after {
  content: "▼";
  font-size: 40px;
  color: #7D4901;
  bottom: -72px;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
}
.flow_list li:last-child {
  margin-bottom: 0;
}
.flow_list li:last-child::after {
  content: none;
}
.flow_step {
  display: flex;
  gap: 40px;
  align-items: center;
}
.flow_step-number {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: #7D4901;
  color: #fff;
  font-weight: bold;
  font-size: 1.2em;
  display: flex;
  align-items: center;
  justify-content: center;
}
.flow_step-number::before {
  content: counter(step);
}
.flow_step-title {
  display: flex;
  gap: 16px;
  height: 48px;
}
.flow_step-title h4 {
  font-size: 3.2rem;
  border-bottom: 8px dashed #FDC770;
  line-height: 36px;
}
.flow_step-icon {
  width: 48px;
}
.flow_step-icon img {
  height: 100%;
  width: 100%;
}
.flow_content {
  margin-left: 88px;
}
.flow_content p {
  font-size: 2rem;
  margin: 24px 0;
}
.flow_content .to_contact-flex {
  margin: 48px 0 24px 0;
}
@media (max-width: 768px) {
  .flow_list li {
    padding: 24px;
  }
  .flow_step {
    flex-direction: column;
    gap: 24px;
  }
  .flow_step h4 {
    font-size: 2rem;
    line-height: 20px;
  }
  .flow_step-title {
    height: 32px;
  }
  .flow_step-icon {
    width: 32px;
  }
  .flow_content {
    margin-left: 0;
  }
  .flow_content p {
    font-size: 1.6rem;
  }
  .flow_content .to_contact-flex {
    gap: 24px;
    text-align: center;
  }
  .flow_content .to_contact-flex a {
    font-size: 2rem;
  }
}
@media (max-width: 768px) and (max-width: 500px) {
  .flow_content .to_contact-flex a {
    font-size: 1.6rem;
    padding: 24px 32px;
  }
}

#page_fee {
  text-align: center;
  margin: 0 auto;
  margin-bottom: 160px;
}
@media (max-width: 768px) {
  #page_fee {
    margin-bottom: 100px;
  }
}

.page_fee-box {
  width: 100%;
  background-image: url("../img/img_fee-bg.jpg");
  background-color: rgba(105, 105, 105, 0.4);
  background-blend-mode: darken;
  background-size: cover;
  background-position: center;
  padding: 8% 10%;
}
.page_fee-text {
  background-color: rgba(255, 255, 255, 0.4);
  padding: 5% 6%;
}
.page_fee-text h3 {
  margin-bottom: 40px;
}
.page_fee-text p {
  font-size: 2rem;
}
@media (max-width: 768px) {
  .page_fee-text h3 {
    margin-bottom: 24px;
  }
  .page_fee-text p {
    font-size: 1.6rem;
  }
}

#page_recruit {
  margin-bottom: 60px;
}
#page_recruit .page_title {
  margin-bottom: 56px;
}
#page_recruit .page_title::before {
  content: "RECRUIT";
}
@media (max-width: 768px) {
  #page_recruit .page_title {
    margin-bottom: 24px;
  }
}

.page_recruit {
  text-align: center;
}
.page_recruit-lead {
  font-size: 2.4rem;
  font-family: "M PLUS Rounded 1c";
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-bottom: 80px;
}
.page_recruit-lead-text {
  margin: 8px 0;
  border-bottom: 8px dotted #FE7F30;
  display: inline-block;
}
.page_recruit-item {
  max-width: 760px;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
  margin-bottom: 72px;
}
.page_recruit-item-img {
  width: 32%;
}
.page_recruit-item-img img {
  width: 100%;
}
.page_recruit-item-text {
  width: 60%;
  padding-left: 56px;
}
.page_recruit-item h3 {
  font-size: 2.4rem;
  font-family: "M PLUS Rounded 1c";
  display: inline-block;
  border-bottom: 8px dashed #FDC770;
  padding-bottom: 4px;
  margin-bottom: 12px;
  position: relative;
}
.page_recruit-item h3::before {
  content: "";
  width: 80px;
  height: 80px;
  background-color: #FEDEB4;
  border-radius: 80px;
  position: absolute;
  top: -50%;
  left: -48px;
  z-index: -1;
}
.page_recruit-message {
  font-size: 2.4rem;
  background-color: #fff;
  border: 3px solid #351F01;
  border-radius: 40px;
  padding: 4%;
  margin: 0 8%;
}
@media (max-width: 768px) {
  .page_recruit-lead {
    font-size: 1.6rem;
    margin-bottom: 40px;
  }
  .page_recruit-item {
    justify-content: flex-start;
    gap: 16px;
  }
  .page_recruit-item-img {
    width: 64%;
  }
  .page_recruit-item-text {
    width: 100%;
  }
  .page_recruit-item-text h3 {
    font-size: 2rem;
  }
  .page_recruit-message {
    font-size: 1.6rem;
    padding: 6% 8%;
    margin: 0;
  }
}

.recruit-right {
  margin-left: auto;
  justify-content: flex-end;
}

#page_faq {
  margin: 0 auto;
}
#page_faq .page_title::before {
  content: "FAQ";
}

.page_faq-lead {
  font-family: "M PLUS Rounded 1c";
  font-size: 2.4rem;
  font-weight: 600;
  margin: 56px 0;
  text-align: center;
  letter-spacing: 0.08em;
  line-height: 1.8;
}
.page_faq-content {
  background-color: #fff;
  border-radius: 24px;
  padding: 40px;
  margin-bottom: 64px;
}
.page_faq-header, .page_faq-inner {
  font-size: 2rem;
  display: flex;
  align-items: flex-start;
}
.page_faq-header a, .page_faq-inner a {
  border-bottom: 1px solid #351F01;
}
.page_faq-header {
  margin-bottom: 56px;
}
.page_faq-header {
  position: relative;
}
.page_faq-header::after {
  content: "";
  width: 60%;
  height: 2px;
  background-color: #FE7F30;
  bottom: -28px;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
}
@media (max-width: 768px) {
  .page_faq-lead {
    font-size: 1.6rem;
    margin: 24px 0;
  }
  .page_faq-content {
    padding: 24px 16px;
  }
  .page_faq-header, .page_faq-inner {
    font-size: 1.4rem;
  }
}

.q, .a {
  line-height: 1;
  position: relative;
  margin-right: 40px;
  margin-left: 20px;
  margin-top: 4px;
  z-index: 2;
}
.q::before, .a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  z-index: -1;
  padding: 0 4%;
}
@media (max-width: 768px) {
  .q::before, .a::before {
    width: 3.6rem;
    height: 3.6rem;
  }
}
@media (max-width: 768px) {
  .q, .a {
    margin-right: 24px;
  }
}

.q {
  color: #fff;
}
.q::before {
  background-color: #FE7F30;
}

.a {
  color: #FE7F30;
}
.a::before {
  background-color: #fff;
  border: 2px solid #EF7F30;
}

#page_contact {
  margin: 0 auto;
  margin-bottom: 160px;
}
#page_contact .page_title::before {
  content: "CONTACT";
}
@media (max-width: 768px) {
  #page_contact {
    margin-bottom: 100px;
  }
}

.page_contact-lead {
  font-family: "M PLUS Rounded 1c";
  font-size: 2.4rem;
  font-weight: 600;
  margin: 56px 0;
  text-align: center;
  letter-spacing: 0.08em;
  line-height: 1.8;
}
.page_contact-tel {
  font-family: "M PLUS Rounded 1c";
  text-align: center;
  max-width: 1000px;
  background-color: #fff;
  border-radius: 40px;
  border: 3px solid #351F01;
  padding: 4%;
  margin: 0 auto;
  margin-bottom: 56px;
}
.page_contact-tel-text {
  font-size: 2.4rem;
  font-weight: 600;
  display: inline-block;
  border-bottom: 8px dotted #FE7F30;
  padding: 0 12px 8px 12px;
  margin-bottom: 24px;
}
.page_contact-tel-number {
  font-size: 4rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 16px;
}
.page_contact-tel-icon {
  width: 40px;
  display: inline-block;
}
.page_contact-tel-icon img {
  width: 100%;
  display: block;
}
@media (max-width: 768px) {
  .page_contact-lead {
    font-size: 1.6rem;
    margin: 24px 0;
  }
  .page_contact-tel-text {
    font-size: 2rem;
  }
  .page_contact-tel-number {
    font-size: 2.4rem;
    gap: 8px;
  }
  .page_contact-tel-icon {
    width: 32px;
  }
}

form {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

input,
textarea {
  width: 100%;
  border: 1px solid #351F01;
  border-radius: 8px;
  background-color: #fff;
  padding: 16px;
  transition: 0.3s;
  font-size: 2rem;
}
input:hover, input:focus,
textarea:hover,
textarea:focus {
  background-color: #F0EDED;
}
@media (max-width: 768px) {
  input,
  textarea {
    font-size: 1.6rem;
    padding: 12px;
  }
}

.wpcf7-text {
  background-color: #fff;
}
.wpcf7-text:hover, .wpcf7-text:focus {
  background-color: #F0EDED;
}

textarea {
  height: 200px;
}

input[type=submit] {
  max-width: 300px;
  font-size: 2rem;
  letter-spacing: 0.1em;
  transition: 0.6s;
  background-color: rgb(254, 127, 48);
  border: none;
}
input[type=submit]:hover, input[type=submit]:focus {
  transform: scale(1.1, 1.1);
}
@media (max-width: 500px) {
  input[type=submit] {
    max-width: none;
  }
}

.contact_form dt {
  width: 100%;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: left;
  margin-bottom: 12px;
}
.contact_form dd {
  width: 100%;
  margin-bottom: 32px;
}
@media (max-width: 768px) {
  .contact_form dt {
    font-size: 1.6rem;
  }
}
.wpcf7-spinner {
	display: none;
}

.red {
  color: #FA5151;
  padding-left: 16px;
}

.footer {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 600;
  font-family: "M PLUS Rounded 1c";
  line-height: 1.5;
  letter-spacing: 0.08em;
  background-color: #2A1901;
  padding: 40px 3%;
}
.footer_logo {
  margin-bottom: 24px;
  display: inline-block;
  color: #F39A07;
}
.footer_logo-img {
  width: 60px;
  margin: 0 auto;
}
.footer_logo-img img {
  width: 100%;
}
.footer_nav a {
  color: #FCFAEB;
}
.footer_nav-list {
  display: flex;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
}
@media (max-width: 500px) {
  .footer_nav-list {
    flex-direction: column;
    gap: 16px;
  }
}

.copy {
  color: #FCFAEB;
  font-weight: 500;
  margin-top: 24px;
}
@media (max-width: 768px) {
  .copy {
    font-size: 1.2rem;
  }
}/*# sourceMappingURL=style.css.map */