@charset "UTF-8";
/* =====
 * LAYOUT :: ALL DEVICE
=================================================================== */
#Billboard {position: relative;}
#Billboard h2 {font-size: 200%;font-weight: normal;font-family: var(--serif);color: #fff;letter-spacing: 0.3em;line-height: 1;text-align: center;}
#Billboard h2 + p {margin-top: 2em;font-size: 112.5%;font-family: var(--serif);color: #fff;letter-spacing: 0.3em;line-height: 1;text-align: center;}
#Billboard .container {position: relative;z-index: 2;width: calc(100% - 4em);max-width: 1260px;padding: 5em 2em 3em;margin-left: auto;margin-right: auto;box-sizing: border-box;}
#Billboard::after {content: "";position: absolute;top: 0;left: 0;right: 0;bottom: 0;background: transparent url("../img/common/bg_05.webp") no-repeat 50% 0% / cover;}

#Main .block-map-01 {position: relative;}
#Main .block-map-01 .map {background: radial-gradient(circle, rgba(0,40,90,0.01) 0%, rgba(0,40,90,0.05) 90%);}
#Main .block-map-01 .pathmove {position: absolute;top: 0;left: 50%;transform: translateY(-50%);}
#Main .block-map-01 .address {position: relative;margin-bottom: 2em;font-size: 100%;text-align: center;letter-spacing: 0.2em;}
#Main .block-map-01 .address::before {content: "";position: absolute;top: 1em;left: 0;right: 0;height: 1px;background-color: #555;}
#Main .block-map-01 .address strong {position: relative;background: dimgrey url("../img/common/bg_05.webp") no-repeat 67% 0 / 680% auto;background-blend-mode: overlay; border: 1px solid #203b4a;border-radius: 1em;box-sizing: border-box;width: 16em;margin: 0 auto 1em;display: block;font-family: var(--serif);font-weight: normal;text-align: center;line-height: 2;color: #fff;}
#Main .block-map-01 .address a {position: relative;display: inline-block;border: 1px solid rgb(255 255 255 / 50%);border-radius: 2em;margin-left: 1em;padding: 0.25em 2.5em 0.25em 1.5em;text-decoration: none;font-family: var(--serif);font-size: 87.5%;}
#Main .block-map-01 .address a::before {content: "";position: absolute;top: 50%;right: 1em;width: 0.75em;height: 0.75em;transform: translateY(-50%);background: transparent url("../img/common/icon_external.svg") no-repeat 50% / contain;filter: invert(100%) sepia(3%) saturate(13%) hue-rotate(81deg) brightness(106%) contrast(106%);}
#Main .block-map-01 .container {padding-bottom: 0;}
.cursor #Main .block-map-01 .address a {transition: background-color ease 200ms, color ease 200ms;}
.cursor #Main .block-map-01 .address a:hover {background-color: #fff;color: #454545;}
.cursor #Main .block-map-01 .address a:hover::before {filter: none;}

