/* var */
:root {
  --key: #9D2042;
  --black: #3C3C3C;
}

/* base */
* {
  box-sizing: border-box;
  position: relative;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

html {
  font-size: 62.5%;
  overflow-x: hidden;
}

figure {
  margin: 0;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  transition: 0.6s all;
  color: var(--black);
}

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

a.noref {
  pointer-events: none;
}

.pc-only {
  display: block !important;
}

@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}

.sp-only {
  display: none !important;
}

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

.inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 64px;
}

@media (max-width: 1000px) {
  .inner {
    padding: 0 4vw;
  }
}

@media (max-width: 768px) {
  .inner {
    padding: 0 32px;
  }
}

@-webkit-keyframes markBlinking {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 0.18;
  }

  100% {
    opacity: 0;
  }
}

@keyframes markBlinking {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 0.18;
  }

  100% {
    opacity: 0;
  }
}

/* base end */
.main {
  overflow-x: hidden;
  margin: 0 0 0 200px;
}

@media (max-width: 768px) {
  .main {
    margin: 0;
    padding: 70px 0 0;
  }
}

.main.meal {
  overflow-x : visible;
}

.body {
  background: #FFFCF5;
  line-height: 1.6;
  font-size: 1.6rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  color: var(--black);
  letter-spacing: 0.64px;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 200px;
  height: 100vh;
  background: #fff;
  z-index: 998;
  border-right: 1px solid rgba(232, 229, 216, 0.5);
}

@media (max-width: 768px) {
  .header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 70px;
    z-index: 998;
  }
}

.header__wrap {
  height: 225px;
}

@media (max-width: 768px) {
  .header__wrap {
    height: 70px;
    padding: 0;
    border-top: 1px solid #E1E0DC;
    border-bottom: 1px solid #E1E0DC;
    display: flex;
    justify-content: space-between;
  }
}

@media (max-height: 710px) and (min-width: 768px) {
  .header__wrap {
    height: 160px;
  }
}


.header-toggle {
  transition: 0.6s all;
  z-index: 999;
  display: none;
  width: 70px;
  border-left: 1px solid #E1E0DC;
}

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

.header-toggle.is-active {
  background: transparent;
}

.header-toggle:hover {
  cursor: pointer;
  opacity: 0.8;
}

.header-toggle div {
  position: relative;
  left: 22px;
  top: 23px;
  z-index: 10;
  width: 26px;
}

.header-toggle span {
  border-bottom: solid 2px #3C3C3C;
  display: block;
  -moz-transition: 0.35s ease-in-out;
  position: absolute;
  transition: 0.35s ease-in-out;
  -webkit-transition: 0.35s ease-in-out;
  width: 100%;
  border-radius: 10px;
}

.header-toggle span:nth-child(1) {
  top: 0;
}

.header-toggle span:nth-child(2) {
  top: 10px;
}

.header-toggle span:nth-child(3) {
  top: 20px;
}

.header-toggle.is-active span:nth-of-type(1) {
  transform: translateY(10px) rotate(-30deg);
  -webkit-transform: translateY(10px) rotate(-30deg);
  border-bottom: solid 2px #3C3C3C;
}

.header-toggle.is-active span:nth-of-type(2) {
  opacity: 0;
}

.header-toggle.is-active span:nth-of-type(3) {
  transform: translateY(-10px) rotate(30deg);
  -webkit-transform: translateY(-10px) rotate(30deg);
  border-bottom: solid 2px #3C3C3C;
  width: 100%;
}

.header-logo {
  width: 100%;
  height: 100%;
  z-index: 555;
  background: #fff;
}

@media (max-width: 768px) {
  .header-logo {
    padding: 1.1rem 0 1.6rem 1.1rem;
    max-width: 265px;
  }
}

.header-logo a {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .header-logo a {
    justify-content: space-between;
  }
}

.header-logo img {
  max-width: 80px;
}

@media (max-width: 768px) {
  .header-logo img {
    max-width: 100%;
  }
}

.header-nav {
  border-top: 1px solid #F5F2EB;
  background: #fff;
  z-index: 51;
}

@media (max-width: 768px) {
  .header-nav {
    display: none;
    overflow-y: scroll;
    height: 100vh;
    padding-bottom: 200px;
    border-top: none;
  }
}

.header-nav.is-active {
  display: block;
}

.header-nav__item,
.header-sub__item {
  background: #fff;
}

@media (max-width: 768px) {
  .header-nav__item {
    border-bottom: 1px solid #E1E0DC;
  }
}

@media (min-width: 769px) {
  .header-nav__item:not(.header-nav__item--haschild):hover .header-nav-child {
    left: 185px;
    visibility: visible;
  }
  .header-sub__item:hover .header-nav-child {
    left: 185px;
    visibility: visible;
  }
}

.header-nav__item--parent {
  background: #fff url(../img/common/icon_header_arrow.svg) 92% center no-repeat;
  font-weight: 500;
  border-bottom: 1px solid #F5F2EB;
  padding: 2.5rem 3.2rem;
  display: flex;
  align-items: center;
  width: 100%;
  z-index: 50;
  transition: 0.8s all;
  line-height: 200%; /* 32px */
  letter-spacing: 0.64px; 
}

.header-nav__item--parent.is-active {
  background: #FDFBF1 url(../img/common/icon_spheader_arrow_o.svg) 92% center no-repeat;
  border: none;
}

@media (max-width: 768px) {
  .header-nav__item--parent {
    background: #fff url(../img/common/icon_spheader_arrow.svg) 92% center no-repeat;
    font-size: 2rem;
    padding: 1.5rem 2.5rem;
    border-color: #E1E0DC;
    border: none;
  }
  .header-spnav__item--parent span {
    background: #fff url(../img/common/icon_spheader_arrow.svg) 92% center no-repeat;
    width: 100%;
  }
  .header-spnav__item--parent.is-active {
    background-color: #FDFBF1;
    border: none;
  }
  .header-spnav__item--parent.is-active span {
    background: #FDFBF1 url(../img/common/icon_spheader_arrow_o.svg) 92% center no-repeat;
    border: none;
  }
}

@media (min-width: 768px) {
  .header-nav__item--parent:hover {
    background: #FDFBF1 url(../img/common/icon_header_arrow.svg) 92% center no-repeat;
  }
}

.header-nav-child {
  position: absolute;
  left: -340px;
  top: -100vh;
  transition: 0.8s all;
  width: 340px;
  padding: 100vh 1rem 0 20px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  visibility: hidden;
  background: #fdfbf2;
  height: 200vh;
  z-index: -1;
}

@media (max-width: 768px) {
  .header-nav-child {
    position: relative;
    left: 0;
    top : 0;
    width: 100%;
    display: none;
    visibility: visible;
    background: #FDFBF1;
    padding: 0 24px 24px;
    transition: none;
    height: auto;
    z-index: 1;
  }
}

.header-nav-child-outline {
  top : calc(-100vh - 260px);
}

@media (max-width: 768px) {
  .header-nav-child-outline {
    top : 0;
  }
}

@media (max-width: 768px) {
  .header-nav-child__item {
    margin-bottom: 0.5rem;
  }
}

.header-nav-child__item a {
  font-size: 1.8rem;
  font-weight: 500;
  display: block;
  padding: 2.5rem;
  background: rgb(245, 243, 224) url(../img/common/icon_header_sub_arrow.svg) 95% center no-repeat;
  border-radius: 8px;
  letter-spacing: 0.64px;
}

@media (max-width: 768px) {
  .header-nav-child__item a {
    padding: 1.7rem 2.4rem;
  }
}

@media (min-width: 768px) {
  .header-nav-child__item a:hover {
    color: var(--key);
    background: #fff url(../img/common/icon_header_sub_arrow_o.svg) 95% center no-repeat;
  }
}

.header-nav-child__item--meal::before {
  content: "";
  width: 56px;
  height: 56px;
  background: transparent url(../img/common/icon_header_menu_meal.svg) center center no-repeat;
  background-size: 56px;
  position: absolute;
  left: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 48;
  pointer-events: none;
}

@media (max-width: 768px) {
  .header-nav-child__item--meal::before {
    background-size: 48px;
    left: 1.5rem;
  }
}

.header-nav-child__item--meal a {
  padding: 2.8rem 0 2.8rem 9rem;
}

@media (max-width: 768px) {
  .header-nav-child__item--meal a {
    padding: 1.7rem 1.5rem 1.7rem 8rem;
  }
}

.header-nav-child__item--facility::before {
  content: "";
  width: 56px;
  height: 56px;
  background: transparent url(../img/common/icon_header_menu_facility.svg) center center no-repeat;
  background-size: 56px;
  position: absolute;
  left: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 48;
  pointer-events: none;
}

@media (max-width: 768px) {
  .header-nav-child__item--facility::before {
    background-size: 48px;
    left: 1.5rem;
  }
}

.header-nav-child__item--facility a {
  padding: 2.8rem 0 2.8rem 9rem;
}

@media (max-width: 768px) {
  .header-nav-child__item--facility a {
    padding: 1.7rem 1.5rem 1.7rem 8rem;
  }
}

.header-nav-child__item--care::before {
  content: "";
  width: 56px;
  height: 56px;
  background: transparent url(../img/common/icon_header_menu_care.svg) center center no-repeat;
  background-size: 56px;
  position: absolute;
  left: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 48;
  pointer-events: none;
}

@media (max-width: 768px) {
  .header-nav-child__item--care::before {
    background-size: 48px;
    left: 1.5rem;
  }
}

.header-nav-child__item--care a {
  padding: 2.8rem 0 2.8rem 9rem;
}

@media (max-width: 768px) {
  .header-nav-child__item--care a {
    padding: 1.7rem 1.5rem 1.7rem 8rem;
  }
}

.header-nav-child__item--health::before {
  content: "";
  width: 56px;
  height: 56px;
  background: transparent url(../img/common/icon_header_menu_health.svg) center center no-repeat;
  background-size: 56px;
  position: absolute;
  left: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 48;
  pointer-events: none;
}

@media (max-width: 768px) {
  .header-nav-child__item--health::before {
    background-size: 48px;
    left: 1.5rem;
  }
}

.header-nav-child__item--health a {
  padding: 2.8rem 0 2.8rem 9rem;
}

@media (max-width: 768px) {
  .header-nav-child__item--health a {
    padding: 1.7rem 1.5rem 1.7rem 8rem;
  }
}

.header-nav-child__item--index::before {
  content: "";
  width: 56px;
  height: 56px;
  background: transparent url(../img/common/icon_header_menu_index.svg) center center no-repeat;
  background-size: 56px;
  position: absolute;
  left: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 48;
  pointer-events: none;
}

@media (max-width: 768px) {
  .header-nav-child__item--index::before {
    background-size: 48px;
    left: 1.5rem;
  }
}

.header-nav-child__item--index a {
  padding: 2.8rem 0 2.8rem 9rem;
}

@media (max-width: 768px) {
  .header-nav-child__item--index a {
    padding: 1.7rem 1.5rem 1.7rem 8rem;
  }
}

.header-spnav {
  display: none;
}

@media (max-width: 768px) {
  .header-spnav {
    display: block;
    padding-bottom: 10rem;
  }
}

.header-spnav__list {
  display: flex;
  flex-wrap: wrap;
}

.header-spnav__item {
  width: 100%;
}

.header-spnav__item a {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 175%;
  /* 28px */
  letter-spacing: 0.32px;
  padding: 1.7rem 2.5rem;
  border-bottom: 1px solid #E1E0DC;
  display: flex;
  align-items: center;
}

.header-spnav__item--pdf a::after {
  content: "PDF";
  background: #D62B49;
  border-radius: 2px;
  color: #fff;
  padding: 0 .6rem;
  margin: 0 0 0 1rem;
  font-size: 1.2rem;
}

.header-spnav__item--company {
  border-right: 1px solid #E1E0DC;
}

.header-spnav__item--half {
  width: 50%;
}

.header-spnav__item--blog {
  width: 50%;
  border-right: 1px solid #E1E0DC;
  border-top: 1px solid #E1E0DC;
}

.header-spnav__item--blog > a {
  background: transparent url(../img/common/icon_header_blog.svg) 2.5rem center no-repeat;
  padding-left: 6rem;
}

.header-spnav__item--access {
  width: 50%;
  border-top: 1px solid #E1E0DC;
}

.header-spnav__item--voice > a {
  background: transparent url(../img/common/icon_header_voice.svg) 2.5rem center no-repeat;
  padding-left: 6rem;
  padding-right: .5rem;
  border : none;
}

.header-spnav__item--access > a {
  background: transparent url(../img/common/icon_header_access.svg) 2.5rem center no-repeat;
  padding-left: 6rem;
}

.header-spnav__item--link span {
  background: transparent url(../img/common/icon_link.svg) right center no-repeat;
  padding: 0 2.5rem 0 0;
}

.header-sub {
  display: flex;
  flex-direction: column;
  background: #fff;
}

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

.header-sub__item > a > span {
  font-weight: 500;
  font-size: 1.4rem;
  padding: 1rem 0 1rem 5rem;
  letter-spacing: 0.28px;
  display: block;
  background: #fff;
  z-index : 35;
  display: block;
}

.header-sub__item > a:hover  > span {
  background-color: #FDFBF1;
}

.header-sub__item:first-child a {
  padding-top: 1.5rem;
  display: block;
  z-index: 10;
}

.header-sub__item:last-child a {
  padding-bottom: 3rem;
  display: block;
  background: #fff;
}


.header-sub__item--blog > a > span {
  background: #fff url(../img/common/icon_header_blog.svg) 2rem center no-repeat;
}

.header-sub__item--voice > a > span {
  background: #fff url(../img/common/icon_header_voice.svg) 2rem center no-repeat;
}

.header-sub__item--access > a > span {
  background: #fff url(../img/common/icon_header_access.svg) 2rem center no-repeat;
}

.header-bottom {
  background: rgb(81, 79, 73);
  color: #fff;
  padding: 1rem .3rem;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 52;
}

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

.header-bottom__label {
  display: inline;
  background: #fff;
  color: var(--black);
  font-size: 1.4rem;
  padding: 0.1rem 1rem;
  border-radius: 100px;
  font-weight: 500;
  letter-spacing: 0.56px;
}

.header-bottom__tel {
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0.52px;
  line-height: 1.3;
}

.header-bottom__text {
  font-size: 1.4rem;
  letter-spacing: 0.64px;
}

.header-bottom__after {
  font-size: 1.4rem;
  letter-spacing: 0;
  border-top : 1px solid #fff;
  padding: 1rem 0 0;
  margin: 1.3rem 0 0;
}

.bg {
  height: 100%;
  background-image: url(../img/common/bg_pattern_rb.png), url(../img/common/bg_pattern_lt.png);
  background-position: right bottom, left top;
  background-size: auto 50%, auto 50%;
  background-repeat: no-repeat, no-repeat;
}

@media (max-width: 768px) {
  .bg {
    background-size: auto 20%, auto 20%;
  }
}

.sp-fixed {
  display: none;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 999;
  background: #fff;
  gap: 1px;
}

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

.sp-fixed__item {
  width: 50%;
  text-align: center;
}

.sp-fixed__item--tel {
  background: #4F4A46;
}

.sp-fixed__item--inquiry {
  background: var(--key);
}

.sp-fixed__item a {
  color: #fff;
  padding: 12px 12px 16px;
  display: block;
}

.sp-fixed__tel {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 24px;
  /* 114.286% */
  letter-spacing: 0.42px;
  margin-bottom: 1rem;
}

.sp-fixed__tel--text {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 14px;
  /* 100% */
  letter-spacing: 0.56px;
  padding: 0 5px 0 0;
}

.sp-fixed__tel--num {
  font-size: 14px;
  line-height: 14px;
  /* 100% */
}

.sp-fixed__time {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 14px;
  /* 100% */
}

.sp-fixed__inquiry {
  background: transparent url(../img/common/icon_inquiry.svg) no-repeat center top;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 175%;
  /* 26.25px */
  padding: 24px 0 0;
}

.body-contact .nav,
.body-contact .footer-contact,
.body-confirm .nav,
.body-confirm .footer-contact,
.body-contact .sp-fixed,
.body-confirm .sp-fixed {
  display: none;
}

.nav-top {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 999;
}

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

