@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}a {display: block; text-decoration: none;}ul {list-style: none;}input:focus {outline: none;}select {outline: none;}figure {margin: 0;}
/*reset end*/
:root {--color-01: #6c6335;--color-02: #3f352d;}
body {font-family: "Jost", "Yu Gothic", "YuGothic", "Helvetica Neue", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Arial, sans-serif;color: #3f352d;font-size: 100%;font-weight: normal;font-feature-settings: "palt";line-height: 1.5;letter-spacing: 0.06em;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;overflow-x: hidden;position: relative;background: url("../img/common/bg_01.webp");transition: 0.4s;}
body,
a {color: #3f352d;}
body #ContentsWrap {opacity: 0;transition: 0.4s linear 0.4s;}
body.loaded #ContentsWrap {opacity: 1;}
img {display: block;width: 100%;height: auto;}
a,p {font-size: 106.25%;}
.btn {transition: 0.4s;}
.pc {display: block;}
.sp {display: none;}
.gothic {}
.invert {filter: brightness(0) invert(1);}
.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;}
.cp01 {color: #fff;font-size: 62.5%;line-height: 1.15;text-align: center;padding: 0.3em 0.5em;background: rgba(0,0,0,0.5);position: absolute;bottom: 0;z-index: 1000;}
.cp01-Left {left: 0;}
.cp01-Right {right: 0;}
.cp01.fix01 {color: #333;background: rgba(255,255,255,0.75);}
.cp01.fix02 {text-align: right;background: transparent;opacity: 0.9;}
.cp01.fix03 {color: #333;background: transparent;}
.appear.observe {opacity: 0;-webkit-backface-visibility: hidden;backface-visibility: hidden;will-change: transform;}
.appear.staging {opacity: 1;transition: opacity ease-out 0.3s 0s;}
.movetop {opacity: 0;transform: translateY(3em);transition: ease-out 0.35s 0s;}
.movebottom {opacity: 0;transform: translateY(-3em);transition: ease-out 0.35s 0s;}
.moveleft {opacity: 0;transform: translateX(3em);transition: ease-out 0.6s 0s;}
.moveright {opacity: 0;transform: translateX(-3em);transition: ease-out 0.6s 0s;}
.movetop.staging,
.movebottom.staging,
.moveleft.staging,
.moveright.staging {opacity: 1;transform: translate(0);}
header {position: fixed;top: 0;left: 0;right: 0;z-index: 9999;}
header .container {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;padding: 0.75em 2.5em;background: #fff;box-sizing: border-box;}
header .container h1 {width: 35%;max-width: 270px;}
header .container > div {display: flex;flex-wrap: wrap;justify-content: flex-end;align-items: center;text-align: right;width: 65%;}
header .container > div a:nth-child(1) {color: var(--color-01);font-size: 162.5%;font-weight: bold;margin-right: 1.3em;position: relative;}
.btn-style-01 {color: #fff;font-size: 106.25%;font-weight: bold;letter-spacing: 0.06em;text-align: center;padding: 0.5em 1em 0.5em 1.15em;border-radius: 2em;background: var(--color-01);border: 2px solid var(--color-01);transition: 0.4s;}
.btn-style-01 span::before {display: inline-block;content: '';width: 1.1em;height: 0.8em;margin-right: 0.5em;background: url("../img/common/icon_mail.svg") no-repeat center/contain;filter: brightness(0) invert(1);}
.btn-style-02 {color: var(--color-01);font-size: 106.25%;font-weight: bold;text-align: center;padding: 0.5em 1em 0.5em 1.15em;max-width: 11.5em;border-radius: 2em;background: #fff;border: 2px solid #fff;transition: 0.4s;}
.btn-style-02 span::before {display: inline-block;content: '';width: 1.1em;height: 0.8em;margin-right: 0.5em;background: url("../img/common/icon_mail.svg") no-repeat center/contain;}
.ttl-style-01 {font-size: 175%;font-weight: bold;text-align: center;}
.ttl-style-01 span::after {display: block;content: '';width: 2.8em;height: 5px;margin: 0.5em auto 0;background: var(--color-01);}
footer {background: var(--color-01);}
footer .container:nth-child(1) {padding: 4em 0 2.75em;}
footer .container:nth-child(1) > div {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: flex-end;}
footer .container:nth-child(1) > div > div:nth-child(1) {width: 50%;}
footer .container:nth-child(1) > div > div:nth-child(1) > a:nth-of-type(1) {width: 90%;max-width: 280px;}
footer .container:nth-child(1) > div > div:nth-child(1) > a:nth-of-type(1)  img {filter: brightness(0) invert(1);}
footer .container:nth-child(1) > div > div:nth-child(1) address {font-style: normal;margin: 1em 0 1.5em;border-bottom: 1px solid #fff;}
footer .container:nth-child(1) > div > div:nth-child(1) address > a:nth-of-type(1),
footer .container:nth-child(1) > div > div:nth-child(1) address > span {color: #fff;}
footer .container:nth-child(1) > div > div:nth-child(1) address > span {font-size: 112.5%;}
footer .container:nth-child(1) > div > div:nth-child(1) address > span:nth-child(1) {margin-right: 1em;}
footer .container:nth-child(1) > div > div:nth-child(1) address > a:nth-of-type(1) {font-size: 200%;font-weight: bold;margin-top: 0.5em;}
footer .container:nth-child(1) > div > div:nth-child(1) address > a:nth-of-type(1) small {font-size: 80%;}
footer .container:nth-child(1) > div > div:nth-child(2) {width: 14em;margin-bottom: 3em;}
footer .container:nth-child(1) > div > div:nth-child(2) nav ul li + li {margin-top: 2em;}
footer .container:nth-child(1) > div > div:nth-child(2) nav ul li a {position: relative;}
footer .container:nth-child(1) > div > div:nth-child(2) nav ul li a::after {display: block;content: '';width: 1em;height: 1em;background: url("../img/common/icon_link.svg") no-repeat center/contain;filter: brightness(0) invert(1);position: absolute;left: calc(100% + 0.5em);bottom: 0;z-index: 1;}
footer .container:nth-child(1) > div > div:nth-child(2) nav ul li a img {filter: brightness(0) invert(1);}
footer .container:nth-child(2) {padding: 1em 0;}
footer .container:nth-child(2) p {color: #fff;font-size: 75%;letter-spacing: 0.1em;text-align: center;}

@media only screen and (min-width: 768px) and (max-width: 1100px) {
  body {font-size: 1.4vw;}
}
@media only screen and (max-width: 1400px) {
  header .container {padding: 0.75em 1.5em 0.75em 2.5em;}
  footer .container:nth-child(1) > div > div:nth-child(1) > a:nth-of-type(1) {width: 70%;}
  footer .container:nth-child(1) > div > div:nth-child(1) address {margin-top: 2em;}
  footer .container:nth-child(1) > div > div:nth-child(1) address > span {font-size: 100%;}
  footer .container:nth-child(1) > div > div:nth-child(1) address > a:nth-of-type(1) {font-size: 200%;}
}
@media only screen and (min-width: 768px) {
  a[href*="tel:"] {pointer-events: none;cursor: default;text-decoration: none;}
  .btn:hover {opacity: 0.5; transition: 0.4s;}
  .btn-style-01:hover {color: var(--color-01);background: #fff;}
  .btn-style-01:hover span::before {filter: invert(0);}
  .btn-style-02:hover {color: #fff;background: var(--color-01);}
  .btn-style-02:hover span::before {filter: brightness(0) invert(1);}
}
@media only screen and (max-width: 767px) {
	.pc { display: none;}
	.sp { display: block;}
  br.sp { line-height: 0; }
	body {font-size: 4vw;}
  header {position: static;}
  header .container {padding: 0;background: transparent;}
  header .container h1 a {width: 100%;padding: 0.8em 0;background: #fff;box-sizing: border-box;max-width: 100%;position: fixed;top: 0;left: 0;z-index: 9999;transition: 0.2s;}
  header .container h1 a img {width: 55%;margin: 0 auto;}
  header .container > div {display: flex;flex-wrap: wrap;flex-direction: row-reverse;width: calc(30vw + 1px);position: fixed;left: 0;bottom: 0;z-index: 9999;}
  header .container > div a {color: #fff;padding: 0;background: var(--color-01);width: 15vw;height: 15vw;margin: 0 !important;border: none !important;border-radius: 0 !important;position: relative;}
  header .container > div a span {display: none;}
  header .container > div a::before {display: block;content: '';position: absolute;top: 50%;left: 50%;z-index: 1;transform: translate(-50%,-50%);filter: brightness(0) invert(1);}
  header .container > div a:nth-child(1) {border-left: 1px solid #fff !important;}
  header .container > div a:nth-child(1)::before {width: 1.1em;height: 1.1em;background: url("../img/common/icon_tel.svg") no-repeat center/contain;}
  header .container > div a:nth-child(2)::before {width: 1.5em;height: 1.5em;background: url("../img/common/icon_mail.svg") no-repeat center/contain;}
  .ttl-style-01 {font-size: 150%;}
  footer .container:nth-child(1) {padding: 2.5em 0 1.75em;}
  footer .container:nth-child(1) > div > div:nth-child(1) {width: 100%;}
  footer .container:nth-child(1) > div > div:nth-child(1) > a:nth-of-type(1) {margin: 0 auto;padding-bottom: 0.5em;}
  footer .container:nth-child(1) > div > div:nth-child(1) address {text-align: center;}
  footer .container:nth-child(1) > div > div:nth-child(1) address > a:nth-of-type(1) {display: inline-block;}
  footer .container:nth-child(1) > div > div:nth-child(1) > a:nth-of-type(2) {margin: 0 auto;}
  footer .container:nth-child(1) > div > div:nth-child(2) {width: 100%;margin: 4em 0 0;}
  footer .container:nth-child(1) > div > div:nth-child(2) nav ul li + li {margin-top: 1em !important;}
  footer .container:nth-child(1) > div > div:nth-child(2) nav ul li a {width: 50%;margin: 0 auto;}
  footer .container:nth-child(2) {padding: 1em 0 calc(1em + 15vw);}
  footer .container:nth-child(2) > div {flex-direction: column-reverse;}
  footer .container:nth-child(2) > div p {font-size: 62.5%;letter-spacing: 0;margin-top: 1em;}
}
@media (orientation: landscape) and (max-width: 767px){}