@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,100..900;1,100..900&family=Sawarabi+Mincho&display=swap');
:root {
 --default: #ffffff;
 --default-bg: #150c15;
 --high-tx: #917C50;
 --sub-color: #9A1117;
 --duplicate: #A89D94;
 --accentcolor: #d4b46a;
 --gradient: linear-gradient(180deg, #150c1500 0%, #150c1566 70%, #150c15aa 100%);
}
@font-face {
 /* ① ここにfont-familyで指定したい名前を書く*/
 font-family: "copperplate";
 /* フォントが置かれているパスを書く */
 src: url("../fonts/copperplate-light.ttf") format("truetype");
}
* {
 padding: 0;
 margin: 0;
 box-sizing: border-box;
}
body {
 width: 100%;
 background: var(--default-bg);
 color: var(--default);
 font-family: "Noto Serif", serif;
 font-size: 16px;
 font-style: normal;
 line-height: 200%;
}
img {
 display: block;
 max-width: 100%;
 height: auto;
}
ul, ol {
 list-style: none;
 padding: 0;
 margin: 0;
}
a {
 text-decoration: none;
}
#header {
 position: fixed;
 display: flex;
 justify-content: space-between;
 width: 100%;
 min-height: 90px;
 align-items: center;
 top: 0;
 left: 0;
 z-index: 9999;
 background-color: transparent;
 transition: background-color 0.3s ease;
}
#header.is-scrolled {
 background-color: #150c15dd;
}
#header .title-area .sp-img {
 max-width: 360px;
}
#header ul.nav {
 display: flex;
 max-width: 520px;
 width: 100%;
 margin-right: 1.25rem;
 margin-left: auto;
}
#header ul.nav li {
 min-width: 130px;
 width: 100%;
 min-height: 90px;
 padding: 0 1rem;
}
#header ul.nav li a {
 display: block;
 height: 100%;
 text-align: center;
 align-content: center;
 color: var(--default);
 transition: .3s;
}
#header ul.nav li a:hover, #header ul.nav li a:focus, #footer ul.foot-nav li a:hover, #footer ul.foot-nav li a:focus {
 color: var(--high-tx);
}
.hum {
 position: absolute;
 display: none;
 width: 90px;
 height: 90px;
 right: 0;
 top: 0;
 transition: .3s;
 cursor: pointer;
 z-index: 100;
}
.hum span {
 position: absolute;
 display: block;
 width: 50px;
 height: 4px;
 background: var(--default);
 left: 0;
 right: 0;
 margin: auto;
 transition: .3s;
}
.hum span:nth-child(1) {
 top: 1.5rem;
}
.hum span:nth-child(2) {
 top: 2.75rem;
}
.hum span:nth-child(3) {
 top: 4rem;
}
.hum.active span {
 top: 2.75rem;
}
.hum.active span:nth-child(1) {
 transform: rotate(45deg);
}
.hum.active span:nth-child(2) {
 transform: rotate(135deg);
}
.hum.active span:nth-child(3) {
 transform: rotate(315deg);
 opacity: 0;
 visibilitty;
 : hidden;
}
h2 {
 text-align: center;
 font-size: 2.5rem;
 line-height: 2.5rem;
 font-family: "copperplate", "Noto Serif", serif;
 color: var(--high-tx);
 letter-spacing: 6px;
 margin-bottom: 3.75rem;
}
h2.logo {
 padding-top: 8rem;
 background-image: url(../images/logo-img.png);
 background-repeat: no-repeat;
 background-position: top center;
 background-size: 200px auto;
}
h2.first {
 font-size: 3rem;
 line-height: 3.5rem;
 letter-spacing: 12px;
}
h2.first:first-letter {
 font-size: 3.75rem;
}
h2.first small {
 display: block;
 font-size: 1.25rem;
 line-height: 2rem;
 letter-spacing: 4px;
}
.top-area, .footer-img {
 position: relative;
 z-index: 1;
}
.top-area::before, .footer-img::before {
 content: "";
 position: absolute;
 width: 100%;
 height: 100%;
 mix-blend-mode: multiply;
 background: var(--duplicate);
 left: 0;
 top: 0;
}
.top-area::after {
 content: "";
 position: absolute;
 width: 0;
 height: 120px;
 border-right: 1px solid var(--high-tx);
 left: 0;
 right: 0;
 bottom: -1.75rem;
 margin: auto;
 z-index: 1;
}
.top-area h1.ver-tx {
 position: absolute;
 text-align: center;
 writing-mode: vertical-rl;
 width: fit-content;
 font-size: 1.75rem;
 letter-spacing: 4px;
 font-family: "copperplate", "Noto Serif", serif;
 font-weight: 400;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 margin: auto;
}
.cont-box {
 padding: 7.5rem 2rem;
}
.cont-box.side {
 position: relative;
 padding: 5rem 2rem 12.5rem;
}
.cont-box.side::before, .cont-box.side::after {
 content: "";
 position: absolute;
 width: calc(100% - 50%);
 min-height: 740px;
 background-repeat: no-repeat;
 background-size: cover;
 background-position: top center;
 top: 0;
 transition: .8s;
 z-index: 1;
}
.cont-box.side.is-open::before, .cont-box.side.is-open::after {
 width: calc(100% - 80%);
}
.cont-box.side::before {
 background-image: url(../images/side-img01.jpg);
 left: 0;
}
.cont-box.side::after {
 background-image: url(../images/side-img02.jpg);
 right: 0;
}
.cont-box.recruit {
 padding: 11.25rem 2rem 12.5rem;
 background-image: var(--gradient), url(../images/recruit-img.webp);
 background-repeat: no-repeat, no-repeat;
 background-size: 100%, cover;
 background-position: bottom center, left 30% center;
}
.cont-box p {
 font-size: 1.125rem;
 color: var(--high-tx);
 line-height: 2.5rem;
 word-break: auto-phrase;
 text-align: center;
 margin-bottom: 2.5rem;
}
.img-box {
 max-width: 1180px;
 width: calc(100% - 4rem);
 margin: auto;
 padding-bottom: 11.5rem;
}
.more a {
 position: relative;
 display: block;
 max-width: 140px;
 height: 50px;
 text-align: center;
 letter-spacing: 1px;
 align-content: center;
 color: var(--high-tx);
 margin: auto;
 margin-top: 11.25rem;
}
.more a::before {
 content: "";
 position: absolute;
 width: 0;
 height: 120px;
 border-right: 1px solid var(--high-tx);
 left: 0;
 right: 0;
 top: -7.5rem;
 margin: auto;
}
.cont-box.recruit h2, .cont-box.recruit p, .cont-box.recruit .more a {
 color: var(--default);
}
.cont-box.recruit .more a::before {
 border-color: var(--default);
}
.cont-box.top {
 padding-top: 0;
 padding-bottom: 13rem;
}
ul.col4 {
 max-width: 1180px;
 width: 100%;
 display: flex;
 justify-content: space-between;
 margin: auto;
 margin-top: -6.25rem;
}
ul.col4 li {
 width: calc(25% - 2.5rem);
}
ul.col4 li img {
 min-height: 590px;
 object-fit: cover;
 object-position: center;
}
.map-box {
 max-width: 1180px;
 width: calc(100% - 4rem);
 margin: auto;
}
.map-box iframe {
 display: block;
 max-height: 205px;
 min-height: 205px;
 width: 100%;
 filter: grayscale(1) sepia(0);
 /*filter: grayscale(0.875) sepia(0.125);*/
}
#footer .cont-box {
 padding: 10rem 2rem;
}
#footer .cont-box p {
 color: var(--default);
 letter-spacing: 2px;
 line-height: 1.5rem;
 margin-bottom: 1.25rem;
}
#footer .cont-box p strong {
 font-size: 1.5rem;
 font-weight: 400;
}
#footer .cont-box p:last-child {
 margin-bottom: 0;
}
#footer ul.foot-nav {
 max-width: 520px;
 width: 100%;
 display: flex;
 margin: 0 auto 3.75rem;
}
#footer ul.foot-nav li {
 max-width: 130px;
 width: 100%;
 text-align: center;
 letter-spacing: 1px;
}
#footer ul.foot-nav li a {
 color: var(--default);
 transition: .3s;
}
.copyright {
 min-height: 2.25rem;
 background: var(--sub-color);
 text-align: center;
 align-content: center;
 font-size: 0.75rem;
 font-weight: 300;
 letter-spacing: 1.5px;
}
/*アニメーション処理*/
.top-area h1, .recruit h2, .recruit p, .recruit .more, .about h2, .about p, .about .more, .top ul li, .fade_bottom {
 opacity: 0;
 transform: translateY(30px);
 transition: opacity 0.8s ease, transform 0.8s ease;
}
.top ul li {
 transition: opacity 1.5s ease, transform 1.8s ease;
}
.is-visible h1, .is-visible h2, .is-visible p, .is-visible .more, .is-visible ul li, .fade_bottom.is-visible {
 opacity: 1;
 transform: translateY(0);
}
.is-visible h1 {
 transition-delay: 0.1s;
}
.is-visible h2, .is-visible .fade_bottom {
 transition-delay: 0.1s;
}
.is-visible p {
 transition-delay: 0.3s;
}
.is-visible .more {
 transition-delay: 0.5s;
}
.top.is-visible ul li:nth-child(2), .top.is-visible ul li:nth-child(3) {
 transition-delay: 0.3s;
}
.top.is-visible ul li:nth-child(1), .top.is-visible ul li:nth-child(4) {
 transition-delay: 0.8s;
}
#subpage #container {
 padding-top: 90px;
}
.sub-maine-area {
 max-width: 1300px;
 height: 240px;
 margin: auto auto 100px auto;
}
.sub-maine-area img {
 object-fit: cover;
 width: 100%;
 height: 240px;
}
h2.page-ttl {
 font-family: "copperplate";
 font-size: 51px;
 line-height: 80%;
 text-align: center;
 padding-bottom: 100px;
 letter-spacing: 2.85px;
 color: var(--high-tx);
 margin-bottom: 0;
 position: relative;
}
h2.page-ttl::first-letter {
 font-size: 61px;
}
h2.page-ttl small {
 font-family: "Noto Serif", serif;
 font-size: 19px;
 line-height: 80%;
 font-weight: 700;
 display: block;
 text-align: center;
 padding-top: 27px;
}
h2.page-ttl::after {
 content: "";
 width: 1px;
 height: 70px;
 background-color: var(--high-tx);
 position: absolute;
 bottom: 0;
 left: 0;
 right: 0;
 margin: auto;
}
.info {
 max-width: 585px;
 width: 100%;
 margin: 0 auto 80px auto;
 border-collapse: collapse;
 background: rgba(255, 255, 255, 0.03);
 backdrop-filter: blur(4px);
 border: 1px solid rgba(144, 124, 80, 0.4);
 box-shadow: 0 0 25px rgba(0, 0, 0, 0.6);
 color: #c0ab74;
}
.info th {
 text-align: left;
 padding: 18px 20px;
 font-weight: 600;
 letter-spacing: 0.08em;
 border-bottom: 1px solid rgba(144, 124, 80, 1);
 width: 120px;
}
.info td {
 padding: 18px 20px;
 border-bottom: 1px solid rgba(144, 124, 80, 0.6);
 line-height: 1.7;
 word-break: auto-phrase;
}
.info tr:last-child th, .info tr:last-child td {
 border-bottom: none;
}
.info {
 border-radius: 10px;
 overflow: hidden;
}
.access-wrapper {
 display: grid;
 grid-template-columns: 1.5fr 1fr; /* 左を少し広めに */
 gap: 80px;
 max-width: 1172px;
 margin: 0 auto;
 align-items: center;
}
/* 左カラム（Google Map） */
.ggmap-box {
 flex: 1;
 border: 1px solid rgba(144, 124, 80, 0.35);
 border-radius: 10px;
 overflow: hidden;
 box-shadow: 0 0 25px rgba(0, 0, 0, 0.6);
 height: 400px;
}
.ggmap-box iframe {
 width: 100%;
 height: 100%;
 border: none;
}
/* 右カラム（最寄り駅） */
.station-box {
 flex: 1;
 background: rgba(255, 255, 255, 0.03);
 border: 1px solid rgba(144, 124, 80, 0.35);
 border-radius: 10px;
 padding: 30px 35px;
 box-shadow: 0 0 25px rgba(0, 0, 0, 0.6);
}
.station-box h2 {
 font-size: 1.4rem;
 margin-bottom: 20px;
 color: #c8b37a;
 letter-spacing: 0.08em;
}
.station-box ul {
 list-style: none;
 padding: 0;
 margin: 0;
}
.station-box li {
 margin-bottom: 18px;
 padding-left: 1.2em;
 position: relative;
 line-height: 1.6;
}
.station-box li::before {
 content: "◆";
 position: absolute;
 left: 0;
 color: #907c50;
 font-size: 0.8em;
}
.sub_wrap {
 margin-bottom: 180px;
}
.tile-gallery {
 display: grid;
 grid-template-columns: repeat(auto-fill, minmax(18%, 1fr));
 grid-auto-rows: 250px;
 gap: 18px;
 margin: 40px auto auto auto;
}
.tile-gallery-item {
 position: relative;
 overflow: hidden;
 border: 1px solid rgba(144, 124, 80, 0.35);
 background: rgba(255, 255, 255, 0.03);
 box-shadow: 0 0 18px rgba(0, 0, 0, 0.55);
 transition: transform .3s ease, box-shadow .3s ease;
}
.tile-gallery-item:hover {
 transform: translateY(-4px);
 box-shadow: 0 0 28px rgba(0, 0, 0, 0.75);
}
.tile-gallery-item img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
}
/* アクセントタイル */
.tile-large {
 grid-row: span 2;
}
.tile-wide {
 grid-column: span 2;
}
.about_wrap {
 display: grid;
 gap: 10px;
 grid-template-columns: 1fr 1fr;
 align-items: center;
}
h3.ttx {
 text-align: left;
 font-size: 18px;
 line-height: 36px;
 letter-spacing: 1.35px;
 color: var(--high-tx);
 margin-bottom: 60px;
 word-break: auto-phrase;
}
h3.ttx.bt_boder {
 font-size: 21px;
 padding-top: 0 !important;
 padding-bottom: 35px;
 margin-bottom: 35px;
 border-bottom: 1px solid var(--high-tx);
}
h3.ttx.bt_boder big {
 font-size: 27px;
}
h3.ttx.center {
 text-align: center;
}
.sub_wrap h3.ttx {
 padding-top: 36px;
}
.about_wrap .ttx_box {
 max-width: 585px;
 margin-left: auto;
 width: 100%;
}
.about_wrap .ph_box img {
 height: 750px;
 object-fit: cover;
}
.cl2_price {
 display: grid;
 gap: 60px;
 grid-template-columns: 1fr 1fr;
 align-items: flex-start;
 max-width: 1170px;
 margin: auto;
}
.cl2_price h4 {
 font-size: 27px;
 letter-spacing: 2.03px;
 color: var(--high-tx);
 text-align: center;
 font-weight: bold;
 margin: auto auto 20px auto;
 padding: 0;
}
.price {
 width: 100%;
 margin: auto;
 border-collapse: collapse;
 background: rgba(255, 255, 255, 0.03);
 backdrop-filter: blur(6px);
 border: 1px solid rgba(212, 180, 106, 0.4);
 box-shadow: 0 0 25px rgba(0, 0, 0, 0.7);
 color: var(--accentcolor);
}
.price thead th, .price thead td {
 text-align: center;
 padding: 16px 26px;
 font-weight: 700;
 letter-spacing: 0.15em;
 color: var(--accentcolor);
 border-bottom: 1px solid rgba(212, 180, 106, 0.6);
 text-shadow: 0 0 4px rgba(212, 180, 106, 0.25);
 background: rgba(255, 255, 255, 0.03);
}
.price tbody th {
 text-align: center;
 padding: 18px 20px;
 font-weight: 600;
 letter-spacing: 0.08em;
 border-bottom: 1px solid rgba(212, 180, 106, 0.4);
 width: 120px;
}
.price tbody td {
 padding: 18px 20px;
 border-bottom: 1px solid rgba(212, 180, 106, 0.25);
 line-height: 1.7;
 text-align: center;
}
.price tbody tr:last-child th, .price tbody tr:last-child td {
 border-bottom: none;
}
.price_wrap {
 z-index: 1;
 position: relative;
 clip-path: inset(0);
 padding: 80px 0 0 0;
}
.price_wrap::before {
 content: "";
 background-image: url(../images/sb_price_ph.jpg);
 display: block;
 width: 100%;
 height: 100%;
 background-size: cover;
 background-position: center center;
 position: fixed;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 margin: auto;
 z-index: -2;
 background-repeat: no-repeat;
 background-color: #FFF;
 opacity: 0.2;
}
.menu {
 max-width: 600px;
 margin: 0 auto;
 padding: 20px;
 color: var(--accentcolor);
}
.menu-category {
 border: 1px solid rgba(212, 180, 106, 0.4);
 padding: 24px 28px;
 margin-bottom: 80px;
 backdrop-filter: blur(6px);
 box-shadow: 0 0 25px rgba(0, 0, 0, 0.7);
 background: rgba(255, 255, 255, 0.03);
}
.menu-title {
 font-size: 1.2rem;
 letter-spacing: 0.15em;
 margin-bottom: 20px;
 padding-bottom: 10px;
 border-bottom: 1px solid rgba(212, 180, 106, 0.6);
 color: var(--accentcolor);
}
.menu-list {
 list-style: none;
 padding: 0;
 margin: 0;
}
.menu-list li {
 display: flex;
 justify-content: space-between;
 padding: 12px 0;
 border-bottom: 1px solid rgba(212, 180, 106, 0.25);
 font-size: 1rem;
}
.menu-list li:last-child {
 border-bottom: none;
}
.item-name {
 letter-spacing: 0.05em;
}
.item-price {
 letter-spacing: 0.1em;
}
.recruit＿info {
 width: 100%;
 margin: auto;
 border-collapse: collapse;
 background: rgba(255, 255, 255, 0.03);
 backdrop-filter: blur(4px);
 border: 1px solid rgba(144, 124, 80, 0.4);
 box-shadow: 0 0 25px rgba(0, 0, 0, 0.6);
 color: #c0ab74;
 border-radius: 10px;
 overflow: hidden;
}
.recruit＿info th {
 text-align: left;
 padding: 14px 20px;
 font-weight: 600;
 letter-spacing: 0.08em;
 border-bottom: 1px solid rgba(144, 124, 80, 1);
 width: 120px;
 line-height: 160%;
}
.recruit＿info td {
 padding: 14px 20px;
 border-bottom: 1px solid rgba(144, 124, 80, 0.6);
 line-height: 160%;
}
.recruit＿info tr:last-child th, .recruit＿info tr:last-child td {
 border-bottom: none;
}
.benefits-block {
 width: 100%;
 margin: auto;
 /*background: linear-gradient(135deg, #e3d29a96 0%, #c0ab7496 55%, #a88f5596 100%);*/
background: linear-gradient(312deg, #1a1410 0%, #3a2f22 50%, #7a653b 100%);
 color:#c0ab74;
 border-radius: 14px;
 box-shadow: 0 10px 28px rgba(0, 0, 0, 0.6);
 padding: 18px 20px 20px;
 box-sizing: border-box;
}
.benefits-header {
 font-size: 1rem;
 font-weight: 700;
 letter-spacing: 0.18em;
 text-transform: uppercase;
 text-align: center;
 margin-bottom: 12px;
 border-bottom: 1px solid #c0ab7495;
 padding-bottom: 6px;
}
.benefits-list {
 list-style: none;
 margin: 0;
 padding: 4px 0 0;
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
}
.benefits-list li {
 flex: 1 1 calc(50% - 8px);
 background: rgba(21, 12, 21, 0.08);
 border: 1px solid #c0ab7495;
 border-radius: 999px;
 padding: 12px 10px;
 font-size: 0.925rem;
 line-height: 1.4;
 box-sizing: border-box;
 text-align: center;
}
.qa_wrap {
 max-width: 900px;
 margin: 40px auto;
 padding: 0 20px;
}
.qa_wrap dt {
 position: relative;
 margin-top: 24px;
 padding: 12px 16px 12px 48px;
 border-radius: 6px;
 background: rgba(255, 255, 255, 0.06);
 font-weight: 600;
}
.qa_wrap dt::before {
 content: "Q";
 position: absolute;
 left: 16px;
 top:28px;
 transform: translateY(-50%);
 width: 22px;
 height: 22px;
 border-radius: 50%;
 background: #c0ab74;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 12px;
 color: #150c15;
}
.qa_wrap dd {
 margin: 0 0 1rem 0;
 padding: 12px 16px 12px 48px;
 color: #e0d4a0;
 font-size: 1rem;
}
.grid_cl2 {
 display: grid;
 gap: 0;
 grid-template-columns: 1fr 1fr;
 align-items: center;
 max-width: 1170px;
 margin: auto;
}
.grid_r2 {
 display: grid;
 gap: 35px;
 grid-template-rows: 1ft 1ft;
 align-items: center;
 max-width: 1170px;
 margin: auto;
}
.grid_cl2.app {
 gap: 70px;
 align-items: flex-start;
}
.grid_cl2 .in_box.ttx {
 padding-right: 70px;
}
.grid_cl2 .in_box p.center {
 text-align: center;
 font-size: 18px;
 line-height: 36px;
 letter-spacing: 1.35px;
 color: #cccccc;
word-break: auto-phrase;
}
hr {
 border-top: 0;
 border-left: 0;
 border-right: 0;
 border-bottom: 1px solid var(--high-tx);
 margin-top: 120px;
 margin-bottom: 120px;
 max-width: 1170px;
 margin-left: auto;
 margin-right: auto;
}
@media screen and (max-width:1260px) {
 #header, #header.is-scrolled {
  background: var(--high-tx);
 }
 #header ul.nav {
  position: fixed;
  display: block;
  max-width: none;
  width: 100vw;
  height: fit-content;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  z-index: 1;
 }
 #header ul.nav::before {
  content: "";
  position: absolute;
  width: 100vw;
  height: 100vh;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #ffffffed;
  opacity: 0;
  visibility: hidden;
  z-index: -1;
  transition: .3s;
 }
 #header ul.nav.active, #header ul.nav.active::before {
  opacity: 1;
  visibility: visible;
 }
 #header ul.nav li {
  max-width: 280px;
  width: 100%;
  min-height: 60px;
  align-content: center;
  margin: auto;
 }
