@charset "UTF-8";
/*
Theme Name: RELAX BE SMILE
Theme URI: 
Description: RELAX 2024 WordPressテーマ
Version: 1.0
Author: hareweb*
Author URI: https://hareweb.jp
*/
body {
  background: #F5F5F5;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  line-height: 1.675;
  font-size: 1rem;
  font-feature-settings: "palt";
  font-weight: 300;
  font-style: normal;
  color: #333333;
  overflow-x: hidden;
}

html {
  scroll-behavior: smooth;
}

.pcmidover {
  display: none !important;
}

.grecaptcha-badge {
  visibility: hidden;
}

svg#relax-icons {
  display: none;
}

.inner {
  margin: auto;
  padding: 20px;
}
.inner.content {
  padding-top: 20px;
}

b,
strong,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500;
}

p {
  text-align: justify;
}

a {
  color: #00A0E9;
}

i,
em {
  font-style: normal;
  font-weight: 500;
}

.red {
  color: red;
}

a.zoom {
  position: relative;
  display: block;
  width: fit-content;
}
a.zoom::before, a.zoom::after {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 10;
  transition: 0.3s;
}
a.zoom::before {
  content: "";
  background: #00A0E9;
  width: 40px;
  height: 40px;
}
a.zoom::after {
  content: url("data:image/svg+xml;utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' id='zoom' viewBox='0 0 30 30' %3E%3Cpath d='M17.8134 11.2489V13.1237C17.8134 13.5104 17.4969 13.8268 17.1102 13.8268H13.8288V17.1077C13.8288 17.4944 13.5124 17.8108 13.1256 17.8108H11.2505C10.8638 17.8108 10.5474 17.4944 10.5474 17.1077V13.8268H7.26598C6.87924 13.8268 6.56282 13.5104 6.56282 13.1237V11.2489C6.56282 10.8622 6.87924 10.5458 7.26598 10.5458H10.5474V7.26492C10.5474 6.87823 10.8638 6.56186 11.2505 6.56186H13.1256C13.5124 6.56186 13.8288 6.87823 13.8288 7.26492V10.5458H17.1102C17.4969 10.5458 17.8134 10.8622 17.8134 11.2489ZM29.5913 27.9289L27.933 29.587C27.3822 30.1377 26.4915 30.1377 25.9466 29.587L20.0986 23.7457C19.835 23.4821 19.6885 23.1247 19.6885 22.7497V21.7947C17.62 23.4118 15.0183 24.3726 12.1881 24.3726C5.45534 24.3726 0 18.9181 0 12.1863C0 5.45455 5.45534 0 12.1881 0C18.9208 0 24.3762 5.45455 24.3762 12.1863C24.3762 15.0161 23.4152 17.6174 21.7979 19.6856H22.7531C23.1281 19.6856 23.4855 19.832 23.7492 20.0957L29.5913 25.9369C30.1362 26.4876 30.1362 27.3782 29.5913 27.9289ZM20.1572 12.1863C20.1572 7.78049 16.5946 4.21834 12.1881 4.21834C7.78163 4.21834 4.21896 7.78049 4.21896 12.1863C4.21896 16.5921 7.78163 20.1543 12.1881 20.1543C16.5946 20.1543 20.1572 16.5921 20.1572 12.1863Z' fill='white' /%3E%3C/svg%3E");
  position: absolute;
  bottom: 8px;
  right: 8px;
  width: 25px;
  height: 25px;
}

a.hover-zoom {
  position: relative;
  display: block;
  width: fit-content;
}
a.hover-zoom::before, a.hover-zoom::after {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 10;
  opacity: 0;
  transition: 0.3s;
}
a.hover-zoom::before {
  content: "";
  background: #00A0E9;
  width: 40px;
  height: 40px;
}
a.hover-zoom::after {
  content: url("data:image/svg+xml;utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' id='zoom' viewBox='0 0 30 30' %3E%3Cpath d='M17.8134 11.2489V13.1237C17.8134 13.5104 17.4969 13.8268 17.1102 13.8268H13.8288V17.1077C13.8288 17.4944 13.5124 17.8108 13.1256 17.8108H11.2505C10.8638 17.8108 10.5474 17.4944 10.5474 17.1077V13.8268H7.26598C6.87924 13.8268 6.56282 13.5104 6.56282 13.1237V11.2489C6.56282 10.8622 6.87924 10.5458 7.26598 10.5458H10.5474V7.26492C10.5474 6.87823 10.8638 6.56186 11.2505 6.56186H13.1256C13.5124 6.56186 13.8288 6.87823 13.8288 7.26492V10.5458H17.1102C17.4969 10.5458 17.8134 10.8622 17.8134 11.2489ZM29.5913 27.9289L27.933 29.587C27.3822 30.1377 26.4915 30.1377 25.9466 29.587L20.0986 23.7457C19.835 23.4821 19.6885 23.1247 19.6885 22.7497V21.7947C17.62 23.4118 15.0183 24.3726 12.1881 24.3726C5.45534 24.3726 0 18.9181 0 12.1863C0 5.45455 5.45534 0 12.1881 0C18.9208 0 24.3762 5.45455 24.3762 12.1863C24.3762 15.0161 23.4152 17.6174 21.7979 19.6856H22.7531C23.1281 19.6856 23.4855 19.832 23.7492 20.0957L29.5913 25.9369C30.1362 26.4876 30.1362 27.3782 29.5913 27.9289ZM20.1572 12.1863C20.1572 7.78049 16.5946 4.21834 12.1881 4.21834C7.78163 4.21834 4.21896 7.78049 4.21896 12.1863C4.21896 16.5921 7.78163 20.1543 12.1881 20.1543C16.5946 20.1543 20.1572 16.5921 20.1572 12.1863Z' fill='white' /%3E%3C/svg%3E");
  position: absolute;
  bottom: 8px;
  right: 8px;
  width: 25px;
  height: 25px;
}

main {
  padding-bottom: 100px;
}
main#front_page {
  padding-bottom: 0;
}

.center {
  margin: auto;
  text-align: center;
}

.dt-dd {
  display: flex;
  gap: 0 10px;
  margin-bottom: 5px;
}
.dt-dd dt {
  white-space: nowrap;
}

.note {
  font-size: 0.75rem;
}

.bg_title {
  display: block;
  height: 42px;
  margin-bottom: 20px;
  padding: 5px 10px;
  background: #00A0E9;
  font-size: 1.125rem;
  line-height: 32px;
  font-weight: 500;
  color: #fff;
}

.hide_text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  white-space: nowrap;
}

.btn_round {
  display: block;
  background: #00A0E9;
  width: 145px;
  height: 30px;
  margin: 50px auto;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 30px;
  color: #fff;
  text-align: center;
  text-decoration: none !important;
  border-radius: 15px;
  transition: 0.3s;
  letter-spacing: calc(0.1 * 1em);
  text-indent: calc(0.1 * 1em);
}
.btn_round.yellow {
  color: #FDFC32;
}
.btn_round.white {
  background: #fff;
  color: #00A0E9;
}
.btn_round.w300 {
  width: initial;
  max-width: 300px;
}

.btn_right {
  display: block;
  background: #00A0E9;
  width: 145px;
  height: 30px;
  margin: 50px auto;
  padding: 0 10px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 30px;
  color: #fff;
  text-align: right;
  text-decoration: none;
  transition: 0.3s;
}

.shop_info {
  letter-spacing: calc(0.1 * 1em);
}
.shop_info .relax_logo {
  margin-bottom: 30px;
}
.shop_info .relax_logo img {
  display: block;
  width: 100%;
  max-width: 200px;
}
.shop_info .shop_wrap {
  margin-bottom: 30px;
  font-size: 0.75rem;
  color: #333333;
}
.shop_info .shop_wrap:last-of-type {
  margin-bottom: 0;
}
.shop_info .shop_wrap h3 {
  margin-bottom: 10px;
  font-size: 1.25rem;
}
.shop_info .shop_wrap .telnumber {
  margin-bottom: 15px;
  font-size: 1.25rem;
  font-weight: bold;
}
.shop_info .shop_wrap .telnumber a {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.2;
  text-decoration: none;
  color: #333;
}
.shop_info .shop_wrap .telnumber a .icon_tel {
  flex-basis: 20px;
}
.shop_info .shop_wrap .telnumber a .icon_tel svg {
  display: block;
  fill: #333333;
  transform: translateY(1px);
}
.shop_info .shop_wrap address {
  margin-bottom: 10px;
  font-style: normal;
}
.shop_info .shop_wrap dl {
  width: fit-content;
  line-height: 1.2;
}
.shop_info .shop_wrap dl .dt-dd {
  flex-wrap: wrap;
}
.shop_info .shop_wrap dl dt {
  flex-basis: 25%;
}

.banner_area {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 25px;
  border-bottom: 1px dashed #D6D6D6;
}
.banner_area li a {
  display: block;
  width: fit-content;
  margin: auto;
}
.banner_area li a img {
  display: block;
  border: 1px solid #D6D6D6;
  transition: 0.3s;
}

.nav_sns h3 {
  margin-bottom: 20px;
  color: #666;
}
.nav_sns .sns_list {
  margin: 0;
  padding: 0;
}
.nav_sns .sns_list li {
  list-style: none;
  margin-bottom: 20px;
}
.nav_sns .sns_list li:last-of-type {
  margin-bottom: 0;
}
.nav_sns .sns_list li a {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 14px;
  text-decoration: none;
  font-weight: 500;
  color: #666;
}
.nav_sns .sns_list li a .icon_sns {
  flex-basis: 34px;
  flex-shrink: 0;
}
.nav_sns .sns_list li a .icon_sns svg {
  display: block;
  transition: 0.3s;
}
.nav_sns .sns_list li a .text_sns {
  flex-grow: 1;
  white-space: nowrap;
  transition: 0.3s;
}

.option_nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin: 60px 0;
  padding: 0;
  font-size: 0.875rem;
}
.option_nav li {
  list-style: none;
}

.copy {
  font-size: 0.75rem;
  text-align: center;
}

#contents_header {
  position: relative;
  aspect-ratio: 375/100;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  background-image: url("img/header/default.png");
  background-size: cover;
  background-position: 50% 50%;
  margin-bottom: 20px;
  padding: 0 20px;
}
#contents_header .archive_title,
#contents_header .page_title {
  font-size: 1.25rem;
  font-weight: 500;
  color: #fff;
  z-index: 2;
  opacity: 0;
  transform: translateY(50px);
}
#contents_header::after {
  content: "";
  position: absolute;
  left: 0%;
  right: 0%;
  top: 0%;
  bottom: 0%;
  background: linear-gradient(90deg, rgba(12, 164, 233, 0) 0%, rgba(0, 70, 102, 0.8) 50%, rgba(0, 70, 102, 0.8) 100%);
  z-index: 1;
}
#contents_header.post {
  background-image: url("img/header/news.jpg");
}
#contents_header.events {
  background-image: url("img/header/events.jpg");
}
#contents_header.works {
  background-image: url("img/header/works.jpg");
}
#contents_header.about {
  background-image: url("img/header/about.jpg");
}
#contents_header.lineup {
  background-image: url("img/header/lineup.jpg");
}
#contents_header.shop {
  background-image: url("img/header/shop.jpg");
}

#breadcrumb {
  display: none;
}
#breadcrumb .home {
  background: none;
}
#breadcrumb a {
  display: block;
  color: #333333;
  text-decoration: none;
  transition: 0.3s;
}
#breadcrumb .bread_separate {
  width: 8px;
  height: 8px;
}
#breadcrumb .bread_separate::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #666666;
  border-bottom: 2px solid #666666;
  transform: rotate(-45deg);
}

.wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.wp-pagenavi .first,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .current,
.wp-pagenavi .page,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .last {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #D6D6D6;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 100%;
  font-weight: 500;
}
.wp-pagenavi .first,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .last {
  position: relative;
  text-indent: -9999px;
  position: relative;
  overflow: hidden;
}
.wp-pagenavi .first::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 16px;
  background: #333333;
  width: 1px;
  height: 20px;
  margin: auto;
  transition: 0.3s;
}
.wp-pagenavi .first::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 19px;
  width: 13px;
  height: 13px;
  margin: auto;
  border-left: 1px solid #333333;
  border-bottom: 1px solid #333333;
  transform: rotate(45deg);
  transition: 0.3s;
}
.wp-pagenavi .last::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 16px;
  background: #333333;
  width: 1px;
  height: 20px;
  margin: auto;
  transition: 0.3s;
}
.wp-pagenavi .last::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 19px;
  width: 13px;
  height: 13px;
  margin: auto;
  border-right: 1px solid #333333;
  border-bottom: 1px solid #333333;
  transform: rotate(-45deg);
  transition: 0.3s;
}
.wp-pagenavi .previouspostslink::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 17px;
  width: 13px;
  height: 13px;
  margin: auto;
  border-left: 1px solid #333333;
  border-bottom: 1px solid #333333;
  transform: rotate(45deg);
  transition: 0.3s;
}
.wp-pagenavi .nextpostslink::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 17px;
  width: 13px;
  height: 13px;
  margin: auto;
  border-right: 1px solid #333333;
  border-bottom: 1px solid #333333;
  transform: rotate(-45deg);
  transition: 0.3s;
}
.wp-pagenavi .extend {
  width: 20px;
  height: 40px;
  text-align: center;
  font-weight: 300;
}
.wp-pagenavi .current {
  background: #00A0E9;
  color: #fff;
}
.wp-pagenavi a {
  color: #333333;
  text-decoration: none;
  transition: 0.3s;
}

.googlemap {
  margin-inline: -20px;
  border-top: 1px solid #00A0E9;
  border-bottom: 1px solid #00A0E9;
}
.googlemap .estate_map {
  height: 300px;
}

.contents_banner {
  position: relative;
  max-width: 600px !important;
  margin-inline: auto;
  cursor: pointer;
  transition: 0.3s;
}
.contents_banner .banner_wrap.common .photo img {
  aspect-ratio: 375/150;
  object-fit: cover;
}
.contents_banner .photo img {
  display: block;
}
.contents_banner .banner_txt {
  position: relative;
  display: block;
  background: #00A0E9;
  padding: 10px;
  font-weight: 500;
}
.contents_banner .banner_txt::before {
  content: "";
  position: absolute;
  right: 15px;
  bottom: 20px;
  background: #fff;
  width: 35%;
  height: 2px;
  margin: auto;
  border-radius: 100em;
}
.contents_banner .banner_txt::after {
  content: "";
  position: absolute;
  right: 15px;
  bottom: 20px;
  background: #fff;
  width: 2px;
  height: 15px;
  transform: translateY(-1px) rotate(-45deg);
  transform-origin: bottom right;
  border-radius: 100em;
}
.contents_banner a {
  display: block;
  color: #fff;
  text-decoration: none;
  transition: 0.3s;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0);
}

select,
input[type=text],
input[type=email],
input[type=tel],
textarea {
  appearance: none;
  display: block;
  background: #fff;
  width: 100%;
  max-width: 100%;
  padding: 5px;
  -webkit-padding-start: 5px;
  -webkit-padding-end: 5px;
  color: #333333;
  font-size: 1rem;
  border: 2px solid #D6D6D6;
  border-radius: 5px;
}
select:focus,
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
textarea:focus {
  border-color: #00A0E9;
  outline: none;
}
select.wpcf7-not-valid,
input[type=text].wpcf7-not-valid,
input[type=email].wpcf7-not-valid,
input[type=tel].wpcf7-not-valid,
textarea.wpcf7-not-valid {
  background: rgba(255, 0, 0, 0.1);
  border-color: crimson;
}
.kakunin select,
select .kakunin label,
.kakunin input[type=text],
input[type=text] .kakunin label,
.kakunin input[type=email],
input[type=email] .kakunin label,
.kakunin input[type=tel],
input[type=tel] .kakunin label,
.kakunin textarea,
textarea .kakunin label {
  pointer-events: none;
}
select[readonly],
input[type=text][readonly],
input[type=email][readonly],
input[type=tel][readonly],
textarea[readonly] {
  background: #eee;
}

#kakunin_body {
  display: none;
}

.kakunin #kakunin_body {
  display: block;
  text-align: center;
  letter-spacing: calc(0.1 * 1em);
  text-indent: calc(0.1 * 1em);
}
.kakunin #kakunin_body .kakunin_midashi {
  font-size: 1.125rem;
  font-weight: 500;
}
.kakunin #kakunin_body p {
  margin-bottom: 30px;
  font-weight: 500;
  text-align: center;
}
.kakunin .form_item:not(.btn_wrapper) label {
  pointer-events: none;
}
.kakunin span[data-name=checkbox_privacy] .wpcf7-list-item-label {
  background: #eee !important;
  color: #333333 !important;
  border: 2px solid #D6D6D6 !important;
}
.kakunin span[data-name=checkbox_privacy] .wpcf7-list-item-label::after {
  background: #00A0E9 !important;
  border-color: #00A0E9 !important;
}

textarea {
  max-height: 8em;
}

.form_hidden {
  display: none;
}

.has_select {
  position: relative;
  display: block;
}
.has_select::after {
  content: "";
  position: absolute;
  top: 1em;
  bottom: 0;
  right: 10px;
  left: auto;
  width: 10px;
  height: 10px;
  border-left: 2px solid #00A0E9;
  border-bottom: 2px solid #00A0E9;
  z-index: 2;
  transform: translateY(-2px) rotate(-45deg);
}
.has_select select {
  position: relative;
  padding-right: 1.5em;
  z-index: 1;
}

.mail_form {
  background: #fff;
  margin: 0 -20px;
  padding: 30px 20px;
}
.mail_form .mail_form_title {
  margin: 0 0 25px;
  padding: 6px 0 8px 10px;
  font-size: 1rem;
  color: #00A0E9;
  border-left: 8px solid #00A0E9;
  border-bottom: 1px solid #00A0E9;
  letter-spacing: calc(0.05 * 1em);
}
.mail_form .form_item {
  margin-bottom: 15px;
  padding-bottom: 20px;
  border-bottom: 1px solid #D6D6D6;
}
.mail_form .form_item.btn_wrapper {
  display: block;
}
.mail_form .form_item .form_label {
  margin-bottom: 10px;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: calc(0.05 * 1em);
}
.mail_form .form_item .form_label.req {
  display: flex;
  align-items: center;
  gap: 10px;
}
.mail_form .form_item .form_label.req::after {
  content: "必須";
  display: inline-block;
  background: #ff0000;
  height: 24px;
  padding: 0 3px;
  font-size: 0.8125rem;
  line-height: 24px;
  color: #fff;
}
.mail_form .form_item .form_conts.nichiji {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.mail_form .form_item .form_conts .unit.column {
  flex-basis: calc(50% - 10px);
}
.mail_form .form_item .form_conts .unit.column + .unit {
  margin-top: 0;
}
.mail_form .form_item .form_conts .unit.zip {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.mail_form .form_item .form_conts .unit.zip span[data-name=text_zipcode] {
  display: block;
  flex-shrink: 1;
}
.mail_form .form_item .form_conts .unit.zip .siraberu {
  display: flex;
  align-items: baseline;
  gap: 5px;
  flex-shrink: 0;
  flex-grow: 1;
  font-size: 0.875rem;
}
.mail_form .form_item .form_conts .unit.zip .siraberu::after {
  content: "";
  background: url("img/icon_extarnal.svg") no-repeat;
  background-size: cover;
  width: 0.8em;
  height: 0.8em;
}
.mail_form .form_item .form_conts .unit + .unit {
  margin-top: 15px;
}
.mail_form .form_item .form_conts .caption {
  margin-top: 10px;
}
.mail_form .form_item .cap {
  font-size: 0.875rem;
  line-height: 1.4;
}
.mail_form span[data-name=checkbox_privacy] .wpcf7-list-item {
  margin: 0;
}
.mail_form span[data-name=checkbox_privacy] .wpcf7-list-item {
  margin: 0;
}
.mail_form span[data-name=checkbox_privacy] label {
  position: relative;
  display: block;
}
.mail_form span[data-name=checkbox_privacy] label input[type=checkbox] {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.mail_form span[data-name=checkbox_privacy] label input[type=checkbox]:checked + .wpcf7-list-item-label {
  background: #00A0E9;
  border-color: #00A0E9;
  color: #fff;
}
.mail_form span[data-name=checkbox_privacy] label input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  background: #FDFC32;
  border-color: #FDFC32;
}
.mail_form span[data-name=checkbox_privacy] label .wpcf7-list-item-label {
  position: relative;
  display: block;
  background: #e6e6e6;
  padding: 5px 30px 5px 40px;
  font-size: 0.875rem;
  font-weight: 500;
  border: 2px solid #D6D6D6;
  border-radius: 5px;
  cursor: pointer;
  transition: 0.3s;
}
.mail_form span[data-name=checkbox_privacy] label .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 15px;
  right: auto;
  background: #fff;
  width: 1em;
  height: 1em;
  margin: auto;
  border: 2px solid #D6D6D6;
  border-radius: 100%;
  transition: 0.3s;
}
.mail_form #view-privacy {
  background: transparent;
  text-decoration: underline;
  padding: 0;
  color: #333333;
  font-size: 0.875rem;
  border: none;
  cursor: pointer;
}
.mail_form span[data-name=acceptance_kakunin] {
  display: block;
  width: fit-content;
  margin: auto;
}
.mail_form span[data-name=acceptance_kakunin] .wpcf7-list-item {
  margin: 0;
}
.mail_form span[data-name=acceptance_kakunin] label {
  position: relative;
  display: block;
}
.mail_form span[data-name=acceptance_kakunin] label input[type=checkbox] {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.mail_form span[data-name=acceptance_kakunin] label input[type=checkbox]:disabled + .wpcf7-list-item-label {
  background: #e6e6e6;
  border-color: #e6e6e6;
  color: #999;
  cursor: default;
  pointer-events: none;
}
.mail_form span[data-name=acceptance_kakunin] label .wpcf7-list-item-label {
  position: relative;
  display: block;
  background: #00A0E9;
  padding: 5px 30px;
  font-weight: 500;
  border: 2px solid #00A0E9;
  border-radius: 5px;
  color: #fff;
  cursor: pointer;
  pointer-events: all;
  transition: 0.3s;
}
.mail_form span[data-name=acceptance_finalcheck] {
  display: block;
  flex-basis: 100%;
}
.mail_form span[data-name=acceptance_finalcheck] .wpcf7-list-item {
  display: block;
  width: fit-content;
  margin: auto;
}
.mail_form span[data-name=acceptance_finalcheck] label {
  position: relative;
}
.mail_form span[data-name=acceptance_finalcheck] label input[type=checkbox] {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.mail_form span[data-name=acceptance_finalcheck] label input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 0;
  left: 20px;
  bottom: 0;
  width: 10px;
  height: 15px;
  margin: auto;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: translateY(-3px) rotate(45deg);
  z-index: 10;
}
.mail_form span[data-name=acceptance_finalcheck] label .wpcf7-list-item-label {
  position: relative;
  display: block;
  background: #00A0E9;
  padding: 5px 30px;
  padding-left: 40px;
  font-weight: 500;
  border: 2px solid #00A0E9;
  border-radius: 5px;
  color: #fff;
  cursor: pointer;
  pointer-events: all;
  transition: 0.3s;
}
.mail_form span[data-name=acceptance_finalcheck] label .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 15px;
  right: auto;
  background: #fff;
  width: 1em;
  height: 1em;
  margin: auto;
  transition: 0.3s;
}
.mail_form .wpcf7-not-valid-tip {
  font-size: 0.75rem;
}
.mail_form .ready {
  display: none;
}
.mail_form .kakunin .confirm {
  display: none;
}
.mail_form .kakunin .ready {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.mail_form #btn_entry_correction {
  background: #ccc;
  padding: 5px 8px;
  font-size: 0.875rem;
  border: 2px solid #666;
  border-radius: 5px;
}
.mail_form #btn_entry_correction span {
  display: none;
}
.mail_form .btn_send_wrap {
  position: relative;
}
.mail_form .btn_send_wrap .wpcf7-spinner {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  cursor: pointer;
}
.mail_form input[type=submit].btn_send {
  background: #00A0E9;
  padding: 5px 10px;
  color: #fff;
  font-weight: 500;
  border: 2px solid #00A0E9;
  border-radius: 10px;
  transition: 0.3s;
  cursor: pointer;
}
.mail_form input[type=submit].btn_send:disabled {
  background: #999;
  font-weight: 500;
  border: 2px solid #00A0E9;
  border-radius: 10px;
  opacity: 0.3;
}

.header_box {
  position: sticky;
  top: 0;
  z-index: 90;
}

#global_header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  transition: 0.3s;
  z-index: 90;
}
#global_header.scroll {
  transform: translateY(-10px);
}
#global_header.hide {
  transform: translateY(-100%);
}
#global_header .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#global_header .hd_logo {
  flex-basis: calc(0.48 * 100%);
}
#global_header .hd_logo img {
  display: block;
  aspect-ratio: 1210/284;
  width: 100%;
  max-width: 215px;
}
#global_header .pcmenu {
  display: none;
}
#global_header .pcmenu ul {
  list-style: none;
}
#global_header .pcmenu ul li a {
  position: relative;
  display: block;
  color: #333;
  text-decoration: none;
  transition: 0.3s;
}
#global_header .pcmenu ul li a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -3px;
  width: 0;
  height: 1px;
  margin: auto;
  transition: 0.2s;
  transition-delay: 0.2s;
}
#global_header #hamburger_menu {
  position: relative;
  background: none;
  width: 60px;
  height: 30px;
  padding: 0;
  border: 0 solid #ddd;
  cursor: pointer;
}
#global_header #hamburger_menu .line {
  position: absolute;
  display: block;
  background: #00A0E9;
  width: 100%;
  height: 1px;
  transition: 0.3s;
}
#global_header #hamburger_menu .line:first-of-type {
  top: 0;
}
#global_header #hamburger_menu .line:nth-child(2) {
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
#global_header #hamburger_menu .line:last-of-type {
  right: 0;
  bottom: 0;
}
#global_header + aside {
  position: relative;
  z-index: 90;
}

#spmenu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 10;
  visibility: hidden;
  pointer-events: none;
}
#spmenu.open {
  pointer-events: initial;
  z-index: 10;
  visibility: visible;
}
#spmenu.open .nav_bg {
  background: rgba(0, 0, 0, 0.8);
  opacity: 1;
}
#spmenu.open .menu_inner {
  transform: translateX(0%);
}
#spmenu .nav_bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  width: 100%;
  z-index: 0;
  transition: 0.3s;
  opacity: 0;
  backdrop-filter: blur(10px);
}
#spmenu .menu_inner {
  position: relative;
  background: #fff;
  width: 90%;
  height: 100%;
  max-width: 600px;
  padding: 0 30px 30px;
  margin: 0 0 0 auto;
  overflow: scroll;
  z-index: 1;
  transform: translateX(100%);
  transition: 0.4s;
}
#spmenu .menu_inner #spmenu_close {
  position: absolute;
  top: 20px;
  right: 30px;
  background: none;
  width: 60px;
  height: 60px;
  border: none;
  cursor: pointer;
}
#spmenu .menu_inner #spmenu_close .line {
  position: absolute;
  display: block;
  background: #00A0E9;
  width: 100%;
  height: 1px;
}
#spmenu .menu_inner #spmenu_close .line:first-of-type {
  transform: rotate(35deg);
}
#spmenu .menu_inner #spmenu_close .line:last-of-type {
  transform: rotate(-35deg);
}
#spmenu .menu_inner ul#site_nav {
  list-style: none;
  margin-top: 100px;
  padding: 0;
}
#spmenu .menu_inner ul#site_nav li {
  border-bottom: 1px dotted #D6D6D6;
}
#spmenu .menu_inner ul#site_nav li:first-of-type {
  border-top: 1px dotted #D6D6D6;
}
#spmenu .menu_inner ul#site_nav li a {
  display: block;
  padding: 15px 10px;
  color: #000;
  text-decoration: none;
  transition: 0.3s;
}
#spmenu .menu_inner #nav_perts .shop_info {
  margin-top: 60px;
  padding-bottom: 35px;
  border-bottom: 1px dashed #D6D6D6;
}
#spmenu .menu_inner #nav_perts .banner_area {
  margin: 40px 0;
  padding: 0 20px 35px;
}
#loading_area {
  z-index: 18000;
  position: fixed;
  inset: 0;
  background-color: #fff;
}
#loading_area .loading {
  width: 100px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font-size: 80%;
  opacity: 0;
}
#loading_area .loading.ani {
  animation: blink 2s ease infinite;
}
@keyframes blink {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
#loading_area .opening {
  position: absolute;
  inset: 0;
  width: 200px;
  height: 200px;
  margin: auto;
}
#loading_area .opening svg.relax_symbol .symbol-1 {
  fill: transparent;
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
}
#loading_area .opening svg.relax_symbol .symbol-2 {
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
}
#loading_area .opening svg.relax_symbol .symbol-3 {
  fill: transparent;
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s;
}
#loading_area .opening svg.relax_symbol .symbol-4 {
  fill: transparent;
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s;
}
#loading_area .opening svg.relax_symbol .symbol-5 {
  fill: transparent;
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s;
}
#loading_area .opening svg.relax_symbol .symbol-6 {
  fill: transparent;
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s;
}
#loading_area .opening svg.relax_symbol .symbol-7 {
  fill: transparent;
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s;
}
#loading_area .opening svg.relax_symbol .symbol-8 {
  fill: transparent;
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s;
}
#loading_area .opening svg.relax_symbol .symbol-9 {
  fill: transparent;
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s;
}
#loading_area .opening svg.relax_symbol .symbol-10 {
  fill: transparent;
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s;
}
#loading_area .opening svg.relax_symbol .symbol-11 {
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s;
}
#loading_area .opening svg.relax_symbol .symbol-12 {
  fill: transparent;
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s;
}
#loading_area .opening svg.relax_symbol .symbol-13 {
  fill: transparent;
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2s;
}
#loading_area .opening svg.relax_symbol .symbol-14 {
  fill: transparent;
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s;
}
#loading_area .opening svg.relax_symbol .symbol-15 {
  fill: transparent;
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s;
}
#loading_area .opening svg.relax_symbol .symbol-16 {
  fill: transparent;
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s;
}
#loading_area .opening svg.relax_symbol .symbol-17 {
  transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s;
}
#loading_area .opening.ani svg.relax_symbol .symbol-1 {
  fill: rgb(0, 160, 233);
}
#loading_area .opening.ani svg.relax_symbol .symbol-3 {
  fill: rgb(255, 255, 255);
}
#loading_area .opening.ani svg.relax_symbol .symbol-4 {
  fill: rgb(255, 255, 255);
}
#loading_area .opening.ani svg.relax_symbol .symbol-5 {
  fill: rgb(255, 255, 255);
}
#loading_area .opening.ani svg.relax_symbol .symbol-6 {
  fill: rgb(255, 255, 255);
}
#loading_area .opening.ani svg.relax_symbol .symbol-7 {
  fill: rgb(255, 255, 255);
}
#loading_area .opening.ani svg.relax_symbol .symbol-8 {
  fill: rgb(255, 255, 255);
}
#loading_area .opening.ani svg.relax_symbol .symbol-9 {
  fill: rgb(255, 255, 255);
}
#loading_area .opening.ani svg.relax_symbol .symbol-10 {
  fill: rgb(255, 255, 255);
}
#loading_area .opening.ani svg.relax_symbol .symbol-12 {
  fill: rgb(255, 255, 255);
}
#loading_area .opening.ani svg.relax_symbol .symbol-13 {
  fill: rgb(255, 255, 255);
}
#loading_area .opening.ani svg.relax_symbol .symbol-14 {
  fill: rgb(255, 255, 255);
}
#loading_area .opening.ani svg.relax_symbol .symbol-15 {
  fill: rgb(255, 255, 255);
}
#loading_area .opening.ani svg.relax_symbol .symbol-16 {
  fill: rgb(255, 255, 255);
}

#global_footer {
  background: #fff;
}
#global_footer.front {
  background: #F5F5F5;
  border-top: 1px solid #CCCCCC;
}
#global_footer .inner {
  margin: auto;
  padding: 30px;
}
#global_footer .banner_area {
  flex-wrap: wrap;
  gap: 20px;
  margin: 50px 0;
  padding: 0;
  border: none;
}
#global_footer .banner_area li {
  flex-basis: calc(50% - 10px);
}
#global_footer .nav_sns h3 {
  text-align: center;
}
#global_footer .nav_sns .sns_list {
  display: flex;
  justify-content: center;
  gap: 50px;
}
#global_footer .nav_sns .sns_list li a {
  display: block;
  padding: 5px;
}
#global_footer .nav_sns .sns_list li .icon_sns {
  display: block;
}
#global_footer .nav_sns .sns_list li .icon_sns svg {
  display: block;
  width: 34px;
}
#global_footer .nav_sns .sns_list li .text_sns {
  display: none;
}

#hero {
  position: relative;
  height: 100vh;
  height: 100svb;
}
#hero::after {
  content: "";
  position: absolute;
  display: block;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.2) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.2) 75%), linear-gradient(45deg, rgba(0, 0, 0, 0.2) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.2) 75%);
  background-position: 10px 10px, 20px 20px;
  background-size: 4px 4px;
  z-index: 999;
}
#hero .swiper-wrapper,
#hero .slide_item {
  height: 100%;
}
#hero .slide_item {
  width: 100%;
  height: 100%;
}
#hero .slide_item img {
  width: 100%;
  height: 100%;
  max-width: initial;
  object-fit: cover;
  object-position: 50% center;
  filter: brightness(80%);
}
#hero .slide_item.ani img {
  animation: hero_ani_sp 8s linear forwards;
}
@keyframes hero_ani_sp {
  100% {
    object-position: 40% center;
  }
}
@keyframes hero_ani_pc {
  100% {
    transform: scale(1.1);
  }
}
#hero .copy {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: auto;
  z-index: 1000;
}
#hero .copy .symbol {
  width: clamp(80px, 24vw, 90px);
}
#hero .copy .lead {
  font-size: 1.875rem;
  line-height: 1.6;
  font-weight: 500;
  text-align: center;
  color: #fff;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
#hero .copy .lead strong {
  font-size: 3.875rem;
}
#hero .copy .lead span {
  display: inline-block;
}

#front_banner {
  margin-top: 45px;
}
#front_banner.swiper .banner_next,
#front_banner.swiper .banner_prev {
  position: absolute;
  top: 0;
  bottom: 0;
  background: #fff;
  width: 30px;
  height: 30px;
  margin: auto;
  border-radius: 30px;
  z-index: 1;
  cursor: pointer;
}
#front_banner.swiper .banner_next::before,
#front_banner.swiper .banner_prev::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
  transition: 0.3s;
}
#front_banner.swiper .banner_next {
  left: auto;
  right: -15px;
}
#front_banner.swiper .banner_next::before {
  transform: translateX(-7px) rotate(-45deg);
}
#front_banner.swiper .banner_prev {
  left: -15px;
  right: auto;
}
#front_banner.swiper .banner_prev::before {
  transform: translateX(7px) rotate(135deg);
}

.front_content {
  margin: 80px auto;
}
.front_content hgroup {
  position: relative;
  margin-bottom: 45px;
  text-align: center;
  letter-spacing: calc(0.2 * 1em);
  text-indent: calc(0.2 * 1em);
}
.front_content hgroup .data-eng {
  position: absolute;
  left: -25px;
  display: block;
  font-size: 4rem;
  font-weight: 900;
  line-height: 1;
  color: rgba(0, 160, 233, 0.1);
  transform: translateY(50px);
  opacity: 0;
  transition: transform 1s ease-out, opacity 1s ease-out;
}
.front_content hgroup h2 {
  margin-bottom: 20px;
  padding-top: 40px;
  font-size: 1.125rem;
  letter-spacing: calc(0.2 * 1em);
  text-indent: calc(0.2 * 1em);
}

#front_events .events_wrap {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 600px;
  margin: auto;
}
#front_events .events_wrap .event_card {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-basis: calc(50% - 5px);
  cursor: pointer;
}
#front_events .events_wrap .event_card .thumb {
  position: relative;
}
#front_events .events_wrap .event_card .thumb::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0);
  width: 100%;
  height: 100%;
  transition: 0.3s;
}
#front_events .events_wrap .event_card .thumb img {
  display: block;
  aspect-ratio: 300/209;
  max-width: initial;
  width: 100%;
  transition: 0.3s;
  object-fit: cover;
}
#front_events .events_wrap .event_card .event_title {
  background: #D9D9D9;
  padding: 5px;
  font-size: 0.75rem;
  text-align: justify;
  font-weight: 500;
  line-height: 1.6;
  flex-grow: 1;
  transition: 0.3s;
}
#front_events .events_wrap .event_card:first-of-type {
  flex-basis: 100%;
}
#front_events .events_wrap .event_card:first-of-type .event_title {
  padding: 10px;
  font-size: 1rem;
}
#front_events .events_wrap .event_card a {
  color: #333333;
  text-decoration: none;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
#front_events .events_wrap .event_card a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#front_gallery .inner {
  padding: 0;
}
#front_gallery hgroup .data-eng {
  left: 0;
}
#front_gallery #front_ranking {
  margin-top: -20px;
}
#front_gallery #front_ranking .swiper-wrapper .swiper-slide {
  padding: 0 15px;
}
#front_gallery #front_ranking .works_next,
#front_gallery #front_ranking .works_prev {
  position: absolute;
  top: 0;
  bottom: 0;
  background: #00A0E9;
  width: 34px;
  height: 34px;
  margin: auto;
  z-index: 10;
  border-radius: 50%;
  cursor: pointer;
  transition: 0.3s;
}
#front_gallery #front_ranking .works_next::before,
#front_gallery #front_ranking .works_prev::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  background-color: #fff;
  width: 10px;
  height: 15px;
  margin: auto;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
#front_gallery #front_ranking .works_prev {
  left: 0;
  right: auto;
}
#front_gallery #front_ranking .works_prev::before {
  right: 3px;
  transform: rotate(-180deg);
}
#front_gallery #front_ranking .works_next {
  right: 0;
  left: auto;
}
#front_gallery #front_ranking .works_next::before {
  left: 3px;
}

#front_about {
  background: #00A0E9;
}
#front_about hgroup {
  color: #fff;
}
#front_about hgroup .data-eng {
  top: -0.5em;
  color: rgba(255, 255, 255, 0.1);
}
#front_about .photo {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}
#front_about .photo img {
  max-width: initial;
  width: 100%;
  height: auto;
}
#front_about .body {
  margin: 30px 0 40px;
  color: #fff;
}
#front_about .body h3 {
  margin-bottom: 30px;
  text-align: center;
  letter-spacing: calc(0.2 * 1em);
  text-indent: calc(0.2 * 1em);
}
#front_about .body p {
  line-height: 1.8;
}
#front_about .box {
  background: #fff;
  padding: 20px;
}
#front_about .box h4 {
  margin-bottom: 10px;
  font-size: 1.125rem;
}
#front_about .box .btn_area {
  text-align: right;
}
#front_about .box .btn_area .btn_right {
  margin: 15px 0 0 auto;
}

#front_news h2 {
  margin-bottom: 26px;
  font-size: 1rem;
  color: #00A0E9;
  text-align: center;
}
#front_news ul.news {
  list-style: none;
  max-width: 700px;
  margin-inline: auto;
  padding: 0;
  border-top: 1px solid #00A0E9;
}
#front_news ul.news li {
  border-bottom: 1px solid #00A0E9;
}
#front_news ul.news li a {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  padding: 10px;
  color: #333333;
  text-decoration: none;
  transition: 0.3s;
}
#front_news ul.news li a .news_date {
  flex-basis: 100%;
  font-size: 0.875rem;
  font-weight: 500;
  transition: 0.3s;
}
#front_news ul.news li a .title {
  display: flex;
  gap: 5px;
  line-height: 1.4;
  letter-spacing: calc(0.1 * 1em);
}
#front_news ul.news li a .title .icon_new {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  background-color: #00A0E9;
  width: 45px;
  height: 20px;
  margin-top: 3px;
  padding-left: 6px;
  color: yellow;
  font-size: 0.75rem;
  font-weight: 500;
  clip-path: polygon(0 0, 85% 0, 100% 50%, 85% 100%, 0 100%);
  text-align: center;
  transition: 0.3s;
  letter-spacing: calc(0 * 1em);
}
#front_news ul.news li a .title .txt {
  color: #333333;
  transition: 0.3s;
}

#front_shop {
  background: #fff;
  margin-bottom: 0;
  padding-bottom: 50px;
}
#front_shop hgroup {
  margin-bottom: 40px;
}
#front_shop hgroup::before {
  top: -0.5em;
}
#front_shop hgroup .shop_logo {
  max-width: 400px;
  margin: 50px auto 0;
}
#front_shop hgroup .shop_logo img {
  width: 100%;
  max-width: initial;
}
#front_shop .shop {
  max-width: 600px;
  margin-inline: auto;
  margin-bottom: 40px;
}
#front_shop .shop:last-of-type {
  margin-bottom: 0;
}
#front_shop .shop .shop_photo {
  margin-bottom: 15px;
}
#front_shop .shop .shop_info .name {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  font-size: 1.125rem;
}
#front_shop .shop .shop_info .name svg {
  flex-basis: 24px;
  fill: #333333;
}
#front_shop .shop .shop_info address {
  margin-bottom: 10px;
  font-size: 0.875rem;
  line-height: 1.4;
  font-style: normal;
}
#front_shop .shop .shop_info .tel-fax {
  margin-bottom: 10px;
  font-size: 0.875rem;
  line-height: 1.4;
}
#front_shop .shop .shop_info .tel-fax .dt-dd {
  gap: 0;
}
#front_shop .shop .shop_info .tel-fax .dt-dd dt::after {
  content: "：";
}
#front_shop .shop .shop_info .tel-fax a {
  color: #333333;
  text-decoration: none;
}
#front_shop .shop .shop_info .eigyou {
  margin-bottom: 10px;
  font-size: 0.875rem;
  line-height: 1.4;
}
#front_shop .shop .shop_info .eigyou .dt-dd {
  display: block;
  margin-bottom: 10px;
}
#front_shop .shop .shop_info .eigyou .dt-dd:last-of-type {
  margin-bottom: 0;
}

.archive_lead {
  max-width: 600px;
  margin: auto;
  font-size: 0.875rem;
}

.arcive_wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 60px;
  max-width: 600px;
  margin: 30px auto 80px;
}

#archive_news .news_wrapper {
  max-width: 700px;
  margin: auto;
}
#archive_news h2 {
  margin-bottom: 26px;
  font-size: 1rem;
  color: #00A0E9;
  text-align: center;
}
#archive_news ul.news_lists {
  list-style: none;
  padding: 0;
  border-top: 1px solid #00A0E9;
}
#archive_news ul.news_lists li {
  border-bottom: 1px solid #00A0E9;
}
#archive_news ul.news_lists li a {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  padding: 10px;
  color: #333333;
  text-decoration: none;
  transition: 0.3s;
}
#archive_news ul.news_lists li a .news_date {
  flex-basis: 100%;
  font-size: 0.875rem;
  font-weight: 500;
  transition: 0.3s;
}
#archive_news ul.news_lists li a .title {
  display: flex;
  gap: 5px;
  line-height: 1.4;
  letter-spacing: calc(0.1 * 1em);
}
#archive_news ul.news_lists li a .title .icon_new {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  background-color: #00A0E9;
  width: 45px;
  height: 20px;
  margin-top: 3px;
  padding-left: 6px;
  color: yellow;
  font-size: 0.75rem;
  font-weight: 500;
  clip-path: polygon(0 0, 85% 0, 100% 50%, 85% 100%, 0 100%);
  text-align: center;
  transition: 0.3s;
  letter-spacing: calc(0 * 1em);
}
#archive_news ul.news_lists li a .title .txt {
  color: #333333;
  transition: 0.3s;
}

#archive_events .event_card {
  position: relative;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  transition: box-shadow 0.3s, transform 0.3s;
  cursor: pointer;
}
#archive_events .event_card.end {
  pointer-events: none;
}
#archive_events .event_card.end::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.3);
  width: 100%;
  height: 100%;
  z-index: 1;
}
#archive_events .event_card.end::after {
  content: "終了しました";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  z-index: 2;
  letter-spacing: calc(0.1 * 1em);
  text-indent: calc(0.1 * 1em);
}
#archive_events .event_card .thumb picture img {
  display: block;
  aspect-ratio: 300/209;
  object-fit: cover;
}
#archive_events .event_card .event_info {
  padding: 20px;
}
#archive_events .event_card .event_title {
  margin-bottom: 10px;
  font-size: 1rem;
  line-height: 1.7;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#archive_events .event_card a {
  color: #333333;
  text-decoration: none;
}
#archive_events .event_card a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#archive_events .event_card .deta {
  padding-top: 10px;
  font-size: 0.875rem;
  border-top: 1px dashed #D6D6D6;
}
#archive_events .event_card .deta dl dd {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.ranking_start .works_card {
  margin-top: 30px;
}
.ranking_start .works_card::before {
  content: "";
  position: absolute;
}
.ranking_start .rank1 .works_card::before {
  top: -30px;
  display: block;
  background: url("img/icon_rank01.png");
  width: 75px;
  height: 91px;
}
.ranking_start .rank2 .works_card::before {
  top: -25px;
  display: block;
  background: url("img/icon_rank02.png");
  width: 76px;
  height: 86px;
}
.ranking_start .rank3 .works_card::before {
  top: -23px;
  display: block;
  background: url("img/icon_rank03.png");
  width: 76px;
  height: 84px;
}
.ranking_start .rank4 .works_card::before {
  top: -7px;
  display: block;
  background: url("img/icon_rank04.png");
  width: 76px;
  height: 68px;
}
.ranking_start .rank5 .works_card::before {
  top: -7px;
  display: block;
  background: url("img/icon_rank05.png");
  width: 76px;
  height: 68px;
}
.ranking_start .rank6 .works_card::before {
  top: -7px;
  display: block;
  background: url("img/icon_rank06.png");
  width: 76px;
  height: 68px;
}

.works_card {
  position: relative;
  flex: 1;
  margin: 5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  transition: box-shadow 0.3s, transform 0.3s;
  z-index: 1;
  cursor: pointer;
}
.works_card .thumb picture {
  aspect-ratio: 3/2;
}
.works_card .thumb picture img {
  width: 100%;
  height: 100%;
  max-width: initial;
  object-fit: cover;
}
.works_card .works_info {
  background: #fff;
  padding: 15px;
}
.works_card .works_info .works_number {
  font-size: 0.75rem;
  font-weight: 500;
}
.works_card .works_info .works_title {
  margin: 0 0 10px;
  font-size: 1rem;
}
.works_card .works_info .works_title a {
  color: #00A0E9;
  text-decoration: underline;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.works_card .works_info .works_title a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.works_card .works_info .body {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d9d9d9;
}
.works_card .works_info .body p {
  margin-bottom: 0;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  letter-spacing: calc(0.1 * 1em);
}
.works_card .works_info .price {
  margin-bottom: 10px;
  padding-bottom: 10px;
  font-size: 2.125rem;
  font-weight: 500;
  text-align: right;
  border-bottom: 1px dashed #d9d9d9;
}
.works_card .works_info .price .yen {
  font-size: 1.25rem;
}
.works_card .works_info .price .tax {
  font-size: 0.75rem;
}
.works_card .works_info .detail {
  margin-bottom: 10px;
  padding-bottom: 10px;
  font-size: 0.875rem;
  font-weight: 500;
  border-bottom: 1px dashed #d9d9d9;
}
.works_card .works_info .detail .dt-dd {
  margin-bottom: 0;
}
.works_card .works_info .detail .dt-dd dt {
  flex-basis: 60px;
  letter-spacing: calc(0.1 * 1em);
}
.works_card .works_info .btn_area a.btn_round {
  display: block;
  margin: 25px auto 10px;
}

article.single {
  max-width: 640px;
  margin: auto;
}

.editor .has-small-font-size {
  font-size: 0.75rem !important;
}
.editor .has-medium-font-size {
  font-size: 1rem !important;
}
.editor .has-large-font-size {
  font-size: 1.25rem !important;
}
.editor .has-x-large-font-size {
  font-size: 1.75rem !important;
}
.editor p {
  margin-bottom: 30px;
}
.editor h1,
.editor h2,
.editor h3,
.editor h4,
.editor h5,
.editor h6 {
  margin: 30px 0 10px;
  line-height: 1.2;
}
.editor h1 {
  font-size: 1.75rem;
}
.editor h2 {
  font-size: 1.75rem;
}
.editor h3 {
  font-size: 1.375rem;
}
.editor h4 {
  font-size: 1rem;
}
.editor h5 {
  font-size: 1rem;
}
.editor h6 {
  font-size: 1rem;
}
.editor ul,
.editor ol {
  margin: 30px 0;
  padding-left: 1.5em;
  list-style-position: outside;
}
.editor ul li,
.editor ol li {
  margin-bottom: 0.5em;
}
.editor ul li ul,
.editor ul li ol,
.editor ol li ul,
.editor ol li ol {
  margin: 0.5em 0;
  padding-left: 1.5em;
  list-style-type: circle;
}
.editor ul li ul li,
.editor ul li ol li,
.editor ol li ul li,
.editor ol li ol li {
  margin-bottom: 0.25em;
}
.editor a {
  text-decoration: underline;
}
.editor a:hover, .editor a:focus {
  text-decoration: none;
}
.editor > figure.wp-block-image, .editor > .wp-block-columns {
  margin-inline: -20px;
  margin-bottom: 30px;
}
.editor > figure.wp-block-image figcaption, .editor > .wp-block-columns figcaption {
  margin-inline: 20px;
}
.editor > figure.wp-block-image img, .editor > .wp-block-columns img {
  margin-inline: auto;
}
.editor .article_header time {
  font-size: 0.75rem;
  letter-spacing: calc(0.05 * 1em);
}
.editor .article_header h1.article_title {
  margin-top: 0;
  margin-bottom: 50px;
  font-size: 1.125rem;
  letter-spacing: calc(0.05 * 1em);
}

#single-events .event_info-top {
  margin-top: -25px;
  margin-bottom: 60px;
}
#single-events .event_info-top .event-main_photo {
  display: block;
  max-width: initial;
  margin-inline: -20px;
  margin-bottom: 30px;
}
#single-events .event_info-top .btn_round {
  margin-inline: auto;
  text-decoration: none;
}
#single-events dl.event_info {
  font-size: 0.875rem;
  letter-spacing: calc(0.05 * 1em);
}
#single-events dl.event_info .dt-dd {
  position: relative;
  display: block;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #fff;
}
#single-events dl.event_info .dt-dd::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: #ccc;
  width: 100%;
  height: 1px;
}
#single-events dl.event_info dt {
  font-weight: 500;
}
#single-events .event_info-bottom {
  margin-bottom: 60px;
}
#single-events .access_map h2 {
  margin-bottom: 20px;
  font-size: 0.75rem;
  text-align: center;
  letter-spacing: calc(0.1 * 1em);
  text-indent: calc(0.1 * 1em);
}
#single-events .access_map h2::before {
  content: attr(data-eng);
  display: block;
  margin-bottom: 5px;
  color: #00A0E9;
  font-size: 1.75rem;
}
#single-events .googlemap {
  display: block;
  max-width: initial;
  margin-inline: -20px;
  margin-bottom: 50px;
}
#single-events .reserve {
  margin-bottom: 40px;
}
#single-events .reserve h3 {
  margin-bottom: 40px;
  font-size: 0.875rem;
}
#single-events .reserve .shop_box {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
#single-events .reserve .shop_box .shop h4 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 5px;
  padding: 10px 10px;
  font-size: 0.875rem;
  color: #00A0E9;
  border: 1px solid #00A0E9;
  letter-spacing: calc(0.05 * 1em);
  text-indent: calc(0.05 * 1em);
}
#single-events .reserve .shop_box .shop .tel_box a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 2.375rem;
  font-weight: 500;
  color: #000;
  text-decoration: none;
  letter-spacing: calc(0.05 * 1em);
  text-indent: calc(0.05 * 1em);
}
#single-events .reserve .shop_box .shop .tel_box a .icon_tel {
  flex-basis: 30px;
}
#single-events .reserve .shop_box .shop .tel_box a .icon_tel svg {
  display: block;
  fill: #333333;
}
#single-events .reserve .shop_box .shop .caption {
  display: flex;
  justify-content: center;
  gap: 5px;
  font-size: 0.875rem;
}
#single-works .article_header {
  margin-bottom: 40px;
}
#single-works .article_header .number {
  display: block;
  background: #00A0E9;
  width: fit-content;
  margin-bottom: 5px;
  padding: 3px 10px;
  font-size: 0.875rem;
  color: #fff;
}
#single-works .article_header .thumb {
  margin: -20px -20px 0;
}
#single-works .article_header .feature {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 10px;
  letter-spacing: calc(0.05 * 1em);
}
#single-works .article_header .feature a {
  color: #333333;
  transition: 0.3s;
}
#single-works .works_content {
  margin: 60px -20px;
}
#single-works .works_content:last-of-type {
  margin-bottom: 0;
}
#single-works .works_content .inner {
  max-width: 1080px;
  margin: auto;
  padding: 30px 20px 40px;
}
#single-works .works_content.white {
  background: #fff;
}
#single-works .works_content .works_content_title {
  margin: 0 0 20px;
  font-size: 1.125rem;
  text-align: center;
  letter-spacing: calc(0.05 * 1em);
  text-indent: calc(0.05 * 1em);
}
#single-works #works_youtube .embed_youtube a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
#single-works #works_youtube .embed_youtube a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #021E33;
  aspect-ratio: 100/70;
  width: 80px;
  margin: auto;
  border-radius: 15px;
  transition: 0.3s;
  z-index: 1;
}
#single-works #works_youtube .embed_youtube a::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 15px 0 15px 25px;
  border-color: transparent transparent transparent #FFFFFF;
  transform: translateX(3px);
  z-index: 2;
}
#single-works #works_youtube .embed_youtube a .youtube_thumb {
  display: block;
  aspect-ratio: 16/9;
  background: #021E33;
}
#single-works #works_youtube .embed_youtube a .youtube_thumb img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  max-width: initial;
  opacity: 0.5;
  transition: 0.3s;
}
#single-works #works_gallery .inner {
  padding: 30px 0 40px;
}
#single-works #works_gallery #gallery.swiper .swiper-wrapper .swiper-slide picture {
  aspect-ratio: 3/2;
}
#single-works #works_gallery #gallery.swiper .swiper-wrapper .swiper-slide picture img {
  max-width: initial;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#single-works #works_gallery #gallery.swiper .gallery_prev,
#single-works #works_gallery #gallery.swiper .gallery_next {
  position: absolute;
  background: #fff;
  width: 20px;
  height: 50px;
  margin: auto;
  z-index: 10;
  transition: 0.3s;
  cursor: pointer;
}
#single-works #works_gallery #gallery.swiper .gallery_prev::after,
#single-works #works_gallery #gallery.swiper .gallery_next::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 10px;
  height: 10px;
  margin: auto;
  border-bottom: 1px solid #333333;
  border-right: 1px solid #333333;
}
#single-works #works_gallery #gallery.swiper .gallery_prev {
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  border-radius: 0 5px 5px 0;
}
#single-works #works_gallery #gallery.swiper .gallery_prev::after {
  transform: translateX(2px) rotate(135deg);
}
#single-works #works_gallery #gallery.swiper .gallery_next {
  top: 0;
  bottom: 0;
  left: auto;
  right: 0;
  border-radius: 5px 0 0 5px;
}
#single-works #works_gallery #gallery.swiper .gallery_next::after {
  transform: translateX(-2px) rotate(-45deg);
}
#single-works #works_layout a::before {
  bottom: 1px;
  right: 1px;
}
#single-works #works_layout a::after {
  bottom: 7px;
  right: 7px;
}
#single-works #works_layout figure {
  display: block;
  width: 100%;
  max-width: 1000px;
  margin: auto;
}
#single-works #works_layout figure img {
  border: 1px solid #333333;
  transition: 0.3s;
}
#single-works #works_outline .outline .pers {
  margin-bottom: 30px;
}
#single-works #works_outline .outline .info {
  max-width: 600px;
  margin: auto;
}
#single-works #works_outline .outline .info .dt-dd {
  align-items: baseline;
  margin-bottom: 5px;
  padding-bottom: 5px;
  border-bottom: 1px solid #d2d2d2;
  letter-spacing: calc(0.05 * 1em);
}
#single-works #works_outline .outline .info dt {
  flex-basis: 23%;
  font-weight: 500;
}
#single-works #works_outline .outline .info dd .yen {
  font-size: 1rem;
}
#single-works #works_outline .outline .info dd .tax {
  font-size: 0.75rem;
}
#single-works #works_contact .inner {
  margin: 0 -20px;
  padding: 30px 20px;
}
#single-works #works_relation .inner {
  max-width: 1280px;
  padding-bottom: 0;
}
#single-works #works_relation #relation {
  display: flex;
  flex-direction: column;
  gap: 30px;
  max-width: 480px;
  margin: auto;
}

#moushikomi {
  border-top: 1px solid #ccc;
}
#moushikomi .inner {
  padding-top: 20px;
}

#privacy.inpage {
  max-width: 800px;
}
#privacy.inpage.hide {
  display: none;
}
#privacy .editor {
  font-size: 0.875rem;
}
#privacy .editor h2 {
  font-size: 1rem;
}

article.page {
  max-width: 1280px;
  margin: auto;
}

#page-about p {
  line-height: 1.75;
}
#page-about .about_section {
  max-width: 800px;
  margin: 80px auto;
}
#page-about .about_section:first-of-type {
  margin-top: 0;
}
#page-about .about_section.wide {
  max-width: 1280px;
}
#page-about .about_section .gsap {
  position: relative;
}
#page-about .theme {
  margin-inline: -5px;
  margin-bottom: 40px;
  font-size: 2rem;
  line-height: 1.8;
  color: #00A0E9;
  text-align: center;
  letter-spacing: calc(0.1 * 1em);
  text-indent: calc(0.1 * 1em);
}
#page-about .theme strong {
  position: relative;
  display: inline-block;
  margin: 0 5px;
  padding: 0 8px;
  color: #fff;
}
#page-about .theme strong span {
  content: "";
  position: absolute;
  inset: 0;
  display: inline-block;
  background: #00A0E9;
  width: 0;
  height: 100%;
  z-index: -1;
}
#page-about .theme + p {
  letter-spacing: calc(0.01 * 1em);
}
#page-about .section_title {
  margin-bottom: 40px;
  font-size: 1.25rem;
  text-align: center;
  letter-spacing: calc(0.1 * 1em);
  text-indent: calc(0.1 * 1em);
}
#page-about .section_subtitle {
  margin-bottom: 30px;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: calc(0.02 * 1em);
}
#page-about .about_column {
  margin-bottom: 60px;
}
#page-about .about_column .column_title {
  margin-bottom: 20px;
  font-size: 1.25rem;
  text-align: justify;
}
#page-about .about_column p {
  margin-bottom: 30px;
  line-height: 2;
  letter-spacing: calc(0.02 * 1em);
}
#page-about .essence .essensce_cont {
  margin-bottom: 40px;
}
#page-about .essence .essensce_cont .photo {
  margin-bottom: 15px;
}
#page-about .essence .essensce_cont .photo img {
  aspect-ratio: 400/511;
}
#page-about .essence .essensce_cont .essence_title {
  margin-bottom: 15px;
  font-size: 1.25rem;
  letter-spacing: calc(0.02 * 1em);
}
#page-about .essence .essensce_cont p {
  line-height: 1.8;
}
#page-about .hosho_lists {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px 24px;
  padding: 0;
}
#page-about .hosho_lists li {
  position: relative;
  flex: 1;
}
#page-about .hosho_lists li .hosho_image {
  margin-bottom: 10px;
}
#page-about .hosho_lists li .hosho_image img {
  display: block;
  transition: 0.3s;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0);
}
#page-about .hosho_lists li .hosho_name {
  margin-bottom: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  text-align: center;
}
#page-about .hosho_lists li a {
  display: block;
  background: #00A0E9;
  width: 95%;
  height: 28px;
  max-width: 145px;
  margin: auto;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 28px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  border-radius: 500em;
  transition: 0.3s;
}
#page-about .hosho_lists li a::before {
  content: "";
  position: absolute;
  inset: 0;
}
#page-about .keisan_title {
  margin: 40px 0;
  padding: 0 10px;
  font-size: 1.25rem;
}
#page-about .taishin_box {
  margin-bottom: 60px;
  padding: 0 10px;
}
#page-about .taishin_box p {
  margin-bottom: 20px;
}
#page-about .taishin_box p i {
  color: red;
}
#page-about .taishin_box p em {
  color: #00A0E9;
}
#page-about .check_wrap {
  margin-bottom: 80px;
}
#page-about .check {
  list-style: none;
  margin-bottom: 15px;
  padding: 0;
}
#page-about .check li {
  background: #fff;
  margin-bottom: 30px;
  padding: 0 15px 30px;
  border: 3px solid #00A0E9;
  letter-spacing: calc(0.02 * 1em);
}
#page-about .check li .check_point {
  background: #00A0E9;
  width: calc(100% + 30px);
  margin: 0 -15px;
  padding: 0 5px;
  font-size: 1.5rem;
  color: #fff;
  font-weight: 500;
  text-align: center;
}
#page-about .check li .check_point small {
  font-size: 1rem;
}
#page-about .check li strong {
  display: block;
  width: fit-content;
  margin: 20px auto 0;
  text-align: center;
}
#page-about .check li .ill {
  width: 150px;
  margin: 15px auto;
}
#page-about .check li .ill img {
  display: block;
}
#page-about .check li .ill + p {
  margin-bottom: 50px;
}
#page-about .check li .kanikeisan {
  width: 100%;
  margin-top: auto;
}
#page-about .check li .kanikeisan .kani_title {
  margin-bottom: 10px;
  padding-bottom: 10px;
  font-size: 0.875rem;
  border-bottom: 1px solid #333333;
}
#page-about .check_caption {
  padding-left: 1em;
  text-indent: -1em;
}
#page-about .keigen_wrap .bg_title {
  margin-bottom: 0;
}
#page-about .keigen_wrap .box {
  background: #fff;
  padding: 20px 10px;
  border: 3px solid #00A0E9;
}
#page-about .keigen_wrap .box > p {
  margin-bottom: 40px;
}
#page-about .keigen_wrap .box_grid {
  max-width: 800px;
  margin: auto;
}
#page-about .keigen_wrap .box_grid h4 {
  margin-bottom: 40px;
  text-align: center;
  order: 2;
}
#page-about .keigen_wrap .sekou {
  max-width: 400px;
  margin: 0 auto 60px;
}
#page-about .keigen_wrap .sekou.kinzoku {
  order: 1;
}
#page-about .keigen_wrap .sekou.morutaru {
  margin-bottom: 0;
  order: 3;
}
#page-about .keigen_wrap .sekou .ill {
  margin-bottom: 20px;
}
#page-about .plus {
  position: relative;
  background: transparent;
  width: 50px;
  height: 50px;
  margin: 30px auto;
}
#page-about .plus::before, #page-about .plus::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  /* 基準となる幅 */
  height: 100%;
  /* プラスマークの色 */
  clip-path: polygon(40% 0%, 60% 0%, 60% 40%, 100% 40%, 100% 60%, 60% 60%, 60% 100%, 40% 100%, 40% 60%, 0% 60%, 0% 40%, 40% 40%);
  z-index: 1;
}
#page-about .plus::before {
  background: #FDFC32;
  transform: translate(10px, 10px);
}
#page-about .plus::after {
  background: #00A0E9;
}
#page-about .more_wrap .yure_title {
  margin-bottom: 20px;
  padding: 0 10px;
}
#page-about .more_wrap .yure_title + p {
  padding: 0 10px;
}
#page-about dl.syouene {
  max-width: 500px;
  margin: auto;
}
#page-about dl.syouene .syouene_wrap {
  background: #fff;
  margin-bottom: 30px;
  padding: 30px 15px;
  border: 3px solid #00A0E9;
}
#page-about dl.syouene .syouene_wrap dt {
  background: #00A0E9;
  height: 42px;
  margin: -30px -15px 30px;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 42px;
  color: #fff;
  text-align: center;
}
#page-about dl.syouene .syouene_wrap dd .photo {
  margin-bottom: 30px;
}

#page-lineup .lineup_title {
  margin-bottom: 60px;
  font-size: 1.5rem;
  text-align: center;
  letter-spacing: calc(0.15 * 1em);
  text-indent: calc(0.15 * 1em);
}
#page-lineup .lineupconts {
  margin-bottom: 80px;
}
#page-lineup .lineupconts .conts_title {
  position: relative;
  margin-bottom: 30px;
  padding-bottom: 10px;
  font-size: 1.25rem;
  text-align: center;
  letter-spacing: calc(0.2 * 1em);
  text-indent: calc(0.2 * 1em);
}
#page-lineup .lineupconts .conts_title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #00A0E9;
  width: 100px;
  height: 5px;
  margin-inline: auto;
}
#page-lineup .lineupconts .image_photo {
  max-width: 800px;
  margin: 0 -20px;
  margin-bottom: 20px;
}
#page-lineup .lineupconts .image_photo img {
  display: block;
}
#page-lineup .lineupconts p.body {
  margin-bottom: 25px;
  font-weight: 500;
}
#page-lineup .lineupconts .points {
  max-width: 800px;
  margin: auto;
}
#page-lineup .lineupconts .points .point {
  background: #fff;
  margin-bottom: 20px;
  padding: 0 15px 15px;
  border: 1px solid #00A0E9;
}
#page-lineup .lineupconts .points .bg_title {
  margin: 0 -15px 15px;
  font-size: 1rem;
}
#page-lineup .lineupconts .points .point_wrap {
  position: relative;
}
#page-lineup .lineupconts .points .point_wrap .point_left {
  margin-bottom: 20px;
}
#page-lineup .lineupconts .points .point_box {
  margin-bottom: 30px;
}
#page-lineup .lineupconts .points .point_box:last-of-type {
  margin-bottom: 0;
}
#page-lineup .lineupconts .points .point_img {
  margin-bottom: 15px;
}
#page-lineup .lineupconts .points .point_img img {
  display: block;
}
#page-lineup .lineupconts .points h5,
#page-lineup .lineupconts .points h6 {
  margin-bottom: 5px;
  font-size: 1rem;
}
#page-lineup .lineupconts .points h5 + p,
#page-lineup .lineupconts .points h6 + p {
  margin: 0 auto 0.5em;
}
#page-lineup .lineupconts .points .caption {
  margin-top: 1em;
  font-size: 0.75rem;
}
#page-lineup .lineupconts .points .caption.kome {
  padding-left: 1em;
  text-indent: -1em;
}
#page-lineup .lineupconts .points .point_right_box {
  margin-top: 20px;
}
#page-lineup .lineupconts .points .point_right_box .box_l {
  margin-bottom: 20px;
}
#page-lineup .lineupconts .points .point_right_box .box_l:last-of-type {
  margin-bottom: 0;
}
#page-lineup .lineupconts#toilet .eco6_logo {
  position: absolute;
  top: -5px;
  left: -5px;
  background: #fff;
  max-width: 80px;
  margin: auto;
  padding: 3px;
  border: 1px solid #dedede;
}
#page-lineup .lineupconts#senmen .senmenki .point_left-box {
  display: flex;
  gap: 15px;
  margin: 20px 0;
}
#page-lineup .lineupconts#senmen .senmenki .point_left-box .box_l {
  flex-basis: 90px;
}
#page-lineup .lineupconts#senmen .senmenki .point_left-box .box_r h6 {
  margin-bottom: 0;
}
#page-lineup .lineupconts#senmen .eco_handle .point_left-box {
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-columns: 0.35fr 0.65fr;
  grid-template-rows: auto auto;
  gap: 0px 10px;
  grid-template-areas: "logo text_area" "img text_area";
}
#page-lineup .lineupconts#senmen .eco_handle .point_left-box .box_l {
  grid-area: logo;
}
#page-lineup .lineupconts#senmen .eco_handle .point_left-box .handle_img {
  grid-area: img;
}
#page-lineup .lineupconts#senmen .eco_handle .point_left-box .box_r {
  grid-area: text_area;
  padding-top: 5px;
}
#page-lineup .lineupconts#kouzou .dannetsu .point_left img {
  width: 100%;
}
#page-lineup .lineupconts#kouzou .glas .dannetsu-hyo {
  margin-top: 20px;
}
#page-lineup .lineupconts#kouzou .glas .dannetsu-hyo .dt-dd {
  gap: 5px 0;
}
#page-lineup .lineupconts#kouzou .glas .dannetsu-hyo dt {
  background: #D6D6D6;
  flex-basis: 25%;
  padding: 5px;
  font-weight: 500;
  text-align: center;
}
#page-lineup .lineupconts#kouzou .glas .dannetsu-hyo dd {
  display: flex;
  justify-content: space-between;
  background: #F3F3F3;
  flex: 1;
  padding: 5px;
  font-weight: 500;
}
#page-lineup .lineupconts#kouzou .security .point_ills {
  margin-top: 20px;
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}
#page-lineup .lineupconts#kouzou .security .point_ills .ill {
  flex-basis: calc(50% - 15px);
  font-size: 0.875rem;
  line-height: 1.2;
}
#page-lineup .lineupconts#kouzou .security .point_ills .ill:last-of-type {
  flex-basis: 100%;
}
#page-lineup .lineupconts#kouzou .security .point_ills .ill:last-of-type img {
  display: block;
  max-width: 50%;
  margin: auto;
}
#page-lineup .lineupconts#kouzou .security .point_ills .ill picture {
  margin-bottom: 5px;
}

