@charset "UTF-8";
/* ===============
  Config
=============== */
:root {
  --text: #333333;
  --bg: #f2f2f2;
  --muted: #949494;
  --primary: #D699A1;
  --secondary: #577a9c;
  --thirdry:#68AFA1;
}

html, body {
  height: 100%;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--text);
  background: var(--bg);
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 1.1px;
  overflow-x: hidden;
}

section {
  scroll-margin-top: 80px;
}

img {
  max-width: 100%;
}

a {
  text-decoration: none;
  color: initial;
  text-decoration: none;
}
a:hover {
  opacity: 0.75;
}

/* ===============
  Utilities / Layout
=============== */
.l-container {
  width: min(100% - 30px, 1080px);
  margin-inline: auto;
}

.skip-link {
  position: absolute;
  left: 8px;
  top: 8px;
  transform: translateY(-200%);
  padding: 8px 12px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  z-index: 1000;
}
.skip-link:focus {
  transform: translateY(0);
}

.rubik, .attractiveSub-card__title span, .section-head__en {
  font-family: "Rubik", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

/* ===============
  Header / Nav
=============== */
.site-header {
  position: fixed;
  width: 100%;
  z-index: 1300;
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 10px 10px 45px;
  background: #fff;
  border-radius: 100px;
  box-shadow: 0 0 10px #C8C8C8;
  height: 80px;
  margin: 20px auto 0;
  width: calc(100% - 40px);
}
@media (max-width: 1260px) {
  .site-header__inner {
    padding: 10px;
  }
}
@media (max-width: 1079px) {
  .site-header__inner {
    height: 60px;
  }
}
.is-menu-open .site-header__inner {
  opacity: 0;
}
.site-header__brand {
  max-width: 327px;
  width: 25%;
}
@media (max-width: 1079px) {
  .site-header__brand {
    width: 230px;
  }
}
.site-header__nav {
  display: flex;
  font-size: 1rem;
}
@media (max-width: 1260px) {
  .site-header__nav {
    font-size: 0.9rem;
  }
}
.site-header__toggle {
  position: fixed;
  width: 44px;
  height: 44px;
  background: transparent;
  border: none;
  cursor: pointer;
  display: none;
  z-index: 1400;
  right: 30px;
  top: 30px;
}
@media (max-width: 1079px) {
  .site-header__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}
.site-header__toggle span {
  position: absolute;
  left: 50%;
  width: 22px;
  height: 2px;
  background: #111;
  border-radius: 2px;
  transform: translateX(-50%);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.site-header__toggle span:nth-child(1) {
  top: 14px;
}
.is-menu-open .site-header__toggle span:nth-child(1) {
  transform: translateX(-50%) translateY(7px) rotate(45deg);
}
.site-header__toggle span:nth-child(2) {
  top: 21px;
}
.is-menu-open .site-header__toggle span:nth-child(2) {
  opacity: 0;
}
.site-header__toggle span:nth-child(3) {
  top: 28px;
}
.is-menu-open .site-header__toggle span:nth-child(3) {
  transform: translateX(-50%) translateY(-7px) rotate(-45deg);
}

.gnav__list {
  display: flex;
  gap: 30px;
  align-items: center;
  white-space: nowrap;
}
@media (max-width: 1260px) {
  .gnav__list {
    gap: 20px;
  }
}
@media (max-width: 1079px) {
  .gnav__list {
    display: none;
  }
}
.gnav__cta {
  display: flex;
  gap: 11px;
  margin-left: 38px;
}
@media (max-width: 1260px) {
  .gnav__cta {
    margin-left: 19px;
  }
}
@media (max-width: 1079px) {
  .gnav__cta {
    position: absolute;
    top: 30px;
    right: 80px;
  }
}
@media (max-width: 768px) {
  .gnav__cta {
    display: none;
  }
}
.gnav__cta__btn, .spmenu__cta {
  display: flex;
  align-items: center;
  color: #fff;
  background: var(--primary);
  height: 60px;
  border-radius: 50px;
  padding: 0 20px;
  gap: 9px;
  white-space: nowrap;
}
.gnav__cta__btn--secondary, .spmenu__cta--secondary {
  background: var(--secondary);
}
@media (max-width: 1079px) {
  .gnav__cta__btn, .spmenu__cta {
    height: 40px;
  }
}

.spmenu {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: rgba(255, 255, 255, 0.98);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.is-menu-open .spmenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.spmenu__inner {
  height: 100%;
  padding: 80px 20px 0;
  text-align: center;
}
.spmenu__logo {
  width: 70vw;
  margin: 0 auto 50px;
  max-width: 300px;
}
.spmenu__nav ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  margin-bottom: 30px;
}
.spmenu__ctas {
  display: inline-flex;
  flex-direction: column;
  gap: 24px;
  margin: auto;
  justify-content: center;
}
.spmenu__cta {
  height: 50px;
  padding: 0 30px 0 20px;
  justify-content: space-around;
}
.spmenu__cta__text {
  margin: auto;
}

/* ===============
  Main / Sections
=============== */
.section {
  padding: 120px 0 190px;
  position: relative;
}
@media (max-width: 1079px) {
  .section {
    padding: 100px 0 150px;
  }
}
@media (max-width: 768px) {
  .section {
    padding: 60px 0 80px;
  }
}
.section:before {
  content: "";
  background: url(/);
  position: absolute;
  -webkit-mask: url(../assets/img/section.svg) no-repeat center center/cover;
  mask-image: url(../assets/img/section.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  width: 100vw;
  height: 4.9097222222vw;
  background: var(--bg);
  top: -4.9097222222vw;
  left: 0;
}
@media (max-width: 768px) {
  .section:before {
    top: -4.7222222222vw;
  }
}
.section-head {
  text-align: center;
  position: relative;
  line-height: 1.4;
  margin-bottom: 76px;
}
@media (max-width: 768px) {
  .section-head {
    line-height: 1.8;
  }
}
.section-head:after {
  content: "";
  display: block;
  position: absolute;
  -webkit-mask: url(../assets/img/title-deco-short.svg) no-repeat center center/contain;
  mask-image: url(../assets/img/title-deco-short.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 343px;
  height: 39px;
  left: 50%;
  translate: -50%;
  bottom: -40px;
  background-color: #875B61;
}
@media (max-width: 768px) {
  .section-head:after {
    width: 80%;
  }
}
.section-head__jp {
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 4px;
}
@media (max-width: 768px) {
  .section-head__jp {
    font-size: 3vw;
  }
}
.section-head__en {
  font-size: 3.75rem;
  line-height: 1;
}
@media (max-width: 768px) {
  .section-head__en {
    font-size: 12vw;
  }
}
.section-head--message:after {
  background-color: #46688A;
}
.section-head--gallery:after {
  -webkit-mask: url(../assets/img/title-deco-long.svg) no-repeat center center/contain;
  mask-image: url(../assets/img/title-deco-long.svg);
  width: 467px;
  height: 44px;
  bottom: -50px;
}
@media (max-width: 768px) {
  .section-head--gallery:after {
    width: 100%;
  }
}

/* ===============
  Top
=============== */
.hero {
  width: 100vw;
  height: 62.5vw;
  max-height: 800px;
  position:relative;
}
@media (max-width: 768px) {
  .hero {
    height: 90vh;
  }
}
.hero__slider{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
@media (max-width: 768px) {
 .hero__slider .splide__slide__img{
	object-fit:cover;
	height:90vh;
	object-position:center;
  }
 .hero__slider #splide01-slide03 .splide__slide__img{
	object-position:60%;
  }
}
.hero__content {
  position: absolute;
  height: 100%;
  left: 50%;
  translate: -50% 0;
  z-index: 1;
}
.hero__catch {
  position: absolute;
  left: 0;
  bottom: 63px;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  z-index: 100;
  text-shadow: 0 0 10px #BC8C92;
}
@media (max-width: 768px) {
  .hero__catch {
    font-size: 6.5vw;
  }
}

.about {
  background: url(../assets/img/top-about-bg.jpg) no-repeat;
  background-size: cover;
}
@media (max-width: 768px) {
  .about {
    background-size: contain;
    background-position: bottom;
    background-color: #F9CBD1;
  }
}
.about:before {
  -webkit-mask: none;
  background: url(../assets/img/top-about-section.png) no-repeat;
  height: 19.0277777778vw;
  top: -19.0277777778vw;
  background-size: cover;
  bottom: auto;
}
.about:after {
  content: "";
  background: url(../assets/img/top-about-img03.svg) no-repeat;
  background-size: contain;
  height: 19.1666666667vw;
  width: 21.0416666667vw;
  max-width: 303px;
  position: absolute;
  right: 20px;
  bottom: -9.5833333333vw;
  display: inline-block;
  z-index: 1;
}
.about__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 46px;
}
@media (max-width: 768px) {
  .about__grid {
    gap: 70px;
  }
}
.about-card {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
@media (max-width: 768px) {
  .about-card {
    flex-direction: column;
  }
}
.about-card--mission:before {
  content: "";
  background: url(../assets/img/top-about-star.svg) no-repeat;
  background-size: contain;
  width: 114px;
  height: 117px;
  position: absolute;
  left: -57px;
  top: -117px;
}
@media (max-width: 768px) {
  .about-card--mission:before {
    width: 56px;
    height: 58.5px;
    left: 0;
    top: 0;
  }
}
@media (max-width: 768px) {
  .about-card--value {
    flex-direction: column-reverse;
  }
}
.about-card--value:before {
  content: "";
  background: url(../assets/img/top-about-star.svg) no-repeat;
  background-size: contain;
  width: 114px;
  height: 117px;
  position: absolute;
  right: -57px;
  top: -58px;
  transform: scale(-1, 1);
}
@media (max-width: 768px) {
  .about-card--value:before {
    width: 56px;
    height: 58.5px;
    right: 0;
  }
}
.about-card__body {
  width: 50%;
  min-width: 513px;
}
@media (max-width: 768px) {
  .about-card__body {
    width: 100%;
    min-width: auto;
    text-align: center;
  }
}
.about-card__title {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4;
  display: inline-block;
  position: relative;
  margin-left: 35px;
  margin-bottom: 50px;
}
.about-card__title:before {
  content: "";
  background: url(../assets/img/icon-kakko.svg) no-repeat;
  background-size: contain;
  width: 60px;
  height: 40px;
  display: inline-block;
  position: absolute;
  left: -42px;
  top: -20px;
}
.about-card__title:after {
  content: "";
  background: url(../assets/img/icon-kakko.svg) no-repeat;
  background-size: contain;
  width: 60px;
  height: 40px;
  display: inline-block;
  position: absolute;
  right: -42px;
  bottom: -20px;
  transform: scale(-1);
}
@media (max-width: 768px) {
  .about-card__title {
    margin-left: 0;
    font-size: 1.8rem;
  }
}
.about-card__text {
  line-height: 1.75;
  text-align: justify;
}
.about-card__figure img {
  filter: drop-shadow(0 0 10px #BC8C92);
}
@media (max-width: 768px) {
  .about-card__figure {
    max-width: 700px;
  }
}

.attractive:after {
  content: "";
  background: url(../assets/img/top-attractive-img02.svg) no-repeat;
  background-size: contain;
  height: 23.6805555556vw;
  width: 23.125vw;
  max-width: 333px;
  position: absolute;
  left: 20px;
  bottom: -20.8333333333vw;
  display: inline-block;
  z-index: 1;
}
.attractive__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
@media (max-width: 768px) {
  .attractive__grid {
    display: flex;
    flex-direction: column-reverse;
  }
}
.attractive__figure {
  position: relative;
  height: 42.1527777778vw;
}
@media (max-width: 768px) {
  .attractive__figure {
    width: 100%;
    height: auto;
    margin-top: 50px;
  }
}
.attractive__img {
  position: absolute;
  width: 51.3888888889vw;
  height: auto;
  max-width: none;
  right: 0;
}
@media (max-width: 768px) {
  .attractive__img {
    position: relative;
    width: 97vw;
    right: auto;
    left: -32px;
  }
}
.attractive__content {
  text-align: center;
}
.attractive__text {
  text-align: center;
  margin-bottom: 56px;
}
@media (max-width: 768px) {
  .attractive__text {
    margin-bottom: 30px;
    text-align: left;
  }
}

.message {
  background: url(../assets/img/top-message-bg.jpg) no-repeat;
  background-size: cover;
}
@media (max-width: 768px) {
  .message {
    background-size: contain;
    background-color: #CADCED;
    background-position: bottom;
  }
}
.message:before {
  background-color: #CADCED;
}
.message:after {
  content: "";
  background: url(../assets/img/top-message-img03.svg) no-repeat;
  background-size: contain;
  height: 11.5972222222vw;
  width: 24.2361111111vw;
  max-width: 349px;
  position: absolute;
  right: 20px;
  bottom: -6.4429012346vw;
  display: inline-block;
  z-index: 1;
}
.message__lead {
  text-align: center;
  margin: 97px 0 57px;
}
@media (max-width: 768px) {
  .message__lead {
    text-align: left;
  }
}
.message-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  margin-left: 20px;
}
@media (max-width: 768px) {
  .message-cards {
    grid-template-columns: 1fr;
  }
}
.message-card {
  text-align: center;
  position: relative;
}
.message-card__figure {
  margin-bottom: 30px;
}
@media (max-width: 768px) {
  .message-card__figure {
    margin-bottom: 40px;
  }
}
.message-card__body {
  position: absolute;
  left: -20px;
  bottom: 140px;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 768px) {
  .message-card__body {
    bottom: 100px;
  }
}
.message-card__title {
  display: inline-block;
  background: #fff;
  padding: 10px 30px 5px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  color: #4A9ACF;
  font-weight: 600;
  font-size: 1.5rem;
}
.--staff .message-card__title{
  color:#d598a0;
}
.message-card__title small {
  font-size: 1rem;
}
@media (max-width: 768px) {
  .message-card__title {
    font-size: 1.2rem;
    padding: 5px 20px 0;
  }
  .message-card__title small {
    font-size: 0.8rem;
  }
}
.message-card__text {
  display: inline-block;
  background: #fff;
  padding: 5px 30px 10px;
  border-top-right-radius: 10px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: -5px;
}
@media (max-width: 768px) {
  .message-card__text {
    font-size: 1rem;
    padding: 10px 20px;
  }
}
@media (max-width: 768px) {
  .message-card__btn {
    margin-left: -20px;
  }
}

.gallery {
  background: url(../assets/img/top-gallery-bg.jpg) no-repeat;
  background-size: cover;
}
@media (max-width: 768px) {
  .gallery {
    background-size: contain;
    background-position: bottom;
  }
}
.gallery__inner {
  position: relative;
}
.gallery__inner:after {
  content: "";
  background: url(../assets/img/top-gallery-img01.svg) no-repeat;
  background-size: contain;
  height: 7.9861111111vw;
  width: 13.3333333333vw;
  max-width: 192px;
  position: absolute;
  left: 20px;
  top: -9.5138888889vw;
  display: inline-block;
  z-index: 1;
}
.gallery__lead {
  text-align: center;
  margin: 97px 0 57px;
}
@media (max-width: 768px) {
  .gallery__lead {
    margin-bottom: 30px;
  }
}

.recruit-cta {
  background: url(../assets/img/cta-bg.webp) no-repeat;
  height: 45.7638888889vw;
  background-size: cover;
  background-position: center;
  width: 100vw;
  position: relative;
  min-height: 500px;
}
@media (max-width: 768px) {
  .recruit-cta {
    background: url(../assets/img/cta-bg_sp.webp) no-repeat;
    height: 101.4666666667vw;
    background-size: cover;
    background-position: right;
    min-height: 550px;
  }
}
.recruit-cta__content {
  text-align: center;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: 100%;
}
.recruit-cta__title {
  color: #fff;
  font-size: 3.125rem;
  line-height: 1;
}
.recruit-cta__title small {
  font-size: 1.875rem;
}
@media (max-width: 768px) {
  .recruit-cta__title {
    font-size: 2rem;
    line-height: 1.4;
  }
  .recruit-cta__title small {
    font-size: 1.2rem;
  }
}
.recruit-cta__title span {
  position: relative;
  display: inline-block;
}
@media (max-width: 768px) {
  .recruit-cta__title span {
    margin-top: 10px;
  }
}
.recruit-cta__title span:before {
  content: "";
  display: block;
  position: absolute;
  background: url(../assets/img/cta-line.svg) no-repeat;
  width: 100%;
  height: 30px;
  left: 0;
  bottom: -35px;
}
.recruit-cta__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 46px;
  max-width: 1046px;
  margin: 46px auto 0;
  width: 95%;
}
@media (max-width: 768px) {
  .recruit-cta__actions {
    grid-template-columns: 1fr;
    gap: 23px;
    margin: 23px auto 0;
  }
}
.recruit-cta__btn {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50px;
  padding: 0 60px;
  height: 140px;
  display: flex;
  align-items: center;
  gap: 35px;
  position: relative;
}
@media (max-width: 1079px) {
  .recruit-cta__btn {
    padding: 0 40px;
  }
}
@media (max-width: 768px) {
  .recruit-cta__btn {
    height: 100px;
    border-radius: 30px;
    gap: 20px;
    padding: 0 30px;
    max-width: 400px;
    margin: auto;
    width: 100%;
  }
}
@media (max-width: 375px) {
  .recruit-cta__btn {
    width: 90%;
    padding: 0 20px;
    height: 80px;
    gap: 15px;
  }
}
@media (max-width: 768px) {
  .recruit-cta__btn img {
    width: 10vw;
    max-width: 60px;
  }
}
.recruit-cta__btn span {
  font-weight: 700;
  font-size: 1.875rem;
  letter-spacing: 4px;
  text-align: left;
}
.recruit-cta__btn span small {
  font-weight: 600;
  font-size: 1rem;
  display: block;
  letter-spacing: initial;
}
@media (max-width: 768px) {
  .recruit-cta__btn span {
    font-size: 1.25rem;
    line-height: 1.4;
  }
  .recruit-cta__btn span small {
    font-size: 0.85rem;
  }
}
.recruit-cta__btn:after {
  content: "";
  position: absolute;
  background: url(../assets/img/icon-arrow-b.svg) no-repeat;
  width: 13px;
  height: 20px;
  display: inline-block;
  background-size: contain;
  right: 7%;
  top: 50%;
  transition: translate 0.3s ease;
  translate: 0 -50%;
}

.access {
  background: url(../assets/img/top-about-bg.jpg) no-repeat;
  background-size: cover;
}
@media (max-width: 768px) {
  .access {
    background-size: contain;
    background-position: bottom;
    background-color: #F9CBD1;
  }
}
.access:before {
  background-color: #F9CBD1;
}
.access:after {
  content: "";
  background: url(../assets/img/top-access-img01.svg) no-repeat;
  background-size: contain;
  height: 12.5694444444vw;
  width: 15.1388888889vw;
  max-width: 218px;
  position: absolute;
  right: 20px;
  top: 7.7314814815vw;
  display: inline-block;
  z-index: 1;
}
.access__lead {
  text-align: center;
  font-size: 1.325rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 97px 0 57px;
  gap: 26px;
}
.access__lead:before {
  content: "";
  background: url(../assets/img/icon-pin.svg) no-repeat;
  width: 22px;
  height: 33px;
  display: inline-block;
  background-size: contain;
}
@media (max-width: 768px) {
  .access__lead {
    font-size: 1.15rem;
    margin: 70px 0 30px;
    gap: 13px;
  }
}
@media (max-width: 375px) {
  .access__lead {
    font-size: 1rem;
    gap: 8px;
  }
  .access__lead:before {
    width: 11px;
    height: 16.5px;
  }
}
.access-cards {
  display: flex;
  gap: 39px;
  margin-top: 30px;
  align-items: flex-start;
}
@media (max-width: 768px) {
  .access-cards {
    flex-direction: column;
    gap: 25px;
  }
}
.access-card {
  flex: 1;
  display: flex;
  border-radius: 30px;
  overflow: hidden;
  background: var(--secondary);
}
@media (max-width: 768px) {
  .access-card {
    width: 100%;
  }
}
.access-card__figure {
  background: var(--secondary);
  width: 120px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 30px 0;
}
@media (max-width: 768px) {
  .access-card__figure {
    width: 80px;
    padding: 30px 15px;
  }
}
.access-card__text {
  width: 100%;
  background: #fff;
  padding: 40px 30px;
}
.access-card__text span {
  display: block;
  border-top: 1px solid;
  margin-top: 20px;
  padding-top: 15px;
}
.access-card--car figure {
  align-self: center;
}

/* ===============
  Subpage
=============== */
.heroSub {
  background-size: cover;
  background-repeat: no-repeat;
  height: 400px;
  width: 100vw;
  position: relative;
}
@media (max-width: 768px) {
  .heroSub {
    height: 300px;
    background-position: center;
  }
}
.--404 .heroSub {
  background-image: url(../assets/img/404.webp);
}
.--privacypolicy .heroSub {
  background-image: url(../assets/img/privacypolicy.webp);
}
.--attractive .heroSub {
  background-image: url(../assets/img/attractive.webp);
}
.--message .heroSub {
  background-image: url(../assets/img/message.webp);
}
.--guideline .heroSub {
  background-image: url(../assets/img/guideline.webp);
}
.--guidelineRegister .heroSub, .--guidelineRegisterCheck .heroSub, .--guidelineRegisterThanks .heroSub {
  background-image: url(../assets/img/guideline-register.webp);
}
.--guidelineSingle .heroSub {
  background-image: url(../assets/img/guideline-single.webp);
}
.--entry .heroSub {
  background-image: url(../assets/img/entry.webp);
}
.heroSub:after {
  content: "";
  background: url(/);
  position: absolute;
  -webkit-mask: url(../assets/img/section.svg) no-repeat center center/cover;
  mask-image: url(../assets/img/section.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  width: 100vw;
  height: 4.9097222222vw;
  background: #fff;
  bottom: -1px;
  left: 0;
}
.--attractive .heroSub:after, .--message .heroSub:after, .--guideline .heroSub:after {
  background-color: var(--bg);
}
.--entryThanks .heroSub:after, .--entryCheck .heroSub:after {
  background-color: #CADCED;
}
.--guidelineThanks .heroSub:after, .--guidelineCheck .heroSub:after {
  background-color: #f9cbd1;
}
.--guidelineRegister .heroSub:after, .--guidelineRegisterCheck .heroSub:after, .--guidelineRegisterThanks .heroSub:after {
  background-color: #e3f8f4;
}
.heroSub__title {
  font-size: 3.125rem;
  color: #fff;
  text-shadow: 0 4px 10px rgba(36, 60, 82, 0.8);
  font-weight: 700;
  top: 60%;
  translate: 0 -50%;
  position: absolute;
  line-height: 1.4;
}
.heroSub__title span {
  font-size: 1.25rem;
  display: block;
  letter-spacing: 4px;
}
@media (max-width: 768px) {
  .heroSub__title {
    font-size: 2rem;
    text-align: center;
    width: 100%;
    left: 0;
  }
  .heroSub__title span {
    font-size: 1rem;
  }
}

.breadcrumbs {
  padding: 23px 0 37px;
  background: #fff;
}
@media (max-width: 768px) {
  .breadcrumbs {
    font-size: 0.85rem;
  }
}
.--attractive .breadcrumbs, .--message .breadcrumbs, .--guideline .breadcrumbs {
  background: var(--bg);
}
.--guidelineRegister .breadcrumbs, .--guidelineRegisterCheck .breadcrumbs, .--guidelineRegisterThanks .breadcrumbs {
  background-color: #e3f8f4;
}
.--entryThanks .breadcrumbs, .--entryCheck .breadcrumbs {
  background-color: #CADCED;
}
.--guidelineThanks .breadcrumbs, .--guidelineCheck .breadcrumbs {
  background-color: #f9cbd1;
}
.breadcrumbs a {
  text-decoration: underline;
}

.sectionSub {
  background: #fff;
  text-align: center;
  padding-bottom: 100px;
}
.sectionSub__title {
  font-size: 2rem;
  font-weight: 700;
}
.sectionSub__title span {
  display: inline;
  background: linear-gradient(transparent 70%, var(--primary) 70%);
  line-height: 1.4;
}
@media (max-width: 768px) {
  .sectionSub__title {
    font-size: 1.6rem;
  }
}
.sectionSub__lead {
  margin: 50px 0 70px;
}
@media (max-width: 768px) {
  .sectionSub__lead {
    text-align: left;
  }
}
.sectionSub__text {
  text-align: left;
}
.sectionSub__list, .messageSub-card__list {
  text-align: left;
}
.sectionSub__list__term, .messageSub-card__list__term {
  font-size: 1.5rem;
  border-bottom: 1px solid var(--primary);
  position: relative;
  padding-left: 30px;
  margin-bottom: 24px;
  padding-bottom: 12px;
  margin-top: 58px;
}
.sectionSub__list__term:before, .messageSub-card__list__term:before {
  content: "";
  width: 10px;
  height: 120%;
  background: var(--primary);
  display: inline-block;
  position: absolute;
  border-radius: 5px;
  left: 0;
  bottom: 0;
}
@media (max-width: 768px) {
  .sectionSub__list__term, .messageSub-card__list__term {
    font-size: 1.2rem;
    padding-left: 25px;
    margin-bottom: 20px;
    padding-bottom: 5px;
  }
}
.sectionSub__list__desc, .messageSub-card__list__desc {
  padding: 0 5px;
}
.sectionSub__list .bullet-point, .messageSub-card__list .bullet-point, .sectionSub__list ol, .messageSub-card__list ol {
  list-style: decimal;
  margin-left: 22px;
  margin-bottom: 20px;
}
.sectionSub__list .bullet-point ol, .messageSub-card__list .bullet-point ol, .sectionSub__list ol ol, .messageSub-card__list ol ol {
  margin-left: 20px;
  margin-top: 10px;
}
.sectionSub__list .bullet-point li::marker, .messageSub-card__list .bullet-point li::marker, .sectionSub__list ol li::marker, .messageSub-card__list ol li::marker {
  color: var(--primary);
  font-weight: 700;
  font-size: 1.25rem;
}
@media (max-width: 768px) {
  .sectionSub__list .bullet-point li::marker, .messageSub-card__list .bullet-point li::marker, .sectionSub__list ol li::marker, .messageSub-card__list ol li::marker {
    font-size: 1.1rem;
  }
}

.attractiveSub {
  padding: 90px 0 160px;
}
@media (max-width: 768px) {
  .attractiveSub {
    padding: 0 0 90px;
  }
}
.attractiveSub__inner {
  margin-top: min(160px, 14.8148148148vw);
  position: relative;
}
@media (max-width: 768px) {
  .attractiveSub__inner {
    margin-top: 0;
  }
}
.attractiveSub__title {
  position: absolute;
  right: 20px;
  top: -240px;
}
@media (max-width: 768px) {
  .attractiveSub__title {
    position: static;
  }
}
.attractiveSub__title img {
  width: min(599px, 55.462962963vw);
}
@media (max-width: 1079px) {
  .attractiveSub__title img {
    width: 500px;
  }
}
@media (max-width: 768px) {
  .attractiveSub__title img {
    width: 100%;
  }
}
.attractiveSub__cards {
  background: url(../assets/img/attractive-line.svg) no-repeat;
  background-size: cover;
  background-position: center top;
}
@media (max-width: 768px) {
  .attractiveSub__cards {
    background-image: url(../assets/img/attractive-line_sp.svg);
    background-repeat: repeat;
    background-size: contain;
    background-position: bottom;
  }
}
.attractiveSub-card {
  display: flex;
  position: relative;
}
@media (max-width: 768px) {
  .attractiveSub-card:nth-of-type(1) {
    background: var(--bg);
  }
}
.attractiveSub-card:nth-of-type(even) {
  margin: max(170px, 15.7407407407vw) 0 max(230px, 21.2962962963vw);
}
@media (max-width: 768px) {
  .attractiveSub-card:nth-of-type(even) {
    margin: 100px 0;
  }
}
.attractiveSub-card:nth-of-type(even) .attractiveSub-card__img {
  left: auto;
  right: 0;
  top: -9.537037037vw;
}
@media (max-width: 768px) {
  .attractiveSub-card:nth-of-type(even) .attractiveSub-card__img {
    right: -10px;
    top: -5vw;
  }
}
.attractiveSub-card:nth-of-type(even) .attractiveSub-card__title span:after {
  background-color: #875B61;
}
.attractiveSub-card:before {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
.attractiveSub-card:nth-of-type(2):before {
  background-image: url(../assets/img/attractive-deco01.svg);
  width: 19.537037037vw;
  height: 14.537037037vw;
  max-width: 211px;
  top: max(-170px, -15.7407407407vw);
  left: max(45px, 4.1666666667vw);
}
@media (max-width: 768px) {
  .attractiveSub-card:nth-of-type(2):before {
    top: 0;
    left: 0;
  }
}
.attractiveSub-card:nth-of-type(3):before {
  background-image: url(../assets/img/attractive-deco02.svg);
  width: 15.7407407407vw;
  height: 22.5925925926vw;
  max-width: 170px;
  top: max(-260px, -24.0740740741vw);
  right: max(45px, 4.1666666667vw);
}
@media (max-width: 768px) {
  .attractiveSub-card:nth-of-type(3):before {
    top: -30px;
    right: 0;
  }
}
.attractiveSub-card:nth-of-type(4):before {
  background-image: url(../assets/img/attractive-deco03.svg);
  width: 20.9259259259vw;
  height: 21.9444444444vw;
  max-width: 226px;
  top: max(-250px, -23.1481481481vw);
  left: max(45px, 4.1666666667vw);
}
@media (max-width: 768px) {
  .attractiveSub-card:nth-of-type(4):before {
    top: -20px;
    left: 0;
  }
}
.attractiveSub-card:nth-of-type(5):before {
  background-image: url(../assets/img/attractive-deco04.svg);
  width: 12.1296296296vw;
  height: 18.7962962963vw;
  max-width: 131px;
  top: max(-230px, -21.2962962963vw);
  right: max(45px, 4.1666666667vw);
}
@media (max-width: 768px) {
  .attractiveSub-card:nth-of-type(5):before {
    top: -50px;
    right: 0;
  }
}
.attractiveSub-card:nth-of-type(6):before {
  background-image: url(../assets/img/attractive-deco05.svg);
  width: 15vw;
  height: 16.7592592593vw;
  max-width: 162px;
  top: max(-100px, -9.2592592593vw);
  left: max(45px, 4.1666666667vw);
}
@media (max-width: 768px) {
  .attractiveSub-card:nth-of-type(6):before {
    top: 0;
    left: 0;
  }
}
.attractiveSub-card:nth-of-type(7):before {
  background-image: url(../assets/img/attractive-deco06.svg);
  width: 12.1296296296vw;
  height: 18.7962962963vw;
  max-width: 131px;
  top: max(-170px, -15.7407407407vw);
  right: max(45px, 4.1666666667vw);
}
@media (max-width: 768px) {
  .attractiveSub-card:nth-of-type(7):before {
    top: 0px;
    right: 0;
  }
}
.attractiveSub-card:nth-of-type(8):before {
  background-image: url(../assets/img/attractive-deco07.svg);
  width: 17.037037037vw;
  height: 20vw;
  max-width: 168px;
  top: max(-210px, -19.4444444444vw);
  left: max(45px, 4.1666666667vw);
}
@media (max-width: 768px) {
  .attractiveSub-card:nth-of-type(8):before {
    top: -20px;
    left: 0;
  }
}
.attractiveSub-card:nth-of-type(9):before {
  background-image: url(../assets/img/attractive-deco08.svg);
  width: 20.8333333333vw;
  height: 18.9814814815vw;
  max-width: 225px;
  top: max(-220px, -20.3703703704vw);
  right: max(45px, 4.1666666667vw);
}
@media (max-width: 768px) {
  .attractiveSub-card:nth-of-type(9):before {
    top: -20px;
    right: 0;
  }
}
.attractiveSub-card__body {
  max-width: 760px;
  width: 70.3703703704vw;
  background: #fff;
  padding: 40px 60px 50px;
  border-radius: 30px;
  box-shadow: 3.86px 4.6px 10px rgba(174, 174, 174, 0.3);
}
@media (max-width: 768px) {
  .attractiveSub-card__body {
    width: 90%;
    padding: 20vw 30px 30px;
    margin-top: 20vw;
  }
}
.attractiveSub-card__title {
  font-weight: 700;
  text-align: center;
}
.attractiveSub-card__title span {
  display: inline-block;
  font-size: 1.25rem;
  position: relative;
  letter-spacing: 4px;
}
@media (max-width: 768px) {
  .attractiveSub-card__title span {
    font-size: 1.1rem;
  }
}
.attractiveSub-card__title span strong {
  font-size: 4.125rem;
  font-weight: 600;
}
@media (max-width: 768px) {
  .attractiveSub-card__title span strong {
    font-size: 3rem;
  }
}
.attractiveSub-card__title span:after {
  content: "";
  display: block;
  position: absolute;
  -webkit-mask: url(../assets/img/title-deco-long.svg) no-repeat center center/contain;
  mask-image: url(../assets/img/title-deco-long.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 343px;
  height: 39px;
  left: 50%;
  translate: -50%;
  bottom: -5px;
  background-color: var(--secondary);
}
@media (max-width: 768px) {
  .attractiveSub-card__title span:after {
    width: 120%;
    bottom: -10px;
  }
}
.attractiveSub-card__title p {
  font-size: 1.25rem;
  margin: 15px 0 20px;
}
@media (max-width: 768px) {
  .attractiveSub-card__title p {
    font-size: 1.1rem;
    margin-bottom: 15px;
  }
}
.attractiveSub-card__figure {
  max-width: 320px;
  width: 29.6296296296vw;
  position: relative;
}
@media (max-width: 768px) {
  .attractiveSub-card__figure {
    width: 10%;
  }
}
.attractiveSub-card__img {
  position: absolute;
  max-width: 429px;
  width: 39.7222222222vw;
  left: 0;
  top: max(-167px, -15.462962963vw);
}
@media (max-width: 768px) {
  .attractiveSub-card__img {
    width: 50vw;
    top: 1vw;
    left: -10px;
  }
}

.messageSub {
  padding: 30px 0 0;
  text-align: center;
}
.messageSub__title, .entrySub__title, .guidelineSub__title {
  text-align: center;
  position: relative;
  line-height: 1.4;
  margin-bottom: 76px;
  font-size: 2.5rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 4px;
  display: inline-block;
}
@media (max-width: 768px) {
  .messageSub__title, .entrySub__title, .guidelineSub__title {
    font-size: 1.875rem;
  }
}
.messageSub__title:after, .entrySub__title:after, .guidelineSub__title:after {
  content: "";
  display: block;
  position: absolute;
  background: url(../assets/img/message-title-line01.svg) no-repeat;
  width: 417px;
  height: 39px;
  bottom: -50px;
  left: 50%;
  translate: -50%;
}
@media (max-width: 768px) {
  .messageSub__title:after, .entrySub__title:after, .guidelineSub__title:after {
    width: 120%;
  }
}
.messageSub__title:before, .entrySub__title:before, .guidelineSub__title:before {
  content: "";
  background: url(../assets/img/message-deco01.svg) no-repeat;
  background-size: cover;
  height: 57px;
  width: 118px;
  position: absolute;
  right: -170px;
  bottom: -57px;
  display: inline-block;
  z-index: 1;
}
@media (max-width: 768px) {
  .messageSub__title:before, .entrySub__title:before, .guidelineSub__title:before {
    width: 60px;
    height: 30px;
    right: -50px;
  }
}
@media (max-width: 768px) {
  .messageSub__title.--staff, .--staff.entrySub__title, .--staff.guidelineSub__title {
    line-height: 1.4;
    margin-bottom: 50px;
  }
}
.messageSub__title.--staff:after, .--staff.entrySub__title:after, .--staff.guidelineSub__title:after {
  background: url(../assets/img/message-title-line02.svg) no-repeat;
  width: 586px;
  height: 39px;
}
@media (max-width: 768px) {
  .messageSub__title.--staff:after, .--staff.entrySub__title:after, .--staff.guidelineSub__title:after {
    width: 140%;
    bottom: -40px;
  }
}
.messageSub__title.--staff:before, .--staff.entrySub__title:before, .--staff.guidelineSub__title:before {
  display: none;
}
.messageSub__title.--staff span, .--staff.entrySub__title span, .--staff.guidelineSub__title span {
  position: relative;
}
.messageSub__title.--staff span:before, .--staff.entrySub__title span:before, .--staff.guidelineSub__title span:before, .messageSub__title.--staff span:after, .--staff.entrySub__title span:after, .--staff.guidelineSub__title span:after {
  content: "";
  background: url(../assets/img/message-star.svg) no-repeat;
  display: inline-block;
  background-size: contain;
  width: 10.5555555556vw;
  height: 10.8333333333vw;
  max-width: 114px;
  max-height: 117px;
  position: absolute;
  left: -200px;
  top: -15px;
}
@media (max-width: 768px) {
  .messageSub__title.--staff span:before, .--staff.entrySub__title span:before, .--staff.guidelineSub__title span:before, .messageSub__title.--staff span:after, .--staff.entrySub__title span:after, .--staff.guidelineSub__title span:after {
    left: -114px;
    top: 15px;
  }
}
.messageSub__title.--staff span:after, .--staff.entrySub__title span:after, .--staff.guidelineSub__title span:after {
  transform: scale(-1, 1);
  left: auto;
  right: -200px;
}
@media (max-width: 768px) {
  .messageSub__title.--staff span:after, .--staff.entrySub__title span:after, .--staff.guidelineSub__title span:after {
    right: -114px;
    transform-origin: left;
  }
}
.messageSub__grid {
  display: grid;
  grid-template-columns: 48% 50%;
  gap: 2%;
  margin: 60px 0 200px;
}
@media (max-width: 768px) {
  .messageSub__grid {
    grid-template-columns: 1fr;
    margin: 20px 0 110px;
  }
}
.messageSub__text {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.messageSub__text p {
  margin-left: 3%;
  text-align: left;
  margin-bottom: min(56px, 5.1851851852vw);
}
.messageSub__text span {
  display: block;
  text-align: left;
  align-self: flex-end;
  color: var(--secondary);
}
@media (max-width: 768px) {
  .messageSub__text span {
    font-size: 0.85rem;
  }
}
.messageSub__text span strong {
  font-size: 1.75rem;
  font-weight: 600;
}
@media (max-width: 768px) {
  .messageSub__text span strong {
    font-size: 1.5rem;
  }
}
.messageSub__cards {
  padding: 100px 0 120px;
  background: url(../assets/img/message-bg.jpg) no-repeat;
  background-size: cover;
  background-position: top;
  position: relative;
  z-index: -1;
}
.messageSub__cards:before {
  content: "";
  background: url(/);
  position: absolute;
  -webkit-mask: url(../assets/img/section.svg) no-repeat center center/cover;
  mask-image: url(../assets/img/section.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  width: 100vw;
  height: 4.9097222222vw;
  background: #facbd3;
  top: -4.9097222222vw;
  left: 0;
}
@media (max-width: 768px) {
  .messageSub__cards:before {
    top: -4.7222222222vw;
  }
}
@media (max-width: 768px) {
  .messageSub__cards {
    padding: 50px 0 70px;
  }
}
.messageSub-card {
  background: #fff;
  border-radius: 30px;
  box-shadow: 3.86px 4.6px 10px rgba(162, 98, 106, 0.5);
  padding: 59px min(100px, 6.9444444444vw) 33px min(80px, 5.5555555556vw);
  margin: 100px auto 0;
  max-width: 900px;
  position: relative;
}
@media (max-width: 768px) {
  .messageSub-card {
    margin-left: 5px;
    margin-right: 5px;
    padding: 50px 20px 0;
    margin-top: 50px;
  }
}
.messageSub-card:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: #EBEBEB;
  border-radius: 30px;
  box-shadow: 3.86px 4.6px 10px rgba(162, 98, 106, 0.5);
  display: inline-block;
  transform: rotate(3deg);
  left: 0;
  top: 0;
  z-index: -1;
}
@media (max-width: 768px) {
  .messageSub-card:before {
    transform: rotate(1.5deg);
  }
}
.messageSub-card:after {
  content: "";
  position: absolute;
  background: url(../assets/img/message-deco02.svg) no-repeat;
  background-size: contain;
  width: 65px;
  height: 58px;
  right: 5%;
  top: -5%;
}
@media (max-width: 768px) {
  .messageSub-card:after {
    top: -30px;
  }
}
.messageSub-card:nth-child(even):before {
  transform: rotate(-3deg);
}
@media (max-width: 768px) {
  .messageSub-card:nth-child(even):before {
    transform: rotate(-1.5deg);
  }
}
.messageSub-card:nth-child(even):after {
  left: 5%;
  right: auto;
}
.messageSub-card__title {
  font-size: 1.5rem;
  letter-spacing: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 33px;
}
@media (max-width: 480px) {
  .messageSub-card__title {
    flex-direction: column;
    justify-self: center;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
  }
}
.messageSub-card__title span {
  display: inline-block;
  letter-spacing: 2px;
  color: var(--primary);
  font-size: 1rem;
  background: #333;
  border-radius: 50px;
  padding: 5px 28px 5px 22px;
  font-weight: 700;
  margin-right: 36px;
  position: relative;
}
@media (max-width: 480px) {
  .messageSub-card__title span {
    margin-right: 0;
  }
}
.messageSub-card__title span:after {
  content: "▶︎";
  position: absolute;
  right: -12px;
  color: #333;
  top: 17%;
}
@media (max-width: 480px) {
  .messageSub-card__title span:after {
    content: "▼";
    top: auto;
    bottom: -15px;
    right: auto;
    left: 50%;
    translate: -50%;
  }
}
.messageSub-card__title span strong {
  font-size: 1.125rem;
  font-weight: 700;
}
.messageSub-card__body {
  display: grid;
  grid-template-columns: 56% 36%;
  gap: 8%;
}
@media (max-width: 768px) {
  .messageSub-card__body {
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
    gap: 30px;
  }
}
.messageSub-card__list__term {
  font-size: 1.125rem;
  color: var(--primary);
  margin: 0 0 14.8px;
}
@media (max-width: 768px) {
  .messageSub-card__list__term:before {
    height: 110%;
  }
}
.messageSub-card__list__desc {
  margin-bottom: 35px;
}
.messageSub-card__img img {
  margin-bottom: 15px;
}
@media (max-width: 768px) {
  .messageSub-card__img {
    width: 60%;
  }
}

.entry-cta {
  background: url(../assets/img/entry-cta-bg.webp) no-repeat;
  background-size: cover;
  background-position: 80% 0;
  width: 100vw;
  position: relative;
  min-height: 400px;
}
.entry-cta__content {
  padding: 90px 0 80px;
}
@media (max-width: 768px) {
  .entry-cta__content {
    padding: 50px 0 45px;
  }
}
.entry-cta__title {
  color: #fff;
  text-align: center;
}
@media (max-width: 768px) {
  .entry-cta__title {
    font-size: 0.85rem;
  }
}
.entry-cta__title strong {
  font-weight: 700;
  display: block;
  font-size: 1.5rem;
}
@media (max-width: 768px) {
  .entry-cta__title strong {
    font-size: 1.25rem;
    white-space: nowrap;
  }
}
.entry-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: min(2.0833333333vw, 30px);
  max-width: 960px;
  justify-content: center;
  margin: 53px auto 0;
}
@media (max-width: 768px) {
  .entry-cta__actions {
    gap: 20px;
    margin: 30px auto 0;
  }
}
.entry-cta__btn.--guildeline {
  background: var(--secondary);
  padding: 0;
  height: 60px;
  width: calc(33.3333333333% - min(2.0833333333vw, 30px) * 2 / 3);
}
@media (max-width: 768px) {
  .entry-cta__btn.--guildeline {
    width: calc(50% - 10px);
  }
}
@media (max-width: 500px) {
  .entry-cta__btn.--guildeline {
    width: 100%;
    margin: auto;
  }
}

.guidelineSub {
  padding: 30px 0 0;
}
.--guidelineCheck .guidelineSub, .--guidelineThanks .guidelineSub, .--guidelineRegister .guidelineSub, .--guidelineRegisterCheck .guidelineSub, .--guidelineRegisterThanks .guidelineSub {
  padding-top: 0;
}
.guidelineSub__textarea {
  position: relative;
  text-align: center;
  padding-bottom: 180px;
}
.guidelineSub__textarea:after {
  content: "";
  background: url(/);
  position: absolute;
  -webkit-mask: url(../assets/img/section.svg) no-repeat center center/cover;
  mask-image: url(../assets/img/section.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  width: 100vw;
  height: 4.9097222222vw;
  background-color: #F9CBD1;
  bottom: 0;
  left: 0;
}
.guidelineSub__textarea:before {
  content: "";
  right: 20px;
  position: absolute;
  background: url(../assets/img/top-about-img03.svg) no-repeat;
  background-size: contain;
  width: 20.7638888889vw;
  height: 18.8888888889vw;
  max-width: 299px;
  bottom: -9.0277777778vw;
  display: inline-block;
  z-index: 1;
}
.guidelineSub__textarea .guidelineSub__catch {
  font-size: 1.5rem;
  margin: 0 0 25px;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .guidelineSub__title {
    line-height: 1.4;
  }
}
.guidelineSub__title:before {
  display: none;
}
.guidelineSub__title:after {
  background: url(../assets/img/guideline-title-line01.svg) no-repeat;
  width: 712px;
  height: 29px;
  bottom: -40px;
}
@media (max-width: 768px) {
  .guidelineSub__title:after {
    width: 110%;
    bottom: -30px;
  }
}
.--guidelineRegister .guidelineSub__title:after, .--guidelineRegisterCheck .guidelineSub__title:after, .--guidelineRegisterThanks .guidelineSub__title:after {
  background: url(../assets/img/guideline-title-line02.svg) no-repeat;
  width: 417px;
  height: 29px;
}
@media (max-width: 768px) {
  .--guidelineRegister .guidelineSub__title:after, .--guidelineRegisterCheck .guidelineSub__title:after, .--guidelineRegisterThanks .guidelineSub__title:after {
    width: 110%;
    bottom: -30px;
  }
}
.guidelineSub__link {
  display: flex;
  justify-content: center;
  gap: 30px 2.7777777778vw;
  margin-top: 57px;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .guidelineSub__link {
    margin-top: 34x;
  }
}
@media (max-width: 500px) {
  .guidelineSub__link {
    gap: 15px;
  }
}
.guidelineSub__link__item {
  width: calc(33.3333333333% - 1.8518518519vw);
}
@media (max-width: 768px) {
  .guidelineSub__link__item {
    width: calc(50% - 1.3888888889vw);
  }
}
@media (max-width: 500px) {
  .guidelineSub__link__item {
    width: 100%;
  }
}
.guidelineSub__link__btn.--on {
  height: 60px;
  width: 100%;
  background: var(--secondary);
}
.guidelineSub__link__btn.--off {
  height: 60px;
  width: 100%;
  background: var(--thirdry);
}
.guidelineSub__text .colorSecondly {
  color: var(--secondary);
}
.guidelineSub__text .colorThirdly {
  color: var(--thirdry);
}
.guidelineSub__text .bold {
  font-weight: 700;
}
.guidelineSub__form {
  padding: 100px 0 120px;
  background: url(../assets/img/guideline-bg01.jpg) no-repeat;
  background-size: cover;
  text-align: center;
}
.--guidelineCheck .guidelineSub__form, .--guidelineThanks .guidelineSub__form {
  padding-top: 30px;
}
@media (max-width: 768px) {
  .guidelineSub__form {
    padding-top: 60px;
  }
}
.guidelineSub__form img {
  margin: 0 auto;
}
.--guidelineCheck .guidelineSub__form img {
  margin-bottom: 50px;
}
.--guidelineRegister .guidelineSub__form, .--guidelineRegisterCheck .guidelineSub__form, .--guidelineRegisterThanks .guidelineSub__form {
  padding: 30px 0 120px;
  background-image: url(../assets/img/guideline-bg02.jpg);
}
.guidelineSub__catch {
  margin-top: 50px;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 50px;
}
.guidelineSub__catch span {
  display: inline;
  background: linear-gradient(transparent 70%, var(--primary) 70%);
  line-height: 1.4;
}
@media (max-width: 768px) {
  .guidelineSub__catch {
    font-size: 1.6rem;
  }
}

.guidelineSingle {
  padding: 30px 0 175px;
  text-align: center;
}
@media (max-width: 768px) {
  .guidelineSingle {
    padding-bottom: 100px;
  }
}
.guidelineSingle__title {
  font-size: 2.5rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 32px;
  justify-content: center;
}
@media (max-width: 768px) {
  .guidelineSingle__title {
    flex-direction: column;
    gap: 20px;
    font-size: 1.875rem;
  }
}
.guidelineSingle__title span {
  background: var(--secondary);
  color: #fff;
  font-weight: 600;
  font-size: 1.5rem;
  padding: 2px 35px;
  border-radius: 30px;
}
@media (max-width: 768px) {
  .guidelineSingle__title span {
    font-size: 1.2rem;
  }
}
.guidelineSingle__title span.--off {
  background: var(--thirdry);
}
.guidelineSingle__table {
  margin: 53px auto 61px;
  background: #fff;
  max-width: 900px;
  width: 100%;
  border-bottom: 1px solid #E5A5AE;
}
@media (max-width: 768px) {
  .guidelineSingle__table {
    padding-bottom: 30px auto 50px;
  }
}
.guidelineSingle__table th {
  width: 30%;
  background: #FFF5F6;
  padding: 27px;
  font-weight: 700;
  vertical-align: top;
  border-top: 1px solid #E5A5AE;
}
@media (max-width: 768px) {
  .guidelineSingle__table th {
    display: block;
    width: 100%;
    text-align: left;
    padding: 20px;
  }
}
.guidelineSingle__table td {
  width: 60%;
  padding: 27px 27px 27px 59px;
  border-top: 1px solid #E5A5AE;
  text-align: left;
}
@media (max-width: 768px) {
  .guidelineSingle__table td {
    display: block;
    width: 100%;
    padding: 20px;
  }
}
.guidelineSingle__btn.--entry {
  background: var(--primary);
}
.guidelineSingle__btn.--register {
  background: var(--thirdry);
}

.entrySub {
  padding: 0;
  background: #fff;
  text-align: center;
}
.entrySub__textarea {
  position: relative;
  text-align: center;
  padding-bottom: 100px;
}
.entrySub__textarea:after {
  content: "";
  background: url(/);
  position: absolute;
  -webkit-mask: url(../assets/img/section.svg) no-repeat center center/cover;
  mask-image: url(../assets/img/section.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  width: 100vw;
  height: 4.9097222222vw;
  background-color: #CADCED;
  bottom: 0;
  left: 0;
}
.entrySub__tel {
  margin-top: 90px;
}
.entrySub__tel img {
  margin: 0 auto;
}
.entrySub__title:before {
  display: none;
}
.entrySub__title:after {
  background: url(../assets/img/entry-title-line.svg) no-repeat;
  width: 388px;
  height: 29px;
}
@media (max-width: 768px) {
  .entrySub__title:after {
    width: 110%;
    bottom: -40px;
  }
}
.entrySub__form {
  padding: 100px 0 120px;
  background: url(../assets/img/entry-bg01.jpg) no-repeat;
  background-size: cover;
  text-align: center;
}
.--entryCheck .entrySub__form, .--entryThanks .entrySub__form, .--guidelineCheck .entrySub__form, .--guidelineThanks .entrySub__form {
  padding-top: 30px;
}
@media (max-width: 768px) {
  .entrySub__form {
    padding-top: 60px;
  }
}
.entrySub__form img {
  margin: 0 auto;
}
.--entryCheck .entrySub__form img {
  margin-bottom: 50px;
}
.--entryThanks .entrySub__form {
  background: url(../assets/img/entry-bg03.jpg) no-repeat;
  background-size: cover;
  background-position: top;
  position: relative;
}
.entrySub__catch {
  margin-top: 50px;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 50px;
}
.entrySub__catch span {
  display: inline;
  background: linear-gradient(transparent 70%, var(--primary) 70%);
  line-height: 1.4;
}
@media (max-width: 768px) {
  .entrySub__catch {
    font-size: 1.6rem;
  }
}

.form-table {
  width: 100%;
}
.form-table__outer {
  margin-top: 50px;
}
@media (max-width: 768px) {
  .form-table__outer {
    margin-top: 30px;
  }
}
.form-table__inner {
  background: #fff;
  border-radius: 6.6666666667vw;
  margin: 60px auto;
  padding: 60px;
}
@media (max-width: 768px) {
  .form-table__inner {
    padding: 35px 22.5px;
    margin-top: 30px;
  }
}
.form-table th {
  font-size: 1rem;
  font-weight: 700;
  text-align: left;
  position: relative;
  vertical-align: top;
  padding-bottom: 15px;
  padding-left: 40px;
  width: 30%;
  min-width: 230px;
  padding-top: 12px;
}
@media (max-width: 768px) {
  .form-table th {
    display: block;
    width: 100%;
    min-width: auto;
    padding-bottom: 5px;
    padding-top: 0;
  }
}
.form-table th span {
  position: absolute;
  right: 0;
  color: #fff;
  font-size: 0.7rem;
  border-radius: 4px;
  padding: 0 3px;
  text-align: center;
  top: 17px;
  font-weight: 600;
}
@media (max-width: 768px) {
  .form-table th span {
    right: auto;
    left: 0;
    top: 5px;
  }
}
.form-table th .required {
  background: var(--primary);
}
.form-table th .any {
  background: #ABC4DC;
}
.form-table td {
  font-size: 1rem;
  text-align: left;
  padding-bottom: 15px;
  padding-left: 50px;
  font-weight: 700;
}
.--entryCheck .form-table td, .--guidelineCheck .form-table td {
  padding-top: 12px;
}
.form-table td span.placeholder {
  display: block;
  color: #979797;
  margin-left: 5px;
}
.form-table td span.att {
  display: block;
  margin-left: 5px;
  color: #875b61;
}
.form-table td .wpcf7-radio {
  display: flex;
  gap: 15px;
}
.form-table td .wpcf7-list-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: 0;
}
.form-table td .wpcf7-list-item-label {
  color: var(--text);
  font-size: 1.1rem;
}
.form-table td input[type=radio] {
  min-height: 50px;
}
.form-table td input[type=radio], .form-table td input[type=checkbox] {
  font-size: 1.1rem;
  accent-color: var(--text);
}
.form-table td input[type=text], .form-table td input[type=email], .form-table td input[type=tel], .form-table td textarea, .form-table td select {
  width: 100%;
  border: 0;
  background-color: #F2F2F2;
  min-height: 60px;
  padding: 10px;
  font-size: 1rem;
}
@media (max-width: 768px) {
  .form-table td input[type=text], .form-table td input[type=email], .form-table td input[type=tel], .form-table td textarea, .form-table td select {
    min-height: auto;
  }
}
.form-table td input[type=text]:focus, .form-table td input[type=email]:focus, .form-table td input[type=tel]:focus, .form-table td textarea:focus, .form-table td select:focus {
  outline: 1px var(--text) solid;
}
.form-table td input[type=tel].yubin {
  width: 50%;
}
@media (max-width: 768px) {
  .form-table td input[type=tel].yubin {
    width: 100%;
  }
}
.form-table td select {
  color: #777;
}
.form-table td select.wpcf7-not-valid {
  color: #777 !important;
}
@media (max-width: 768px) {
  .form-table td {
    display: block;
    width: 100%;
    padding-left: 0;
  }
}
.form-btn input[type=submit] {
  width: 100%;
  color: #fff;
  position: absolute;
  height: 100%;
  background: transparent;
  border: 0;
}
.form-btn__outer {
  display: flex;
  justify-content: center;
  gap: 30px;
}
@media (max-width: 768px) {
  .form-btn__outer {
    flex-wrap: wrap;
    flex-direction: column-reverse;
    align-items: center;
  }
}
.form .wpcf7-response-output {
  background: #fff;
}

/* ===============
  Components
=============== */
.btn {
  background: var(--text);
  color: #fff;
  font-weight: 700;
  height: 80px;
  width: 90%;
  max-width: 400px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  position: relative;
}
@media (max-width: 375px) {
  .btn {
    height: 60px;
  }
}
.btn:after {
  content: "";
  position: absolute;
  background: url(../assets/img/icon-arrow.svg) no-repeat;
  width: 15px;
  height: 10px;
  display: inline-block;
  background-size: contain;
  right: 7%;
  top: 50%;
  transform: rotate(90deg);
  translate: 0 -50%;
  transition: translate 0.3s ease;
}
.btn:hover:after {
  translate: 5px -50%;
}
.btn.--back:after {
  right: auto;
  left: 7%;
  transform: rotate(-90deg);
}
.btn.--back:hover:after {
  translate: -5px -50%;
}

/* ===============
  Footer
=============== */
.site-footer {
  padding: 120px 0 100px;
  position: relative;
}
@media (max-width: 768px) {
  .site-footer {
    padding: 60px 0 20px;
  }
}
.site-footer:before {
  content: "";
  background: url(/);
  position: absolute;
  -webkit-mask: url(../assets/img/section.svg) no-repeat center center/cover;
  mask-image: url(../assets/img/section.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  width: 100vw;
  height: 4.9097222222vw;
  background: var(--bg);
  top: calc(-4.9097222222vw + 1px);
  left: 0;
}
.site-footer__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 768px) {
  .site-footer__top {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
  }
}
.site-footer__bottom {
  text-align: right;
}
@media (max-width: 768px) {
  .site-footer__bottom {
    text-align: center;
    margin-top: 50px;
  }
}
.site-footer__bottom small {
  font-size: 0.8rem;
  color: var(--muted);
}
@media (max-width: 768px) {
  .site-footer__bottom small {
    font-size: 0.6rem;
  }
}

.footer-top__brand {
  display: flex;
  flex-direction: column;
  gap: 23px;
  width: 310px;
}
.footer-top__address{
  white-space:nowrap;
}
@media (max-width: 768px) {
  .footer-top__address {
    width: fit-content;
    margin: 0 auto;
  }
}
.footer-top__btn {
  color: #4A9ACF;
  text-align: center;
  width: 260px;
  display: inline-block;
  padding: 17px 0;
  border-radius: 50px;
  border: 1px solid;
  position: relative;
}
@media (max-width: 768px) {
  .footer-top__btn {
    margin: auto;
    padding: 10px 0;
  }
}
.footer-top__btn:after {
  content: "";
  position: absolute;
  background: url(../assets/img/icon-link.svg) no-repeat;
  background-size: contain;
  width: 11.58px;
  height: 11.58px;
  top: 50%;
  right: 20px;
  translate: 0 -50%;
}

.footer-nav__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
@media (max-width: 1079px) {
  .footer-nav__list {
    grid-template-columns: 1fr 1fr;
    gap: 20px 10px;
  }
}
@media (max-width: 768px) {
  .footer-nav__list {
    font-size: 0.9rem;
  }
}
.footer-nav__link {
  white-space: nowrap;
}

/* ===============
  Animation
=============== */
/* 共通（ベース） */
.js-fade {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

/* 表示状態 */
.js-fade.is-show {
  opacity: 1;
  transform: translate(0);
}

/* ===== 修飾子（方向） ===== */
.js-fade.is-left {
  transform: translateX(-24px);
}

.js-fade.is-right {
  transform: translateX(24px);
}

.js-fade.is-up {
  transform: translateY(-24px);
}

/* ===== 演出拡張 ===== */
/* ゆっくり */
.js-fade.is-slow {
  transition-duration: 1s;
}

/* 少し遅れ */
.js-fade.is-delay {
  transition-delay: 0.15s;
}

/* ===============
  Extra
=============== */
.page-top {
  position: fixed;
  right: 20px;
  bottom: 0px;
  text-align: center;
  width: 122px;
  height: 122px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: var(--secondary);
  color: #fff;
  border-radius: 50%;
  font-weight: 700;
  flex-direction: column;
  line-height: 1.5;
  font-size: 1.1rem;
  gap: 10px;
  box-shadow: 2.5px 2.5px 0 var(--primary);
  z-index: 10000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.page-top:before {
  content: "";
  background: url(../assets/img/icon-arrow.svg) no-repeat;
  background-size: contain;
  width: 20px;
  height: 13px;
}
@media (max-width: 768px) {
  .page-top {
    transform: scale(0.5);
    right: -5px;
  }
}
.page-top.is-show {
  opacity: 1;
  pointer-events: auto;
}
.page-top.is-hide {
  opacity: 0;
  pointer-events: none;
}

.sp {
  display: none;
}
@media (max-width: 768px) {
  .sp {
    display: block;
  }
}

@media (max-width: 768px) {
  .pc {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */