@charset "UTF-8";
/*!
カスタムプロパティ
------------------------------
*/
/* カラー */
:root {
  --color-bg-base: #fff;
  --color-bg-yellow: #fdecca;
  --color-bg-light: #f2eee6;
  --color-font-base: #000;
  --color-font-gray: #444;
  --color-font-white: #fff;
  --color-gray: #aaa;
  --color-font-red: #fc2d00;
  --color-font-link: #22995b;
}

/* コンテナ幅 */
:root {
  --width-content: 950px;
  --width-content-l: 1200px;
}

/* フォント */
:root {
  --font-family-base: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
  --font-family-en: 'Oswald', sans-serif;
}

/*!
リセットCSS
------------------------------
*/
html {
  color: #000;
  background: #fff;
  scroll-behavior: smooth;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal;
}

ol,
ul {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before,
q:after {
  content: '';
}

abbr,
acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input,
textarea,
select,
button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  font-size: 100%;
  border-radius: 0;
  border: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  background-color: inherit;
}

input,
textarea,
select {
  font-size: 16px;
}

textarea {
  resize: vertical;
  display: block;
}

button {
  padding: 0;
  cursor: pointer;
}

legend {
  color: #000;
}

main {
  display: block;
}

a {
  text-decoration: none;
  color: #007bff;
}

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

svg {
  display: block;
}

a {
  text-decoration: none;
  transition: all 0.2s;
}

@media screen and (min-width: 768px) {
  a:hover {
    opacity: 0.7;
  }
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box;
}

*::before,
*::after {
  box-sizing: border-box;
}

/*!
foundation > base
------------------------------
*/
body {
  line-height: 1.6;
  font-size: 15px;
  color: var(--color-font-base);
  font-family: var(--font-family-base);
  background-color: var(--color-bg-base);
}
/* ハンバーガーメニュー表示時　*/
body.is-menu-active {
  overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.25;
}

p {
  line-height: 1.75;
}

/*!
utility > utility
------------------------------
*/
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
  .sp-only {
    display: none !important;
  }
}
.pc {
  display: none !important;
}
.pc-inline {
  display: none !important;
}
.pc-only {
  display: none !important;
}

@media screen and (min-width: 768px) {
  .pc {
    display: block !important;
  }
  .pc-inline {
    display: inline-block !important;
  }
  .pc-only {
    display: block !important;
  }
  br.pc {
    font-size: 0;
  }
}

.visually-hidden {
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  border: 0 !important;
  padding: 0 !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  margin: -1px !important;
}

.ib {
  display: inline-block;
}
.bold {
  font-weight: bold;
}

.al-c {
  text-align: center !important;
}
.al-l {
  text-align: left !important;
}
.al-r {
  text-align: right !important;
}

.m0 {
  margin: 0 !important;
}

.mt0 {
  margin-top: 0 !important;
}
.mt5 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}
.mb5 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}

.indent-1 {
  padding-left: 1em;
  text-indent: -1em;
}

.en {
  font-family: var(--font-family-en);
}

.space-wrap {
  overflow: hidden;
}

.space-2em {
  display: inline-block;
  letter-spacing: 2em;
  margin-right: -2em;
}

.note-text {
  font-size: 12px;
}

.ta-justify {
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .note-text {
    font-size: 13px;
  }
}

.list > li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 0.5em;
}
.list > li:last-child {
  margin-bottom: 0;
}
.list > li::before {
  content: '・';
  width: 1em;
  height: 1em;
  position: absolute;
  top: 0;
  left: 0;
}

/*!
PC TELリンク無効
------------------------------
*/
@media screen and (min-width: 768px) {
  a[href^='tel:'] {
    pointer-events: none;
    cursor: default;
  }
}

/*!
layout > container
------------------------------
*/
@media screen and (max-width: 767px) {
  main {
    padding-top: clamp(53.8px, 14.342vw, 110px);
  }
}
@media screen and (min-width: 768px) {
  main {
    padding-top: 110px;
  }
}

.l-container,
.l-container-l {
  width: 80%;
  margin: 0 auto;
}

.l-container {
  max-width: var(--width-content);
}

.l-container-l {
  max-width: var(--width-content-l);
}
@media screen and (max-width: 767px) {
  .section {
    padding: clamp(31.3px, 8.344vw, 64px) 0;
  }
  .l-container,
  .l-container-l {
    width: 80%;
  }
}
@media screen and (min-width: 768px) {
  .section {
    padding: clamp(51.7px, 6.737vw, 64px) 0;
  }
  .l-container,
  .l-container-l {
    width: 100%;
    padding-right: clamp(20.2px, 2.632vw, 25px);
    padding-left: clamp(20.2px, 2.632vw, 25px);
    margin-top: clamp(60px, 5vw, 88px);
  }
}

/*!
layout > kv
------------------------------
*/
.kv {
  position: relative;
}
.kv-img {
  width: 100%;
  overflow: hidden;
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}

/* PC版用スタイル */
@media screen and (min-width: 768px) {
  .kv-img {
    height: 51.24vw;
    min-height: 510px;
    background-image: url('../img/kv-img.jpg');
  }
  .kv > .pc-only {
    position: absolute;
    top: clamp(0px, 0vw, 0px);
    left: clamp(0px, 0vw, 0px);
    width: clamp(400px, 55vw, 70vw);
    z-index: 1;
  }
  .kv::after {
    content: '';
    background: url(../img/kv-deco.png) no-repeat center center / contain;
    position: absolute;
    margin: auto;
    right: 0;
    left: 0;
    bottom: clamp(-75px, -3.788vw, -29.1px);
    width: clamp(360.7px, 46.97vw, 930px);
    height: clamp(58.2px, 7.576vw, 150px);
    z-index: 2;
  }
}

/* SP版用スタイル（元のスタイルを利用） */
@media screen and (max-width: 767px) {
  .kv-img {
    height: clamp(375.5px, 100.13vw, 768px);
    max-height: 100vh;
    background-image: url('../img/kv-img-sp.jpg');
  }
  .kv-title1 {
    position: absolute;
    top: clamp(0px, 2vw, 60px);
    left: 0;
    right: 0;
    width: clamp(311px, 82.92vw, 90vw);
    margin: auto;
  }
  .kv-text-wrap {
    position: relative;
    padding: clamp(29.3px, 7.823vw, 60px) 0;
    background-color: rgba(255, 255, 255, 0.75);
  }
  .kv-text-wrap::after {
    content: '';
    background: url(../img/kv-deco.png) no-repeat center center / contain;
    position: absolute;
    margin: auto;
    right: 0;
    left: 0;
    top: clamp(-70px, -9.126vw, -34.2px);
    width: clamp(297.3px, 79.27vw, 608px);
    height: clamp(47.9px, 12.777vw, 98px);
    z-index: 2;
  }
  .kv-title2 {
    width: clamp(288px, 76.793vw, 589px);
  }
  .kv-text-l {
    margin-top: clamp(5.9px, 1.565vw, 12px);
    font-size: clamp(15.6px, 4.172vw, 32px);
    line-height: 1.3125;
  }
  .kv-text {
    margin-top: clamp(11.7px, 3.129vw, 24px);
    font-size: clamp(12.7px, 3.39vw, 26px);
    line-height: 1.54;
  }
  .kv::after {
    display: none; /* SP版では別の場所に装飾があるため、こちらは非表示 */
  }
}

/* テキスト関連のスタイル（SP版で利用） */
.kv-text-wrap {
  text-align: center;
}
.kv-title2 {
  margin: 0 auto;
}
.kv-text-l {
  font-weight: 600;
  text-align: center;
  font-feature-settings: 'palt';
}
.kv-text {
  text-align: center;
  letter-spacing: 0.1em;
  font-feature-settings: 'palt';
}

/*!
layout > footer
------------------------------
*/
.footer {
  background-color: var(--color-bg-base);
  padding: 20px 0;
}

.footer .l-container {
  width: 90%;
}

.footer-copyright {
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  line-height: 1.25;
  letter-spacing: 0.1em;
}

/*!
lp > page-top
------------------------------
*/
.page-top {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: none;
  position: fixed;
  bottom: 5px;
  right: 2%;
  color: var(--color-gray);
  background-color: #fff;
  border: 1px solid var(--color-gray);
  opacity: 0.9;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  z-index: 99;
}
.page-top:hover {
  opacity: 0.7;
}
.page-top::before {
  content: '';
  width: 10px;
  height: 10px;
  border: 7px solid transparent;
  border-bottom-style: solid;
  border-bottom-color: transparent;
  border-bottom: 12px solid var(--color-gray);
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: 5px;
}

@media screen and (min-width: 768px) {
  .page-top {
    width: 60px;
    height: 60px;
    bottom: 5vh;
    right: 2vw;
  }
  .page-top::before {
    border: 11px solid transparent;
    border-bottom: 15px solid var(--color-gray);
    top: 10px;
  }
}

/*!
component > title
------------------------------
*/
.section-title {
  margin-right: auto;
  margin-left: auto;
  color: var(--color-font-gray);
  text-align: center;
  display: flex;
  flex-direction: column;
}
.section-title .main {
  font-weight: 800;
  letter-spacing: 0.16em;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

@media screen and (max-width: 767px) {
  .section-title {
    margin-bottom: clamp(11.7px, 5.129vw, 24px);
  }
  .section-title .main {
    font-size: clamp(23.5px, 6.258vw, 48px);
  }
}
@media screen and (min-width: 768px) {
  .section-title {
    max-width: 950px;
    margin-bottom: clamp(42px, 5.474vw, 52px);
    padding-right: clamp(20.2px, 2.632vw, 25px);
    padding-left: clamp(20.2px, 2.632vw, 25px);
  }
  .section-title .main {
    font-size: clamp(38.8px, 5.053vw, 48px);
  }
}

/*!
lp > common
------------------------------
*/
.l-wrapper {
  overflow-x: hidden;
}

#lp {
  position: relative;
}

.link-text {
  position: relative;
}
.link-text::after {
  content: '';
  display: inline-block;
  width: 0.89em;
  height: 0.89em;
  margin-bottom: -1px;
  background: no-repeat url('../img/link-icon.svg') center/contain;
}

.coming-soon-wrapper {
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
  padding: 40px 20px;
  position: relative;
  overflow: hidden;
}

.coming-soon-wrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.05);
  border-radius: 10px;
  pointer-events: none;
}

.text-coming_soon {
  color: #aaa;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .coming-soon-wrapper {
    padding: 30px 15px;
  }
  .text-coming_soon {
    font-size: clamp(35.2px, 9.387vw, 72px);
  }
}
@media screen and (min-width: 768px) {
  .coming-soon-wrapper {
    padding: 50px 30px;
  }
  .text-coming_soon {
    font-size: clamp(77.6px, 10.105vw, 96px);
  }
}

.caution {
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .caution {
    padding-left: 1em;
    text-indent: -1em;
  }
}

/*!
lp > about
------------------------------
*/
.about_logo {
  margin-left: clamp(21.5px, 12vw, 100px);
  flex-shrink: 0;
}
.about_logo img {
  width: 100%;
  height: auto;

}
.about_text {
}
.about_text p:not(:first-child) {
  margin-top: 1em;
}
.about_logo_concept {
    display: flex;
    align-items: center;

    gap: 30px;
}
.about_logo_concept p {
    flex: 1;
}

@media screen and (max-width: 767px) {
  .about_logo {
    width: clamp(91.9px, 45vw, 188px);
    margin-top: clamp(21.5px, 5.737vw, 44px);
    margin-left: auto;
    margin-right: auto;
  }
  .about_text {
    font-size: clamp(14.7px, 3.911vw, 30px);
    letter-spacing: 0.05em;
    text-align: justify;
  }
  .about_logo_concept {
    font-size: clamp(14.7px, 3.911vw, 30px);
    letter-spacing: 0.05em;
    flex-direction: column;
    text-align: justify;
  }
}
@media screen and (min-width: 768px) {
  #about {
      padding-top: clamp(103.5px, 13.474vw, 128px);
  }
  #about .section-title {
      margin-bottom: clamp(11.7px, 5.129vw, 24px);
  }
  #about .section-title .main {
    background-image: url('../img/section-title-main_bg_about.svg');
  }
  .about_logo {
    width: clamp(152px, 19.789vw, 188px);
  }
  .about_text {
    font-size: clamp(12.9px, 1.684vw, 16px);
    letter-spacing: 0.1em;
    text-align: center;
  }
  .about_text p {
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .about_logo_concept {
      font-size: clamp(12.9px, 1.684vw, 16px);
      letter-spacing: 0.1em;
      margin-top: clamp(19.4px, 2.526vw, 24px);
  }
}

/*!
lp > map
------------------------------
*/
.map_logo {
    margin-right: auto;
    margin-left: auto;
}
.map_logo img {
    width: 100%;
    height: auto;
}
.map_text {
}
.map_text p{
    margin-top: 1em;
}
.link-button-container {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin: 40px 0 0 0;
}
@media screen and (max-width: 767px) {
    .map_logo {
        width: clamp(91.9px, 24.511vw, 188px);
        margin-bottom: clamp(21.5px, 5.737vw, 44px);
    }
    .map_text {
        font-size: clamp(14.7px, 3.911vw, 30px);
        letter-spacing: 0.05em;
        text-align: justify;
    }
    .link-button-container {
        flex-direction: column;
        text-align: center;
    }
}
@media screen and (min-width: 768px) {
    #map {

    }
    #map .section-title {
        margin-bottom: clamp(11.7px, 5.129vw, 24px);
    }
    #map .section-title .main {
        background-image: url('../img/section-title-main_bg_about.svg');
    }
    .map_logo {
        width: clamp(152px, 19.789vw, 188px);
        margin-bottom: clamp(19.4px, 2.526vw, 24px);
    }
    .map_text {
        font-size: clamp(12.9px, 1.684vw, 16px);
        letter-spacing: 0.1em;
        text-align: center;
    }
    .map_text p {
        line-height: 1.75;
        letter-spacing: 0.1em;
    }
}

/*!
lp > service
------------------------------
*/
.service_pic {
    text-align: center;
}
.service_logo {
    margin-right: auto;
    margin-left: auto;
}
.service_logo img {
    width: 100%;
    height: auto;
}
.service_text {
}
.service_text p{
    margin-top: 1em;
}
@media screen and (max-width: 767px) {
    .service_logo {
        width: clamp(91.9px, 24.511vw, 188px);
        margin-bottom: clamp(21.5px, 5.737vw, 44px);
    }
    .service_text {
        font-size: clamp(14.7px, 3.911vw, 30px);
        letter-spacing: 0.05em;
        text-align: justify;
    }
}
@media screen and (min-width: 768px) {
    #service {

    }
    #service .section-title {
        margin-bottom: clamp(11.7px, 5.129vw, 24px);
    }
    #service .section-title .main {
        background-image: url('../img/section-title-main_bg_about.svg');
    }
    .service_logo {
        width: clamp(152px, 19.789vw, 188px);
        margin-bottom: clamp(19.4px, 2.526vw, 24px);
    }
    .service_text {
        font-size: clamp(12.9px, 1.684vw, 16px);
        letter-spacing: 0.1em;
        text-align: center;
    }
    .service_text p {
        line-height: 1.75;
        letter-spacing: 0.1em;
    }
}

/*!
lp > YB
------------------------------
*/
.YB_lead {
  color: var(--color-font-gray);
}
.YB_block_item_text {
  line-height: 1.625;
  text-align: justify;
}

.YB_block_item_pic {
    position: relative
}
.YB_text {
}
.YB_text p{
    margin-top: 1em;
}

@media screen and (max-width: 767px) {
  #YB .section-title .main img {
    width: clamp(211.2px, 56.323vw, 432px);
  }
  .YB_lead_body {
    font-size: clamp(14.7px, 3.911vw, 30px);
    line-height: 1.4;
    text-align: justify;
  }
  .YB_block {
    margin-top: clamp(37.2px, 9.909vw, 76px);
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    row-gap: clamp(37.2px, 9.909vw, 76px);
  }
  .YB_block_item_text {
    margin-top: clamp(14.7px, 3.911vw, 30px);
    font-size: clamp(15.6px, 4.172vw, 32px);
    line-height: 1.5;
  }
  .YB_text {
      font-size: clamp(14.7px, 3.911vw, 30px);
        letter-spacing: 0.05em;
        text-align: justify;
  }
}
@media screen and (min-width: 768px) {
  #YB .section-title .main {
    background-image: url('../img/section-title-main_bg_square.svg');
  }
  #YB .section-title .main img {
    width: clamp(404.2px, 52.632vw, 500px);
  }
  .YB_lead_body {
    font-size: clamp(14.6px, 1.895vw, 18px);
    line-height: 1.75;
    text-align: center;
  }
  .YB_block {
    margin-top: clamp(60px, 5vw, 88px);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: clamp(32.3px, 4.211vw, 40px);
    row-gap: clamp(48.5px, 6.316vw, 60px);
  }
  .YB_block_item_text {
    margin-top: clamp(8.1px, 1.053vw, 10px);
    font-size: clamp(12.9px, 1.684vw, 16px);
  }
  .YB_text {
        font-size: clamp(12.9px, 1.684vw, 16px);
        letter-spacing: 0.1em;
        text-align: center;
  }
  .YB_text p {
        line-height: 1.75;
        letter-spacing: 0.1em;
  }
}

/*!
lp > shop
------------------------------
*/
.shop_lead {
    color: var(--color-font-gray);
}
.shop_block_item_text {
    line-height: 1.625;
    text-align: center;
}

.shop_block_item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.shop_block_item_pic {
    position: relative;
    background: white;
    width: clamp(300px, 25vw, 400px);
    height: clamp(200px, 16.666vw, 266px);
    display: flex;
    justify-content: center;
    box-sizing: border-box;
    padding: 0 10px;
    overflow: visible;
}

.shop_block_item_pic img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}


@media screen and (max-width: 767px) {
    #shop .section-title .main img {
        width: clamp(211.2px, 56.323vw, 432px);
    }
    .shop_lead_body {
        font-size: clamp(14.7px, 3.911vw, 30px);
        line-height: 1.4;
        text-align: justify;
    }
    .shop_block {
        margin-top: clamp(37.2px, 9.909vw, 76px);
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        row-gap: clamp(37.2px, 9.909vw, 76px);
    }
    .shop_block_item_text {
        margin-top: clamp(14.7px, 3.911vw, 30px);
        font-size: clamp(15.6px, 4.172vw, 32px);
        line-height: 1.5;
    }
}
@media screen and (min-width: 768px) {
    #shop .section-title .main {
        background-image: url('../img/section-title-main_bg_room.svg');
    }
    #shop .section-title .main img {
        width: clamp(404.2px, 52.632vw, 500px);
    }
    .shop_lead_body {
        font-size: clamp(14.6px, 1.895vw, 18px);
        line-height: 1.75;
        text-align: center;
    }
    .shop_block {
        margin-top: clamp(71.1px, 9.263vw, 88px);
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        row-gap: clamp(48.5px, 6.316vw, 60px);
    }
    .shop_block_item_text {
        margin-top: clamp(8.1px, 1.053vw, 10px);
        font-size: clamp(12.9px, 1.684vw, 16px);
    }
}

/*!
lp > gallery
------------------------------
*/
.gallery_pic {
    text-align: center;
}
.gallery_logo {
    margin-right: auto;
    margin-left: auto;
}
.gallery_logo img {
    width: 100%;
    height: auto;
}
.gallery_text {
}
.gallery_text p{
    margin-top: 1em;
}
.gallery_content-box {
    background: #fff;
    border: 2px solid #ccc;
    border-radius: 16px;
    padding: 20px;
    margin-top: clamp(30px, 4vw, 70px);
    display: flex;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(30px, 6.316vw, 60px) ;
    box-sizing: border-box;
    height: 80%;
    justify-content: center;
}

.gallery_block_item_text {
    line-height: 1.625;
    text-align: justify;
}
.gallery_block_item_pic {
    position: relative;
    border: 1px solid #ccc;
}
.gallery_block_item {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 767px) {
    .gallery_logo {
        width: clamp(91.9px, 24.511vw, 188px);
        margin-bottom: clamp(21.5px, 5.737vw, 44px);
    }
    .gallery_text {
        font-size: clamp(14.7px, 3.911vw, 30px);
        letter-spacing: 0.05em;
        text-align: justify;
    }
    .gallery_block {
        margin-top: clamp(37.2px, 9.909vw, 76px);
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        row-gap: clamp(37.2px, 9.909vw, 76px);
    }
    .gallery_block_item_text {
        margin-top: clamp(14.7px, 3.911vw, 30px);
        font-size: clamp(15.6px, 4.172vw, 32px);
        line-height: 1.5;
    }
    .gallery_content-box {
        flex-direction: column;
    }

    .gallery_block_item:nth-child(1) {
        order: 2;
    }

    .gallery_block_item:nth-child(2) {
        order: 1;
    }

}
@media screen and (min-width: 768px) {
    #gallery {

    }
    #gallery .section-title {
        margin-bottom: clamp(11.7px, 5.129vw, 24px);
    }
    #gallery .section-title .main {
        background-image: url('../img/section-title-main_bg_about.svg');
    }
    .gallery_logo {
        width: clamp(152px, 19.789vw, 188px);
        margin-bottom: clamp(19.4px, 2.526vw, 24px);
    }
    .gallery_text {
        font-size: clamp(12.9px, 1.684vw, 16px);
        letter-spacing: 0.1em;
        text-align: center;
    }
    .gallery_text p {
        line-height: 1.75;
        letter-spacing: 0.1em;
    }
    .gallery_block {
        margin-top: clamp(71.1px, 9.263vw, 88px);
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: clamp(32.3px, 4.211vw, 40px);
        row-gap: clamp(48.5px, 6.316vw, 60px);
    }
    .gallery_block_item_text {
        margin-top: clamp(8.1px, 1.053vw, 10px);
        font-size: clamp(12.9px, 1.684vw, 16px);
    }
    .gallery_block_item_pic img{
        height:235px;
    }
    .gallery_block_item{
        width : 50%;
    }
}

/*!
lp > library
------------------------------
*/
.library_pic {
    text-align: center;
}
.library_logo {
    margin-right: auto;
    margin-left: auto;
}
.library_logo img {
    width: 100%;
    height: auto;
}
.library_text {
    margin-bottom: 1em;
}
.library_text p{
    margin-top: 1em;
}
.library_text p .text_title {
    font-size: 125%;
    margin-top: 0.4em;
}
.main_message {
    font-size: 150%;
    margin-top: 0.4em;
}
.library_content-box {
    position: relative;
    background: #fff;
    border: 2px solid #ccc;
    border-radius: 16px;
    padding: 30px;
    margin-top: clamp(30px, 4vw, 70px);
}
.library_icon {
    position: absolute;
    width: clamp(150px, 20vw, 200px);
    height: auto;
}

@media screen and (max-width: 767px) {
    .library_logo {
        width: clamp(91.9px, 24.511vw, 188px);
        margin-bottom: clamp(21.5px, 5.737vw, 44px);
    }
    .library_text {
        font-size: clamp(14.7px, 3.911vw, 30px);
        letter-spacing: 0.05em;
        text-align: justify;
    }
    .library_icon{
        bottom: clamp(8px, 1.5vw, 20px);
        right: clamp(12px, 2vw, 30px);
    }
    .library_content-box {
        padding-bottom: 70px;
    }
}
@media screen and (min-width: 768px) {
    #library {

    }
    #library .section-title {
        margin-bottom: clamp(11.7px, 5.129vw, 24px);
    }
    #library .section-title .main {
        background-image: url('../img/section-title-main_bg_room.svg');
    }
    .library_logo {
        width: clamp(152px, 19.789vw, 188px);
        margin-bottom: clamp(19.4px, 2.526vw, 24px);
    }
    .library_text {
        font-size: clamp(12.9px, 1.684vw, 16px);
        letter-spacing: 0.1em;
        text-align: center;
    }
    .library_text p {
        line-height: 1.75;
        letter-spacing: 0.1em;
    }
    .library_icon{
        bottom: clamp(8px, 1.5vw, 20px);
        right: clamp(12px, 2vw, 30px);
    }
    .library_pic img{
        height: 500px;
    }
}