.nav-top::before {
  content: "";
  background: transparent url(../img/common/icon_inquiry.svg) no-repeat center center;
  width: 18px;
  height: 18px;
  display: block;
  position: absolute;
  left: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.nav-top a {
  display: block;
  border-radius: 0 0 0 8px;
  color: #fff;
  font-size: 1.6rem;
  padding: 1.8rem 2rem 1.8rem 5rem;
  font-weight: 500;
  border: 1px solid #E1E0DC;
  border-top: none;
  border-right: none;
  letter-spacing: 0.64px;
}

.nav-top a:before {
  content: "";
  background-color: var(--key);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  transition: 0.8s all;
  border-radius: 0 0 0 8px;
}

.nav-top a:after {
  content: "";
  background: linear-gradient(115deg, #F19682 17.28%, #E14662 83.25%);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -2;
  border-radius: 0 0 0 8px;
}

.nav-top a:hover:before {
  opacity: 0;
}

.nav-lower {
  position: fixed;
  left: 200px;
  top: 0;
  z-index: 999;
  width: calc(100% - 200px);
  display: flex;
  justify-content: space-between;
  border-bottom: 2px solid #B62144;
  background: #B62144;
  transition : 1s all;
}

@media (max-width: 1310px) {
  .nav-lower.nav-lower__outline .nav-lower-list__item {
    display: none;
  }
}


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

.nav-lower.is-hidden {
  top : -100px
}

.nav-lower-list {
  display: flex;
}

.nav-lower-list__item {
  width: 160px;
  transition: 0.8s all;
}

@media (max-width: 1250px) {
  .nav-lower-list__item {
    width: auto;
    padding: 0 2vw;
  }
}

@media (max-width: 960px) {
  .nav-lower-list__item {
    display: none;
  }
}

.nav-lower-list__item::after {
  content: "";
  background: rgba(255, 255, 255, 0.4);
  width: 1px;
  height: 40px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.nav-lower-list__item:last-child::after {
  display: none;
}

.nav-lower-list__item.is-current {
  background: #fff;
}

.nav-lower-list__item.is-current a {
  color: #B62144;
}

.nav-lower-list__item a {
  text-align: center;
  display: block;
  color: #fff;
  padding: 2rem 0;
  font-weight: 500;
  letter-spacing: 0.32px; 
}

.nav-lower-list__item:hover {
  background: #fff;
}

.nav-lower-list__item:hover a {
  color: #B62144;
}

.nav-lower-inquiry::before {
  content: "";
  background: transparent url(../img/common/icon_inquiry.svg) no-repeat center center;
  width: 18px;
  height: 18px;
  display: block;
  position: absolute;
  left: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.nav-lower-inquiry a {
  display: block;
  color: #fff;
  font-size: 1.6rem;
  padding: 2rem 2rem 2rem 5rem;
  font-weight: 500;
  letter-spacing: 0.64px;
}

.nav-lower-inquiry a:before {
  content: "";
  background-color: var(--key);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  transition: 0.8s all;
}

.nav-lower-inquiry a:after {
  content: "";
  background: linear-gradient(115deg, #F19682 17.28%, #E14662 83.25%);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -2;
}

.nav-lower-inquiry a:hover:before {
  opacity: 0;
}

.nav-category {
  margin: -8.5rem 0 0 200px;
  z-index: 10;
}

@media (max-width: 1200px) {
  .nav-category {
    max-width: 80%;
    left: 0;
    margin: 0 0 0 200px;
  }
}

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

.nav-category-list {
  display: flex;
  border-radius: 8px 8px 0 0;
  background: #B62144;
  border-top: 2px solid #B62144;
  margin: 0 auto;
  max-width: 1000px;
}

.nav-category-feature .nav-category-list__item {
  width: 20%;
}

.nav-category-event .nav-category-list__item {
  width: 33.3333%;
}

.nav-category-guidance .nav-category-list__item {
  width: 50%;
}

.nav-category-voice .nav-category-list__item {
  width: 50%;
}

.nav-category-outline .nav-category-list__item {
  width: 20%;
}

.nav-category-voice .nav-category-list__item {
  width: 50%;
}

.nav-category-list__item::after {
  content: "";
  background: rgba(255, 255, 255, 0.4);
  width: 1px;
  height: 40px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.nav-category-list__item:last-child::after {
  display: none;
}

.nav-category-list__item a {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  display: block;
  text-align: center;
  padding: 2.7rem 0;
  letter-spacing: 0.64px; 
}

.nav-category-list__item a:hover {
  background: #fff;
  color: #B62144;
}

.nav-category-list__item.is-current a {
  background: #fff;
  color: #B62144;
}

.nav-category-list__item:first-child a {
  border-radius: 8px 0 0 0;
}

.nav-category-list__item:last-child a {
  border-radius: 0 8px 0 0;
}

.btn a {
  border: 1px solid #E1E0DC;
  padding: 1.4rem 0;
  border-radius: 200px;
  background: #fff;
  text-align: center;
  color: var(--key);
  margin: 0 auto;
  display: block;
  font-weight: 500;
  text-indent: -1rem;
  transition: 0.8s all;
  letter-spacing: 0.56px; 
}

@media (max-width: 768px) {
  .btn a {
    padding: 1.8rem 0;
  }
}

.btn a span {
  background: transparent url(../img/common/icon_btn_link.svg) left center no-repeat;
  padding: 0 0 0 3rem;
}

.btn a:hover {
  opacity: 1;
  background: #FBE7EB;
  color: var(--key);
}

.top-title {
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: 1.28px;
  margin-bottom: 6rem;
}

@media (max-width: 768px) {
  .top-title {
    font-size: 2.6rem;
    line-height: 175%;
    /* 49px */
    letter-spacing: 1.12px;
  }
}

.top-mv {
  height: 100vh;
}

@media (max-width: 768px) {
  .top-mv {
    height: 70vh;
  }
}

.top-mv-slider {
  width: 100%;
  height: 100vh;
  z-index: 1;
}

@media (max-width: 768px) {
  .top-mv-slider {
    display: none;
  }
}

.top-mv-slider__item {
  height: 100vh;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
}

.top-mv-slider__item01 {
  background: transparent url(../img/top/roujin-home_bg_mv_01.jpg) center center no-repeat;
  background-size: cover;
}

.top-mv-slider__item02 {
  background: transparent url(../img/top/roujin-home_bg_mv_02.jpg) center center no-repeat;
  background-size: cover;
}

.top-mv-slider__item03 {
  background: transparent url(../img/top/roujin-home_bg_mv_03.jpg) center center no-repeat;
  background-size: cover;
}

.top-mv-slider .slick-dots {
  position: absolute;
  bottom: 11.5rem;
  left: 74px;
  display: flex;
  margin-bottom: 4rem;
  z-index: 99999;
  gap: 1.4rem;
}

@media (max-width: 768px) {
  .top-mv-slider .slick-dots {
    bottom: 1rem;
    left: 34px;
  }
}

.top-mv-slider .slick-dots li {
  width: 8px;
  height: 8px;
}

.top-mv-slider .slick-dots button {
  width: 8px;
  height: 8px;
  fill: rgba(255, 255, 255, 0.7);
  display: block;
  text-indent: -9999px;
  border: none;
  cursor: pointer;
  border-radius: 8px;
  outline: none;
  padding: 3px 0;
  z-index: 3;
  font-size: 0;
}

.top-mv-slider .slick-dots .slick-active button::before {
  content: "";
  width: 20px;
  height: 20px;
  z-index: 1;
  display: block;
  border-radius: 20px;
  z-index: -2;
  position: relative;
  left: -6px;
  top: -9px;
  background: rgba(255, 255, 255, 0.3);
  text-indent: -9999px;
}

.top-mv-slidersp {
  display: none;
  width: 100%;
  height: 100%;
  z-index: 1;
}

@media (max-width: 768px) {
  .top-mv-slidersp {
    display: block;
  }
}

.top-mv-slidersp .slick-dots {
  position: absolute;
  bottom: 1rem;
  left: 34px;
  display: flex;
  margin-bottom: 4rem;
  z-index: 99999;
  gap: 1.4rem;
}

.top-mv-slidersp .slick-dots li {
  width: 8px;
  height: 8px;
}

.top-mv-slidersp .slick-dots button {
  width: 8px;
  height: 8px;
  fill: rgba(255, 255, 255, 0.7);
  display: block;
  text-indent: -9999px;
  border: none;
  cursor: pointer;
  border-radius: 8px;
  outline: none;
  padding: 3px 0;
  z-index: 3;
  font-size: 0;
}

.top-mv-slidersp .slick-dots .slick-active button::before {
  content: "";
  width: 20px;
  height: 20px;
  z-index: 1;
  display: block;
  border-radius: 20px;
  z-index: -2;
  position: relative;
  left: -6px;
  top: -9px;
  background: rgba(255, 255, 255, 0.3);
  text-indent: -9999px;
}

.top-mv-slidersp__item {
  height: 70vh;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
}

.top-mv-slidersp__item01--sp {
  background: transparent url(../img/top/roujin-home_bg_mv_01_sp.jpg) center center no-repeat;
  background-size: cover;
}

.top-mv-slidersp__item02--sp {
  background: transparent url(../img/top/roujin-home_bg_mv_02_sp.jpg) center center no-repeat;
  background-size: cover;
}

.top-mv-slidersp__item03--sp {
  background: transparent url(../img/top/roujin-home_bg_mv_03_sp.jpg) center center no-repeat;
  background-size: cover;
}

.top-mv-main__lead {
  position: absolute;
  bottom: 10.8rem;
  left: 64px;
  z-index: 5;
  font-size: 4.8rem;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: 0.96px;
  text-shadow: 0px 4px 20px rgba(60, 60, 60, 0.6);
  color: #fff;
  margin-bottom: 9rem;
}

@media (max-width: 768px) {
  .top-mv-main__lead {
    font-size: 2.8rem;
    line-height: 160%;
    /* 44.8px */
    letter-spacing: 0.56px;
    left: 24px;
    bottom: 8.8rem;
  }
}

@media (max-width: 520px) {
  .top-mv-main__lead {
    bottom: 10.8rem;
  }
}

.top-mv-nav {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 240px;
  height: 240px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 7px;
  flex-shrink: 0;
  z-index: 500;
}

@media (max-width: 1030px) {
  .top-mv-nav {
    display: none;
  }
}

.top-mv-nav__close {
  position: absolute;
  top : -15px;
  right: 2px;
  z-index: 150;
  cursor: pointer;
}

.top-mv-nav.is-hidden {
  opacity: 0;
}

.top-mv-nav::before {
  width: 254px;
  height: 254px;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  content: "";
  border-radius: 4px;
  display: block;
  position: absolute;
  top: -8px;
  left: -8px;
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0px 8px 20px 0px rgba(60, 60, 60, 0.2);
  transition: 0.8s all;
}

.top-mv-nav:hover::before {
  width: 274px;
  height: 274px;
  top: -16px;
  left: -16px;
}

.top-mv-nav__link {
  border-radius: 4px;
  width: 100%;
  height: 100%;
  display: block;
}

.top-mv-nav__link:after {
  content: "";
  background: #9D2042;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  border-radius: 4px;
}

.top-mv-nav__link:hover:before {
  opacity: 0;
}

.top-mv-nav__thum {
  width: 180px;
  margin: 0 auto;
  z-index: 6;
}

.top-mv-nav__thum img {
  border-radius: 8px;
}

.top-mv-nav__lead {
  z-index: 80;
  color: #fff;
  text-align: center;
  font-weight: 700;
  margin: 1rem 0 1.5rem;
  font-size: 1.6rem;
  line-height: 26px;
}

.top-mv-nav__lead--big {
  display: block;
  font-size: 2.4rem;
}

.top-mv-nav__text {
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.3px;
  z-index: 6;
  background: linear-gradient(138deg, #FFB9D2 15.37%, #FEE195 85.12%);
  width: 100%;
  height: 28px;
  line-height: 28px;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 3;
  transition: 0.8s all;
  border-radius: 0 0 4px 4px;
}

.top-mv-nav__text::after {
  content: "";
  width: 24px;
  height: 24px;
  background: transparent url(../img/top/icon_mv_nav_arrow.svg) center center no-repeat;
  background-size: cover;
  position: absolute;
  bottom: 1.5rem;
  z-index: 6;
  right: 3px;
  top : 2px;
}

.top-mv-nav2 {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 288px;
  height: 304px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 7px;
  flex-shrink: 0;
  z-index: 500;
}

@media (max-width: 1030px) {
  .top-mv-nav2 {
    display: none;
  }
}

.top-mv-nav2__close {
  position: absolute;
  top : 13px;
  right: 15px;
  z-index: 150;
  cursor: pointer;
}

.top-mv-nav2.is-hidden {
  opacity: 0;
}

.top-mv-nav2__link {
  border-radius: 4px;
  width: 100%;
  height: 100%;
  display: block;
}

.top-mv-nav2__link:hover:before {
  opacity: 0;
}

.top-mv-info {
  position: absolute;
  bottom: 3.8rem;
  left: 64px;
  z-index: 5;
  border-radius: 8px;
  background: #fff url(../img/top/icon_mv_arrow.svg) 98% center no-repeat;
  max-width: 640px;
}

@media (max-width: 1000px) {
  .top-mv-info {
    max-width: 80%;
  }
}

@media (max-width: 768px) {
  .top-mv-info {
    position: relative;
    left: 0;
    bottom: 0;
    max-width: 100%;
    border-radius: 0;
  }
}

.top-mv-info:hover {
  background: #fff url(../img/top/icon_mv_arrow_o.svg) 98% center no-repeat;
}

.top-mv-info__link {
  display: flex;
  align-items: center;
  padding: 1.7rem 4rem 1.7rem 1.7rem;
  transition: 0.8s all;
}

@media (max-width: 768px) {
  .top-mv-info__link {
    flex-direction: column;
    align-items: flex-start;
    padding: 1.7rem 4rem 1.7rem 2.4rem;
  }
}

.top-mv-info__link:hover .top-mv-info__text {
  color: var(--key);
  text-decoration: underline;
}

.top-mv-info__title {
  background: transparent url(../img/common/icon_info.svg) left center no-repeat;
  padding: 0 0 0 3rem;
  font-size: 1.4rem;
  color: var(--key);
  font-weight: 700;
  line-height: 200%;
  /* 28px */
  letter-spacing: 0.56px;
  padding-right: 1.8rem;
  min-width: 150px;
}

.top-mv-info__wrap {
  display: flex;
  align-items: center;
  width: 100%;
}

.top-mv-info__data {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 100%;
  /* 14px */
  letter-spacing: 0.28px;
  padding-right: 1.2rem;
}

.top-mv-info__text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
  transition: 0.8s all;
  flex: 1;
}

.top-aboutus {
  background: rgb(246, 244, 236);
  background: linear-gradient(180deg, rgb(255, 252, 245) 70%, rgb(247, 238, 213) 100%);
}

.top-aboutus .bg {
  padding: 20rem 0;
}

@media (max-width: 1000px) {
  .top-aboutus .bg {
    padding: 15vw 0;
  }
}

@media (max-width: 768px) {
  .top-aboutus .bg {
    padding: 15rem 0 6.5rem;
  }
}

.top-aboutus-left {
  flex: 1;
}

@media (max-width: 1200px) {
  .top-aboutus-left {
    max-width: 100%;
  }
}

.top-aboutus__wrap {
  display: flex;
  gap: 10rem;
}

.top-aboutus__title {
  font-size: 3.4rem;
  letter-spacing: 1.12px;
  font-weight: 500;
  margin-bottom: 5rem;
  line-height: 160%; /* 54.4px */
  letter-spacing: 1.36px; 
}

@media (max-width: 768px) {
  .top-aboutus__title {
    font-size: 2.8rem;
    text-align: center;
    margin-bottom: 4rem;
    line-height: 175%; /* 49px */
    letter-spacing: 1.12px; 
  }
}

.top-aboutus__sub {
  color: var(--key);
  font-size: 2.6rem;
  font-weight: 500;
  letter-spacing: 1.04px;
  line-height: 175%;
  margin-bottom: 5rem;
}

@media (max-width: 768px) {
  .top-aboutus__sub {
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 2.5rem;
    line-height: 175%; /* 42px */
    letter-spacing: 0.96px; 
  }
}

.top-aboutus__text {
  font-size: 1.8rem;
  line-height: 240%;
  letter-spacing: 0.72px;
}

@media (max-width: 768px) {
  .top-aboutus__text {
    font-size: 1.6rem;
  }
}

.top-aboutus__image {
  max-width: 338px;
}

@media (max-width: 1200px) {
  .top-aboutus__image {
    display: none;
  }
}

.top-aboutus__image img {
  border-radius: 8px;
  box-shadow: 0px 8px 50px 0px rgba(128, 105, 37, 0.3);
}

.top-hospital {
  background: #fff;
  padding: 3.7rem 0;
}

@media (max-width: 768px) {
  .top-hospital {
    padding: 32px;
  }
}

.top-hospital-list {
  display: flex;
  justify-content: center;
  gap: 6.4rem;
  align-items: center;
}

@media (max-width: 1000px) {
  .top-hospital-list {
    flex-direction: column;
    gap: 1.6rem;
  }
}

.top-hospital-list__label {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.32px;
}

.top-hospital-list__wrap {
  display: flex;
  gap: 3.2rem;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .top-hospital-list__wrap {
    gap: 1.6rem 2.4rem;
  }
}

.top-hospital-list__image {
  width: 140px;
}

.top-facility {
  background: transparent url(../img/top/bg_facility.jpg) center center no-repeat;
  background-size: cover;
  padding: 12rem 0;
}

@media (max-width: 1000px) {
  .top-facility {
    padding: 10vw 0;
  }
}

@media (max-width: 768px) {
  .top-facility {
    background: transparent url(../img/top/bg_facility_sp.jpg) center center no-repeat;
    background-size: cover;
    padding: 6.4rem 32px;
  }
}

.top-facility .inner {
  max-width: 100%;
  padding: 0 16rem;
}

@media (max-width: 1200px) {
  .top-facility .inner {
    padding: 0 10vw;
  }
}

@media (max-width: 1000px) {
  .top-facility .inner {
    padding: 0 6vw;
  }
}

@media (max-width: 768px) {
  .top-facility .inner {
    padding: 0;
  }
}

.top-facility__title {
  color: #fff;
  font-size: 3.2rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 6rem;
  letter-spacing: 1.28px;
}

@media (max-width: 768px) {
  .top-facility__title {
    font-size: 2.8rem;
    letter-spacing: 1.12px;
    line-height: 175%;
    /* 49px */
    margin-bottom: 4rem;
  }
}

.top-facility__wrap {
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0px 8px 24px 0px rgba(39, 73, 124, 0.2);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
}

@media (max-width: 768px) {
  .top-facility__wrap {
    flex-direction: column;
    gap: 1.6rem;
    background: none;
    border: none;
    border-radius: 0;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

.top-facility__set--01 {
  width: 33.3333333333%;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

@media (max-width: 1000px) {
  .top-facility__set--01 {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .top-facility__set--01 {
    width: 100%;
    border: none;
  }
}

.top-facility__set--02 {
  width: 33.3333333333%;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

@media (max-width: 1000px) {
  .top-facility__set--02 {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .top-facility__set--02 {
    width: 100%;
    border: none;
  }
}

.top-facility__set--03 {
  width: 33.3333333333%;
  border-bottom: 1px solid #fff;
}

@media (max-width: 1000px) {
  .top-facility__set--03 {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .top-facility__set--03 {
    width: 100%;
    border: none;
  }
}

.top-facility__set--04 {
  width: 50%;
  border-right: 1px solid #fff;
}

@media (max-width: 1000px) {
  .top-facility__set--04 {
    width: 100%;
    border-bottom: 1px solid #fff;
  }
}

@media (max-width: 768px) {
  .top-facility__set--04 {
    width: 100%;
    border: none;
  }
}

.top-facility__set--05 {
  width: 50%;
}

@media (max-width: 1000px) {
  .top-facility__set--05 {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .top-facility__set--05 {
    width: 100%;
    border: none;
  }
}

@media (max-width: 768px) {
  .top-facility__set {
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.6);
    box-shadow: 0px 8px 24px 0px rgba(39, 73, 124, 0.2);
    border-radius: 16px;
  }
}

.top-facility__link {
  padding: 3.2rem 4.4rem 7rem;
  background: transparent url(../img/top/icon_facility.svg) 93% 93% no-repeat;
  display: flex;
  gap: 8px;
  flex-direction: column;
}

@media (max-width: 768px) {
  .top-facility__link {
    flex-direction: row-reverse;
    padding: 1.6rem;
    justify-content: flex-end;
    align-items: center;
    gap: 1.6rem;
    background: transparent url(../img/top/icon_facility.svg) 93% center no-repeat;
    background-size: 32px;
  }
}

@media (min-width: 768px) {
  .top-facility__link:hover {
    background: #fff url(../img/top/icon_facility_o.svg) 93% 93% no-repeat;
  }
}


@media (min-width: 768px) {
  .top-facility__link:hover .top-facility__label {
    color: var(--key);
  }
}

.top-facility__label {
  text-align: center;
  font-size: 2.2rem;
  font-weight: 500;
  transition: 0.8s all;
  line-height: 175%; /* 38.5px */
  letter-spacing: 0.88px; 
}

@media (max-width: 768px) {
  .top-facility__label {
    font-size: 2rem;
    font-weight: 500;
    line-height: 175%; /* 35px */
    letter-spacing: 0.8px; 
  }
}

.top-facility__icon {
  text-align: center;
  margin-bottom: 0.5rem;
}

@media (max-width: 768px) {
  .top-facility__icon {
    width: 64px;
    height: 64px;
    margin-bottom: 0;
  }
}

.top-facility__text {
  line-height: 200%;
  letter-spacing: 0.64px;
  font-size: 1.6rem;
  text-align: center;
}

@media (max-width: 1600px) {
  .top-facility__text {
     min-height: 140px;
  }
}

@media (max-width: 1130px) {
  .top-facility__text {
     min-height: 190px;
  }
}

@media (max-width: 1000px) {
  .top-facility__text {
     min-height: auto;
  }
}

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

.top-detail {
  background-image: url(../img/common/bg_pattern_lt.png);
  background-position: left top;
  background-size: auto 10%;
  background-repeat: no-repeat;
}

.top-detail .inner {
  max-width: 100%;
  padding: 0 0 0 64px;
  display: flex;
}

@media (max-width: 1200px) {
  .top-detail .inner {
    padding: 0 0 32px;
  }
}

@media (max-width: 1000px) {
  .top-detail .inner {
    padding: 0;
  }
}

@media (max-width: 768px) {
  .top-detail .inner {
    padding-left: 0;
  }
}

.top-detail .top-title {
  margin-bottom: 14rem;
  line-height: 175%;
  /* 56px */
  letter-spacing: 1.28px;
}

@media (max-width: 1000px) {
  .top-detail .top-title {
    margin-bottom: 10vw;
  }
}

@media (max-width: 768px) {
  .top-detail .top-title {
    text-align: center;
    font-size: 2.8rem;
    font-style: normal;
    font-weight: 500;
    line-height: 175%; /* 49px */
    letter-spacing: 1.12px; 
    margin-bottom: 4rem;
  }
}

.top-detail__main {
  padding: 16rem 0;
  z-index: 100;
}

@media (max-width: 1200px) {
  .top-detail__main {
    padding: 12vw 0 6vw 32px;
  }
}

@media (max-width: 768px) {
  .top-detail__main {
    padding: 8rem 0 4.5rem;
  }
}

.top-detail-image {
  width: 100%;
}

@media (max-width: 1090px) {
  .top-detail-image {
    display: none;
  }
}

.top-detail-image__item {
  height: 400px;
  width: 100%;
  transition: .5s all;
}

.top-detail-image__item--01 {
  background: transparent url(../img/top/roujin-home_bg_detail_01.jpg) center center no-repeat;
  background-size: cover;
  z-index: 8;
}

.top-detail-image__item--02 {
  background: transparent url(../img/top/roujin-home_bg_detail_02.jpg) center center no-repeat;
  background-size: cover;
  z-index: 7;
}

.top-detail-image__item--03 {
  background: transparent url(../img/top/roujin-home_bg_detail_03.jpg) center center no-repeat;
  background-size: cover;
  z-index: 6;
}

.top-detail-image__item img {
  -o-object-fit: cover;
  object-fit: cover;
  height: 100%;
  width: 100%;
  object-position: 30% 50%;
}

.top-detail-image__item.is-active {
  height : 100vh !important;
  scroll-snap-type: y mandatory;
  position: fixed;
  top: 0;

}

.top-detail-image__item.is-hidden {
  opacity : 0;
}

.top-detail-set {
  margin-bottom: 20rem;
  display: flex;
}

@media (max-width: 1200px) {
  .top-detail-set {
    margin-bottom: 10vw;
  }
}

@media (max-width: 768px) {
  .top-detail-set {
    margin-bottom: 4rem;
  }
}

.top-detail-set__02::before {
  content: "";
  position: absolute;
  left: 480px;
  top: -200px;
  background: transparent url(../img/common/bg_pattern_rc.png) center center no-repeat;
  background-size: cover;
  width: 300px;
  height: 600px;
}

.top-detail-set__inner {
  width: 810px;
  z-index: 5;
  margin-right: -30px;
}

@media (max-width: 1090px) {
  .top-detail-set__inner {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .top-detail-set__inner {
    width: 100%;
    margin-right: 0;
  }
}

.top-detail-set__image {
  width: calc(100% - 840px);
  left: -30px;
  background: transparent url(../img/top/bg_detail_01.jpg) center center no-repeat;
  background-size: 55vw;
  padding-right: 30px;
}

@media (max-width: 768px) {
  .top-detail-set__image {
    display: none;
  }
}

.top-detail-set__title {
  color: var(--key);
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 175%;
  /* 45.5px */
  letter-spacing: 1.04px;
  padding: 0 0 0 2.5rem;
  margin-bottom: 4rem;
}

@media (max-width: 768px) {
  .top-detail-set__title {
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 3rem;
    padding-left: 0;
  }
}

.top-detail-set__title::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 8px;
  background: var(--key);
  position: absolute;
  left: 4px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .top-detail-set__title::before {
    display: none;
  }
}

.top-detail-set__title::after {
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 20px;
  background: var(--key);
  opacity: 0;
  position: absolute;
  left: -2px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .top-detail-set__title::after {
    display: none;
  }
}

.top-detail-set__title.is-active::after {
  -webkit-animation: markBlinking forwards 1s infinite ease 0.2s normal;
  animation: markBlinking forwards 1s infinite ease 0.2s normal;
}

@media (max-width: 768px) {
  .top-detail-set__title.is-active::after {
    display: none;
  }
}

.top-detail-set__text {
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
  margin-bottom: 4rem;
  max-width: 700px;
}

@media (max-width: 768px) {
  .top-detail-set__text {
    padding: 0 32px;
    margin-bottom: 2.5rem;
  }
}

.top-detail-list {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}

@media (max-width: 1090px) {
  .top-detail-list {
    margin-bottom: 3rem;
  }
}

@media (max-width: 768px) {
  .top-detail-list {
    gap: 0;
    margin-bottom: 0;
  }
}

@media (max-width: 800px) {
  .top-detail-list__item {
    width: 48%;
  }
}

@media (max-width: 768px) {
  .top-detail-list__item {
    width: 50%;
  }
}

@media (max-width: 768px) {
  .top-detail-list__item--splong {
    width: 100%;
    text-align: center;
  }
}

.top-detail-list__item a {
  padding: 2.4rem;
  display: block;
  background: #fff url(../img/top/icon_detail_arrow.svg) 91% center no-repeat;
  border: 1px solid #E1E0DC;
  border-radius: 8px;
  width: 258px;
  font-weight: 500;
  line-height: 175%;
  /* 28px */
  letter-spacing: 0.64px;
  color: var(--key);
  transition: 0.8s all;
}

@media (max-width: 800px) {
  .top-detail-list__item a {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .top-detail-list__item a {
    background: #fff url(../img/top/icon_detail_arrow.svg) 93% center no-repeat;
    border-radius: 0;
    width: 100%;
    font-size: 1.7rem;
    padding: 2.4rem 1.6rem;
    line-height: 1.3;
  }
}

@media (min-width: 768px) {
  .top-detail-list__item a:hover {
    background: #FBE7EB url(../img/top/icon_detail_arrow.svg) 91% center no-repeat;
  }
}

.top-detail-spimage {
  display: none;
}

@media (max-width: 1090px) {
  .top-detail-spimage {
    display: block;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    width: 100vw;
  }
  .top-detail-spimage img {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .top-detail-set__01 .top-detail-list__item:nth-child(2) a {
    border-right: none;
    border-left: none;
  }
  .top-detail-set__01 .top-detail-list__item:nth-child(3) a {
    border-top: none;
  }
}

@media (max-width: 768px) {
  .top-detail-set__02 .top-detail-list__item:nth-child(1) a {
    border-right: none;
  }
}

@media (max-width: 768px) {
  .top-detail-set__03 .top-detail-list__item:nth-child(1) a {
    border-right: none;
    border-bottom: none;
  }
}

@media (max-width: 768px) {
  .top-detail-set__03 .top-detail-list__item:nth-child(2) a {
    border-bottom: none;
  }
}

@media (max-width: 768px) {
  .top-detail-set__03 .top-detail-list__item:nth-child(3) a {
    border-right: none;
    border-bottom: none;
  }
}

@media (max-width: 768px) {
  .top-detail-set__03 .top-detail-list__item:nth-child(4) a {
    border-bottom: none;
  }
}

@media (max-width: 768px) {
  .top-detail-set__03 .top-detail-list__item:nth-child(5) a {
    border-right: none;
  }
}

.top-voice {
  margin: -12.5rem 0 0;
  z-index: 15;
}

@media (max-width: 1000px) {
  .top-voice {
    margin-top: -14vw;
  }
}

@media (max-width: 800px) {
  .top-voice {
    margin-top: -17vw;
  }
}

@media (max-width: 768px) {
  .top-voice {
    margin: -1rem 0 0;
  }
}

.top-voice .inner {
  max-width: 100%;
  padding: 0 64px;
}

@media (max-width: 1000px) {
  .top-voice .inner {
    padding: 0 4vw;
  }
}

@media (max-width: 768px) {
  .top-voice .inner {
    padding: 0;
  }
}

.top-voice-title {
  border-radius: 16px 16px 0 0;
  display: flex;
  align-items: center;
  padding: 2.65rem 3.4rem 2.65rem 5.4rem;
  gap: 4.8rem;
}

@media (max-width: 1000px) {
  .top-voice-title {
    padding: 2.65rem 1.4rem 2.65rem 1.4rem;
  }
}

@media (max-width: 768px) {
  .top-voice-title {
    flex-direction: column;
    padding: 2.65rem 32px 4rem 32px;
    gap: 1.6rem;
  }
}

.top-voice-title::before {
  content: "";
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  top: -2px;
  left: 0;
  background: rgb(102, 157, 32);
  background: linear-gradient(270deg, #7cd13a 0%, #f6d54c 100%);
  border-radius: 16px 16px 0 0;
  position: absolute;
}

.top-voice-title::after {
  content: "";
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 16px 16px 0 0;
  position: absolute;
}

.top-voice-title__en {
  background: transparent url(../img/top/icon_voice.svg) left center no-repeat;
  color: #669D20;
  font-size: 3.2rem;
  padding: 1rem 0 1rem 8rem;
  letter-spacing: 1.28px;
  font-weight: 500;
  z-index: 5;
}

@media (max-width: 768px) {
  .top-voice-title__en {
    background: transparent url(../img/top/icon_voice.svg) center top no-repeat;
    padding: 6rem 1rem 0;
    margin: -4rem 0 0;
  }
}

.top-voice-title__lead {
  letter-spacing: 0.64px;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.64px;
  z-index: 5;
}

.top-voice-wrap {
  display: flex;
}

@media (max-width: 768px) {
  .top-voice-wrap {
    flex-direction: column;
  }
}

.top-voice-set {
  width: 50%;
  overflow: hidden;
}

@media (max-width: 768px) {
  .top-voice-set {
    width: 100%;
  }
}

.top-voice-set__image {
  height: 340px;
}

@media (max-width: 768px) {
  .top-voice-set__image {
    height: auto;
    aspect-ratio: 375/212;
  }
}

.top-voice-set__title {
  text-align: center;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.88px;
  padding: 3.2rem 0;
  transition: 0.8s all;
}

@media (max-width: 768px) {
  .top-voice-set__title {
    font-size: 2rem;
    letter-spacing: 0.8px;
  }
}

.top-voice-interview:hover .top-voice-set__title {
  background: #F6F1BD;
}

.top-voice-interview:hover .top-voice-set__title::before {
  left: 51%;
}

.top-voice-interview:hover .top-voice-set__image {
  scale: 1.05;
}

.top-voice-interview .top-voice-set__image {
  background: transparent url(../img/top/roujin-home_img_voice_01.jpg) center center no-repeat;
  background-size: cover;
  transition: 0.8s all;
}

.top-voice-interview .top-voice-set__title {
  background: #FBFAE4;
  color: #DE9300;
  border-bottom: 2px solid #DE9300;
}

.top-voice-interview .top-voice-set__title::before {
  content: "";
  width: 64px;
  height: 64px;
  background: transparent url(../img/top/icon_voice_arrow_01.svg) center center no-repeat;
  position: absolute;
  top: -42px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  transition: 0.8s all;
}

.top-voice-staff:hover .top-voice-set__title {
  background: #dbf0b9;
}

.top-voice-staff:hover .top-voice-set__title::before {
  left: 51%;
}

.top-voice-staff:hover .top-voice-set__image {
  scale: 1.05;
}

.top-voice-staff .top-voice-set__image {
  background: transparent url(../img/top/roujin-home_img_voice_02.jpg) center center no-repeat;
  background-size: cover;
  transition: 0.8s all;
}

.top-voice-staff .top-voice-set__title {
  background: #F5FDE9;
  color: #528916;
  border-bottom: 2px solid #528916;
}

.top-voice-staff .top-voice-set__title::before {
  content: "";
  width: 64px;
  height: 64px;
  background: transparent url(../img/top/icon_voice_arrow_02.svg) center center no-repeat;
  position: absolute;
  top: -42px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.top-info {
  background: rgb(246, 244, 236);
  background: linear-gradient(180deg, rgb(255, 252, 245) 70%, rgb(247, 238, 213) 100%);
  z-index: 50;
}

.top-info .bg {
  padding: 17rem 0 17rem;
}

@media (max-width: 1000px) {
  .top-info .bg {
    padding: 10vw 0;
  }
}

@media (max-width: 768px) {
  .top-info .bg {
    padding: 8rem 0 10.4rem;
  }
}

.top-info .top-title {
  text-align: center;
  margin-bottom: 5rem;
  letter-spacing: 1.28px;
}

@media (max-width: 768px) {
  .top-info .top-title {
    margin-bottom: 4rem;
  }
}

@media (max-width: 768px) {
  .top-info .inner {
    padding: 0 16px;
  }
}

.top-info-list {
  max-width: 800px;
  margin: 0 auto 5rem;
  border-bottom: 1px solid #E1E0DC;
}

@media (max-width: 768px) {
  .top-info-list {
    margin-bottom: 3rem;
  }
}

.top-info-list__link {
  display: flex;
  padding: 2.2rem 2rem;
  display: flex;
  border-top: 1px solid #E1E0DC;
  font-weight: 500;
  gap: 4rem;
  transition: 0.6s all;
  letter-spacing: 0.64px;
}

@media (max-width: 768px) {
  .top-info-list__link {
    flex-direction: column;
    gap: 0.8rem;
    padding: 2.2rem 1rem;
  }
}

.top-info-list__link:hover {
  opacity: 1;
  color: var(--key);
  background: #FDFBF1;
}

.top-info-list__link:hover .top-info-list__title {
  text-decoration: underline;
}

.top-info-list__data {
  color: var(--key);
}

.top-info .btn a {
  max-width: 300px;
  letter-spacing: 0.56px;
}

.top-blog {
  background: #FFFCF5;
  z-index: 1;
  padding-top: 16rem;
  padding-bottom: 29rem;
}
@media (max-width: 1200px) {
  .top-blog {
    padding-top: 6vw;
  }
}
@media (max-width: 768px) {
  .top-blog {
    padding-top: 0;
    padding-bottom: 8rem;
  }
}

.top-blog .blog-category {
  font-size: 1.2rem;
  width: 88px;
}

.lower {
  background: #FFFCF5;
  padding-bottom: 28.5rem;
}

@media (max-width: 768px) {
  .lower {
    padding-bottom: 10rem;
  }
}

.lower:before {
  content: "";
  background: linear-gradient(180deg, rgb(252, 243, 219) 50%, rgb(255, 252, 245) 100%);
  width: 100%;
  display: block;
  height: 700px;
  position: absolute;
  top: 0;
  z-index : 0;
}

.lower:after {
  content: "";
  background: linear-gradient(180deg,  rgb(255, 252, 245) 0% , rgb(252, 243, 219) 100%);
  width: 100%;
  display: block;
  height: 300px;
  position: absolute;
  bottom: 0;
  z-index : 0;
}

.lower.guidance.flow {
  padding-bottom: 0;
}

.lower.profile {
  padding-bottom: 21rem;
}

.lower .inner {
  max-width: 1400px;
  margin: 0 auto;
}

.lower__wrap {
  display: flex;
  gap: 8rem;
}

@media (max-width: 1200px) {
  .lower__wrap {
    flex-direction: column-reverse;
    gap: 2.5rem;
  }
}

@media (max-width: 768px) {
  .lower__wrap--spfdc {
    flex-direction: column;
    gap: 0;
  }
}

.lower__left {
  flex: 1;
}

.lower-mv {
  z-index: 2;
}

.lower-mv .inner {
  padding: 0 32px;
}

@media (max-width: 768px) {
  .lower-mv .inner {
    padding: 0 10px;
  }
}

.lower-mv__bg {
  width: 100%;
}

.lower-mv-set {
  background: #fff;
  border-radius: 8px;
  top: -7rem;
  padding: 1.4rem 4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: -2rem;
  border-bottom: 2px solid #F5F3E0;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .lower-mv-set {
    flex-direction: column;
    padding: 2rem 4rem;
    gap: 0.5rem;
    margin-bottom: -5rem;
    top: -8rem;
  }
}

.lower-mv-title {
  font-size: 4.2rem;
  font-weight: 500;
  line-height: 175%;
  /* 73.5px */
  letter-spacing: 1.68px;
}

@media (max-width: 768px) {
  .lower-mv-title {
    font-size: 3.2rem;
    line-height: 160%;
    /* 51.2px */
    letter-spacing: 0.64px;
  }
}

.lower-mv-category {
  position: absolute;
  top: -15px;
  left: 0;
  line-height: 160%;
  /* 25.6px */
  letter-spacing: 0.64px;
  color: #fff;
  font-size: 1.6rem;
  background: var(--key);
  font-weight: 500;
  padding: 0.3rem 1.6rem;
  border-radius: 8px 8px 8px 0;
}

@media (max-width: 768px) {
  .lower-mv-category {
    font-size: 1.4rem;
    border-radius: 8px;
    padding: 0.2rem 1.2rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

.lower-mv-pan {
  display: flex;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 160%;
  flex-wrap : wrap;
  /* 20.8px */
  letter-spacing: 0.26px;
}

.lower-mv-pan__item {
  padding: 0 1.5rem;
}

.lower-mv-pan__item::before {
  content: "";
  width: 5px;
  height: 10px;
  background: transparent url(../img/common/icon_pan.svg) center center no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: -2px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.lower-mv-pan__item:last-child {
  padding-right: 0;
}

@media (max-width: 768px) {
  .lower-mv-pan__item:last-child {
    padding-right: 1.5rem;
  }
}

.lower-mv-pan__item:last-child::before {
  display: none;
}

.lower-mv-pan__item a:hover {
  color: #EF8C98;
  text-decoration : underline;
}

.lower-mv-pan a {
  color: var(--key);
}

.lower-set {
  padding-bottom: 8rem;
  z-index: 1;
}

.lower-set-single {
  padding: 2rem 0 0;
}

.lower-set-long {
  padding-bottom: 16rem;
}

@media (max-width: 768px) {
  .lower-set-long {
    padding-bottom: 8rem;
  }
}

.lower-set-long__last {
  padding-bottom: 0;
}

.lower-set-long2 {
  padding-bottom: 13rem;
}

@media (max-width: 768px) {
  .lower-set-long2 {
    padding-bottom: 8rem;
  }
}

.lower-set-long2__last {
  padding-bottom: 0;
}

.lower-set-min {
  padding-bottom: 5rem;
}

@media (max-width: 768px) {
  .lower-set-min {
    padding-bottom: 3rem;
  }
}

.lower-set-min__last {
  padding-bottom: 0;
}

@media (max-width: 768px) {
  .lower-set__last {
    padding-bottom: 2rem;
  }
}

.lower-set-pagelink {
  padding-top: 70px;
  margin-top: -70px;
}

.lower-set-bg::before {
  content: "";
  position: absolute;
  right: 0;
  top: -200px;
  background: transparent url(../img/common/bg_pattern_rc.png) center center no-repeat;
  background-size: cover;
  width: 300px;
  height: 600px;
  pointer-events: none;
}

.lower-lead {
  margin-bottom: 8rem;
}

.contact .lower-lead {
  margin-bottom: 4rem;
}

@media (max-width: 768px) {
  .lower-lead {
    margin-bottom: 6rem;
  }
  .facility .lower-lead,
  .360view .lower-lead,
  .contact .lower-lead {
    margin-bottom: 2rem;
  }
}

.lower-lead-confirm {
  margin-bottom: 4rem;
}

.lower-lead-confirm .lower-text {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 175%;
  /* 38.5px */
  letter-spacing: 0.88px;
}

.lower-lead2 {
  margin-bottom: 5rem;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 32px */
  letter-spacing: 0.64px; 
}

@media (max-width: 768px) {
  .lower-lead2 {
    margin-bottom: 3rem;
  }
}

.lower-title {
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 175%;
  /* 45.5px */
  letter-spacing: 1.04px;
  color: var(--key);
  border-top: 1px solid #E1E0DC;
  padding-top: 3rem;
  margin-bottom: 4rem;
}

@media (max-width: 768px) {
  .lower-title {
    text-align: center;
    font-size: 2.4rem;
    padding-top: 2.5rem;
    margin-bottom: 2rem;
  }
}

.lower-title span {
  position: absolute;
  top: 0;
  left: 0;
  height: 3px;
  background: var(--key);
  width: 55px;
}

@media (max-width: 768px) {
  .lower-title span {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    max-width: 70%;
  }
}

.lower-title2 {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 175%;
  /* 56px */
  letter-spacing: 1.28px;
  margin-bottom: 5rem;
}

@media (max-width: 768px) {
  .lower-title2 {
    font-size: 2.4rem;
    padding-top: 2.5rem;
    margin-bottom: 2rem;
  }
}

.lower-title3 {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 175%;
  /* 38.5px */
  letter-spacing: 0.88px;
}

@media (max-width: 768px) {
  .lower-title3 {
    font-size: 1.8rem;
    padding-top: 2.5rem;
    margin-bottom: 2rem;
  }
}

.lower-title4 {
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 175%;
  /* 45.5px */
  letter-spacing: 1.04px;
}

@media (max-width: 768px) {
  .lower-title4 {
    font-size: 1.8rem;
    padding-top: 2.5rem;
    margin-bottom: 2rem;
  }
}

.lower-text {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

@media (max-width: 768px) {
  .lower-text {
    line-height: 175%;
    /* 28px */
  }
}

@media (max-width: 768px) {
  .lower-text-sp {
    margin-bottom: 3rem;
  }
}

.lower-text-room {
  margin-bottom : 4rem;
}

.lower-modal {
  display: flex;
  flex-direction: column;
  gap : 1.6rem;
}

.lower-modal__contents {
  display: none; 
}

.modaal-content-container img {
  max-height: 70vh !important;
  width: auto !important;
  display: block;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .modaal-content-container img {
    width: 100% !important;
    height: auto !important;
  }
}

.lower-modal__item a {
  background : #528916 url(../img/common/icon_modal.svg) 1rem center no-repeat;
  border-radius: 8px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 175%; /* 28px */
  letter-spacing: 0.64px; 
  padding: 1.6rem 1.6rem 1.6rem 5rem;
  display: inline-block;
}

.lower-modal__item a:hover {
  background-color: #8BC032;
}

.lower-thum {
  width: 456px;
}

@media (max-width: 768px) {
  .lower-thum {
    width: 100%;
  }
}

.lower-thum-min {
  width: 360px;
}

@media (max-width: 768px) {
  .lower-thum-min {
    width: 100%;
  }
}

.lower-thum__image {
  border-radius: 8px;
  background: #FFFCF5;
  overflow: hidden;
  box-shadow: 8px 8px 24px 0px rgba(128, 105, 37, 0.25);
}

@media (max-width: 768px) {
  .lower-thum__image {
    width: 70%;
    margin: 0 auto;
  }
}

@media (max-width: 520px) {
  .lower-thum__image {
    width: 100%;
  }
}

.ower-thum__image--mb {
  margin-bottom: 20px;
}

.lower-thum__caption {
  font-size: 1.4rem;
  padding: 3rem 0 0;
  line-height: 175%; /* 24.5px */
  letter-spacing: 0.56px; 
}

@media (max-width: 768px) {
  .lower-thum__caption {
    padding-top: 2rem;
  }
}

.lower-list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding-bottom: 1.6rem;
  margin-bottom: 3.2rem;
}

.lower-list__yellow {
  background: transparent url(../img/common/bg_dot_yellow.svg) center bottom repeat-x;
}

.lower-list__green {
  background: transparent url(../img/common/bg_dot_green.svg) center bottom repeat-x;
}

.lower-list__event {
  border: none;
  gap : 1.6rem;
}
@media (max-width: 768px) {
  .lower-list__event {
    gap : 1.2rem;
  }
  .lower-list__event span {
    flex : 1;
  }
}

.lower-list__event .lower-list__label {
  align-items: baseline;
}

.lower-list__event .lower-list__label::before {
  position: relative;
  top : -3px;
}

.lower-list.lower-list__event a {
  color: #DE9300;
  text-decoration: underline;
  background: transparent url(../img/common/icon_link_event.svg) right center no-repeat;
  padding: 0 2.5rem 0 0;
}

.lower-list__label {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.lower-list__label::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 8px;
  display: block;
}

.lower-list__label--yellow {
  color: #DE9300;
}

.lower-list__label--yellow::before {
  background: #DE9300;
}

.lower-list__label--green {
  color: #528916;
}

.lower-list__label--green::before {
  background: #528916;
}

.lower-list__text {
  padding: 0 0 0 2rem;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 32px */
  letter-spacing: 0.64px; 
}

.lower-list__care {
  display: flex;
  gap: 3rem;
  padding: 0.5rem 0 0 2rem;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
 .lower-list__care {
    gap: 1rem;
  }
}

.lower-list__care--item {
  gap: 1rem;
  display: flex;
  align-items: center;
}

.lower-list__care--bottom {
  padding-bottom: 0.5rem;
}

.lower-list__care--icon {
  color: #528916;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 100%;
  /* 14px */
  letter-spacing: 0.56px;
  width: 32px;
  height: 32px;
  border-radius: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F6F1BD;
}

.lower-list__care--text {
  flex: 1;
  letter-spacing: 0.64px; 
}

.lower-list__detail--label {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

.lower-list__detail--green {
  color: #528916;
}

.lower-list__detail--text {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 32px */
  letter-spacing: 0.64px; 
}

.lower-list__detail--text:last-child {
  margin-bottom: 0;
}

.lower-list2 {
  padding-bottom: 4rem;
  margin-bottom: 4rem;
}

.lower-list2:last-child {
  margin-bottom: 0;
}

.lower-list2__green {
  background: transparent url(../img/common/bg_dot_green.svg) center bottom repeat-x;
}

.lower-list2__green .lower-list2__title {
  color: #528916;
}

.lower-list2__green .lower-list2__item::before {
  background: #528916;
}

.lower-list2__title {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  letter-spacing: 0.72px;
  margin-bottom: 1rem;
}

.lower-list2__item {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
  line-height: 200%; /* 32px */
  letter-spacing: 0.64px; 
}

.lower-list2__text {
  line-height: 200%; /* 32px */
  letter-spacing: 0.64px; 
  font-size: 1.6rem;
}

.lower-list2__item span {
  flex: 1;
}

.lower-list2__item:last-child {
  margin-bottom: 0;
}

.lower-list2__item::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 8px;
  display: block;
  position: relative;
  top: 11px;
  left: 0;
}

.lower-slider {
  width: 456px;
}

@media (max-width: 768px) {
  .lower-slider {
    width: 100%;
  }
}

.lower-slider-main {
  box-shadow: 8px 8px 24px 0px rgba(128, 105, 37, 0.25);
  margin-bottom: 3rem;
}

.lower-slider-main__item img {
  border-radius: 8px;
  background: #FFFCF5;
  overflow: hidden;
  box-shadow: 8px 8px 24px 0px rgba(128, 105, 37, 0.25);
}

.lower-slider .lower-slider-thum .slick-track {
  margin-left : 0;
  width : 100% !important;
}

.lower-slider-thum {
  z-index: 50;
}

.lower-slider-thum-cs {
  display: none;
}

.lower-slider-thum__item {
  max-width: 90px;
  margin: 0 30px 0 0;
  opacity: 0.6;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 8px;
  width : 100% !important;
}

@media (max-width: 768px) {
  .lower-slider-thum__item {
    margin: 0 10px 10px 0;
    max-width: 22%;
  }
}

.lower-slider-thum__item:last-child {
  margin-right: 0;
}

.lower-slider-thum__item.slick-current {
  opacity: 1;
  border: 1px solid #9D2042;
}

.lower-slider .slick-slide img {
  width: 100%;
  aspect-ratio : 456 / 300;
  object-fit : cover;
  border-radius: 8px;
}

.lower-icon {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  /* 25.6px */
  letter-spacing: 0.64px;
  margin-bottom: 3rem;
  display: inline-block;
  border-radius: 4px;
  padding: 0.8rem 1.6rem;
}

.lower-icon__green {
  background: #669D20;
  color: #fff;
}

@media (max-width: 768px) {
  .lower-icon {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    margin-bottom: 2rem;
  }
}

.lower-icon__pconly {
  display: inline-block;
}

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

.lower-icon__sponly {
  display: none;
}

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

.lower-nav a {
  padding: 1.6rem 2.4rem;
  display: block;
  background: #fff url(../img/top/icon_detail_arrow.svg) 91% center no-repeat;
  border: 1px solid #E1E0DC;
  border-radius: 100px;
  width: 190px;
  font-weight: 700;
  line-height: 160%;
  /* 22.4px */
  letter-spacing: 0.56px;
  color: var(--key);
  transition: 0.8s all;
  font-size: 1.4rem;
}

@media (max-width: 800px) {
  .lower-nav a {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .lower-nav a {
    background: #fff url(../img/top/icon_detail_arrow.svg) 93% center no-repeat;
    border-radius: 100px;
    width: 70%;
    font-size: 1.5rem;
    padding: 1.6rem 2.4rem;
    margin: 0 auto;
  }
}

.lower-nav a:hover {
  background: #FBE7EB url(../img/top/icon_detail_arrow.svg) 91% center no-repeat;
}

.lower-table {
  width: 100%;
  border-top: 1px solid #E1E0DC;
}

.lower-table th {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  /* 25.6px */
  letter-spacing: 0.64px;
  color: var(--key);
  padding: 2.4rem 0 2.4rem 1.6rem;
  border-bottom: 1px solid #E1E0DC;
  min-width: 150px;
  text-align: left;
}

@media (max-width: 768px) {
  .lower-table th {
    display: block;
    width: 100%;
    border-bottom: none;
    padding-bottom: 1rem;
  }
}

.lower-table td {
  font-size: 1.6rem;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
  padding: 2.4rem 1.6rem 2.4rem 0;
  border-bottom: 1px solid #E1E0DC;
}

@media (max-width: 768px) {
  .lower-table td {
    display: block;
    width: 100%;
    border-top: none;
    padding-top: 0;
    padding-left: 1.6rem;
  }
}

.lower-pager .wp-pagenavi {
  display: flex;
  gap: 1rem;
}

.lower-pager .wp-pagenavi a {
  border-radius: 4px;
  border: 1px solid #E1E0DC;
  background: #FFF;
  width: 40px;
  height: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.lower-pager .wp-pagenavi a.first {
  text-indent: -9999px;
  background: #fff url(../img/common/btn_back.svg) center center no-repeat;
}

.lower-pager .wp-pagenavi a.previouspostslink {
  text-indent: -9999px;
  background: #fff url(../img/common/btn_prev.svg) center center no-repeat;
}

.lower-pager .wp-pagenavi a.nextpostslink {
  text-indent: -9999px;
  background: #fff url(../img/common/btn_next.svg) center center no-repeat;
}

.lower-pager .wp-pagenavi a.last {
  text-indent: -9999px;
  background: #fff url(../img/common/btn_last.svg) center center no-repeat;
}

.lower-pager .wp-pagenavi span {
  border-radius: 4px;
  border: 1px solid #E1E0DC;
  background: #E1E0DC;
  width: 40px;
  height: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.lower-pager .wp-pagenavi span.current {
  background: #FBE7EB;
}

.lower-pager .wp-pagenavi a:hover {
  background-color: #FBE7EB;
}

.blog {
  z-index: 15;
}

.blog-page {
  padding-bottom: 20rem;
}

@media (max-width: 1000px) {
  .blog {
    padding-bottom: 30vw;
  }
}

@media (max-width: 768px) {
  .blog {
    padding-bottom: 8.5rem;
  }
}

.blog::before {
  content: "";
  position: absolute;
  left: 0;
  top: -200px;
  background: transparent url(../img/common/bg_pattern_lc.png) center center no-repeat;
  background-size: cover;
  width: 300px;
  height: 700px;
}

.blog .inner {
  max-width: 100%;
  padding: 0 64px;
}

@media (max-width: 1200px) {
  .blog .inner {
    padding: 0 32px;
  }
}

@media (max-width: 1000px) {
  .blog .inner {
    padding: 0 4vw;
  }
}

@media (max-width: 768px) {
  .blog .inner {
    padding: 0 16px;
  }
}

.blog .top-title {
  margin-bottom: 5rem;
}

@media (max-width: 768px) {
  .blog .top-title {
    text-align: center;
    margin-bottom: 4rem;
  }
}

.blog__wrap {
  display: flex;
  gap: 8rem;
}

@media (max-width: 1200px) {
  .blog__wrap {
    gap: 4vw;
  }
}

@media (max-width: 768px) {
  .blog__wrap {
    flex-direction: column;
    gap: 3rem;
  }
}

.blog__wrap a:hover .blog-main__title,
.blog__wrap a:hover .blog-sub__title {
  color: var(--key);
  text-decoration: underline;
}

.blog-wrap {
  display: flex;
  gap: 6.4rem;
  flex-wrap: wrap;
  margin-bottom: 7rem;
}

@media (max-width: 1400px) {
  .blog-wrap {
    gap: 3vw;
  }
}

@media (max-width: 1150px) {
  .blog-wrap {
    gap: 2vw;
  }
}

@media (max-width: 768px) {
  .blog-wrap {
    flex-direction: column;
    gap: 0;
    margin-bottom: 4rem;
  }
}

.blog-category {
  font-size: 1.4rem;
  color: #fff;
  font-weight: 500;
  text-align: center;
  border-radius: 4px;
  
  width: 100px;
  letter-spacing: 0.64px;
}

@media (max-width: 768px) {
  .blog-category {
    padding: 0.3rem 0;
    font-size: 1.2rem;
  }
}

.blog-category-icon {
  padding: 0.5rem 0;
}

.blog-category a {
  color : #fff;
  padding: 0.5rem 0;
  display: block;
}

.blog-category.cat-01 {
  background: #B62144;
}

.blog-category.cat-02 {
  background: #E0AA0A;
}

.blog-category.cat-03 {
  background: #669D20;
}

.blog-main {
  width: 50%;
  max-width: 480px;
}

@media (max-width: 768px) {
  .blog-main {
    width: 100%;
    max-width: 100%;
  }
}

.blog-main__link:hover .top-blog-main__title {
  color: var(--key);
  text-decoration: underline;
}

.blog-main__thum {
  margin-bottom: 1.5rem;
  width: 100%;
  text-align: center;
}

.blog-main__thum img {
  border-radius: 16px;
  border: 1px solid #E1E0DC;
  overflow: hidden;
}

.blog-main__wrap {
  display: flex;
  gap: 2.4rem;
  align-items: center;
}

@media (max-width: 768px) {
  .blog-main__wrap {
    flex-direction: column;
    gap: 0.8rem;
  }
}

.blog-main__head {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  width: 88px;
}

@media (max-width: 768px) {
  .blog-main__head {
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
    align-items: center;
  }
}

.blog-main__date {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
}

@media (max-width: 768px) {
  .blog-main__date {
    font-size: 1.4rem;
  }
}

.blog-main__title {
  flex: 1;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.72px;
  text-overflow: ellipsis;
  line-height: 175%;
  transition: 0.8s all;
}

@media (max-width: 768px) {
  .blog-main__title {
    font-size: 1.6rem;
    line-height: 175%;
    /* 28px */
    letter-spacing: 0.64px;
  }
}

.blog-group {
  max-width: 315px;
  width: 100%;
}

@media (max-width: 1400px) {
  .blog-group {
    width: 20.5vw;
  }
}

@media (max-width: 900px) {
  .blog-group {
    width: 31.5vw;
  }
}


@media (max-width: 768px) {
  .blog-group {
    max-width: 100%;
    border-bottom: 1px solid #E1E0DC;
    padding: 2rem 0;
    width: 100%;
  }
}

.blog-set {
  width: 50%;
  max-width: 480px;
  margin-bottom: 5rem;
}

@media (max-width: 768px) {
  .blog-set {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .blog-set__link {
    width: 100%;
    display: flex;
    gap: 1.6rem;
  }
}

.blog-set__link:hover .top-blog-main__title,
.blog-set__link:hover .blog-set__title {
  color: var(--key);
  text-decoration: underline;
}

.blog-set__thum {
  margin-bottom: 1.5rem;
}

@media (max-width: 768px) {
  .blog-set__thum {
    width: 48%;
    max-width: 30%;
  }
}

.blog-set__thum img {
  border-radius: 8px;
  width: 100%;
  object-fit : cover;
  aspect-ratio : 315 / 196;
}

.blog-set__wrap {
  display: flex;
  gap: 0.8rem;
  flex-direction: column;
}

@media (max-width: 768px) {
  .blog-set__wrap {
    flex-direction: column;
    gap: 0.8rem;
    flex: 1;
  }
}

.blog-set .blog-category {
  font-size: 1.4rem;
  width: 100px;
}

@media (max-width: 768px) {
  .blog-set .blog-category {
    font-size: 1.2rem;
  }
}

.blog-set__head {
  display: flex;
  gap: 0.8rem;
  width: 100%;
  justify-content: space-between;
}

@media (max-width: 768px) {
  .blog-set__head {
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
    align-items: center;
  }
}

.blog-set__date {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.32px;
}

@media (max-width: 768px) {
  .blog-set__date {
    font-size: 1.4rem;
  }
}

.blog-set__title {
  flex: 1;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.72px;
  text-overflow: ellipsis;
  line-height: 175%;
  transition: 0.8s all;
}

@media (max-width: 768px) {
  .blog-set__title {
    font-size: 1.4rem;
    line-height: 175%;
    /* 28px */
    letter-spacing: 0.64px;
  }
}

.blog-sub {
  flex : 1;
  border-top: 1px solid #E1E0DC;
}

@media (max-width: 768px) {
  .blog-sub {
    width: 100%;
    max-width: 100%;
  }
}

.blog-sub__link:hover .top-blog-sub__title {
  color: var(--key);
  text-decoration: underline;
}

.blog-sub__list {
  margin-bottom: 4.8rem;
}

@media (max-width: 768px) {
  .blog-sub__list {
    margin-bottom: 3rem;
  }
}

.blog-sub__item {
  border-bottom: 1px solid #E1E0DC;
}

.blog-sub__link {
  display: flex;
  gap: 2.4rem;
  padding: 2rem 0;
}

@media (max-width: 1000px) {
  .blog-sub__link {
    flex-direction: column;
  }
}

@media (max-width: 768px) {
  .blog-sub__link {
    flex-direction: row;
    gap: 1.6rem;
    align-items: center;
  }
}

.blog-sub__thum {
 width: 173px;
}

@media (max-width: 768px) {
  .blog-sub__thum {
    max-width: 30%;
  }
}

.blog-sub__thum img {
  border-radius: 8px;
  object-fit : cover;
  width: 100%;
  aspect-ratio : 173 / 108;
}

.blog-sub__wrap {
  flex: 1;
  display: flex;
  align-items: center;
}

.blog-sub__detail {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.blog-sub__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.blog-sub__date {
  font-size: 1.4rem;
  letter-spacing: 0.28px;
  font-weight: 500;
}

.blog-sub__title {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0.64px;
  transition: 0.8s all;
}

@media (max-width: 768px) {
  .blog-sub__title {
    flex-direction: column;
    gap: 3rem;
  }
}

.blog-nav {
  max-width: 300px;
}

@media (max-width: 768px) {
  .blog-nav {
    margin: 0 auto;
  }
}

.blog-list-set {
  padding: 3rem 0 0;
  z-index: 1;
}

@media (max-width: 768px) {
  .blog-list-set {
    padding: 2rem 0 6rem;
  }
}

.blog-list-set .inner {
  padding: 0 64px;
}

@media (max-width: 768px) {
  .blog-list-set .inner {
    padding: 0 32px;
  }
}

.blog-head {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4.8rem;
}

@media (max-width: 768px) {
  .blog-head {
    flex-direction: column;
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .blog-head .lower-title4 {
    text-align: center;
    font-size: 2.4rem;
  }
}

.blog-head-set {
  display: flex;
  gap: 2.4rem;
  align-items: center;
}

@media (max-width: 768px) {
  .blog-head-set {
    justify-content: center;
  }
}

.blog-head-item {
  cursor: pointer;
  background: transparent url(../img/common/icon_arrow_blog.svg) right center no-repeat;
}

.blog-head-item:hover {
  background: transparent url(../img/common/icon_arrow_blog_o.svg) right center no-repeat;
}

.blog-head-select {
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  border: none;
  font-size: 1.6rem;
  color: var(--key);
  font-weight: 500;
  line-height: 175%;
  /* 28px */
  letter-spacing: 0.64px;
  background: transparent;
  font-family: "Zen Maru Gothic", sans-serif;
  padding: 1rem 3rem 1rem 0;
  border-bottom: 1px solid var(--key);
  cursor: pointer;
  transition : .6s all;
}

.blog-head-select::-ms-expand {
  display: none;
}

.blog-head-select:hover {
  border-bottom: 1px solid #EF8C98;
  color: #EF8C98;
}

.blog-single {
  padding-top: 3rem;
  z-index: 1;
}

.blog-single .inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0;
}

@media (max-width: 1100px) {
  .blog-single .inner {
    padding: 0 32px;
  }
}

.blog-single .blog-set__title {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 175%;
  /* 56px */
  letter-spacing: 1.28px;
  padding: 1rem 0 0;
}

@media (max-width: 768px) {
  .blog-single .blog-set__title {
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 160%;
    /* 44.8px */
    letter-spacing: 1.12px;
  }
}

.blog-single-head {
  border-bottom: 1px solid #E1E0DC;
  padding-bottom: 2.4rem;
  margin-bottom: 4rem;
}

@media (max-width: 768px) {
  .blog-single-head {
    margin-bottom: 3rem;
  }
}

.blog-single-contents {
  border-bottom: 1px solid #E1E0DC;
  padding-bottom: 4rem;
}

.blog-single-contents figure {
  width: 100%;
  margin-bottom: 4rem;
}

.blog-single-contents figure img {
  border-radius: 8px;
  overflow: hidden;
}

.blog-single-contents p {
  font-size: 1.6rem;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
  margin-bottom: 3rem;
}

@media (max-width: 768px) {
  .blog-single-contents>p {
    font-weight: 400;
    line-height: 175%;
    /* 28px */
    letter-spacing: 0.64px;
  }
}

.blog-single-contents .wp-block-group {
  margin-bottom: 8rem;
}

.blog-single-contents h2 {
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 175%;
  /* 45.5px */
  letter-spacing: 1.04px;
  color: var(--key);
  border-top: 1px solid #E1E0DC;
  padding-top: 3rem;
  margin-bottom: 4rem;
}

@media (max-width: 768px) {
  .blog-single-contents h2 {
    text-align: left;
    font-size: 2.4rem;
    padding-top: 2.5rem;
    margin-bottom: 2rem;
  }
}

.blog-single-contents h2 span {
  position: absolute;
  top: 0;
  left: 0;
  height: 3px;
  background: var(--key);
  width: 55px;
}

@media (max-width: 768px) {
  .blog-single-contents h2 span {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    max-width: 100%;
  }
}

.blog-single-contents a {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 100%;
  /* 16px */
  letter-spacing: 0.64px;
  -webkit-text-decoration-line: underline;
  text-decoration-line: underline;
  background: transparent url(../img/common/icon_link.svg) right center no-repeat;
  padding: 0 2.5rem 0 0;
  color: var(--key);
}

.blog-single-contents a:hover {
  text-decoration: underline;
  color: #EF8C98;
}

.blog-single-contents h3 {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 175%;
  /* 38.5px */
  letter-spacing: 0.88px;
  padding-bottom: 0.3rem;
  margin-bottom: 3rem;
  color: var(--key);
  border-bottom: 1px solid var(--key);
}

@media (max-width: 768px) {
  .blog-single-contents h3 {
    font-size: 2rem;
    line-height: 160%;
    /* 32px */
    letter-spacing: 0.8px;
  }
}

.blog-single-contents .wp-block-columns {
  display: flex;
  gap: 3.5rem;
}

@media (max-width: 768px) {
  .blog-single-contents .wp-block-column {
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1rem;
  }
  .blog-single-contents .wp-block-column figure {
    margin-bottom: 0;
  }
}

.blog-single-contents .wp-block-column figure img {
  border-radius: 8px;
}

.blog-single-contents .wp-block-quote {
  border-radius: 8px;
  background: #F5F3E0;
  padding: 2.4rem 3.2rem;
  margin-bottom: 4rem;
}

.blog-single-contents .wp-block-quote p {
  margin-bottom: 2.4rem;
  line-height: 200%; /* 32px */
  letter-spacing: 0.64px; 
}

.blog-single-contents .wp-block-quote p:last-child {
  margin-bottom: 0;
}

.blog-single-contents .wp-block-quote cite {
  font-style: normal;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 200%;
  /* 28px */
  letter-spacing: 0.56px;
}

.blog-single-contents .wp-block-quote cite a {
  font-weight: 700;
  font-size: 1.4rem;
}

.blog-single-contents h4 {
  display: flex;
  gap: 1rem;
  margin-bottom: 4rem;
  color: var(--key);
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
}

.blog-single-contents h4 span {
  flex: 1;
}

.blog-single-contents h4:last-child {
  margin-bottom: 0;
}

.blog-single-contents h4::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 8px;
  display: block;
  position: relative;
  top: 12px;
  left: 0;
  background: var(--key);
}

.blog-single-contents ul {
  counter-reset: count 0;
  display: flex;
  flex-direction: column;
  margin-bottom: 4rem;
  gap: 1.5rem;
}

.blog-single-contents ul li {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
  display: flex;
  gap: 1.2rem;
}

.blog-single-contents ul li span {
  flex: 1;
}

.blog-single-contents ul li:before {
  content: counter(count);
  counter-increment: count 1;
  border-radius: 100px;
  border: 1px solid #F6C9D2;
  background: #FBE7EB;
  display: flex;
  width: 32px;
  height: 32px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.blog-single-nav {
  display: flex;
  justify-content: space-between;
  padding: 4rem 0 0;
}

.blog-single-nav__item {
  width: 160px;
}

.blog-single-nav__item a {
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 100%;
  /* 14px */
  letter-spacing: 0.56px;
}

.blog-single-nav__prev a {
  background: #fff url(../img/blog-list/icon_blog_prev.svg) 20% center no-repeat;
  padding-left: 2.5rem;
}

.blog-single-nav__prev a:hover {
  background: #FBE7EB url(../img/blog-list/icon_blog_prev.svg) 20% center no-repeat;
}

@media (max-width: 768px) {
  .blog-single-nav__prev a {
    text-indent: -9999px;
    background: #fff url(../img/blog-list/icon_blog_prev_sp.svg) center center no-repeat;
    padding: 0;
    width: 64px;
    height: 64px;
  }
}

.blog-single-nav__next a {
  background: #fff url(../img/blog-list/icon_blog_next.svg) 80% center no-repeat;
  padding-right: 1.5rem;
}

.blog-single-nav__next a:hover {
  background: #FBE7EB url(../img/blog-list/icon_blog_next.svg) 80% center no-repeat;
}

@media (max-width: 768px) {
  .blog-single-nav__next a {
    text-indent: -9999px;
    background: #fff url(../img/blog-list/icon_blog_next_sp.svg) center center no-repeat;
    padding: 0;
    width: 64px;
    height: 64px;
  }
}

.blog-single-nav__all a {
  background: #fff url(../img/blog-list/icon_blog_all.svg) 20% center no-repeat;
  padding-left: 2.5rem;
}

.blog-single-nav__all a:hover {
  background: #FBE7EB url(../img/blog-list/icon_blog_all.svg) 20% center no-repeat;
}

@media (max-width: 768px) {
  .blog-single-nav__all a {
    width: 160px;
  }
}

.facility-set {
  margin-bottom: 12rem;
  z-index: 1;
}

@media (max-width: 768px) {
  .facility-set {
    margin-bottom: 6rem;
  }
}

.facility-set:last-child {
  margin-bottom: 0;
}

.facility-list {
  display: flex;
  gap: 5rem 4.8rem;
  flex-wrap: wrap;
}

@media (max-width: 1420px) {
  .facility-list {
    gap: 4vw 1.7vw;
  }
}

@media (max-width: 768px) {
  .facility-list {
    gap: 5vw;
  }
}

@media (max-width: 520px) {
  .facility-list {
    gap: 4rem;
  }
}

.facility-list__item {
  max-width: 330px;
}

@media (max-width: 1420px) {
  .facility-list__item {
    max-width: 21.8vw;
    width: 100%;
  }
}

@media (max-width: 1150px) {
  .facility-list__item {
    max-width: 31.5vw;
    width: 100%;
  }
}

@media (max-width: 800px) {
  .facility-list__item {
    max-width: 100%;
    width: 100%;
  }
}

@media (max-width: 768px) {
  .facility-list__item {
    max-width: 40.5vw;
    width: 100%;
  }
}

@media (max-width: 520px) {
  .facility-list__item {
    max-width: 100%;
    width: 100%;
  }
}

.facility-list__box {
  box-shadow: 0px 8px 50px 0px rgba(128, 105, 37, 0.3);
  border-radius: 8px;
  margin-bottom: 2.4rem;
}

.facility-list__title {
  color: #528916;
  font-size: 2rem;
  font-weight: 500;
  line-height: 175%;
  /* 35px */
  letter-spacing: 0.6px;
  padding: 1.6rem 2rem;
  background: #fff;
  border-radius: 8px 8px 0 0;
}

.facility-list__title::before {
  content: "";
  width: 85%;
  height: 2px;
  background: #528916;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.facility-list__text {
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px; 
}

.flow-set {
  padding-bottom: 12rem;
}

@media (max-width: 768px) {
  .flow-set {
    padding-bottom: 7rem;
  }
}

.flow-list {
  padding-bottom: 6rem;
  background: transparent url(../img/guidance/bg_dot_flow.svg) 28px 100% no-repeat;
  margin-bottom: 2rem;
}

@media (max-width: 768px) {
  .flow-list {
    background: none;
    padding-bottom: 2rem;
    margin-bottom: 0;
  }
}

.flow-list__last {
  background: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.flow-list__head {
  display: flex;
  border-radius: 16px;
  overflow: hidden;
}

.flow-list__num {
  font-size: 4rem;
  font-weight: 500;
  line-height: 100%;
  /* 40px */
  color: #fff;
  background: #AFD374;
  width: 80px;
  padding: 1rem 0;
  text-align: center;
  text-indent: -0;
}

@media (max-width: 768px) {
  .flow-list__num {
    font-size: 3.4rem;
    width: 60px;
    padding: 0.5rem 0 0;
  
  }
}

.flow-list__title {
  background: #fff;
  flex: 1;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 175%;
  /* 45.5px */
  letter-spacing: 1.04px;
  color: #528916;
  display: flex;
  flex-direction: column;
  padding: 1rem 0 1rem 2.5rem;
  border-bottom: 2px solid #F5F3E0;
}

@media (max-width: 768px) {
  .flow-list__title {
    font-size: 2.4rem;
    padding: 0.5rem 0 0.5rem 1.5rem;
    letter-spacing: 0.96px; 
  }
}

.flow-list__main {
  padding: 3.2rem 0 0 10.4rem;
}

@media (max-width: 768px) {
  .flow-list__main {
    padding: 2rem 0 0 0;
  }
}

@media (max-width: 768px) {
  .flow-list__main--05 {
    padding-left: 0;
  }
}

.flow-list__text {
  margin-bottom: 2.4rem;
  letter-spacing: 0.64px; 
}

.flow-list__text2 {
  margin-bottom: 2.4rem;
  padding-left: 1.6rem;
  letter-spacing: 0.64px; 
}

.flow-list__label {
  border-radius: 4px;
  background: #E4F3CB;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
  padding: 0.8rem 1.6rem;
  margin-bottom: 1.6rem;
}

.flow-list__item {
  margin-bottom: 1rem;
  display: flex;
  padding: 0 0 0 1rem;
  letter-spacing: 0.64px; 
}

.flow-list__item span {
  flex: 1;
  padding: 0 0 0 1rem;
}

.flow-list__item::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 8px;
  display: block;
  position: relative;
  top: 9px;
  left: 0;
  background: #669D20;
}

.flow-list__note {
  font-size: 1.4rem;
  line-height: 175%;
  /* 24.5px */
  letter-spacing: 0.56px;
  padding: 0 0 0 1rem;
}

.flow-bottom {
  background: transparent url(../img/guidance/bg_flow_bottom.jpg) center center no-repeat;
  background-size: cover;
  padding: 12rem 6rem 28rem;
  z-index: 1;
}

@media (max-width: 768px) {
  .flow-bottom {
    padding: 6rem 0 8rem;
  }
  .flow-bottom .inner {
    padding: 0 14px;
  }
}

.flow-bottom::before {
  content: '';
  position: absolute;
  top : 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  filter: brightness(80%);
  z-index: -1;
}

.flow-bottom__title {
  text-align: center;
  color: #fff;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 175%;
  /* 56px */
  letter-spacing: 1.28px;
  margin-bottom: 5rem;
}

@media (max-width: 768px) {
  .flow-bottom__title {
    margin-bottom: 3rem;
    letter-spacing: 1.12px; 
  }
}

.flow-bottom__box {
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0px 8px 24px 0px rgba(39, 73, 124, 0.2);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  padding: 4rem;
}

@media (max-width: 768px) {
  .flow-bottom__box {
    padding: 3rem 18px;
  }
}

.flow-bottom-list {
  display: flex;
  flex-direction: column;
  margin-bottom: 2.4rem;
}

.flow-bottom-list__item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.7);
  display: flex;
  padding: 1.6rem;
}

@media (max-width: 768px) {
  .flow-bottom-list__item {
    padding: 1.6rem .8rem;
  }
}

.flow-bottom-list__item span {
  flex: 1;
  padding: 0 0 0 1rem;
  letter-spacing: 0.64px; 
}

.flow-bottom-list__item::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 8px;
  display: block;
  position: relative;
  top: 9px;
  left: 0;
  background: #669D20;
}

.flow-bottom__note {
  text-align: right;
  font-size: 1.4rem;
  line-height: 175%;
  /* 24.5px */
  letter-spacing: 0.56px;
}

.price-set {
  margin-bottom: 8rem;
  z-index: 1;
}

@media (max-width: 768px) {
  .price-set {
    margin-bottom: 4rem;
  }
}

.price-set:last-child {
  margin-bottom: 0;
}

.price-set .lower-title2 {
  margin-bottom: 4rem;
}

@media (max-width: 768px) {
  .price-set .lower-title2 {
    margin-bottom: 2rem;
  }
}

.price-lead {
  margin-bottom: 4rem;
}

@media (max-width: 768px) {
  .price-lead {
    margin-bottom: 2rem;
  }
}

.price-list {
  display: flex;
  gap: 0.5rem;
  flex-direction: column;
  margin-bottom: 3rem;
}

@media (max-width: 768px) {
  .price-list {
    flex-direction: column;
    gap: 2rem;
  }
}

.price-list__box {
  display: flex;
  border-radius: 8px;
  overflow: hidden;
  border-bottom: 1px solid #F5F3E0;
  background: #FFF;
}

@media (max-width: 768px) {
  .price-list__box {
    flex-direction: column;
  }
}

.price-list__label {
  padding: 2.4rem;
  color: #DE9300;
  background: #FBFAE4;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
  min-width: 250px;
}

@media (max-width: 768px) {
  .price-list__label {
    padding: 1.4rem;
  }
}

.price-list__detail {
  background: #fff;
  flex: 1;
  font-size: 1.8rem;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
  padding: 2.4rem;
}

@media (max-width: 768px) {
  .price-list__detail {
    padding: 1.4rem;
  }
}

.price-after__item {
  display: flex;
  padding: 0 0 1rem 0;
  line-height: 200%; /* 32px */
  letter-spacing: 0.64px; 
}

.price-after__item:last-child {
  padding-bottom: 0;
}

.price-after__item--col {
  font-weight: 400;
  color: #D62B49;
}

.price-after__item span {
  flex: 1;
  padding: 0 0 0 1rem;
}

.price-after__item::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 8px;
  display: block;
  position: relative;
  top: 9px;
  left: 0;
  background: #DE9300;
}

.price-table {
  width: 100%;
  border-bottom: 2px solid #F5F3E0;
}

.price-table__wrap {
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 2rem;
}

.price-table th {
  background: #f6f1c1;
  border-right: 2px solid #EADF65;
  border-bottom: 1px solid #EADF65;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
  padding: 3rem 0;
  text-align: center;
  width: 33.3333%;
}

@media (max-width: 768px) {
  .price-table th {
    font-size: 1.4rem;
  }
}

.price-table__thlast {
  border-bottom: none !important;
  color: #DE9300;
}

.price-table td {
  border-right: 1px solid #EADF65;
  font-size: 1.8rem;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
  padding: 3rem 0;
  text-align: center;
  width: 33.3333%;
  background: transparent url(../img/guidance/bg_dot_gray.svg) center bottom no-repeat;
}

@media (max-width: 768px) {
  .price-table td {
    font-size: 1.4rem;
  }
}

.price-table__tdlast {
  border-right: none !important;
}

.price-table__tdbottom {
  background-image: none !important;
  color: #DE9300;
  font-weight: 500;
}

.price-table__head {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
  color: #DE9300;
  border-bottom: 1px solid #EADF65;
  background-image: none !important;
  background: #FBFAE4 !important;
}

.price-sub {
  background: #fff;
  border-radius: 8px;
  padding: 2.4rem 3.2rem;
  display: flex;
  gap: 3.2rem;
  align-items: center;
  margin-bottom: 3rem;
}

@media (max-width: 768px) {
  .price-sub {
    flex-direction: column;
    gap: 1.4rem;
  }
}

.price-sub__label {
  color: #DE9300;
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.72px;
}

.price-sub__text {
  flex: 1;
  font-size: 1.6rem;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

.price-sub::before {
  content: "";
  background: #DE9300;
  width: 2px;
  height: 50px;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .price-sub::before {
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 2px;
    width: 120px;
  }
}

.access-set {
  padding-bottom: 7rem;
}

@media (max-width: 768px) {
  .access-set {
    padding-bottom: 4rem;
  }
}

@media (max-width: 768px) {
  .access-set .lower-title2 {
    text-align: center;
    font-size: 2.8rem;
    line-height: 175%;
    /* 49px */
    letter-spacing: 1.12px;
  }
}

@media (max-width: 1100px) {
  .access-set .inner {
    padding: 0 0 0 32px;
  }
}

.access-map {
  padding: 2rem 0 0;
  margin-bottom: 8rem;
}

@media (max-width: 768px) {
  .access-map {
    margin-bottom: 4rem;
  }
}

.access-map__box {
  border-radius: 16px;
  overflow: hidden;
  border: 4px solid #F5F3E0;
  background: #fff;
}

.access-map__box iframe {
  width: 100%;
  height: 400px;
}

@media (max-width: 768px) {
  .access-map__box iframe {
    aspect-ratio: 1/1;
    height: 100%;
  }
}

.access-map__wrap {
  display: flex;
  gap: 4rem;
  align-items: center;
  justify-content: center;
  padding: 2rem 0;
}

@media (max-width: 1100px) {
  .access-map__wrap {
    flex-direction: column;
    text-align: center;
    padding: 1rem 0 2rem;
    gap: 0.5rem;
  }
}

.access-map__name {
  font-size: 16px;
  font-weight: 500;
  line-height: 160%;
  /* 25.6px */
  letter-spacing: 0.64px;
  color: var(--key);
}

.access-map__address {
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

@media (max-width: 768px) {
  .access-map__address {
    padding-left: 20px;
    line-height: 160%;
    /* 25.6px */
    letter-spacing: 0.64px;
  }
}

@media (max-width: 768px) {
  .access-bus .lower-title2 {
    text-align: center;
    font-size: 2.8rem;
    line-height: 175%;
    /* 49px */
    letter-spacing: 1.12px;
  }
}

.access-bus .lower-title2 br {
  display: none;
}

@media (max-width: 680px) {
  .access-bus .lower-title2 br {
    display: block;
  }
}

.access-list {
  border-top: 1px solid #E1E0DC;
  padding: 3.2rem 0;
  display: flex;
  gap: 15rem;
}

@media (max-width: 1150px) {
  .access-list {
    gap: 5rem;
  }
}

@media (max-width: 768px) {
  .access-list {
    flex-direction: column;
    gap: 3rem;
    padding: 2.4rem 0;
  }
}

.access-list__bottom {
  margin-bottom: 3rem;
}

.access-list__label {
  font-size: 2.6rem;
  color: var(--key);
  font-weight: 500;
  line-height: 175%;
  /* 45.5px */
  letter-spacing: 1.04px;
  padding: 0.5rem 0 0 8rem;
  width: 180px;
}

@media (max-width: 768px) {
  .access-list__label {
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 175%;
    /* 42px */
    letter-spacing: 0.96px;
    padding: 6rem 0 0;
    text-align: center;
    width: 100%;
  }
}

.access-list__label--car {
  background: transparent url(../img/outline/icon_car.svg) left 0 no-repeat;
}

@media (max-width: 768px) {
  .access-list__label--car {
    background: transparent url(../img/outline/icon_car.svg) center 0 no-repeat;
  }
}

.access-list__label--train {
  background: transparent url(../img/outline/icon_train.svg) left 0 no-repeat;
}

@media (max-width: 768px) {
  .access-list__label--train {
    background: transparent url(../img/outline/icon_train.svg) center 0 no-repeat;
  }
}

.access-list__detail {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}

@media (max-width: 768px) {
  .access-list__detail {
    gap: 3rem;
  }
}

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

@media (max-width: 768px) {
  .access-list__group {
    gap: 1rem;
  }
}

.access-list__station {
  font-size: 1.8rem;
  color: var(--key);
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
  margin-bottom: 0.5rem;
}

@media (max-width: 768px) {
  .access-list__station {
    text-align: center;
  }
}

.access-list__item {
  display: flex;
  line-height: 200%; /* 32px */
  letter-spacing: 0.64px; 
}

.access-list__item span {
  flex: 1;
  padding: 0 0 0 1rem;
}

@media (max-width: 768px) {
  .access-list__item span {
    padding: 0;
  }
}

.access-list__item::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 8px;
  display: block;
  position: relative;
  top: 9px;
  left: 0;
  background: var(--key);
}

@media (max-width: 768px) {
  .access-list__item::before {
    left: -7px;
  }
}

.access-list__note {
  line-height: 200%; /* 32px */
  letter-spacing: 0.64px; 
}

.access-ballown {
  background: #FBE7EB;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
  border-radius: 8px;
  margin-bottom: 4rem;
  display: flex;
  justify-content: space-between;
}

@media (max-width: 768px) {
  .access-ballown {
    flex-direction: column-reverse;
    max-width: 100vw;
    border-radius: 0;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    width: 100vw;
  }
}

.access-ballown::before {
  background: transparent url(../img/outline/icon_ballown_arrow.svg) left 0 no-repeat;
  content: "";
  width: 25px;
  height: 25px;
  position: absolute;
  bottom: -23px;
  left: 4rem;
}

@media (max-width: 768px) {
  .access-ballown::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

.access-ballown__text {
  padding: 4rem;
  font-weight: 500;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

@media (max-width: 1200px) {
  .access-ballown__text {
    padding: 2rem;
    font-size: 1.4rem;
  }
  .access-ballown__text br {
    display: none !important;
  }
  .access-ballown__text br.sp-only {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .access-ballown__text {
    font-size: 1.6rem;
    padding: 3rem;
    text-align: center;
    line-height: 175%;
    /* 28px */
    letter-spacing: 0.64px;
  }
}

.access-ballown__image {
  max-width: 260px;
  border-radius: 0 8px 8px 0;
  overflow: hidden;
}

@media (max-width: 768px) {
  .access-ballown__image {
    max-width: 100vw;
    border-radius: 0;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    width: 100vw;
  }
}

.access-timetable {
  margin-bottom: 4rem;
}

.access-timetable:last-child {
  margin-bottom: 0;
}

.access-timetable__scroll {
  position: absolute;
  left: 48%;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  z-index: 500;
  max-width: 160px;
}

.access-timetable__scroll.is-active {
  display: none;
}

@media (max-width: 1100px) {
  .access-timetable__scroll.is-active {
    display: block;
    -webkit-animation-name: scrollIcon;
    animation-name: scrollIcon;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-direction: normal;
    animation-direction: normal;
  }
}

.access-timetable__label {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 2rem;
}

.access-timetable__label span {
  flex: 1;
}

.access-timetable__label::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 8px;
  display: block;
  position: relative;
  top: 0;
  left: 0;
}

.access-timetable__label--green::before {
  background: #669D20;
}

.access-timetable__label--yellow::before {
  background: #E0AA0A;
}

.access-timetable__table {
  width: 100%;
  border-top: 1px solid #E1E0DC;
  border-bottom: 1px solid #E1E0DC;
  border-right: 1px solid #E1E0DC;
  background: #fff;
  table-layout : fixed;
}

@media (max-width: 1100px) {
  .access-timetable__table {
    width: 900px;
  }
}

@media (max-width: 1100px) {
  .access-timetable__table--wrap {
    overflow: scroll;
  }
}

.access-timetable__table th {
  text-align: center;
  font-size: 1.6rem 1.2rem;
  font-weight: 500;
  line-height: 140%;
  height: 85px;
  /* 22.4px */
  border-right: 1px solid #E1E0DC;
  letter-spacing: 0.64px;
  padding: 1.6rem;
  width: 200px;
  vertical-align: middle;
}

@media (max-width: 768px) {
  .access-timetable__table th {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 140%;
    /* 21px */
    letter-spacing: 0.3px;
    padding: 0.8rem 1.2rem;
    height: 60px;
  }
}

.access-timetable__table--green th {
  background: #E4F3CB;
}

.access-timetable__table--yellow th {
  background: #F6F1BD;
}

.access-timetable__table td {
  padding: 1rem 1.2rem;
  text-align: center;
  font-size: 1.6rem;
  line-height: 160%;
  /* 25.6px */
  letter-spacing: 0.64px;
  vertical-align: middle;
  width: calc((100% - 200px) / 9);
  border-bottom: 1px solid #E1E0DC;
border-right: 1px solid #E1E0DC;
}

.access-timetable__table td:last-child {
  background-image: none;
}

@media (max-width: 768px) {
  .access-timetable__table td {
    font-size: 1.6rem;
    
    /* 22.4px */
    letter-spacing: 0.64px;
    padding: 1rem 1.2rem;
  }
}

.access-timetable__table--green tr:hover td {
  cursor: pointer;
}

.access-timetable__table--green tr td.hover-col {
  background-color: #F5FDE9;
}

.access-timetable__table--yellow tr:hover td {
  /* background-color: #FBFAE4; */
  cursor: pointer;
}

.access-timetable__icon {
  color: var(--key);
  background: #fff;
  border-radius : 30px;
  border : 1px solid var(--key);
  font-size: 1.4rem;
  padding: 6px;
  display: block;
  position: absolute;
  top: 8px;
  font-weight: 500;
  left: 15px;
  width: clamp(370px,28.5vw,480px);
  z-index: 10;
  line-height: 1.2;
}


.access-after {
  z-index: 1;
}

.access-after .lower-title3 {
  margin-bottom: 2rem;
}

@media (max-width: 768px) {
  .access-after .lower-title3 {
    text-align: center;
    font-size: 2.2rem;
    line-height: 175%;
    /* 38.5px */
    letter-spacing: 0.88px;
  }
}

.access-after__box {
  background: #fff;
  border-radius: 8px;
  padding: 2.4rem;
  margin-bottom: 3rem;
}

@media (max-width: 768px) {
  .access-after__box {
    margin-bottom: 4rem;
    padding: 2.4rem 3rem;
  }
}

.access-after__lead {
  color: var(--key);
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 20px;
}

.access-after__grid {
  display: grid;
  grid-template-columns: 0.9fr 1fr 1fr;
  gap: 40px;
}
@media (max-width: 1350px) {
.access-after__grid {
  grid-template-columns: 0.9fr 1fr 1fr;
  gap : 20px
}
}
@media (max-width: 768px) {
.access-after__grid {
  grid-template-columns: 1fr;
  gap : 20px;
  align-items: center;
}
}

.access-after__image {
  max-width: 100%;
  text-align: center;
}


@media (max-width: 768px) {
  .access-after__image {
    margin: 0 auto 2rem;
    max-width: 400px;
  }
  
  .access-after__image img {
    margin-bottom: 2rem;
  }
  .access-after__image img:last-child {
    margin-bottom: 0;
  }
}

.access-after__image img {
  width: 100%;
}


.access-after__text {
  margin-bottom: 2rem;
}

.access-after-note {
  border-radius: 8px;
  border: 1px solid #E1E0DC;
  background: #FFF;
  padding: 2.4rem 4rem;
}

@media (max-width: 768px) {
  .access-after-note {
    padding: 2.4rem 1.6rem;
  }
}

.access-after-note {
  display: flex;
  gap: 8rem;
  align-items: center;
}

@media (max-width: 768px) {
  .access-after-note {
    flex-direction: column;
    gap: 3rem;
  }
}

.access-after-note__label {
  color: var(--key);
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
  padding: 0 0 0 3rem;
  background: transparent url(../img/outline/icon_attention.svg) left center no-repeat;
}

.access-after-note__detail {
  flex: 1;
  display: flex;
  gap: 0.5rem;
  flex-direction: column;
}

@media (max-width: 768px) {
  .access-after-note__detail {
    gap: 1rem;
  }
}

.access-after-note__item {
  display: flex;
  font-size: 1.4rem;
  line-height: 160%;
  /* 22.4px */
  letter-spacing: 0.56px;
}

@media (max-width: 768px) {
  .access-after-note__item {
    line-height: 175%;
    /* 24.5px */
    letter-spacing: 0.56px;
  }
}

.access-after-note__item span {
  flex: 1;
  padding: 0 0 0 1rem;
}

.access-after-note__item::before {
  content: "";
  width: 2px;
  height: 2px;
  border-radius: 8px;
  display: block;
  position: relative;
  top: 10px;
  left: 0;
  background: var(--key);
}

@-webkit-keyframes scrollIcon {
  0% {
    opacity: 1;
    left: 48%;
  }

  33% {
    left: 52%;
  }

  66% {
    left: 48%;
    opacity: 1;
  }

  100% {
    left: 52%;
    opacity: 0;
    display: none;
  }
}

@keyframes scrollIcon {
  0% {
    opacity: 1;
    left: 48%;
  }

  33% {
    left: 52%;
  }

  66% {
    left: 48%;
    opacity: 1;
  }

  100% {
    left: 52%;
    opacity: 0;
    display: none;
  }
}

.care2-set {
  z-index: 1;
}

.care2-set .inner {
  display: flex;
  gap: 12rem;
  padding-right: 0;
}

@media (max-width: 1100px) {
  .care2-set .inner {
    gap : 8vw;
  }
}


@media (max-width: 900px) {
  .care2-set .inner {
    padding-right: 32px;
  }
}

.care2-list {
  width: calc(100% - 362px);
  padding: 9rem 0 0;
}

@media (max-width: 900px) {
  .care2-list {
    width: 100%;
    padding: 0;
  }
}

.care2-list__dot {
  content: "";
  background: transparent url(../img/common/bg_dot_pink_vertical.svg) center center no-repeat;
  background-size: auto;
  width: 2px;
  height: 100%;
  display: block;
  position: absolute;
  top: 100px;
  left: 40px;
}

@media (max-width: 768px) {
  .care2-list__dot {
    top: 0px;
    left: 31px;
  }
}

.care2-list__inner {
  display: flex;
  gap: 4rem;
}

@media (max-width: 768px) {
  .care2-list__inner {
    gap: 2.4rem;
  }
}

.care2-list__spimage {
  display: none;
  z-index: 80;
}

@media (max-width: 900px) {
  .care2-list__spimage {
    display: block;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    margin-top: 5rem;
  }
}

.care2-list__item {
  padding-bottom: 16rem;
}

@media (max-width: 768px) {
  .care2-list__item {
    padding-bottom: 5rem;
  }
}

.care2-list__item__line {
  background: transparent url(../img/common/bg_dot_pink_vertical.svg) center center no-repeat;
  background-size: auto;
  width: 2px;
  height: 0%;
  display: block;
  position: absolute;
  top: 0;
  left: 40px;
  transition: .6s all;
}

@media (max-width: 768px) {
  .care2-list__item::after {
    top: 0px;
    left: 31px;
  }
}

.care2-list__item__line.is-active {
  height: 100%;
}

.care2-list__item--01::before,
.care2-list__item--04::before,
.care2-list__item--07::before {
  content: "";
  position: absolute;
  right: -120px;
  top: -100px;
  background: transparent url(../img/common/bg_pattern_rc.png) center center no-repeat;
  background-size: cover;
  width: 300px;
  height: 600px;
}

.care2-list__item--10::after {
  display: none;
}

.care2-list__item:last-child {
  padding-bottom: 0;
}

.care2-list__right {
  padding: 2rem 0 0;
}

@media (max-width: 768px) {
  .care2-list__right {
    padding: 1rem 0 0;
  }
}

.care2-list__time {
  width: 80px;
  height: 80px;
  border-radius: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: 500;
  line-height: 175%;
  /* 35px */
  letter-spacing: 0.8px;
  color: #fff;
  z-index: 50;
}

@media (max-width: 768px) {
  .care2-list__time {
    width: 64px;
    height: 64px;
  }
}

.care2-list__time--01 {
  background: #FBE7EB;
  color: var(--key);
}

.care2-list__time--02 {
  background: #FBDAE1;
  color: var(--key);
}

.care2-list__time--03 {
  background: #F6C9D2;
  color: var(--key);
}

.care2-list__time--04 {
  background: #EF8C98;
}

.care2-list__time--05 {
  background: #ED647C;
}

.care2-list__time--06 {
  background: #E14662;
}

.care2-list__time--07 {
  background: #D62B49;
}

.care2-list__time--08 {
  background: #C62542;
}

.care2-list__time--09 {
  background: #B62144;
}

.care2-list__time--10 {
  background: #9D2042;
}

.care2-list__label {
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 175%;
  /* 45.5px */
  letter-spacing: 1.04px;
  color: var(--key);
  margin-bottom: 1.6rem;
}

@media (max-width: 768px) {
  .care2-list__label {
    font-size: 2.4rem;
  }
}

.care2-list__text {
  font-size: 1.6rem;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

@media (max-width: 768px) {
  .care2-list__text {
    font-weight: 400;
    line-height: 175%;
    /* 28px */
    letter-spacing: 0.64px;
  }
}

.care2-nav a {
  padding: 1.6rem 2.4rem;
  display: block;
  background: #fff url(../img/top/icon_detail_arrow.svg) 91% center no-repeat;
  border: 1px solid #E1E0DC;
  border-radius: 100px;
  width: 190px;
  font-weight: 700;
  line-height: 160%;
  /* 22.4px */
  letter-spacing: 0.56px;
  color: var(--key);
  transition: 0.8s all;
  font-size: 1.4rem;
  margin-top: 3rem;
}

@media (max-width: 800px) {
  .care2-nav a {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .care2-nav a {
    background: #fff url(../img/top/icon_detail_arrow.svg) 93% center no-repeat;
    width: 100%;
    font-size: 1.4rem;
    padding: 1.6rem 2.6rem;
  }
}

.care2-nav a:hover {
  background: #FBE7EB url(../img/top/icon_detail_arrow.svg) 91% center no-repeat;
}

.care2-image {
  width: 100vw;
  margin-right: calc(50% - 50vw);
  border-radius: 16px 0 0 16px;
  overflow: hidden;
  flex : 1;
}

@media (max-width: 900px) {
  .care2-image {
    display: none;
  }
}

.care2-image img {
  -o-object-fit: cover;
  object-fit: cover;
  height: 100%;
}

.care2-image__item {
  transition: .6s all;
}

.care2-image__item.is-active {
  height : 100vh !important;
  scroll-snap-type: y mandatory;
  position: fixed;
  top: 0;
}

.care2-image__item.is-hidden {
  opacity : 0;
}

.care2-image__item--01 {
  z-index: 7;
}

.care2-image__item--02 {
  z-index: 6;
}

.care2-image__item--03 {
  z-index: 5;
}

.care2-image__item--04 {
  z-index: 4;
}

.outline-room-bottom {
  padding: 7rem 0 0;
  line-height: 200%; /* 32px */
  letter-spacing: 0.64px; 
}

.profile-set {
  padding: 3rem 0 12rem;
}

@media (max-width: 768px) {
  .profile-set {
    padding: 2rem 0 6rem;
  }
}

.profile-recruit {
  z-index: 1;
}

@media (max-width: 768px) {
  .profile-recruit .inner {
    padding: 0;
  }
}

.privacy-set {
  z-index: 1;
}

.profile-recruit-title {
  border-radius: 16px 16px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.65rem 3.4rem 2.65rem 5.4rem;
  gap: 4.8rem;
}

@media (max-width: 1000px) {
  .profile-recruit-title {
    padding: 2.65rem 1.4rem 2.65rem 1.4rem;
    gap: 2.4rem;
  }
}

@media (max-width: 768px) {
  .profile-recruit-title {
    flex-direction: column;
    padding: 2.65rem 32px 4rem 32px;
    gap: 1.6rem;
  }
}

.profile-recruit-title::before {
  content: "";
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  top: -2px;
  left: 0;
  background: rgb(102, 157, 32);
  background: linear-gradient(270deg, #C62542 0%, #F9C93D 100%);
  border-radius: 16px 16px 0 0;
  position: absolute;
}

.profile-recruit-title::after {
  content: "";
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 16px 16px 0 0;
  position: absolute;
}

.profile-recruit-title__lead {
  background: transparent url(../img/profile/icon_recruit.svg) left center no-repeat;
  color: #E0AA0A;
  font-size: 3.2rem;
  padding: 1rem 0 1rem 8rem;
  letter-spacing: 1.28px;
  font-weight: 500;
  z-index: 5;
}

@media (max-width: 900px) {
  .profile-recruit-title__lead {
    font-size: 2.6rem;
  }
}

@media (max-width: 768px) {
  .profile-recruit-title__lead {
    background: transparent url(../img/profile/icon_recruit.svg) center top no-repeat;
    padding: 6rem 1rem 0;
    margin: -4rem 0 0;
  }
}

.profile-recruit-title__sub {
  letter-spacing: 0.64px;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.64px;
  z-index: 5;
}

.profile-recruit-box {
  background: #fff;
  border-radius: 0px 0px 16px 16px;
  background: #FFF;
  padding: 32px 64px;
}

@media (max-width: 768px) {
  .profile-recruit-box {
    padding: 2.4rem 32px;
  }
}

.profile-recruit-box::before {
  content: "";
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  bottom: -2px;
  left: 0;
  background: rgb(102, 157, 32);
  background: linear-gradient(270deg, #C62542 0%, #F9C93D 100%);
  border-radius: 0px 0px 16px 16px;
  position: absolute;
}

.profile-recruit-box::after {
  content: "";
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 0px 0px 16px 16px;
  position: absolute;
}

.profile-recruit-set {
  z-index: 5;
}

.profile-recruit-set:last-child {
  padding-top: 3.2rem;
}

.profile-recruit__lead {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 175%;
  /* 38.5px */
  letter-spacing: 0.88px;
  border-radius: 8px;
  padding: 1.4rem 2.4rem;
  margin-bottom: 1rem;
}

@media (max-width: 768px) {
  .profile-recruit__lead {
    font-size: 2rem;
    padding: 1.4rem;
  }
}

.profile-recruit__lead--01 {
  color: #C62542;
  background: #FBE7EB;
}

.profile-recruit__lead--02 {
  color: #DE9300;
  background: #FBFAE4;
}

.profile-recruit__table {
  width: 100%;
}

.profile-recruit__table--01 th {
  color: #C62542;
}

.profile-recruit__table--02 th {
  color: #DE9300;
}

.profile-recruit__table th {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  /* 25.6px */
  letter-spacing: 0.64px;
  padding: 2.4rem 0 2.4rem 1.6rem;
  border-bottom: 1px solid #E1E0DC;
  min-width: 150px;
  text-align: left;
}

@media (max-width: 768px) {
  .profile-recruit__table th {
    display: block;
    width: 100%;
    border-bottom: none;
    padding-bottom: 1rem;
  }
}

.profile-recruit__table td {
  font-size: 1.6rem;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
  padding: 2.4rem 1.6rem 2.4rem 0;
  border-bottom: 1px solid #E1E0DC;
}

@media (max-width: 768px) {
  .profile-recruit__table td {
    display: block;
    width: 100%;
    border-top: none;
    padding-top: 0;
    padding-left: 1.6rem;
  }
}

.profile-recruit__table tr:last-child th,
.profile-recruit__table tr:last-child td {
  border: none;
}

.privacy-title {
  font-size: 2.2rem;
  color: var(--key);
  font-weight: 500;
  line-height: 175%;
  /* 38.5px */
  letter-spacing: 0.88px;
  border-bottom: 1px solid var(--key);
  padding-bottom: 0.5rem;
  margin-bottom: 5rem;
}

@media (max-width: 768px) {
  .privacy-title {
    margin-bottom: 2rem;
  }
}

.privacy-text {
  margin-bottom: 5rem;
  font-size: 1.6rem;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

@media (max-width: 768px) {
  .privacy-text {
    margin-bottom: 2rem;
  }
}

.privacy-text2 {
  margin-bottom: 2.4rem;
  font-size: 1.6rem;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

.privacy-num {
  display: flex;
  padding: 0 0 0 3.5rem;
  gap: 1.5rem;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
  margin-bottom: 1.6rem;
}

.privacy-num:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .privacy-num {
    padding: 0;
  }
}

.privacy-sub {
  font-size: 1.8rem;
  color: var(--key);
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
  padding-top: 2rem;
  display: flex;
  margin-bottom: 2.4rem;
}

.privacy-sub span {
  flex: 1;
  padding: 0 0 0 1.5rem;
}

.privacy-sub::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 8px;
  display: block;
  position: relative;
  top: 12px;
  left: 0;
  background: var(--key);
}

.privacy-table {
  margin-bottom: 4rem;
}

.privacy-table th {
  background: #FBFAE4;
  font-weight: 500;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
  color: var(--key);
  padding: 1.6rem;
  border-right: 1px solid #E1E0DC;
  border-bottom: 1px solid #E1E0DC;
  text-align: left;
}

.privacy-table th:last-child {
  border-right: none;
}

@media (max-width: 768px) {
  .privacy-table th {
    display: none;
  }
}

.privacy-table td {
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
  padding: 1.6rem;
  background: #fff;
  border-right: 1px solid #E1E0DC;
  border-bottom: 1px solid #E1E0DC;
}

.privacy-table td:last-child {
  border-right: none;
}

@media (max-width: 768px) {
  .privacy-table td {
    display: block;
    width: 100%;
  }
}

.privacy-table__left {
  background: #FBFAE4 !important;
  vertical-align: middle;
  font-weight: 500;
  width: 300px;
}

@media (max-width: 768px) {
  .privacy-table__left {
    width: 50%;
    border-right: none !important;
  }
}

.news-set {
  padding: 3rem 0 0;
  z-index: 1;
}

@media (max-width: 768px) {
  .news-set {
    padding: 2rem 0 6rem;
  }
}

.news-list {
  border-top: 1px solid #E1E0DC;
  margin-bottom: 5rem;
}

.news-list__item {
  border-bottom: 1px solid #E1E0DC;
}

.news-list__item a {
  display: flex;
  gap: 4rem;
  padding: 3.2rem 1.6rem;
  align-items: center;
}

@media (max-width: 768px) {
  .news-list__item a {
    flex-direction: column;
    gap: 1rem;
    align-items: baseline;
  }
}

.news-list__item a:hover {
  background: #FDFBF1;
  color: var(--key);
  text-decoration: underline;
}

.news-list__date {
  color: var(--key);
  font-weight: 500;
  line-height: 160%;
  /* 25.6px */
  letter-spacing: 0.32px;
}

.news-list__title {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
}

.voice-set {
  padding: 7rem 0 0;
}

@media (max-width: 768px) {
  .voice-set {
    padding: 3rem 0 0;
  }
}

.voice-set .inner {
  padding: 0 64px;
  display: flex;
  flex-direction: column;
  gap: 8rem;
}

@media (max-width: 768px) {
  .voice-set .inner {
    gap: 4rem;
    padding: 0 32px;
  }
}

.voice-set-01 .voice-detail__title {
  color: #528916;
}

.voice-set-01 .voice-name__icon--bg {
  color: #528916;
  background: #E4F3CB;
}

.voice-set-02 .voice-detail__title {
  color: #9D2042;
}

.voice-set-02 .voice-name__icon--bg {
  color: #9D2042;
  background: #FBE7EB;
}

.voice-set2 {
  padding: 7rem 0 0;
}

@media (max-width: 768px) {
  .voice-set2 {
    padding: 3rem 0 0;
  }
}

.voice-set2 .inner {
  padding: 0 64px;
}

@media (max-width: 768px) {
  .voice-set2 .inner {
    padding: 0 32px;
  }
}

.voice-wrap {
  display: flex;
  gap: 6.4rem;
}

@media (max-width: 900px) {
  .voice-wrap {
    flex-direction: column;
    gap: 4rem;
  }
}

.voice-wrap:nth-child(even) {
  flex-direction: row-reverse;
}

@media (max-width: 900px) {
  .voice-wrap:nth-child(even) {
    flex-direction: column;
    gap: 2rem;
  }
}

.voice-image {
  max-width: 160px;
}

@media (max-width: 900px) {
  .voice-image {
    margin: 0 auto;
  }
}

.voice-image img {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0px 8px 50px 0px rgba(128, 105, 37, 0.3);
}

.voice-detail {
  flex: 1;
  border-radius: 16px;
  border: 1px solid #F5F3E0;
  background: #FFF;
  padding: 3.2rem 4rem;
}

@media (max-width: 768px) {
  .voice-detail {
    padding: 3.2rem 2.4rem;
  }
}

.voice-detail__title {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 175%;
  /* 38.5px */
  letter-spacing: 0.88px;
  margin-bottom: 2rem;
}

@media (max-width: 768px) {
  .voice-detail__title {
    font-size: 2rem;
    line-height: 175%;
    /* 35px */
    letter-spacing: 0.8px;
  }
}

.voice-name {
  margin-bottom: 2.4rem;
  display: flex;
  gap: 1.6rem;
}

@media (max-width: 768px) {
  .voice-name {
    margin-bottom: 1.6rem;
  }
}

@media (max-width: 428px) {
  .voice-name-flex {
    flex-direction: column;
    gap : 1rem;
  }
}

.voice-name__icon--bg {
  font-weight: 500;
  line-height: 175%;
  /* 28px */
  letter-spacing: 0.64px;
  padding: 0.8rem 1.6rem;
  border-radius: 100px;
}

.voice-name__name {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
}

.voice-name__text {
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
  margin-bottom: 2rem;
}

.voice-name__text:last-child {
  margin-bottom: 0;
}

.voice-nav {
  display: flex;
  align-items: center;
  gap: 4rem;
  margin-bottom: 16rem;
}

@media (max-width: 1100px) {
  .voice-nav {
    flex-direction: column;
    gap: 0;
    margin-bottom: 7rem;
  }
}

.voice-nav__item {
  background: transparent url(../img/voice/bg_dot_green.svg) bottom center no-repeat;
}

@media (max-width: 1100px) {
  .voice-nav__item {
    width: 100%;
  }
}

.voice-nav__item a {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
  padding: 2.4rem 7rem 2.4rem 0;
  transition: 0.6s all;
  background: transparent url(../img/voice/icon_btn.svg) 90% center no-repeat;
  display: block;
}

@media (max-width: 1100px) {
  .voice-nav__item a {
    padding-left: 2.4rem;
  }
}

.voice-nav__item a:hover {
  color: #528916;
  background: transparent url(../img/voice/icon_btn2.svg) 90% center no-repeat;
}

.voice-cs {
  margin-bottom: 16rem;
  padding: 3rem 0 0;
}

@media (max-width: 768px) {
  .voice-cs {
    margin-bottom: 4rem;
     padding: 10rem 0 0;
  }
}


.voice-cs:last-child {
  margin-bottom: 0;
}

.voice-cs-head {
  display: flex;
  gap: 6rem;
  align-items: center;
  margin-bottom: 8rem;
}

@media (max-width: 1100px) {
  .voice-cs-head {
    flex-direction: column;
    gap: 3rem;
    margin-bottom: 4rem;
  }
}

.voice-cs-head__icon {
  position: absolute;
  top: -2rem;
  left: -2rem;
  z-index: 50;
  display: inline-block;
  padding: 1.6rem 2.4rem 1.6rem 5.6rem;
  border-radius: 100px;
  background: #F5FDE9 url(../img/voice/bg_icon.svg) 2rem center no-repeat;
  color: #669D20;
  font-weight: 500;
  line-height: 100%;
  /* 16px */
  letter-spacing: 0.64px;
}

.voice-cs-head__image {
  max-width: 340px;
}

@media (max-width: 1100px) {
  .voice-cs-head__image {
    margin: 0 auto 0 0;
  }
}

.voice-cs-head__image img {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0px 8px 50px 0px rgba(128, 105, 37, 0.3);
}

.voice-cs-head__wrap {
  display: flex;
  gap : 4rem;
  width: 100%;
  justify-content: flex-start;
}

@media (max-width: 768px) {
  .voice-cs-head__wrap {
    flex-direction: column;
    gap : 3rem;
  }
}

@media (max-width: 768px) {
  .voice-cs-head__box {
    width: 100%;
  }
}

.voice-cs-head__category {
  margin-bottom: 2.5rem;
}

.voice-cs-head__category span {
  background: transparent url(../img/voice/bg_dot_green.svg) bottom center no-repeat;
  font-weight: 500;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
  padding-bottom: 1rem;
}

.voice-cs-head__title {
  color: #528916;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 175%;
  /* 45.5px */
  letter-spacing: 1.04px;
  margin-bottom: 2rem;
}

@media (max-width: 768px) {
  .voice-cs-head__title {
    font-size: 2.2rem;
    line-height: 175%;
    /* 38.5px */
    letter-spacing: 0.88px;
  }
}

.voice-cs-head__name {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
}

.voice-cs-head__name--min {
  font-size: 1.4rem;
  line-height: 175%;
  /* 24.5px */
  letter-spacing: 0.56px;
}

.voice-cs-contents {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
}

@media (max-width: 768px) {
  .voice-cs-contents {
    gap: 3.6rem;
  }
}

.voice-cs-contents__title {
  color: #528916;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 175%;
  /* 38.5px */
  letter-spacing: 0.88px;
  border-bottom: 1px solid #669D20;
  padding-bottom: 0.5rem;
  margin-bottom: 4rem;
}

@media (max-width: 768px) {
  .voice-cs-contents__title {
    font-size: 2rem;
    letter-spacing: 0.8px;
    margin-bottom: 3rem;
  }
}

.voice-cs-contents__name {
  margin-bottom: 1rem;
}

.voice-cs-contents__name--min {
  font-size: 1.4rem;
  line-height: 175%;
  letter-spacing: 0.56px;
}

.voice-cs-contents__label {
  display: flex;
  margin-bottom: 2.4rem;
  color: #528916;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
}

@media (max-width: 768px) {
  .voice-cs-contents__label {
    font-size: 1.8rem;
    letter-spacing: 0.72px;
    margin-bottom: 2rem;
  }
}

.voice-cs-contents__label span {
  flex: 1;
  padding: 0 0 0 1.5rem;
}

.voice-cs-contents__label::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 8px;
  display: block;
  position: relative;
  top: 12px;
  left: 0;
  background: #669D20;
}

.voice-cs-contents__text {
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
  margin-bottom: 3rem;
}

.voice-cs-contents__text:last-child {
  margin-bottom: 0;
}

.view-set {
  padding: 0 40px;
  z-index: 1;
}

@media (max-width: 768px) {
  .view-set {
    padding: 0;
  }
}

.view-box {
  margin-bottom: 8rem;
}

@media (max-width: 768px) {
  .view-box {
    margin-bottom: 4rem;
  }
}

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

.view-label {
  color: var(--key);
  font-size: 18px;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 2rem;
}

.view-label span {
  flex: 1;
}

.view-label::before {
  content: "";
  background: var(--key);
  width: 8px;
  height: 8px;
  border-radius: 8px;
  position: relative;
  left: 0;
  top: 0;
  display: block;
}

.view-image {
  margin-bottom: 4rem;
}

@media (max-width: 768px) {
  .view-image {
    margin-bottom: 2rem;
  }
}

.view-image:last-child {
  margin-bottom: 0;
}

.contact {
  padding-bottom: 20rem;
}

@media (max-width: 768px) {
  .contact {
    padding-bottom: 10rem;
  }
}

.contact-set {
  z-index: 1;
}

.contact-set .inner {
  padding: 0 64px;
}

@media (max-width: 768px) {
  .contact-set .inner {
    padding: 0;
  }
}

.contact-table {
  width: 100%;
  margin-bottom: 2.4rem;
}

.contact-table__icon {
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  line-height: 175%;
  /* 22.75px */
  letter-spacing: 0.26px;
  border-radius: 4px;
  background: #D62B49;
  padding: 0.2rem 0.5rem;
  margin: 0 1rem 0 0;
}

.mw_wp_form_confirm .contact-table__icon {
  display: none;
}

.mw_wp_form_confirm .contact-table__label--noicon {
  padding: 0;
}

.contact-table__label--noicon {
  padding: 0 0 0 4.6rem;
}

@media (max-width: 768px) {
  .contact-table__label--noicon {
    padding: 0;
  }
}

.contact-table__date {
  max-width: 340px;
}

.contact-table__date::after {
  content: "";
  width: 24px;
  height: 24px;
  background: transparent url(../img/contact/icon_calendar.svg) 90% center no-repeat;
  position: absolute;
  left: 88%;
  top: 1.4rem;
  pointer-events: none;
  cursor: pointer;
  z-index: 500;
}

.mw_wp_form_confirm .contact-table__date::after,
.mw_wp_form_confirm .contact-table__note,
.mw_wp_form_confirm .contact-table__confnone th,
.mw_wp_form_confirm .contact-table__confnone td,
.mw_wp_form_confirm .contact-privacy  {
  display: none;
}

.contact-table__note {
  font-size: 1.3rem;
  color: #D62B49;
  font-weight: 500;
  line-height: 175%;
  /* 22.75px */
  letter-spacing: 0.26px;
  position: relative;
  top : -4rem;
}

@media (max-width: 768px) {
  .contact-table__note {
    text-align: center;
    position: relative;
    top: 0;
    -webkit-transform: none;
    transform: none;
    right: auto;
    left: 0;
    padding: 0 32px;
    margin: -2rem 0 2rem;
  }
}

.contact-table__textarea {
  border-radius: 4px;
  border: 1px solid var(--border-form, #BEBDB9);
  background: #FFF;
  width: 100%;
  padding: 0.8rem 1.6rem;
  font-family: Zen Maru Gothic;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
  height: 240px;
}

.contact-table__textarea:focus {
  border: 1px solid var(--border-form, #9D2042);
}

.contact-table__textarea::-webkit-input-placeholder {
  color: #9E9E9A;
  font-family: Zen Maru Gothic;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

.contact-table__textarea::-moz-placeholder {
  color: #9E9E9A;
  font-family: Zen Maru Gothic;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

.contact-table__textarea::placeholder {
  color: #9E9E9A;
  font-family: Zen Maru Gothic;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}

.wpcf7 .contact-submit-back {
  display: none;
}

.contact-table__input {
  border-radius: 4px;
  border: 1px solid var(--border-form, #BEBDB9);
  background: #FFF;
  width: 100%;
  padding: 0.8rem 1.6rem;
  font-family: Zen Maru Gothic;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

.contact-table__input::-webkit-input-placeholder {
  color: #9E9E9A;
  font-family: Zen Maru Gothic;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

.contact-table__input::-moz-placeholder {
  color: #9E9E9A;
  font-family: Zen Maru Gothic;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

.contact-table__input::placeholder {
  color: #9E9E9A;
  font-family: Zen Maru Gothic;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

.contact-table__input:focus {
  border: 1px solid var(--border-form, #9D2042);
}

.contact-table__input--yubin1 {
  width: 80px;
}

.contact-table__input--yubin2 {
  width: 90px;
}

.contact-table__input--age {
  width: 80px;
  margin: 0 1rem 0 0;
}

.contact-table__input--date {
  padding-right: 4rem;
  cursor: pointer;
}

.contact-table__err .error {
  color : #D62B49 !important;
}

.contact-table tr:has(.error) th,
.contact-table tr:has(.error) td,
.contact-privacy:has(.error){
  background : #FBE7EB;
}

.contact-table__select {
  border-radius: 4px;
  border: 1px solid var(--border-form, #BEBDB9);
  background: #FFF;
  width: 100%;
  max-width: 340px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
}

.confirm-mode .contact-table__select {
  background: transparent;
  border: none;
}

.confirm-mode td p {
  display: flex;
}

.confirm-mode td p:has(.mwform-radio-field) {
  display: none;
}

.mwform-radio-field br {
  display: none;
}

.contact-table__select--long {
  max-width : 640px;
}

.mw_wp_form_confirm .contact-table__select {
  background: none;
  border : none;
}

.contact-table__select::after {
  content: "";
  width: 24px;
  height: 24px;
  background: transparent url(../img/contact/icon_select.svg) 90% center no-repeat;
  position: absolute;
  right : 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.mw_wp_form_confirm .contact-table__select::after {
  display : none;
}

.contact-table__select select {
  border-radius: 4px;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding: 1.2rem 1.6rem;
  font-family: Zen Maru Gothic;
  font-size: 1.6rem;
  color: #3C3C3C;
  cursor: pointer;
  background: none;
}

.mwform-radio-field {
  display : inline-block;
  margin-right : 3rem !important;
}

.mwform-radio-field label {
  display: flex;
  align-items: center;
}

.contact-table__radio input {
  display: none;
}

.wpcf7-list-item:first-child {
  margin-left: 0;
}

.contact-table__radio input + .wpcf7-list-item-label {
  padding: 0 0 0 3.5rem;
  cursor: pointer;
}

.contact-table__radio input + .wpcf7-list-item-label::before {
  display: flex;
  width: 24px;
  height: 24px;
  border-radius: 24px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  content: "";
  background: #fff;
  border: 1px solid #BEBDB9;
  position: absolute;
  left: 0;
  top: 4px;
}

.contact-table__radio input + .wpcf7-list-item-label::after {
  display: flex;
  width: 18px;
  height: 18px;
  border-radius: 18px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  content: "";
  background: var(--key);
  position: absolute;
  left: 4px;
  top: 8px;
  opacity: 0;
}

.contact-table__radio input[name="resident_gender"] + .wpcf7-list-item-label::before {
  top : 0;
}
.contact-table__radio input[name="resident_gender"] + .wpcf7-list-item-label::after {
  top : 4px;
}


.contact-table__radio input:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

.contact-table__radio--flex {
  display: flex;
  gap: 8rem;
  align-items: center;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .contact-table__radio--flex {
    display: flex !important;
    gap: 0 2rem;
  }
}

.mw_wp_form_confirm .contact-table__radio--flex {
  display: table-cell;
}

.contact-table th {
  border-top: 1px solid #E1E0DC;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  vertical-align: middle;
  /* 25.6px */
  letter-spacing: 0.64px;
  text-align: left;
  padding: 2.4rem;
  width: 290px;
}

@media (max-width: 768px) {
  .contact-table th {
    width: 100%;
    display: block;
    padding-bottom: 1rem;
    padding-top: 1.3rem;
  }
}

.contact-table td {
  border-top: 1px solid #E1E0DC;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 200%;
  /* 32px */
  letter-spacing: 0.64px;
  text-align: left;
  padding: 2.4rem;
  width: auto;
}

@media (max-width: 768px) {
  .contact-table td {
    width: 100%;
    display: block;
    border: none;
    padding-top: 0;
    padding-bottom: 1.5rem;
    font-size: 1.8rem;
  }
}

.contact-table-bottom td {
  border : none;
  padding-top: 0;
  padding-bottom: 0;
}

.contact-privacy {
  border-radius: 8px;
  background: #F5F3E0;
  padding: 3.2rem 2.4rem;
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 4rem;
}

@media (max-width: 900px) {
  .contact-privacy {
    padding: 3.2rem 1.4rem 3.2rem 6.4rem;
    flex-direction: column;
  }
}

.contact-privacy__check {
  display: none;
}

.contact-privacy__check:checked+.wpcf7-list-item-label::before {
  background: var(--key);
  border-color: var(--key);
}

.contact-privacy__check:checked+.wpcf7-list-item-label::after {
  opacity: 1;
}

.contact-privacy .wpcf7-list-item-label {
  color: #000;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.72px;
  cursor: pointer;
}

@media (max-width: 768px) {
  .contact-privacy label {
    font-size: 1.6rem;
    letter-spacing: 0.64px;
  }
}

.custom-error {
  color: #D62B49;
  font-size: 1.3rem;
  display: block;
  margin-top: 0.5rem;
}

.contact-privacy .wpcf7-list-item-label::before {
  content: "";
  width: 24px;
  height: 24px;
  border-radius: 4px;
  background: #fff;
  border: 1px solid #ccc;
  display: block;
  position: absolute;
  left: -40px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.contact-privacy .wpcf7-list-item-label::after {
  content: "";
  width: 12px;
  height: 6px;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  display: block;
  position: absolute;
  left: -35px;
  top: 41%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
  opacity: 0;
}

.contact-privacy .wpcf7-list-item-label a {
  color: var(--key);
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 160%;
  /* 28.8px */
  letter-spacing: 0.72px;
  -webkit-text-decoration-line: underline;
  text-decoration-line: underline;
}

@media (max-width: 768px) {
  .contact-privacy .wpcf7-list-item-label a {
    font-size: 1.6rem;
    letter-spacing: 0.64px;
  }
}

.contact-submit {
  max-width: 400px;
  width: 100%;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .contact-submit {
    max-width: 290px;
  }
}

.contact-submit__wrap {
  display: flex;
  gap: 4rem;
  align-items: center;
  justify-content: center;
  flex-direction: row-reverse;
  margin-bottom: 2rem;
}

@media (max-width: 768px) {
  .contact-submit__wrap {
    flex-direction: column;
    gap: 2rem;
  }
}

.contact-submit__wrap:has(.contact-submit-back) {
  margin-top: 80px;
}

.contact-submit-confirm::before {
  content: "";
  background: transparent url(../img/contact/icon_btn.svg) 90% center no-repeat;
  right: 7%;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  width: 20px;
  height: 20px;
  z-index: 5;
}

.contact-submit-confirm:hover::before {
  content: "";
  background: transparent url(../img/contact/icon_btn_col.svg) 90% center no-repeat;
  right: 7%;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  width: 20px;
  height: 20px;
  z-index: 5;
}

.contact-submit-send {
  margin: 0;
}

.wpcf7-not-valid {
  border-color: #D62B49 !important;
}


.contact-table tr:has(.wpcf7-not-valid) th,
.contact-table tr:has(.wpcf7-not-valid) td {
  background: #FBE7EB;
}


.wpcf7-not-valid-tip {
  color: #D62B49;
  font-size: 1.3rem;
  margin-top: 0.5rem;
  display: block;
}

.contact-submit-send::before {
  content: "";
  background: transparent url(../img/contact/icon_btn_col.svg) 90% center no-repeat;
  right: 7%;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  width: 20px;
  height: 20px;
  z-index: 5;
}

.contact-submit-send:hover::before {
  content: "";
  background: transparent url(../img/contact/icon_btn.svg) 90% center no-repeat;
  right: 7%;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  width: 20px;
  height: 20px;
  z-index: 5;
}

.contact-submit-back {
  margin: 0;
}

.contact-submit-back::before {
  content: "";
  background: transparent url(../img/contact/icon_btn.svg) 90% center no-repeat;
  left: 7%;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%) rotate(180deg);
  position: absolute;
  width: 20px;
  height: 20px;
  z-index: 5;
}

.contact-submit-back:hover::before {
  content: "";
  background: transparent url(../img/contact/icon_btn.svg) 90% center no-repeat;
  right: 7%;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  width: 20px;
  height: 20px;
  z-index: 5;
}

.contact-submit__btn {
  border: none;
  display: block;
  transition: 0.6s all;
  color: #fff;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 100%;
  /* 18px */
  letter-spacing: 3.6px;
  width: 100%;
  padding: 3.2rem 2.4rem;
  border-radius: 8px;
  border: 1px solid #E1E0DC;
  font-family: Zen Maru Gothic;
  cursor: pointer;
}

@media (max-width: 768px) {
  .contact-submit__btn {
    max-width: 290px;
    padding: 3.2rem 2.4rem;
  }
}

.wpcf7-spinner {
  position: absolute;
}

.contact-after {
  text-align: center;
  padding: 0 32px;
  padding-top: 3rem;
}

@media (max-width: 768px) {
  .contact-after {
    padding: 0 10px;
  }
}

/* ========================================
   ツールチップ風エラーメッセージ
   ======================================== */

.custom-error {
  position: absolute;
  bottom: 100%;
  left: 0;
  background: #D62B49;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  padding: 0.6rem 1rem;
  border-radius: 4px;
  white-space: nowrap;
  z-index: 100;
  margin-bottom: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* 吹き出しの三角形 */
.custom-error::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 16px;
  border: 6px solid transparent;
  border-top-color: #D62B49;
}

/* 親要素にrelativeを付与 */
.wpcf7-form-control-wrap {
  position: relative;
  display: inline-block;
}

.wpcf7-form-control-wrap:has(.wpcf7-select),
.wpcf7-form-control-wrap:has(.wpcf7-textarea) {
  display : block;
}

/* セレクトボックス用 */
.contact-table__select {
  position: relative;
}

.contact-table__select .custom-error {
  left: 0;
}

/* 郵便番号用（横並び対応） */
.contact-table__input--yubin1,
.contact-table__input--yubin2 {
  position: relative;
}

/* 郵便番号のエラー位置調整 */
input.contact-table__input--yubin1 + .custom-error,
input.contact-table__input--yubin2 + .custom-error {
  left: 0;
}

/* 年齢用 */
.contact-table__input--age {
  position: relative;
}

/* プライバシーチェックボックス用 */
.contact-privacy {
  position: relative;
}

.contact-privacy .custom-error {
  bottom: auto;
  top: 100%;
  margin-top: 8px;
  margin-bottom: 0;
}

.contact-privacy .custom-error::after {
  top: auto;
  bottom: 100%;
  border: 6px solid transparent;
  border-bottom-color: #D62B49;
  border-top-color: transparent;
}

/* ラジオボタン用（お問い合わせ種別） */
.contact-table__radio + .custom-error,
td > .custom-error {
  position: relative;
  display: block;
  bottom: auto;
  margin-top: 8px;
  margin-bottom: 0;
}

.contact-table__radio + .custom-error::after,
td > .custom-error::after {
  display: none;
}

/* SP対応 */
@media (max-width: 768px) {
  .custom-error {
    font-size: 1.1rem;
    padding: 0.5rem 0.8rem;
  }
}

/* CF7標準のエラーメッセージを非表示 */
.wpcf7-not-valid-tip:not(.custom-error) {
  display: none !important;
}

.wpcf7 .contact-submit__btn--send {
  background: #514F49;
}

.wpcf7 .contact-submit__btn--send:hover {
  background: var(--key);
}

.mw_wp_form_confirm .contact-submit__btn--send {
  background: var(--key);
}

.mw_wp_form_confirm .contact-submit__btn--send:hover {
  background: #514F49;
}

.contact-submit__btn--back {
  background: #9E9E9A;
}

.contact-submit__btn--back:hover {
  background: #514F49;
}

.contact-thanks {
  z-index: 5;
  padding-bottom: 8rem;
}

.contact-thanks__lead {
  color: #9D2042;
  text-align: center;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 175%;
  /* 56px */
  letter-spacing: 1.28px;
  margin-bottom: 5.6rem;
}

@media (max-width: 768px) {
  .contact-thanks__lead {
    font-size: 2.6rem;
    margin-bottom: 3.6rem;
  }
}

.contact-thanks__text {
  color: #3C3C3C;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 240%;
  /* 43.2px */
  letter-spacing: 0.72px;
  margin-bottom: 7rem;
}

@media (max-width: 768px) {
  .contact-thanks__text {
    font-size: 1.6rem;
    margin-bottom: 3.6rem;
  }
}

.contact-thanks__text--col {
  color: #D62B49;
}

.contact-thanks__btn {
  max-width: 200px;
  margin: 0 auto;
}

.contact-thanks__btn a {
  background: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 160%;
  /* 22.4px */
  letter-spacing: 0.56px;
  background: #fff url(../img/top/icon_detail_arrow.svg) 93% center no-repeat;
}

.contact-thanks__btn a:hover {
  background: #FBE7EB url(../img/top/icon_detail_arrow.svg) 93% center no-repeat;
}

/* 確認画面用 */
.confirm-value {
  display: block;
  font-size: 1.6rem;
  line-height: 200%;
  letter-spacing: 0.64px;
}

.confirm-value--textarea {
  white-space: pre-wrap;
}

.confirm-mode .contact-table__select::after {
  display: none;
}

.confirm-mode .contact-table__date::after {
  display: none;
}

.contact-table__date.confirm-mode::after {
  display: none;
}

/* 初期状態では戻るボタンを非表示（CF7用） */
.wpcf7 .contact-submit-back {
  display: none;
}

.wpcf7 .confirm-mode ~ .contact-submit__wrap .contact-submit-back,
.confirm-mode .contact-submit-back {
  display: block;
}

.feature-meal-intro {
  margin-bottom: 4rem;
}

@media (max-width: 768px) {
  .feature-meal-intro {
    margin-bottom: 3rem;
  }
}

.feature-meal-menu__title {
  border-top: 1px solid #CEE9A1;
  border-bottom: 1px solid #CEE9A1;
  background: #F5FDE9;
  font-weight: 500;
  line-height: 160%;
  /* 25.6px */
  letter-spacing: 0.64px;
  color: #528916;
  padding: 0.8rem 2.4rem;
}

.feature-meal-menu__detail {
  background: #fff;
  border-bottom: 1px solid #CEE9A1;
  padding: 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.feature-meal-menu__item {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 160%;
  /* 22.4px */
  letter-spacing: 0.56px;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0 0 0 2rem;
}

.feature-meal-menu__item span {
  flex: 1;
}

.feature-meal-menu__item::before {
  content: "";
  background: #669D20;
  width: 8px;
  height: 8px;
  border-radius: 8px;
  position: absolute;
  left: 0;
  top: .7rem;
  display: block;
}

.feature-meal-after {
  z-index: 1;
}

.feature-meal-after__bg {
  border-radius: 8px;
  border: 4px solid #F5F3E0;
  background: #FFF;
  padding: 3.2rem 4rem;
}

@media (max-width: 768px) {
  .feature-meal-after__bg {
    padding: 3.2rem;
  }
}

.feature-meal-after__title {
  font-size: 2rem;
  color: var(--key);
  font-weight: 500;
  line-height: 175%;
  /* 35px */
  letter-spacing: 0.8px;
  margin-bottom: 1.6rem;
}

@media (max-width: 768px) {
  .feature-meal-after__title {
    text-align: center;
    line-height: 160%;
    letter-spacing: 0.72px;
  }
}

.sitemap-set {
  z-index: 1;
  padding-top : 3rem;
}

.sitemap-box {
  margin-bottom: 8rem;
  &:last-child {
    margin-bottom: 0;
  }
}

.sitemap-list {
  display: flex;
  gap: 2rem 8rem;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .sitemap-list {
    gap: 2rem 3rem;
  }
}

.sitemap-list__item {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.sitemap-list__item a {
  color: var(--key);
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
  /* 31.5px */
  letter-spacing: 0.72px;
  transition: .6s all;
}

@media (max-width: 768px) {
  .sitemap-list__item a {
    font-size: 1.6rem;
  }
}

.sitemap-list__item a:hover {
  color: #EF8C98;
  text-decoration: underline;
}

.sitemap-list__item--pdf a::after {
  content: "PDF";
  background: #D62B49;
  border-radius: 2px;
  color: #fff;
  padding: .1rem .6rem;
  margin: 0 0 0 1rem;
  font-size: 1.2rem;
}

.sitemap-list__item span {
  flex: 1;
}

.sitemap-list__item::before {
  content: "";
  background: var(--key);
  width: 8px;
  height: 8px;
  border-radius: 8px;
  position: relative;
  left: 0;
  top: 0;
  display: block;
}

.sitemap-list__item--link a {
  background: transparent url(../img/common/icon_link.svg) right center no-repeat;
  padding: 0 2.5rem 0 0;
}

.gallery-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}
@media (max-width: 1200px) {
  .gallery-list {
    gap: 30px;
  }
}

@media (max-width: 768px) {
  .gallery-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

.gallery-list__label {
  position: absolute;
  top : 50%;
  left : 50%;
  transform: translateY(-50%) translateX(-50%);
  color  :#fff;
  font-size: 18px;
  border-bottom: 2px solid #fff;
  padding-bottom: 5px;
  z-index: 5;
  opacity : 0;
  pointer-events: none;
  transition: .3s all;
}

@media (max-width: 768px) {
  .gallery-list__label {
   font-size: 14px;
  }
}

.gallery-set {
  z-index: 50;
}

.gallery-list__item {
  max-width: 330px;
  position: relative;
  aspect-ratio : 1;
}
.gallery-list__item img {
  border-radius: 8px;
  overflow: hidden;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.gallery-list__item::before {
  content: "";
  background: transparent url("../img/gallery/icon_modal.png") center center no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 6;
  pointer-events: none;
  transition: background-color .3s, background-image .3s;
}

@media (hover: hover){
  .gallery-list__item:hover::before {
    background: transparent url("../img/gallery/icon_modal_o.png") center center no-repeat;
    background-size: contain;
  }
  .gallery-list__item:hover .gallery-list__label {
    opacity : 1;
  }
}

.gallery-list__item::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: transparent;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  pointer-events: none;
  transition: background-color .3s, background-image .3s;
}

@media (hover: hover){
  .gallery-list__item:hover::after {
    background-color:rgba(60, 60, 60, 0.8);
  }
}

.body-gallery .modaal-container {
  border-radius: 8px;
  overflow: hidden;
}

.body-gallery .modaal-content-container {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 40px !important;
}

@media (max-width: 768px) {
  .body-gallery .modaal-outer-wrapper {
    width: 90% !important;
    left: 50%;
    transform: translateX(-50%);
  }
  .body-gallery .modaal-inner-wrapper {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .body-gallery .modaal-content-container {
    flex-direction: column;
    gap: 30px !important;
    padding: 20px !important;
    overflow-y: scroll;
    height: 80vh;
  }
}

.body-gallery .gallery-modal {
  display: none;
}

.body-gallery .gallery-modal__detail {
  flex: 1;
}

.body-gallery .gallery-modal__image {
  max-width: 650px;
  width: max-content;
}

@media (max-width: 1000px) {
.body-gallery .gallery-modal__image {
  width: 70%;
}
}

@media (max-width: 768px) {
.body-gallery .gallery-modal__image {
  max-width: 80vw;
  width: 100%;
}
}

.body-gallery .lower-title {
  border-top: none;
  padding: 0;
  margin: 0 0 2rem;
}

@media (max-width: 768px) {
  .body-gallery .lower-title {
    text-align: left;
  }
}

.body-gallery .gallery-modal__image img {
  max-height: 500px;
}

.body-gallery .modaal-close {
  position: absolute;
  background: #528916 !important;
  width: 48px;
  height: 48px;
  border-radius: 0 8px 0 8px;
  top: 0;
  right: 0;
}

.body-gallery .modaal-close:focus:after,
.body-gallery .modaal-close:focus:before,
.body-gallery .modaal-close:hover:after,
.body-gallery .modaal-close:hover:before {
  background: #fff !important;
}

.body-gallery .modaal-close:after,
.body-gallery .modaal-close:before {
  width: 2px;
  border-radius: 0;
  height: 17px;
  top: 16px;
}

.footer {
  margin: 0 0 0 200px;
  z-index: 50;
  background: #FFFCF5;
}

@media (max-width: 768px) {
  .footer {
    margin: 0;
  }
}

.footer-contact {
  height: 550px;
}

@media (max-width: 768px) {
  .footer-contact {
    height: auto;
  }
}

.footer-contact__wrap {
  display: flex;
  height: 100%;
}

@media (max-width: 768px) {
  .footer-contact__wrap {
    flex-direction: column;
    height: auto;
  }
}

.footer-contact-detail {
  background: #fff;
  width: 50%;
  padding: 0 11rem;
}

@media (max-width: 1400px) {
  .footer-contact-detail {
    padding: 0 3vw;
  }
}

@media (max-width: 768px) {
  .footer-contact-detail {
    width: 100%;
    padding: 4.8rem 32px;
  }
}

.footer-contact-detail__inner {
  display: flex;
  align-items: center;
  height: 100%;
  flex-direction: column;
  justify-content: center;
}

.footer-contact-detail__title {
  color: var(--key);
  font-size: 2.6rem;
  font-weight: 500;
  width: 100%;
  margin-bottom: 2.4rem;
  letter-spacing: 1.04px; 
}

@media (max-width: 768px) {
  .footer-contact-detail__title {
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 1.6rem;
    letter-spacing: 0.96px; 
  }
}

.footer-contact-detail__text {
  line-height: 200%;
  margin-bottom: 4rem;
  line-height: 200%; /* 32px */
  letter-spacing: 0.64px; 
}

@media (max-width: 768px) {
  .footer-contact-detail__text {
    line-height: 175%;
    /* 28px */
    letter-spacing: 0.64px;
    margin-bottom: 3.2rem;
  }
}

.footer-contact-detail__nav {
  width: 250px;
  margin: 0 auto 0 0;
}

@media (max-width: 768px) {
  .footer-contact-detail__nav {
    width: 258px;
    margin: 0 auto;
  }
}

.footer-contact-detail__nav::before {
  content: "";
  background: transparent url(../img/common/icon_right_key2.svg) 92% center no-repeat;
  width: 20px;
  height: 20px;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 10;
  display: block;
  transition: 0.8s all;
}

.footer-contact-detail__nav:hover:before {
  right: 18px;
}

.footer-contact-detail__nav a {
  display: block;
  border-radius: 8px;
  color: #fff;
  padding: 2.4rem;
  font-weight: 500;
  border: 1px solid #E1E0DC;
  z-index: 0;
  letter-spacing: 0.64px; 
}

.footer-contact-detail__nav a:before {
  content: "";
  background-color: var(--key);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  transition: 0.8s all;
  border-radius: 8px;
}

.footer-contact-detail__nav a:after {
  content: "";
  background: linear-gradient(115deg, #F19682 17.28%, #E14662 83.25%);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -2;
  border-radius: 8px;
}

.footer-contact-detail__nav a:hover:before {
  opacity: 0;
}

.footer-contact-image {
  background: transparent url(../img/common/roujin-home_img_bottom_contact.jpg) center center no-repeat;
  background-size: cover;
  width: 50%;
  height: 550px;
}

@media (max-width: 768px) {
  .footer-contact-image {
    background: transparent url(../img/common/roujin-home_img_bottom_contact_sp.jpg) center center no-repeat;
    background-size: cover;
    width: 100%;
    height: auto;
    aspect-ratio: 375/280;
  }
}

.footer-menu {
  background-size: auto 50%;
  padding: 7rem 0 0;
  z-index: 50;
}

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

.footer-menu .inner {
  padding-bottom: 12rem;
  padding-left: 64px;
  padding-right: 64px;
  display: flex;
  justify-content: space-between;
  background: transparent url(../img/common/bg_pattern_rb.png) right bottom no-repeat;
  background-size: auto 80%;
  gap: 1rem;
  flex-wrap: wrap;
}

@media (max-width: 1000px) {
  .footer-menu .inner {
    padding-left: 32px;
    padding-right: 32px;
    justify-content: flex-start;
    gap: 4rem 1rem;
    padding-bottom: 8rem;
  }
}

.footer-menu__inner {
  max-width: 100%;
}

.footer-menu-list {
  width: 19%;
}

@media (max-width: 1000px) {
  .footer-menu-list {
    width: 30%;
  }
}

.footer-menu-list__label {
  font-weight: 500;
  margin-bottom: 2.4rem;
  letter-spacing: 0.64px; 
}

.footer-menu-list__wrap {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.footer-menu-list__wrap--right {
  gap: 2.4rem;
}

.footer-menu-list__item {
  padding: 0 0 0 2.4rem;
  background: transparent url(../img/common/icon_right_key.svg) left 6px no-repeat;
}

.footer-menu-list__item a {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.56px;
}

.footer-menu-list__item a:hover {
  text-decoration: underline;
  color: var(--key);
}

.footer-bottom .inner {
  padding-top: 4.8rem;
  padding-bottom: 4.8rem;
  display: flex;
  border-top: 1px solid rgb(225, 224, 220);
}

@media (max-width: 820px) {
  .footer-bottom .inner {
    padding-right: 32px;
    padding-left: 32px;
  }
}

@media (max-width: 768px) {
  .footer-bottom .inner {
    flex-direction: column;
    padding-bottom: 12rem;
    padding-top: 7.5rem;
  }
}

.footer-bottom__inner {
  max-width: 100%;
}

.footer-bottom__left {
  flex: 1;
}

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

.footer-bottom__right {
  width: 300px;
  text-align: right;
}

@media (max-width: 768px) {
  .footer-bottom__right {
    width: 100%;
    text-align: center;
  }
}

.footer-bottom-nav {
  display: flex;
  gap: 3.2rem;
  font-weight: 500;
  font-size: 1.4rem;
  margin-bottom: 10rem;
  letter-spacing: 0.64px; 
}

@media (max-width: 1150px) {
  .footer-bottom-nav {
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2rem;
  }
}

.footer-bottom-nav__item--link a {
  background: transparent url(../img/common/icon_link.svg) right center no-repeat;
  padding: 0 2.5rem 0 0;
}

.footer-bottom-nav__item--pdf a {
  padding: 0 2.5rem 0 0;
}

.footer-bottom-nav__item--pdf a::after {
  content: "PDF";
  background: #D62B49;
  border-radius: 2px;
  color: #fff;
  padding: .1rem .6rem;
  margin: 0 0 0 1rem;
  font-size: 1.2rem;
}

.footer-bottom-nav__item a:hover {
  color : var(--key);
  text-decoration: underline;
}

.footer-bottom-copy {
  font-size: 1.2rem;
  letter-spacing: 0.24px;
}

.footer-bottom-logo {
  max-width: 270px;
  margin: 0 0 2.4rem auto;
}

@media (max-width: 768px) {
  .footer-bottom-logo {
    width: 100%;
    margin: 0 auto 2.4rem;
  }
}

.footer-bottom-name {
  font-size: 1.4rem;
  letter-spacing: 0.56px;
}

.footer-bottom-name br {
  display: none;
}

@media (max-width: 920px) {
  .footer-bottom-name br {
    display: block;
  }
}

.footer-bottom-spname {
  font-size: 1.4rem;
  letter-spacing: 0.56px;
  display: none;
}

@media (max-width: 768px) {
  .footer-bottom-spname {
    display: block;
    margin-bottom: 6.4rem;
  }
}

.footer-bottom-address {
  font-size: 1.4rem;
  margin-bottom: 3.2rem;
  letter-spacing: 0.56px;
}