@charset "UTF-8";

/*
Theme Name:WSC8
Theme URI:http://wsc.studiobrain.net/
Version:1.3.1
Author:StudioBRAIN
Author URI:http://www.studiobrain.net/
License:GNU General Public License v2.0
License URI:http://www.gnu.org/licenses/gpl-2.0.html
*/

/*-----------------------------------------------------------------------------
 WordPress CMS Theme. Based on work by WSC Project:http://wsc.studiobrain.net/
---------------------------------------------------------------------------- */

@media screen and (min-width:1000px){
* { padding: 0; margin: 0; box-sizing: border-box; }
a {color: #000; text-decoration: none;}
body { margin: 0; padding: 0; height: 100vh; color: #000; background: #010101; font-family: "Noto Sans JP", sans-serif; overflow: hidden; font-size: 1vw;}
.sponly {display: none;}
section { width: 100%; height: 100vw; top: 0; left: 0; position: fixed;visibility: hidden;}
section .outer, section .inner { width: 100%; height: 100%; overflow-y: hidden;}
section .bg {display: block; width: 100%; height: 100%; top: 0; left: 0;}
section .bg .maincont {width: 100%; height: 100%;opacity: 0;}

.dotnavi {position: fixed; top: 0; bottom: 0; margin: auto; z-index: 20; width: 2px; height: fit-content; right: 25px; opacity: 1; transition: all 1s;}
.dotnavi.on {opacity: 1; transition: all 1s;}
.dotnavi p { display: block; width: 2px; height: 1px; overflow: hidden; margin-bottom: 30px; background:#fff; transition: all 1s;}
.dotnavi p.current {background:#fff; transition: all 1s; height: 270px;}

#inner {width: 100vw; height: auto; aspect-ratio:1900/1191; z-index: 2; position: fixed; top: 5vh; left: 0; overflow: hidden;}

.bgimg{ position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 1;}
.bgimg.on{opacity:1;pointer-events:auto; transition: all .3s;}

.bgimg div {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.bgimg div img {width: 100%; height: 100%; object-fit: cover; opacity: .8;}
.bgimg div.show {z-index: 2; opacity: 1; transition: all 1s; filter: blur(0);}
.bgimg div.hide {z-index: 1; opacity: 0; transition: all 1s; filter: blur(10px);}

header {width: 16vw; height: 100%; position: fixed; z-index: 4; top: 0; left: 0; background: rgba(255,255,255,.7); padding: 2vw; box-sizing: border-box; color: #000;}
header .spnavi {display: none;}
header .navbtn {display: none;}
header .logo {display: block; margin-bottom: 2vw;}
header .logo svg {width: 100%; height: auto; display: block;}
header .logo svg path {fill:#000;}
header .cat {margin-bottom: 1vw;}
header .cat .ttl { margin-bottom: 0; }
header .gmenu a {position: relative; display: flex; justify-content: flex-start; align-items: center; color: rgba(0,0,0,.7); text-decoration: none; transition: all .5s;}
header .cat .ttl a,header .last .ttl a {color: #000;}
header .gmenu a::before{display: block; content: ""; width: 12px; height: 12px; margin-top: 2px; margin-left: -8px; padding-right: 3px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2200 2200'%3E%3Cg id='Background'%3E%3Ccircle cx='1100' cy='1100' r='1034.51' fill='none'/%3E%3C/g%3E%3Cg id='Main'%3E%3Cg%3E%3Cpath d='m275 1214.98h1200.93l-428.27 428.27-9.23 9.33 167.02 167.02 710.32-710.32 9.23-9.33-710.21-710.32-9.34-9.23-167.02 166.92 431.35 431.44h-1194.78z' fill='%23000'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: contain; opacity: 0; transition: all .5s;}
header .gmenu a:hover {color: rgba(0,0,0,1);}
header .gmenu a:hover:before{display: block; content: ""; width: 12px; height: 12px; margin-top: 2px; margin-left: 8px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2200 2200'%3E%3Cg id='Background'%3E%3Ccircle cx='1100' cy='1100' r='1034.51' fill='none'/%3E%3C/g%3E%3Cg id='Main'%3E%3Cg%3E%3Cpath d='m275 1214.98h1200.93l-428.27 428.27-9.23 9.33 167.02 167.02 710.32-710.32 9.23-9.33-710.21-710.32-9.34-9.23-167.02 166.92 431.35 431.44h-1194.78z' fill='%23000'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: contain; opacity: 1; transition: all .5s;}
header a:last-child {margin-bottom: 0; }
header .sub {display: block; opacity: 0; visibility: hidden; height: 1px; overflow: hidden;font-size: 80%; transition: all .5s;}
header .sub a {margin-bottom: .6vw;}
header .cat.open .sub{display: block; margin-top: 1vw; opacity: 1; visibility: visible; height: fit-content; transition: all .5s;}
header .last .ttl {margin-bottom: 1vw;}
header .cat .ttl a .txt,header .last .ttl a .txt{position:relative;display:inline-block;line-height:1.4;min-height:1.4em;}
header .cat .ttl a .txt .en,header .last .ttl a .txt .en,header .cat .ttl a .txt .jp,header .last .ttl a .txt .jp{display:block;transition:opacity .35s ease,transform .35s ease;}
header .cat .ttl a .txt .en,header .last .ttl a .txt .en{opacity:1;transform:translateY(0);}
header .cat .ttl a .txt .jp,header .last .ttl a .txt .jp{position:absolute;left:0;top:0;opacity:0;transform:translateY(6px);white-space:nowrap;}
header .cat .ttl a:hover .txt .en,header .last .ttl a:hover .txt .en{opacity:0;transform:translateY(-6px);}
header .cat .ttl a:hover .txt .jp,header .last .ttl a:hover .txt .jp{opacity:1;transform:translateY(0);}

.cp	{position: fixed; width: fit-content; height: fit-content; text-align: right; bottom: 1vw; right: 3vw; color: #fff; font-size: 80%; line-height: 1.5; z-index: 3;-webkit-filter: drop-shadow(0px 0px 8px rgba(0,0,0,.5)); filter: drop-shadow(0px 0px 8px rgba(0,0,0,.5));}

.txtbox{ position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 3;-webkit-filter: drop-shadow(0px 0px 8px rgba(0,0,0,.7)); filter: drop-shadow(0px 0px 8px rgba(0,0,0,.7));}
.txtbox div.show {z-index: 2; opacity: 1; transition: all 1s; filter: blur(0);}
.txtbox div.hide {z-index: 1; opacity: 0; transition: all 1s; filter: blur(10px);}

.txtbox div {display: flex; justify-content: center; align-items: flex-start; flex-direction: column;}
.txtbox div .eyebrush {font-size: 400%; margin-bottom: .6vw; font-weight: 900; line-height: 1;}
.txtbox div h2 { font-size: 175%; font-weight: 500; margin-bottom: 2vw; letter-spacing: .1em;}
.txtbox div .copy { font-size: 135%; line-height: 1.6; font-weight: 500; letter-spacing: .05em;}

.txtbox .first { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; flex-direction: column; padding-left: 30px; box-sizing: border-box;-webkit-filter: drop-shadow(0px 0px 8px rgba(0,0,0,.9)); filter: drop-shadow(0px 0px 8px rgba(0,0,0,.9));}
.txtbox .first .logo {display: block; width:  20vw; height: auto;}
.txtbox .first .logo path {fill:#fff;}
.txtbox .first p {font-weight: bold; color: #fff; font-size: 21px; letter-spacing: .1em}
.txtbox .second {position: absolute; top: 0; bottom: 0; margin: auto; left: 24vw; width: 74vw; height: 100vw; color: #fff;}
.txtbox .third {position: absolute; top: 0; bottom: 0; margin: auto; right: 7vw; width: 41vw; height: 100vw; color: #fff;}
.txtbox .fourth {position: absolute; top: 0; bottom: 0; margin: auto; left: 24vw; width: 44vw; height: 100vw; color: #fff;}
.txtbox .fifth {position: absolute; top: 0; bottom: 0; margin: auto; right: 5vw; width: 44vw; height: 100vw; color: #fff;}

header,.cp,.txtbox,.bgimg{opacity:0;}
header.on,.cp.on,.txtbox.on{opacity:1;pointer-events:auto; transition: all 1.5s;}

.loading{position:fixed;inset:0;z-index:9999;pointer-events:all;--bgOpacity:1;}
.loading::before{content:"";position:absolute;inset:0;background:#242424;opacity:var(--bgOpacity);-webkit-mask-image:linear-gradient(#fff 0 0),url(images/loading-mask.svg);-webkit-mask-repeat:no-repeat,no-repeat;-webkit-mask-position:center,center;-webkit-mask-size:100% 100%,var(--logoSize);-webkit-mask-composite:xor;mask-image:linear-gradient(#fff 0 0),url(images/loading-mask.svg);mask-repeat:no-repeat,no-repeat;mask-position:center,center;mask-size:100% 100%,var(--logoSize);mask-composite:exclude;will-change:mask-size,-webkit-mask-size,opacity;}

.loading__logo{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:scale(1);}
.loading__logo svg{width:100%;height:auto;display:block;}
.loading::before{z-index:0;}          /* マスク背景レイヤー */
.loading__logo{z-index:1;}            /* ロゴ（必要なら） */
.loading__txt{position:absolute;width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; color:#fff;font-weight: bold; font-size: 180%; letter-spacing: .2em;z-index:2;opacity:0;filter:blur(12px);}

body.subpages {background: #f1f1f1; height: auto; overflow: scroll;}
body.subpages header,.subpages .cp{opacity:1;pointer-events:auto; transition: all 1.5s;}
body.subpages main {width: 72vw; text-align: left; margin: 0 6vw 0 22vw; box-sizing: border-box; color: #000;}
body.subpages section {visibility: visible; width: 100%; height: auto;position: relative; margin: 0 auto 0; opacity: 0; transition: all .5s;}
body.subpages section.show {opacity: 1;}
body.subpages section .wow {opacity: 0;}

.subpages .cp,body.property .cp	{position: fixed; width: fit-content; height: fit-content; text-align: right; bottom: 1vw; right: 3vw; color: #000; font-size: 80%; line-height: 1.5; z-index: 3;-webkit-filter: drop-shadow(0px 0px 8px rgba(0,0,0,0)); filter: drop-shadow(0px 0px 8px rgba(0,0,0,0));}

.pagettl { text-align: left; padding: 3vw 0 0;}
.pagettl h1 {font-size: 380%; font-weight: 700; line-height: 1; margin-bottom: .5vw;}
.pagettl .sub {font-size: 140%;margin-bottom: 2.5vw; font-weight: 700;}
.pagettl__lead{padding:3vw 0 0;}
.pagettl__lead p{line-height:2;color:rgba(0,0,0,.72);}

.contactpage{}
.contactpage__formWrap{padding-bottom:5vw;}

.contactform{counter-reset: section;}
.contactform__block{counter-increment: section;}
.contactform__block h2 span::before{content: counter(section) ". "; margin-right: .4em;}

.contactform{width:100%; counter-reset: section;}
.contactform__block{padding:9vw 0 0; counter-increment: section;}
.contactform__block h2{position: relative; display: flex; justify-content: flex-start; align-items: center;font-size:140%;font-weight:500;margin-bottom:2.5vw;letter-spacing:.06em;}
.contactform__block h2 span::before{content: counter(section) ". ";}
.contactform__block h2:after{display: block; content:""; flex:1; height: 1px; width: auto; border-bottom: dotted 1px rgba(0,0,0,.3); margin-left: .6em;}
.contactform__block h2 span { background: #f1f1f1; font-weight: 500;}
.contactform__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5vw 2vw;}
.contactform__block h3{position: relative; display: flex; justify-content: flex-start; align-items: center;font-size:120%;font-weight:500;margin-bottom:1.5vw;letter-spacing:.06em;}

.field{display:flex;flex-direction:column;gap:.5vw;}
.field--full{grid-column:1/-1;}
.field label{display:flex;align-items:center;gap:1vw;color:rgba(0,0,0,.75);}
.field label span{font-size:78%;padding:.18vw .45vw;border:1px solid rgba(0,0,0,.25);}
.field input,.field select,.field textarea{width:100%;background:transparent;border:none;padding:1vw;outline:none;font-size:100%;font-family:inherit; background: rgba(255,255,255,.85); color:rgba(0,0,0,.32);}
.field input::placeholder,.field textarea::placeholder{color:rgba(0,0,0,.32);}
.field textarea{resize:vertical;min-height:8vw;line-height:1.9;}
.contactform__chips{display:flex;flex-wrap:wrap;gap:.8vw 1.4vw;}
.contactform__chips label{display:flex;align-items:center;gap:.5vw;color:rgba(0,0,0,.82);font-size:95%;}
.contactform__chips input{accent-color:#000;}
.contactform__chips br {display: none;}
.contactform__policy{color:rgba(0,0,0,.72);line-height:2;}
.contactform__agree{display:flex;align-items:center;gap:.7vw;margin-top:1.4vw;}
.contactform__agree input{accent-color:#000;}
.contactform__agree a {text-decoration: underline;}
.contactform__actions{display:flex; justify-content: center; align-items:center;padding:2.5vw 0;}
.contactform__submit{appearance:none;background:transparent;border:1px solid rgba(0,0,0,.22);padding:1vw 1.8vw;font-size:95%;letter-spacing:.08em;cursor:pointer;transition:all .3s;color: #000;}
.contactform__submit:hover,.contactform__reset:hover{background:#000;color:#fff;}

.newslist{padding:4vw 0 6vw;}
.newslist__lead{font-size:110%;line-height:1.9;color:rgba(0,0,0,.6);margin-bottom:3vw;}
.newslist__item{display:block;padding:2.2vw 0;border-top:1px solid rgba(0,0,0,.12);color:#000;transition:all .4s;}
.newslist__item:last-child{border-bottom:1px solid rgba(0,0,0,.12);}
.newslist__meta{display:flex;justify-content:flex-start;align-items:center;gap:1vw;margin-bottom:.8vw;}
.newslist__date{font-size:85%;color:rgba(0,0,0,.45);letter-spacing:.08em;}
.newslist__cat{font-size:75%;padding:.2vw .5vw;border:1px solid rgba(0,0,0,.18);color:rgba(0,0,0,.6);}
.newslist__title{font-size:120%;font-weight:700;line-height:1.4;transition:all .4s;}
.newslist__excerpt{margin-top:.8vw;line-height:1.9;color:rgba(0,0,0,.6);max-width:50em;}
.newslist__item:hover{padding-left:1vw;}
.newslist__item:hover .newslist__title{color:rgba(0,0,0,.72);}

.newslist__item{position:relative;}
.newslist__item:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2200 2200'%3E%3Cg id='Background'%3E%3Ccircle cx='1100' cy='1100' r='1034.51' fill='none'/%3E%3C/g%3E%3Cg id='Main'%3E%3Cg%3E%3Cpath d='m275 1214.98h1200.93l-428.27 428.27-9.23 9.33 167.02 167.02 710.32-710.32 9.23-9.33-710.21-710.32-9.34-9.23-167.02 166.92 431.35 431.44h-1194.78z' fill='%23000'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain;opacity:0;transition:all .4s;}
.newslist__item:hover:after{opacity:1;right:.4vw;}

.newsdetailpage{}
.newsdetail{padding:4vw 0 6vw;}
.newsdetail__meta{display:flex;justify-content:flex-start;align-items:center;gap:1vw;margin-bottom:1.2vw;}
.newsdetail__date{font-size:85%;color:rgba(0,0,0,.45);letter-spacing:.08em;}
.newsdetail__cat{font-size:75%;padding:.2vw .5vw;border:1px solid rgba(0,0,0,.18);color:rgba(0,0,0,.6);}
.newsdetail__title{font-size:140%;font-weight:700;line-height:1.35;letter-spacing:.02em;margin-bottom:2vw;}
.newsdetail__lead{line-height:2;color:rgba(0,0,0,.72);padding:0 0 2vw;border-bottom:1px solid rgba(0,0,0,.12);}
.newsdetail__body{padding-top:2vw;}
.newsdetail__body p{line-height:2.1;color:rgba(0,0,0,.75);margin-bottom:1.8vw;}
.newsdetail__body h3{font-size:110%;font-weight:700;line-height:1.5;margin:3vw 0 1vw;padding-top:1.2vw;border-top:1px solid rgba(0,0,0,.12);}
.newsdetail__nav{padding-top:3vw;border-top:1px solid rgba(0,0,0,.12);}
.newsdetail__back{display:inline-flex;justify-content:flex-start;align-items:center;color:#000;transition:all .4s;}
.newsdetail__back:before{display:block;content:"";width:12px;height:12px;margin-right:.8vw;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2200 2200'%3E%3Cg id='Background'%3E%3Ccircle cx='1100' cy='1100' r='1034.51' fill='none'/%3E%3C/g%3E%3Cg id='Main'%3E%3Cg%3E%3Cpath d='m275 1214.98h1200.93l-428.27 428.27-9.23 9.33 167.02 167.02 710.32-710.32 9.23-9.33-710.21-710.32-9.34-9.23-167.02 166.92 431.35 431.44h-1194.78z' fill='%23000'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain;transform:rotate(180deg);}
.newsdetail__back:hover{opacity:.65;}

.companypage{padding-bottom:6vw;}

.companypage__section{padding:9vw 0 0;}
.companypage__section h2{position:relative;display:flex;justify-content:flex-start;align-items:center;font-size:140%;font-weight:500;margin-bottom:2.5vw;letter-spacing:.06em;}
.companypage__section h2:after{display:block;content:"";flex:1;height:1px;width:auto;border-bottom:dotted 1px rgba(0,0,0,.3);margin-left:.6em;}
.companypage__section h2 span{background:#f1f1f1;font-weight:500;}
.companypage__message{max-width:56em;}
.companypage__messageLead{font-size:180%;line-height:1.5;font-weight:700;margin-bottom:2vw;}
.companypage__messageBody p{line-height:2.1;color:rgba(0,0,0,.74);margin-bottom:1.6vw;}
.companypage__signature{padding-top:1vw;color:rgba(0,0,0,.64);}
.companyinfo{}
.companyinfo__row{display:flex;gap:2vw;padding:1.2vw 0;}
.companyinfo__row dt{width:11vw;color:rgba(0,0,0,.45);flex-shrink:0;}
.companyinfo__row dd{margin:0;flex:1;line-height:1.9;color:#000;}
.companybiz{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2vw;}
.companybiz__item{padding:1.5vw 0;}
.companybiz__item img {display: block; width: 100%; height: auto; margin-bottom: 1vw; }
.companybiz__item h3{font-size:125%;font-weight:700;margin-bottom:.3vw;}
.companybiz__item p{color:rgba(0,0,0,.68);}
.companyaccess{display:grid;grid-template-columns:1fr 60%;gap:3vw;align-items:start;}
.companyaccess__text p{line-height:2;color:rgba(0,0,0,.7);margin-bottom:2vw;}
.companyaccess__info{border-top:1px solid rgba(0,0,0,.12);}
.companyaccess__row{display: block;padding:1vw 0;border-bottom:1px solid rgba(0,0,0,.12);}
.companyaccess__row dt{width:auto;color:rgba(0,0,0,.45);flex-shrink:0;}
.companyaccess__row dd{margin:0;flex:1;line-height:1.8;}
.companyaccess__map{aspect-ratio:1/.72;display:flex;justify-content:center;align-items:center;}
.companyaccess__mapDummy{color:rgba(0,0,0,.35);letter-spacing:.08em;}
.companypage__cta{padding:6vw 0 0;text-align:left;}
.companypage__cta p{line-height:2;color:rgba(0,0,0,.68);margin-bottom:1.8vw;}
.companypage__ctaBtn{display:inline-flex;justify-content:flex-start;align-items:center;color:#000;transition:all .4s;}
.companypage__ctaBtn:before{display:block;content:"";width:12px;height:12px;margin-right:.8vw;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2200 2200'%3E%3Cg id='Background'%3E%3Ccircle cx='1100' cy='1100' r='1034.51' fill='none'/%3E%3C/g%3E%3Cg id='Main'%3E%3Cg%3E%3Cpath d='m275 1214.98h1200.93l-428.27 428.27-9.23 9.33 167.02 167.02 710.32-710.32 9.23-9.33-710.21-710.32-9.34-9.23-167.02 166.92 431.35 431.44h-1194.78z' fill='%23000'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain;}
.companypage__ctaBtn:hover{opacity:.65;}

.businesspage{padding-bottom:6vw;}
.businessnav{display:flex;flex-wrap:wrap;gap:1.6vw;padding:4vw 0 0;}
.businessnav a{display:inline-flex;align-items:center;color:rgba(0,0,0,.7);transition:all .4s;}
.businessnav a:before{display:block;content:"";width:12px;height:12px;margin-right:.7vw;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2200 2200'%3E%3Cg id='Background'%3E%3Ccircle cx='1100' cy='1100' r='1034.51' fill='none'/%3E%3C/g%3E%3Cg id='Main'%3E%3Cg%3E%3Cpath d='m275 1214.98h1200.93l-428.27 428.27-9.23 9.33 167.02 167.02 710.32-710.32 9.23-9.33-710.21-710.32-9.34-9.23-167.02 166.92 431.35 431.44h-1194.78z' fill='%23000'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain;}
.businessnav a:hover{color:#000;opacity:.8;}
.businesssec{padding:9vw 0 0;}
.businesssec__head{margin-bottom:2.5vw;}
.businesssec__en{font-size:85%;letter-spacing:.16em;color:rgba(0,0,0,.42);margin-bottom:.8vw;}
.businesssec__head h2{font-size:180%;font-weight:700;line-height:1.3;}
.businesssec__grid{display:grid;grid-template-columns:48% 1fr;gap:3vw;align-items:start;}
.businesssec__image img{display:block;width:100%;height:auto;}
.businesssec__body p{line-height:2;color:rgba(0,0,0,.72);margin-bottom:1.4vw;}

.contactpage__errors{margin:0 0 30px;}
.contactpage__errors__inner{padding:20px;border:1px solid #ccc;background:#fafafa;}
.contactpage__errors ul{margin:10px 0 0;padding-left:1.5em;}
.confirmtable{border-top:1px solid #ddd;}
.confirmtable__row{display:flex;flex-wrap:wrap;border-bottom:1px solid #ddd;}
.confirmtable__head{width:240px;padding:16px;background:#f7f7f7;box-sizing:border-box;}
.confirmtable__body{width:calc(100% - 240px);padding:16px;box-sizing:border-box;}
.contactform__actions{display:flex;gap:16px;justify-content:center;margin-top:30px;}
.contactform__back{padding:12px 24px;border:1px solid #333;background:#fff;cursor:pointer;}
.contactform__submit{padding:12px 24px;border:1px solid #333;background:#333;color:#fff;cursor:pointer;}

section.page {margin-top: 5vw!important; padding-bottom: 5vw;}
section.page h2,section.page h3,section.page h4,section.page h5 { margin-top: 3vw!important;}
section.page p{ margin-top: 1vw!important;}

body.property{--bg:#ffffff;--fg:#111111;--muted:#6b7280;--line:#e5e7eb;--card:#f8f9fb;--chip:#f1f3f5;--chipOn:#e5e7eb;--accent:#b89b5e;background:var(--bg);color:var(--fg); height: auto; overflow: scroll; font-size: .9vw;}
body.property header,body.property .cp{opacity:1;pointer-events:auto; transition: all 1.5s;}
body.property main {width: 90vw; text-align: left; margin: 0 auto; box-sizing: border-box; color: #000;}
body.property section {visibility: visible; width: 100%; height: auto;position: relative; margin: 0 auto 0; opacity: 0; transition: all .5s;}
body.property section.show {opacity: 1;}
body.property section .wow {opacity: 0;}
body.property header{position:fixed;top:0;left:0;right:0; width: 100%; height: fit-content; display: flex; justify-content: flex-start; align-items: center; z-index:9999;background:var(--bg); padding: 1vw 5vw; box-sizing: border-box;}
body.property header .logo {display: block; height: auto; margin-bottom: 0;}
body.property header .logo a {display: block; width: auto; height: auto;}
body.property header .logo svg {width: auto; height: 2vw; object-fit: contain;}
body.property header .logo svg path {fill:#000;}
body.property header .gmenu {display: none!important;}

body.property header .topbar__inner{width:90vw;margin:0 auto;display:flex;align-items:center;justify-content:flex-start;padding:1vw 0;}
body.property header .topbar__note{ flex:1; text-align: left; font-weight: bold; font-size: 130%; margin: 0 5vw;}
body.property header .topbar__side{width: fit-content; position:relative;}
body.property header .topbar__side a{appearance:none;border:0;background:transparent;color:var(--muted);border-radius:0;letter-spacing:.08em;cursor:pointer;opacity:.75;transition:opacity .2s,font-weight .2s; padding-left: 1vw;}
body.property header .topbar__side a.is-active{opacity:.9;font-weight:700;color:var(--fg);}
body.property header .topbar__side a:hover{opacity:1;}

/* 物件詳細 */
body.property .pd{width:90vw;margin:0 auto 0;}
body.property .pd__inner{width:100%;}
body.property .pd__grid{display:grid;grid-template-columns:minmax(0,1fr) 50%;gap:3vw;align-items:start;padding-top:4.5vw;}
body.property .pd__mainCol{min-width:0;}
body.property .pd__frame{position:relative;overflow:hidden;aspect-ratio:1/.67;margin-bottom:.5vw;background:#f3f4f6;}
body.property .pd__media{}
body.property .pd__main{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translateZ(0);}
body.property .pd__thumbs{display:flex;gap:.5vw;width:100%;flex-wrap:wrap;}
body.property .pd__thumb{appearance:none;overflow:hidden;width:10%;aspect-ratio:1/.7;padding:0;cursor:pointer;opacity:.85;transition:opacity .2s;border:none;background:none;}
body.property .pd__thumb:hover{opacity:1;}
body.property .pd__thumb.is-active{opacity:1;}
body.property .pd__thumb img{display:block;width:100%;height:78px;object-fit:cover;}

body.property .pd__side{position:sticky;top:0;}
body.property .pd__cat{display:inline-block;margin:0 0 1vw 0;color:var(--muted);}
body.property .pd__ttl{margin:0 0 10px 0;font-size:180%;letter-spacing:.02em;}
body.property .pd__catch{margin:0;color:var(--muted);line-height:1.9;}

body.property .pd__mini{margin:2vw 0;border-top:1px solid var(--line);}
body.property .pd__miniRow{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);letter-spacing:.06em;}
body.property .pd__miniRow span:first-child{color:var(--muted);}
body.property .pd__miniRow span:last-child{color:var(--fg);text-align:right;}

body.property .pd__spec{padding-top:5vw;}
body.property .pd__specDl{display:flex;justify-content:flex-start;flex-wrap:wrap;margin:0;border-top:1px solid var(--line);}
body.property .pd__specRow{width:50%;box-sizing:border-box;display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);}
body.property .pd__specRow dt{width:160px;color:var(--muted);letter-spacing:.08em;}
body.property .pd__specRow dd{flex:1;margin:0;color:var(--fg);letter-spacing:.06em;line-height:1.8;}

body.property .pd__body{padding:2vw 0 10vw;}
body.property .pd__h2{margin:0 0 10px 0;font-size:180%;letter-spacing:.06em;}
body.property .pd__p{margin:12px 0 0;padding-top:12px;color:var(--muted);line-height:1.95;border-top:1px solid var(--line);}
body.property .pd__ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.95;}

body.property .pd__ctaBtn{display:block;background:transparent;letter-spacing:.08em;}
body.property .pd__ctaBtn:hover{opacity:.7;}

/* 物件一覧 */
.ps{ width: 90vw; margin: 0 auto;}
.ps__inner{width:100%;margin:1vw auto 0; display: flex; justify-content: space-between; align-items: flex-start;flex-wrap: wrap;}
.ps__mediaCol{width: 50%;position:relative;}
.ps__frame{position:sticky;top:0; left: 0; aspect-ratio:1/.6;overflow:hidden;transform:translateZ(0);}
.ps__frameBg{position:absolute;inset:0;background:radial-gradient(1200px 600px at 40% 30%, rgba(203,185,143,.12), transparent 55%), transparent 40%);}
.ps__imgStack{position:absolute;inset:0;}
.ps__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:brightness(.95);will-change:transform,opacity,filter;}
.ps__caption{position:absolute;left:0;bottom:0;width: 100%;display:flex;align-items:flex-start;gap:12px;padding:12px 12px;background:rgba(15,17,21,.55);backdrop-filter:blur(10px);}
.ps__capNo{letter-spacing:.18em;color:rgba(203,185,143,.95);}
.ps__capTitle{letter-spacing:.06em;line-height:1.3; color: #fff;	}
.ps__capSub{color:var(--muted);margin-top:4px;line-height:1.6; display: none;}
.ps__listCol{width: 48%; position:relative; box-sizing: border-box;}
.ps__head{position:sticky;top:0!important;padding:0 0 2vh 0;background:linear-gradient(180deg, rgba(15,17,21,.92), rgba(15,17,21,.72) 70%, rgba(15,17,21,0));backdrop-filter:blur(8px);z-index:10;}
.ps__cols{display:grid;grid-template-columns:10% 1fr 15% 15%;gap:1vw;color:var(--muted);letter-spacing:.08em;padding:1vh 0;}
.ps__line{height:1px;width:100%;background:rgba(233,237,244,.18);transform:scaleX(0);transform-origin:left center;}
.ps__list{list-style:none;margin:0;padding:0 0 40vh;}
.ps__item{min-height:50vh;display:flex;align-items:center;border-bottom:1px solid var(--line);padding:3vh 0;}
.ps__row{width:100%;display:grid;grid-template-columns:10% 1fr 15% 15%;gap:1vw;align-items:start;opacity:1;transform:translateY(14px);clip-path:inset(0 0 100% 0);}
.ps__no{letter-spacing:.16em;color:rgba(203,185,143,.95);padding-top:2px;}
.ps__name{ font-size: 120%;letter-spacing:.04em;line-height:1.4;font-weight: bold;}
.ps__desc{margin:15px 45px 15px 0;color:var(--muted);line-height:1.9;max-width:60ch;}
.ps__area{color:var(--muted);letter-spacing:.08em;padding-top:3px;}
.ps__price{color:var(--muted);letter-spacing:.08em;padding-top:3px;text-align:left;}
.ps__badge{display:inline-block;margin-top:20px;letter-spacing:.08em;color:rgba(233,237,244,.78);padding: 0;}
.ps__item.is-hidden{display:none;}
.ps__frameBg{background:radial-gradient(900px 500px at 40% 30%, rgba(0,0,0,.04), transparent 55%),transparent;}
.ps__img{filter:brightness(.98);}
.ps__caption{background:rgba(0,0,0,.55);backdrop-filter:blur(8px);}
.ps__capNo{color:var(--accent);}
.ps__capSub{color:var(--muted);}
.ps__head{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.85) 70%,rgba(255,255,255,0));}
.ps__cols{color:var(--muted);}
.ps__line{background:var(--line);}
.ps__item{border-bottom:1px solid var(--line);}
.ps__no{color:var(--accent);}
.ps__desc{color:var(--muted);}
.ps__area{color:var(--muted);}
.ps__price{color:var(--muted);}
.ps__badge{color:#374151;}
.ps__badge:hover{color:#000;}




/* 仲介会社様向け資料ダウンロード */
.agent .pd__ttl{font-size:200%;font-weight:700;}
.agent .pd__miniRow span:last-child{font-weight:700;}
.agent .ps__name{font-size:130%;font-weight:700;}
.agent .ps__list {border-top: solid 1px rgba(0,0,0,.12);}
.agent .ps__item{ min-height:auto; border-bottom: solid 1px rgba(0,0,0,.12);}
.agent .agentdownload__body {display: flex; justify-content: space-between; align-items: center; padding: 2vw 0; border-top: solid 1px rgba(0,0,0,.12);}
.agent .agentdownload__body a {display: block; width: fit-content; color: #000;font-size: 95%;letter-spacing: .08em;background: #333;color: #fff;padding: 12px 24px;border: 1px solid #333;transition: all .3s;}
.agent .agentdownload__body a:hover {background: #000;}






















}
