@charset "UTF-8";
.header {
  overflow-x: hidden;
  overflow-y: scroll;
  width: 90vw;
  margin: 0 auto 0 auto;
}
@media (max-width: 1024px) {
  .header {
    display: none;
    padding: 0;
    width: 100vw;
  }
}
.header a:hover {
  opacity: 0.7;
}
.header .container {
  margin: 0;
  padding: 0;
  max-width: 100%;
}
.header .header-left {
  display: flex;
}
@media (max-width: 1024px) {
  .header .header-left {
    display: none;
  }
}
.header .doshin-icon {
  width: 120px;
}
.header .devide {
  border: solid 0.7px #D9D9D9;
  height: 60px;
}
.header .title {
  font-family: Shippori Mincho;
  font-size: 17px;
  color: black;
  font-weight: bold;
}
.header .sub-title {
  font-family: Noto Sans JP;
  word-break: keep-all;
  font-size: 10px;
}
.header .opening-hours-container {
  display: flex;
  margin: 0 0 0 auto;
}
@media (max-width: 1180px) {
  .header .opening-hours-container {
    display: none;
  }
}
@media (max-width: 1024px) {
  .header .opening-hours-container {
    display: flex;
    margin: 0 auto 0 2%;
  }
}
.header .opening-hours-img {
  width: 38px;
}
.header .opening-hours-img-wrapper {
  left: 50px;
}
.header .opening-hours-text {
  font-family: Shippori Mincho;
}
.header .text-top {
  font-size: 15px;
}
.header .text-middle {
  font-size: 26px;
  letter-spacing: 4px;
}
.header .text-bottom {
  font-size: 14px;
  letter-spacing: 2px;
}
.header .sm-header-img-container {
  display: none;
}
@media (max-width: 1024px) {
  .header .sm-header-img-container {
    display: flex;
  }
}
.header .sm-header-img {
  width: 100%;
  height: 100%;
  max-width: 100px;
}
.header .sm-header-img:hover {
  opacity: 0.7;
}

.sidemenu {
  position: absolute;
  right: 0px;
  display: flex;
  z-index: calc(infinity);
}
@media (max-width: 1024px) {
  .sidemenu {
    display: none;
  }
}
.sidemenu .sidemenu-content {
  background-color: #C6E7B2;
  border-radius: 5px 0 0 5px;
}
.sidemenu a {
  text-decoration: none;
}
.sidemenu a:hover {
  opacity: 0.7;
}
.sidemenu .contact-icon {
  width: 20px;
}
.sidemenu .online-store-icon {
  width: 20px;
}
.sidemenu .sidemenu-text {
  writing-mode: vertical-lr;
  text-decoration: none;
  color: #5BAC29;
  font-family: Shippori Mincho;
  font-size: 13px;
}
.sidemenu .sns-icon {
  width: 20px;
}

