@charset "UTF-8";
picture img {
  width: auto;
}
h2.subtitle {
  text-align: center;
  margin-top: 2rem;
}
p {
  font-size: 1.2rem;
  text-align: center;
}
.slick-slide img {
  width: 100dvw;
}
.nav-list.plus li.nav-item {
  color: #4e3c30;
}
main section {
  text-align: center;
}
main section.fv {
  position: relative;
  padding-top: 8rem;
}
main section.fv > .hero_text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -60%);
}
@media screen and (width <= 769px) {
  main section.fv > .hero_text {
    width: 20%;
  }
}
main section.fv > .hero_text > picture > img {
  width: 100%;
}
main section.fv > .hero_messages {
  position: absolute;
  bottom: 13%;
  right: 10%;
}
@media screen and (width <= 769px) {
  main section.fv > .hero_messages {
    width: 40%;
    right: 2%;
  }
}
main section.fv > .hero_messages > ul {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (width <= 769px) {
  main section.fv > .hero_messages > ul {
    gap: 0.5rem;
  }
}
main section.cta {
  background-image: url(assets/img/flags.png);
  background-size: contain;
  background-repeat: no-repeat;
}
main section.cta .cta_container {
  text-align: center;
  margin-top: 0.5rem;
}
main section.cta .cta_container > .cta_text {
  padding-top: 3.7rem;
  font-size: 2.4rem;
}
@media screen and (width <= 769px) {
  main section.cta .cta_container > .cta_text {
    font-size: 1.2rem;
    padding-top: 5rem;
  }
}
main section.cta .cta_container > picture {
  margin-block: 3rem 2rem;
  display: block;
}
@media screen and (width <= 769px) {
  main section.cta .cta_container > picture {
    width: 40%;
    margin-inline: auto;
    margin-block: 2rem 1rem;
  }
}
main section.cta .cta_container > .cta_contact {
  font-size: 3.2rem;
  font-family: Inter, serif;
  font-weight: 700;
  padding-left: 3rem;
  position: relative;
}
@media screen and (width <= 769px) {
  main section.cta .cta_container > .cta_contact {
    font-size: 1.8rem;
    padding-left: 1.5rem;
  }
}
main section.cta .cta_container > .cta_contact:before {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: -5px;
  width: 3rem;
  height: 3rem;
  background-image: url(assets/img/phone.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (width <= 769px) {
  main section.cta .cta_container > .cta_contact:before {
    width: 1.5rem;
    height: 1.5rem;
  }
}
main section.cta .cta_container > .cta_btns {
  margin-top: 3.3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5rem;
}
@media screen and (width <= 769px) {
  main section.cta .cta_container > .cta_btns {
    flex-direction: column;
    gap: 2rem;
  }
}
main section.cta .cta_container > .cta_btns > .download_btn {
  display: inline-block;
  border: solid 1px #47bdc9;
  border-radius: 6px;
  color: #47bdc9;
  padding: 2.3rem 5.2rem 2.2rem 5.6rem;
}
main section.cta .cta_container > .cta_btns > .download_btn:hover {
  background-color: #47bdc9;
  color: #fff;
  cursor: pointer;
  transition: all 0.5s;
}
main section.cta .cta_container > .cta_btns > .contact_btn {
  display: inline-block;
  background-color: #f7c579;
  border: solid 1px #f7c579;
  border-radius: 6px;
  color: #fff;
  padding: 2.3rem 1.8rem 2.2rem;
}
@media screen and (width <= 769px) {
  main section.cta .cta_container > .cta_btns > .contact_btn {
    padding: 2.3rem 2.7rem 2.2rem 3.6rem;
  }
}
main section.cta .cta_container > .cta_btns > .contact_btn:hover {
  background-color: inherit;
  color: #f7c579;
  cursor: pointer;
  transition: all 0.5s;
}
main section.lead {
  margin-top: 18.3rem;
}
@media screen and (width <= 769px) {
  main section.lead {
    margin-top: 10rem;
  }
}
main section.lead .lead_container {
  border: solid 5px rgba(99, 131, 211, 0.5019607843);
  padding: 5.2rem 9.1rem 2.7rem;
}
@media screen and (width <= 769px) {
  main section.lead .lead_container {
    padding: 4rem 2rem;
  }
}
main section.lead .lead_container > .lead_message {
  font-size: 3.2rem;
}
@media screen and (width <= 769px) {
  main section.lead .lead_container > .lead_message {
    font-size: 1.5rem;
  }
}
main section.lead .lead_container > picture {
  margin-top: 3.8rem;
  display: block;
}
@media screen and (width <= 769px) {
  main section.lead .lead_container > picture {
    width: 80%;
    margin-inline: auto;
    margin-top: 2rem;
  }
}
main section.lead .lead_container > .sample_list {
  margin-block: 3.1rem 4.7rem;
}
main section.lead .lead_container > .sample_list > .items {
  margin-top: 2rem;
  position: relative;
  padding-left: 4rem;
}
main section.lead .lead_container > .sample_list > .items:before {
  content: "";
  width: 3rem;
  height: 3rem;
  background-image: url(assets/img/check_mark.svg);
  background-position: center;
  background-size: contain;
  left: 8px;
  position: absolute;
  top: -4px;
}
main section.lead .lead_container > .sample_list > .items > p {
  font-size: 2rem;
  text-align: left;
}
@media screen and (width <= 769px) {
  main section.lead .lead_container > .sample_list > .items > p {
    font-size: 1.5rem;
  }
}
main section.lead .lead_container > .lead_text {
  font-size: 2.4rem;
  margin-top: 3.6rem;
}
@media screen and (width <= 769px) {
  main section.lead .lead_container > .lead_text {
    font-size: 1.5rem;
  }
}
main section.intro {
  margin-block: 17.1rem 20.6rem;
}
@media screen and (width <= 769px) {
  main section.intro {
    margin-block: 10rem;
  }
}
main section.intro .intro_container > h2 {
  font-size: 3.2rem;
  margin-bottom: 1.5rem;
}
@media screen and (width <= 769px) {
  main section.intro .intro_container > h2 {
    font-size: 1.8rem;
  }
}
main section.intro .intro_container > picture {
  width: 100%;
}
@media screen and (width <= 769px) {
  main section.intro .intro_container > picture {
    display: block;
    width: 80%;
    margin-inline: auto;
  }
}
main section.intro .intro_container > p {
  font-size: 2.4rem;
  line-height: 2;
  margin-top: 2.3rem;
  text-align: left;
}
@media screen and (width <= 769px) {
  main section.intro .intro_container > p {
    font-size: 1.2rem;
  }
}
main section.intro .intro_container img {
  width: auto;
}
main section.intro .intro_container > img:nth-of-type(2) {
  margin-top: 5.8rem;
}
main section.works {
  background-image: url(assets/img/backgr1.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding-block: 21.3rem 23.5rem;
  position: relative;
}
@media screen and (width <= 769px) {
  main section.works {
    background-image: url(assets/img/backgr1_sp.jpg);
  }
}
main section.works:after {
  content: "";
  position: absolute;
  width: 33.4rem;
  height: 12.5rem;
  bottom: 25rem;
  left: 18.2rem;
  background-image: url(assets/img/yama.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (width <= 769px) {
  main section.works:after {
    bottom: 13rem;
    left: 1rem;
    width: 20rem;
    transform: rotate(18deg);
  }
}
main section.works .works_container > .title > p {
  font-size: 3.2rem;
}
@media screen and (width <= 769px) {
  main section.works .works_container > .title > p {
    font-size: 1.8rem;
  }
}
main section.works .works_container > .title > h2 {
  font-size: 5.8rem;
  margin-top: 3.1rem;
}
@media screen and (width <= 769px) {
  main section.works .works_container > .title > h2 {
    font-size: 3.6rem;
    margin-top: 1rem;
  }
}
main section.works .works_container > .text {
  margin-top: 6rem;
  font-size: 2.4rem;
  line-height: 2;
}
@media screen and (width <= 769px) {
  main section.works .works_container > .text {
    font-size: 1rem;
    margin-top: 2rem;
  }
}
main section.works .works_container > .text > span {
  color: #ef5081;
}
main section.works .works_container > .works_list {
  margin-top: 5.1rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media screen and (width <= 769px) {
  main section.works .works_container > .works_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
main section.works .works_container > .works_list li:nth-of-type(1) > .card_contents {
  top: 52%;
}
@media screen and (width <= 769px) {
  main section.works .works_container > .works_list li:nth-of-type(1) > .card_contents {
    top: 54%;
  }
}
main section.works .works_container > .works_list li:nth-of-type(2) > .card_contents {
  top: 48%;
}
main section.works .works_container > .works_list li:nth-of-type(3) > .card_contents {
  top: 52%;
}
@media screen and (width <= 769px) {
  main section.works .works_container > .works_list li:nth-of-type(3) > .card_contents {
    top: 50%;
  }
}
main section.works .works_container > .works_list li:nth-of-type(4),
main section.works .works_container > .works_list li:nth-of-type(5),
main section.works .works_container > .works_list li:nth-of-type(6) {
  padding-block: 1.8rem 36rem;
}
@media screen and (width <= 769px) {
  main section.works .works_container > .works_list li:nth-of-type(4),
  main section.works .works_container > .works_list li:nth-of-type(5),
  main section.works .works_container > .works_list li:nth-of-type(6) {
    padding-block: 1.8rem 25rem;
  }
}
main section.works .works_container > .works_list li:nth-of-type(4) > .card_contents {
  top: 55%;
}
@media screen and (width <= 769px) {
  main section.works .works_container > .works_list li:nth-of-type(4) > .card_contents {
    top: 48%;
  }
}
main section.works .works_container > .works_list li:nth-of-type(5) > .card_contents {
  top: 55%;
}
@media screen and (width <= 769px) {
  main section.works .works_container > .works_list li:nth-of-type(5) > .card_contents {
    top: 53%;
  }
}
main section.works .works_container > .works_list li:nth-of-type(6) > .card_contents {
  top: 52%;
}
@media screen and (width <= 769px) {
  main section.works .works_container > .works_list li:nth-of-type(6) > .card_contents {
    top: 46%;
  }
}
main section.works .works_container > .works_list > .works_items {
  position: relative;
  border-radius: 6px;
  padding-block: 1.8rem 34rem;
}
@media screen and (width <= 769px) {
  main section.works .works_container > .works_list > .works_items {
    padding-block: 1.8rem 20rem;
  }
}
main section.works .works_container > .works_list > .works_items.orange {
  background-color: #ffead2;
}
main section.works .works_container > .works_list > .works_items.green {
  background-color: #e0ffd9;
}
main section.works .works_container > .works_list > .works_items > .card_contents {
  position: absolute;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 88%;
}
main section.works .works_container > .works_list > .works_items > .card_contents > .card_title {
  font-size: 3.2rem;
}
@media screen and (width <= 769px) {
  main section.works .works_container > .works_list > .works_items > .card_contents > .card_title {
    font-size: 2rem;
  }
}
main
  section.works
  .works_container
  > .works_list
  > .works_items
  > .card_contents
  > .card_title
  > span {
  color: #ef5081;
}
main
  section.works
  .works_container
  > .works_list
  > .works_items
  > .card_contents
  > .ruruiku-label-box {
  margin: 20px auto;
}
main
  section.works
  .works_container
  > .works_list
  > .works_items
  > .card_contents
  > .ruruiku-label-box
  > .ruruiku-label {
  font-size: 12px;
  display: inline-block;
  background: #f0fbff;
  margin: 4px 8px;
  padding: 3px 5px;
  color: #414141;
  border-radius: 3px;
}
main
  section.works
  .works_container
  > .works_list
  > .works_items
  > .card_contents
  > .ruruiku-label-box
  > .ruruiku-label:before {
  content: "#";
  margin-right: 3px;
}
@media screen and (width <= 769px) {
  main
    section.works
    .works_container
    > .works_list
    > .works_items
    > .card_contents
    > .ruruiku-label-box
    > .ruruiku-label {
    font-size: 10px;
  }
}
main section.works .works_container > .works_list > .works_items > .card_contents > .card_text {
  font-size: 2rem;
  line-height: 1.6;
  margin-top: 2rem;
  text-align: left;
}
@media screen and (width <= 769px) {
  main section.works .works_container > .works_list > .works_items > .card_contents > .card_text {
    font-size: 1rem;
    margin-top: 2rem;
  }
}
main section.works .routine_container {
  margin-top: 15.6rem;
}
main section.works .routine_container > .title {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5.8rem;
  margin-top: 3.1rem;
}
@media screen and (width <= 769px) {
  main section.works .routine_container > .title {
    font-size: 3.6rem;
  }
}
main section.works .routine_container > .title > span {
  margin-right: 1rem;
}
@media screen and (width <= 769px) {
  main section.works .routine_container > .title > span > img {
    width: 70%;
  }
}
main section.works .routine_container > .text {
  margin-top: 6rem;
  font-size: 2.4rem;
  line-height: 2;
}
@media screen and (width <= 769px) {
  main section.works .routine_container > .text {
    margin-top: 3rem;
    font-size: 1.4rem;
  }
}
main section.works .routine_container > .text > span {
  color: #ef5081;
}
main section.works .routine_container > .schedule_table {
  display: flex;
  justify-content: center;
  margin-top: 5.1rem;
  gap: 2rem;
}
@media screen and (width <= 769px) {
  main section.works .routine_container > .schedule_table {
    flex-direction: column;
  }
}
main section.works .routine_container > .schedule_table h3 {
  font-size: 3.2rem;
}
@media screen and (width <= 769px) {
  main section.works .routine_container > .schedule_table h3 {
    font-size: 2.4rem;
  }
}
main section.works .routine_container > .schedule_table p {
  font-size: 2rem;
  text-align: left;
  margin-top: 1rem;
}
@media screen and (width <= 769px) {
  main section.works .routine_container > .schedule_table p {
    font-size: 1.5rem;
  }
}
main section.works .routine_container > .schedule_table table {
  margin-top: 1rem;
}
main section.works .routine_container > .schedule_table table > tbody > tr {
  border-bottom: 1px solid #000;
}
main section.works .routine_container > .schedule_table table > tbody > tr > th,
main section.works .routine_container > .schedule_table table > tbody > tr > td {
  padding: 1rem;
  font-size: 2.4rem;
}
@media screen and (width <= 769px) {
  main section.works .routine_container > .schedule_table table > tbody > tr > th,
  main section.works .routine_container > .schedule_table table > tbody > tr > td {
    font-size: 1.4rem;
  }
}
@media screen and (width <= 769px) {
  main section.works .routine_container > .schedule_table table > tbody > tr > th {
    padding: 1rem 1rem 1rem 0;
  }
}
@media screen and (width <= 769px) {
  main section.works .routine_container > .schedule_table table > tbody > tr > td {
    padding-top: 1rem;
  }
}
main section.works .routine_container > .schedule_table > .weekdays {
  border: solid 5px #98ca63;
  border-radius: 12px;
  padding: 3.3rem 2.3rem 3.9rem 2.1rem;
  margin-bottom: 23rem;
  text-align: left;
  background-color: #fff;
}
@media screen and (width <= 769px) {
  main section.works .routine_container > .schedule_table > .weekdays {
    margin-bottom: 4rem;
  }
}
main section.works .routine_container > .schedule_table > .weekdays > h3 {
  color: #98ca63;
}
main section.works .routine_container > .schedule_table > .weekdays table > tbody > tr > th {
  color: #98ca63;
}
main section.works .routine_container > .schedule_table > .holidays {
  border: solid 5px #f3a69b;
  border-radius: 12px;
  padding: 3.3rem 1.6rem 3.6rem 2rem;
  text-align: left;
  background-color: #fff;
}
main section.works .routine_container > .schedule_table > .holidays > h3 {
  color: #f3a69b;
}
main section.works .routine_container > .schedule_table > .holidays table > tbody > tr > th {
  color: #f3a69b;
}
main section.message {
  margin-block: 14.6rem 16.6rem;
}
main section.message .message_container > h2 {
  font-size: 3.2rem;
  margin-bottom: 1.5rem;
}
main section.message .message_container > .message_text {
  font-size: 2.4rem;
  line-height: 2;
  margin-top: 2.3rem;
  text-align: left;
}
@media screen and (width <= 769px) {
  main section.message .message_container > .message_text {
    font-size: 1.6rem;
  }
}
main section.message .message_container img {
  width: auto;
}
main section.message .message_container > img:nth-of-type(2) {
  margin-top: 5.8rem;
}
main section.message .message_container > .info {
  font-size: 2rem;
  text-align: left;
  margin-top: 3rem;
}
@media screen and (width <= 769px) {
  main section.message .message_container > .info {
    font-size: 1.2rem;
  }
}
main section.message .message_container > .name {
  font-size: 3.2rem;
  text-align: left;
  margin-top: 0.8rem;
}
@media screen and (width <= 769px) {
  main section.message .message_container > .name {
    font-size: 2rem;
  }
}
main section.info {
  background-image: url(assets/img/backgr2.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  margin-bottom: 10rem;
}
@media screen and (width <= 769px) {
  main section.info {
    background-image: url(assets/img/backgr2_sp.jpg);
    background-size: contain;
    background-position: inherit;
  }
}
main section.info .info_container {
  padding-top: 58rem;
}
@media screen and (width <= 769px) {
  main section.info .info_container {
    padding-top: 18rem;
  }
}
main section.info .info_container > .title {
  font-size: 3.2rem;
}
main section.info .info_container > ul {
  margin-top: 5.5rem;
}
main section.info .info_container > ul > li {
  text-align: left;
  position: relative;
  line-height: 200%;
  margin-top: 3rem;
}
main section.info .info_container > ul > li:before {
  content: "・";
  position: absolute;
  top: 2px;
  left: -30px;
  font-size: 8rem;
  margin-right: 1rem;
  color: #4e3c30;
}
@media screen and (width <= 769px) {
  main section.info .info_container > ul > li:before {
    top: 0;
    left: -22px;
    font-size: 6rem;
  }
}
main section.info .info_container > ul > li > h4 {
  font-size: 2.4rem;
  color: #4e3c30;
  margin-left: 2rem;
}
@media screen and (width <= 769px) {
  main section.info .info_container > ul > li > h4 {
    font-size: 1.8rem;
  }
}
main section.info .info_container > ul > li > p {
  text-align: left;
  font-size: 2rem;
  color: #4e3c30;
}
@media screen and (width <= 769px) {
  main section.info .info_container > ul > li > p {
    font-size: 1.4rem;
  }
}
main section.about {
  background-color: #fffbe4;
  padding-block: 8.8rem 7.6rem;
}
main section.about .inner {
  padding-inline: 9rem;
}
@media screen and (width <= 769px) {
  main section.about .inner {
    padding-inline: 0;
  }
}
main section.about .about_container > h2 {
  font-size: 3.2rem;
}
main section.about .about_container > table {
  margin-top: 4.1rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
main section.about .about_container > table > tbody > tr > th,
main section.about .about_container > table > tbody > tr > td {
  font-size: 2.4rem;
  text-align: left;
}
@media screen and (width <= 769px) {
  main section.about .about_container > table > tbody > tr > th,
  main section.about .about_container > table > tbody > tr > td {
    font-size: 1.6rem;
  }
}
main section.about .about_container > table > tbody > tr > th {
  white-space: nowrap;
}
main section.about .about_container > table > tbody > tr > td {
  padding-left: 6rem;
}
@media screen and (width <= 769px) {
  main section.about .about_container > table > tbody > tr > td {
    padding-left: 2rem;
  }
}
main section.about .about_container > .about_facility {
  margin-top: 10rem;
}
main section.contact {
  background-color: #ccffd4;
  padding-block: 9.4rem 7.8rem;
}
main section.contact .contact_container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (width <= 769px) {
  main section.contact .contact_container {
    flex-direction: column;
  }
}
main section.contact .contact_container > .contact_text {
  font-family: Inter;
  max-width: 45%;
}
@media screen and (width <= 769px) {
  main section.contact .contact_container > .contact_text {
    max-width: 100%;
  }
}
main section.contact .contact_container > .contact_text > h3 {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (width <= 769px) {
  main section.contact .contact_container > .contact_text > h3 {
    font-size: 2rem;
  }
}
main section.contact .contact_container > .contact_text > h3 > span {
  font-size: 7.4rem;
}
@media screen and (width <= 769px) {
  main section.contact .contact_container > .contact_text > h3 > span {
    font-size: 5rem;
  }
}
main section.contact .contact_container > .contact_text > p {
  font-size: 2rem;
  text-align: left;
  margin-top: 1rem;
}
@media screen and (width <= 769px) {
  main section.contact .contact_container > .contact_text > p {
    font-size: 1.4rem;
    text-align: center;
  }
}
main section.contact .contact_container > .contact_info {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (width <= 769px) {
  main section.contact .contact_container > .contact_info {
    margin-top: 2rem;
  }
}
main section.contact .contact_container > .contact_info > .number {
  font-family: Inter, serif;
  font-weight: 700;
  font-size: 3.2rem;
  position: relative;
  padding-left: 3rem;
}
@media screen and (width <= 769px) {
  main section.contact .contact_container > .contact_info > .number {
    font-size: 2.4rem;
    padding-left: 2rem;
  }
}
main section.contact .contact_container > .contact_info > .number:before {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: -5px;
  width: 3rem;
  height: 3rem;
  background-image: url(assets/img/phone.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (width <= 769px) {
  main section.contact .contact_container > .contact_info > .number:before {
    width: 2rem;
    height: 2rem;
    top: 4px;
    left: -5px;
  }
}
main section.contact .contact_container > .contact_info > .apply_btn {
  font-size: 2.4rem;
  display: inline-block;
  background-color: #f7c579;
  border: solid 1px #f7c579;
  border-radius: 6px;
  color: #fff;
  padding: 2.3rem 1.8rem 2.2rem;
  margin-top: 1.7rem;
}
main section.contact .contact_container > .contact_info > .apply_btn:hover {
  background-color: #fff;
  color: #f7c579;
  cursor: pointer;
  transition: all 0.5s;
}
main section.map > iframe {
  width: 100%;
}
.header_contents.sp a {
  font-family: sans-serif;
  text-decoration: none;
}
.header_contents.sp .hamburger {
  display: block;
  height: 60px;
  margin-left: auto;
  position: relative;
  z-index: 10;
  width: 60px;
  border: none;
  background-color: transparent;
}
.header_contents.sp .hamburger.-active .hamburger__line {
  background-color: transparent;
}
.header_contents.sp .hamburger.-active .hamburger__line:before {
  top: 0;
  transform: rotate(45deg);
}
.header_contents.sp .hamburger.-active .hamburger__line:after {
  top: 0;
  transform: rotate(-45deg);
}
.header_contents.sp .hamburger.-active .hamburger__text:before {
  content: "閉じる";
}
.header_contents.sp .hamburger__line {
  display: block;
  height: 2px;
  position: absolute;
  top: 23px;
  left: 50%;
  transform: translate(-50%);
  width: 24px;
  background-color: #172e59;
  transition: 0.4s;
}
.header_contents.sp .hamburger__line:before,
.header_contents.sp .hamburger__line:after {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  background-color: #172e59;
  transition: inherit;
}
.header_contents.sp .hamburger__line:before {
  top: -6px;
}
.header_contents.sp .hamburger__line:after {
  top: 6px;
}
.header_contents.sp .hamburger__text {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translate(-50%);
  width: 100%;
  text-align: center;
}
.header_contents.sp .hamburger__text:before {
  content: "メニュー";
  text-align: center;
  color: #172e59;
  font-size: 10px;
  font-weight: 900;
}
.header_contents.sp .header {
  width: 300px;
}
.header_contents.sp .header__nav-area {
  position: fixed;
  top: 0;
  left: -100%;
  z-index: 9;
  height: 100vh;
  width: 100%;
  visibility: hidden;
  padding-top: 60px;
  background-color: #fff;
  transition: 0.4s;
}
.header_contents.sp .header__nav-area.-active {
  left: 0;
  visibility: visible;
}
.header_contents.sp .global-navigation {
  padding: 40px 25px 120px;
}
.header_contents.sp .global-navigation__list > li {
  padding-bottom: 20px;
  border-bottom: 2px solid #e7e9ee;
}
.header_contents.sp .global-navigation__list > li + li {
  margin-top: 20px;
}
.header_contents.sp .global-navigation__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 900;
  transition: color 0.4s;
  font-size: 1.5rem;
}
.header_contents.sp .global-navigation__link.-accordion {
  position: relative;
  background: none;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding: 0;
}
.header_contents.sp .global-navigation__link.-accordion:after {
  content: "";
  display: block;
  height: 12px;
  position: absolute;
  top: 50%;
  right: 5px;
  width: 2px;
  background-color: #ed3242;
  transform: translateY(-50%);
  transition: transform 0.4s;
}
.header_contents.sp .global-navigation__link.-accordion:before {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 0;
  width: 12px;
  background-color: #ed3242;
  transform: translateY(-50%);
}
.header_contents.sp .global-navigation__link.-active:after {
  transform: translateY(-50%) rotate(-90deg);
}
.header_contents.sp .accordion {
  height: 0;
  overflow: hidden;
  visibility: hidden;
  transition: 0.4s;
}
.header_contents.sp .accordion.-active {
  height: auto;
  padding-top: 30px;
  visibility: visible;
}
.header_contents.sp .accordion__list li {
  font-size: 0.75rem;
}
.header_contents.sp .accordion__list li + li {
  margin-top: 21px;
}
.header_contents.sp .accordion__link {
  color: #172e59;
} /*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,
:before,
:after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
body {
  margin: 0;
}
main {
  display: block;
}
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
dd {
  margin-left: 0;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}
pre {
  font-family: monospace, monospace;
  font-size: inherit;
}
address {
  font-style: inherit;
}
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted;
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
img,
embed,
object,
iframe {
  vertical-align: bottom;
}
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}
[type="checkbox"] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}
[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
select::-ms-expand {
  display: none;
}
option {
  padding: 0;
}
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}
legend {
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
label[for] {
  cursor: pointer;
}
details {
  display: block;
}
summary {
  display: list-item;
}
[contenteditable] {
  outline: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption {
  text-align: left;
}
td,
th {
  vertical-align: top;
  padding: 0;
}
th {
  text-align: left;
}
template {
  display: none;
}
[hidden] {
  display: none;
}
html {
  background: #fff;
  font-size: 10px;
  scroll-behavior: smooth;
}
@media screen and (max-width: 1440px) {
  html {
    font-size: 0.6944444444vw;
  }
}
@media screen and (width <= 769px) {
  html {
    font-size: 2.6666666667vw;
  }
}
body {
  font-size: 1.6rem;
  font-family: Kosugi Maru, serif;
  color: #4e3c30;
}
img {
  max-width: 100%;
  height: auto;
}
.wrapper {
  width: 1440px;
  margin: 0 auto;
  padding-inline: 28rem;
}
@media screen and (max-width: 1440px) {
  .wrapper {
    width: 100%;
  }
}
@media screen and (width <= 769px) {
  .wrapper {
    padding-inline: 5%;
  }
}
.inner {
  padding-inline: 10rem;
}
@media screen and (width <= 769px) {
  .inner {
    padding-inline: 0;
  }
}
@media screen and (width <= 769px) {
  .pc {
    display: none;
  }
}
.sp {
  display: none;
}
@media screen and (width <= 769px) {
  .sp {
    display: block;
  }
}
header > .wrapper {
  padding-inline: 9.8rem 9rem;
  padding-block: 4rem;
}
@media screen and (width <= 769px) {
  header > .wrapper {
    padding-inline: 2rem 0.5rem;
    padding-block: 0;
  }
}
header > .wrapper > .header_container {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (width <= 769px) {
  header > .wrapper > .header_container {
    justify-content: space-between;
  }
}
header > .wrapper > .header_container > .header_logo {
  max-width: 272px;
  width: 100%;
}
header > .wrapper > .header_container > .header_logo > a > picture {
  width: 100%;
}
@media screen and (width <= 769px) {
  header > .wrapper > .header_container > .header_logo > a > picture {
    width: 40%;
    display: block;
  }
}
header > .wrapper > .header_container > .header_contents {
  margin-left: 4.1rem;
  font-size: 2.4rem;
}
header > .wrapper > .header_container > .header_contents > .nav_container > .nav_lists {
  display: flex;
  gap: 4rem;
}
header
  > .wrapper
  > .header_container
  > .header_contents
  > .nav_container
  > .nav_lists
  > .nav_items {
  line-height: 1;
}
footer {
  background: #353535;
  color: #fff;
  font-size: 2.4rem;
  text-align: center;
}
footer .wrapper {
  padding-block: 6.5rem 7.6rem;
  padding-inline: 27rem;
}
@media screen and (width <= 769px) {
  footer .wrapper {
    padding-block: 6rem 4rem;
    padding-inline: 2rem;
  }
}
footer .wrapper > p {
  font-size: 2.4rem;
  margin-top: 3.6rem;
  color: gray;
}
@media screen and (width <= 769px) {
  footer .wrapper > p {
    font-size: 1.2rem;
  }
}
footer .footer_contents {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.2rem;
}
@media screen and (width <= 769px) {
  footer .footer_contents {
    flex-direction: column;
    gap: 6rem;
  }
}
footer .footer_contents > p {
  font-size: 2.4rem;
  text-align: left;
}
@media screen and (width <= 769px) {
  footer .footer_contents > p {
    font-size: 2rem;
  }
}
footer .footer_contents > picture {
  aspect-ratio: 287/75;
  max-width: 287px;
  margin-top: -2.5rem;
}
@media screen and (width <= 769px) {
  footer .footer_contents > picture {
    max-width: inherit;
  }
}
footer nav {
  margin-top: 4.8rem;
}
@media screen and (width <= 769px) {
  footer nav {
    margin-top: 4rem;
  }
}
footer nav ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5.6rem;
}
@media screen and (width <= 769px) {
  footer nav ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }
}
@media screen and (width <= 769px) {
  footer nav ul li {
    padding-bottom: 1rem;
    width: 100%;
    text-align: left;
    font-size: 2rem;
  }
}