#header ul.nav li a {
position: relative;
color: #150c15;
font-size: 20px;
line-height: 300%;
}
 #header ul.nav li a::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-bottom: 1px solid var(--high-tx);
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  transition: .3s;
 }
 #header ul.nav li a:hover::before, #header ul.nav li a:focus::before {
  width: 60px;
 }
 .hum {
  display: block;
 }
 .hum.active span {
  background: var(--high-tx);
 }
 .top-area img {
  object-fit: cover;
  min-height: 640px;
 }
}
@media screen and (max-width:1024px) {
 .top-area h1.ver-tx {
  font-size: 1.375rem;
 }
 h2 {
  margin-bottom: 2.5rem;
 }
 h2.first {
  font-size: 2.5rem;
  line-height: 3rem;
  letter-spacing: 8px;
 }
 .cont-box {
  padding: 5rem 2rem;
 }
 .cont-box.top, .img-box {
  padding-bottom: 7.5rem;
 }
 .cont-box.recruit {
  padding-top: 6.25rem;
  padding-bottom: 7.5rem;
 }
 .img-box img {
  min-height: 180px;
  object-fit: cover;
  object-position: center;
 }
 ul.col4 {
  margin-top: -3.75rem;
 }
 ul.col4 li {
  width: calc(25% - 1.25rem);
 }
 ul.col4 li img {
  min-height: 460px;
 }
 #footer .cont-box {
  padding: 6.25rem 2rem;
 }
 #footer ul.foot-nav {
  display: none;
 }
 .top-area, .footer-img img {
  min-height: 240px;
  object-fit: cover;
  object-position: center;
 }
 .about_wrap,
 .access-wrapper,
 .cl2_price,
 .grid_cl2{
  gap: 60px;
  grid-template-columns: 1fr;
 }
 .access-wrapper,
  .cl2_price,
 .grid_cl2{
  padding-left: 2rem;
  padding-right: 2rem;
 }
 .grid_cl2 .in_box.ttx {
    padding-right: 0px;
}
 .about_wrap .ttx_box {
  max-width: 585px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
 }
 .about_wrap .ph_box {
  z-index: 1;
  position: relative;
  clip-path: inset(0);
  width: 100%;
  height: 400px;
  transform: none;
 }
 .about_wrap .ph_box img {
  display: none;
 }
 .about_wrap .ph_box::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-image: url(../images/sub_about_ph001.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: -2;
 }