#page-shop .shop_sec {
  margin-bottom: 80px;
}
#page-shop .shop_sec:last-of-type {
  margin-bottom: 0;
}
#page-shop .shop_sec .conts_title {
  display: flex;
  justify-content: center;
  gap: 0.3em;
  margin-bottom: 30px;
  font-size: 1.125rem;
}
#page-shop .shop_sec .conts_title .kodate {
  flex-basis: 1.2em;
  fill: #333333;
}
#page-shop .shop_sec .shop_info {
  max-width: 500px;
  margin-inline: auto;
}
#page-shop .shop_sec .shop_detail {
  margin-bottom: 30px;
}
#page-shop .shop_sec .shop_detail .shop_photo {
  margin-bottom: 20px;
}
#page-shop .shop_sec .shop_detail dl.detail {
  font-size: 0.875rem;
}
#page-shop .shop_sec .shop_detail dl.detail .dt-dd:not(.wrap) {
  margin: 3px 0;
  padding: 3px 0;
  border-bottom: 1px solid #333333;
}
#page-shop .shop_sec .shop_detail dl.detail dt {
  flex-basis: 20%;
  flex-shrink: 0;
  font-weight: 500;
}
#page-shop .shop_sec .shop_detail dl.detail .dt-dd.wrap {
  display: block;
  margin: 0;
  padding: 0;
  border: none;
}
#page-shop .shop_sec .shop_detail dl.detail dd br {
  display: none;
}
#page-shop .shop_sec .shop_detail dl.detail dd a {
  color: #333333;
  text-decoration: none;
}
#page-shop .shop_sec .shop_points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 30px;
}
#page-shop .shop_sec .shop_points .point {
  flex-basis: 50%;
}
#page-shop .shop_sec .shop_points .point .photo {
  margin-bottom: 5px;
}
#page-shop .shop_sec .shop_points .point p {
  font-size: 0.875rem;
  line-height: 1.6;
}
#page-shop .shop_sec .shop_access {
  max-width: 500px;
  margin-inline: auto;
  margin-bottom: 30px;
}
#page-shop .shop_sec .shop_access h3 {
  margin-bottom: 10px;
  font-size: 1rem;
}
#page-shop .shop_sec .shop_access .googlemap {
  margin: 0;
  border: 1px solid #00A0E9;
}
#page-shop .shop_sec .soudan {
  max-width: 500px;
  margin-inline: auto;
}
#page-shop .shop_sec .soudan .bg_title {
  font-size: 1rem;
}
#page-shop .shop_sec .soudan .tel {
  width: fit-content;
  margin: 0 auto 20px;
}
#page-shop .shop_sec .soudan .tel .number {
  margin-bottom: 5px;
  font-size: 2.125rem;
}
#page-shop .shop_sec .soudan .tel .number a {
  display: flex;
  gap: 10px;
  color: #333333;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  letter-spacing: calc(0.02 * 1em);
}
#page-shop .shop_sec .soudan .tel .number a .icon_tel {
  flex-basis: 1.1em;
  fill: #333333;
}
#page-shop .shop_sec .soudan .tel .tel_text dl {
  display: flex;
  gap: 10px;
  font-size: 0.875rem;
}
#page-shop .shop_sec .soudan .tel .tel_text dl dt::after {
  content: "/";
}
#page-shop .shop_sec .soudan .yoyaku .btn_yoyaku {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  background: #00A0E9;
  width: 300px;
  padding: 15px 0;
  margin: auto;
  color: #fff;
  font-weight: 500;
  text-decoration: none;
  border-radius: 10px;
  fill: #fff;
  transition: 0.3s;
}
#page-shop .shop_sec .soudan .yoyaku .btn_yoyaku .btn_text {
  flex-shrink: 0;
}
#page-shop .shop_sec .soudan .yoyaku .btn_yoyaku .icon_external {
  flex-basis: 1.2em;
}
#page-shop .shop_sec .soudan .yoyaku .btn_yoyaku .icon_external svg {
  display: block;
}

#page-thanks {
  background: #fff;
  border-bottom: 1px solid #D6D6D6;
}
#page-thanks .editor {
  padding-top: 30px;
}

@media (max-width: 340px) {
  body {
    width: 100%;
  }
  #global_header #hamburger_menu {
    width: 40px;
  }
  #spmenu .menu_inner {
    padding: 0 15px;
  }
  #single-events .reserve .shop_box .shop .tel_box a {
    font-size: 1.875rem;
  }
  #single-events .reserve .shop_box .shop .tel_box a .icon_tel {
    flex-basis: 25px;
  }
  #page-about .hosho_lists li .hosho_name {
    font-size: 0.8125rem;
  }
  #page-shop .shop_sec .soudan .bg_title {
    font-size: 0.875rem;
  }
}

@media (max-width: 499px) {
  body {
    width: 100%;
  }
  .notsp {
    display: none !important;
  }
  .tabonly {
    display: none !important;
  }
  .mail_form .content.inner {
    padding: 0;
  }
}

@media (min-width: 500px) {
  body {
    width: 100%;
  }
  .sponly {
    display: none !important;
  }
  #contents_header {
    justify-content: center;
  }
  #contents_header .archive_title,
  #contents_header .page_title {
    font-size: clamp(1.25rem, 4.1vw, 2.5rem);
  }
  .googlemap .estate_map {
    height: 450px;
  }
  .mail_form .wpcf7-not-valid-tip {
    font-size: 0.8125rem;
  }
  #global_header .inner {
    max-width: 600px;
  }
  #global_footer .inner {
    max-width: 600px;
    padding: 30px 20px;
  }
  #global_footer .shop_info {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px;
  }
  #global_footer .shop_info .relax_logo {
    flex-basis: 100%;
  }
  #global_footer .banner_area li {
    flex-basis: calc(25% - 15px);
  }
  #hero .copy .symbol {
    width: clamp(120px, 15.6vw, 200px);
  }
  .front_content hgroup h2 {
    font-size: 2.375rem;
  }
  #single-events .googlemap {
    border: 1px solid #00A0E9;
  }
  #single-works .article_header .number {
    margin-inline: auto;
  }
  #single-works .article_header .article_title {
    text-align: center;
  }
  #single-works .works_content {
    width: 100vw;
    margin: 80px calc(50% - 50vw);
  }
  #page-about .check {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  #page-about .check li {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 0;
  }
  #page-about .check li .kanikeisan p {
    min-height: 140px;
  }
  #page-lineup .lineupconts p.body {
    margin-bottom: 40px;
    text-align: center;
  }
  #page-shop .shop_sec {
    margin-bottom: 120px;
  }
  #page-shop .shop_sec {
    margin-bottom: 140px;
  }
  #page-shop .shop_sec .conts_title {
    margin-bottom: 40px;
    font-size: 1.5rem;
  }
}

@media (min-width: 768px) {
  body {
    width: 100%;
  }
  .mail_form #btn_entry_correction span {
    display: inline;
  }
  #page-lineup .lineupconts .conts_title {
    font-size: 1.5rem;
  }
  #page-lineup .lineupconts .image_photo {
    margin-bottom: 45px;
  }
  #page-lineup .lineupconts p.body {
    margin-bottom: 45px;
    font-size: 1.125rem;
  }
  #page-lineup .lineupconts .points {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
  }
  #page-lineup .lineupconts .points .point.wide {
    flex-basis: 100%;
  }
  #page-lineup .lineupconts .points .point:not(.wide) {
    flex-basis: calc(33.3333333333% - 10px);
  }
  #page-lineup .lineupconts .points .bg_title {
    margin-bottom: 20px;
  }
  #page-lineup .lineupconts .points .point_wrap {
    display: flex;
    gap: 20px;
  }
  #page-lineup .lineupconts .points .point_wrap .point_left {
    margin-bottom: 0;
  }
  #page-lineup .lineupconts .points .point_img {
    margin-bottom: 0;
  }
  #page-lineup .lineupconts .points h5,
  #page-lineup .lineupconts .points h6 {
    margin-bottom: 10px;
  }
  #page-lineup .lineupconts#toilet .eco6 .point_left {
    flex-shrink: 0;
    flex-basis: 26%;
  }
  #page-lineup .lineupconts#toilet .eco6_logo {
    top: 0;
    left: auto;
    right: 0;
  }
  #page-lineup .lineupconts#toilet .senjou .point_left {
    flex-shrink: 0;
    flex-basis: 40%;
  }
  #page-lineup .lineupconts#senmen .senmenki .point_left-box .box_r h6 + p {
    font-size: 0.875rem;
  }
  #page-lineup .lineupconts#senmen .senmenki .point_left {
    flex-shrink: 1;
    flex-basis: 30%;
  }
  #page-lineup .lineupconts#senmen .senmenki .point_right {
    flex-basis: 70%;
  }
  #page-lineup .lineupconts#senmen .senmenki .point_right_box {
    display: flex;
    gap: 20px;
  }
  #page-lineup .lineupconts#senmen .senmenki .point_right_box .box_l,
  #page-lineup .lineupconts#senmen .senmenki .point_right_box .box_r {
    flex: 1;
    margin-bottom: 0;
  }
  #page-lineup .lineupconts#senmen .senmenki .point_right_box .point_img {
    margin-bottom: 10px;
  }
  #page-lineup .lineupconts#senmen .senmenki .point_right_box h5 {
    margin-bottom: 5px;
  }
  #page-lineup .lineupconts#senmen .senmenki .point_right_box p {
    margin-bottom: 0;
  }
  #page-lineup .lineupconts#senmen .eco_handle .point_left {
    flex-shrink: 1;
    flex-basis: 30%;
  }
  #page-lineup .lineupconts#senmen .eco_handle .point_right {
    flex-basis: 70%;
  }
  #page-lineup .lineupconts#senmen .eco_handle .point_right_box {
    display: flex;
    gap: 20px;
  }
  #page-lineup .lineupconts#senmen .eco_handle .point_right_box .box_l,
  #page-lineup .lineupconts#senmen .eco_handle .point_right_box .box_r {
    flex: 1;
    margin-bottom: 0;
  }
  #page-lineup .lineupconts#senmen .eco_handle .point_right_box .point_img {
    margin-bottom: 10px;
  }
  #page-lineup .lineupconts#senmen .eco_handle .point_right_box h5 {
    margin-bottom: 5px;
  }
  #page-lineup .lineupconts#senmen .eco_handle .point_right_box p {
    margin-bottom: 0;
  }
  #page-lineup .lineupconts#senmen .eco_handle .point_left-box {
    grid-template-columns: 0.6fr 0.4fr;
    grid-template-rows: auto auto;
    grid-template-areas: "logo logo" "text_area img";
    margin-top: 20px;
  }
  #page-lineup .lineupconts#senmen .eco_handle .point_left-box .box_l img {
    width: 124px;
  }
  #page-lineup .lineupconts#senmen .eco_handle .point_left-box .box_r {
    font-size: 0.875rem;
  }
  #page-lineup .lineupconts#kouzou .point_left {
    flex-basis: calc(40% - 10px);
  }
  #page-lineup .lineupconts#kouzou .point_right {
    flex-basis: calc(60% - 10px);
  }
  #page-lineup .lineupconts#kouzou .dannetsu .point_wrap {
    gap: 40px;
  }
  #page-lineup .lineupconts#kouzou .dannetsu .point_left {
    flex-basis: calc(60% - 20px);
  }
  #page-lineup .lineupconts#kouzou .dannetsu .point_right {
    flex-basis: calc(40% - 20px);
  }
  #page-lineup .lineupconts#kouzou .dannetsu .point_right h5 {
    margin-bottom: 5px;
  }
  #page-lineup .lineupconts#kouzou .dannetsu .point_right p {
    font-size: 0.875rem;
  }
  #page-lineup .lineupconts#kouzou .glas .dannetsu-hyo dt {
    padding: 5px 8px;
  }
  #page-lineup .lineupconts#kouzou .glas .dannetsu-hyo dd {
    padding: 5px 8px;
  }
  #page-lineup .lineupconts#kouzou .security .point_ills {
    flex-wrap: nowrap;
    gap: 15px;
  }
  #page-lineup .lineupconts#kouzou .security .point_ills .ill {
    flex-grow: 1;
    flex-basis: calc(28% - 5px);
  }
  #page-lineup .lineupconts#kouzou .security .point_ills .ill:last-of-type {
    flex-grow: 1;
    flex-basis: calc(35% - 5px);
  }
  #page-lineup .lineupconts#kouzou .security .point_ills .ill:last-of-type img {
    max-width: 100%;
  }
  #page-lineup .lineupconts#kouzou .security .point_ills .ill strong {
    font-size: 0.8125rem;
  }
  #page-shop .shop_sec .shop_info {
    display: flex;
    gap: 30px;
    max-width: initial;
    margin-bottom: 40px;
  }
  #page-shop .shop_sec .shop_detail {
    margin-bottom: 0;
  }
  #page-shop .shop_sec .shop_points {
    margin-bottom: 0;
  }
  #page-shop .shop_sec .shop_access {
    max-width: 800px;
    margin-bottom: 60px;
  }
  #page-shop .shop_sec .shop_access h3 {
    font-size: 1.25rem;
  }
  #page-shop .shop_sec .soudan {
    max-width: 800px;
  }
  #page-shop .shop_sec .soudan .bg_title {
    margin-bottom: 40px;
    font-size: 1.125rem;
  }
  #page-shop .shop_sec .soudan .info_box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    padding: 0;
  }
  #page-shop .shop_sec .soudan .tel {
    flex-basis: 50%;
    width: auto;
    flex-shrink: 0;
    margin: 0;
  }
  #page-shop .shop_sec .soudan .tel .number {
    font-size: 2.5rem;
  }
  #page-shop .shop_sec .soudan .tel .tel_text dl {
    gap: 15px;
    font-size: 1rem;
  }
  #page-shop .shop_sec .soudan .yoyaku .btn_yoyaku {
    width: 360px;
    margin-left: auto;
    margin-right: 0;
    padding: 20px 0;
    font-size: 1.125rem;
  }
}

