/* Hallmark · macrostructure: Marquee Collage (studied) · theme: studied-DNA (source: https://www.office-noir.jp/)
 * paper #ffffff · hero #F4F4F4 · ink #111111 · hairline #D9D9D9
 * display: roman editorial serif (Playfair Display) · body: Yu Gothic stack · label: Roboto
 * studied: yes · DNA-source: url · content: ALL PLACEHOLDER (fictional names, silhouette images)
 * Hallmark · pre-emit critique: P4 H5 E4 S5 R4 V4
 */
:root{
  font-size: 62.5%;
  --ink:#111111; --paper:#ffffff; --hero-bg:#F4F4F4;
  --hairline:#D9D9D9; --gray:#999999; --mid:#808080;
  --size01:1.8rem; --size02:1.2rem; --size03:1.6rem; --size04:1.4rem; --size05:2.6rem;
  --size01en:1.2rem;
  --lineheight01:1.6; --lineheight02:2.2;
  --font-body:"Yu Gothic Medium","游ゴシック Medium",YuGothic,"游ゴシック体","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  --font-display:'Playfair Display',serif;
  --font-en:'Roboto',sans-serif;
  --font-mincho:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;
  --ease-out:cubic-bezier(.19,1,.22,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{overflow-x:clip}
body{
  font-family:var(--font-body);
  font-size:var(--size03);
  color:var(--ink);
  background:var(--paper);
  line-height:var(--lineheight01);
  -webkit-font-smoothing:antialiased;
}
a{color:var(--ink);text-decoration:none}
a:hover{text-decoration:none}
img{max-width:100%}
ul{list-style:none}
h1,h2,h3{font-weight:500}
.g_w1200{max-width:1200px;margin:0 auto}
.g_font1{font-family:var(--font-en)}

/* gothic wordmark (live text — original logo asset is NOT copied) */
.wordmark{
  font-family:var(--font-en);
  font-weight:700;
  letter-spacing:.04em;
  line-height:1;
  color:var(--ink);
}
.wordmark small{
  display:block;
  font-family:var(--font-body);
  font-size:.14em;
  letter-spacing:.42em;
  margin-top:.9em;
  font-weight:500;
}

/*----------------------------------------------------- header */
.header_logo{
  opacity:0;
  position:fixed;
  left:2vw; top:-62px;
  z-index:999;
  transition:all .2s ease-out;
  pointer-events:none;
}
.header_logo.active{opacity:1;top:1vw;pointer-events:auto}
.header_logo .wordmark{font-size:2.8rem}
.header_logo .wordmark small{letter-spacing:.3em}

#drawer_btn{
  position:fixed;
  top:1vw; right:2vw;
  width:50px;height:50px;
  z-index:1001;
  cursor:pointer;
  background:transparent;border:0;
}
#drawer_btn span{
  display:inline-block;
  position:absolute;left:0;
  width:100%;height:2px;background:var(--ink);
  transition:all .4s;
}
#drawer_btn span:nth-child(1){top:22px}
#drawer_btn span:nth-child(2){top:32px}
#drawer_btn.open span:nth-child(1){top:20px;transform:translateY(6px) rotate(-45deg)}
#drawer_btn.open span:nth-child(2){top:32px;transform:translateY(-6px) rotate(45deg)}
#drawer_btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/*----------------------------------------------------- drawer */
#drawer{
  display:none;
  width:100%;height:100vh;
  overflow-y:scroll;
  background:var(--paper);
  position:fixed;top:0;left:0;
  z-index:999;
  opacity:0;
  transition:opacity .4s;
}
#drawer.show{opacity:1}
.drawer_wrap{
  position:relative;
  margin:0 auto;
  display:flex;justify-content:center;flex-wrap:wrap;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
}
.drawer_menu{height:100%;display:flex;justify-content:space-between}
.drawer_menu .drawer_col{padding:0 60px;border-left:1px solid var(--hairline)}
.g_drawer_t,.g_ft_t{
  font-family:var(--font-en);
  font-weight:500;
  font-size:1.8rem;
  letter-spacing:.06em;
  margin-bottom:22px;
}
.g_drawer_t em,.g_ft_t em{
  font-style:normal;display:block;
  font-family:var(--font-body);
  font-size:1rem;letter-spacing:.2em;color:var(--mid);margin-top:4px;
}
.drawer_col ul li a,.ft_col ul li a{
  display:inline-block;
  font-size:var(--size04);
  font-weight:500;
  white-space:nowrap;
}
.drawer_col ul li a{margin-bottom:20px}
.ft_col ul li a{margin-bottom:12px}
.drawer_col ul li:last-child a,.ft_col ul li:last-child a{margin-bottom:0}
/* drawer CTA buttons (sub pages): 300px black / white */
.drawer_menu .drawer_cta{margin-bottom:30px}
.drawer_menu .drawer_col a.cta_btn{
  display:inline-block;text-align:center;
  background:var(--ink);color:#fff;border:1px solid var(--ink);
  padding:10px 0;font-size:1.2rem;letter-spacing:.14em;
  min-width:300px;max-width:300px;
}
.drawer_menu .drawer_col a.cta_btn.w{background:#fff;color:var(--ink)}
.drawer_address{
  width:100%;
  text-align:center;
  font-size:var(--size04);
  line-height:var(--lineheight02);
  margin-top:46px;
}

/*----------------------------------------------------- mv (hero collage) */
.mv_box{background:var(--hero-bg);padding-bottom:1px}
.mv_row1{position:relative;height:62vw;width:100%}
.mv_row2{position:relative;height:36vw;width:100%}
.mv_img{position:absolute;overflow:hidden}
.mv_img .ph{width:100%;height:100%}
.mv_img.a1{top:2vw;left:5vw;width:22vw;aspect-ratio:600/500}
.mv_img.a2{top:41vw;left:8vw;width:18vw;aspect-ratio:400/500}
.mv_img.a3{top:5vw;left:35vw;width:31vw;aspect-ratio:700/1050}
.mv_img.a4{top:4vw;right:6vw;width:17vw;aspect-ratio:360/470}
.mv_img.a5{top:32vw;right:8vw;width:18vw;aspect-ratio:360/580}
.mv_img.b1{top:13vw;left:7vw;width:26vw;aspect-ratio:570/460}
.mv_img.b2{top:5vw;left:41vw;width:27vw;aspect-ratio:520/780}
.mv_img.b3{top:18vw;right:3vw;width:21vw;aspect-ratio:410/520}

/* slide-style slots — slick equivalent: speed 300ms / autoplay 2000ms / infinite */
.sl{position:relative;overflow:hidden;width:100%;height:100%}
.sl_track{display:flex;width:100%;height:100%}
.sl_track.anim{transition:transform .3s ease}
.sl_track.v{flex-direction:column}
.sl_track.r{flex-direction:row-reverse}
.sl_slide{position:relative;flex:none;width:100%;height:100%}
.img-real{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* big logo: fixed at bottom-left, docks to absolute when .mv_overview
   reaches viewport bottom (scrollTop + winH > overviewTop) — original behavior */
.mv_logo{
  position:fixed;
  left:5vw;bottom:9vw;
  width:34vw;
  z-index:999;
}
.mv_logo.absolute{
  position:absolute;
  left:5vw;top:-18vw;bottom:auto;
  width:34vw;
  z-index:100;
}
.mv_logo .wordmark{font-size:6.2vw}

.mv_overview{
  display:flex;flex-direction:column;gap:2vw;
  padding:6vw 3vw 130px 4vw;
  position:relative;z-index:90;
}
.mv_overview .t{width:42vw}
.mv_overview .t h2{
  font-family:var(--font-body);
  font-size:2.2vw;
  font-weight:500;
  line-height:1.9;
  letter-spacing:.14em;
}
.mv_overview .tx{width:38vw;line-height:var(--lineheight02);font-size:var(--size04)}

/*----------------------------------------------------- model sections */
.model_box{margin-bottom:100px;padding-top:120px;padding-bottom:110px}
.model_cat{margin-bottom:0}
.model_cat:nth-child(n+2){margin-top:140px}
.model_t{
  display:flex;align-items:flex-end;
  padding:0 20px;
  margin-bottom:40px;
}
.model_t .g_t{margin-right:auto}
.g_t h2{
  font-family:var(--font-en);
  font-weight:500;
  font-size:3rem;
  line-height:1;
  letter-spacing:.05em;
}
.g_t .jp{
  display:block;
  font-family:var(--font-body);
  font-size:1.1rem;
  letter-spacing:.24em;
  color:var(--mid);
  margin-top:10px;
}
a.g_btn{
  font-family:var(--font-en);
  font-size:var(--size01en);
  letter-spacing:.1em;
  padding:12px 24px;
  border:1px solid var(--ink);
  border-radius:24px;
  transition:background .25s var(--ease-out),color .25s var(--ease-out);
}
a.g_btn:hover{background:var(--ink);color:#fff}
a.g_btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

.model_wrap{width:95vw;margin-left:5vw;overflow:hidden}
.model_row{
  display:flex;gap:30px;
  width:max-content;
  transition:transform .3s ease;
}
/* prev/next arrows: 48px circle-outline buttons, just below the row, left-aligned */
.model_cat{position:relative}
.model_arrows{display:flex;gap:20px;margin:28px 0 0 5vw}
.model_arrows button{
  width:48px;height:48px;
  background:transparent;border:0;cursor:pointer;color:var(--ink);padding:0;
}
.model_arrows button:hover{opacity:.5}
.model_arrows button:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:50%}
.model_arrows svg{width:100%;height:100%;display:block}
.model_col{width:380px;flex:none}
.model_col .img{
  width:380px;height:380px;
  position:relative;overflow:hidden;
  margin-bottom:20px;
}
.model_col .img .ph{width:100%;height:100%}
.model_col .img .ph,.model_col .img .img-real{transition:transform .6s var(--ease-out)}
.model_col a:hover .img .ph,.model_col a:hover .img .img-real{transform:scale(1.05)}
.model_col .tx span{
  display:inline-block;margin-bottom:10px;
  font-family:var(--font-en);
  font-size:var(--size01en);
  letter-spacing:.16em;color:var(--mid);
}
.model_col .tx h3{font-size:var(--size03);letter-spacing:.08em}

/*----------------------------------------------------- news */
.news_bg{position:relative;margin-bottom:200px}
.news_bg::after{
  content:"";display:block;position:absolute;
  top:-80px;right:0;
  background:var(--ink);
  width:100vw;height:710px;
  z-index:-10;
}
.news_box{display:flex;justify-content:flex-start;padding:0 20px;color:#fff;position:relative}
.news_t{width:22%;padding-right:60px;padding-top:10px;position:relative}
.news_t .g_t h2{color:#fff}
.news_t .g_t .jp{color:rgba(255,255,255,.55)}
.news_list{width:78%;overflow:hidden}
.news_track{display:flex;gap:40px;transition:transform .3s ease;width:max-content}
.news_list a{display:block;width:340px;flex:none;color:#fff}
.news_list .img{width:340px;height:340px;margin-bottom:30px;overflow:hidden;position:relative}
.news_list .img .ph{width:100%;height:100%}
.news_list .img .ph,.news_list .img .img-real{transition:transform .6s var(--ease-out)}
.news_list a:hover .img .ph,.news_list a:hover .img .img-real{transform:scale(1.05)}
.news_cat{margin-bottom:12px}
.news_cat span{
  font-size:var(--size01en);letter-spacing:.16em;
  color:rgba(255,255,255,.6);
}
.news_list p{font-size:var(--size04);line-height:1.9}
/* news prev/next: 56px white circle arrows in the title column (original: slick arrows at top:19vw) */
.news_arrows{position:absolute;left:0;top:19vw;display:flex;gap:26px}
.news_arrows button{width:56px;height:56px;background:transparent;border:0;cursor:pointer;color:#fff;padding:0}
.news_arrows button:hover{opacity:.5}
.news_arrows button:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:50%}
.news_arrows svg{width:100%;height:100%;display:block}
/* ALL text link with long line-arrow (original: g_btn_arrow + btn_arrow.svg 48x7) */
a.g_btn_arrow{
  position:relative;
  font-size:var(--size01en);letter-spacing:.16em;
  padding-right:60px;
  transition:opacity .25s var(--ease-out);
}
a.g_btn_arrow:hover{opacity:.5}
a.g_btn_arrow::after{
  content:"";display:block;position:absolute;
  right:0;bottom:3px;width:48px;height:7px;
  background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48.953 6.679"><path d="M48.953,6.679H0v-1H45.069L36.361.876,36.844,0Z" fill="%23111"/></svg>') no-repeat;
  background-size:48px 7px;
}
a.g_btn_arrow.w{color:#fff}
a.g_btn_arrow.w::after{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48.953 6.679"><path d="M48.953,6.679H0v-1H45.069L36.361.876,36.844,0Z" fill="%23fff"/></svg>');
}
.news_btn{position:absolute;right:20px;bottom:-3vw}

/*----------------------------------------------------- topics */
.topics_box{display:flex;flex-wrap:wrap;justify-content:flex-start;padding:120px 20px 0;margin-bottom:160px}
.topics_t{width:100%;margin-bottom:32px}
.topics_list{width:100%;margin-bottom:60px}
.topics_list a{
  display:flex;align-items:center;justify-content:flex-start;
  border-top:1px solid var(--hero-bg);
  padding:30px 0;font-size:var(--size03);
  transition:opacity .25s var(--ease-out);
}
.topics_list a:last-child{border-bottom:1px solid var(--hero-bg)}
.topics_list a:hover{opacity:.5}
.topics_list a span{display:inline-block;margin-right:40px;flex:none;font-size:var(--size01en);letter-spacing:.14em}
.topics_box a.g_btn_arrow{display:block;margin-left:auto}

/*----------------------------------------------------- cta */
.cta_box{
  border:1px solid var(--hairline);
  border-radius:10px;
  margin-top:120px;margin-bottom:200px;
}
.cta_boxin{padding:60px 0}
.cta_box .g_t{margin-bottom:70px;text-align:center}
.cta_btn{display:flex;justify-content:center;margin-bottom:40px}
a.g_cta_btn{
  display:inline-block;text-align:center;
  background:var(--ink);color:#fff;
  border:1px solid var(--ink);
  padding:10px 70px;
  font-size:1.2rem;letter-spacing:.14em;font-weight:700;
  margin-right:50px;
  transition:background .25s var(--ease-out),color .25s var(--ease-out);
}
a.g_cta_btn:last-child{margin-right:0}
a.g_cta_btn:hover{background:#fff;color:var(--ink)}
a.g_cta_btn.w{background:#fff;color:var(--ink)}
a.g_cta_btn.w:hover{background:var(--ink);color:#fff}
a.g_cta_btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.cta_tx{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:var(--size02);
}
.cta_tx span{font-size:1.3rem;letter-spacing:.1em;font-weight:700}
.cta_tx p{font-weight:600}

/*----------------------------------------------------- footer */
footer{padding-top:40px}
#footer{display:flex;justify-content:space-between;margin-bottom:90px;padding:0 20px}
.ft_logo{width:26%;padding:90px 40px 0 0}
.ft_logo .wordmark{font-size:4.2rem}
.ft_col{padding:0 50px;border-left:1px solid var(--hairline)}
.ft_col .g_ft_t{margin-bottom:20px}
.ft_col .stack .g_ft_t{margin-bottom:26px}
.ft_col ul{margin-bottom:34px}
.ft_col ul li{line-height:1}
.ft_cta li a,.drawer_cta li a{font-family:var(--font-en)}
ul.ft_sns li{margin-bottom:18px}
ul.ft_sns li a{display:flex;align-items:center;gap:10px;font-family:var(--font-en);font-size:var(--size01en);letter-spacing:.12em}
ul.ft_sns li a svg{width:18px;height:18px}
.ft_address{
  line-height:var(--lineheight02);
  font-size:var(--size02);
  text-align:center;margin-bottom:18px;color:var(--mid);
}
.copyright{
  text-align:center;
  font-family:var(--font-en);
  font-size:1rem;letter-spacing:.14em;
  color:var(--gray);
  padding-bottom:40px;
}

/*----------------------------------------------------- placeholder portraits */
.ph{position:relative;background:linear-gradient(160deg,#e9e7e3,#cfccc6)}
.ph::after{
  content:"";position:absolute;inset:0;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMax meet"><g fill="%23b4b1ab"><circle cx="50" cy="46" r="13"/><path d="M24 100c2-24 13-32 26-32s24 8 26 32z"/></g></svg>');
  background-repeat:no-repeat;
  background-position:center bottom;
  background-size:62% auto;
}
.ph.v1{background:linear-gradient(160deg,#eceae6,#d3d0ca)}
.ph.v2{background:linear-gradient(200deg,#e4e2de,#c6c3bd)}
.ph.v3{background:linear-gradient(140deg,#efedea,#d8d5cf)}
.ph.v4{background:linear-gradient(180deg,#e0ddd8,#c2bfb9)}
.ph.v5{background:linear-gradient(150deg,#e8e5e0,#ccc8c1)}
.ph.v6{background:linear-gradient(210deg,#f0eeeb,#d5d2cc)}
.ph.v7{background:linear-gradient(170deg,#e5e2dd,#c9c5be)}
.ph.dark{background:linear-gradient(160deg,#2a2a2a,#3d3d3b)}
.ph.dark::after{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMax meet"><g fill="%23555553"><circle cx="50" cy="46" r="13"/><path d="M24 100c2-24 13-32 26-32s24 8 26 32z"/></g></svg>')}

/*----------------------------------------------------- fadeUp animation */
.animation{opacity:0;transform:translateY(110px);transition:opacity .6s,transform .6s}
.animation.is-inview{opacity:1;transform:translateY(0)}
.animation.d1.is-inview{transition-delay:.6s}
.animation.d2.is-inview{transition-delay:.8s}
.animation.d3.is-inview{transition-delay:1.8s}
.animation.d4.is-inview{transition-delay:2.4s}

/*----------------------------------------------------- mobile */
@media (max-width: 768px){
  /* SP hero layout: values from the original base_sp.css */
  .mv_row1{height:220vw}
  .mv_row2{height:146vw}
  .mv_img.a1{top:9vw;left:7vw;width:50vw}
  .mv_img.a2{top:3vw;right:5vw;left:auto;width:32vw}
  .mv_img.a3{top:56vw;left:25vw;width:56vw}
  .mv_img.a4{top:146vw;right:auto;left:8vw;width:38vw}
  .mv_img.a5{top:152vw;right:5vw;width:43vw}
  .mv_img.b1{top:8vw;left:17vw;width:60vw}
  .mv_img.b2{top:64vw;left:51vw;width:46vw}
  .mv_img.b3{top:68vw;right:56vw;left:auto;width:34vw}
  .mv_logo{left:5vw;bottom:8vw;width:36vw}
  .mv_logo.absolute{width:36vw;top:-24vw}
  .mv_logo .wordmark{font-size:6.6vw}
  .mv_overview{padding:14vw 6vw 90px}
  .mv_overview .t{width:100%}
  .mv_overview .t h2{font-size:5.4vw}
  .mv_overview .tx{width:100%}
  .model_box{margin-bottom:100px;padding-top:80px}
  .model_cat{margin-bottom:0}
  .model_cat:nth-child(n+2){margin-top:100px}
  .model_t{padding:0 6vw}
  .g_t h2{font-size:2.4rem}
  .model_col{width:62vw}
  .model_col .img{width:62vw;height:62vw}
  .news_bg::after{height:auto;top:-60px;bottom:-60px}
  .news_box{flex-direction:column;gap:40px;padding:0 6vw}
  .news_t{width:100%;padding:0}
  .news_list{width:100%}
  .news_list a,.news_list .img{width:70vw}
  .news_list .img{height:70vw}
  .news_arrows{position:static;margin-top:24px}
  .news_arrows button{width:48px;height:48px}
  .news_btn{position:static;width:100%;text-align:right;margin-top:40px}
  .topics_box{padding:60px 6vw 0;margin-bottom:100px}
  .topics_list a{flex-direction:column;align-items:flex-start;gap:8px;padding:24px 0}
  #footer{flex-direction:column;padding:0 6vw}
  .ft_logo{width:100%;padding:40px 0}
  .ft_col{border-left:0;border-top:1px solid var(--hairline);padding:30px 0}
  #drawer{height:100%}
  .drawer_wrap{
    height:auto;flex-direction:column;
    top:0;left:0;transform:translate(0);
    padding:20vw 0;
  }
  .drawer_menu{flex-direction:column;margin:0 auto;width:90%}
  .drawer_menu .drawer_col{padding:32px 0;border-left:none;border-bottom:1px solid var(--hairline)}
  .drawer_menu .drawer_cta{margin-bottom:0}
  .drawer_menu .drawer_col ul li a{margin-bottom:12px}
  .drawer_menu .drawer_col a.cta_btn{min-width:100%;max-width:100%}
  #drawer_btn{width:36px;height:36px;right:4vw;top:2vw}
  #drawer_btn span:nth-child(1){top:14px}
  #drawer_btn span:nth-child(2){top:24px}
  #drawer_btn.open span:nth-child(1){top:14px}
  #drawer_btn.open span:nth-child(2){top:24px;transform:translateY(-8px) rotate(45deg)}
}
/*----------------------------------------------------- sub pages (values from studied sub.css) */
#sub_content{margin-top:180px}
#breadcrumb{max-width:1200px;margin:0 auto 60px;padding:0 20px}
#breadcrumb ul{display:flex;gap:8px;font-size:1.1rem;color:var(--mid)}
#breadcrumb li:not(:first-child)::before{content:"/";margin-right:8px;color:var(--hairline)}
#breadcrumb a{color:var(--mid)}
#breadcrumb a:hover{color:var(--ink)}

.g_subt{text-align:center;margin-bottom:100px}
.g_subt h2{font-family:var(--font-en);font-weight:500;font-size:4.2rem;letter-spacing:.05em;line-height:1}
.g_subt .jp{display:block;font-size:1.2rem;letter-spacing:.28em;color:var(--mid);margin-top:16px}
.g_sub_subt h3{font-weight:bold;font-size:1.6rem;margin-bottom:42px}

/* archive selector */
nav.selector{display:flex;align-items:flex-start;gap:0 3%;margin:0 auto 56px;width:60%}
nav.selector ul{width:22.75%}
nav.selector select{
  width:100%;border:0;border-bottom:1px solid #cccccc;
  padding:10px 6px;font-size:1.3rem;font-family:var(--font-en);
  color:var(--ink);background:transparent;appearance:none;border-radius:0;cursor:pointer;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 6"><path d="M0 0l5 6 5-6z" fill="%23111111"/></svg>');
  background-repeat:no-repeat;background-position:right center;background-size:10px auto;
}
nav.selector select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* model archive grid: 3 cols, gap 40x20 */
.model_wrap.sub{width:100%;margin-left:0;overflow:visible}
.model_wrap.sub .model_row{
  width:100%;flex-wrap:wrap;justify-content:flex-start;
  gap:40px 20px;transition:none;
}
.model_wrap.sub .model_row a{width:calc(33.33333% - 20px * 2 / 3)}
.model_wrap.sub .model_col{width:100%}
.model_wrap.sub .model_col .img{width:100%;height:auto;aspect-ratio:1/1;max-height:380px}

/* model single */
.model_single_wrap{display:flex;justify-content:space-between;align-items:flex-start}
.model_single_wrap .img_side{width:60%;padding-right:120px}
.img_side .main{position:relative;margin-bottom:160px}
.img_side .main:last-child{margin-bottom:0}
.img_side .main .imgbox{position:relative;width:100%;aspect-ratio:760/1010;overflow:hidden}
.model_single_wrap .tx_wrap{width:40%;position:sticky;top:3vw}
.tx_side .name{border-bottom:1px solid var(--hero-bg);padding-bottom:30px;margin-bottom:30px}
.tx_side .name span{display:block;font-family:var(--font-en);font-size:1.4rem;font-weight:500;margin-bottom:16px;line-height:1.3;letter-spacing:.16em;color:var(--mid)}
.tx_side .name h3{font-size:2.2rem;font-weight:400;letter-spacing:.08em}
.tx_side .detail_list{margin-bottom:14px;display:flex;font-size:var(--size03)}
.tx_side .detail_list dt{display:inline-block;min-width:95px;font-family:var(--font-en);letter-spacing:.08em}
.tx_side .detail_list dd{color:var(--gray)}
.model_single_wrap ul.sns_list{display:flex;align-items:center;margin-top:30px}
.model_single_wrap ul.sns_list li{margin-right:10px}
.model_single_wrap ul.sns_list svg{width:20px;height:20px;display:block}

/* news archive */
.news_archive .news_tab{margin-bottom:76px}
.news_archive .news_tab ul{
  display:flex;justify-content:center;gap:42px;flex-wrap:wrap;
  padding:32px 0;font-size:1.2rem;font-family:var(--font-en);letter-spacing:.14em;
  border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);
}
.news_archive .news_tab li{color:var(--hairline);cursor:pointer}
.news_archive .news_tab li.active{color:#333333}
.news_list.sub{width:100%;overflow:visible}
.news_list.sub .news_grid{display:flex;flex-wrap:wrap;gap:40px 40px}
.news_list.sub .news_grid a{width:calc(33.33333% - 40px * 2 / 3);color:var(--ink)}
.news_list.sub .img{width:100%;height:auto;aspect-ratio:1/1;max-height:380px}
.news_list.sub .news_cat span{color:var(--mid)}
.news_list.sub time{display:block;color:var(--gray);font-size:1.1rem;font-family:var(--font-en);margin-bottom:8px;letter-spacing:.1em}

/* company */
.company_table{margin-bottom:60px;padding-bottom:60px;border-bottom:1px solid var(--hairline)}
.company_table table{width:100%;border-collapse:collapse}
.company_table tr{display:flex;flex-wrap:wrap}
.company_table th{width:20%;padding:10px 0;text-align:left;font-weight:500;line-height:var(--lineheight01)}
.company_table td{width:80%;padding:10px 0;line-height:var(--lineheight01)}
.company_map{margin-bottom:60px;padding-bottom:60px;border-bottom:1px solid var(--hairline)}
.company_map p{margin-bottom:20px}
.company_map .map{width:100%;height:420px;background:linear-gradient(160deg,#e9e7e3,#d3d0c9);display:flex;align-items:center;justify-content:center;color:var(--mid);font-size:1.2rem;letter-spacing:.2em}

/* lead + generic text pages */
.sub_lead{max-width:760px;margin:0 auto 80px;line-height:var(--lineheight02);text-align:center}
.flow_list{max-width:760px;margin:0 auto 80px}
.flow_list li{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid var(--hairline);line-height:var(--lineheight01)}
.flow_list li:first-child{border-top:1px solid var(--hairline)}
.flow_list .num{font-family:var(--font-display);font-size:2.2rem;min-width:44px;color:var(--ink)}

/* forms (contact / entry) */
.form_box{max-width:760px;margin:0 auto}
.form_row{margin-bottom:34px}
.form_row label{display:block;font-size:1.4rem;font-weight:500;margin-bottom:12px}
.form_row label .req{color:#b02929;font-size:1.1rem;margin-left:8px}
.form_row input[type=text],.form_row input[type=email],.form_row input[type=tel],.form_row select,.form_row textarea{
  width:100%;border:1px solid var(--hairline);border-radius:0;
  padding:14px 16px;font-size:1.4rem;font-family:var(--font-body);
  background:#fff;color:var(--ink);
}
.form_row textarea{min-height:180px;resize:vertical}
.form_row input:focus-visible,.form_row textarea:focus-visible,.form_row select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.form_agree{text-align:center;margin:40px 0;font-size:1.3rem}
.form_agree input{margin-right:8px}
.form_submit{text-align:center;margin-bottom:40px}
.form_submit button{
  background:var(--ink);color:#fff;border:1px solid var(--ink);
  padding:14px 90px;font-size:1.3rem;letter-spacing:.2em;cursor:pointer;
  font-family:var(--font-en);transition:background .25s,color .25s;
}
.form_submit button:hover{background:#fff;color:var(--ink)}
.form_submit button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.form_done{display:none;text-align:center;padding:40px 0;line-height:var(--lineheight02)}

@media (max-width:768px){
  #sub_content{margin-top:120px}
  .g_subt h2{font-size:3rem}
  nav.selector{width:90%;flex-wrap:wrap;gap:12px 3%}
  nav.selector ul{width:47%}
  .model_wrap.sub .model_row a{width:calc(50% - 10px)}
  .news_list.sub .news_grid a{width:100%}
  .model_single_wrap{flex-direction:column}
  .model_single_wrap .img_side{width:100%;padding-right:0;margin-bottom:60px}
  .img_side .main{margin-bottom:60px}
  .model_single_wrap .tx_wrap{width:100%;position:static}
  .company_table th{width:100%;padding-bottom:0}
  .company_table td{width:100%}
}

/*----------------------------------------------------- news single (values from studied sub.css) */
.news_single{max-width:1000px;margin:0 auto;padding:0 20px}
.news_single_t{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--hairline)}
.news_single_t time{display:inline-block;margin-bottom:20px;color:var(--gray);font-size:1.2rem;font-family:var(--font-en);letter-spacing:.1em}
.news_single_t .news_cat{display:inline-block;margin-left:16px;color:var(--mid);font-size:1.1rem;letter-spacing:.16em}
.news_single_t h3{font-size:var(--size05);line-height:1.8;font-weight:500}
.news_single_img{width:50%;margin-bottom:40px}
.news_single_img .imgbox{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden}
.news_single_tx{line-height:var(--lineheight02)}
.news_single_tx p{line-height:var(--lineheight02);margin-bottom:2em}
.news_back{text-align:center;margin-top:80px}
@media (max-width:768px){
  .news_single_img{width:100%}
}