hr {
    margin-top: 70px;
    margin-bottom: 70px;
}
}
@media (max-width: 900px) {
 .tile-gallery {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  grid-auto-rows: 150px;
 }
}
@media screen and (max-width:768px) {
 #header .title-area .sp-img {
  max-width: 240px;
 }
 .cont-box.side h2, .cont-box.side p, .cont-box.side .more a {
  color: var(--default);
 }
 .cont-box.side .more a::before {
  border-color: var(--default);
 }
 .cont-box.side.is-open::before, .cont-box.side.is-open::after {
  width: calc(100% - 50%);
  opacity: .5;
  z-index: -1;
 }
 ul.col4 li {
  width: calc(25% - 0.5rem);
 }
 ul.col4 li img {
  min-height: 330px;
 }
 .map-box iframe {
  max-height: 360px;
  min-height: 360px;
 }
 .access-wrapper {
  grid-template-columns: 1fr;
 }
}
@media screen and (max-width:640px) {
#header ul.nav li a {
font-size: 25px;
line-height: 300%;
}
 br.sp-640 {
  display: none;
 }
 .tile-gallery {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  grid-auto-rows: 140px;
 }
 /* スマホでは大きいタイルを通常サイズに */
 /*.tile-large {
  grid-row: span 1;
 }*/
 .tile-wide {
  grid-column: span 1;
 }
 .price {
  margin: 0 auto 60px auto;
 }
 .price thead th, .price thead td {
  padding: 16px 14px;
  font-size: 0.9rem;
  letter-spacing: 0.12em;
 }
 .price tbody th, .price tbody td {
  padding: 14px 14px;
  font-size: 0.9rem;
 }
 .price tbody th {
  width: 90px;
 }
 .menu-category {
  padding: 18px 20px;
 }
 .menu-title {
  font-size: 1.05rem;
 }
 .menu-list li {
  font-size: 0.95rem;
  padding: 10px 0;
 }
 .benefits-list li {
    font-size: 1.15rem;
    line-height: 1.4;
}
 .benefits-header {
    font-size: 1.25rem;
}
 .benefits-list li {
  flex: 1 1 100%;
 }
.qa_wrap dt {
 font-size: 18px;
}
}