@media (min-width: 768px) and (max-width: 959px) {
  body {
    width: 100%;
  }
  .nottab {
    display: none !important;
  }
}

@media (min-width: 960px) {
  body {
    width: 100%;
  }
  .tabonly {
    display: none !important;
  }
  .mobonly {
    display: none !important;
  }
  .inner {
    max-width: 1280px;
    padding: 30px;
  }
  .inner.wide {
    max-width: 1440px;
  }
  .inner.content {
    padding-top: 80px;
  }
  .note {
    font-size: 0.875rem;
  }
  .pc_flex {
    display: flex;
    align-items: center;
  }
  .btn_round {
    margin: 65px auto;
  }
  #contents_header {
    aspect-ratio: 1440/300;
  }
  #breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 1280px;
    margin: auto;
    padding: 0 20px;
  }
  .wp-pagenavi {
    gap: 20px;
  }
  .googlemap .estate_map {
    height: 500px;
  }
  .contents_banner {
    max-width: 1280px !important;
  }
  .contents_banner .banner_wrap {
    display: flex;
    margin: 120px auto;
  }
  .contents_banner .banner_txt {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-basis: 47%;
    flex-shrink: 0;
  }
  .contents_banner .banner_txt::before {
    right: 30px;
    bottom: 30px;
    width: 40%;
    height: 1px;
  }
  .contents_banner .banner_txt::after {
    right: 30px;
    bottom: 30px;
    width: 1px;
    height: 25px;
  }
  .contents_banner a {
    font-size: 1.5rem;
  }
  .mail_form .form_item {
    display: flex;
    align-items: center;
    gap: 20px;
  }
  .mail_form .form_item .form_label {
    flex-shrink: 0;
    flex-basis: 200px;
  }
  .mail_form .form_item .form_conts .unit.zip {
    align-items: center;
  }
  .mail_form .form_item .form_conts .unit.zip span[data-name=text_zipcode] {
    flex-basis: 200px;
  }
  .mail_form .form_item .cap {
    font-size: 0.8125rem;
  }
  .mail_form .wpcf7-not-valid-tip {
    font-size: 0.875rem;
  }
  #global_header .inner {
    max-width: 1280px;
  }
  #global_header .hd_logo {
    flex-basis: 215px;
  }
  #global_header .pcmenu {
    display: block;
  }
  #global_header .pcmenu ul {
    display: flex;
    gap: 30px;
    padding: 0;
  }
  #global_header #hamburger_menu {
    display: none;
  }
  #global_footer .inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 800px;
    padding: 60px 30px;
  }
  #global_footer .shop_info {
    display: block;
    flex-basis: 50%;
  }
  #global_footer .shop_info .shop_wrap {
    font-size: 0.875rem;
  }
  #global_footer .nav_bottom {
    flex-shrink: 1;
  }
  #global_footer .copy {
    flex-basis: 100%;
  }
  #hero .slide_item.ani img {
    animation: hero_ani_pc 8s linear forwards;
  }
  #front_banner {
    margin-top: 100px;
  }
  #front_banner.swiper .banner_next,
  #front_banner.swiper .banner_prev {
    width: 50px;
    height: 50px;
  }
  #front_banner.swiper .banner_next::before,
  #front_banner.swiper .banner_prev::before {
    width: 16px;
    height: 16px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
  }
  #front_banner.swiper .banner_next {
    right: -25px;
  }
  #front_banner.swiper .banner_next::before {
    transform: translateX(-12px) rotate(-45deg);
  }
  #front_banner.swiper .banner_prev {
    left: -25px;
  }
  #front_banner.swiper .banner_prev::before {
    transform: translateX(12px) rotate(135deg);
  }
  .front_content hgroup {
    max-width: 1220px;
    margin: auto;
  }
  .front_content hgroup .data-eng {
    left: calc((100vw - 1220px) / 2 * -1);
    font-size: 8rem;
  }
  .front_content hgroup h2 {
    padding-top: 90px;
    margin-bottom: 90px;
  }
  #front_events .events_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
    max-width: initial;
  }
  #front_events .events_wrap .event_card {
    flex-basis: initial;
  }
  #front_events .events_wrap .event_card .event_title {
    padding: 10px;
    font-size: 1rem;
  }
  #front_events .events_wrap .event_card:first-of-type {
    flex-basis: initial;
  }
  #front_events .events_wrap .event_card a {
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  #front_gallery hgroup .data-eng {
    left: calc((100vw - 1220px) / 2 * -1);
  }
  #front_gallery #front_ranking {
    padding: 0 20px;
    overflow: visible;
  }
  #front_gallery #front_ranking .swiper-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px 10px;
  }
  #front_gallery #front_ranking .swiper-wrapper .swiper-slide {
    padding: 0;
  }
  #front_gallery #front_ranking .works_next,
  #front_gallery #front_ranking .works_prev {
    display: none;
  }
  #front_about {
    padding-bottom: 100px;
  }
  #front_about .pc_flex {
    justify-content: space-between;
    align-items: start;
    margin-bottom: 100px;
  }
  #front_about .photo {
    flex-basis: 46%;
    margin: 0;
  }
  #front_about .body {
    flex-basis: 49%;
    margin: 0;
  }
  #front_about .body h3 {
    font-size: clamp(1.875rem, 3.2vw, 2.625rem);
    text-align: left;
    color: #FDFC32;
  }
  #front_about .body .btn_round {
    margin: 40px 0 0 auto;
  }
  #front_about .box {
    background: none;
    max-width: 900px;
    margin: auto;
    padding: 0;
    color: #fff;
  }
  #front_about .box h4 {
    font-size: 1.625rem;
  }
  #front_about .box p {
    font-size: 1.125rem;
  }
  #front_about .box .btn_area .btn_right {
    background: #fff;
    color: #00A0E9;
  }
  #front_news h2 {
    font-size: 1.5rem;
  }
  #front_news ul.news {
    border-top-color: #D9D9D9;
  }
  #front_news ul.news li {
    border-bottom-color: #D9D9D9;
  }
  #front_news ul.news li a {
    flex-wrap: nowrap;
    padding: 15px 10px;
    gap: 30px;
  }
  #front_news ul.news li a .news_date {
    flex-basis: initial;
  }
  #front_news ul.news li a .title {
    gap: 10px;
  }
  #front_shop {
    padding-bottom: 100px;
  }
  #front_shop hgroup {
    margin-bottom: 100px;
  }
  #front_shop .shop {
    display: flex;
    gap: 50px;
    max-width: 1055px;
    margin-inline: auto;
    margin-bottom: 100px;
  }
  #front_shop .shop:nth-child(odd) {
    flex-direction: row-reverse;
  }
  #front_shop .shop .shop_photo {
    flex-basis: 53%;
  }
  #front_shop .shop .shop_info {
    flex-grow: 1;
  }
  #front_shop .shop .shop_info .name {
    font-size: 1.75rem;
  }
  #front_shop .shop .shop_info .name svg {
    flex-basis: 34px;
  }
  #front_shop .shop .shop_info address {
    margin-bottom: 15px;
    font-size: 1.125rem;
  }
  #front_shop .shop .shop_info .tel-fax {
    display: flex;
    gap: 15px;
    font-size: 1.125rem;
  }
  #front_shop .shop .shop_info .eigyou {
    font-size: 1.125rem;
  }
  #front_shop .shop .shop_info .eigyou .dt-dd {
    margin-bottom: 15px;
  }
  .archive_lead {
    max-width: 1280px;
    margin: auto;
    font-size: 1rem;
    text-align: center;
  }
  .arcive_wrapper {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 50px 30px;
    max-width: initial;
    margin: 50px auto 120px;
  }
  #archive_news h2 {
    font-size: 1.5rem;
  }
  #archive_news ul.news_lists {
    border-top-color: #D9D9D9;
  }
  #archive_news ul.news_lists li {
    border-bottom-color: #D9D9D9;
  }
  #archive_news ul.news_lists li a {
    flex-wrap: nowrap;
    padding: 15px 10px;
    gap: 30px;
  }
  #archive_news ul.news_lists li a .news_date {
    flex-basis: initial;
  }
  #archive_news ul.news_lists li a .title {
    gap: 10px;
  }
  #archive_events .event_card .event_title {
    margin-bottom: 15px;
  }
  #archive_events .event_card .deta {
    padding-top: 15px;
  }
  .editor p {
    margin-bottom: 60px;
  }
  .editor h1,
  .editor h2,
  .editor h3,
  .editor h4,
  .editor h5,
  .editor h6 {
    margin: 60px 0 15px;
  }
  .editor ul,
  .editor ol {
    margin: 60px 0;
  }
  .editor > figure.wp-block-image, .editor > .wp-block-columns {
    margin-bottom: 60px;
  }
  .editor > figure.wp-block-image, .editor > .wp-block-columns {
    width: 800px;
    margin-inline: -80px;
  }
  .editor .article_header h1.article_title {
    font-size: 1.5rem;
  }
  #single-events .event_info-top {
    margin-bottom: 100px;
  }
  #single-events .event_info-top .event-main_photo {
    width: 800px;
    margin-bottom: 60px;
    margin-inline: -80px;
  }
  #single-events dl.event_info {
    font-size: 1rem;
  }
  #single-events dl.event_info .dt-dd {
    display: flex;
    margin-bottom: 15px;
    padding-bottom: 15px;
  }
  #single-events dl.event_info dt {
    flex-basis: 20%;
    flex-shrink: 0;
  }
  #single-events dl.event_info dd {
    flex-basis: 80%;
  }
  #single-events .event_info-bottom {
    margin-bottom: 80px;
  }
  #single-events .access_map h2 {
    margin-bottom: 30px;
    font-size: 0.875rem;
  }
  #single-events .access_map h2::before {
    font-size: 2.375rem;
  }
  #single-events .googlemap {
    width: 800px;
    margin-bottom: 80px;
    margin-inline: -80px;
  }
  #single-events .reserve {
    width: 800px;
    margin-inline: -80px;
    margin-bottom: 60px;
  }
  #single-events .reserve h3 {
    text-align: center;
  }
  #single-events .reserve .shop_box {
    justify-content: space-around;
    flex-direction: row;
  }
  #single-events .reserve .shop_box .shop {
    flex-basis: 335px;
  }
  #single-works .article_header {
    margin-bottom: 80px;
  }
  #single-works .article_header .number {
    font-size: 1rem;
  }
  #single-works .article_header {
    width: calc(100vw - 40px);
    margin-inline: calc((640px - 100vw + 40px) / 2 * 1);
  }
  #single-works .article_header .article_title {
    font-size: 2rem;
  }
  #single-works .article_header .thumb {
    margin: 0;
  }
  #single-works .works_content {
    margin-block: 120px;
  }
  #single-works .works_content .inner {
    padding: 80px 30px;
  }
  #single-works .works_content .works_content_title {
    margin-bottom: 40px;
    font-size: 1.5rem;
  }
  #single-works #works_gallery .inner {
    max-width: 1440px;
  }
  #single-works #works_gallery #gallery.swiper .gallery_prev,
  #single-works #works_gallery #gallery.swiper .gallery_next {
    width: 30px;
    height: 100px;
  }
  #single-works #works_outline .outline {
    display: flex;
    gap: 50px;
  }
  #single-works #works_outline .outline .pers {
    flex-basis: 50%;
  }
  #single-works #works_outline .outline .info {
    max-width: initial;
    flex-grow: 1;
  }
  #single-works #works_outline .outline .info .dt-dd {
    margin-bottom: 10px;
    padding-bottom: 10px;
    font-weight: 500;
  }
  #single-works #works_outline .outline .info dt {
    font-size: 1.125rem;
  }
  #single-works #works_outline .outline .info dd {
    font-size: 1.25rem;
  }
  #single-works #works_contact .inner {
    width: 800px;
    margin: auto;
  }
  #single-works #works_relation #relation {
    flex-direction: row;
    max-width: initial;
  }
  #moushikomi {
    width: 800px;
    margin-inline: -80px;
  }
  #page-about .about_section {
    margin: 140px auto;
  }
  #page-about .theme {
    font-size: 3rem;
    text-indent: 0;
  }
  #page-about .theme + p {
    font-weight: 500;
    text-align: center;
    letter-spacing: calc(0.1 * 1em);
    text-indent: calc(0.1 * 1em);
  }
  #page-about .section_title {
    margin-bottom: 60px;
    font-size: 2rem;
  }
  #page-about .section_subtitle {
    margin-bottom: 60px;
    font-size: 1.5rem;
    text-align: center;
    letter-spacing: calc(0.04 * 1em);
    text-indent: calc(0.04 * 1em);
  }
  #page-about .section_subtitle span {
    display: inline-block;
  }
  #page-about .about_column {
    display: flex;
    gap: 6%;
    margin-bottom: 80px;
  }
  #page-about .about_column:nth-child(odd) {
    flex-direction: row-reverse;
  }
  #page-about .about_column:nth-child(odd) .column_photo img {
    border-radius: 50px 0 0 0;
  }
  #page-about .about_column .column_body {
    flex-grow: 1;
  }
  #page-about .about_column .column_title {
    font-size: 1.5rem;
  }
  #page-about .about_column .column_photo {
    flex-shrink: 0;
    flex-basis: 40%;
  }
  #page-about .about_column .column_photo img {
    border-radius: 0 50px 0 0;
  }
  #page-about .essence {
    display: flex;
    gap: 40px;
  }
  #page-about .essence .essensce_cont {
    flex: 1;
  }
  #page-about .essence .essensce_cont .photo img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    min-height: 350px;
  }
  #page-about .hosho_lists {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    max-width: 900px;
    margin: auto;
  }
  #page-about .hosho_lists li .hosho_image {
    margin-bottom: 15px;
  }
  #page-about .hosho_lists li .hosho_name {
    margin-bottom: 15px;
    font-size: 0.9375rem;
  }
  #page-about .check_wrap {
    margin-bottom: 140px;
  }
  #page-about .check {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
    margin-bottom: 20px;
  }
  #page-about .check li .kanikeisan p {
    min-height: 110px;
  }
  #page-about .check_caption {
    text-align: right;
  }
  #page-about .keigen_wrap .box {
    padding: 30px 20px 50px;
  }
  #page-about .keigen_wrap .box_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
  }
  #page-about .keigen_wrap .box_grid h4 {
    align-self: center;
  }
  #page-about .keigen_wrap .sekou {
    margin-bottom: 0;
  }
  #page-about .plus {
    width: 100px;
    height: 100px;
    margin: 60px auto;
  }
  #page-about .more_wrap .yure_title {
    font-size: 1.25rem;
  }
  #page-about dl.syouene {
    display: flex;
    gap: 30px;
    max-width: initial;
  }
  #page-about dl.syouene .syouene_wrap {
    flex: 1;
  }
  #page-lineup .lineupconts .image_photo {
    max-width: 1280px;
    margin-inline: auto;
  }
  #page-lineup .lineupconts .points {
    max-width: 1080px;
  }
  #page-lineup .lineupconts .points .bg_title {
    font-size: 1.125rem;
  }
  #page-lineup .lineupconts#kouzou .point_left {
    flex-shrink: 0;
    flex-basis: 340px;
  }
  #page-lineup .lineupconts#kouzou .point_right {
    flex-grow: 1;
    flex-basis: auto;
  }
  #page-lineup .lineupconts#kouzou .dannetsu .point_left {
    flex-grow: 1;
    flex-basis: auto;
  }
  #page-lineup .lineupconts#kouzou .dannetsu .point_right {
    flex-basis: 340px;
  }
  #page-shop .shop_sec .conts_title {
    margin-bottom: 60px;
    font-size: 2rem;
  }
  #page-shop .shop_sec .shop_info {
    align-items: flex-start;
    gap: 40px;
    margin-bottom: 60px;
  }
  #page-shop .shop_sec .shop_detail {
    flex-basis: 450px;
    flex-shrink: 0;
  }
  #page-shop .shop_sec .shop_detail dl.detail dt {
    flex-basis: 65px;
    letter-spacing: calc(0.02 * 1em);
  }
  #page-shop .shop_sec .shop_detail dl.detail .dt-dd.wrap {
    display: flex;
    gap: 20px;
    margin: 3px 0;
    padding: 3px 0;
    border-bottom: 1px solid #333333;
  }
  #page-shop .shop_sec .shop_detail dl.detail .dt-dd.wrap .dt-dd {
    flex-basis: calc(50% - 10px);
    margin: 0;
    padding: 0;
    border: none;
  }
  #page-shop .shop_sec .shop_detail dl.detail .dt-dd.wrap .dt-dd dt {
    flex-basis: 65px;
  }
  #page-shop .shop_sec .shop_detail dl.detail dd {
    flex-grow: 1;
  }
  #page-shop .shop_sec .shop_points {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto;
    gap: 25px;
  }
  #page-shop .shop_sec .shop_access {
    margin-bottom: 90px;
  }
  #page-shop .shop_sec .soudan .info_box {
    gap: 50px;
    padding: 0 20px;
  }
  #page-shop .shop_sec .soudan .tel .number {
    font-size: 2.625rem;
  }
  #page-shop .shop_sec .soudan .yoyaku .btn_yoyaku {
    font-size: 1.25rem;
  }
}