/*!
lp > kidsspace
------------------------------
*/
.kidsspace_pic {
    text-align: center;
}
.kidsspace_logo {
    margin-right: auto;
    margin-left: auto;
}
.kidsspace_logo img {
    width: 100%;
    height: auto;
}
.kidsspace_text {
}
.kidsspace_text p{
    margin-top: 1em;
}
.kidsspace_content-box {
    background: #fff;
    border: 2px solid #ccc;
    border-radius: 16px;
    padding: 20px;
    margin-top: clamp(30px, 4vw, 70px);
    grid-template-columns: repeat(2, 1fr);
    gap:clamp(15px, 2vw, 40px);
    box-sizing: border-box;
    height: 80%;
    position: relative;
}
.kidsspace_box-title {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: bold;
    font-size: clamp(18px, 2vw, 24px);
    text-align: center;
}
.kidsspace_block_item_text {
    line-height: 1.625;
    text-align: justify;
}
.kidsspace_block_item_pic {
    position: relative;
    border: 1px solid #ccc;
}
.kidsspace_block_item {
    display: flex;
    align-items: center;
    justify-content: center;
}


@media screen and (max-width: 767px) {
    .kidsspace_logo {
        width: clamp(91.9px, 24.511vw, 188px);
        margin-bottom: clamp(21.5px, 5.737vw, 44px);
    }
    .kidsspace_text {
        font-size: clamp(14.7px, 3.911vw, 30px);
        letter-spacing: 0.05em;
        text-align: justify;
    }
    .kidsspace_block {
        margin-top: clamp(37.2px, 9.909vw, 76px);
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        row-gap: clamp(37.2px, 9.909vw, 76px);
    }
    .kidsspace_block_item_text {
        margin-top: clamp(14.7px, 3.911vw, 30px);
        font-size: clamp(15.6px, 4.172vw, 32px);
        line-height: 1.5;
    }
    .kidsspace_content-box{
        display: flex;
        flex-direction: column;
    }
    .kidsspace_block_item:nth-child(1) {
        order: 2;
    }

    .kidsspace_block_item:nth-child(2) {
        order: 1;
    }
}
@media screen and (min-width: 768px) {
    #kidsspace {

    }
    #kidsspace .section-title {
        margin-bottom: clamp(11.7px, 5.129vw, 24px);
    }
    #kidsspace .section-title .main {
        background-image: url('../img/section-title-main_bg_about.svg');
    }
    .kidsspace_logo {
        width: clamp(152px, 19.789vw, 188px);
        margin-bottom: clamp(19.4px, 2.526vw, 24px);
    }
    .kidsspace_text {
        font-size: clamp(12.9px, 1.684vw, 16px);
        letter-spacing: 0.1em;
        text-align: center;
    }
    .kidsspace_text p {
        line-height: 1.75;
        letter-spacing: 0.1em;
    }
    .kidsspace_block {
        margin-top: clamp(71.1px, 9.263vw, 88px);
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: clamp(32.3px, 4.211vw, 40px);
        row-gap: clamp(48.5px, 6.316vw, 60px);
    }
    .kidsspace_block_item_text {
        margin-top: clamp(8.1px, 1.053vw, 10px);
        font-size: clamp(12.9px, 1.684vw, 16px);
    }
    .kidsspace_content-box{
        display: grid;
    }
    .kidsspace_pic img{
    height: 500px;
    }
}


/*!
lp > largeroof
------------------------------
*/
.largeroof_pic {
    text-align: center;
}
.largeroof_logo {
    margin-right: auto;
    margin-left: auto;
}
.largeroof_logo img {
    width: 100%;
    height: auto;
}
.largeroof_text {
}
.largeroof_text p{
    margin-top: 1em;
}
.largeroof_content-box {
    background: #fff;
    border: 2px solid #ccc;
    border-radius: 16px;
    padding: 20px;
    margin-top: clamp(30px, 4vw, 70px);
    grid-template-columns: repeat(2, 1fr);
    gap:clamp(10px, 1.5vw, 40px) clamp(32.3px, 4.211vw, 40px);
    box-sizing: border-box;
    height: 80%;
    position: relative;
}
.largeroof_box-title {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: bold;
    font-size: clamp(18px, 2vw, 24px);
    text-align: center;
    width: 100%;
}
.largeroof_block_item_pic {
    display: flex;
    gap: clamp(10px, 1.7vw, 30px );
    max-width: 100%;
    justify-content: center;
}
.largeroof_block_item_pic img {
    width: auto;
    display: block;
}
.largeroof_block_item_text {
    padding: 10px;
}
.largeroof_block_item {
    display: block;
    align-items: center;
    justify-content: center;
}
.largeroof_block_item_title {
    text-align: center;
    font-weight: bold;
    padding-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .largeroof_logo {
        width: clamp(91.9px, 24.511vw, 188px);
        margin-bottom: clamp(21.5px, 5.737vw, 44px);
    }
    .largeroof_text {
        font-size: clamp(14.7px, 3.911vw, 30px);
        letter-spacing: 0.05em;
        text-align: justify;
    }
    .largeroof_block_item_text {
        margin-top: clamp(14.7px, 3.911vw, 30px);
        font-size: clamp(15.6px, 4.172vw, 32px);
        line-height: 1.5;
    }
    .largeroof_block_item_pic img {
        height: clamp(110px, 31vw, 160px );;
        width: auto;
        display: block;
    }
    .largeroof_block_item_title {
        font-size: clamp(14.7px, 5vw, 30px);
    }
    .largeroof_block_item--first {
        padding-top: 50px;
    }
}
@media screen and (min-width: 768px) {
    #largeroof {

    }
    #largeroof .section-title {
        margin-bottom: clamp(11.7px, 5.129vw, 24px);
    }
    #largeroof .section-title .main {
        background-image: url('../img/section-title-main_bg_room.svg');
    }
    .largeroof_logo {
        width: clamp(152px, 19.789vw, 188px);
        margin-bottom: clamp(19.4px, 2.526vw, 24px);
    }
    .largeroof_text {
        font-size: clamp(12.9px, 1.684vw, 16px);
        letter-spacing: 0.1em;
        text-align: center;
    }
    .largeroof_text p {
        line-height: 1.75;
        letter-spacing: 0.1em;
    }
    .largeroof_block_item_text {
        margin-top: clamp(8.1px, 1.053vw, 10px);
        font-size: clamp(12.9px, 1.684vw, 16px);
    }
    .largeroof_block_item_pic img {
        height: 160px;
        width: auto;
        display: block;
    }
    .largeroof_content-box {
        display: grid;
    }
    .largeroof_block_item_title {
        font-size: 22px;
    }
}

