@charset "UTF-8";

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#05090d;color:#fff;font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;}
body.menu-open{overflow:hidden;}
img{display:block;width:100%;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}

.header{position:absolute;top:0;left:0;z-index:100;width:100%;border-top:1px solid rgba(255,255,255,.7);border-left:1px solid rgba(255,255,255,.7);border-right:1px solid rgba(255,255,255,.7);}
.header-inner{display:flex;align-items:center;justify-content:flex-end;width:92%;max-width:1480px;margin:0 auto;padding:2% 0;}
.header-logo{display:none;color:#fff;font-size:16px;font-weight:600;letter-spacing:.12em;}
.global-nav-list{display:flex;align-items:center;gap:35px;}
.global-nav-list a{position:relative;display:block;color:#e9e5dc;font-size:15px;font-weight:600;line-height:1;letter-spacing:.02em;transition:.3s;}
.global-nav-list a:not(.global-nav-contact)::after{content:"";position:absolute;right:0;bottom:-8px;left:0;width:0;height:1px;margin:0 auto;background:#cbb077;transition:.3s;}
.global-nav-list a:not(.global-nav-contact):hover::after{width:100%;}
.global-nav-contact{min-width:215px;padding:7% 12%;background:#c3a66a;color:#fff!important;text-align:center;transition:.3s;}
.global-nav-contact:hover{background:#ad8e51;}
.hamburger{display:none;position:relative;width:42px;height:42px;padding:0;border:0;background:transparent;cursor:pointer;}
.hamburger span{position:absolute;left:7px;width:28px;height:1px;background:#fff;transition:.3s;}
.hamburger span:nth-child(1){top:12px;}
.hamburger span:nth-child(2){top:21px;}
.hamburger span:nth-child(3){top:30px;}
.hamburger.active span:nth-child(1){top:21px;transform:rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){top:21px;transform:rotate(-45deg);}

.fv{position:relative;display:flex;align-items:center;width:100%;min-height:100vh;background:url("../img/fv.png") no-repeat center center/cover;overflow:hidden;}
.fv-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,8,14,.8) 0%,rgba(3,8,14,.42) 43%,rgba(3,8,14,.05) 72%);}
.fv-inner{position:relative;z-index:2;width:90%;max-width:1480px;margin:0 auto;padding:13% 0 6%;}
.fv-content{width:48%;}
.fv-title{margin:0 0 5%;font-size:clamp(34px,3.4vw,64px);font-weight:500;line-height:1.55;letter-spacing:.3em;text-shadow:0 3px 10px rgba(0,0,0,.45);}
.fv-text{margin:0 0 7%;color:#ddd8cf;font-size:clamp(12px,1.05vw,17px);font-weight:500;line-height:2;letter-spacing:.35em;text-shadow:0 2px 8px rgba(0,0,0,.5);}
.fv-button{display:flex;align-items:center;justify-content:space-between;width:420px;max-width:100%;padding:4% 7%;background:rgba(198,169,108,.56);color:#fff;font-size:15px;font-weight:600;letter-spacing:.2em;transition:.3s;}
.fv-button:hover{background:#ad8e51;}
.fv-button-arrow{font-family:Arial,sans-serif;font-size:20px;transition:.3s;}
.fv-button:hover .fv-button-arrow{transform:translateX(6px);}

@media screen and (max-width:1024px){
.header-inner{width:90%;}
.global-nav-list{gap:22px;}
.global-nav-list a{font-size:13px;}
.global-nav-contact{min-width:160px;}
.fv-content{width:55%;}
}

@media screen and (max-width:768px){
.header{position:fixed;background:rgba(4,9,14,.75);backdrop-filter:blur(8px);}
.header-inner{justify-content:space-between;width:88%;padding:4% 0;}
.header-logo{display:block;font-size:13px;}
.hamburger{display:block;z-index:102;}
.global-nav{position:fixed;top:0;right:-100%;z-index:101;width:82%;height:100vh;background:rgba(6,12,19,.98);transition:.4s;}
.global-nav.active{right:0;}
.global-nav-list{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;height:100%;gap:0;padding:20% 12%;}
.global-nav-list li{width:100%;border-bottom:1px solid rgba(255,255,255,.15);}
.global-nav-list a{width:100%;padding:7% 0;font-size:15px;letter-spacing:.12em;}
.global-nav-list a:not(.global-nav-contact)::after{display:none;}
.global-nav-contact{min-width:0;margin:12% 0 0;padding:7% 5%!important;text-align:center;}
.fv{align-items:flex-end;min-height:100svh;background-position:68% center;}
.fv-overlay{background:linear-gradient(180deg,rgba(2,7,12,.12) 20%,rgba(2,7,12,.86) 78%,rgba(2,7,12,.96) 100%);}
.fv-inner{width:88%;padding:35% 0 12%;}
.fv-content{width:100%;}
.fv-title{margin:0 0 5%;font-size:clamp(28px,8vw,40px);line-height:1.55;letter-spacing:.1em;}
.fv-text{margin:0 0 8%;font-size:11px;line-height:1.9;letter-spacing:.08em;}
.fv-text br{display:none;}
.fv-button{width:100%;padding:5% 7%;font-size:13px;}
}

@media screen and (max-width:480px){
.header-inner{padding:5% 0;}
.fv{background-position:64% center;}
.fv-inner{padding:45% 0 14%;}
.fv-title{font-size:27px;}
.fv-text{font-size:10px;}
}
.gallery{padding:4% 0;background:#050505;overflow:hidden;}
.gallery-heading{text-align:center;}
.gallery-heading h2{margin:0;color:#fff;font-family:"Times New Roman",serif;font-size:15px;font-weight:400;letter-spacing:.25em;}
.gallery-heading span{display:block;width:24px;height:1px;margin:1% auto 3%;background:#c0a66b;}
.gallery-slider{width:100%;overflow:hidden;}
.gallery-track{display:flex;width:max-content;animation:gallery-scroll 45s linear infinite;}
.gallery-item{flex-shrink:0;width:25vw;height:230px;border-right:1px solid rgba(255,255,255,.25);}
.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;}
.gallery-more{position:relative;display:flex;align-items:center;justify-content:center;width:200px;height:58px;margin:3% auto 0;border:1px solid #6e5d37;color:#c6aa6c;font-family:"Times New Roman",serif;font-size:14px;font-weight:500;letter-spacing:.12em;white-space:nowrap;text-decoration:none;box-sizing:border-box;}
.gallery-more i{position:absolute;top:50%;right:-20px;width:37px;height:1px;background:#6e5d37;transform:translateY(-50%);transition:right .7s ease,width .7s ease;}
.gallery-more:hover i{right:-34px;width:51px;}
.gallery-more span{position:relative;z-index:2;}
@keyframes gallery-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

@media screen and (max-width:768px){
.gallery{padding:12% 0;}
.gallery-heading h2{font-size:13px;}
.gallery-heading span{margin:2% auto 7%;}
.gallery-item{width:70vw;height:200px;}
.gallery-more{width:140px;margin:8% auto 0;padding:4% 5%;}
}

@media screen and (max-width:480px){
.gallery-item{width:78vw;height:180px;}
}

.plan{padding:7% 0;background:#151515;color:#fff;}
.plan-inner{width:91%;max-width:1200px;margin:0 auto;}
.plan-heading{text-align:center;}
.plan-heading h2{margin:0;color:#fff;font-family:"Times New Roman","Noto Serif JP",serif;font-size:22px;font-weight:400;letter-spacing:.2em;}
.plan-heading span{display:block;width:34px;height:1px;margin:1% auto 5%;background:#9b8351;}
.plan-list{display:grid;grid-template-columns:repeat(3,1fr);gap:3%;}
.plan-card{position:relative;padding:3.5% 5% 4%;background:#393939;border-radius:2px;box-sizing:border-box;overflow:visible;}
.plan-card-title{margin:0 0 2%;font-family:"Noto Serif JP",serif;font-size:17px;font-weight:500;letter-spacing:.08em;text-align:center;}
.plan-card-lead{margin:0;color:#ddd;font-size:10px;line-height:1.8;letter-spacing:.04em;text-align:center;}
.plan-price{display:flex;align-items:center;justify-content:center;gap:2%;margin:6% 0 5%;padding:0 0 5%;border-bottom:1px solid #8b774d;font-family:"Times New Roman","Noto Serif JP",serif;line-height:1;}
.plan-price span{font-size:20px;}
.plan-price strong{font-size:40px;font-weight:400;letter-spacing:.03em;}
.plan-price small{font-size:14px;}
.plan-detail{margin:0;padding:0 0 0 8%;list-style:none;}
.plan-detail li{position:relative;margin:0 0 3%;font-size:13px;line-height:1.6;letter-spacing:.03em;}
.plan-detail li::before{content:"・";position:absolute;top:0;left:-7%;}
.plan-button{position:relative;display:flex;align-items:center;justify-content:center;width:82%;margin:8% auto 0;padding:5% 4%;border:1px solid #8b774d;color:#BBA471;font-size:13px;letter-spacing:.06em;text-decoration:none;box-sizing:border-box;}
.plan-button i{position:absolute;top:50%;right:-10%;width:24%;height:1px;background:#8b774d;transform:translateY(-50%);transition:right .4s ease,width .4s ease;}
.plan-button:hover i{right:-16%;width:30%;}
.plan-ribbon{position:absolute;top:-32px;left:-66px;width:180px;height:auto;z-index:2;object-fit:contain;pointer-events:none;}
@media screen and (max-width:768px){
.plan{padding:12% 0;}
.plan-inner{width:88%;}
.plan-heading span{margin:2% auto 8%;}
.plan-list{grid-template-columns:1fr;gap:4%;}
.plan-card{padding:8% 7%;}
.plan-card-title{font-size:18px;}
.plan-card-lead{font-size:11px;}
.plan-price strong{font-size:36px;}
.plan-detail li{font-size:12px;}
.plan-button{width:76%;padding:4% 5%;}
}

@media screen and (max-width:480px){
.plan{padding:16% 0;}
.plan-list{gap:3%;}
.plan-card{padding:11% 8%;}
.plan-ribbon{width:52px;}
.plan-button{width:82%;padding:5%;}
}
.flow{padding:6% 0;background:#090909;color:#fff;}
.flow-inner{width:88%;max-width:1200px;margin:0 auto;}
.flow-heading{text-align:center;}
.flow-heading h2{margin:0;color:#fff;font-family:"Times New Roman","Noto Serif JP",serif;font-size:22px;font-weight:400;letter-spacing:.2em;}
.flow-heading span{display:block;width:34px;height:1px;margin:1% auto 5%;background:#8b774d;}
.flow-list{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:2%;}
.flow-item{text-align:center;}
.flow-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin:0 auto 5%;}
.flow-icon img{display:block;width:100%;height:100%;object-fit:contain;}
.flow-item h3{margin:0 0 6%;font-family:"Noto Serif JP",serif;font-size:16px;font-weight:500;letter-spacing:.2em;}
.flow-item p{margin:0;color:#ddd;font-size:12px;line-height:1.8;letter-spacing:.1em;}
.flow-arrow{position:relative;display:block;width:28px;height:28px;}
.flow-arrow::before{content:"";position:absolute;top:50%;left:50%;width:10px;height:10px;border-top:1px solid #9d8350;border-right:1px solid #9d8350;transform:translate(-70%,-50%) rotate(45deg);}

@media screen and (max-width:768px){
.flow{padding:14% 0;}
.flow-inner{width:88%;}
.flow-heading span{margin:2% auto 10%;}
.flow-list{display:block;}
.flow-item{padding:0 0 10%;}
.flow-icon{width:60px;height:60px;margin:0 auto 4%;}
.flow-item h3{margin:0 0 3%;font-size:15px;}
.flow-item p{font-size:11px;}
.flow-arrow{width:24px;height:24px;margin:0 auto 10%;transform:rotate(90deg);}
}

.voice{padding:6% 0;background:#151515;color:#fff;overflow:hidden;}
.voice-inner{width:100%;margin:0 auto;}
.voice-heading{text-align:center;}
.voice-heading h2{margin:0;color:#fff;font-family:"Times New Roman","Noto Serif JP",serif;font-size:22px;font-weight:400;letter-spacing:.2em;}
.voice-heading span{display:block;width:34px;height:1px;margin:1% auto 5%;background:#8b774d;}
.voice-slider{width:100%;overflow:hidden;}
.voice-track{display:flex;width:max-content;animation:voice-scroll 55s linear infinite;}
.voice-card{display:grid;grid-template-columns:58% 42%;flex-shrink:0;width:520px;background:#151515;}
.voice-image{width:100%;height:210px;overflow:hidden;}
.voice-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.voice-card:hover .voice-image img{transform:scale(1.08);}
.voice-content{display:flex;flex-direction:column;justify-content:center;padding:7% 8%;box-sizing:border-box;}
.voice-content h3{margin:0 0 8%;font-family:"Noto Serif JP",serif;font-size:14px;font-weight:500;line-height:1.7;letter-spacing:.1em;}
.voice-content p{margin:0 0 12%;color:#ddd;font-size:12px;line-height:1.8;letter-spacing:.1em;}
.voice-content small{color:#bbb;font-size:11px;line-height:1.6;}
.voice-rate{color: #9b8351;letter-spacing: .2em;margin-bottom: 2%;}
@keyframes voice-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

@media screen and (max-width:768px){
.voice{padding:14% 0;}
.voice-heading span{margin:2% auto 9%;}
.voice-card{width:420px;}
.voice-image{height:180px;}
.voice-content{padding:6%;}
.voice-content h3{font-size:12px;}
.voice-content p{font-size:9px;}
}

@media screen and (max-width:480px){
.voice-card{grid-template-columns:1fr;width:78vw;}
.voice-image{height:190px;}
.voice-content{padding:7%;}
.voice-content h3{margin:0 0 5%;font-size:13px;}
.voice-content p{margin:0 0 7%;font-size:10px;}
}

.faq{padding:7% 0;background:#090909;color:#fff;}
.faq-inner{width:72%;max-width:820px;margin:0 auto;}
.faq-heading{text-align:center;}
.faq-heading h2{margin:0;color:#fff;font-family:"Times New Roman","Noto Serif JP",serif;font-size:22px;font-weight:400;letter-spacing:.2em;}
.faq-heading span{display:block;width:34px;height:1px;margin:1% auto 6%;background:#8b774d;}
.faq-list{display:flex;flex-direction:column;gap:10px;}
.faq-item{width:100%;}
.faq-question-button{display:grid;grid-template-columns:30px 1fr 30px;align-items:center;width:100%;padding:2.5% 3%;border:1px solid #5f5f5f;background:transparent;color:#fff;font-family:"Noto Serif JP",serif;text-align:left;cursor:pointer;transition:.3s;}
.faq-question-button:hover{background:#111;}
.faq-question-mark{font-family:"Times New Roman",serif;font-size:13px;}
.faq-question{font-size:14px;letter-spacing:.3em;}
.faq-plus{position:relative;width:14px;height:14px;justify-self:end;}
.faq-plus::before{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background:#aaa;transform:translateY(-50%);transition:.3s;}
.faq-plus::after{content:"";position:absolute;top:0;left:50%;width:1px;height:100%;background:#aaa;transform:translateX(-50%);transition:.3s;}
.faq-answer{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .4s ease;}
.faq-answer-inner{min-height:0;}
.faq-answer-inner p{margin:0;padding:3% 5%;border:1px solid #5f5f5f;border-top:none;background:#151515;color:#ddd;font-size:14px;line-height:2;letter-spacing:.2em;}
.faq-item.is-open .faq-answer{grid-template-rows:1fr;}
.faq-item.is-open .faq-plus::after{opacity:0;}
.faq-item.is-open .faq-question-button{border-color:#8b774d;}
.faq-note{margin:5% 0 0;color:#aaa;font-size:12px;letter-spacing:.2em;text-align:center;}

@media screen and (max-width:768px){
.faq{padding:14% 0;}
.faq-inner{width:88%;}
.faq-heading span{margin:2% auto 10%;}
.faq-question-button{grid-template-columns:24px 1fr 24px;padding:5% 4%;}
.faq-question{font-size:11px;line-height:1.7;}
.faq-answer-inner p{padding:5% 6%;font-size:11px;}
.faq-note{margin:8% 0 0;font-size:9px;line-height:1.8;}
}

.contact{position:relative;padding:6% 0;background:url("../img/contact.png") no-repeat center/cover;color:#fff;overflow:hidden;}
.contact-overlay{position:absolute;inset:0;}
.contact-inner{position:relative;z-index:2;width:90%;max-width:700px;margin:0 auto;}
.contact-heading{text-align:center;}
.contact-heading h2{margin:0;color:#fff;font-family:"Times New Roman","Noto Serif JP",serif;font-size:22px;font-weight:400;letter-spacing:.2em;}
.contact-heading span{display:block;width:34px;height:1px;margin:1% auto 3%;background:#8b774d;}
.contact-heading p{margin:0 0 5%;color:#ddd;font-size:13px;line-height:1.8;letter-spacing:.06em;}
.contact-form{width:100%;}
.contact-field{position:relative;margin:0 0 2%;}
.contact-field label{position:absolute;top:50%;left:4%;z-index:2;color:#fff;font-size:11px;letter-spacing:.05em;transform:translateY(-50%);pointer-events:none;}
.contact-field input,.contact-field select,.contact-field textarea{display:block;width:100%;border:1px solid rgba(255,255,255,.75);border-radius:0;background:rgba(5,5,5,.8);color:#fff;font-family:"Noto Serif JP",serif;font-size:14px;outline:none;box-sizing:border-box;transition:.3s;}
.contact-field input,.contact-field select{height:46px;padding:0 4%;}
.contact-field textarea{height:120px;padding:6% 4% 3%;resize:vertical;}
.contact-field textarea+label{top:13%;transform:none;}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{background:rgba(5,5,5,.95);}
.contact-field input:valid,.contact-field select:valid,.contact-field textarea:valid{padding-top:3%;}
.contact-field input:focus+label,.contact-field input:valid+label,.contact-field select:focus+label,.contact-field select:valid+label{top:24%;font-size:8px;color:#b99a5e;}
.contact-select select{appearance:none;cursor:pointer;}
.contact-select-icon{position:absolute;top:50%;right:4%;width:10px;height:10px;pointer-events:none;transform:translateY(-50%);}
.contact-select-icon::before{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background:#fff;transform:translateY(-50%);}
.contact-select-icon::after{content:"";position:absolute;top:0;left:50%;width:1px;height:100%;background:#fff;transform:translateX(-50%);}
.contact-submit{display:block;min-width:185px;margin:5% auto 0;padding:2.5% 5%;border:1px solid #a68b55;background:#aa8c55;color:#fff;font-family:"Noto Serif JP",serif;font-size:14px;letter-spacing:.18em;cursor:pointer;transition:.3s;}
.contact-submit:hover{background:transparent;color:#c8aa6b;}
.contact-field label{position:absolute;top:50%;left:4%;z-index:2;color:#fff;font-size:14px;letter-spacing:.1em;transform:translateY(-50%);pointer-events:none;}
@media screen and (max-width:768px){
.contact{padding:14% 0;}
.contact-inner{width:88%;}
.contact-heading span{margin:2% auto 5%;}
.contact-heading p{margin:0 0 8%;font-size:9px;}
.contact-field{margin:0 0 3%;}
.contact-field input,.contact-field select{height:48px;}
.contact-field textarea{height:140px;padding:8% 4% 4%;}
.contact-submit{width:42%;margin:8% auto 0;padding:4% 5%;}
}