#Main .block-map-02 h3 {margin-bottom: 0.5em;text-align: left;line-height: 1.25;}
#Main .block-map-02 p {font-family: var(--serif);font-size: 100%;letter-spacing: 0.2em;}
#Main .block-map-02 dl {overflow: hidden;font-family: var(--serif);font-size: 100%;letter-spacing: 0.2em;}
#Main .block-map-02 dl dt {position: relative;margin-top: 1.5em;}
#Main .block-map-02 dl dt::after {content: "";position: absolute;top: 50%;margin-left: 1em;width: 100%;height: 1px;background-color: rgb(255 255 255 / 20%);}
#Main .block-map-02 dl dd {font-size: 112.5%;}
#Main .block-map-02 dl dd a {position: relative;display: inline-block;border: 1px solid rgb(255 255 255 / 50%);border-radius: 2em;margin-left: 1em;padding: 0.25em 2.5em 0.25em 1.5em;text-decoration: none;font-family: var(--serif);font-size: 87.5%;}
#Main .block-map-02 dl dd a::before {content: "";position: absolute;top: 50%;right: 1em;width: 0.75em;height: 0.75em;transform: translateY(-50%);background: transparent url("../img/common/icon_external.svg") no-repeat 50% / contain;filter: invert(100%) sepia(3%) saturate(13%) hue-rotate(81deg) brightness(106%) contrast(106%);}
.cursor #Main .block-map-02 dl dd a {transition: background-color ease 200ms, color ease 200ms;}
.cursor #Main .block-map-02 dl dd a:hover {background-color: #fff;color: #454545;}
.cursor #Main .block-map-02 dl dd a:hover::before {filter: none;}
#Main .block-map-02 .column > div:nth-child(1) ul {margin-top: 1em;display: flex;justify-content: space-between;gap: 1em;}
#Main .block-map-02 .column > div:nth-child(1) ul li {flex: 1;margin: 0;}
#Main .block-map-02 .column > div:nth-child(2) ul {display: flex;flex-wrap: wrap;gap: 1em;width: 100%;margin: 0;}
#Main .block-map-02 .column > div:nth-child(2) ul li {flex: 1;margin: 0;}
#Main .block-map-02 .column > div:nth-child(2) ul li a {background-color: #ddd;height: 4em;min-width: 10em;padding-right: 1em;position: relative;font-family: "Cinzel", "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ 明朝", serif;font-size: 125%;color: #fff;text-align: center;line-height: 4;}
#Main .block-map-02 .column > div:nth-child(2) ul li.request a {background: var(--grad-06);}
#Main .block-map-02 .column > div:nth-child(2) ul li.request a::after {content: "〉";line-height: 1;position: absolute;top: 50%;right: 0.5em;margin-top: -0.5em;transform: scaleY(0.5);}
#Main .block-map-02 .column > div:nth-child(2) ul li.reserve a {background: var(--grad-07);}
#Main .block-map-02 .column > div:nth-child(2) ul li.reserve a::after {content: "〉";line-height: 1;position: absolute;top: 50%;right: 0.5em;margin-top: -0.5em;transform: scaleY(0.5);}
#Main .block-map-02 .tel a {display: block;font-size: 280%;line-height: 1;text-decoration: none;}
/* =====
* LAYOUT :: PC
=================================================================== */
@media only screen and (min-width:769px) {
  #Main .block-map-01 .gallery figure {margin-top: 3em;}

  #Main .block-map-02 .column {display: flex;justify-content: space-between;align-items: center;}
  #Main .block-map-02 .column > div:nth-child(1) {width: 36em;}
  #Main .block-map-02 .column > div:nth-child(2) {width: calc(100% - 38em);}
}
/* =====
* LAYOUT :: TAB
=================================================================== */
@media only screen and (min-width: 769px) and (max-width: 1160px) {
  #Main .block-map-02 dl dt {margin-top: 1.25em;}
  #Main .block-map-02 dl dd a {display: block;margin: 0.5em 0 0;max-width: 6.5em;}
  #Main .block-map-02 .column > div:nth-child(2) ul {flex-wrap: wrap;gap: 1em;}
}
/* =====
* LAYOUT :: SP
=================================================================== */
@media only screen and (max-width:768px) {
  #Billboard h2 + p {margin: 1em 0;}
  #Billboard .container {width: 100%;padding: 5em 0 2em;}
  #Billboard::after {background-size: 420% auto;}

  #Main .block-map-01 .container {position: relative;}
  #Main .block-map-01 .address a {margin: 1em 0 0;}

  #Main .block-map-02 h3 {margin: 1.5em 0 0;}
  #Main .block-map-02 dl dt {margin: 0;}
  #Main .block-map-02 dl dd a {margin: 1em 0 0;}
  #Main .block-map-02 .column > div:nth-child(2) ul li a {font-size: 100%;}
}
@media only screen and (max-width:768px) and (orientation: landscape) {}
@media only screen and (max-width: 640px) {}
@media only screen and (max-width: 480px) {}