/*!
lp > event
------------------------------
*/
#event {
}
@media screen and (max-width: 767px) {
}
@media screen and (min-width: 768px) {
  #event .section-title .main {
    background-image: url('../img/section-title-main_bg_event.svg');
  }
}

/*!
lp > room
------------------------------
*/
#room {
}
.room_pic {
  text-align: center;
}
.room_block_item_text {
    line-height: 1.625;
    text-align: justify;
}

.room_block_item_pic {
    position: relative
}
.room_text {
  margin-top: 1em;
  margin-bottom: 1em;
  text-align: justify;
}
.custom-table {
    border-collapse: collapse;
    background: #fff;
    table-layout: fixed;
}
.custom-table td {
    border: 1px solid #E95513;
    text-align: center;
}
.col-1 { width: 150px; }
.col-2 { width: 60px; }
.col-3 { width: 100px; }
.col-4 { width: 100px; }
.col-5 { width: 100px; }
.col-6 { width: 60px; }

.custom-table .header-row td {
    background-color: #E95513;
    color: #fff;
    font-weight: bold;
    border-right: 1px solid #fff;
    border-left: none;
    border-top: 1px solid #E95513;
    border-bottom: 1px solid #E95513;
}
.custom-table .header-row td.last_tb {
    border-right: 1px solid #E95513;
}
.custom-table .header-row td.first_tb {
    border-left: 1px solid #E95513;
}

@media screen and (max-width: 767px) {
  .room_pic {
    margin-bottom: clamp(13.7px, 3.651vw, 28px);
  }
  .room_text {
    font-size: clamp(14px, 3.5vw, 16px);
    text-align: justify;
    padding: 0 5px;
    line-height: 1.6;
  }
  td {
    padding: 4px; /* 狭める */
    font-size: 12px; /* 小さくする */
    word-break: break-word; /* 長い単語も折り返し */
  }
  .room_block {
    margin-top: clamp(20px, 4vw, 30px);
  }
  .facility-images {
    margin-left: 0;
    margin-right: 0;
    display: block;
  }
  .room_block .col-md-6 {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 20px;
    width: 100%;
    float: none;
  }
  .room_block_item_text {
    margin-top: clamp(14.7px, 3.911vw, 30px);
    font-size: clamp(15.6px, 4.172vw, 32px);
    line-height: 1.5;
  }
  .room_block_item_pic {
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    height: auto;
  }
  .room_block_item_pic img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 16/9;
    display: block;
    min-height: 180px;
  }
}

/*!
lp > square
------------------------------
*/
#square {
}
.square_pic {
  text-align: center;
}
.square_text {
  margin-top: 1em;
  margin-bottom: 1em;
}
.square_text .caution {
  margin-top: 1em;
}
.square_content-box {
    background: #fff;
    border: 2px solid #ccc;
    border-radius: 16px;
    padding: 20px;
    margin-top: clamp(30px, 4vw, 70px);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap:clamp(15px, 2vw, 40px);
    box-sizing: border-box;
    height: 80%;
    position: relative;
}
.square_box-title {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: bold;
    font-size: clamp(18px, 2vw, 24px);
    text-align: center;
}
.square_block_item_text {
    line-height: 1.625;
    text-align: justify;
}
.square_block_item_pic {
    position: relative;
    border: 1px solid #ccc;
}
.square_block_item {
    display: flex;
    align-items: center;
    justify-content: center;
}
.square_block_item_text {
    line-height: 1.625;
    text-align: justify;
}

@media screen and (max-width: 767px) {
  .square_text {
    font-size: clamp(14.7px, 3.911vw, 30px);
    text-align: justify;
  }
  .square_block_item_text {
        margin-top: clamp(14.7px, 3.911vw, 30px);
        font-size: clamp(15.6px, 4.172vw, 32px);
        line-height: 1.5;
    }
  .square_block {
        margin-top: clamp(37.2px, 9.909vw, 76px);
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        row-gap: clamp(37.2px, 9.909vw, 76px);
  }
  .square_block_item_text {
        margin-top: clamp(14.7px, 3.911vw, 30px);
        font-size: clamp(15.6px, 4.172vw, 32px);
        line-height: 1.5;
  }
  .square_content-box{
        display: flex;
        flex-direction: column;
  }
  .square_block_item:nth-child(1) {
        order: 2;
  }

  .square_block_item:nth-child(2) {
        order: 1;
  }
}
@media screen and (min-width: 768px) {
  #square .section-title .main {
    background-image: url('../img/section-title-main_bg_info.svg');
  }
  .square_text {
    font-size: clamp(12.9px, 1.684vw, 16px);
    letter-spacing: 0.1em;
    text-align: center;
  }
  .square_block {
        margin-top: clamp(71.1px, 9.263vw, 88px);
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: clamp(32.3px, 4.211vw, 40px);
        row-gap: clamp(48.5px, 6.316vw, 60px);
  }
  .square_block_item_text {
        margin-top: clamp(8.1px, 1.053vw, 10px);
        font-size: clamp(12.9px, 1.684vw, 16px);
  }
  .square_block {
        margin-top: clamp(71.1px, 9.263vw, 88px);
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: clamp(32.3px, 4.211vw, 40px);
        row-gap: clamp(48.5px, 6.316vw, 60px);
  }
  .square_block_item_text {
        margin-top: clamp(8.1px, 1.053vw, 10px);
        font-size: clamp(12.9px, 1.684vw, 16px);
  }
  .square_content-box{
        display: grid;
  }
  .square_block_item_pic img{
    height: 286px;
  }
}

/*!
lp > local
------------------------------
*/
#local {
}

.local_shop-list {
  display: grid;
}
@media screen and (max-width: 767px) {
  .local_block {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    row-gap: clamp(46.9px, 12.516vw, 96px);
  }
  .local_block_item_text {
    margin-top: clamp(13.7px, 3.651vw, 28px);
    font-size: clamp(14.7px, 3.911vw, 30px);
    text-align: justify;
  }
  .local_shop-list {
    margin-top: clamp(38.1px, 10.169vw, 78px);
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(4.9px, 1.304vw, 10px);
  }
}
@media screen and (min-width: 768px) {
  #local .section-title .main {
    background-image: url('../img/section-title-main_bg_local.svg');
  }
  .local_block {
    margin-top: clamp(40.4px, 5.263vw, 50px);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: clamp(24.3px, 3.158vw, 30px);
    row-gap: clamp(32.3px, 4.211vw, 40px);
  }
  .local_block_item_text {
    margin-top: clamp(16.2px, 2.105vw, 20px);
    font-size: clamp(12.9px, 1.684vw, 16px);
  }
  .local_shop-list {
    margin-top: clamp(51.7px, 6.737vw, 64px);
    grid-template-columns: repeat(5, 1fr);
    gap: clamp(8.1px, 1.053vw, 10px);
  }
}