.footer {
  flex: 1;
  margin-right: auto;
  margin-left: auto;
  overflow-x: hidden;
  overflow-y: scroll;
  letter-spacing: 0.05em;
}
.footer a {
  text-decoration: none;
  color: black;
}
.footer a:hover {
  opacity: 0.7;
}
.footer .footer-mont {
  width: 100%;
  min-width: 500px;
}
.footer .container {
  margin: 0;
  padding: 0;
  max-width: 100%;
  background-color: #F2F5F0;
}
.footer .title-wrapper {
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .footer .title-wrapper {
    justify-content: center;
  }
}
.footer .sns-container {
  display: flex;
}
@media (max-width: 1024px) {
  .footer .sns-container {
    display: none;
  }
}
.footer .sns-container-sm {
  display: none;
}
@media (max-width: 1024px) {
  .footer .sns-container-sm {
    display: flex;
    flex-direction: column;
  }
}
.footer .main {
  width: 90vw;
  margin: 0 auto 0 auto;
  max-width: 1300px;
}
.footer .doshin-icon-wrapper {
  max-width: 52px;
}
.footer .doshin-icon-wrapper .doshin-icon-footer {
  width: 100%;
}
.footer .doshin-title-wrapper {
  width: 195px;
}
.footer .doshin-title-wrapper .doshin-title-footer {
  width: 100%;
}
.footer .footer-sns-icon-wrapper {
  width: 27px;
}
.footer .footer-sns-icon-wrapper .footer-sns-icon {
  width: 100%;
}
.footer .mall-magazine-button {
  color: white;
  background-color: #4e4e4e;
}
.footer .mall-magazine-button:hover {
  opacity: 0.7;
}
.footer .main-container {
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .footer .main-container {
    margin: 0 auto 0 auto;
  }
}
@media (max-width: 768px) {
  .footer .main-container {
    flex-direction: column;
    align-items: center;
    margin: 0 auto 0 auto;
  }
}
.footer .main-left {
  width: 70%;
}
@media (max-width: 1024px) {
  .footer .main-left {
    flex-direction: column;
    align-items: center;
    width: 50%;
    padding: 0;
    margin: 0;
  }
}
@media (max-width: 768px) {
  .footer .main-left {
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 0;
  }
}
.footer .content-left {
  width: 40%;
}
@media (max-width: 1024px) {
  .footer .content-left {
    width: 100%;
    padding: 0;
  }
}
.footer .title-tag {
  font-family: Shippori Mincho;
  font-size: 16px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  width: fit-content;
  margin-right: 30px;
  padding: 0.5rem 0.5rem 0.5rem 0.5rem;
  color: #fff;
  background: #5BAC29;
}
.footer .title-tag:before {
  position: absolute;
  top: 0;
  right: -14px;
  content: "";
  border-width: 20px 0 20px 14px;
  border-style: solid;
  border-color: transparent transparent transparent #5BAC29;
}
.footer .location {
  font-family: Shippori Mincho;
}
.footer .location .address {
  font-size: 16px;
  word-break: keep-all;
}
.footer .location .tel-mail-title {
  font-size: 14px;
}
.footer .location .tel-mail-text {
  font-size: 22px;
}
.footer .opening-hour {
  font-family: Shippori Mincho;
  margin-top: 20px;
}
.footer .opening-hour .oh-text-top {
  font-size: 14px;
}
.footer .opening-hour .oh-text-middle {
  font-size: 22px;
  letter-spacing: 2px;
}
.footer .opening-hour .oh-text-bottom {
  font-size: 14px;
}
.footer .access {
  width: 55%;
  padding: 0;
}
@media (max-width: 1024px) {
  .footer .access {
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.footer .access .access-map {
  position: relative;
  width: 100%;
  padding-top: 60%;
}
@media (max-width: 1300px) {
  .footer .access .access-map {
    padding-top: 70%;
  }
}
.footer .access .access-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.footer .access .access-text {
  font-family: Noto Sans JP;
  font-size: 12px;
  line-height: 1.5;
}
.footer .site-map {
  width: 30%;
}
@media (min-width: 1400px) {
  .footer .site-map {
    display: flex;
    width: 44%;
  }
}
@media (max-width: 1024px) {
  .footer .site-map {
    flex-direction: column;
    align-items: center;
    width: 45%;
    margin: 0;
  }
}
@media (max-width: 768px) {
  .footer .site-map {
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
}
.footer .site-map .site-map-title {
  font-family: Shippori Mincho;
  font-size: 16px;
}
.footer .site-map .site-map-text {
  font-size: 12px;
  color: #A2A2A2;
  width: 191px;
}
.footer .site-map .site-map-other {
  font-family: Shippori Mincho;
  font-size: 14px;
  display: flex;
  gap: 0.5em;
}
.footer .copyright {
  display: flex;
  font-family: Shippori Mincho;
  font-size: 12px;
  border-top: solid 1px #A2A2A2;
}
@media (max-width: 1024px) {
  .footer .copyright {
    display: none;
  }
}
.footer .copyright-sm {
  display: none;
  font-family: Shippori Mincho;
  font-size: 10px;
  border-top: solid 1px #A2A2A2;
}
@media (max-width: 1024px) {
  .footer .copyright-sm {
    display: flex;
    flex-direction: column;
  }
}

.top-sidemenu {
  position: absolute;
  right: 0px;
  display: flex;
  overflow-x: hidden;
  overflow-y: scroll;
  z-index: 2;
  margin-top: 10px;
}
@media (max-width: 1024px) {
  .top-sidemenu {
    display: none;
  }
}
.top-sidemenu .sidemenu-news-container {
  font-family: Shippori Mincho;
}
.top-sidemenu .sidemenu-news {
  background-color: white;
  color: #5bac29;
  border-radius: 8px 0 0 8px;
  font-size: 13px;
  height: 34px;
}
.top-sidemenu .sidemenu-news-right {
  background-color: #5bac29;
  color: white;
  width: 340px;
}
.top-sidemenu .news-date {
  font-size: 10px;
}
.top-sidemenu .news-title {
  font-size: 13px;
}
.top-sidemenu .sidemenu-content {
  background-color: #5bac29;
  border-radius: 8px 0 0 8px;
  width: 90px;
  height: 100px;
}
.top-sidemenu a {
  text-decoration: none;
}
.top-sidemenu a:hover {
  opacity: 0.7;
}
.top-sidemenu .contact-icon {
  width: 35px;
}
.top-sidemenu .online-store-icon {
  width: 35px;
}
.top-sidemenu .sidemenu-text {
  text-decoration: none;
  color: white;
  font-family: Shippori Mincho;
  font-size: 11px;
}
.top-sidemenu .sidemenu-lower {
  margin: 0 0 0 auto;
  width: 5vw;
}
.top-sidemenu .sns-icon {
  width: 25px;
}
.top-sidemenu .flowing-ttl {
  display: flex;
  width: 100%;
  overflow: hidden;
  height: 26px;
}
.top-sidemenu .flowing-ttl__item {
  flex: 0 0 auto;
  white-space: nowrap;
  padding: 0 15px;
}
.top-sidemenu .flowing-ttl__item:nth-child(odd) {
  animation: loop 40s linear -20s infinite;
}
.top-sidemenu .flowing-ttl__item:nth-child(even) {
  animation: loop2 40s linear infinite;
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

.top-sidemenu-sm {
  position: absolute;
  right: 0px;
  display: none;
  overflow-x: hidden;
  overflow-y: scroll;
  z-index: 2;
  margin-top: 10px;
}
@media (max-width: 1024px) {
  .top-sidemenu-sm {
    display: flex;
  }
}
.top-sidemenu-sm .sidemenu-news-container {
  font-family: Shippori Mincho;
}
.top-sidemenu-sm .sidemenu-news {
  background-color: #f2f5f0;
  color: #5bac29;
  border-radius: 3px 0 0 3px;
  font-size: 12px;
}
.top-sidemenu-sm .sidemenu-news-right {
  background-color: #c6e7b2;
  color: #5bac29;
  width: 200px;
  height: 26px;
}
.top-sidemenu-sm .news-date {
  font-size: 10px;
}
.top-sidemenu-sm .news-title {
  font-size: 12px;
}
.top-sidemenu-sm .sidemenu-content {
  background-color: #5bac29;
  border-radius: 3px 0 0 3px;
  width: 42px;
  height: 42px;
}
.top-sidemenu-sm a {
  text-decoration: none;
}
.top-sidemenu-sm a:hover {
  opacity: 0.7;
}
.top-sidemenu-sm .contact-icon {
  width: 22px;
}
.top-sidemenu-sm .online-store-icon {
  width: 22px;
}
.top-sidemenu-sm .sidemenu-text {
  text-decoration: none;
  color: white;
  font-family: Shippori Mincho;
  font-size: 11px;
}
.top-sidemenu-sm .sidemenu-lower {
  margin: 0 0 0 auto;
  width: 42px;
}
.top-sidemenu-sm .sns-icon {
  width: 21px;
}
.top-sidemenu-sm .flowing-ttl {
  display: flex;
  width: 100%;
  overflow: hidden;
}
.top-sidemenu-sm .flowing-ttl__item {
  flex: 0 0 auto;
  white-space: nowrap;
  padding: 0 15px;
}
.top-sidemenu-sm .flowing-ttl__item:nth-child(odd) {
  animation: loop 40s linear -20s infinite;
}
.top-sidemenu-sm .flowing-ttl__item:nth-child(even) {
  animation: loop2 40s linear infinite;
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

.sp-menu {
  font-family: Shippori Mincho;
  height: 100px;
  display: none;
  /* スマホメニューを開いてる時のボタン */
  /* メニュー背景　*/
  /* クリックでjQueryで追加・削除 */
}
@media (max-width: 1024px) {
  .sp-menu {
    display: inline-block;
  }
}
.sp-menu a {
  text-decoration: none;
}
.sp-menu a:hover {
  opacity: 0.7;
  cursor: pointer;
}
.sp-menu .wrapper {
  position: relative;
  width: 100%;
}
.sp-menu .background {
  position: fixed;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  height: 90px;
  background-color: white;
}
.sp-menu .opening-hours-container {
  position: fixed;
  z-index: 3;
  display: flex;
  margin: 0 auto 0 2%;
}
.sp-menu .opening-hours-img {
  width: 34px;
}
.sp-menu .opening-hours-img-wrapper {
  left: 50px;
}
.sp-menu .opening-hours-text {
  font-family: Shippori Mincho;
}
.sp-menu .text-top {
  font-size: 14px;
}
.sp-menu .text-middle {
  font-size: 22px;
  letter-spacing: 4px;
}
.sp-menu .text-bottom {
  font-size: 14px;
  letter-spacing: 2px;
}
.sp-menu .sm-header-img-container {
  display: none;
}
@media (max-width: 1024px) {
  .sp-menu .sm-header-img-container {
    display: flex;
  }
}
.sp-menu .sm-header-img {
  width: 100%;
  height: 100%;
  max-width: 100px;
}
.sp-menu .hamburger {
  display: block;
  position: fixed;
  z-index: 4;
  right: 0;
  width: 90px;
  height: 90px;
  cursor: pointer;
  text-align: center;
}
.sp-menu .hamburger span {
  display: none;
  position: absolute;
  width: 50px;
  height: 2px;
  left: 6px;
  background: #F2F5F0;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  display: none;
}
.sp-menu .hamburger.active {
  width: 60px;
  height: 60px;
  margin: 1em 1em 0 0;
}
.sp-menu .hamburger.active span {
  top: 28px;
  left: 5px;
  background: #5BAC29;
  display: inline-block;
}
.sp-menu .hamburger.active .sm-header-img-container {
  display: none;
}
.sp-menu nav.globalMenuSp {
  padding: 1em;
  position: fixed;
  top: 0;
  left: 0;
  background: #F2F5F0;
  text-align: center;
  width: 100%;
  height: 100vh;
  opacity: 0;
  display: none;
  transform: translateX(100%);
  transition: all 0.6s;
  z-index: 3;
}
@media (min-width: 562px) {
  .sp-menu nav.globalMenuSp {
    padding: 2em;
  }
}
.sp-menu nav.globalMenuSp.active {
  opacity: 100;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transform: translateX(0%);
}
.sp-menu .nojo-text {
  font-size: 10px;
}
@media (min-width: 562px) {
  .sp-menu .nojo-text {
    font-size: 16px;
  }
}
.sp-menu .doshin-icon-wrapper {
  width: 35%;
  margin: 0 auto 0 auto;
}
.sp-menu .doshin-icon {
  max-width: 180px;
}
@media (min-width: 562px) {
  .sp-menu .page-link-row {
    width: 65vw;
    margin: 0 auto 0 auto;
  }
}
.sp-menu .about-img {
  width: 55px;
}
@media (min-width: 562px) {
  .sp-menu .about-img {
    width: 75px;
  }
}
.sp-menu .outdoor-img {
  width: 39px;
}
@media (min-width: 562px) {
  .sp-menu .outdoor-img {
    width: 59px;
  }
}
.sp-menu .cafe-img {
  width: 34px;
}
@media (min-width: 562px) {
  .sp-menu .cafe-img {
    width: 54px;
  }
}
.sp-menu .access-img {
  width: 19px;
}
@media (min-width: 562px) {
  .sp-menu .access-img {
    width: 35px;
  }
}
.sp-menu .member-img {
  width: 31px;
}
@media (min-width: 562px) {
  .sp-menu .member-img {
    width: 51px;
  }
}
.sp-menu .blog-img {
  width: 36px;
}
@media (min-width: 562px) {
  .sp-menu .blog-img {
    width: 56px;
  }
}
.sp-menu .title {
  color: black;
  font-size: 14px;
}
@media (min-width: 562px) {
  .sp-menu .title {
    font-size: 22px;
  }
}
.sp-menu .sub-title {
  font-family: Noto Sans JP;
  font-size: 10px;
}
@media (min-width: 562px) {
  .sp-menu .sub-title {
    font-size: 15px;
  }
}
.sp-menu .access-text {
  height: 30px;
}
@media (min-width: 562px) {
  .sp-menu .access-text {
    height: 40px;
  }
}
.sp-menu .circle {
  color: white;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #5BAC29;
}
@media (min-width: 562px) {
  .sp-menu .circle {
    width: 100px;
    height: 100px;
  }
}
.sp-menu .circle-text {
  font-size: 12px;
}
@media (min-width: 562px) {
  .sp-menu .circle-text {
    font-size: 15px;
  }
}
.sp-menu .contact-online-img {
  width: 24px;
}
@media (min-width: 562px) {
  .sp-menu .contact-online-img {
    width: 35px;
  }
}
.sp-menu .sns-link {
  width: 60%;
  margin: 0 auto 0 auto;
}
@media (min-width: 562px) {
  .sp-menu .sns-link {
    width: 50%;
  }
}
.sp-menu .instagram-icon {
  width: 30px;
}
@media (min-width: 562px) {
  .sp-menu .instagram-icon {
    width: 40px;
  }
}
.sp-menu .facebook-icon {
  width: 34px;
}
@media (min-width: 562px) {
  .sp-menu .facebook-icon {
    width: 44px;
  }
}
.sp-menu .line-icon {
  width: 30px;
}
@media (min-width: 562px) {
  .sp-menu .line-icon {
    width: 40px;
  }
}
.sp-menu .youtube-icon {
  width: 39px;
}
@media (min-width: 562px) {
  .sp-menu .youtube-icon {
    width: 49px;
  }
}
.sp-menu .address {
  font-size: 13px;
  border-top: solid 1px #5BAC29;
  width: 90vw;
  margin: 0 auto 0 auto;
  height: 10%;
}
@media (min-width: 562px) {
  .sp-menu .address {
    font-size: 20px;
  }
}
.sp-menu .number {
  font-size: 18px;
}
@media (min-width: 562px) {
  .sp-menu .number {
    font-size: 25px;
  }
}
.sp-menu .dli-close {
  display: none;
  vertical-align: middle;
  color: #5BAC29;
  line-height: 1;
  width: 1em;
  height: 0.1em;
  background: currentColor;
  border-radius: 0.1em;
  position: relative;
  transform: rotate(45deg);
}
.sp-menu .dli-close::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
}

body .page {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  letter-spacing: 0.05em !important;
}

.open-menu {
  overflow: hidden;
}

.top-header {
  font-family: Shippori Mincho;
  overflow-x: hidden;
  overflow-y: scroll;
  width: 90vw;
  margin: 0 auto 0 auto;
  letter-spacing: 0.05em;
}
@media (max-width: 1024px) {
  .top-header {
    padding: 0;
    width: 100vw;
  }
}
.top-header a {
  text-decoration: none;
}
.top-header a:hover {
  opacity: 0.7;
}
.top-header .nojo-text {
  font-size: 14px;
}
@media (max-width: 1024px) {
  .top-header .nojo-text {
    display: none;
  }
}
.top-header .opening-hours-container {
  display: flex;
  margin: 0 0 0 auto;
}
@media (max-width: 1024px) {
  .top-header .opening-hours-container {
    display: none;
  }
}
.top-header .opening-hours-img {
  width: 34px;
}
.top-header .opening-hours-img-wrapper {
  left: 50px;
}
.top-header .opening-hours-text {
  font-family: Shippori Mincho;
}
.top-header .text-top {
  font-size: 14px;
}
.top-header .text-middle {
  font-size: 22px;
  letter-spacing: 4px;
}
.top-header .text-bottom {
  font-size: 14px;
}
@media (max-width: 1024px) {
  .top-header .header-lower {
    display: none;
  }
}
.top-header .about-img {
  width: 70px;
  margin: 0 auto 10px auto;
}
.top-header .outdoor-img {
  width: 50px;
  margin: 0 auto 10px auto;
}
.top-header .cafe-img {
  width: 43px;
  margin: 0 auto 10px auto;
}
.top-header .access-img {
  width: 25px;
  margin: 0 auto 10px auto;
}
.top-header .member-img {
  width: 40px;
  margin: 0 auto 10px auto;
}
.top-header .blog-img {
  width: 46px;
  margin: 0 auto 10px auto;
}
.top-header .top-devide {
  margin: auto 0 8px 0;
  height: 90px;
  border-right: solid 0.5px #d9d9d9;
}
.top-header .access-text-top {
  font-family: Noto Sans JP;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
}
.top-header .doshin-icon-wrapper {
  position: relative;
  width: 150px;
}
.top-header .doshin-icon {
  width: 154px;
  padding: 0 0 20px 0;
  position: absolute;
  top: -150px;
  left: 50%;
  transform: translateX(-50%);
}
.top-header .title {
  font-family: Shippori Mincho;
  font-size: 17px;
  color: black;
  font-weight: bold;
}
.top-header .sub-title {
  font-family: Noto Sans JP;
  word-break: keep-all;
  font-size: 10px;
}
.top-header .sm-header-img-container {
  display: none;
}
@media (max-width: 1024px) {
  .top-header .sm-header-img-container {
    display: flex;
  }
}
.top-header .sm-header-img {
  width: 100%;
  height: 100%;
  max-width: 100px;
}
.top-header .sm-header-img:hover {
  opacity: 0.7;
}

.top {
  height: fit-content;
  contain: paint;
}
.top .firstview {
  z-index: 1;
  font-family: Shippori Mincho;
  position: relative;
  width: 90vw;
  margin: 0 auto 0 auto;
  display: flex;
  flex-direction: column;
}
.top .firstview .firstview-img-wrap {
  position: relative;
  overflow: hidden;
  width: 100vw;
  height: calc(100vh - 224px);
}
@media (max-width: 1024px) {
  .top .firstview .firstview-img-wrap {
    z-index: 0;
    height: calc(100vh - 90px);
  }
}
.top .firstview .firstview-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 90%;
  height: 100%;
  object-fit: cover;
}
.top .firstview .firstview-text-container {
  position: absolute;
  top: 30%;
  left: 5%;
}
@media (max-width: 768px) {
  .top .firstview .firstview-text-container {
    top: 100px;
    left: 0;
  }
}
@media (max-width: 578px) {
  .top .firstview .firstview-text-container {
    top: auto;
    left: 10px;
    bottom: 100px;
  }
}
.top .firstview .firstview-text-upper {
  font-size: 14px;
  background: rgba(255, 255, 255, 0.8);
  letter-spacing: 3px;
  width: fit-content;
}
@media (max-width: 1024px) {
  .top .firstview .firstview-text-upper {
    font-size: 13px;
    display: flex;
    flex-direction: column;
  }
}
.top .firstview .firstview-text-lower {
  font-size: 24px;
  background: rgba(255, 255, 255, 0.8);
  letter-spacing: 6px;
  width: fit-content;
}
@media (max-width: 1024px) {
  .top .firstview .firstview-text-lower {
    font-size: 16px;
  }
}
.top .firstview .section-devide {
  width: 100%;
  position: absolute;
  bottom: -1px;
}
@media (max-width: 768px) {
  .top .firstview .section-devide {
    top: 94%;
  }
}
.top .firstview .section-devide .kujunow-circle-container {
  position: absolute;
  top: 50px;
  transform: translateY(-50%);
}
.top .firstview .section-devide .kujunow-mont-wrapper {
  position: relative;
  width: 100vw;
}
.top .firstview .section-devide .kujunow-mont {
  width: 100%;
  min-width: 500px;
}
@media (max-width: 768px) {
  .top .firstview .section-devide .kujunow-mont {
    min-width: 800px;
  }
}
.top .firstview .section-devide .kujunow-circle {
  width: 120px;
  height: 120px;
  font-family: Shippori Mincho;
  color: #e0973d;
  border-radius: 50%;
  background-color: white;
  box-shadow: 0px 0px 3px 2px rgba(0, 0, 0, 0.1);
  position: relative;
}
.top .firstview .section-devide .dli-chevron-down {
  display: inline-block;
  vertical-align: middle;
  color: #e0973d;
  line-height: 1;
  width: 1em;
  height: 1em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
}
.top .firstview .section-devide .assist-camera-orange {
  position: absolute;
  top: -18px;
  left: -16%;
  width: 157px;
}
.top .green-bubble-wrapper {
  position: absolute;
}
@media (max-width: 992px) {
  .top .green-bubble-wrapper {
    position: relative;
  }
}
.top .green-bubble {
  background-color: #5bac29;
  position: relative;
  width: 170px;
  height: 64px;
  padding: 5px 10px;
  border-radius: 5px;
  text-align: center;
  top: -110px;
  left: 140px;
}
.top .green-bubble:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 25%;
  width: 0;
  height: 0;
  margin-bottom: -8px;
  border-left: 8px solid #5bac29;
  border-top: 8px solid #5bac29;
  border-right: 8px solid transparent;
  border-bottom: 8px solid transparent;
}
.top .green-bubble-md {
  background-color: #5bac29;
  position: absolute;
  width: 170px;
  height: 64px;
  padding: 5px 10px;
  border-radius: 5px;
  top: -64px;
  left: 50%;
  transform: translateX(-50%);
}
.top .green-bubble-md:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border: 5px solid transparent;
  border-top: 8px solid #5bac29;
}
.top .bubble-text-bold {
  color: #ffffff;
  font-family: Noto Sans JP;
  font-size: 20px;
  font-weight: 400;
  line-height: 23.17px;
  letter-spacing: 0.05em;
  margin-right: 2px;
}
.top .bubble-text {
  color: #ffffff;
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 400;
  line-height: 23.17px;
  letter-spacing: 0.05em;
  text-align: center;
}
.top .camera-action-section {
  margin-top: 40px;
}
@media (max-width: 992px) {
  .top .camera-action-section {
    margin-top: 100px;
  }
}
.top .kujunow {
  width: 100vw;
  z-index: 2;
}
.top .kujunow .back-color {
  background-color: #f2f5f0;
  padding-top: 100px;
  padding-bottom: 50px;
}
.top .kujunow .main-container {
  width: 90vw;
  margin: 0 auto 0 auto;
  display: flex;
  flex-direction: column;
}
.top .kujunow .assist-camera {
  width: 100%;
  height: 600px;
  background-color: blue;
}
.top .kujunow .weather-container {
  width: 80%;
  font-family: Shippori Mincho;
}
.top .kujunow .weather-line {
  width: 30%;
  border: solid 0.5px #a2a2a2;
}
.top .kujunow .today-weather {
  font-size: 20px;
}
.top .kujunow .weather-title {
  border: solid 1px #a2a2a2;
  padding: 5px;
  font-size: 14px;
}
.top .kujunow .week-weather-text {
  font-size: 14px;
}
.top .kujunow .comment-container {
  font-family: Shippori Mincho;
  width: 70%;
}
.top .kujunow .comment-content {
  border: solid 1px;
  font-family: Noto Sans JP;
  font-weight: 300;
}
.top .kujunow .live-camera-green {
  margin-right: 10px;
}
.top .kujunow .ac-main-text {
  color: #5bac29;
  font-size: 32px;
  font-family: Shippori Mincho;
  font-weight: 700;
  line-height: 46.34px;
  letter-spacing: 0.1em;
  text-align: left;
}
@media (max-width: 768px) {
  .top .kujunow .ac-main-text {
    font-size: 24px;
  }
}
.top .kujunow .ac-sub-text {
  color: #2f2f2f;
  font-family: Noto Sans JP;
  font-size: 18px;
  font-weight: 400;
  line-height: 30.6px;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 10px;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .top .kujunow .ac-sub-text {
    font-size: 16px;
  }
}
.top .kujunow .asistcamera-describe-wrapper {
  max-width: 1000px;
}
.top .kujunow .row-describe {
  background-color: #ffffff;
  border: 2px solid #5bac29;
  padding: 14px;
}
@media (max-width: 768px) {
  .top .kujunow .row-describe {
    margin: 0;
  }
}
.top .kujunow .border-r {
  border-right: 1px solid #5bac29;
}
@media (max-width: 992px) {
  .top .kujunow .border-r {
    border-right: none;
    border-bottom: 1px solid #5bac29;
    padding: 20px 10px;
  }
}
.top .kujunow .view-desc-title {
  color: #5bac29;
  font-size: 20px;
  font-weight: 700;
  line-height: 28.96px;
  letter-spacing: 0.05em;
  text-align: center;
}
.top .kujunow .view-desc-left-text {
  font-size: 16px;
  font-weight: 700;
  line-height: 27.2px;
  letter-spacing: 0.05em;
  text-align: left;
}
.top .kujunow .view-desc-right-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 23.17px;
  letter-spacing: 0.05em;
  text-align: center;
}
@media (max-width: 992px) {
  .top .kujunow .view-desc-right-title {
    padding: 20px 10px;
  }
}
.top .kujunow .view-desc-right-text {
  font-size: 16px;
  font-weight: 400;
  line-height: 27.2px;
  letter-spacing: 0.05em;
  text-align: left;
}
.top .kujunow .col-camera-map-wrapper {
  background-color: #5bac29;
  border-radius: 10px;
  padding: 0 16px;
}
.top .kujunow .camera-map-title {
  color: #ffffff;
  font-size: 20px;
  line-height: 30px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: left;
  margin: 12px 2px;
  display: inline-block;
}
@media (max-width: 992px) {
  .top .kujunow .camera-map-title {
    display: block;
    text-align: center;
  }
}
.top .kujunow .camera-map-text-top {
  color: #ffffff;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0.05em;
  text-align: left;
}
@media (max-width: 992px) {
  .top .kujunow .camera-map-text-top {
    display: block;
    text-align: center;
    margin-bottom: 12px;
  }
}
@media (max-width: 768px) {
  .top .kujunow .camera-map-text-top {
    font-size: 15px;
  }
}
.top .kujunow .camara-map-text-bottom {
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 23.17px;
  letter-spacing: 0.05em;
  text-align: center;
}
@media (max-width: 768px) {
  .top .kujunow .camara-map-text-bottom {
    font-size: 15px;
  }
}
.top .kujunow .white-bubble {
  color: #5bac29;
  position: relative;
  display: inline-block;
  margin: 1em 13px 1em 0;
  padding: 0 5px;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 9px;
  font-weight: bold;
  background: #ffffff;
  opacity: 0.8;
  border-radius: 50%;
  box-sizing: border-box;
}
.top .kujunow .white-bubble:before {
  content: "";
  position: absolute;
  top: 50%;
  right: -12px;
  margin-top: -7px;
  border: 7px solid transparent;
  border-left: 7px solid #ffffff;
  z-index: 0;
}
.top .kujunow .white-bubble-text {
  display: inline-block;
  transform: translateY(2px);
}
.top .kujunow .col-kuju-camera-wrapper {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 0 16px;
}
.top .kujunow .kuju-camera-title {
  display: inline-block;
  color: #5bac29;
  font-size: 28px;
  font-weight: 700;
  line-height: 36.4px;
  letter-spacing: 0.05em;
  margin: 14px 0;
}
@media (max-width: 992px) {
  .top .kujunow .kuju-camera-title {
    text-align: center;
  }
}
.top .kujunow .tarzan-camera-title {
  display: none;
  color: #e0973d;
  font-size: 28px;
  font-weight: 700;
  line-height: 36.4px;
  letter-spacing: 0.05em;
  margin: 14px 0;
}
@media (max-width: 992px) {
  .top .kujunow .tarzan-camera-title {
    text-align: center;
  }
}
.top .kujunow .aso-camera-title {
  display: none;
  color: #1e77c7;
  font-size: 28px;
  font-weight: 700;
  line-height: 36.4px;
  letter-spacing: 0.05em;
  margin: 14px 0;
}
@media (max-width: 992px) {
  .top .kujunow .aso-camera-title {
    text-align: center;
  }
}
.top .kujunow .kuju-camera {
  display: none;
}
.top .kujunow .tarzan-camera {
  display: inline-block;
}
.top .kujunow .aso-camera {
  display: inline-block;
}
.top .kujunow .kuju-camera-text {
  text-align: center;
  display: flex;
  flex-direction: column;
}
@media (max-width: 768px) {
  .top .kujunow .kuju-camera-text {
    display: inline-block;
    flex-direction: row;
  }
}
.top .kujunow .kuju-camera-text span {
  font-size: 12px;
  display: inline-block;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.top .kujunow .arrow-down-icon {
  width: 12px;
  height: 12px;
  margin-right: 4px;
  padding-bottom: 2px;
}
.top .kujunow .arrow-right-icon {
  width: 12px;
  height: 12px;
  transform: translateY(-2px);
  margin-right: 4px;
}
.top .kujunow .camera-button-wrapper {
  text-align: center;
  margin-top: 4px;
}
.top .kujunow .camera-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media (max-width: 767px) {
  .top .kujunow .camera-row {
    flex-direction: row;
  }
}
@media (max-width: 508px) {
  .top .kujunow .camera-text-wrapper {
    display: flex;
    align-items: center;
  }
}
.top .kujunow .btn-camera {
  border-radius: 30px;
  border-width: 3px;
  width: 7em;
  height: 2.5em;
  padding-top: 2px;
}
@media (max-width: 768px) {
  .top .kujunow .btn-camera {
    margin: 3px;
  }
}
.top .kujunow .btn-action {
  font-size: 12px;
  border-radius: 30px;
  border-width: 2px;
  padding-left: 1em;
  padding-right: 1em;
}
.top .kujunow .btn-action2 {
  font-size: 12px;
  border-radius: 6px;
  border-width: 2px;
  padding: 2px 1em;
  margin-left: 4px;
}
.top .kujunow .btn-outline-dark.btn-action,
.top .kujunow .btn-outline-dark.btn-action2 {
  --bs-btn-color: #616161;
  --bs-btn-border-color: #616161;
  --bs-btn-hover-color: #616161;
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: #616161;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #616161;
  --bs-btn-active-border-color: #616161;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #616161;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #616161;
  --bs-gradient: none;
}
.top .kujunow .btn-outline-primary.btn-camera {
  --bs-btn-color: #95BDE4;
  --bs-btn-border-color: #95BDE4;
  --bs-btn-hover-color: #95BDE4;
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: #95BDE4;
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #fff;
  --bs-btn-active-border-color: #1e77c7;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #1e77c7;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #1e77c7;
  --bs-gradient: none;
}
.top .kujunow .btn-outline-warning.btn-camera {
  --bs-btn-color: #e0973d;
  --bs-btn-border-color: #e0973d;
  --bs-btn-hover-color: #e0973d;
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: #e0973d;
  --bs-btn-focus-shadow-rgb: 255, 193, 7;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #fff;
  --bs-btn-active-border-color: #e0973d;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #e0973d;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #e0973d;
  --bs-gradient: none;
}
.top .kujunow .btn-outline-success.btn-camera {
  --bs-btn-color: #5bac29;
  --bs-btn-border-color: #5bac29;
  --bs-btn-hover-color: #5bac29;
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: #5bac29;
  --bs-btn-focus-shadow-rgb: 25, 135, 84;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #fff;
  --bs-btn-active-border-color: #5bac29;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #5bac29;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #5bac29;
  --bs-gradient: none;
}
.top .kujunow .camera-icon {
  margin-right: 10px;
  display: inline-block;
  width: 20px;
  height: 20px;
}
.top .kujunow .camera-button-text {
  display: inline-block;
  text-align: center;
  font-size: 10px;
}
.top .kujunow .camera-button-text.br {
  vertical-align: top;
}
.top .kujunow .ready {
  transform: rotate(4deg);
  display: inline-block;
  color: #fff;
  background-color: #1e77c7;
}
.top .kujunow .camera-control-box {
  margin: 10px 0;
  color: #616161;
  border-radius: 8px;
  padding: 10px 0;
  background-color: #f2f5f0;
}
.top .kujunow .camera-control-box .desc {
  text-align: center;
  margin-bottom: 6px;
}
.top .kujunow .camera-control-box .action-right {
  text-align: right;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .top .kujunow .camera-control-box .action-right {
    text-align: center;
  }
}
.top .kujunow .camera-control-box .action-buttons {
  text-align: center;
}
@media (max-width: 768px) {
  .top .kujunow .camera-control-box .divide {
    border-top: solid #d9d9d9;
    margin: 10px 0;
    padding: 0 6px;
  }
}
.top .kujunow .cmera-control-box-action-desc {
  font-size: 12px;
  display: inline-block;
}
.top .kujunow .cmera-control-box-action-desc .action-arrow-right {
  display: inline-block;
  margin-bottom: 4px;
  margin-left: 2px;
}
.top .kujunow .assist-camera-date {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 768px) {
  .top .kujunow .assist-camera-date {
    display: inline-block;
  }
}
.top .kujunow .camera-down-icon {
  display: none;
}
@media (max-width: 768px) {
  .top .kujunow .camera-down-icon {
    display: inline-block;
  }
}
.top .kujunow .camera-right-icon {
  display: inline-block;
  margin-right: 7px;
}
@media (max-width: 768px) {
  .top .kujunow .camera-right-icon {
    display: none;
  }
}
.top .kujunow .assist-camera-pose {
  display: inline-block;
}
.top .kujunow .assist-camera-play {
  display: none;
  filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(356deg) brightness(109%) contrast(96%);
}
.top .kujunow .fullscreen-icon-wrapper {
  width: 25px;
  display: flex;
  cursor: pointer;
}
.top .kujunow .fullscreen-expand-icon {
  display: inline-block;
}
.top .kujunow .fullscreen-compress-icon {
  display: none;
  filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(356deg) brightness(109%) contrast(96%);
}
.top .about {
  font-family: Shippori Mincho;
}
.top .about .about-main {
  width: 90vw;
  margin: 100px auto 0 auto;
}
.top .about .img-web {
  display: inline-block;
}
@media (max-width: 768px) {
  .top .about .img-web {
    display: none;
  }
}
.top .about .img-sp {
  display: none;
}
@media (max-width: 768px) {
  .top .about .img-sp {
    display: flex;
  }
}
.top .about .about-title {
  margin: 0 0 50px 8.3%;
}
@media (max-width: 768px) {
  .top .about .about-title {
    margin: 0 0 50px 0;
  }
}
.top .about .main-title {
  font-size: 16px;
  color: #a2a2a2;
}
@media (max-width: 768px) {
  .top .about .main-title {
    font-size: 14px;
  }
}
.top .about .sub-title {
  font-size: 28px;
}
@media (max-width: 768px) {
  .top .about .sub-title {
    font-size: 24px;
  }
}
.top .about .about-content {
  margin-bottom: 200px;
}
@media (max-width: 768px) {
  .top .about .about-content {
    margin-bottom: 70px;
  }
}
@media (max-width: 768px) {
  .top .about .content-reverse {
    flex-direction: column-reverse;
  }
}
.top .about .display-web {
  display: flex;
}
@media (max-width: 768px) {
  .top .about .display-web {
    display: none;
  }
}
.top .about .display-sp {
  display: none;
}
@media (max-width: 768px) {
  .top .about .display-sp {
    display: flex;
  }
}
.top .about .about-content-text {
  line-height: 2em;
  white-space: nowrap;
  font-size: 18px;
}
@media (max-width: 992px) {
  .top .about .about-content-text {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .top .about .text-centerize {
    text-align: center;
  }
}
@media (max-width: 768px) {
  .top .about .img2-wrapper {
    display: flex;
    width: 100%;
    justify-content: end;
    align-items: end;
    margin-bottom: 70px;
  }
}
.top .about .img2-sp {
  width: 75%;
  margin: 0 0 0 auto;
}
.top .about .img3-absolute {
  width: 45%;
}
.top .about .img4-absolute {
  margin-top: 20px;
  width: 45%;
}
.top .about .img5-absolute-wrapper {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 20px;
}
.top .about .img5-absolute {
  width: 85%;
}
@media (max-width: 768px) {
  .top .about .img5-absolute {
    width: 100%;
    margin-bottom: 70px;
  }
}
.top .about .about-img-wrapper {
  position: relative;
}
.top .about .img6-absolute {
  position: absolute;
  width: 25%;
  left: 65px;
  top: -275px;
  z-index: 2;
  min-width: 160px;
}
@media (max-width: 768px) {
  .top .about .img6-absolute {
    position: relative;
    top: 0;
    left: 0;
    margin-bottom: 70px;
  }
}
@media (max-width: 768px) {
  .top .about .img7-wrapper {
    text-align: center;
    margin-bottom: 70px;
  }
}
.top .about .img7-absolute {
  position: absolute;
  width: 40%;
  top: -170px;
  left: 170px;
  z-index: 1;
  min-width: 240px;
}
@media (max-width: 768px) {
  .top .about .img7-absolute {
    position: relative;
    top: 0;
    left: 0;
  }
}
@media (max-width: 768px) {
  .top .about .height-sp {
    height: 400px;
  }
}
.top .about .img-sp-wrapper {
  position: relative;
  margin-bottom: 70px;
  align-items: center;
  height: 345px;
  width: 50vw;
  display: inline-block;
}
.top .about .about-img-sp {
  width: 55%;
  margin: 0 auto 70px auto;
  min-width: 300px;
}
.top .about .img8-absolute {
  margin: 0 auto 0 40px;
  width: 50%;
  min-width: 330px;
  z-index: 2;
}
.top .about .img9-absolute {
  margin: 0 40px 0 auto;
  width: 50%;
  z-index: 1;
}
.top .about .btn--orange,
.top .about a.btn--orange {
  color: #fff;
  background-color: #e0973d;
  width: 16em;
  height: 3em;
  line-height: 31px;
}
@media (max-width: 768px) {
  .top .about .btn--orange,
  .top .about a.btn--orange {
    font-size: 13px;
  }
}
.top .about .btn--orange:hover,
.top .about a.btn--orange:hover {
  opacity: 0.7;
}
.top .about a.btn--radius {
  border-radius: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top .about .dli-chevron-round-right {
  margin-left: 10px;
  display: inline-block;
  vertical-align: middle;
  color: black;
  line-height: 1;
  position: relative;
  width: 12px;
  height: 12px;
  transform: translateX(-10%) rotate(45deg);
}
.top .about .dli-chevron-round-right::before,
.top .about .dli-chevron-round-right::after {
  content: "";
  position: absolute;
  background: currentColor;
  border-radius: 0.1em;
}
.top .about .dli-chevron-round-right::before {
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
}
.top .about .dli-chevron-round-right::after {
  top: 0;
  right: 0;
  bottom: 0;
  width: 1px;
}
.top .about .episode-link {
  text-decoration: none;
  color: black;
  justify-content: end;
}
.top .about .episode-link:hover {
  opacity: 0.7;
}
@media (max-width: 769px) {
  .top .about .episode-link {
    justify-content: center;
  }
}
@media (max-width: 992px) {
  .top .about .episode-link {
    font-size: 14px;
  }
}
.top .about .first-content {
  margin-bottom: 100px;
}
.top .about .sp-justify-center {
  justify-content: space-evenly;
}
@media (max-width: 1024px) {
  .top .about .sp-justify-center {
    justify-content: center;
  }
}
.top .concept {
  font-family: Shippori Mincho;
  position: relative;
}
.top .concept .video-wrapper {
  position: sticky;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
.top .concept .video-wrapper-inner {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  background-image: linear-gradient(transparent 120vh, #000000 160vh, #000000 100%);
  transition: all 1s;
}
.top .concept .video-wrapper-inner::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background-image: linear-gradient(transparent 20vh, #000000 100vh, #000000 100%);
  transition: all 1s;
}
.top .concept .sec-video {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
  display: block;
}
@media (max-width: 768px) {
  .top .concept .sec-video {
    display: none;
  }
}
.top .concept .sec-video-sp {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
  display: none;
}
@media (max-width: 768px) {
  .top .concept .sec-video-sp {
    display: block;
  }
}
.top .concept .concept-title {
  color: white;
  position: relative;
}
@media (max-width: 1024px) {
  .top .concept .concept-title {
    margin-top: -20%;
  }
}
.top .concept .title-upper {
  font-size: 16px;
}
@media (max-width: 992px) {
  .top .concept .title-upper {
    font-size: 14px;
  }
}
.top .concept .title-middle {
  font-size: 24px;
}
@media (max-width: 992px) {
  .top .concept .title-middle {
    font-size: 20px;
  }
}
.top .concept .title-lower {
  font-size: 40px;
}
@media (max-width: 992px) {
  .top .concept .title-lower {
    font-size: 32px;
  }
}
.top .concept .experience {
  margin-top: 300px;
  gap: 5vw;
}
@media (max-width: 992px) {
  .top .concept .experience {
    margin-top: 50px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.top .concept .playing {
  background-image: url("../assets/images/playing-back.png");
}
.top .concept .learning {
  background-image: url("../assets/images/learning-back.png");
}
.top .concept .hearing {
  background-image: url("../assets/images/hearing-back.png");
}
.top .concept .experience-right {
  display: flex;
  gap: 5vw;
}
.top .concept .experience-content {
  position: relative;
  border: solid 1px white;
  background-size: cover;
  height: 200px;
  width: 200px;
  border-radius: 50%;
  font-size: 40px;
  color: white;
  padding: 70px 0;
}
@media (max-width: 992px) {
  .top .concept .experience-content {
    font-size: 28px;
    height: 150px;
    width: 150px;
    padding: 53px 0;
  }
}
.top .concept .experience-content::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-color: rgba(97, 97, 97, 0.6);
  border-radius: 50%;
}
.top .concept .experience-inner {
  text-align: center;
  position: absolute;
  width: 100%;
}
.top .concept .concept-text {
  margin-top: 200px;
  position: relative;
}
@media (max-width: 992px) {
  .top .concept .concept-text {
    margin-top: 80px;
  }
}
.top .concept .concept-text-inner {
  width: 40vw;
  font-family: Noto Sans JP;
  color: white;
}
@media (max-width: 992px) {
  .top .concept .concept-text-inner {
    font-size: 15px;
    width: 90vw;
  }
}
.top .concept .learn-more {
  width: 80vw;
  margin: 0 auto 0 auto;
  margin-top: 75px;
  padding-bottom: 150px;
  position: relative;
}
@media (max-width: 992px) {
  .top .concept .learn-more {
    width: 90vw;
  }
}
.top .concept .btn--orange,
.top .concept a.btn--orange {
  color: #fff;
  background-color: #e0973d;
  width: 10em;
  height: 3em;
  line-height: 31px;
}
.top .concept .btn--orange:hover,
.top .concept a.btn--orange:hover {
  opacity: 0.7;
}
.top .concept a.btn--radius {
  border-radius: 100vh;
}
@media (max-width: 992px) {
  .top .concept .sp-margin {
    margin-bottom: 1.5em;
  }
}
@media (max-width: 767px) {
  .top .concept .outdoor-card {
    margin-bottom: 1.5em;
  }
}
.top .concept .card {
  border: none;
}
.top .concept .card-wrapper {
  background-color: #fff;
  padding: 1rem;
  border-radius: 5px;
}
.top .concept .card-inner {
  background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='5' ry='5' stroke='%235BAC29FF' stroke-width='3' stroke-dasharray='8%2c8' stroke-dashoffset='8' stroke-linecap='square'/%3e%3c/svg%3e");
  border-radius: 5px;
  background-color: #fff;
  padding: 1rem;
}
.top .concept .card-img-wrapper {
  width: 45%;
  border-radius: 5px;
}
@media (max-width: 768px) {
  .top .concept .card-img-wrapper {
    width: 100%;
  }
}
.top .concept .house-card-img-wrapper {
  width: 50%;
  border-radius: 5px;
}
@media (max-width: 768px) {
  .top .concept .house-card-img-wrapper {
    width: 100%;
  }
}
.top .concept .card-img {
  padding: 1em;
}
.top .concept .card-subtext {
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
}
@media (max-width: 992px) {
  .top .concept .card-subtext {
    font-size: 13px;
  }
}
.top .concept .card-body {
  margin: 2em 0 1em 0;
  padding: 0;
}
.top .concept .house-card-body {
  margin: 2em 0em 1em 1em;
  padding: 0;
  width: 50%;
}
@media (max-width: 768px) {
  .top .concept .house-card-body {
    width: 100%;
    margin: 2em 0 1em 0;
  }
}
.top .concept .card-title {
  font-size: 18px;
  font-weight: 500;
  line-height: 36px;
  letter-spacing: 0.1em;
  text-align: center;
  border-radius: 5px 5px 0px 0px;
}
@media (max-width: 992px) {
  .top .concept .card-title {
    font-size: 20px;
  }
}
.top .concept .card-info {
  font-family: Noto Sans JP;
  font-size: 24px;
  line-height: 40.8px;
  letter-spacing: 0.15em;
  text-align: center;
  background-color: #f2f5f0;
  border-radius: 0px 0px 5px 5px;
  vertical-align: middle;
}
.top .concept .card-title {
  font-size: 24px;
  font-weight: 400;
  line-height: 36px;
}
.top .concept .card-text {
  background-color: #f2f5f0;
  border-radius: 3px;
  font-family: Noto Sans JP;
  color: #616161;
  font-size: 14px;
}
@media (max-width: 992px) {
  .top .concept .card-text {
    font-size: 13px;
  }
}
.top .concept .card-font16 {
  font-family: Noto Sans JP;
  font-size: 16px;
  line-height: 27px;
  text-align: center;
}
.top .concept .gray {
  color: #a2a2a2;
  font-family: Noto Sans JP;
  font-size: 16px;
  line-height: 27px;
  text-align: center;
}
.top .concept .card-font15 {
  font-family: Noto Sans JP;
  font-size: 15px;
  line-height: 25px;
  text-align: center;
}
.top .concept .card-price {
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 500;
  line-height: 23px;
  letter-spacing: 0.05em;
  text-align: center;
  background-color: #f2f5f0;
  border-radius: 0px 0px 5px 5px;
  height: 52px;
  padding-top: 1rem;
}
.top .concept .flex-column-sp {
  flex-direction: row;
}
@media (max-width: 768px) {
  .top .concept .flex-column-sp {
    flex-direction: column;
  }
}
.top .news {
  font-family: Shippori Mincho;
  margin-top: 150px;
}
.top .news a {
  text-decoration: none;
  color: black;
}
.top .news a:hover {
  opacity: 0.7;
  cursor: pointer;
}
.top .news .news-title-wrapper {
  margin-bottom: 50px;
}
.top .news .main-title {
  font-size: 16px;
  color: #a2a2a2;
}
.top .news .sub-title {
  font-size: 28px;
  word-break: keep-all;
}
.top .news .br-sp {
  display: none;
}
@media (max-width: 600px) {
  .top .news .br-sp {
    display: block;
  }
}
.top .news .news-content-container {
  width: 60vw;
  margin: 0 auto 0 auto;
}
@media (max-width: 768px) {
  .top .news .news-content-container {
    width: 90vw;
  }
}
.top .news .news-content {
  background-color: #f2f5f0;
  width: 100%;
  border-radius: 10px;
  height: 4em;
  align-items: center;
  justify-content: start;
}
@media (max-width: 768px) {
  .top .news .news-content {
    padding-top: 8px;
    flex-direction: column;
    align-items: start;
    justify-content: center;
  }
}
.top .news .news-day {
  font-size: 14px;
  width: 10em;
}
.top .news .news-title {
  font-size: 18px;
  flex: 1;
  border-left: solid 1px #a2a2a2;
}
@media (max-width: 768px) {
  .top .news .news-title {
    border: none;
  }
}
.top .news .show-more-button-wrapper {
  width: 60vw;
  margin: 20px auto 0 auto;
}
@media (max-width: 768px) {
  .top .news .show-more-button-wrapper {
    width: 90vw;
  }
}
.top .news .btn--orange,
.top .news a.btn--orange {
  color: #fff;
  background-color: #e0973d;
  width: 10em;
  height: 3em;
  line-height: 27px;
  font-family: Noto Sans JP;
  font-size: 14px;
}
.top .news .btn--orange:hover,
.top .news a.btn--orange:hover {
  opacity: 0.7;
}
.top .news a.btn--radius {
  border-radius: 100vh;
}
.top .news .blog-banner-container {
  width: 60vw;
  margin: 100px auto 150px auto;
}
@media (max-width: 768px) {
  .top .news .blog-banner-container {
    width: 90vw;
  }
}

.modal .modal-content .camera-action-section {
  margin-top: 40px;
}
@media (max-width: 992px) {
  .modal .modal-content .camera-action-section {
    margin-top: 100px;
  }
}
.modal .modal-content .assist-camera {
  width: 100%;
  height: 600px;
  background-color: blue;
}
.modal .modal-content .col-kuju-camera-wrapper {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 0 16px;
}
.modal .modal-content .btn-action {
  font-size: 12px;
  border-radius: 30px;
  border-width: 2px;
  padding-left: 1em;
  padding-right: 1em;
}
.modal .modal-content .btn-action2 {
  font-size: 12px;
  border-radius: 6px;
  border-width: 2px;
  padding: 2px 1em;
  margin-left: 4px;
}
.modal .modal-content .btn-outline-dark.btn-action,
.modal .modal-content .btn-outline-dark.btn-action2 {
  --bs-btn-color: #616161;
  --bs-btn-border-color: #616161;
  --bs-btn-hover-color: #616161;
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: #616161;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #616161;
  --bs-btn-active-border-color: #616161;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #616161;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #616161;
  --bs-gradient: none;
}
.modal .modal-content .btn-outline-primary.btn-camera {
  --bs-btn-color: #95BDE4;
  --bs-btn-border-color: #95BDE4;
  --bs-btn-hover-color: #95BDE4;
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: #95BDE4;
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #fff;
  --bs-btn-active-border-color: #1e77c7;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #1e77c7;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #1e77c7;
  --bs-gradient: none;
}
.modal .modal-content .btn-outline-warning.btn-camera {
  --bs-btn-color: #e0973d;
  --bs-btn-border-color: #e0973d;
  --bs-btn-hover-color: #e0973d;
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: #e0973d;
  --bs-btn-focus-shadow-rgb: 255, 193, 7;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #fff;
  --bs-btn-active-border-color: #e0973d;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #e0973d;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #e0973d;
  --bs-gradient: none;
}
.modal .modal-content .btn-outline-success.btn-camera {
  --bs-btn-color: #5bac29;
  --bs-btn-border-color: #5bac29;
  --bs-btn-hover-color: #5bac29;
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: #5bac29;
  --bs-btn-focus-shadow-rgb: 25, 135, 84;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #fff;
  --bs-btn-active-border-color: #5bac29;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #5bac29;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #5bac29;
  --bs-gradient: none;
}
.modal .modal-content .camera-control-box {
  margin: 10px 0;
  color: #616161;
  border-radius: 8px;
  padding: 10px 0;
  background-color: #f2f5f0;
}
.modal .modal-content .camera-control-box .desc {
  text-align: center;
  margin-bottom: 6px;
}
.modal .modal-content .camera-control-box .action-right {
  text-align: right;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .modal .modal-content .camera-control-box .action-right {
    text-align: center;
  }
}
.modal .modal-content .camera-control-box .cameara-date-left {
  margin-left: auto;
}
.modal .modal-content .camera-control-box .action-buttons {
  text-align: center;
}
.modal .modal-content .camera-control-box .hide-modal-wrapper {
  margin-left: auto;
  margin-right: 0;
}
@media (max-width: 768px) {
  .modal .modal-content .camera-control-box .divide {
    border-top: solid #d9d9d9;
    margin: 10px 0;
    padding: 0 6px;
  }
}
.modal .modal-content .cmera-control-box-action-desc {
  font-size: 12px;
  display: inline-block;
}
.modal .modal-content .cmera-control-box-action-desc .action-arrow-right {
  display: inline-block;
  margin-bottom: 4px;
  margin-left: 2px;
}
.modal .modal-content .assist-camera-date {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 768px) {
  .modal .modal-content .assist-camera-date {
    display: inline-block;
  }
}
.modal .modal-content .camera-down-icon {
  display: none;
}
@media (max-width: 768px) {
  .modal .modal-content .camera-down-icon {
    display: inline-block;
  }
}
.modal .modal-content .camera-right-icon {
  display: inline-block;
  margin-right: 7px;
}
@media (max-width: 768px) {
  .modal .modal-content .camera-right-icon {
    display: none;
  }
}
.modal .modal-content #slideshow-modal-next {
  z-index: -1;
}
.modal .modal-content .camera-zoom-container {
  position: absolute;
  right: 0;
  top: 50;
  width: 2em;
  height: 70%;
  background: rgba(0, 0, 0, 0.8);
  border-radius: 5px;
}
.modal .modal-content .camera-zoom-container .progress {
  position: absolute;
  width: 10px;
  height: 85%;
  opacity: 0.8;
  background-color: #1e77c7;
  filter: alpha(opacity=80);
}
.modal .modal-content .camera-zoom-container .progress-bar {
  position: absolute;
  height: 100%;
  width: 100%;
  background-color: white;
}
.modal .modal-content .camera-zoom-container .assist-camera-zoomin-wrapper {
  width: 20px;
  position: absolute;
  top: 1%;
}
.modal .modal-content .camera-zoom-container .assist-camera-zoomout-wrapper {
  width: 20px;
  position: absolute;
  bottom: 1%;
}
.modal .modal-content .assist-camera-pose {
  display: inline-block;
}
.modal .modal-content .assist-camera-play {
  display: none;
  filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(356deg) brightness(109%) contrast(96%);
}

.cafe-button {
  margin-bottom: 15px;
}

.assist-camera-container {
  position: relative;
  overflow: hidden;
  border-radius: 5px;
}

.slideshow-container {
  width: 100%;
  height: auto;
  overflow: hidden;
  position: relative;
}

.video-ratio:before {
  content: "";
  display: block;
  padding-top: 56%;
}

.slideshow-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  border-radius: 5px;
}

#slideshow-next {
  opacity: 0;
}

.camera-updated-at {
  background-color: #F2F5F0;
  position: absolute;
  top: 0;
  border-radius: 5px;
  font-size: 14px;
}

.assist-camera-player {
  width: 97%;
  margin: 0 auto;
  height: 2em;
  background: rgba(0, 0, 0, 0.8);
  position: absolute;
  bottom: 5px;
  border-radius: 5px;
  right: 0;
  left: 0;
  margin: 0 auto;
}

.assist-camera-play-wrapper {
  width: 20px;
}

.assist-camera-speed {
  color: white;
  border: solid 1px white;
  background-color: rgba(0, 0, 0, 0);
  border-radius: 5px;
  font-size: 12px;
  white-space: nowrap;
}

.assist-speed-menu {
  min-width: fit-content;
}

.assist-speed-item {
  font-size: 12px;
}

.progress .progress-bar {
  -webkit-transition: none;
  -moz-transition: none;
  -ms-transition: none;
  -o-transition: none;
  transition: none;
}

.about {
  font-family: "Shippori Mincho";
  overflow: hidden;
}
.about a:hover {
  opacity: 0.7;
}
.about .about-container {
  padding: 0;
}
.about .top-image {
  margin-bottom: 50px;
  position: relative;
  height: 400px;
  width: 90vw;
  margin: 0 auto 0 auto;
}
@media (max-width: 1024px) {
  .about .top-image {
    width: 100vw;
  }
}
@media (max-width: 768px) {
  .about .top-image {
    margin-bottom: 100px;
    height: 250px;
  }
}
.about .about-top-img {
  display: block;
  width: 99%;
  object-fit: cover;
}
@media (max-width: 1024px) {
  .about .about-top-img {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .about .about-top-img {
    width: 140%;
  }
}
.about .top-text-en {
  position: absolute;
  top: 30%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 400;
  line-height: 27.2px;
  letter-spacing: 0.05em;
  color: #fff;
}
.about .top-text-ja {
  position: absolute;
  top: 37%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 40px;
  font-weight: 400;
  line-height: 68px;
  letter-spacing: 0.05em;
  text-align: left;
  color: #fff;
}
@media (max-width: 768px) {
  .about .top-text-ja {
    font-size: 28px;
  }
}
.about .message {
  margin: 3em 0;
  text-align: center;
  font-weight: 400;
  font-size: 18px;
  line-height: 45px;
}
@media (max-width: 768px) {
  .about .message {
    text-align: left;
    font-size: 16px;
  }
  .about .message br:not(.none-break) {
    display: none;
  }
}
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.about .scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.about .scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
}
.about .scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.about .scroll-infinity__item {
  width: 400px;
  padding: 1em;
}
.about .scroll-infinity__item > img {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 4/3;
}
.about .can {
  background-color: #F2F5F0;
  padding-bottom: 5em;
  padding-top: 8em;
}
.about .can .title {
  font-size: 28px;
}
.about .can .section-wrapper {
  background-color: #fff;
  border-radius: 10px;
  opacity: 0.8px;
  margin-top: 5rem;
  padding: 2em 1em;
}
.about .can .card {
  border: none;
}
.about .can .card-wrapper {
  background-color: #fff;
  padding: 0.5rem;
  border-radius: 5px;
  margin: 1.5em 0;
}
.about .can .description-wrapper {
  border-radius: 5px;
  padding: 1em 0;
}
.about .can .card-inner {
  background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='5' ry='5' stroke='%235BAC29FF' stroke-width='3' stroke-dasharray='8%2c8' stroke-dashoffset='8' stroke-linecap='square'/%3e%3c/svg%3e");
  border-radius: 5px;
  background-color: #fff;
  padding: 1rem;
}
.about .can .card-wrapper-img {
  padding: 1em;
}
.about .can .card-img {
  border-radius: 5px;
}
.about .can .card-img-outdoor {
  max-height: 245.75px;
}
.about .can .card-subtext {
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
}
.about .can .card-title {
  background-color: #5BAC29;
  color: #fff;
  font-family: Noto Sans JP;
  font-size: 18px;
  font-weight: 500;
  line-height: 36px;
  letter-spacing: 0.1em;
  text-align: center;
  border-radius: 5px 5px 0px 0px;
}
.about .can .price .fee-title1 {
  font-size: 16px;
  font-weight: 500;
  line-height: 23px;
  padding-top: 1em;
}
.about .can .price .fee-title {
  height: 55px;
  background-color: #5BAC29;
  color: #fff;
  font-family: Noto Sans JP;
  line-height: 22.4px;
  letter-spacing: 0.1em;
  text-align: center;
  vertical-align: middle;
  border-radius: 5px 5px 0px 0px;
}
.about .can .price .info-wrapper {
  padding: 2em 1em 2em 1em;
}
.about .can .info-wrapper {
  padding: 1em;
}
.about .can .card-info {
  font-family: Noto Sans JP;
  font-size: 24px;
  line-height: 40.8px;
  letter-spacing: 0.15em;
  text-align: center;
  background-color: #F2F5F0;
  border-radius: 0px 0px 5px 5px;
  display: flex;
  align-items: baseline;
  justify-content: center;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .about .can .card-info {
    flex-direction: column;
    align-items: center;
  }
}
.about .can .right-wrapper {
  padding: 1em 0;
}
.about .can .right-card-info {
  font-family: Noto Sans JP;
  font-size: 20px;
  line-height: 34px;
  text-align: center;
}
.about .can .rain {
  font-family: Noto Sans JP;
  font-size: 15px;
  line-height: 25.5px;
  text-align: center;
  color: #A2A2A2;
}
.about .can .brackets {
  font-family: Noto Sans JP;
  font-size: 16px;
  line-height: 27px;
  text-align: center;
  display: inline-block;
}
.about .can .card-text {
  font-size: 28px;
  font-weight: 400;
  line-height: 36px;
}
.about .can .card-font16 {
  font-family: Noto Sans JP;
  font-size: 16px;
  line-height: 27px;
  text-align: center;
}
.about .can .gray {
  color: #A2A2A2;
  font-family: Noto Sans JP;
  font-size: 16px;
  line-height: 27px;
  text-align: center;
}
.about .can .card-font15 {
  font-family: Noto Sans JP;
  font-size: 15px;
  line-height: 25px;
  text-align: center;
}
.about .can .card-price {
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 500;
  line-height: 23px;
  letter-spacing: 0.05em;
  text-align: center;
  background-color: #F2F5F0;
  border-radius: 0px 0px 5px 5px;
  height: 52px;
  padding-top: 1rem;
}
.about .can .coupon-container {
  margin-left: 10px;
  margin-right: 10px;
}
.about .can .box-mini-wrapper {
  text-align: center;
  position: relative;
  bottom: -40px;
}
.about .can .box-mini {
  width: 255px;
  border: 1px solid #C6E7B2;
  box-shadow: 4px 4px 0px 0px #E2E5DF;
  background: #FFFFFF;
  padding: 1em;
  display: inline-block;
}
.about .can .box {
  border: 1px solid #C6E7B2;
  box-shadow: 4px 4px 0px 0px #E2E5DF;
  left: 320px;
  text-align: center;
  border-radius: 30px;
}
.about .can .box-title {
  color: #5BAC29;
  font-family: Zen Maru Gothic;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.05em;
}
.about .can .coupon {
  color: #5BAC29;
  text-align: center;
  font-family: Zen Maru Gothic;
  font-size: 24px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 0.05em;
}
.about .can .coupon-small {
  font-family: Zen Maru Gothic;
  font-size: 20px;
  line-height: 20px;
  letter-spacing: 0.05em;
  text-align: left;
  display: inline-block;
}
.about .can .about-coupon {
  color: #2F2F2F;
  font-family: Noto Sans JP;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.05em;
  padding: 2rem;
  padding-top: 5em;
  text-align: center;
}
.about .can .pr-icon {
  font-family: Font Awesome 5 Brands;
  font-size: 44px;
  font-weight: 400;
  line-height: 44px;
  letter-spacing: 0.05em;
  text-align: center;
}
.about .can .members-box {
  background: linear-gradient(90.77deg, #EAE4AD 12.92%, #509923 99.4%);
}
.about .can .pop {
  position: relative;
  bottom: -30px;
  left: -50px;
}
.about .can .icon {
  transform: rotate(-12deg);
  color: #E0973D;
  position: relative;
  scale: 2.4;
  top: -32px;
}
.about .can .pull-left {
  position: relative;
  right: 8px;
}
@media (max-width: 768px) {
  .about .can .btn-line {
    margin-bottom: 40px;
    display: inline-block;
  }
}
@media (max-width: 576px) {
  .about .can .btn-line {
    margin-bottom: 40px;
    display: inline-block;
  }
}
.about .can .btn-spacer {
  width: 2rem;
}
.about .can .farmfound {
  font-family: Shippori Mincho;
  font-size: 14px;
  font-weight: 600;
  line-height: 21px;
  letter-spacing: 0.05em;
  text-align: left;
  color: #FFFFFF;
}
.about .can .img-farm {
  margin: 0.3em 0;
}
.about .can .farm-info {
  padding: 1.5em 0;
}
.about .can .members-wrapper {
  margin-left: 1em;
  margin-right: 1em;
}
@media (min-width: 768px) {
  .about .can .mem-800 {
    width: 800px;
  }
}
.about .can .members-title {
  font-family: Shippori Mincho;
  font-size: 22px;
  font-weight: 600;
  line-height: 33px;
  letter-spacing: 0.05em;
  text-align: left;
  color: #FFFFFF;
}
.about .can .join-back {
  background: #EAE4AD;
  width: 110px;
  height: 109.44px;
  top: 3514.33px;
  left: 320px;
  box-shadow: 0px 0px 10px 0px rgba(148, 161, 140, 0.2);
  border-radius: 50%;
}
.about .can .join {
  color: #5BAC29;
  font-family: Shippori Mincho;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.05em;
  top: 40px;
  rotate: -10deg;
  padding-top: 2em;
  left: -1rem;
}
.about .can .btn-mem {
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 600;
  line-height: 23px;
  letter-spacing: 0.05em;
  color: #5BAC29;
  background-color: #FFFFFF;
  border-radius: 32px;
  padding: 0.8rem;
  margin-top: 2rem;
}
@media (max-width: 768px) {
  .about .can .btn-mem {
    margin-top: 5px;
  }
}
.about .can .btn-radius {
  border-radius: 24px;
  --bs-btn-padding-x: 1.5rem;
}
.about .can .btn-pr {
  width: 250px;
}
.about .can .btn-orange {
  --bs-btn-color: #fff;
  --bs-btn-bg: #E0973D;
  --bs-btn-border-color: #E0973D;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #E0973D;
  --bs-btn-hover-border-color: #E0973D;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #E0973D;
  --bs-btn-active-border-color: #E0973D;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #E0973D;
  --bs-btn-disabled-border-color: #E0973D;
}
.about .can .btn-orange-border {
  --bs-btn-color: #E0973D;
  --bs-btn-bg: #FCF6ED;
  --bs-btn-border-color: #E0973D;
  --bs-btn-hover-color: #E0973D;
  --bs-btn-hover-bg: #FCF6ED;
  --bs-btn-hover-border-color: #E0973D;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #FCF6ED;
  --bs-btn-active-border-color: #E0973D;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #FCF6ED;
  --bs-btn-disabled-border-color: #E0973D;
}
.about .can .description {
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 300;
  line-height: 27.2px;
  letter-spacing: 0.05em;
  text-align: center;
}
.about .can .features-wrapper {
  text-align: center;
}
.about .can .features {
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.05em;
  text-align: center;
}
.about .can .look {
  color: #5BAC29;
  border-radius: 50%;
  background: #F2F5F0;
  padding: 6px 0;
  width: 130px;
  display: inline-block;
  margin: 1rem 0.5rem;
}
.about .can .section-title {
  font-size: 28px;
  font-weight: 400;
}
.about .can .sub-title {
  color: #A2A2A2;
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 400;
  line-height: 23.17px;
  letter-spacing: 0.2em;
  text-align: center;
}
.about .can .members-sp {
  padding-bottom: 2em;
}
.about .can .sp-img {
  background-image: url("../assets/images/about/about_07sp.png");
  background-position: center;
  background-size: auto;
  aspect-ratio: 18/6;
}
.about .can .img-farm-sp {
  margin: 1em;
}
.about .can .farm-info-sp {
  text-align: center;
  font-family: Shippori Mincho;
  color: #FFFFFF;
}
.about .can .members-title-sp {
  font-size: 20px;
}
.about .can .farmfound-sp {
  font-size: 13px;
}
.about .can .btn-farm-sp {
  font-size: 15px;
}
.about .can .btn-sp {
  margin-bottom: 0.5em;
}
.about .can .discount {
  background: linear-gradient(transparent 60%, rgba(217, 217, 217, 0.38) 30%);
}
.about .facility {
  padding-top: 5em;
}
.about .facility .facility-wrapper {
  width: cover;
  margin-top: 5em;
  background-color: #fff;
  opacity: 0.8px;
  padding-top: 5em;
}
.about .facility .description-wrapper {
  border-radius: 5px;
  padding: 1em 0;
}
.about .facility .btn-mem {
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 600;
  line-height: 23.17px;
  letter-spacing: 0.05em;
  color: #5BAC29;
  background-color: #FFFFFF;
  border-radius: 32px;
  padding: 0.8rem;
  margin-top: 2rem;
}
.about .facility .btn-radius {
  border-radius: 24px;
  --bs-btn-padding-x: 1.5rem;
}
.about .facility .btn-pr {
  width: 250px;
}
.about .facility .btn-orange {
  --bs-btn-color: #fff;
  --bs-btn-bg: #E0973D;
  --bs-btn-border-color: #E0973D;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #E0973D;
  --bs-btn-hover-border-color: #E0973D;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #E0973D;
  --bs-btn-active-border-color: #E0973D;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #E0973D;
  --bs-btn-disabled-border-color: #E0973D;
}
.about .facility .btn-orange-border {
  --bs-btn-color: #E0973D;
  --bs-btn-bg: #FCF6ED;
  --bs-btn-border-color: #E0973D;
  --bs-btn-hover-color: #E0973D;
  --bs-btn-hover-bg: #FCF6ED;
  --bs-btn-hover-border-color: #E0973D;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #FCF6ED;
  --bs-btn-active-border-color: #E0973D;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #FCF6ED;
  --bs-btn-disabled-border-color: #E0973D;
}
.about .facility .description {
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 300;
  line-height: 27px;
  letter-spacing: 0.05em;
  text-align: center;
}
.about .facility .description-sp {
  font-family: Noto Sans JP;
  font-size: 15px;
  font-weight: 300;
  line-height: 25px;
  text-align: left;
  letter-spacing: 0.05em;
  margin: 0 1em;
}
.about .facility .features-wrapper {
  text-align: center;
}
.about .facility .features {
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.05em;
  text-align: center;
}
.about .facility .look {
  color: #5BAC29;
  border-radius: 50%;
  background: #F2F5F0;
  padding: 6px 0;
  width: 130px;
  display: inline-block;
  margin: 1rem 0.5rem;
}
.about .facility .section-title {
  font-size: 28px;
  font-weight: 400;
}
.about .facility .sub-title {
  color: #A2A2A2;
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 400;
  line-height: 23.17px;
  letter-spacing: 0.2em;
  text-align: center;
}
.about .facility .fc-img {
  background-image: url("../assets/images/cafe/9.jpeg");
  background-position: center;
  background-size: cover;
  aspect-ratio: 16/9;
}
.about .facility .fc-left-img {
  background-image: url("../assets/images/cafe/10.jpeg");
  background-position: center;
  background-size: cover;
  aspect-ratio: 4/3;
}
.about .facility .fc-right-img {
  background-image: url("../assets/images/cafe/11.jpeg");
  background-position: center;
  background-size: cover;
  aspect-ratio: 16/9;
}
.about .facility .fee-fc {
  height: 42px;
  background-color: #5BAC29;
  color: #fff;
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 500;
  line-height: 23.17px;
  letter-spacing: 0.1em;
  text-align: center;
  vertical-align: middle;
  border-radius: 5px 5px 0px 0px;
  padding-top: 1em;
}
.about .facility .card-spacer {
  width: 1rem;
}
.about .facility .card-body {
  padding: 1em;
  max-width: 500px;
}
@media (max-width: 768px) {
  .about .facility .card-body {
    padding: 0 0 1em 0;
  }
}
.about .facility .card-price {
  margin: auto 0 auto auto;
}
.about .facility .card-fc {
  font-family: Noto Sans JP;
  font-size: 24px;
  line-height: 40.8px;
  letter-spacing: 0.05em;
  text-align: center;
  height: 239px;
  top: 5008px;
  left: 320px;
  gap: 0px;
  border-radius: 0px 0px 5px 5px;
  opacity: 0px;
  background: #F2F5F0;
  padding-top: 3rem;
  padding-right: 2%;
  padding-left: 2%;
}
.about .facility .add {
  font-family: Noto Sans JP;
  font-size: 14px;
  line-height: 23.8px;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 25px;
}
.about .facility .tel {
  font-family: Noto Sans JP;
  font-size: 14px;
  line-height: 21px;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 25px;
}
.about .facility .tel-num {
  font-family: Noto Sans JP;
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 0.1em;
  text-align: center;
}
.about .facility .caution {
  font-family: Noto Sans JP;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.05em;
  text-align: left;
  color: #616161;
}
.about .facility .caution-bg {
  background-color: #F7F7F7;
  text-align: left;
  padding: 2rem;
  max-width: 1010px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .about .facility .caution-bg {
    padding: 0.5rem;
  }
}
.about .facility .caution-text {
  color: #616161;
}
.about .facility .section-wrapper {
  background-color: #fff;
  border-radius: 10px;
  opacity: 0.8px;
  margin-top: 5rem;
  padding: 2em 1em;
}
@media (max-width: 768px) {
  .about .facility .section-wrapper {
    margin-top: 0;
  }
}
.about .facility .section-wrapper {
  background-color: #fff;
  border-radius: 10px;
  opacity: 0.8px;
  padding: 2em 1em;
}
@media (max-width: 768px) {
  .about .facility .section-wrapper {
    margin-top: 0;
  }
}
.about .business {
  margin: 100px auto 0 auto;
  background-color: white;
  line-height: 40px;
  letter-spacing: 0.15em;
  padding: 5em 1em;
  border-radius: 10px;
}
.about .business .title {
  font-size: 28px;
  margin-bottom: 50px;
}
@media (max-width: 992px) {
  .about .business .business-main {
    flex-direction: column;
  }
}
.about .business .content-container {
  font-family: Noto Sans JP;
  width: 100%;
  max-width: 820px;
}
.about .business .business-right {
  width: 50%;
  flex-direction: column;
}
@media (max-width: 992px) {
  .about .business .business-right {
    width: 100%;
    flex-direction: row;
  }
}
.about .business .business-left {
  width: 50%;
}
@media (max-width: 992px) {
  .about .business .business-left {
    width: 100%;
  }
}
.about .business .right-content-width {
  width: 100%;
}
.about .business .left-content-text {
  height: 88%;
}
.about .business .content-title {
  font-size: 18px;
  color: white;
  background-color: #5BAC29;
  border-radius: 5px 5px 0 0;
}
.about .business .content-lower {
  background-color: #F2F5F0;
  border-radius: 0 0 5px 5px;
  padding: 2em 1em;
  display: flex;
}
@media (max-width: 992px) {
  .about .business .content-right-lower {
    height: 80%;
  }
}
@media (max-width: 992px) {
  .about .business .opening-hour-text {
    display: flex;
    flex-direction: column;
  }
}
.about .business .normal-text {
  font-size: 16px;
}
.about .business .small-text {
  font-size: 15px;
  display: block;
}
@media (max-width: 992px) {
  .about .business .small-text {
    display: none;
  }
}
.about .business .small-text-sp {
  display: none;
}
@media (max-width: 992px) {
  .about .business .small-text-sp {
    display: block;
  }
}
.about .business .medium-text {
  font-size: 18px;
}
.about .business .large-text {
  font-size: 24px;
}
.about .business .gray-text {
  color: #A2A2A2;
}

.page.company {
  font-family: Shippori Mincho;
  overflow: hidden;
}
.page.company .top-image {
  position: relative;
  height: 400px;
  width: 90vw;
  margin: 0 auto 0 auto;
}
@media (max-width: 1024px) {
  .page.company .top-image {
    width: 100vw;
  }
}
@media (max-width: 768px) {
  .page.company .top-image {
    margin-bottom: 100px;
    height: 250px;
  }
}
.page.company .about-top-img {
  display: block;
  width: 99%;
  object-fit: cover;
}
@media (max-width: 1024px) {
  .page.company .about-top-img {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .page.company .about-top-img {
    width: 140%;
  }
}
.page.company .top-text-en {
  position: absolute;
  top: 30%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 400;
  line-height: 27.2px;
  letter-spacing: 0.05em;
  color: #fff;
}
.page.company .top-text-ja {
  position: absolute;
  top: 37%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 40px;
  font-weight: 400;
  line-height: 68px;
  letter-spacing: 0.05em;
  text-align: left;
  color: #fff;
}
@media (max-width: 768px) {
  .page.company .top-text-ja {
    font-size: 28px;
  }
}
.page.company .mission {
  margin-top: 200px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #f3f4ef 100%);
  font-size: 24px;
  line-height: 40.8px;
  letter-spacing: 0.05em;
  color: #2f2f2f;
}
@media (max-width: 768px) {
  .page.company .mission {
    margin-top: 100px;
  }
}
.page.company .mission-body {
  max-width: 100%;
  padding-bottom: 4em;
}
@media (min-width: 576px) {
  .page.company .mission-body {
    max-width: 80%;
  }
}
@media (min-width: 768px) {
  .page.company .mission-body {
    max-width: 60%;
  }
  .page.company .mission-body br {
    display: none;
  }
}
.page.company .mission-body .break-margin {
  display: inline-block;
  margin-left: 2em;
}
@media (min-width: 768px) {
  .page.company .mission-body .break-margin {
    display: none;
  }
}
.page.company .mission-body .sub-title {
  font-size: 16px;
  line-height: 23.17px;
  letter-spacing: 0.2em;
  text-align: center;
  color: #a2a2a2;
}
.page.company .mission-body .mission-title {
  margin: 1em 0 2em 0;
  font-size: 28px;
  line-height: 40.54px;
  text-align: center;
}
.page.company .mission-body .mission-desc {
  margin-bottom: 2em;
  font-size: 24px;
  line-height: 40.8px;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.page.company .mission-body .mission-segment {
  margin-bottom: 2em;
}
.page.company .mission-body .mission-segment h3 {
  font-size: 16px;
  line-height: 34px;
}
.page.company .mission-body .mission-segment p {
  font-size: 16px;
  line-height: 27.2px;
  margin-left: 2em;
}
.page.company .company-info {
  font-size: 16px;
  line-height: 35.2px;
}
.page.company .company-info .green-bar {
  position: relative;
  padding-left: 20px; /* 縦棒のスペースを確保 */
}
.page.company .company-info .green-bar::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px; /* 縦棒の幅 */
  background-color: #5bac29; /* 緑色 */
}
@media (max-width: 768px) {
  .page.company .company-info .image-container {
    padding: 1rem;
  }
}
@media (min-width: 1200px) {
  .page.company .company-info {
    /* xlブレークポイント以上 */
    max-width: 1162px; /* または必要な幅に調整 */
    margin-left: auto;
    margin-right: auto;
  }
}
.page.company .en-title {
  font-size: 0.9rem;
  color: #A2A2A2;
}
.page.company .title {
  font-size: 1.3rem;
}
.page.company video {
  width: 90%;
}
@media (min-width: 768px) {
  .page.company video {
    width: 75%;
    border-radius: 7px;
  }
}

.outdoor {
  overflow: hidden;
}
.outdoor a:hover {
  opacity: 0.7;
}
.outdoor .container {
  margin: 0;
  max-width: none;
  position: relative;
  z-index: -1;
}
.outdoor .top-image {
  position: relative;
  height: 400px;
  width: 90vw;
  margin: 0 auto 15% auto;
}
@media (max-width: 1024px) {
  .outdoor .top-image {
    width: 100vw;
  }
}
@media (max-width: 768px) {
  .outdoor .top-image {
    margin-bottom: 35%;
    height: 250px;
  }
}
.outdoor .about-top-img {
  display: block;
  width: 99%;
  object-fit: cover;
}
@media (max-width: 1024px) {
  .outdoor .about-top-img {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .outdoor .about-top-img {
    width: 140%;
  }
}
.outdoor .top-text-en {
  position: absolute;
  top: 30%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 400;
  line-height: 27.2px;
  letter-spacing: 0.05em;
  color: #fff;
}
.outdoor .top-text-ja {
  position: absolute;
  top: 37%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 40px;
  font-weight: 400;
  line-height: 68px;
  letter-spacing: 0.05em;
  text-align: left;
  color: #fff;
}
@media (max-width: 768px) {
  .outdoor .top-text-ja {
    font-size: 28px;
  }
}
.outdoor .map-wrapper {
  width: 75%;
  position: absolute;
  top: -11vw;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media (max-width: 768px) {
  .outdoor .map-wrapper {
    width: 90%;
    top: -25vw;
  }
}
.outdoor .ski-popup {
  display: none;
  background-color: white;
  border-radius: 10px;
  border: solid 2px #5BAC29;
  padding: 1em 0.5em 0.5em;
}
.outdoor .map-ski:hover + .ski-popup {
  display: block;
  width: 30%;
  position: absolute;
  top: 37%;
  left: 47%;
}
.outdoor .minecart-popup {
  display: none;
  background-color: white;
  border-radius: 10px;
  border: solid 2px #5BAC29;
  padding: 1em 0.5em 0.5em;
}
.outdoor .map-minecart:hover + .minecart-popup {
  display: block;
  width: 30%;
  position: absolute;
  top: 42%;
  left: 42%;
}
.outdoor .tarzan-popup {
  display: none;
  background-color: white;
  border-radius: 10px;
  border: solid 2px #5BAC29;
  padding: 1em 0.5em 0.5em;
}
.outdoor .map-tarzan:hover + .tarzan-popup {
  display: block;
  width: 30%;
  position: absolute;
  top: 61%;
  left: 42%;
  padding: 1em 0.5em 0.5em;
}
.outdoor .kids-popup {
  display: none;
  background-color: white;
  border-radius: 10px;
  border: solid 2px #5BAC29;
  padding: 1em 0.5em 0.5em;
}
.outdoor .map-kids:hover + .kids-popup {
  display: block;
  width: 30%;
  position: absolute;
  bottom: 16%;
  left: 37%;
}
.outdoor .seven-swings-popup {
  display: none;
  background-color: white;
  border-radius: 10px;
  border: solid 2px #5BAC29;
  padding: 1em 0.5em 0.5em;
}
.outdoor .map-seven-swings:hover + .seven-swings-popup {
  display: block;
  width: 30%;
  position: absolute;
  top: 24%;
  left: 60%;
}
.outdoor .chair-popup {
  display: none;
  background-color: white;
  border-radius: 10px;
  border: solid 2px #5BAC29;
  padding: 1em 0.5em 0.5em;
}
.outdoor .map-chair:hover + .chair-popup {
  display: block;
  width: 30%;
  position: absolute;
  top: 44%;
  left: 64%;
}
.outdoor .fly-swing-popup {
  display: none;
  background-color: white;
  border-radius: 10px;
  border: solid 2px #5BAC29;
  padding: 1em 0.5em 0.5em;
}
.outdoor .map-fly-swing:hover + .fly-swing-popup {
  display: block;
  width: 30%;
  position: absolute;
  bottom: 49%;
  left: 61%;
}
.outdoor .popup-img-wrapper {
  margin: 1em 0 0 0;
}
.outdoor .main-container {
  background-color: #F2F5F0;
  padding-bottom: 100px;
  position: relative;
}
.outdoor .main-wrapper {
  padding-top: 50vw;
}
@media (max-width: 576px) {
  .outdoor .main-wrapper {
    padding-top: 90vw;
  }
}
.outdoor .attraction-card {
  font-family: Shippori Mincho;
  border: none;
  padding-top: 1em;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
}
.outdoor .attraction-card-title {
  font-size: 24px;
  padding: 0.5em 0;
}
.outdoor .attraction-card-text {
  font-family: Noto Sans JP;
  font-size: 14px;
}
.outdoor .video-wrapper {
  margin: 1rem 1rem 1rem 1rem;
  position: relative;
  cursor: pointer;
}
.outdoor .video-wrapper video {
  aspect-ratio: 16/9;
  object-fit: cover;
}
.outdoor .attraction-video {
  border-radius: 10px;
  border: solid 2px #5BAC29;
}
.outdoor .video-pause-button {
  position: absolute;
  width: 20%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.outdoor .show-button {
  display: block;
}
.outdoor .hide-button {
  display: none;
}
.outdoor .card-body {
  padding: 0;
  margin-bottom: 1em;
  margin-left: 0.5em;
  margin-right: 0.5em;
}
@media (max-width: 576px) {
  .outdoor .card-body {
    padding: 0;
    margin: 0;
  }
}
.outdoor .card-inline {
  display: inline-block;
  padding-left: 2em;
  margin-top: 1em;
  text-align: center;
}
@media (max-width: 576px) {
  .outdoor .card-inline {
    padding: 0;
    margin: 0;
  }
}
.outdoor .card-subtext {
  font-family: Shippori Mincho;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
}
.outdoor .card-text {
  font-family: Noto Sans JP;
  font-size: 14px;
  font-weight: 400;
  line-height: 23.8px;
  letter-spacing: 0.05em;
  text-align: left;
  margin: 0 1rem;
}
.outdoor .card-text24 {
  font-family: Shippori Mincho;
  font-size: 24px;
  line-height: 40px;
  letter-spacing: 0.05em;
  text-align: center;
  word-break: keep-all;
}
@media (max-width: 556px) {
  .outdoor .card-text24 {
    font-size: 20px;
  }
}
@media (max-width: 556px) {
  .outdoor .can-24 {
    line-height: 20px;
  }
}
.outdoor .left-img {
  max-width: 200px;
  margin-left: 0.5em;
  margin-bottom: 3em;
}
.outdoor .card-wh {
  border-radius: 5px;
}
.outdoor .card-inner {
  background-color: #F2F5F0;
  border-radius: 5px;
}
@media (max-width: 556px) {
  .outdoor .btn {
    font-size: 13px;
  }
}
.outdoor .btn-orange {
  --bs-btn-color: #fff;
  --bs-btn-bg: #E0973D;
  --bs-btn-border-color: #E0973D;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #E0973D;
  --bs-btn-hover-border-color: #E0973D;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #E0973D;
  --bs-btn-active-border-color: #E0973D;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #E0973D;
  --bs-btn-disabled-border-color: #E0973D;
}
.outdoor .btn-orange-border {
  --bs-btn-color: #E0973D;
  --bs-btn-bg: #FCF6ED;
  --bs-btn-border-color: #E0973D;
  --bs-btn-hover-color: #E0973D;
  --bs-btn-hover-bg: #FCF6ED;
  --bs-btn-hover-border-color: #E0973D;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #FCF6ED;
  --bs-btn-active-border-color: #E0973D;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #FCF6ED;
  --bs-btn-disabled-border-color: #E0973D;
}
.outdoor .btn-radius {
  border-radius: 24px;
  --bs-btn-padding-x: 1.5rem;
}
.outdoor .btn-radius-map {
  border-radius: 24px;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-padding-y: 0.2rem;
  font-weight: 500;
}
.outdoor .map-btn-ski {
  position: absolute;
  top: 33%;
  left: 42%;
}
.outdoor .map-btn-minecart {
  position: absolute;
  top: 37%;
  left: 58%;
}
.outdoor .map-btn-seven-swings {
  position: absolute;
  top: 18%;
  left: 77%;
}
.outdoor .map-btn-chair {
  position: absolute;
  top: 37%;
  left: 86%;
}
.outdoor .map-btn-fly-swings {
  position: absolute;
  top: 53%;
  left: 38%;
}
.outdoor .map-btn-tarzan-80 {
  position: absolute;
  top: 53%;
  left: 38%;
}
.outdoor .map-btn-tarzan-80 span {
  font-size: 12px;
}
.outdoor .map-btn-tarzan-30 {
  position: absolute;
  top: 65%;
  left: 21%;
}
.outdoor .map-btn-tarzan-30 span {
  font-size: 12px;
}
.outdoor .map-btn-kids {
  position: absolute;
  top: 85%;
  left: 52%;
}
.outdoor .card-text14 {
  font-family: Shippori Mincho;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.05em;
  text-align: center;
}
.outdoor .card-wrapper {
  background-color: #F2F5F0;
  padding: 1rem;
  border-radius: 5px;
}
.outdoor .wh-wrapper {
  padding: 1rem;
  border-radius: 5px;
  background-color: #fff;
}
@media (min-width: 992px) {
  .outdoor .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
}
.outdoor .card-container {
  max-width: 87vw;
}
@media (max-width: 992px) {
  .outdoor .card-container {
    gap: 1.5em;
    max-width: none;
  }
}
.outdoor .card {
  border: none;
}
@media (max-width: 992px) {
  .outdoor .card-container {
    gap: 1.5em;
  }
}
.outdoor .card-img-wrapper {
  width: 45%;
  border-radius: 5px;
}
@media (max-width: 768px) {
  .outdoor .card-img-wrapper {
    width: 40%;
  }
}
@media (max-width: 576px) {
  .outdoor .card-img-wrapper {
    width: 36%;
  }
}
.outdoor .can-doshin {
  margin-top: 100px;
}
@media (max-width: 576px) {
  .outdoor .can-doshin {
    margin-top: 50px;
    margin-bottom: 50px;
  }
}
.outdoor .can-doshin-title {
  font-family: Shippori Mincho;
  font-size: 28px;
  padding: 2em 0 2em 0;
}
.outdoor .card {
  border: none;
}
@media (max-width: 992px) {
  .outdoor .card-container {
    gap: 1.5em;
  }
}
.outdoor .card-inner {
  background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='5' ry='5' stroke='%235BAC29FF' stroke-width='3' stroke-dasharray='8%2c8' stroke-dashoffset='8' stroke-linecap='square'/%3e%3c/svg%3e");
  border-radius: 5px;
  background-color: #F2F5F0;
  padding: 0.5rem;
  align-items: center;
}
@media (max-width: 556px) {
  .outdoor .img-fluid {
    width: 100%;
  }
}
.outdoor .card-subtext {
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
  font-family: Shippori Mincho;
  white-space: nowrap;
}
@media (max-width: 556px) {
  .outdoor .card-subtext {
    font-size: 13px;
  }
}
.outdoor .card-title {
  white-space: nowrap;
  font-size: 24px;
  font-family: Shippori Mincho;
  font-weight: 500;
  line-height: 36px;
  letter-spacing: 0.1em;
  text-align: center;
  border-radius: 5px 5px 0px 0px;
}
@media (max-width: 992px) {
  .outdoor .card-title {
    font-size: 20px;
  }
}
.outdoor .card-info {
  font-family: Noto Sans JP;
  font-size: 24px;
  line-height: 40.8px;
  letter-spacing: 0.15em;
  text-align: center;
  background-color: #f2f5f0;
  border-radius: 0px 0px 5px 5px;
  vertical-align: middle;
}
.outdoor .gray {
  color: #a2a2a2;
  font-family: Noto Sans JP;
  font-size: 16px;
  line-height: 27px;
  text-align: center;
}
.outdoor .card-font15 {
  font-family: Noto Sans JP;
  font-size: 15px;
  line-height: 25px;
  text-align: center;
}
.outdoor .card-price {
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 500;
  line-height: 23px;
  letter-spacing: 0.05em;
  text-align: center;
  background-color: #f2f5f0;
  border-radius: 0px 0px 5px 5px;
  height: 52px;
  padding-top: 1rem;
}

.page.episodes {
  overflow: hidden;
  padding-bottom: 300px;
}
.page.episodes .top-image {
  position: relative;
  height: 400px;
  width: 90vw;
  margin: 0 auto 0 auto;
}
@media (max-width: 1024px) {
  .page.episodes .top-image {
    width: 100vw;
  }
}
@media (max-width: 768px) {
  .page.episodes .top-image {
    height: 250px;
  }
}
.page.episodes .about-top-img {
  display: block;
  width: 99%;
  object-fit: cover;
}
@media (max-width: 1024px) {
  .page.episodes .about-top-img {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .page.episodes .about-top-img {
    width: 140%;
  }
}
.page.episodes .top-text-en {
  position: absolute;
  top: 30%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 400;
  line-height: 27.2px;
  letter-spacing: 0.05em;
  color: #fff;
}
.page.episodes .top-text-ja {
  position: absolute;
  top: 37%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 40px;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: left;
  color: #fff;
  padding-top: 10px;
}
@media (max-width: 768px) {
  .page.episodes .top-text-ja {
    font-size: 28px;
  }
}
.page.episodes .top-vertical-text {
  font-family: Shippori Mincho;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  font-size: 14px;
  width: 90%;
  margin: 10px auto 0 auto;
  line-height: 2em;
}
.page.episodes .text-wrapper {
  overflow-x: scroll;
}
@media (max-width: 768px) {
  .page.episodes .text-wrapper {
    overflow-x: visible;
  }
}
.page.episodes .episode-part {
  font-family: Shippori Mincho;
  color: #616161;
  margin-top: 100px;
}
@media (max-width: 768px) {
  .page.episodes .child {
    flex-direction: column-reverse;
  }
}
.page.episodes .student {
  margin-top: 100px;
}
@media (max-width: 768px) {
  .page.episodes .student {
    flex-direction: column;
  }
}
.page.episodes .adult {
  margin-top: 100px;
}
@media (max-width: 768px) {
  .page.episodes .adult {
    flex-direction: column-reverse;
  }
}
.page.episodes .content-text-wrapper {
  width: 60%;
  padding-top: 100px;
}
@media (max-width: 768px) {
  .page.episodes .content-text-wrapper {
    width: 100%;
    padding-top: 50px;
  }
}
.page.episodes .title-line {
  display: inline-block;
  border-right: solid 1px;
  height: 30px;
}
.page.episodes .content-title {
  writing-mode: vertical-rl;
  font-size: 16px;
  padding: 6px 15px 0 0;
}
@media (max-width: 768px) {
  .page.episodes .content-title {
    padding: 6px 15px 0 15px;
  }
}
.page.episodes .content-text {
  font-size: 14px;
  line-height: 2em;
}
@media (max-width: 768px) {
  .page.episodes .content-text {
    max-width: 340px;
  }
}
.page.episodes .content-img-wrapper {
  width: 35%;
}
@media (max-width: 768px) {
  .page.episodes .content-img-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
  }
}
.page.episodes .content-img2-wrapper {
  width: 45%;
}
@media (max-width: 768px) {
  .page.episodes .content-img2-wrapper {
    width: 100%;
    margin-bottom: 50px;
  }
}
.page.episodes .content-img3-wrapper {
  width: 40%;
}
@media (max-width: 768px) {
  .page.episodes .content-img3-wrapper {
    width: 100%;
    margin-bottom: 50px;
  }
}
.page.episodes .episode-img1 {
  width: 100%;
}
@media (max-width: 768px) {
  .page.episodes .episode-img1 {
    width: 90%;
    max-width: 400px;
  }
}
.page.episodes .episode-img2 {
  width: 55%;
  max-width: 360px;
}
@media (max-width: 768px) {
  .page.episodes .episode-img2 {
    width: 60%;
    max-width: 300px;
    transform: translateX(-10vw);
  }
}
@media (max-width: 768px) {
  .page.episodes .episode-img3 {
    max-width: 500px;
    transform: translateX(14vw);
  }
}
.page.episodes .episodes-summary {
  font-family: Shippori Mincho;
  font-size: 16px;
  letter-spacing: 0.1em;
  margin-top: 150px;
  position: relative;
}
.page.episodes .episodes-summary span {
  background-color: white;
  width: fit-content;
}
.page.episodes .summary-background {
  position: absolute;
  z-index: -1;
}
.page.episodes .big-text {
  font-size: 20px;
}
.page.episodes .background-img1 {
  position: absolute;
  top: -150px;
  left: 30vw;
}
@media (max-width: 768px) {
  .page.episodes .background-img1 {
    top: -120px;
    left: 20vw;
  }
}
.page.episodes .background-img2 {
  position: absolute;
  top: 120px;
}
@media (max-width: 768px) {
  .page.episodes .background-img2 {
    top: 150px;
    left: -10vw;
  }
}
.page.episodes .summary-web {
  display: flex;
}
@media (max-width: 768px) {
  .page.episodes .summary-web {
    display: none;
  }
}
.page.episodes .summary-sp {
  display: none;
}
@media (max-width: 768px) {
  .page.episodes .summary-sp {
    display: flex;
  }
}
.page.episodes .sub-title {
  font-size: 16px;
  line-height: 23.17px;
  letter-spacing: 0.2em;
  text-align: center;
  color: #a2a2a2;
}
.page.episodes .mission-title {
  margin: 1em 0 2em 0;
  font-size: 28px;
  line-height: 40.54px;
  text-align: center;
}
@media (max-width: 768px) {
  .page.episodes .text-wrapper {
    margin-top: 110px;
    height: 577px;
  }
}

.friendship {
  overflow: hidden;
}
.friendship .top-image {
  margin-bottom: 50px;
  position: relative;
  height: 400px;
  width: 90vw;
  margin: 0 auto 0 auto;
}
@media (max-width: 1024px) {
  .friendship .top-image {
    width: 100vw;
  }
}
@media (max-width: 768px) {
  .friendship .top-image {
    margin-bottom: 100px;
    height: 250px;
  }
}
.friendship .about-top-img {
  display: block;
  width: 99%;
  object-fit: cover;
}
@media (max-width: 1024px) {
  .friendship .about-top-img {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .friendship .about-top-img {
    width: 140%;
  }
}
.friendship .top-text-en {
  position: absolute;
  top: 30%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 400;
  line-height: 27.2px;
  letter-spacing: 0.05em;
  color: #fff;
}
.friendship .top-text-ja {
  position: absolute;
  top: 37%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 40px;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: left;
  color: #fff;
  padding-top: 10px;
}
@media (max-width: 768px) {
  .friendship .top-text-ja {
    font-size: 28px;
  }
}
.friendship .title-tag {
  font-family: Shippori Mincho;
  font-size: 16px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  width: fit-content;
  margin-right: 30px;
  margin-top: 20px;
  margin-bottom: 10px;
  padding: 0.5rem 0.5rem 0.5rem 0.5rem;
  color: #fff;
  background: #5BAC29;
}
.friendship .title-tag:before {
  position: absolute;
  top: 0;
  right: -14px;
  content: "";
  border-width: 20px 0 20px 14px;
  border-style: solid;
  border-color: transparent transparent transparent #5BAC29;
}
.friendship .title-wrapper {
  font-family: Shippori Mincho;
}
.friendship .title-upper {
  font-size: 16px;
  color: #A2A2A2;
}
@media (max-width: 768px) {
  .friendship .title-upper {
    font-size: 14px;
  }
}
.friendship .title-lower {
  font-size: 28px;
  word-break: keep-all;
}
@media (max-width: 768px) {
  .friendship .title-lower {
    font-size: 24px;
  }
}
.friendship .main-wrapper {
  width: 60vw;
  margin: 70px auto 0 auto;
}
@media (max-width: 1024px) {
  .friendship .main-wrapper {
    width: 80vw;
  }
}
@media (max-width: 768px) {
  .friendship .main-wrapper {
    width: 90vw;
  }
}
.friendship .second-text {
  font-size: 24px;
  padding: 20px 0;
  font-weight: 325;
  background: linear-gradient(-225deg, #F2F5F0 0%, #FFFFFF 56%, #F2F5F0 100%);
  word-break: keep-all;
}
.friendship .friendship-text {
  width: 90%;
  margin: 40px auto 0 auto;
  line-height: 32px;
}
.friendship .list-container {
  border: solid 1px #5BAC29;
  padding: 30px 0;
  width: 80%;
  margin: 0 auto 70px auto;
}
@media (max-width: 768px) {
  .friendship .list-container {
    width: 90%;
  }
}
.friendship .list-wrapper {
  padding: 0 35px 0 35px;
}
.friendship li {
  list-style: none;
  font-weight: 350;
}
.friendship .list-title {
  color: #5BAC29;
}
.friendship .box {
  width: 10px;
  height: 10px;
  background: linear-gradient(to bottom, #5BAC29, #5BAC29);
}
.friendship .large-text {
  font-size: 20px;
}
.friendship .benefits-list {
  list-style: disc;
}
.friendship .decralation-container {
  margin-bottom: 150px;
  padding: 30px 0;
  background: linear-gradient(45deg, transparent 25px, #F2F5F0 10px), linear-gradient(-45deg, transparent 25px, #F2F5F0 10px), linear-gradient(225deg, transparent 25px, #F2F5F0 10px), linear-gradient(-225deg, transparent 25px, #F2F5F0 10px);
  background-position: bottom left, bottom right, top right, top left;
  background-repeat: no-repeat;
  background-size: 50% 50%;
}
.friendship .decralation-title {
  color: white;
  width: 80%;
  background-color: #5BAC29;
  padding: 3px 0;
  word-break: keep-all;
}
@media (max-width: 768px) {
  .friendship .decralation-list-wrapper {
    width: 80%;
    padding-left: 1em;
  }
}
.friendship .decralation-list {
  list-style: decimal;
  letter-spacing: 1px;
}

.privacy {
  width: 90vw;
  margin: 0 auto 0 auto;
}
@media (min-width: 1400px) {
  .privacy .container, .privacy .container-lg, .privacy .container-md, .privacy .container-sm, .privacy .container-xl {
    max-width: 800px;
  }
}
@media (min-width: 1200px) {
  .privacy .container, .privacy .container-lg, .privacy .container-md, .privacy .container-sm, .privacy .container-xl {
    max-width: 800px;
  }
}
@media (min-width: 992px) {
  .privacy .container, .privacy .container-lg, .privacy .container-md, .privacy .container-sm, .privacy .container-xl {
    max-width: 800px;
  }
}
.privacy .container {
  margin-bottom: 6em;
}
.privacy .title {
  font-family: "Shippori Mincho";
  margin: 1em 0;
}
.privacy .sub-title {
  font-family: "Shippori Mincho";
  font-weight: 400;
  font-size: 16px;
  color: #A2A2A2;
  text-align: center;
}
.privacy .title-wrapper {
  font-family: "Shippori Mincho";
  font-weight: 400px;
  font-size: 40px;
  color: #2F2F2F;
  margin-top: 3em;
  text-align: center;
}
.privacy .description {
  font-size: 16px;
  margin: 50px 0 32px 0;
  color: #2F2F2F;
}
.privacy .segment {
  margin-top: 40px;
  margin-bottom: 30px;
  color: #2F2F2F;
}
.privacy .segment .segment-title {
  font-weight: 350px;
  font-size: 24px;
  margin-bottom: 30px;
}
.privacy .segment p {
  font-size: 16px;
  margin-bottom: 5px;
}
.privacy .segment #text {
  font-size: 16px;
  margin-bottom: 15px;
}

.access {
  overflow: hidden;
}
.access .top-image {
  margin-bottom: 50px;
  position: relative;
  height: 400px;
  width: 90vw;
  margin: 0 auto 0 auto;
}
@media (max-width: 1024px) {
  .access .top-image {
    width: 100vw;
  }
}
@media (max-width: 768px) {
  .access .top-image {
    margin-bottom: 100px;
    height: 250px;
  }
}
.access .centering {
  margin: 0 auto;
}
.access .search {
  font-size: 0.8rem;
}
.access .about-top-img {
  display: block;
  width: 99%;
  object-fit: cover;
}
@media (max-width: 1024px) {
  .access .about-top-img {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .access .about-top-img {
    width: 140%;
  }
}
.access .top-text-en {
  position: absolute;
  top: 30%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 400;
  line-height: 27.2px;
  letter-spacing: 0.05em;
  color: #fff;
}
.access .top-text-ja {
  position: absolute;
  top: 37%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 40px;
  font-weight: 400;
  line-height: 68px;
  letter-spacing: 0.05em;
  text-align: left;
  color: #fff;
}
@media (max-width: 768px) {
  .access .top-text-ja {
    font-size: 28px;
  }
}
.access .title-tag {
  font-family: Shippori Mincho;
  font-size: 16px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  width: fit-content;
  margin-right: 30px;
  margin-bottom: 10px;
  padding: 0.5rem 0.5rem 0.5rem 0.5rem;
  color: #fff;
  background: #5BAC29;
}
.access .title-tag:before {
  position: absolute;
  top: 0;
  right: -14px;
  content: "";
  border-width: 20px 0 20px 14px;
  border-style: solid;
  border-color: transparent transparent transparent #5BAC29;
}
.access .container-lg {
  width: 90vw;
  margin: 0 auto 0 auto;
}
.access .access-text {
  font-family: Shippori Mincho;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.05em;
  text-align: left;
}
.access .access-text .address {
  font-size: 16px;
  display: inline-block;
}
.access .access-text .tel {
  font-size: 14px;
  display: inline-block;
}
.access .access-text .tel-number {
  font-size: 16px;
  display: inline-block;
}

.staff {
  overflow: hidden;
}
.staff .top-image {
  margin-bottom: 50px;
  position: relative;
  height: 400px;
  width: 90vw;
  margin: 0 auto 0 auto;
}
@media (max-width: 1024px) {
  .staff .top-image {
    width: 100vw;
  }
}
@media (max-width: 768px) {
  .staff .top-image {
    margin-bottom: 100px;
    height: 250px;
  }
}
.staff .about-top-img {
  display: block;
  width: 99%;
  object-fit: cover;
}
@media (max-width: 1024px) {
  .staff .about-top-img {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .staff .about-top-img {
    width: 140%;
  }
}
.staff .top-text-en {
  position: absolute;
  top: 30%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 400;
  line-height: 27.2px;
  letter-spacing: 0.05em;
  color: #fff;
}
.staff .top-text-ja {
  position: absolute;
  top: 37%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 40px;
  font-weight: 400;
  line-height: 68px;
  letter-spacing: 0.05em;
  text-align: left;
  color: #fff;
}
@media (max-width: 562px) {
  .staff .top-text-ja {
    top: 40%;
  }
}
@media (max-width: 768px) {
  .staff .top-text-ja {
    font-size: 28px;
  }
}
.staff .container {
  width: 90vw;
  margin: 0 auto;
  padding: 0;
}
.staff-block {
  position: relative;
  width: 100%;
  padding: 150px 0;
  font-family: "Shippori Mincho";
}
.staff-block_heading {
  position: relative;
  text-align: center;
  margin-bottom: 60px;
}
.staff-block_heading_en {
  font-size: 16px;
  line-height: 1em;
  letter-spacing: 0.2em;
  color: #a2a2a2;
  margin-bottom: 35px;
}
.staff-block_heading_title {
  font-size: 28px;
  line-height: 1em;
  letter-spacing: 0.05em;
  color: #2f2f2f;
}
.staff-block_inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.staff-block_inner.lg {
  max-width: 1030px;
}
.staff-block_inner.md {
  max-width: 800px;
}
.staff-block.message {
  background-size: 100% auto;
  background-position: bottom center;
  background-repeat: no-repeat;
  background-color: #ffffff;
  padding-top: 0;
}
.staff-block.message .staff-block_inner {
  position: relative;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 80px 100px 100px;
}
.staff-block.message .message-body_descriptions {
  position: relative;
  width: 100%;
  text-align: left;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.7em;
  margin-bottom: 1rem;
}
.staff-block.message .message-body_descriptions p:last-child {
  margin-bottom: 0;
}
.staff-block.message .message-body_date {
  position: relative;
  width: 100%;
  text-align: left;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.7em;
  margin-bottom: 1rem;
}
.staff-block.message .message-body_author {
  position: relative;
  width: 100%;
  text-align: left;
}
.staff-block.message .message-body_author-position {
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.7em;
}
.staff-block.message .message-body_author-name {
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1.7em;
}
.staff-block.member {
  background-color: #F2F5F0;
}
.staff-block.member .member-body {
  position: relative;
  width: 100%;
  padding-top: 50px;
  display: flex;
  flex-direction: column;
  gap: 100px;
}
.staff-block.member .member-block {
  position: relative;
  padding-top: 121px;
}
.staff-block.member .member-block_image {
  position: absolute;
  top: 0;
  width: 58.2%;
  z-index: 1;
}
.staff-block.member .member-block_image img {
  height: auto;
}
.staff-block.member .member-block_image--pc {
  display: block;
}
.staff-block.member .member-block_image--sp {
  display: none;
}
.staff-block.member .member-block_profile {
  position: relative;
  z-index: 2;
  width: 540px;
}
.staff-block.member .member-block_profile_position {
  position: relative;
  margin-bottom: 5px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  list-style: none;
  padding-left: 0;
}
.staff-block.member .member-block_profile_position-item {
  color: #ffffff;
  background-color: #5BAC29;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.05em;
  padding: 0 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 34px;
  position: relative;
}
.staff-block.member .member-block_profile_position-item::after {
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  width: 9px;
  background-color: #5BAC29;
  top: 0;
}
.staff-block.member .member-block_profile_name {
  position: relative;
  margin-bottom: 42px;
  font-size: 32px;
  letter-spacing: 0.05em;
  line-height: 1.7em;
}
.staff-block.member .member-block_profile_detail {
  background-color: #ffffff;
  border: solid 1px #5BAC29;
  border-radius: 10px;
  padding: 30px;
  box-shadow: 0 0 10px 0 rgba(148, 161, 140, 0.2);
}
.staff-block.member .member-block_profile_detail-table {
  position: relative;
  width: 100%;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.5em;
}
.staff-block.member .member-block_profile_detail-table tbody tr {
  border-bottom: solid 1px #D9D9D9;
}
.staff-block.member .member-block_profile_detail-table tbody tr th {
  width: 87px;
  padding: 10px 0;
  color: #616161;
  vertical-align: top;
}
.staff-block.member .member-block_profile_detail-table tbody tr td {
  width: calc(100% - 87px);
  padding: 10px 0;
  vertical-align: top;
}
.staff-block.member .member-block_profile_detail-table tbody tr:first-child th, .staff-block.member .member-block_profile_detail-table tbody tr:first-child td {
  padding-top: 0;
}
.staff-block.member .member-block_profile_detail-expect {
  position: relative;
  width: 100%;
  letter-spacing: 0.05em;
  line-height: 1.5em;
  margin-bottom: 0;
}
.staff-block.member .member-block_profile_detail-expect dt {
  width: 100%;
  padding: 10px 0;
  color: #616161;
  font-size: 14px;
}
.staff-block.member .member-block_profile_detail-expect dd {
  width: 100%;
  padding: 0;
  font-size: 16px;
}
.staff-block.member .member-block_profile_detail-banner {
  position: relative;
  width: 100%;
  margin-top: 20px;
}
.staff-block.member .member-block_profile_detail-banner img {
  height: auto;
}
.staff-block.member .member-block:nth-child(odd) .member-block_image {
  right: 0;
}
.staff-block.member .member-block:nth-child(odd) .member-block_profile {
  margin-right: auto;
}
.staff-block.member .member-block:nth-child(odd) .member-block_profile_position {
  align-items: flex-start;
}
.staff-block.member .member-block:nth-child(odd) .member-block_profile_name {
  text-align: left;
}
.staff-block.member .member-block:nth-child(odd) .member-block_profile_position-item::after {
  right: 1px;
  transform: translateX(100%);
  clip-path: polygon(0 0, 1px 0, 100% 50%, 1px 100%, 0 100%);
}
.staff-block.member .member-block:nth-child(even) .member-block_image {
  left: 0;
}
.staff-block.member .member-block:nth-child(even) .member-block_profile {
  margin-left: auto;
}
.staff-block.member .member-block:nth-child(even) .member-block_profile_position {
  align-items: flex-end;
}
.staff-block.member .member-block:nth-child(even) .member-block_profile_name {
  text-align: right;
}
.staff-block.member .member-block:nth-child(even) .member-block_profile_position-item::after {
  left: 1px;
  transform: translateX(-100%);
  clip-path: polygon(100% 0, calc(100% - 1px) 0, 0 50%, calc(100% - 1px) 100%, 100% 100%);
}
@media (min-width: 562px) {
  .staff .top-image--pc {
    display: block;
  }
  .staff .top-image--sp {
    display: none;
  }
  .staff .top-image .top-text-ja br {
    display: none;
  }
  .staff-block.message {
    background-image: url("../assets/images/staff/message-bg--pc.jpg");
  }
  .staff-block.member .member-block_profile_detail-expect dd br {
    display: none;
  }
  .staff-block.member .member-block_profile_detail-expect dd.staff03 span {
    display: block;
  }
  .staff-block.member .member-block_profile_detail-expect dd.staff03 span:first-child {
    text-align: left;
    margin-bottom: 5px;
  }
  .staff-block.member .member-block_profile_detail-expect dd.staff03 span:last-child {
    text-align: right;
  }
  .staff-block.member .member-block_profile_detail-banner {
    position: relative;
    width: 100%;
    margin-top: 20px;
  }
  .staff-block.member .member-block_profile_detail-banner img {
    height: auto;
  }
  .staff-block.member .member-block:nth-child(odd) .member-block_image {
    right: 0;
  }
  .staff-block.member .member-block:nth-child(odd) .member-block_profile {
    margin-right: auto;
  }
  .staff-block.member .member-block:nth-child(odd) .member-block_profile_position {
    align-items: flex-start;
  }
  .staff-block.member .member-block:nth-child(odd) .member-block_profile_name {
    text-align: left;
  }
  .staff-block.member .member-block:nth-child(odd) .member-block_profile_position-item::after {
    right: 1px;
    transform: translateX(100%);
    clip-path: polygon(0 0, 1px 0, 100% 50%, 1px 100%, 0 100%);
  }
  .staff-block.member .member-block:nth-child(even) .member-block_image {
    left: 0;
  }
  .staff-block.member .member-block:nth-child(even) .member-block_profile {
    margin-left: auto;
  }
  .staff-block.member .member-block:nth-child(even) .member-block_profile_position {
    align-items: flex-end;
  }
  .staff-block.member .member-block:nth-child(even) .member-block_profile_name {
    text-align: right;
  }
  .staff-block.member .member-block:nth-child(even) .member-block_profile_position-item::after {
    left: 1px;
    transform: translateX(-100%);
    clip-path: polygon(100% 0, calc(100% - 1px) 0, 0 50%, calc(100% - 1px) 100%, 100% 100%);
  }
}
@media (max-width: 562px) {
  .staff .top-image--pc {
    display: none;
  }
  .staff .top-image--sp {
    display: block;
  }
  .staff .top-image .top-text-en {
    font-size: 14px;
    line-height: 1.7em;
  }
  .staff .top-image .top-text-ja {
    font-size: 28px;
    line-height: 1.2em;
  }
  .staff-block {
    padding: 100px 0;
  }
  .staff-block_heading {
    margin-bottom: 30px;
  }
  .staff-block_heading_en {
    font-size: 14px;
    margin-bottom: 15px;
  }
  .staff-block_heading_title {
    font-size: 24px;
  }
  .staff-block.message {
    background-image: url("../assets/images/staff/message-bg--sp.jpg");
  }
  .staff-block.message::before {
    content: "";
    display: block;
    width: 100%;
    height: 30%;
    position: absolute;
    z-index: 0;
    background: linear-gradient(to bottom, rgb(255, 255, 255), rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0));
  }
  .staff-block.message .staff-block_inner {
    padding: 30px 20px 50px;
  }
  .staff-block.member .member-body {
    padding-top: 20px;
    gap: 80px;
  }
  .staff-block.member .member-block {
    padding-top: 0;
  }
  .staff-block.member .member-block_image {
    position: relative;
    top: auto;
    width: 89.5%;
    margin-left: auto;
    margin-bottom: 30px;
  }
  .staff-block.member .member-block_image--pc {
    display: none;
  }
  .staff-block.member .member-block_image--sp {
    display: block;
  }
  .staff-block.member .member-block_profile {
    width: 100%;
  }
  .staff-block.member .member-block_profile_name {
    margin-bottom: 15px;
  }
  .staff-block.member .member-block_profile_detail {
    padding: 20px;
  }
  .staff-block.member .member-block_profile_detail-expect dd {
    text-align: center;
  }
  .staff-block.member .member-block_profile_detail-expect dd span {
    display: block;
  }
  .staff-block.member .member-block:nth-child(odd) .member-block_image {
    right: auto;
  }
  .staff-block.member .member-block:nth-child(odd) .member-block_profile {
    margin-right: auto;
  }
  .staff-block.member .member-block:nth-child(even) .member-block_image {
    left: auto;
  }
  .staff-block.member .member-block:nth-child(even) .member-block_profile {
    margin-right: auto;
  }
  .staff-block.member .member-block:nth-child(even) .member-block_profile_position {
    align-items: flex-start;
  }
  .staff-block.member .member-block:nth-child(even) .member-block_profile_name {
    text-align: left;
  }
  .staff-block.member .member-block:nth-child(even) .member-block_profile_position-item::after {
    right: 1px;
    left: auto;
    transform: translateX(100%);
    clip-path: polygon(0 0, 1px 0, 100% 50%, 1px 100%, 0 100%);
  }
}
@media (min-width: 481px) {
  .staff-block.member .member-block_profile_detail-expect dd.staff03 br {
    display: none;
  }
}
.staff .can {
  margin-top: 50px;
  padding-bottom: 5em;
}
.staff .can .title {
  font-size: 28px;
  padding-top: 2em;
  padding-bottom: 1em;
  font-family: Shippori Mincho;
}
.staff .can .section-wrapper {
  background-color: #fff;
  border-radius: 10px;
  opacity: 0.8px;
  margin-top: 5rem;
  padding-left: 3em;
  padding-right: 3em;
  padding-bottom: 3em;
}
.staff .can .card {
  border: none;
}
.staff .can .card-wrapper {
  background-color: #F2F5F0;
  padding: 0.5rem;
  border-radius: 5px;
  margin: 1.5em 0;
}
.staff .can .description-wrapper {
  border-radius: 5px;
  padding: 1em 0;
}
.staff .can .card-inner {
  background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='5' ry='5' stroke='%235BAC29FF' stroke-width='3' stroke-dasharray='8%2c8' stroke-dashoffset='8' stroke-linecap='square'/%3e%3c/svg%3e");
  border-radius: 5px;
  background-color: #F2F5F0;
  padding: 1rem;
}
.staff .can .card-img {
  padding: 1em;
}
.staff .can .card-subtext {
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
}
.staff .can .card-body {
  margin-bottom: 0.5em;
  margin-left: 0.5em;
  margin-right: 0.5em;
}
@media (max-width: 768px) {
  .staff .can .card-body {
    margin-bottom: 40px;
  }
}
.staff .can .card-title {
  background-color: #5BAC29;
  color: #fff;
  font-family: Noto Sans JP;
  font-size: 18px;
  font-weight: 500;
  line-height: 36px;
  letter-spacing: 0.1em;
  text-align: center;
  border-radius: 5px 5px 0px 0px;
}
.staff .can .price .fee-title1 {
  font-size: 16px;
  font-weight: 500;
  line-height: 23px;
  padding-top: 1em;
}
.staff .can .price .fee-title {
  height: 55px;
  background-color: #5BAC29;
  color: #fff;
  font-family: Noto Sans JP;
  line-height: 22.4px;
  letter-spacing: 0.1em;
  text-align: center;
  vertical-align: middle;
  border-radius: 5px 5px 0px 0px;
}
.staff .can .price .info-wrapper {
  padding: 2em 1em 2em 1em;
}
.staff .can .info-wrapper {
  padding: 1em;
}
.staff .can .card-info {
  font-family: Noto Sans JP;
  font-size: 24px;
  line-height: 40.8px;
  letter-spacing: 0.15em;
  text-align: center;
  background-color: #F2F5F0;
  border-radius: 0px 0px 5px 5px;
  vertical-align: middle;
}
.staff .can .right-wrapper {
  padding: 1em 0;
}
.staff .can .right-card-info {
  font-family: Noto Sans JP;
  font-size: 20px;
  line-height: 34px;
  text-align: center;
}
.staff .can .rain {
  font-family: Noto Sans JP;
  font-size: 15px;
  line-height: 25.5px;
  text-align: center;
  color: #A2A2A2;
}
.staff .can .brackets {
  font-family: Noto Sans JP;
  font-size: 16px;
  line-height: 27px;
  text-align: center;
  display: inline-block;
}
.staff .can .card-text {
  font-size: 24px;
  font-weight: 400;
  line-height: 36px;
  font-family: Shippori Mincho;
}
.staff .can .card-font16 {
  font-family: Noto Sans JP;
  font-size: 16px;
  line-height: 27px;
  text-align: center;
}
.staff .can .gray {
  color: #A2A2A2;
  font-family: Noto Sans JP;
  font-size: 16px;
  line-height: 27px;
  text-align: center;
}
.staff .can .card-font15 {
  font-family: Noto Sans JP;
  font-size: 15px;
  line-height: 25px;
  text-align: center;
}
.staff .can .card-price {
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 500;
  line-height: 23px;
  letter-spacing: 0.05em;
  text-align: center;
  background-color: #F2F5F0;
  border-radius: 0px 0px 5px 5px;
  height: 52px;
  padding-top: 1rem;
}
.staff .can .coupon-container {
  margin-left: 1em;
  margin-right: 1em;
}
.staff .can .box-mini-wrapper {
  text-align: center;
  position: relative;
  bottom: -40px;
}
.staff .can .box-mini {
  width: 255px;
  border: 1px solid #C6E7B2;
  box-shadow: 4px 4px 0px 0px #E2E5DF;
  background: #FFFFFF;
  padding: 1em;
  display: inline-block;
}
.staff .can .box {
  border: 1px solid #C6E7B2;
  box-shadow: 4px 4px 0px 0px #E2E5DF;
  left: 320px;
  text-align: center;
  border-radius: 30px;
}
.staff .can .box-title {
  color: #5BAC29;
  font-family: Zen Maru Gothic;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.05em;
}
.staff .can .coupon {
  color: #5BAC29;
  text-align: center;
  font-family: Zen Maru Gothic;
  font-size: 24px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 0.05em;
}
.staff .can .coupon-small {
  font-family: Zen Maru Gothic;
  font-size: 20px;
  line-height: 20px;
  letter-spacing: 0.05em;
  text-align: left;
  display: inline-block;
}
.staff .can .about-coupon {
  color: #2F2F2F;
  font-family: Noto Sans JP;
  font-size: 14px;
  line-height: 23.8px;
  letter-spacing: 0.05em;
  padding: 2rem;
  padding-top: 5em;
  text-align: center;
}
.staff .can .pr-icon {
  font-family: Font Awesome 5 Brands;
  font-size: 44px;
  font-weight: 400;
  line-height: 44px;
  letter-spacing: 0.05em;
  text-align: center;
}
.staff .can .members-box {
  background: linear-gradient(90.77deg, #EAE4AD 12.92%, #509923 99.4%);
}
.staff .can .pop {
  position: relative;
  bottom: -30px;
  left: -50px;
}
.staff .can .icon {
  transform: rotate(-12deg);
  color: #E0973D;
  position: relative;
  scale: 2.4;
  top: -32px;
}
.staff .can .pull-left {
  position: relative;
  right: 8px;
}
@media (max-width: 768px) {
  .staff .can .btn-line {
    margin-bottom: 40px;
    display: inline-block;
  }
}
@media (max-width: 576px) {
  .staff .can .btn-line {
    margin-bottom: 40px;
    display: inline-block;
  }
}
.staff .can .btn-spacer {
  width: 2rem;
}
.staff .can .farmfound {
  font-family: Shippori Mincho;
  font-size: 14px;
  font-weight: 600;
  line-height: 21px;
  letter-spacing: 0.05em;
  text-align: left;
  color: #FFFFFF;
}
.staff .can .img-farm {
  margin: 0.3em 0;
}
.staff .can .farm-info {
  padding: 1.5em 0;
}
.staff .can .members-wrapper {
  margin-left: 1em;
  margin-right: 1em;
}
.staff .can .members-title {
  font-family: Shippori Mincho;
  font-size: 22px;
  font-weight: 600;
  line-height: 33px;
  letter-spacing: 0.05em;
  text-align: left;
  color: #FFFFFF;
}
.staff .can .join-back {
  background: #EAE4AD;
  width: 110px;
  height: 109.44px;
  top: 3514.33px;
  left: 320px;
  box-shadow: 0px 0px 10px 0px rgba(148, 161, 140, 0.2);
  border-radius: 50%;
}
.staff .can .join {
  color: #5BAC29;
  font-family: Shippori Mincho;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.05em;
  top: 40px;
  rotate: -10deg;
  padding-top: 2em;
  left: -1rem;
}
.staff .can .btn-mem {
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 600;
  line-height: 23px;
  letter-spacing: 0.05em;
  color: #5BAC29;
  background-color: #FFFFFF;
  border-radius: 32px;
  padding: 0.8rem;
  margin-top: 2rem;
}
.staff .can .btn-radius {
  border-radius: 24px;
  --bs-btn-padding-x: 1.5rem;
  font-family: Shippori Mincho;
}
.staff .can .btn-pr {
  width: 250px;
}
.staff .can .btn-orange {
  --bs-btn-color: #fff;
  --bs-btn-bg: #E0973D;
  --bs-btn-border-color: #E0973D;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #E0973D;
  --bs-btn-hover-border-color: #E0973D;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #E0973D;
  --bs-btn-active-border-color: #E0973D;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #E0973D;
  --bs-btn-disabled-border-color: #E0973D;
}
.staff .can .btn-orange-border {
  --bs-btn-color: #E0973D;
  --bs-btn-bg: #FCF6ED;
  --bs-btn-border-color: #E0973D;
  --bs-btn-hover-color: #E0973D;
  --bs-btn-hover-bg: #FCF6ED;
  --bs-btn-hover-border-color: #E0973D;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #FCF6ED;
  --bs-btn-active-border-color: #E0973D;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #FCF6ED;
  --bs-btn-disabled-border-color: #E0973D;
}
.staff .can .description {
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 300;
  line-height: 27.2px;
  letter-spacing: 0.05em;
  text-align: center;
}
.staff .can .features-wrapper {
  text-align: center;
}
.staff .can .features {
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.05em;
  text-align: center;
}
.staff .can .look {
  color: #5BAC29;
  border-radius: 50%;
  background: #F2F5F0;
  padding: 6px 0;
  width: 130px;
  display: inline-block;
  margin: 1rem 0.5rem;
}
.staff .can .section-title {
  font-size: 28px;
  font-weight: 400;
}
.staff .can .sub-title {
  color: #A2A2A2;
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 400;
  line-height: 23.17px;
  letter-spacing: 0.2em;
  text-align: center;
}
.staff .can .members-sp {
  margin: 3em 0;
  padding-bottom: 2em;
}
.staff .can .sp-img {
  background-image: url("../assets/images/about/about_07.png");
  background-position: center;
  background-size: auto;
  aspect-ratio: 18/6;
}
.staff .can .img-farm-sp {
  margin: 1em;
}
.staff .can .farm-info-sp {
  text-align: center;
  font-family: Shippori Mincho;
  color: #FFFFFF;
}
.staff .can .members-title-sp {
  font-size: 20px;
}
.staff .can .farmfound-sp {
  font-size: 13px;
}
.staff .can .btn-farm-sp {
  font-size: 15px;
}
.staff .can .btn-sp {
  margin-bottom: 0.5em;
}
.staff .can .card-body-sp {
  padding: 0.1em;
  padding-bottom: 1em;
}
.staff .facility {
  padding-top: 5em;
}
.staff .facility .facility-wrapper {
  background-color: red;
  width: cover;
  margin-top: 5em;
  background-color: #fff;
  opacity: 0.8px;
  padding-top: 5em;
}
.staff .facility .description-wrapper {
  border-radius: 5px;
  padding: 1em 0;
}
.staff .facility .btn-mem {
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 600;
  line-height: 23.17px;
  letter-spacing: 0.05em;
  color: #5BAC29;
  background-color: #FFFFFF;
  border-radius: 32px;
  padding: 0.8rem;
  margin-top: 2rem;
}
.staff .facility .btn-radius {
  border-radius: 24px;
  --bs-btn-padding-x: 1.5rem;
  font-family: Shippori Mincho;
}
.staff .facility .btn-pr {
  width: 250px;
}
.staff .facility .btn-orange {
  --bs-btn-color: #fff;
  --bs-btn-bg: #E0973D;
  --bs-btn-border-color: #E0973D;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #E0973D;
  --bs-btn-hover-border-color: #E0973D;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #E0973D;
  --bs-btn-active-border-color: #E0973D;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #E0973D;
  --bs-btn-disabled-border-color: #E0973D;
}
.staff .facility .btn-orange-border {
  --bs-btn-color: #E0973D;
  --bs-btn-bg: #FCF6ED;
  --bs-btn-border-color: #E0973D;
  --bs-btn-hover-color: #E0973D;
  --bs-btn-hover-bg: #FCF6ED;
  --bs-btn-hover-border-color: #E0973D;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #FCF6ED;
  --bs-btn-active-border-color: #E0973D;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #FCF6ED;
  --bs-btn-disabled-border-color: #E0973D;
}
.staff .facility .description {
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 300;
  line-height: 27.2px;
  letter-spacing: 0.05em;
  text-align: center;
}
.staff .facility .features-wrapper {
  text-align: center;
}
.staff .facility .features {
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.05em;
  text-align: center;
}
.staff .facility .look {
  color: #5BAC29;
  border-radius: 50%;
  background: #F2F5F0;
  padding: 6px 0;
  width: 130px;
  display: inline-block;
  margin: 1rem 0.5rem;
}
.staff .facility .section-title {
  font-size: 28px;
  font-weight: 400;
}
.staff .facility .sub-title {
  color: #A2A2A2;
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 400;
  line-height: 23.17px;
  letter-spacing: 0.2em;
  text-align: center;
}
.staff .facility .fc-img {
  background-image: url("../assets/images/about/about_08.jpeg");
  background-position: center;
  background-size: cover;
  aspect-ratio: 16/9;
}
.staff .facility .fee-fc {
  height: 42px;
  background-color: #5BAC29;
  color: #fff;
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 500;
  line-height: 23.17px;
  letter-spacing: 0.1em;
  text-align: center;
  vertical-align: middle;
  border-radius: 5px 5px 0px 0px;
  padding-top: 1em;
}
.staff .facility .card-spacer {
  width: 0.5rem;
}
.staff .facility .card-body {
  padding: 1em;
}
.staff .facility .card-fc {
  font-family: Noto Sans JP;
  font-size: 24px;
  line-height: 40.8px;
  letter-spacing: 0.05em;
  text-align: center;
  height: 239px;
  top: 5008px;
  left: 320px;
  gap: 0px;
  border-radius: 0px 0px 5px 5px;
  opacity: 0px;
  background: #F2F5F0;
  padding-top: 3rem;
  padding-right: 2%;
  padding-left: 2%;
}
.staff .facility .add {
  font-family: Noto Sans JP;
  font-size: 14px;
  line-height: 23.8px;
  letter-spacing: 0.05em;
  text-align: center;
}
.staff .facility .tel {
  font-family: Noto Sans JP;
  font-size: 14px;
  line-height: 21px;
  letter-spacing: 0.05em;
  text-align: center;
}
.staff .facility .tel-num {
  font-family: Noto Sans JP;
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 0.1em;
  text-align: center;
}
.staff .facility .caution {
  font-family: Noto Sans JP;
  font-size: 14px;
  line-height: 23.8px;
  letter-spacing: 0.05em;
  text-align: left;
  color: #616161;
}
.staff .facility .caution-bg {
  background-color: #F7F7F7;
  text-align: left;
  padding: 2rem;
}
.staff .facility .section-wrapper {
  background-color: #fff;
  border-radius: 10px;
  opacity: 0.8px;
  margin-top: 5rem;
  padding-bottom: 5em;
  padding-left: 3em;
  padding-right: 3em;
}

.page.cafe {
  font-family: "Shippori Mincho";
}
.page.cafe .description {
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 300;
  line-height: 27.2px;
  letter-spacing: 0.05em;
  text-align: center;
}
.page.cafe .description-wrapper {
  border-radius: 5px;
  padding-top: 5em;
}
.page.cafe .top-image {
  margin-bottom: 50px;
  position: relative;
  height: 400px;
  width: 90vw;
  margin: 0 auto 0 auto;
}
@media (max-width: 1024px) {
  .page.cafe .top-image {
    width: 100vw;
  }
}
@media (max-width: 768px) {
  .page.cafe .top-image {
    margin-bottom: 100px;
    height: 250px;
  }
}
.page.cafe .about-top-img {
  display: block;
  width: 99%;
  object-fit: cover;
}
@media (max-width: 1024px) {
  .page.cafe .about-top-img {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .page.cafe .about-top-img {
    width: 140%;
  }
}
.page.cafe .top-text-en {
  position: absolute;
  top: 30%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 400;
  line-height: 27.2px;
  letter-spacing: 0.05em;
  color: #fff;
}
.page.cafe .top-text-ja {
  position: absolute;
  top: 37%;
  left: 4%;
  font-family: Shippori Mincho;
  font-size: 40px;
  font-weight: 400;
  line-height: 68px;
  letter-spacing: 0.05em;
  text-align: left;
  color: #fff;
}
@media (max-width: 768px) {
  .page.cafe .top-text-ja {
    font-size: 28px;
  }
}
.page.cafe .title {
  color: #ffffff;
  font-size: 40px;
  line-height: 68px;
  font-family: "Shippori Mincho";
}
.page.cafe .subtitle {
  font-family: "Shippori Mincho";
  color: #ffffff;
  font-size: 16px;
}
.page.cafe .message {
  font-family: "Shippori Mincho";
  margin: 3em 0;
  padding-top: 2em;
  padding-bottom: 2em;
  text-align: center;
  font-weight: 400;
  font-size: 18px;
  line-height: 45px;
  color: #2F2F2F;
}
@media (max-width: 576px) {
  .page.cafe .message {
    font-size: 15px;
  }
}
.page.cafe .section-title {
  font-size: 28px;
  padding-top: 2em;
  padding-bottom: 2em;
  font-family: "Shippori Mincho";
}
.page.cafe .sub-title {
  color: #A2A2A2;
  font-family: Shippori Mincho;
  font-size: 16px;
  font-weight: 400;
  line-height: 23px;
  letter-spacing: 0.2em;
  text-align: center;
}
.page.cafe .bg-section {
  background: #FCFAF7;
  margin: 0 auto 0 auto;
}
.page.cafe .content {
  max-width: 1087px;
  margin: 0 auto 0 auto;
}
.page.cafe .foodbox {
  margin: 0 2em;
}
.page.cafe .card-body {
  padding: 0;
  margin-bottom: 0.5em;
  margin-left: 0.5em;
  margin-right: 0.5em;
}
@media (max-width: 576px) {
  .page.cafe .card-body {
    padding: 0;
    margin: 0;
  }
}
.page.cafe .card-inline {
  display: inline-block;
  padding-left: 2em;
  margin-top: 1em;
  text-align: center;
}
@media (max-width: 576px) {
  .page.cafe .card-inline {
    padding: 0;
    margin: 0;
  }
}
.page.cafe .card-subtext {
  font-family: Shippori Mincho;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
}
.page.cafe .card-text {
  font-family: Noto Sans JP;
  font-size: 14px;
  font-weight: 400;
  line-height: 23.8px;
  letter-spacing: 0.05em;
  text-align: left;
}
.page.cafe .card-text24 {
  font-family: Shippori Mincho;
  font-size: 24px;
  line-height: 40px;
  letter-spacing: 0.05em;
  text-align: center;
  word-break: keep-all;
}
@media (max-width: 556px) {
  .page.cafe .card-text24 {
    font-size: 20px;
  }
}
@media (max-width: 556px) {
  .page.cafe .can-24 {
    line-height: 20px;
  }
}
.page.cafe .left-img {
  max-width: 200px;
  margin-left: 0.5em;
  margin-bottom: 3em;
}
.page.cafe .card-wh {
  border-radius: 5px;
}
.page.cafe .card-inner {
  background-color: #F2F5F0;
  border-radius: 5px;
}
@media (max-width: 556px) {
  .page.cafe .btn {
    font-size: 13px;
  }
}
.page.cafe .btn-orange {
  --bs-btn-color: #fff;
  --bs-btn-bg: #E0973D;
  --bs-btn-border-color: #E0973D;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #E0973D;
  --bs-btn-hover-border-color: #E0973D;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #E0973D;
  --bs-btn-active-border-color: #E0973D;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #E0973D;
  --bs-btn-disabled-border-color: #E0973D;
}
.page.cafe .btn-orange-border {
  --bs-btn-color: #E0973D;
  --bs-btn-bg: #FCF6ED;
  --bs-btn-border-color: #E0973D;
  --bs-btn-hover-color: #E0973D;
  --bs-btn-hover-bg: #FCF6ED;
  --bs-btn-hover-border-color: #E0973D;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #FCF6ED;
  --bs-btn-active-border-color: #E0973D;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #FCF6ED;
  --bs-btn-disabled-border-color: #E0973D;
}
.page.cafe .btn-radius {
  border-radius: 24px;
  --bs-btn-padding-x: 1.5rem;
}
.page.cafe .card-text14 {
  font-family: Shippori Mincho;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.05em;
  text-align: center;
}
.page.cafe .card-wrapper {
  background-color: #F2F5F0;
  padding: 1rem;
  border-radius: 5px;
}
.page.cafe .wh-wrapper {
  padding: 1rem;
  border-radius: 5px;
  background-color: #fff;
}
@media (min-width: 992px) {
  .page.cafe .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
}
.page.cafe .card-container {
  max-width: 90vw;
}
@media (max-width: 992px) {
  .page.cafe .card-container {
    gap: 1.5em;
    max-width: none;
  }
}
.page.cafe .card {
  border: none;
}
@media (max-width: 992px) {
  .page.cafe .card-container {
    gap: 1.5em;
  }
}
.page.cafe .card-img-wrapper {
  width: 45%;
  border-radius: 5px;
}
@media (max-width: 768px) {
  .page.cafe .card-img-wrapper {
    width: 40%;
  }
}
@media (max-width: 576px) {
  .page.cafe .card-img-wrapper {
    width: 36%;
  }
}
.page.cafe .main-container {
  background-color: white;
}
.page.cafe .can-doshin-title {
  font-family: Shippori Mincho;
  font-size: 28px;
  margin-bottom: 40px;
}
.page.cafe .card {
  border: none;
}
@media (max-width: 992px) {
  .page.cafe .card-container {
    gap: 1.5em;
  }
}
.page.cafe .card-inner {
  background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='5' ry='5' stroke='%235BAC29FF' stroke-width='3' stroke-dasharray='8%2c8' stroke-dashoffset='8' stroke-linecap='square'/%3e%3c/svg%3e");
  border-radius: 5px;
  background-color: #F2F5F0;
  padding: 0.5rem;
  align-items: center;
}
@media (max-width: 556px) {
  .page.cafe .img-fluid {
    width: 100%;
  }
}
.page.cafe .card-subtext {
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
  font-family: Shippori Mincho;
  white-space: nowrap;
}
@media (max-width: 556px) {
  .page.cafe .card-subtext {
    font-size: 13px;
  }
}
.page.cafe .card-title {
  font-size: 24px;
  font-family: Shippori Mincho;
  font-weight: 500;
  line-height: 36px;
  letter-spacing: 0.1em;
  text-align: center;
  border-radius: 5px 5px 0px 0px;
}
@media (max-width: 992px) {
  .page.cafe .card-title {
    font-size: 20px;
  }
}
.page.cafe .card-info {
  font-family: Noto Sans JP;
  font-size: 24px;
  line-height: 40.8px;
  letter-spacing: 0.15em;
  text-align: center;
  background-color: #f2f5f0;
  border-radius: 0px 0px 5px 5px;
  vertical-align: middle;
}
.page.cafe .gray {
  color: #a2a2a2;
  font-family: Noto Sans JP;
  font-size: 16px;
  line-height: 27px;
  text-align: center;
}
.page.cafe .card-font15 {
  font-family: Noto Sans JP;
  font-size: 15px;
  line-height: 25px;
  text-align: center;
}
.page.cafe .card-price {
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 500;
  line-height: 23px;
  letter-spacing: 0.05em;
  text-align: center;
  background-color: #f2f5f0;
  border-radius: 0px 0px 5px 5px;
  height: 52px;
  padding-top: 1rem;
}
.page.cafe .h-90 {
  height: 90% !important;
}

.contact {
  position: relative;
  width: 100%;
  padding-bottom: 100px;
}
.contact .page-heading {
  font-family: "Shippori Mincho";
  position: relative;
  width: 100%;
  padding: 97px 0;
  text-align: center;
}
.contact .page-heading_sub-title {
  position: relative;
  color: #a2a2a2;
  font-size: 16px;
  line-height: 1.7em;
  letter-spacing: 0.05em;
}
.contact .page-heading_title {
  position: relative;
  font-size: 40px;
  line-height: 1.7em;
  letter-spacing: 0.05em;
  color: #2f2f2f;
}
.contact .page-heading_title span {
  display: inline-block;
}
.contact-block {
  position: relative;
  width: 100%;
  padding: 80px 0;
}
.contact-block_inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.contact-block_inner.lg {
  max-width: 800px;
}
.contact-block_inner.md {
  max-width: 600px;
}
.contact-block_heading {
  position: relative;
  text-align: center;
  margin-bottom: 50px;
  font-family: "Shippori Mincho";
  font-size: 28px;
  line-height: 1.7em;
  letter-spacing: 0.05em;
  color: #2f2f2f;
}
.contact-block_body .screen-reader-response {
  display: none;
}
.contact-block_body .wpcf7-not-valid-tip {
  text-align: left;
  padding: 3px 6px;
  border-radius: 5px;
  background-color: #ff4343;
  color: #ffffff;
  font-size: 13px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  margin-top: 10px;
  display: block;
  width: 100%;
  font-weight: 400;
}
.contact-block_body .wpcf7-response-output {
  text-align: center;
  padding: 4px 6px;
  border: solid 2px #ff4343;
  color: #333333;
  font-size: 13px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  margin-top: 20px;
  display: block;
  width: 100%;
  font-weight: 400;
}
.contact-block_body .wpcf7-submit:disabled {
  opacity: 0.5;
}
.contact-block_body .wpcf7-response-output {
  display: none;
}
.contact-block_body form.invalid .wpcf7-response-output,
.contact-block_body form.sent .wpcf7-response-output {
  display: block;
  /* 装飾 */
}
.contact .container {
  width: 90vw;
  margin: 0 auto;
  padding: 0;
}
.contact .faq {
  background-color: #F2F5F0;
}
.contact .faq-list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.contact .faq-item {
  position: relative;
  padding: 20px;
  border: solid 2px #d9d9d9;
  border-radius: 5px;
  background-color: #ffffff;
  font-family: Noto Sans JP;
}
.contact .faq-item_question {
  position: relative;
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  margin-bottom: 15px;
}
.contact .faq-item_answer {
  position: relative;
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  padding-left: 35px;
}
.contact .faq-item_icon {
  width: 25px;
  position: relative;
}
.contact .faq-item_icon img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.contact .faq-item_text {
  position: relative;
  width: calc(100% - 25px - 10px);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: left;
  line-height: 1.5em;
  padding-top: 2px;
}
.contact .faq-item_text a {
  color: inherit;
}
.contact .faq-item_text a:hover {
  opacity: 0.7;
}
.contact .form {
  position: relative;
  width: 100%;
  background-color: rgb(242, 245, 240);
}
.contact .form-list {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 30px;
  font-family: Noto Sans JP;
}
.contact .form-group {
  position: relative;
}
.contact .form-group_label {
  font-size: 16px;
  color: #a2a2a2;
  line-height: 1.7em;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}
.contact .form-group_input {
  position: relative;
  width: 100%;
}
.contact .form-group_input input, .contact .form-group_input textarea {
  position: relative;
  padding: 9px;
  width: 100%;
  border: solid 2px #d9d9d9;
  border-radius: 5px;
  font-size: 16px;
  line-height: 1.7em;
  letter-spacing: 0.05em;
}
.contact .form-group_input textarea {
  min-height: 200px;
  display: block;
}
.contact .form-group_checkboxs {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.contact .form-group_checkboxs .wpcf7-form-control {
  flex-direction: column;
}
.contact .form-group .wpcf7-form-control {
  position: relative;
  width: 100%;
  display: flex;
  gap: 5px;
}
.contact .form-group .wpcf7-form-control .wpcf7-list-item label {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  line-height: 1.7em;
  letter-spacing: 0.05em;
  color: #616161;
}
.contact .form-group .wpcf7-form-control .wpcf7-list-item label .wpcf7-list-item-label {
  padding-left: 30px;
  position: relative;
}
.contact .form-group .wpcf7-form-control .wpcf7-list-item label .wpcf7-list-item-label::before {
  content: "";
  border: solid 2px #d9d9d9;
  background-color: #ffffff;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 300;
  width: 20px;
  height: 20px;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.contact .form-group .wpcf7-form-control .wpcf7-list-item label input {
  display: none;
}
.contact .form-group .wpcf7-form-control .wpcf7-list-item label input:checked {
  background-color: #5BAC29;
}
.contact .form-group .wpcf7-form-control .wpcf7-list-item label input:checked + .wpcf7-list-item-label::before {
  border: solid 2px #5BAC29;
  background-color: #5BAC29;
}
.contact .form-group .wpcf7-form-control .wpcf7-list-item label input:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: calc(50% - 1px);
  width: 10px;
  height: 6px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translate3d(50%, -50%, 0) rotate(-45deg);
}
.contact .form-group_check {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  line-height: 1.7em;
  letter-spacing: 0.05em;
  color: #616161;
}
.contact .form-group_check.center {
  justify-content: center;
}
.contact .form-group_check-mark {
  width: 20px;
  height: 20px;
  position: relative;
}
.contact .form-group_check-mark input {
  appearance: none;
  border: solid 2px #d9d9d9;
  background-color: #ffffff;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 300;
  width: 20px;
  height: 20px;
  display: block;
}
.contact .form-group_check-mark input:checked {
  background-color: #5BAC29;
}
.contact .form-group_check-mark input:checked::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: calc(50% - 1px);
  width: 10px;
  height: 6px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translate3d(-50%, -50%, 0) rotate(-45deg);
}
.contact .form-group_confirm {
  position: relative;
  padding-top: 20px;
  font-size: 14px;
  font-weight: 200;
}
.contact .form-group_confirm .form-group_check-mark {
  margin-top: 2.5px;
}
.contact .form-group_confirm .wpcf7-form-control {
  justify-content: center;
}
.contact .form-group_btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.contact .form-group_btn button[type=submit],
.contact .form-group_btn input[type=submit] {
  padding: 0 15px;
  height: 54px;
  width: 162px;
  border-radius: 27px;
  position: relative;
  display: block;
  background-color: #5bac29;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  border: none;
}
.contact .form-group_btn button[type=submit]:hover,
.contact .form-group_btn input[type=submit]:hover {
  opacity: 0.7;
}
@media (min-width: 769px) {
  .contact .page-heading_title br {
    display: none;
  }
}
@media (max-width: 768px) {
  .contact {
    padding-bottom: 410px;
  }
  .contact .page-heading {
    padding: 56px 0 102px;
  }
  .contact .page-heading_sub-title {
    font-size: 14px;
    margin-bottom: 7px;
  }
  .contact .page-heading_title {
    font-size: 28px;
    line-height: 1.2em;
  }
  .contact-block {
    padding: 50px 0;
  }
  .contact-block_heading {
    font-size: 24px;
  }
  .contact .faq-list {
    gap: 15px;
  }
  .contact .faq-item {
    padding: 15px;
  }
  .contact .faq-item_answer {
    padding-left: 33px;
  }
  .contact .faq-item_icon {
    width: 23px;
  }
  .contact .faq-item_text {
    width: calc(100% - 23px - 10px);
    font-size: 15px;
  }
  .contact .form {
    padding-bottom: 150px;
  }
  .contact .form-list {
    gap: 20px;
  }
  .contact .form-group_label {
    font-size: 15px;
  }
  .contact .form-group_input input, .contact .form-group_input textarea {
    font-size: 15px;
    padding: 10px;
  }
  .contact .form-group .wpcf7-form-control .wpcf7-list-item label {
    font-size: 15px;
  }
  .contact .form-group_check {
    font-size: 15px;
  }
  .contact .form-group_check input {
    font-size: 15px;
  }
  .contact .form-group_confirm {
    padding-top: 10px;
  }
  .contact .form-group_confirm .wpcf7-form-control {
    justify-content: flex-start;
  }
  .contact .form-group_confirm .wpcf7-form-control .wpcf7-list-item label {
    font-size: 14px;
  }
  .contact .form-group_btn {
    padding-top: 10px;
    gap: 15px;
  }
  .contact .form-group_btn button[type=submit],
  .contact .form-group_btn input[type=submit] {
    padding: 0 10px;
    height: 48px;
    width: 147px;
    border-radius: 24px;
    font-size: 13px;
  }
}
@media (max-width: 562px) {
  .contact {
    padding-bottom: 100px;
  }
}

.archive {
  font-family: "Shippori Mincho";
  position: relative;
  margin-bottom: 100px;
}
@media (max-width: 768px) {
  .archive {
    margin-bottom: 80px;
  }
}
.archive-title-wrapper {
  margin-bottom: 50px;
}
.archive .main-title {
  font-size: 16px;
  color: #a2a2a2;
}
.archive .sub-title {
  font-size: 28px;
  word-break: keep-all;
}
.archive-content-container {
  width: 60vw;
  margin: 0 auto 0 auto;
}
@media (max-width: 768px) {
  .archive-content-container {
    width: 90vw;
  }
}
.archive-content {
  background-color: #f2f5f0;
  width: 100%;
  border-radius: 10px;
  height: auto;
  padding: 15px 30px;
  align-items: center;
  justify-content: start;
  text-decoration: none;
  color: #2F2F2F;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .archive-content {
    padding-top: 8px;
    padding: 10px 15px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
}
.archive-day {
  font-size: 14px;
  width: 91px;
  text-align: left;
  padding-left: 0;
}
@media (max-width: 768px) {
  .archive-day {
    font-size: 13px;
    width: 100%;
    margin-bottom: 6px;
  }
}
.archive-title {
  font-size: 18px;
  flex: 1;
  border-left: solid 1px #A2A2A2;
  padding-left: 20px;
  padding-right: 0;
  width: calc(100% - 91px);
}
@media (max-width: 768px) {
  .archive-title {
    font-size: 16px;
    padding-left: 0;
    width: 100%;
    border: none;
  }
}
.archive .show-more-button-wrapper {
  margin-top: 50px;
  position: relative;
}
.archive .show-more-button-wrapper .wp-pagenavi {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  font-size: 16px;
}
.archive .show-more-button-wrapper .wp-pagenavi a {
  border: none !important;
}
.archive .show-more-button-wrapper .wp-pagenavi span.extend {
  display: none !important;
}
.archive .show-more-button-wrapper .wp-pagenavi .first {
  display: none !important;
}
.archive .show-more-button-wrapper .wp-pagenavi .last {
  display: none !important;
}
.archive .show-more-button-wrapper .wp-pagenavi .page {
  text-decoration: none;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 1px #5BAC29;
  border-radius: 50%;
  color: #5BAC29;
  background-color: #ffffff;
}
.archive .show-more-button-wrapper .wp-pagenavi .current {
  text-decoration: none;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 1px #5BAC29;
  border-radius: 50%;
  color: #ffffff;
  background-color: #5BAC29;
}
.archive .show-more-button-wrapper .wp-pagenavi .previouspostslink {
  color: transparent;
  text-decoration: none;
  width: 30px;
  height: 30px;
  background-image: url("../assets/images/single/arrow-back.svg");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
.archive .show-more-button-wrapper .wp-pagenavi .nextpostslink {
  color: transparent;
  text-decoration: none;
  width: 30px;
  height: 30px;
  background-image: url("../assets/images/single/arrow-next.svg");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}

/* Set the global variables for everything. Change these to use your own fonts and colours. */
:root {
  /* Set sans-serif & mono fonts */
  --sans-font: -apple-system, BlinkMacSystemFont, "Avenir Next", Avenir,
    "Nimbus Sans L", Roboto, Noto, "Segoe UI", Arial, Helvetica,
    "Helvetica Neue", sans-serif;
  --mono-font: Consolas, Menlo, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
  /* Body font size. By default, effectively 18.4px, based on 16px as 'root em' */
  --base-fontsize: 1.15rem;
  /* Major third scale progression - see https://type-scale.com/ */
  --header-scale: 1.25;
  /* Line height is set to the "Golden ratio" for optimal legibility */
  --line-height: 1.618;
  /* Default (light) theme */
  --bg: #fff;
  --accent-bg: #f5f7ff;
  --text: #212121;
  --text-light: #585858;
  --border: #d8dae1;
  --accent: #5BAC29;
  --accent-light: #90caf9;
  --code: #d81b60;
  --preformatted: #444;
  --marked: #ffdd33;
  --disabled: #efefef;
}

.single {
  font-family: "Shippori Mincho";
}
.single .breadcrumb {
  display: block;
  margin-bottom: 10px;
}
.single .breadcrumb-item {
  font-size: 14px;
  display: inline;
}
.single .breadcrumb-item a {
  color: #A2A2A2;
}
.single .breadcrumb-item + .breadcrumb-item::before {
  display: none;
}
@media (max-width: 768px) {
  .single .breadcrumb-item {
    font-size: 13px;
  }
}
.single-container {
  max-width: 800px;
}
.single-container .article-title {
  position: relative;
  width: 100%;
  background-color: #5BAC29;
  border-radius: 8px;
  font-weight: 600;
  font-size: 20px;
  letter-spacing: 0.05em;
  color: #ffffff;
  padding: 19px 30px;
}
@media (max-width: 768px) {
  .single-container .article-title {
    font-size: 18px;
    padding: 19px 15px;
  }
}
.single-container .article-date {
  position: relative;
  text-align: right;
  font-size: 16px;
  color: #2F2F2F;
  letter-spacing: 0.05em;
  margin-bottom: 50px;
  padding: 10px 30px 0;
}
@media (max-width: 768px) {
  .single-container .article-date {
    padding: 10px 15px 0;
    margin-bottom: 30px;
    font-size: 13px;
  }
}
.single-container .article-body {
  position: relative;
  width: 100%;
  padding: 10px 30px 80px;
  font-size: 15px;
  letter-spacing: 0.05em;
  /* Format headers */
  /* Prevent long strings from overflowing container */
  /* Reduce header size on mobile */
  /* Format links & buttons */
  /* Set the cursor to '?' on an abbreviation and style the abbreviation to show that there is more information underneath */
  /* Format navigation */
  /* Use flexbox to allow items to wrap, as needed */
  /* List items are inline elements, make them behave more like blocks */
  /* Reduce nav side on mobile */
  /* Consolidate box styling */
  /* Make aside full-width on mobile */
  /* Don't double separators when chaining sections */
  /* Format tables */
  /* Format forms */
  /* Add arrow to drop-down */
  /* checkbox and radio button style */
  /* Makes input fields wider on smaller screens */
  /* Set a height for color input */
  /* do not show border around file selector button */
  /* Misc body elements */
  /* Use mono font for code elements */
  /* Fix embedded code within pre */
  /* Progress bars */
  /* Declarations are repeated because you */
  /* cannot combine vendor-specific selectors */
  /* Superscript & Subscript */
  /* Prevent scripts from affecting line-height. */
  /* Classes for notices */
}
@media (max-width: 768px) {
  .single-container .article-body {
    padding: 10px 15px 50px;
    font-size: 14px;
  }
}
.single-container .article-body h1 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 1.5rem;
}
.single-container .article-body h2 {
  font-size: 20px;
  line-height: 1.7em;
  border-bottom: solid 1px #5BAC29;
  margin-bottom: 1.5rem;
}
.single-container .article-body h3, .single-container .article-body h4, .single-container .article-body h5, .single-container .article-body h6 {
  font-size: 18px;
  margin-bottom: 1.5rem;
}
.single-container .article-body p {
  margin-bottom: 1rem;
  font-family: Noto Sans JP;
}
.single-container .article-body p, .single-container .article-body h1, .single-container .article-body h2, .single-container .article-body h3, .single-container .article-body h4, .single-container .article-body h5, .single-container .article-body h6 {
  overflow-wrap: break-word;
}
@media (max-width: 768px) {
  .single-container .article-body {
    /* Format headers */
  }
  .single-container .article-body h1 {
    font-size: 22px;
  }
  .single-container .article-body h2 {
    font-size: 18px;
  }
}
.single-container .article-body a,
.single-container .article-body a:visited {
  color: var(--accent);
}
.single-container .article-body a:hover {
  text-decoration: none;
}
.single-container .article-body button,
.single-container .article-body .button,
.single-container .article-body a.button,
.single-container .article-body input[type=submit],
.single-container .article-body input[type=reset],
.single-container .article-body input[type=button],
.single-container .article-body label[type=button] {
  border: 1px solid var(--accent);
  background-color: var(--accent);
  color: var(--accent-text);
  padding: 0.5rem 0.9rem;
  text-decoration: none;
  line-height: normal;
}
.single-container .article-body .button[aria-disabled=true],
.single-container .article-body input:disabled,
.single-container .article-body textarea:disabled,
.single-container .article-body select:disabled,
.single-container .article-body button[disabled] {
  cursor: not-allowed;
  background-color: var(--disabled);
  border-color: var(--disabled);
  color: var(--text-light);
}
.single-container .article-body input[type=range] {
  padding: 0;
}
.single-container .article-body abbr[title] {
  cursor: help;
  text-decoration-line: underline;
  text-decoration-style: dotted;
}
.single-container .article-body button:enabled:hover,
.single-container .article-body .button:not([aria-disabled=true]):hover,
.single-container .article-body input[type=submit]:enabled:hover,
.single-container .article-body input[type=reset]:enabled:hover,
.single-container .article-body input[type=button]:enabled:hover,
.single-container .article-body label[type=button]:hover {
  background-color: var(--accent-hover);
  border-color: var(--accent-hover);
  cursor: pointer;
}
.single-container .article-body .button:focus-visible,
.single-container .article-body button:focus-visible:where(:enabled),
.single-container .article-body input:enabled:focus-visible:where([type=submit],
[type=reset],
[type=button]) {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}
.single-container .article-body header > nav {
  font-size: 1rem;
  line-height: 2;
  padding: 1rem 0 0 0;
}
.single-container .article-body header > nav ul,
.single-container .article-body header > nav ol {
  align-content: space-around;
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.single-container .article-body header > nav ul li,
.single-container .article-body header > nav ol li {
  display: inline-block;
}
.single-container .article-body header > nav a,
.single-container .article-body header > nav a:visited {
  margin: 0 0.5rem 1rem 0.5rem;
  border: 1px solid var(--border);
  border-radius: var(--standard-border-radius);
  color: var(--text);
  display: inline-block;
  padding: 0.1rem 1rem;
  text-decoration: none;
}
.single-container .article-body header > nav a:hover,
.single-container .article-body header > nav a.current,
.single-container .article-body header > nav a[aria-current=page] {
  border-color: var(--accent);
  color: var(--accent);
  cursor: pointer;
}
@media only screen and (max-width: 720px) {
  .single-container .article-body header > nav a {
    border: none;
    padding: 0;
    text-decoration: underline;
    line-height: 1;
  }
}
.single-container .article-body aside, .single-container .article-body details, .single-container .article-body pre, .single-container .article-body progress {
  background-color: var(--accent-bg);
  border: 1px solid var(--border);
  border-radius: var(--standard-border-radius);
  margin-bottom: 1rem;
}
.single-container .article-body aside {
  font-size: 1rem;
  width: 30%;
  padding: 0 15px;
  margin-inline-start: 15px;
  float: right;
}
.single-container .article-body *[dir=rtl] aside {
  float: left;
}
@media only screen and (max-width: 720px) {
  .single-container .article-body aside {
    width: 100%;
    float: none;
    margin-inline-start: 0;
  }
}
.single-container .article-body article, .single-container .article-body fieldset, .single-container .article-body dialog {
  border: 1px solid var(--border);
  padding: 1rem;
  border-radius: var(--standard-border-radius);
  margin-bottom: 1rem;
}
.single-container .article-body article h2:first-child,
.single-container .article-body section h2:first-child,
.single-container .article-body article h3:first-child,
.single-container .article-body section h3:first-child {
  margin-top: 1rem;
}
.single-container .article-body section {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 2rem 1rem;
  margin: 3rem 0;
}
.single-container .article-body section + section,
.single-container .article-body section:first-child {
  border-top: 0;
  padding-top: 0;
}
.single-container .article-body section + section {
  margin-top: 0;
}
.single-container .article-body section:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.single-container .article-body details {
  padding: 0.7rem 1rem;
}
.single-container .article-body summary {
  cursor: pointer;
  font-weight: bold;
  padding: 0.7rem 1rem;
  margin: -0.7rem -1rem;
  word-break: break-all;
}
.single-container .article-body details[open] > summary + * {
  margin-top: 0;
}
.single-container .article-body details[open] > summary {
  margin-bottom: 0.5rem;
}
.single-container .article-body details[open] > :last-child {
  margin-bottom: 0;
}
.single-container .article-body table {
  border-collapse: collapse;
  margin: 1.5rem 0;
  border: solid 1px #999999;
}
.single-container .article-body figure > table {
  width: max-content;
  margin: 0;
}
.single-container .article-body td,
.single-container .article-body th {
  border: solid 1px #999999;
  text-align: start;
  padding: 0.5rem;
}
.single-container .article-body th {
  background-color: var(--accent-bg);
  font-weight: bold;
}
.single-container .article-body tr:nth-child(even) {
  /* Set every other cell slightly darker. Improves readability. */
  background-color: var(--accent-bg);
}
.single-container .article-body table caption {
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.single-container .article-body textarea,
.single-container .article-body select,
.single-container .article-body input,
.single-container .article-body button,
.single-container .article-body .button {
  font-size: inherit;
  font-family: inherit;
  padding: 0.5rem;
  margin-bottom: 0.5rem;
  border-radius: var(--standard-border-radius);
  box-shadow: none;
  max-width: 100%;
  display: inline-block;
}
.single-container .article-body textarea,
.single-container .article-body select,
.single-container .article-body input {
  color: var(--text);
  background-color: var(--bg);
  border: 1px solid var(--border);
}
.single-container .article-body label {
  display: block;
}
.single-container .article-body textarea:not([cols]) {
  width: 100%;
}
.single-container .article-body select:not([multiple]) {
  background-image: linear-gradient(45deg, transparent 49%, var(--text) 51%), linear-gradient(135deg, var(--text) 51%, transparent 49%);
  background-position: calc(100% - 15px), calc(100% - 10px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-inline-end: 25px;
}
.single-container .article-body *[dir=rtl] select:not([multiple]) {
  background-position: 10px, 15px;
}
.single-container .article-body input[type=checkbox],
.single-container .article-body input[type=radio] {
  vertical-align: middle;
  position: relative;
  width: min-content;
}
.single-container .article-body input[type=checkbox] + label,
.single-container .article-body input[type=radio] + label {
  display: inline-block;
}
.single-container .article-body input[type=radio] {
  border-radius: 100%;
}
.single-container .article-body input[type=checkbox]:checked,
.single-container .article-body input[type=radio]:checked {
  background-color: var(--accent);
}
.single-container .article-body input[type=checkbox]:checked::after {
  /* Creates a rectangle with colored right and bottom borders which is rotated to look like a check mark */
  content: " ";
  width: 0.18em;
  height: 0.32em;
  border-radius: 0;
  position: absolute;
  top: 0.05em;
  left: 0.17em;
  background-color: transparent;
  border-right: solid var(--bg) 0.08em;
  border-bottom: solid var(--bg) 0.08em;
  font-size: 1.8em;
  transform: rotate(45deg);
}
.single-container .article-body input[type=radio]:checked::after {
  /* creates a colored circle for the checked radio button  */
  content: " ";
  width: 0.25em;
  height: 0.25em;
  border-radius: 100%;
  position: absolute;
  top: 0.125em;
  background-color: var(--bg);
  left: 0.125em;
  font-size: 32px;
}
@media only screen and (max-width: 720px) {
  .single-container .article-body textarea,
  .single-container .article-body select,
  .single-container .article-body input {
    width: 100%;
  }
}
.single-container .article-body input[type=color] {
  height: 2.5rem;
  padding: 0.2rem;
}
.single-container .article-body input[type=file] {
  border: 0;
}
.single-container .article-body hr {
  border: none;
  height: 1px;
  background: var(--border);
  margin: 1rem auto;
}
.single-container .article-body mark {
  padding: 2px 5px;
  border-radius: var(--standard-border-radius);
  background-color: var(--marked);
  color: black;
}
.single-container .article-body mark a {
  color: #0d47a1;
}
.single-container .article-body img,
.single-container .article-body video {
  max-width: 100%;
  height: auto;
  border-radius: var(--standard-border-radius);
}
.single-container .article-body figure {
  margin: 0;
  display: block;
  overflow-x: auto;
}
.single-container .article-body figure > img,
.single-container .article-body figure > picture > img {
  display: block;
  margin-inline: auto;
}
.single-container .article-body figcaption {
  text-align: center;
  font-size: 0.9rem;
  color: var(--text-light);
  margin-block: 1rem;
}
.single-container .article-body blockquote {
  margin-inline-start: 2rem;
  margin-inline-end: 0;
  margin-block: 2rem;
  padding: 0.4rem 0.8rem;
  border-inline-start: 0.35rem solid var(--accent);
  color: var(--text-light);
  font-style: italic;
}
.single-container .article-body cite {
  font-size: 0.9rem;
  color: var(--text-light);
  font-style: normal;
}
.single-container .article-body dt {
  color: var(--text-light);
}
.single-container .article-body code,
.single-container .article-body pre,
.single-container .article-body pre span,
.single-container .article-body kbd,
.single-container .article-body samp {
  font-family: var(--mono-font);
  color: var(--code);
}
.single-container .article-body kbd {
  color: var(--preformatted);
  border: 1px solid var(--preformatted);
  border-bottom: 3px solid var(--preformatted);
  border-radius: var(--standard-border-radius);
  padding: 0.1rem 0.4rem;
}
.single-container .article-body pre {
  padding: 1rem 1.4rem;
  max-width: 100%;
  overflow: auto;
  color: var(--preformatted);
}
.single-container .article-body pre code {
  color: var(--preformatted);
  background: none;
  margin: 0;
  padding: 0;
}
.single-container .article-body progress {
  width: 100%;
}
.single-container .article-body progress:indeterminate {
  background-color: var(--accent-bg);
}
.single-container .article-body progress::-webkit-progress-bar {
  border-radius: var(--standard-border-radius);
  background-color: var(--accent-bg);
}
.single-container .article-body progress::-webkit-progress-value {
  border-radius: var(--standard-border-radius);
  background-color: var(--accent);
}
.single-container .article-body progress::-moz-progress-bar {
  border-radius: var(--standard-border-radius);
  background-color: var(--accent);
  transition-property: width;
  transition-duration: 0.3s;
}
.single-container .article-body progress:indeterminate::-moz-progress-bar {
  background-color: var(--accent-bg);
}
.single-container .article-body dialog {
  max-width: 40rem;
  margin: auto;
}
.single-container .article-body dialog::backdrop {
  background-color: var(--bg);
  opacity: 0.8;
}
@media only screen and (max-width: 720px) {
  .single-container .article-body dialog {
    max-width: 100%;
    margin: auto 1em;
  }
}
.single-container .article-body sup, .single-container .article-body sub {
  vertical-align: baseline;
  position: relative;
}
.single-container .article-body sup {
  top: -0.4em;
}
.single-container .article-body sub {
  top: 0.3em;
}
.single-container .article-body .notice {
  background: var(--accent-bg);
  border: 2px solid var(--border);
  border-radius: var(--standard-border-radius);
  padding: 1.5rem;
  margin: 2rem 0;
}
.single-container .article-footer {
  position: relative;
  width: 100%;
  padding-bottom: 130px;
}
.single-container .article-footer_back {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  text-decoration: none;
  gap: 15px;
}
.single-container .article-footer_back:hover {
  opacity: 0.7;
}
.single-container .article-footer_back img {
  width: 30px;
  height: auto;
}
.single-container .article-footer_back span {
  font-size: 16px;
  color: #5BAC29;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .single-container .article-footer_back span {
    font-size: 15px;
  }
}/*# sourceMappingURL=style.css.map */