@charset "UTF-8";
/*reset*/
*:where(:not(html,iframe,canvas,img,svg,video,audio):not(svg *,symbol *)){all:unset;display:revert}*,*::before,*::after{box-sizing:border-box}a,button{cursor:revert}ol,ul,menu{list-style:none}img{display: block;}table{border-collapse:collapse}input,textarea{-webkit-user-select:auto}textarea{white-space:revert}meter{-webkit-appearance:revert;appearance:revert}:where(pre){all:revert}::placeholder{color:unset}::marker{content:initial}:where([hidden]){display:none}:where([contenteditable]:not([contenteditable="false"])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}:where([draggable="true"]){-webkit-user-drag:element}:where(dialog:modal){all:revert}
/*reset end*/
:root {--color-01: #251e1c;--color-02: #4d85b1;--color-03: #727171;--color-04: #88a5a7;}
body {font-size: 100%;font-family: "游明朝", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";line-height: 1.5;overflow-x: hidden;position: relative;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;font-feature-settings: "palt";}
img {width: 100%;height: auto;display: block;}
body,a {color: var(--color-01);}
a {display: block;text-decoration: none;}
a:focus, *:focus {outline:none;}
ul {list-style: none;}
h1,h2,h3,h4,div,p,ul,li,a,span,p,th,td {font-weight: normal;box-sizing: border-box;}
input:focus {outline: none;}
iframe {border: none;}
select {outline: none;}
.btn {transition: 0.4s;}
.pc {display: block !important;}
.sp {display: none !important;}
.gothic {font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;}
.mincho {font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";}
.play {font-family: 'Play', sans-serif;}
.cinzel {font-family: 'Cinzel', serif;}
.object-fit {object-fit: cover;font-family: 'object-fit: cover;'}
.observe {opacity: 0;}
.observe.on {opacity: 1;transition-delay: 0.2s;transition-duration: 0.7s;}
.caption01 {}
.mw1700 {width: 90%; max-width: 1700px; margin: auto;}
.mw1600 {width: 90%; max-width: 1600px; margin: auto;}
.mw1500 {width: 90%; max-width: 1500px; margin: auto;}
.mw1400 {width: 90%; max-width: 1400px; margin: auto;}
.mw1300 {width: 90%; max-width: 1300px; margin: auto;}
.mw1200 {width: 90%; max-width: 1200px; margin: auto;}
.mw1100 {width: 90%; max-width: 1100px; margin: auto;}
.mw1000 {width: 90%; max-width: 1000px; margin: auto;}
.mw900 {width: 90%; max-width:  900px; margin: auto;}
.mw800 {width: 90%; max-width:  800px; margin: auto;}
.mw700 {width: 90%; max-width:  700px; margin: auto;}
.mw600 {width: 90%; max-width:  600px; margin: auto;}
.mw500 {width: 90%; max-width:  500px; margin: auto;}
.loader-wrap {position: fixed;display: flex;align-items: center;justify-content: center;width: 100%;height: 100%;background: #fff;z-index: 10000;}
.loader,.loader:after {border-radius: 50%;width: 10em;height: 10em;}
.loader {margin: 60px auto;font-size: 10px;position: relative;text-indent: -9999em;border-top: 1.1em solid rgba(224,224,224, 0.2);border-right: 1.1em solid rgba(224,224,224, 0.2);border-bottom: 1.1em solid rgba(224,224,224, 0.2);border-left: 1.1em solid #e0e0e0;-webkit-transform: translateZ(0);-ms-transform: translateZ(0);transform: translateZ(0);-webkit-animation: load8 1.1s infinite linear;animation: load8 1.1s infinite linear;}
@-webkit-keyframes load8 {0% {-webkit-transform: rotate(0deg);transform: rotate(0deg);}100% {-webkit-transform: rotate(360deg);transform: rotate(360deg);}}
@keyframes load8 {0% {-webkit-transform: rotate(0deg);transform: rotate(0deg);}100% {-webkit-transform: rotate(360deg);transform: rotate(360deg);}}
.invert {filter: brightness(0) invert(1);}
.anchor {margin-top: -10em;padding-top: 10em;}
.cap01 {position: relative;}
.cap01 figcaption {color: #fff;font-size: 10px;line-height: 1;position: absolute;right: 1em;bottom: 1em;z-index: 1;}
.block-breadcrumb {padding: 1em 0;}
.block-breadcrumb ul li {display: inline-block;}
.block-breadcrumb ul li a {font-size: 75%;}
.block-breadcrumb ul li + li a::before {display: inline-block;content: '';width: 2em;height: 0.8em;background: url("../img/common/common_arrow.svg") no-repeat center/contain;filter: brightness(0);}
.block-breadcrumb ul li:last-child a {pointer-events: none;}
.btn-style-01 {color: #fff;font-size: 125%;text-align: center;line-height: 2.25;padding: 0 2em;background: var(--color-02);position: relative;}
.btn-style-01::after {display: block;content: '';width: 0.7em;height: 0.7em;background: url("../img/common/common_arrow.svg") no-repeat center/contain;position: absolute;top: 50%;right: 0.5em;z-index: 1;transform: translateY(-50%);}
.btn-style-02 {text-align: center;}
.btn-style-02 a {display: inline-block;font-size: 125%;letter-spacing: 0.2em;padding: 0.75em 0;width: 20em;background: #ebebec;transition: 0.4s;}
.btn-style-02 a span {display: inline-block;position: relative;}
.btn-style-02 a span::after {display: block;content: '';width: 1em;height: 0.5em;background: url("../img/common/common_arrow3.svg") no-repeat center/contain;position: absolute;left: 102%;bottom: 0.3em;z-index: 1;transition: 0.4s;}
.btn-style-02.fix01 a {color: #fff;background: #727171;}
.btn-style-02.fix01 a span::after {filter: brightness(0) invert(1);}
.billboard-style-02 {height: 25em;background: #f8f8f8;position: relative;}
.billboard-style-02::after {display: block;content: attr(data-cap);color: #fff;font-size: 10px;text-align: right;line-height: 1;position: absolute;right: 1em;bottom: 1em;z-index: 1;}
.billboard-style-02 h2 {color: #fff;font-size: 225%;position: absolute;top: 50%;left: 50%;z-index: 1;transform: translate(-50%,-50%);}
.block-note {padding: 3em 0;}
.block-note ul li {font-size: 10px;text-indent: -1em;padding-left: 1em;}
.block-note ul li + li {margin-top: 0.5em;}
sup {font-size: 10px;vertical-align: text-top;letter-spacing: 0;}
/* ------------------------------------------------------------------- */
body {overflow-x: hidden;}
header {background: #fff;position: fixed;top: 0;left: 0;right: 0;z-index: 9999;}
header .globalNavigation-01 {display: flex;flex-wrap: wrap;justify-content: flex-end;align-items: center;padding: 0.2em 1em 0.15em;background: var(--color-01);}
header .globalNavigation-01 h1 {color: #fff;font-size: 87.5%;}
header .globalNavigation-01 nav ul li {display: inline-block;margin-left: 1.25em;}
header .globalNavigation-01 nav ul li a {color: #fff;padding-right: 1em;position: relative;}
header .globalNavigation-01 nav ul li a::after {display: block;content: '';width: 0.6em;height: 0.6em;background: url("../img/common/common_arrow.svg") no-repeat center/contain;position: absolute;top: 50%;right: 0;z-index: 1;transform: translateY(-50%);}
header .globalNavigation-02 {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;padding: 0.75em 1em;}
header .globalNavigation-02 > a {max-width: 250px;}
header .globalNavigation-02 ul {display: flex;flex-wrap: wrap;justify-content: flex-end;}
header .globalNavigation-02 ul li:not(.request):not(.reserve) a {font-size: 81.25%;text-align: center;padding: 0.25em 1em;position: relative;}
header .globalNavigation-02 ul li:not(.request):not(.reserve) a::after {display: block;content: '';width: 0;height: 1px;background: linear-gradient(to right,transparent,var(--color-01),transparent);position: absolute;left: 50%;bottom: 0;z-index: 1;transform: translateX(-50%);transition: 0.4s;}
body#safety header .globalNavigation-02 ul li a[href="safety.html"]::after,
body#quality header .globalNavigation-02 ul li a[href="quality.html"]::after,
body#modelroom header .globalNavigation-02 ul li a[href="modelroom.html"]::after,
body#access header .globalNavigation-02 ul li a[href="access.html"]::after,
body#plan header .globalNavigation-02 ul li a[href="plan.html"]::after,
body#design header .globalNavigation-02 ul li a[href="design.html"]::after,
body#index header .globalNavigation-02 ul li a[href="index.html"]::after {width: calc(100% - 1em) !important;}
header .globalNavigation-02 ul li:not(.request):not(.reserve) a span {}
header .globalNavigation-02 ul li:not(.request):not(.reserve) a span::before {display: block;content: attr(data-en);font-size: 114%;line-height: 1;}
header .globalNavigation-02 ul li.request {margin-left: 1.5em;}
#billboard {margin-top: 6.2em;position: relative;}
#contentsWrap {}
footer .contact {text-align: center;padding: 5em 0;background: #f2f2f3}
footer .contact h2 {font-size: 137.5%;}
footer .contact h2 span {display: inline-block;letter-spacing: 0.3em;line-height: 1;padding: 0.5em 0;width: 9em;border-bottom: 1px solid var(--color-01);}
footer .contact-01 {padding: 0;}
footer .contact-01 .btn-style-02 {margin-top: 3em;}
footer .contact-02 {padding: 4em 0 0;}
footer .contact-02 address {margin: 3em 0 0;}
footer .contact-02 address p + p {font-size: 112.5%;line-height: 2;letter-spacing: 0.1em;}
footer .contact-02 address p:nth-child(1) {font-size: 162.5%;letter-spacing: 0.2em;}
footer .contact-02 address p:nth-child(2) {margin-top: 1em;}
footer .contact-02 address p:nth-child(3) {margin-top: 2em;}
footer .contact-02 address p:nth-child(4) {}
footer .contact-02 address p:nth-child(4) a {display: inline;}
footer .contact-03 {padding: 4em 0 0;margin-top: 4em;border-top: 1px solid var(--color-04);}
footer .contact-03 p:nth-child(1) {font-size: 112.5%;}
footer .contact-03 p:nth-child(2) a {display: inline-block;font-size: 375%;letter-spacing: 0.05em;padding-left: 1em;position: relative;}
footer .contact-03 p:nth-child(2) a::before {display: block;content: '';width: 0.9em;height: 0.7em;background: url("../img/common/common_free.svg") no-repeat center/contain;position: absolute;top: 50%;left: 0;z-index: 1;transform: translateY(-50%);}
footer .contact-03 p:nth-child(3) {line-height: 2;}
footer .contact-03 p:nth-child(3) small {display: block;font-size: 80%;}
footer .newEstate {padding: 4em 0;}
footer .newEstate h2 {text-align: center;letter-spacing: 0.2em;}
footer .newEstate h2 span::before {display: block;content: attr(data-en);font-size: 150%;margin-bottom: 0.15em;}
footer .newEstate .scroller {margin: 2em auto 4em;}
footer .newEstate ul {display: flex;flex-wrap: wrap;justify-content: space-between;gap: 1.5em;}
footer .newEstate ul li {flex: 1;background: #f5f5f5;}
footer .newEstate ul li a div {padding: 1em;}
footer .newEstate ul li a h3 {font-weight: bold;}
footer .newEstate ul li a p {font-size: 81.25%;}
footer .newEstate ul li a p:nth-of-type(1) {margin-top: 1em;}
footer .newEstate ul li a p:nth-of-type(2)::before {display: block;content: '';width: 100%;height: 1px;margin: 1.5em 0;background: #dfdfdf;}
footer .newEstate ul li a p:nth-of-type(2) span {display: inline-block;}
footer .globalNavigation-ft nav ul {display: flex;flex-wrap: wrap;justify-content: space-between;background: #d3d3d4;}
footer .globalNavigation-ft nav ul li {flex: 1;}
footer .globalNavigation-ft nav ul li a {color: #fff;font-size: 75%;text-align: center;padding: 0.75em 0;transition: 0.4s;}
footer .globalNavigation-ft nav ul li + li a {border-left: 1px solid #fff;}
footer .globalNavigation-ft nav ul li a span::before {display: block;content: attr(data-en);font-size: 140%;line-height: 1;margin-bottom: 0.1em;}
body#safety footer .globalNavigation-ft nav ul li a[href="safety.html"],
body#quality footer .globalNavigation-ft nav ul li a[href="quality.html"],
body#modelroom footer .globalNavigation-ft nav ul li a[href="modelroom.html"],
body#access footer .globalNavigation-ft nav ul li a[href="access.html"],
body#plan footer .globalNavigation-ft nav ul li a[href="plan.html"],
body#design footer .globalNavigation-ft nav ul li a[href="design.html"],
body#index footer .globalNavigation-ft nav ul li a[href="index.html"] {background: var(--color-03);}
footer .company {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;padding: 4em 0;}
footer .company ul {width: 62%;padding: 1em 1.5em;background: #f9f9f9;}
footer .company ul li {display: inline-block;}
footer .company ul li a {font-size: 87.5%;margin: 0.25em;}
footer .company ul li a span {padding-left: 0.8em;position: relative;}
footer .company ul li a span::before {display: block;content: '';width: 0.7em;height: 0.7em;background: url("../img/common/common_arrow2.svg") no-repeat center/contain;position: absolute;top: 50%;left: 0;z-index: 1;transform: translateY(-50%);}
footer .company > a {width: 34%;}
footer .copy {color: #fff;font-size: 87.5%;line-height: 2;text-align: center;letter-spacing: 0.05em;padding: 3em 1em;background: var(--color-03);}
footer .copy span {display: inline-block;}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
}
@media only screen and (max-width: 1400px) {
  .btn-style-01 {font-size: 100%;line-height: 2;padding: 0 1.5em;}
  header .globalNavigation-02 ul li:not(.request):not(.reserve) a {font-size: 75%;padding: 0.15em 0.5em;}
  footer .globalNavigation-ft nav ul li a {font-size: 67.5%;padding: 0.5em 0;}
  footer .globalNavigation-ft nav ul li a span::before {font-size: 125%;}
}
@media only screen and (max-width: 1000px) {
  .block-breadcrumb {display: none;}
  header .globalNavigation-01 {padding: 0;background: #fff;position: fixed;left: 0;right: 0;bottom: 0;z-index: 9998;}
  header .globalNavigation-01 h1 {display: none;}
  header .globalNavigation-01 nav {width: 100%;box-shadow: 0px -5px 10px -5px rgb(0 0 0 / 50%);}
  header .globalNavigation-01 nav ul {display: flex;flex-direction: row-reverse;}
  header .globalNavigation-01 nav ul li {flex: 1;text-align: center;margin: 0;}
  header .globalNavigation-01 nav ul li.sp {display: block !important;}
  header .globalNavigation-01 nav ul li a {font-size: 12px;padding: 1em 0 0.75em;}
  header .globalNavigation-01 nav ul li:not(.request):not(.reserve) a {color: var(--color-01);border-left: 1px solid #bbb;}
  header .globalNavigation-01 nav ul li a::after {display: none;}
  header .globalNavigation-01 nav ul li a span::before {display: block;content: '';width: 1.6em;height: 1.6em;margin: 0 auto 0.5em;background-repeat: no-repeat;background-size: contain;background-position: center;}
  header .globalNavigation-01 nav ul li.tel a span::before {background-image: url("../img/common/common_tel.svg");}
  header .globalNavigation-01 nav ul li.map a span::before {background-image: url("../img/common/common_map.svg");}
  header .globalNavigation-01 nav ul li.outline a span::before {background-image: url("../img/common/common_outline.svg");}
  header .globalNavigation-01 nav ul li.request a span::before {background-image: url("../img/common/common_request.svg");}
  header .globalNavigation-01 nav ul li.reserve a span::before {background-image: url("../img/common/common_reserve.svg");}
  header .globalNavigation-01 nav ul li.request a span::before,
  header .globalNavigation-01 nav ul li.reserve a span::before {filter: brightness(0) invert(1);}
  header .globalNavigation-01 nav ul li.request a {background: var(--color-02);}
  header .globalNavigation-01 nav ul li.reserve a {background: #d90000;}
  header .globalNavigation-02 nav {background: #1d303f;position: fixed;top: 0;left: 0;right: 0;bottom: 0;z-index: 9997;transform: translateY(-100%);transition: 0.6s;}
  header .globalNavigation-02 nav ul {justify-content: space-between;width: 70%;position: absolute;top: 45%;left: 50%;z-index: 1;transform: translate(-50%,-50%);}
  header .globalNavigation-02 nav ul li {width: 48%;margin-bottom: 4%;}
  header .globalNavigation-02 nav ul li a {color: #fff;}
  header .globalNavigation-02 ul li:not(.request):not(.reserve) a {font-size: 12px;}  
  header .globalNavigation-02 ul li:not(.request):not(.reserve) a::after {display: none;}
  header .globalNavigation-02 ul li:not(.request):not(.reserve) a span::before {font-size: 150%;letter-spacing: 0.1em;line-height: 1.25;margin-bottom: 0.5em;}
  header .globalNavigation-02 nav ul li.reserve,
  header .globalNavigation-02 nav ul li.request {margin-left: 0;}
  header .globalNavigation-02 nav ul li.request {margin-right: 52%;}
  header .globalNavigation-02 nav ul li.reserve a,
  header .globalNavigation-02 nav ul li.request a {line-height: 3;}
  #btnNavView {width: 4em;height: 100%;background: var(--color-02);position: absolute;top: 0;right: 0;z-index: 9999;}
  #btnNavView button {color: #fff;text-align: center;height: 100%;}
  #btnNavView button span:nth-child(1) {display: block;width: 50%;height: 1px;margin: 0 auto;background: #fff;position: absolute;top: 37%;left: 0;right: 0;}
  #btnNavView button span:nth-child(1)::before,
  #btnNavView button span:nth-child(1)::after {display: block;content: '';width: 100%;height: 1px;background: #fff;position: absolute;transition: 0.2s;}
  #btnNavView button span:nth-child(1)::before {top: 0.5em;}
  #btnNavView button span:nth-child(1)::after {bottom: 0.5em;}
  #btnNavView button span:nth-child(2) {display: block;}
  #btnNavView button span:nth-child(3) {display: none;}
  #btnNavView button span + span {font-size: 10px;position: absolute;left: 0;right: 0;bottom: 0.7em;}
  header.open .globalNavigation-02 nav {transform: translateY(0);}
  header.open #btnNavView button span:nth-child(1) {background: transparent;}
  header.open #btnNavView button span:nth-child(1)::before,
  header.open #btnNavView button span:nth-child(1)::after {top: 0;bottom: 0;}
  header.open #btnNavView button span:nth-child(1)::before {transform: rotate(35deg);}
  header.open #btnNavView button span:nth-child(1)::after {transform: rotate(-35deg);}
  header.open #btnNavView button span:nth-child(2) {display: none;}
  header.open #btnNavView button span:nth-child(3) {display: block;}
  #billboard {margin-top: 3.7em;}
  footer .globalNavigation-ft {display: none;}
  footer .copy {margin-bottom: 4.5em;}
}
@media only screen and (min-width: 1000px) {
  #btnNavView {display: none;}
}
@media only screen and (min-width: 768px) {
  a[href*="tel:"] {pointer-events: none;cursor: default;text-decoration: none;}
  .btn:hover {opacity: 0.7;transition: 0.4s;}
  .btn-style-02 a:hover {color: #fff !important;background: var(--color-01) !important;}
  .btn-style-02 a:hover span::after {filter: brightness(0) invert(1) !important;}
  footer .globalNavigation-ft nav ul li a:hover {background: var(--color-03);}
}
@media only screen and (max-width: 767px) {
  .pc {display: none !important;}
  .sp {display: block !important;}
  br.sp {line-height: 0;}
  .scroller {overflow-x: scroll;position: relative;}
  .scroller:before {content: "";display: block;transition: opacity cubic-bezier(0.445, 0.05, 0.55, 0.95) 500ms;position: absolute;top: 0;left: 0;right: 0;bottom: 0;background: url("../img/common/common_swipe.png")no-repeat 50% 50%;background-size: 35% auto;z-index: 2;}
  .scroller:after {content: "";display: block;transition: opacity cubic-bezier(0.445, 0.05, 0.55, 0.95) 500ms;position: absolute;top: 0;left: 0;bottom: 0;background-color: rgba(0, 0, 0, 0.65);width: 210%;padding: 3%;z-index: 1;}
  .scroller.on:before,
  .scroller.on:after {opacity: 0 !important;pointer-events: none;}
  .scroller img {width: 200%;opacity: 0.5;transition: opacity cubic-bezier(0.445, 0.05, 0.55, 0.95) 100ms;}
  .scroller.on img {opacity: 1;}
  .btn-style-02 a {display: block;font-size: 112.5%;letter-spacing: 0.1em;padding: 1em 0;margin: 0 auto;width: 80%;}
  .billboard-style-02 {height: 10em;}
  .billboard-style-02 h2 {font-size: 175%;}
  .block-note {padding: 2em 0;}
  body {font-size: 4vw;}
  header .globalNavigation-02 > a {max-width: 200px;}
  header .globalNavigation-02 {padding: 1em;}
  header .globalNavigation-02 nav ul {width: 90%;top: 50%;}
  header .globalNavigation-02 nav ul li {margin-bottom: 8%;}
  header .globalNavigation-02 ul li:not(.request):not(.reserve) a span::before {font-size: 137.5%;}
  #btnNavView {width: 3.75em;}
  #contentsWrap {}
  footer .contact {padding: 3em 0;}  
  footer .contact-01 .btn-style-02 {margin-top: 2em;}
  footer .contact-02 {padding: 3em 0 0;}
  footer .contact-02 address {margin: 2em 0 0;}
  footer .contact-02 address p + p {font-size: 100%;line-height: 1.5;}
  footer .contact-02 address p:nth-child(1) {font-size: 150%;}
  footer .contact-02 address p:nth-child(2) {margin-top: 1em;}
  footer .contact-02 address p:nth-child(3) {margin-top: 1em;}
  footer .contact-03 {padding: 3em 0 0;margin-top: 3em;}
  footer .contact-03 p:nth-child(2) a {font-size: 250%;}
  footer .newEstate {padding: 2em 0;overflow: hidden;}
  footer .newEstate .scroller {margin-bottom: 2em;}
  footer .newEstate .scroller::after {opacity: 0.6;}
  footer .newEstate .scroller::after,
  footer .newEstate ul {width: 1000px;}
  footer .newEstate ul li a img {width: 100%;}
  footer .company {padding: 2em 0;}
  footer .company ul {width: 100%;padding: 1em;}
  footer .company ul li {display: block;}
  footer .company ul li a span {padding-left: 1em;}
  footer .company > a {width: 80%;margin: 1em auto 0;}  
  footer .copy {font-size: 12px;letter-spacing: 0;padding: 2em 0.5em;margin-bottom: 5.4em;}
}
@media (orientation: landscape) and (max-width: 767px){}