/*!
lp > info
------------------------------
*/
#info {
  padding: 80px 0;
  position: relative;
}

.info-map {
  position: relative;
  height: 0;
  background-color: #fff;
  overflow: hidden;
}
.info-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.info-body {
  font-weight: 500;
  text-align: center;
  line-height: 1.8;
}
.info-body-dl > dd {
  font-weight: 400;
}
.info-body-dl > dd + dt {
  margin-top: 1em;
}
.info-body-dl-dl > dd + dt {
  margin-top: 0.5em;
}
.info-body-caution {
}
.info-body-link {
}
.info-body-link-button {
  margin: 0 auto;
  color: #22995b;
  font-weight: 500;
  letter-spacing: 0.1em;
  background-color: #fff;
  border: 1.5px solid #22995b;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.info_content-box {
    position: relative;
    background: #fff;
    border: 2px solid #db000b;
    border-radius: 16px;
    padding: 30px;
    margin-top: clamp(30px, 4vw, 70px);
}

.info_text {
    margin-bottom: 1em;
}
.info_text p{
    margin-top: 1em;
}
.info_text .text_title {
    font-size: 125%;
    margin-top: 0.2em;
    color: #db000b;
}
.under-line{
    text-decoration:underline;
}
@media screen and (max-width: 767px) {
  .info-map {
    padding-bottom: clamp(435.1px, 116.037vw, 890px);
  }
  .info-body {
    padding-top: clamp(23.5px, 6.258vw, 48px);
    font-size: clamp(15.6px, 4.172vw, 32px);
  }
  .info-body-dl > dt {
    font-size: clamp(17.6px, 4.694vw, 36px);
  }
  .info-body-caution {
    font-size: clamp(13.7px, 3.651vw, 28px);
  }
  .info-body-link {
    padding-top: clamp(16.6px, 4.433vw, 34px);
  }
  .info-body-link-button {
    width: clamp(283.6px, 75.619vw, 580px);
    height: clamp(74.3px, 19.817vw, 152px);
    font-size: clamp(18.6px, 4.954vw, 38px);
    border-width: clamp(1.5px, 0.391vw, 3px);
    border-radius: clamp(4.9px, 1.304vw, 10px);
  }
    .info_text {
        font-size: clamp(14.7px, 3.911vw, 30px);
        letter-spacing: 0.05em;
        text-align: justify;
    }
  .info_map_pic{
    padding-top: clamp(11px, 3.129vw, 24px);
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  #info .section-title .main {
    background-image: url('../img/section-title-main_bg_info.svg');
  }

  .info-map {
    padding-bottom: clamp(396.1px, 51.579vw, 490px);
  }
  .info-body {
    padding-top: clamp(76.8px, 10vw, 95px);
    font-size: clamp(12.9px, 1.684vw, 16px);
  }
  .info-body-dl > dt {
    font-size: clamp(14.6px, 1.895vw, 18px);
  }
  .info-body-caution {
    font-size: clamp(11.3px, 1.474vw, 14px);
  }
  .info-body-link {
    padding-top: clamp(76.8px, 10vw, 95px);
  }
  .info-body-link-button {
    width: clamp(291px, 37.895vw, 360px);
    height: clamp(64.7px, 8.421vw, 80px);
    font-size: clamp(17.8px, 2.316vw, 22px);
    border-width: clamp(1.4px, 0.184vw, 1.75px);
    border-radius: clamp(4px, 0.526vw, 5px);
  }
    .info_text {
        font-size: clamp(12.9px, 1.684vw, 16px);
        letter-spacing: 0.1em;
        text-align: center;
    }
    .info_text p {
        line-height: 1.75;
        letter-spacing: 0.1em;
    }
  .info_map_pic{
    padding-top: clamp(38px, 5vw, 47.5px);
    text-align: center;
  }
}

.overlay-label {
    position: absolute;
    top: -10px;
    left: -10px;
    background-color: #db000b;
    color: white;
    padding: 4px 8px;
    font-size: 14px;
    font-weight: 400;
    border-radius: 4px;
    z-index: 10;
    box-shadow: 0 0 4px rgba(0,0,0,0.3);
    letter-spacing: 0.1em;
    width: 220px;
    text-align: center;
}
.element-link-button a {
    width: clamp(260px, 64vw, 300px);
    display: inline-block;
    background-color: #E95513;
    color: white;
    padding: clamp(5px, 2.3vw, 8px) clamp(12px, 1.042vw, 20px);
    border-radius: clamp(6px, 0.521vw, 10px);
    text-decoration: none;
    font-size: clamp(12.9px, 1.684vw, 16px);
    transition: background-color 0.3s ease;
    white-space: nowrap;
    text-align: center;
}
.event-container {
    background-color: #ffffff;
    border: 4px solid #E95513;
    border-radius: 12px;
    width: 100%;
    margin: 0 auto;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    margin-top: 3em;
    position: relative;
}

.event-header {
    display: flex;
    border: 4px solid #E95513;
    align-items: center;
    background-color: #E95513;
    color: #fff;
    border-radius: 8px;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
    height: 60px;
    padding-left: 16px;
}

.event-icon {
    background-color: #fff;
    color: #E95513;
    padding: 2px 10px;
    border-radius: 20px;
    font-size: 14px;
    margin-right: 10px;
    white-space: nowrap;
}

.event-body {
    display: flex;
    flex-direction: row;
    gap: 0 40px;
    flex-wrap: wrap;
    margin: 20px 40px 40px 40px;
}

.event-subheader{
    padding: 0 40px;
}

.largeroof_event-subheader{
    padding: 0;
}

.event-subheader p{
    font-size: clamp(15px, 2vw, 20px);
    line-height: 1.6;
}

