
:root {--color-01: #161616;--color-02: #f6f3eb;--color-03: #9a948a;--color-04: #000000;--color-05: #c6b29c;}
/* =====
 * Loading
=================================================================== */
.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);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);}}
/* =====
 * Reset
=================================================================== */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, nav, section, article, aside, figure, figcaption, hgroup, footer, header, audio, video, canvas {margin:0; padding:0; border:0; outline:0; font-weight:500; font-style:inherit; font-family:inherit; vertical-align:baseline;}
:focus {outline:0;}
body {line-height:1;}
ol, ul {list-style: none;}
table {border-collapse: separate; border-spacing:0;}
caption, th, td {text-align: left; font-weight: normal;}
blockquote:before, blockquote:after, q:before, q:after {content:'';}
blockquote, q {quotes:'' '';}
h2 {font-size: 100%;}
/* ================================================================= */
html,body {width: 100vw;overflow-x: hidden;}
body,a {font-family: 'EB Garamond', YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";color: #000;font-size: 100%;font-weight: 400;font-style: normal;text-decoration: none;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
html,body{overflow-x: hidden;}
h2,p,a {color: var(--color-02);}
img {width:100%; height: auto; display: block;-webkit-backface-visibility: hidden;}
ul {list-style: none;}
.pc {display: block;}
.sp {display: none;}
.mw1600 {width: 90%; max-width: 1600px; margin: auto;}
.mw1520 {width: 90%; max-width: 1520px; 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;}
.mw750   {width: 90%; max-width: 750px; 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;}
.yumin {font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";}
.caption01 {color: #979797;font-size: 62.5%;font-family: 'Montserrat', sans-serif;line-height: 1.5;padding: 0.2em 0.5em;position: absolute;top: 100%;z-index: 100;}
.caption01.left {left: 0;}
.caption01.right {right: 0;}
.btn {-webkit-transition: 0.4s;transition: 0.4s;}
body {background: var(--color-01);}
header {}
header h1 {padding: 0.6em 0 0 0.75em;position: fixed;top: 0;left: 0;z-index: 9999;opacity: 0;-webkit-transition: 0.4s;transition: 0.4s;}
body.scrolled header h1 {opacity: 0.7;-webkit-transition: 0.4s;transition: 0.4s;}
header h1 img {width: auto;height: 2.5em;margin: 0 auto;}
header nav {display: flex;justify-content: space-between;height: 4.5em;position: fixed;top: 0;right: 0;z-index: 9999;pointer-events: none;opacity: 0;-webkit-transition: 0.4s;transition: 0.4s;}
body.scrolled header nav {pointer-events: auto;opacity: 1;-webkit-transition: 0.4s;transition: 0.4s;}
header nav.cv p,
header nav.cv a {display: flex;align-items: center;justify-content: center;}
header nav.cv p {display: none;color: var(--color-02);font-size: 87.5%;letter-spacing: 0.05em;width: 8.7em;background: linear-gradient(120deg,#bda892,#a1886d);}
header nav.cv a {background: var(--color-02);-webkit-transition: 0.4s;transition: 0.4s;}
header nav.cv a:nth-of-type(1) {color: var(--color-02);font-size: 112.5%;letter-spacing: 0;width: 10.3em;background: linear-gradient(120deg, #bda892, #a1886d);}
header nav.cv a:nth-of-type(1) img {display: inline-block;width: auto;height: 0.85em;margin-right: 0.25em;}
header nav.cv a:nth-of-type(2) {width: 12.5em;margin-left: 1px;}
header nav.cv a:nth-of-type(2) img {display: inline-block;width: auto;height: 1.2em;}
header nav.cv a:nth-of-type(2) span {color: #8b745b;font-size: 137.5%;margin-left: 0.25em;}
.btn-style-01 {display: block;font-size: 112.5%;text-align: center;line-height: 3;margin: 0 auto;width: 90%;max-width: 17em;-webkit-transition: 0.4s;transition: 0.4s;}
.btn-style-01.fix01 {border: 1px solid var(--color-02);}
.ttl-style-01 {font-size: 500%;}
.ttl-style-01.right {text-align: right;}
.ttl-style-02 {color: var(--color-05);font-size: 150%;}
.ttl-style-02::before {display: block;content: attr(data-title) "";font-size: 300%;letter-spacing: 0;margin-bottom: 0.25em;}
.ttl-style-02.right {text-align: right;}
footer #pagetopBtn {width: 2em;height: 2em;border-top: 1px solid #fff;border-right: 1px solid #fff;-webkit-transform: rotate(-45deg);transform: rotate(-45deg);position: fixed;left: 2.2em;bottom: 2em;z-index: 9998;opacity: 0;-webkit-transition: 0.4s;transition: 0.4s;}
footer #pagetopBtn::after {display: block;content: '';width: 200%;height: 200%;position: absolute;top: 30%;left: 70%;-webkit-transform: translate(-50%,-50%) rotate(45deg);transform: translate(-50%,-50%) rotate(45deg);z-index: 9997;}
body.scrolled footer #pagetopBtn {opacity: 0.6;-webkit-transition: 0.4s;transition: 0.4s;}
footer .inner01 {padding-left: 50%;background: #6c5c4b;position: relative;}
footer .inner01::before {display: block;content: '';width: 50%;height: 100%;background: url("../img/common/common_img01_pc.webp")no-repeat center / cover;position: absolute;top: 0;left: 0;}
footer .inner01 h2 {font-size: 312.5%;position: absolute;top: 50%;left: 25%;-webkit-transform: translate(-50%,-50%);transform: translate(-50%,-50%);}
footer .inner01 a,
footer .inner01 p {font-size: 100%;}
footer .inner01 > a span,
footer .inner01 div.tel {display: block;margin: 0 auto;max-width: 445px;}
footer .inner01 div.tel {padding: 4.5em 0;position: relative;}
footer .inner01 div.tel > div {display: flex;flex-wrap: wrap;justify-content: flex-start;align-items: baseline;}
footer .inner01 div.tel a {display: inline-block;font-size: 225%;letter-spacing: 0.05em;margin-right: 0.5em;}
footer .inner01 div.tel a small {font-size: 50%;letter-spacing: 0;margin-right: 0.5em;}
footer .inner01 div.tel a span {font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"}
footer .inner01 div.tel a::before {display: block;content: '';width: 1.5em;height: 1px;margin: 1em 0;background: var(--color-02);}
footer .inner01 div.tel > p:nth-of-type(1) {line-height: 1.5;position: relative;}
footer .inner01 div.tel > p:nth-of-type(1)::before {display: block;content: '';width: 6em;height: 6em;background: url("../img/common/logo01.svg")no-repeat center/contain;position: absolute;top: 0;right: calc(100% + 2em);}
footer .inner01 div.tel > p:nth-of-type(1) strong {display: block;font-size: 133.33%;margin-bottom: 0.1em;}
footer .inner01 div.tel div p {font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";margin-top: 1em;}
footer .inner01 > a {display: block;font-size: 125%;white-space: nowrap;height: 100%;padding: 4.5em 0;background: #161515;-webkit-transition: 0.5s;transition: 0.5s;}
footer .inner01 > p:last-child {color: #7a766f;font-size: 75%;text-align: center;line-height: 3;background: #2b2926;}
@media only screen and (max-width: 1800px) {
  footer .inner01 {}
  footer .inner01::before {background-position: right bottom;}
  footer .inner01 h2 {}
  footer .inner01 div.tel {padding: 2.5em 0;}
  footer .inner01 div.tel > p:nth-of-type(1)::before {margin-bottom: 1em;position: static;}
}
@media only screen and (max-width: 1500px) {
  footer .inner01 a,
  footer .inner01 p {font-size: 100%;}
  footer .inner01 div.tel > p:nth-of-type(1)::before {margin-bottom: 0.5em;}
  footer .inner01 > a {padding: 2.5em 0;}
  footer .inner01 div.tel a::before {margin: 0.5em 0;} 
}
@media only screen and (max-width: 1100px) {
  footer .inner01 {text-align: center;padding-left: 0;}
  footer .inner01::before {width: 100%;height: 20em;background: url(../img/common/common_img01_sp.webp) no-repeat center / cover;position: static;}
  footer .inner01 h2 {top: 3.25em;left: 50%;}
  footer .inner01 div.tel > div {display: block;}
  footer .inner01 div.tel a {margin-right: 0;}
  footer .inner01 div.tel a::before {margin: 0.5em auto;}
  footer .inner01 div.tel > p:nth-of-type(1)::before {margin: 0 auto 1em;}
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {}
@media only screen and (min-width: 768px) {
  a[href^="tel:"] {pointer-events: none;}
  .btn:hover {opacity: 0.6;-webkit-transition: 0.4s;transition: 0.4s;}
  header nav.cv a:nth-of-type(2):hover {color: #fff;background: #a48b6f;-webkit-transition: 0.4s;transition: 0.4s;}
  header nav.cv a:nth-of-type(2):hover img {-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);-webkit-transition: 0.4s;transition: 0.4s;}
  .btn-style-01:hover {opacity: 0.7;-webkit-transition: 0.4s;transition: 0.4s;}
  .btn-style-01.fix01:hover {color: var(--color-04) !important;background: var(--color-02) !important;opacity: 1;-webkit-transition: 0.4s;transition: 0.4s;}
  .btn-style-01.fix01:hover span::before {-webkit-filter: brightness(0) !important;filter: brightness(0) !important;-webkit-transition: 0.4s;transition: 0.4s;}
  footer .inner01 > a:hover {color: var(--color-01);background: var(--color-02);-webkit-transition: 0.8s;transition: 0.8s;}
  footer .inner01 > a:hover::before {-webkit-filter: brightness(0);filter: brightness(0);-webkit-transition: 0.8s;transition: 0.8s;}
}
@media only screen and (max-width: 767px) {
  .loader {font-size: 7px;}
	.pc   {display: none;}
	.sp   {display: block;}
	br.sp {line-height: 0;}
  header h1 {padding: 0.4em 0 0 0.4em;}
  header h1 img {height: 1.5em;}
  header nav {height: 56px !important;top: auto;bottom: 0;}
  header nav.cv p {display: none; width: 8em;}
  header nav.cv a {color: var(--color-02) !important;background: #a1886d;}
  header nav.cv a img {-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);opacity: 0.8}
  header nav.cv a:nth-of-type(1) {width: calc(100vw - 56px);}
  header nav.cv a:nth-of-type(1) span {}
  header nav.cv a:nth-of-type(1) img {margin-right: 0;}
  header nav.cv a:nth-of-type(2) {width: 56px !important;background: var(--color-02);}
  header nav.cv a:nth-of-type(2) img {-webkit-filter: none;filter: none;}
  header nav.cv a:nth-of-type(2) span {display: none;}
  .ttl-style-01 {font-size: 300% !important;}
  .ttl-style-02 {font-size: 87.5%;letter-spacing: -0.05em;}
  .ttl-style-02::before {font-size: 250%;}
  footer #pagetopBtn {width: 1.75em;height: 1.75em;left: 1.5em;bottom: 4em;}
  footer {padding-bottom: 56px;}
  footer .inner01 {padding-left: 0;}
  footer .inner01::before {width: 100%;height: 10em;}
  footer .inner01 h2 {font-size: 175%;top: 2.8em;}
  footer .inner01 div.tel {padding: 2em 0;}
  footer .inner01 a,
  footer .inner01 p {font-size: 87.5%;}  
  footer .inner01 > a {font-size: 100%;white-space: nowrap;line-height: 1.5;padding: 1.5em 0;}
  footer .inner01 div.tel > p:nth-of-type(1) strong {font-size: 150%;letter-spacing: 0.1em;margin-bottom: 0.5em;}
}
@media (orientation: landscape) and (max-width: 767px){
  body {font-size: 2vw;}
}