@media (max-width: 959px) {
  body {
    width: 100%;
  }
  .pconly {
    display: none !important;
  }
}

@media (max-width: 1279px) {
  body {
    width: 100%;
  }
  .pcwonly {
    display: none !important;
  }
}

@media (min-width: 1280px) {
  body {
    width: 100%;
  }
  #global_footer .inner {
    align-items: start;
    gap: 60px 20px;
    max-width: 1280px;
  }
  #global_footer .shop_info {
    display: flex;
    flex-basis: calc(66% - 20px);
    gap: 40px;
  }
  #global_footer .shop_info .relax_logo {
    margin-bottom: 0;
  }
  #global_footer .nav_bottom {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    flex-basis: calc(34% - 20px);
  }
  #global_footer .banner_area {
    order: 1;
    flex-direction: row;
    margin: 46px 0 0;
  }
  #global_footer .banner_area li {
    flex-basis: calc(50% - 10px);
  }
  #global_footer .nav_sns {
    order: 3;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 40px;
  }
  #global_footer .nav_sns h3 {
    margin-bottom: 0;
  }
  #global_footer .nav_sns .sns_list {
    gap: 30px;
  }
  #global_footer .nav_sns .sns_list li {
    margin-bottom: 0;
  }
  #global_footer .option_nav {
    order: 2;
    display: block;
    margin: 30px 0;
    font-size: 1rem;
    text-align: right;
  }
  #front_banner {
    max-width: 1600px;
    overflow: hidden;
  }
  #front_shop .shop {
    gap: 100px;
  }
  .arcive_wrapper {
    gap: 60px 45px;
  }
  #single-works .article_header {
    width: 1280px;
    margin-inline: -320px;
  }
}

@media screen and (max-width: 340px) {
  .notip5 {
    display: none !important;
  }
}

@media screen and (min-width: 340px) {
  .ip5only {
    display: none !important;
  }
}

@media (min-width: 1090px) {
  .pcmidover {
    display: block !important;
  }
}

@media (hover: hover) {
  a:hover:hover {
    text-decoration: none;
  }
  a.hover-zoom:hover:hover::before, a.hover-zoom:hover:hover::after {
    opacity: 1;
  }
  .btn_round:hover:hover {
    filter: brightness(110%);
    color: #FDFC32;
  }
  .btn_round.yellow:hover:hover {
    color: #fff;
  }
  .btn_round.white:hover:hover {
    color: #00A0E9;
  }
  .btn_right:hover:hover {
    filter: brightness(110%);
    color: #FDFC32;
  }
  .banner_area li a:hover:hover img {
    opacity: 0.5;
  }
  .nav_sns .sns_list li a.youtube:hover {
    color: #000;
  }
  .nav_sns .sns_list li a.youtube:hover svg {
    fill: #FB0027;
  }
  .nav_sns .sns_list li a.insta:hover {
    color: #000;
  }
  .nav_sns .sns_list li a.insta:hover svg {
    fill: #F8006B;
  }
  .nav_sns .sns_list li a.facebook:hover {
    color: #000;
  }
  .nav_sns .sns_list li a.facebook:hover svg {
    fill: #0C49FF;
  }
  #breadcrumb a:hover:hover {
    color: #00A0E9;
  }
  .wp-pagenavi a:hover:hover {
    background: #00A0E9;
    color: #fff;
  }
  .wp-pagenavi a:hover.first:hover::before, .wp-pagenavi a:hover.last:hover::before {
    background: #fff;
  }
  .wp-pagenavi a:hover.first:hover::after, .wp-pagenavi a:hover.last:hover::after {
    border-color: #fff;
  }
  .wp-pagenavi a:hover.previouspostslink::before, .wp-pagenavi a:hover.nextpostslink::before {
    border-color: #fff;
  }
  .contents_banner a:hover:hover {
    color: #FDFC32;
    transform: scale(1.03);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  }
  .contents_banner a:hover:hover .banner_txt::before, .contents_banner a:hover:hover .banner_txt::after {
    background: #FDFC32;
  }
  .mail_form #view-privacy:hover:hover {
    text-decoration: none;
  }
  #global_header .pcmenu ul li a:hover:hover {
    transform: translateY(-5px);
  }
  #global_header .pcmenu ul li a:hover:hover::after {
    width: 100%;
    background: #00A0E9;
  }
  #global_header #hamburger_menu:hover:hover .line:nth-child(2) {
    width: 80%;
  }
  #global_header #hamburger_menu:hover:hover .line:last-of-type {
    width: 50%;
  }
  #spmenu .menu_inner ul#site_nav li a:hover:hover {
    background: #00A0E9;
    color: #fff;
  }
  #front_events .events_wrap .event_card:hover:hover .thumb::after {
    background: rgba(0, 0, 0, 0.2);
  }
  #front_events .events_wrap .event_card:hover:hover .event_title {
    background: #c2c2c2;
  }
  #front_news ul.news li a:hover:hover {
    background: #00A0E9;
  }
  #front_news ul.news li a:hover:hover .news_date {
    color: #fff;
  }
  #front_news ul.news li a:hover:hover .icon_new {
    background: #fff;
    color: #00A0E9;
  }
  #front_news ul.news li a:hover:hover .txt {
    color: #fff;
  }
  #archive_news ul.news_lists li a:hover:hover {
    background: #00A0E9;
  }
  #archive_news ul.news_lists li a:hover:hover .news_date {
    color: #fff;
  }
  #archive_news ul.news_lists li a:hover:hover .icon_new {
    background: #fff;
    color: #00A0E9;
  }
  #archive_news ul.news_lists li a:hover:hover .txt {
    color: #fff;
  }
  #archive_events .event_card:hover:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    transform: scale(1.03);
  }
  .works_card:hover:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    transform: scale(1.03);
  }
  #single-works .article_header .feature a:hover:hover {
    color: #00A0E9;
  }
  #single-works #works_youtube .embed_youtube a:hover:hover img {
    opacity: 0.7;
  }
  #single-works #works_gallery #gallery.swiper .gallery_prev:hover:hover,
  #single-works #works_gallery #gallery.swiper .gallery_next:hover:hover {
    background: #00A0E9;
  }
  #single-works #works_gallery #gallery.swiper .gallery_prev:hover:hover::after,
  #single-works #works_gallery #gallery.swiper .gallery_next:hover:hover::after {
    border-color: #fff;
  }
  #single-works #works_layout a:hover:hover img {
    opacity: 0.7;
  }
  #page-about .hosho_lists li:hover:hover .hosho_image img {
    transform: scale(1.03);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  }
  #page-about .hosho_lists li:hover:hover a {
    color: #FDFC32;
  }
  #page-shop .shop_sec .soudan .yoyaku .btn_yoyaku:hover:hover {
    filter: brightness(110%);
    color: #FDFC32;
    fill: #FDFC32;
  }
}

@media (min-width: 960px) and (hover: hover) {
  #front_banner.swiper .banner_next:hover:hover::before,
  #front_banner.swiper .banner_prev:hover:hover::before {
    border-right: 2px solid #00A0E9;
    border-bottom: 2px solid #00A0E9;
  }
  #front_about .box .btn_area .btn_right:hover:hover {
    background: #FDFC32;
    color: #00A0E9;
  }
}

@media (min-width: 960px) and (min-width: 1280px) {
  #front_gallery #front_ranking .swiper-wrapper {
    gap: 50px 30px;
  }
}
/*# sourceMappingURL=style.css.map */