.event-details {
    font-size: clamp(12.9px, 1.684vw, 16px);
    line-height: 1.7em;
}

.event-details strong {
    color: #333;
}

.event-image {
    display: flex;
    justify-content: center;
    align-items: end;
}

.event-image img {
    max-width: 100%;
    max-height: 300px;
    height: auto;
    border-radius: 10px;
    border: 1px solid #ccc;
}

.event-image .square-event-pic {
    max-height: 350px;
}

.marker{
    color: #E95513;
    font-weight: bold;
}


@media screen and (max-width: 767px) {
    .event-body {
        flex-direction: column;
    }

    .event-header {
        font-size: 18px;
        height: auto;
        padding: 10px;
    }
}

@media screen and (min-width: 768px) {
    .event-text {
        flex: 1 1 300px;
    }
    .event-image {
        flex: 1 1 200px;
    }
    .last_event_text .event-details{
        margin-left: 25.5%;
        width: 47.395%;
    }
}

.text_link{
    position: relative;
    text-align: center;
    margin-top: 1em;
}

.text_link::after {
    content: '';
    display: inline-block;
    width: 0.89em;
    height: 0.89em;
    margin-bottom: -1px;
    background: no-repeat url('../img/link-icon.svg') center/contain;
}

.text_link a{
    color: #E95513;
}

/* ミライト一条施設情報ページ用スタイル */
.facility-section {
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
    scroll-margin-top: 150px;
}
.facility-section:last-child {
    border-bottom: none;
}
.section-title {
    font-size: 20px;
    color: #333;
    margin-bottom: 15px;
    padding-bottom: 8px;
    border-bottom: 2px solid #0f75bc;
    text-align: center;
}
.section-title .main {
    font-size: 30px;
    font-weight: 600;
    display: inline-block;
}

@media screen and (max-width: 767px) {
  .section-title {
    font-size: 18px;
    margin-bottom: 12px;
    padding-bottom: 6px;
  }

  .section-title .main {
    font-size: 18px;
  }
  .facility-section {
    scroll-margin-top: 120px;
  }
}

.section-content {
    min-height: 100px;
}
/* 既存の色を上書き */
.text-primary {
    color: #E95513 !important;
}
.marker {
    color: #E95513;
}

@media screen and (min-width: 768px) {
  #room .section-title .main {
    background-image: url('../img/section-title-main_bg_room.svg');
  }
  .room_pic {
    margin-bottom: clamp(32.3px, 4.211vw, 40px);
  }
  .room_text {
    font-size: clamp(14px, 1.4vw, 16px);
    line-height: 1.8;
    text-align: center;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .room_text .caution {
    margin-top: 1em;
  }
  .custom-table {
    width: 100%;
  }
  .custom-table td {
    padding: 10px;
  }
  .room_block {
    margin: clamp(30px, 5vw, 50px) auto;
    max-width: 90%;
  }
  .facility-images {
    margin-left: -20px;
    margin-right: -20px;
    display: flex;
    align-items: center;
  }
  .room_block .col-md-6 {
    padding-left: 20px;
    padding-right: 20px;
  }
  .room_block_item_text {
    margin-top: clamp(8.1px, 1.053vw, 10px);
    font-size: clamp(12.9px, 1.684vw, 16px);
  }
  .room_block_item_pic {
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  }
  .room_block_item_pic img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 4/3;
    display: block;
    min-height: 280px;
  }
}

/* 施設マップ */
.facility-map-container {
  padding: 20px 0 40px;
  margin-bottom: 40px;
}

.facility-map {
  text-align: center;
  max-width: 100%;
}

.facility-map img {
  max-width: 100%;
  height: auto;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  border-radius: 8px;
}

@media screen and (max-width: 767px) {
  .facility-map-container {
    padding: 10px 0 30px;
    margin-bottom: 30px;
  }

  .facility-map {
    padding: 0 15px;
  }

  .facility-map img {
    border-radius: 6px;
  }
}

@media screen and (min-width: 768px) {
  .facility-map-container {
    padding: 30px 0 50px;
  }

  .facility-map {
    width: 90%;
    margin: 0 auto;
  }

  .facility-map img {
    max-width: 100%;
    border-radius: 8px;
  }
}

/* 施設ナビゲーション */
.facility-nav-container {
  padding: 20px 0;
  margin-bottom: 10px;
}

.facility-nav {
  max-width: 100%;
}

.facility-nav-row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 15px;
}

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

.facility-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 1px solid #E95513;
  border-radius: 6px;
  padding: 15px 8px;
  margin: 0 6px 8px;
  text-align: center;
  color: #333;
  text-decoration: none;
  position: relative;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.facility-nav-item:hover {
  background-color: #fff8f4;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.facility-nav-text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  color: #333;
  margin-bottom: 5px;
}

.facility-nav-icon {
  color: #E95513;
  font-size: 10px;
  margin-top: 6px;
  position: static;
  display: block;
}

/* ページヘッダーのセパレーター調整 */
.page-heading .heading-text .separator {
  margin: 0 3px;
}

@media screen and (max-width: 767px) {
  .facility-nav-container {
    padding: 15px 0;
  }

  .facility-nav-row {
    margin-bottom: 0;
  }

  .facility-nav-item {
    width: calc(50% - 12px);
    padding: 12px 8px;
    margin: 0 4px 8px;
  }

  .facility-nav-text {
    font-size: 14px;
  }

  .facility-nav-icon {
    font-size: 9px;
    margin-top: 4px;
  }
}

@media screen and (min-width: 768px) {
  .facility-nav-container {
    padding: 30px 0 20px;
  }

  .facility-nav {
    width: 95%;
    margin: 0 auto;
  }

  .facility-nav-row {
    margin-bottom: 20px;
  }

  .facility-nav-item {
    width: 240px;
    padding: 16px 12px;
    margin: 0 8px 10px;
  }

  .facility-nav-row:nth-child(2) .facility-nav-item {
    width: 180px;
    padding: 16px 8px;
    margin: 0 6px 10px;
  }

  .facility-nav-text {
    font-size: 18px;
  }

  .facility-nav-row:nth-child(2) .facility-nav-text {
    font-size: 16px;
  }

  .facility-nav-icon {
    font-size: 12px;
    margin-top: 8px;
  }
}

.logo-img{
    width: 20%;
    height: auto;
}
