@charset "UTF-8";
/*
Theme Name: NEXT ART
Theme URI:
Author: NEXT ART
Description: 株式会社ネクストアート コーポレートサイト（テンプレ⑥ベース／ゴールド×白×黒）
Version: 1.0
*/

:root{
  --gold:#b8935a;
  --gold-deep:#8c6a38;
  --gold-light:#d9c19a;
  --base:#ffffff;
  --off:#f7f5f1;
  --ink:#1a1a1a;
  --text:#2b2b2b;
  --gray:#6b6b6b;
  --line:#e4ded3;
  --gold-grad:linear-gradient(135deg,#d9c19a 0%,#b8935a 45%,#8c6a38 100%);
  --pc:1441px;--tab:1024px;--sp:768px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{font-size:100%;scroll-behavior:smooth;}
body{
  font-family:"Noto Serif JP",serif;
  color:var(--text);
  background:var(--base);
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
.en{font-family:"Cinzel",serif;letter-spacing:.08em;}
.serif-en{font-family:"Cormorant Garamond",serif;}
.wrap{width:min(1120px,90%);margin:0 auto;}

/* ===== ローディング ===== */
.loading{
  position:fixed;inset:0;z-index:9999;background:var(--ink);
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  opacity:0;visibility:hidden;transition:.6s;
}
.loading.active{opacity:1;visibility:visible;}
.loading .loadinglogo img{height:120px;width:auto;margin-bottom:24px;background:#fff;padding:18px 28px;border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.25);}
.loading .loadingtext{font-family:"Cinzel",serif;color:var(--gold-light);font-size:26px;letter-spacing:.2em;margin-bottom:24px;}
.spinner-box{display:flex;align-items:center;justify-content:center;}
.pulse-container{display:flex;gap:8px;}
.pulse-bubble{width:10px;height:10px;border-radius:50%;background:var(--gold);}
.pulse-bubble-1{animation:pulse .4s ease .0s infinite alternate;}
.pulse-bubble-2{animation:pulse .4s ease .2s infinite alternate;}
.pulse-bubble-3{animation:pulse .4s ease .4s infinite alternate;}
@keyframes pulse{from{opacity:1;transform:scale(1);}to{opacity:.25;transform:scale(.75);}}

/* ===== ダマスク背景（風水ゴール／世界観） ===== */
.damask-bg{position:relative;}
.damask-bg::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 20% 30%, rgba(184,147,90,.04) 0%, transparent 40%),
                   radial-gradient(circle at 80% 70%, rgba(184,147,90,.04) 0%, transparent 40%);
  pointer-events:none;
}

/* ===== ヘッダー ===== */
header{position:fixed;top:0;left:0;width:100%;z-index:50;}
#header_pc{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 40px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
  transition:.3s;
}
.header_logo img{height:60px;width:auto;}
.header_logo .logo-txt{display:flex;align-items:center;gap:10px;}
.header_logo .mark{
  width:52px;height:52px;border-radius:50%;
  background:var(--gold-grad);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-family:"Cinzel";font-weight:700;font-size:22px;
  box-shadow:0 2px 8px rgba(140,106,56,.3);
}
.header_logo .name{font-family:"Cinzel";font-weight:700;font-size:26px;color:var(--ink);letter-spacing:.05em;}
.header_logo .name span{color:var(--gold-deep);}
.header_menu ul{display:flex;align-items:center;gap:26px;}
.header_menu a{
  font-size:15px;color:var(--ink);font-weight:500;position:relative;padding-bottom:4px;
  transition:.3s;
}
.header_menu a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:.3s;
}
.header_menu a:hover,.header_menu a.current{color:var(--gold-deep);}
.header_menu a:hover::after,.header_menu a.current::after{width:100%;}
.header_menu .sns a{font-size:16px;color:var(--gold-deep);}
.header_menu .sns a::after{display:none;}

/* SP header */
#header_sp{display:none;}
@media(max-width:1024px){
  #header_pc{display:none;}
  #header_sp{display:block;}
  .header_sp_top{
    display:flex;align-items:center;justify-content:flex-start;
    padding:12px 18px;background:rgba(255,255,255,.95);
    border-bottom:1px solid var(--line);backdrop-filter:blur(8px);
  }
  .header_sp_top .logo-txt{display:flex;align-items:center;gap:8px;}
  .header_sp_top .header_logo img{height:42px;}
  .header_sp_top .mark{width:40px;height:40px;font-size:18px;}
  .header_sp_top .name{font-family:"Cinzel";font-weight:700;font-size:18px;color:var(--ink);}
  .header_sp_top .name span{color:var(--gold-deep);}
  .header_sp_bottom{
    position:fixed;bottom:0;left:0;width:100%;z-index:50;
    background:var(--ink);
  }
  .header_sp_bottom ul{display:flex;}
  .header_sp_bottom>ul>li{flex:1;}
  .header_sp_bottom a,.header_sp_bottom .hamburger{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:9px 0;color:#fff;cursor:pointer;
  }
  .header_sp_bottom .header_icon{height:18px;display:flex;align-items:center;justify-content:center;}
  .header_sp_bottom .header_icon i{font-size:17px;color:var(--gold-light);}
  .header_sp_bottom p{font-size:9px;margin-top:3px;letter-spacing:.05em;}
  .hamburger span{display:block;width:22px;height:2px;background:var(--gold-light);margin:2px 0;transition:.3s;}
  .globalMenuSp{
    position:fixed;top:0;left:0;width:100%;height:100vh;
    background:rgba(26,26,26,.97);z-index:60;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    opacity:0;visibility:hidden;transition:.4s;
  }
  .globalMenuSp.active{opacity:1;visibility:visible;}
  .globalMenuSp ul.mainlinks li{margin:14px 0;text-align:center;}
  .globalMenuSp ul.mainlinks a{color:#fff;font-size:19px;letter-spacing:.1em;}
  .globalMenuSp .sns{display:flex;gap:24px;margin-top:30px;}
  .globalMenuSp .sns a{color:var(--gold-light);font-size:20px;}
  .globalMenuSp .close-menu{position:absolute;top:24px;right:24px;color:#fff;font-size:26px;cursor:pointer;}
  .globalMenuSp .policy{margin-top:26px;}
  .globalMenuSp .policy a{color:var(--gold-light);font-size:13px;}
}

/* タブレット（769〜1024px）はPCヘッダーを表示し、SP下部バーは非表示 */
@media(min-width:769px) and (max-width:1024px){
  #header_pc{display:flex;padding:14px 24px;}
  #header_sp{display:none;}
  .header_menu ul{gap:16px;}
  .header_menu a{font-size:13px;}
  .header_logo img{height:50px;}
}

/* ===== 下層展開ヘッダー ===== */
#lower{position:relative;height:460px;overflow:hidden;}
#lower .lower{position:absolute;inset:0;background-size:cover;background-position:center;}
#lower .lower_bg{position:absolute;inset:0;background:rgba(26,26,26,.55);}
#lower .lower_contents{
  position:absolute;inset:0;z-index:2;padding-top:77px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;
}
#lower .lower_contents h1{font-size:34px;font-weight:600;letter-spacing:.15em;margin-bottom:6px;}
#lower .lower_contents p{font-family:"Cinzel";font-size:15px;letter-spacing:.3em;color:var(--gold-light);}
@media(max-width:1024px){
  #lower .lower_contents{padding-top:57px;}
}
@media(max-width:768px){
  #lower{height:300px;}
  #lower .lower_contents h1{font-size:24px;}
}

/* ===== TOP メイン ===== */
#top_main{position:relative;height:100vh;min-height:600px;overflow:hidden;}
#top_main .slider,#top_main .slick-list,#top_main .slick-track{height:100%;}
#top_main .slick-img{position:relative;height:100vh;min-height:600px;}
#top_main .slick-img img{width:100%;height:100%;object-fit:cover;}
#top_main::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(26,26,26,.55) 0%, rgba(26,26,26,.4) 45%, rgba(26,26,26,.55) 100%);}
.top_main_title{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#fff;text-align:center;padding:0 20px;
}
.top_main_title::before{
  content:"";position:absolute;z-index:-1;width:min(760px,90%);height:280px;
  background:radial-gradient(ellipse at center, rgba(20,18,14,.5) 0%, transparent 70%);
}
.top_main_title .en-title{
  font-family:"Cinzel";font-size:clamp(26px,6vw,72px);font-weight:600;letter-spacing:.12em;
  margin-bottom:22px;line-height:1.25;color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.45);
}
.top_main_title .en-title .accent-line{
  display:block;width:70px;height:2px;margin:20px auto 0;
  background:var(--gold-grad);
}
.top_main_title .sub{font-size:clamp(15px,2vw,20px);letter-spacing:.2em;font-weight:300;
  text-shadow:0 1px 8px rgba(0,0,0,.5);}
.scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:3;color:#fff;font-size:12px;letter-spacing:.2em;text-align:center;}
.scroll-cue i{display:block;margin-top:6px;animation:bob 1.6s infinite;}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(6px);}}

/* ===== NEWS ===== */
#top_news{background:var(--off);padding:70px 0;}
.top_news_flex{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:34px;}
.headline-block h2{font-family:"Cinzel";font-size:30px;color:var(--ink);letter-spacing:.06em;}
.headline-block h2 .accent{color:var(--gold-deep);}
.headline-block p{font-size:13px;color:var(--gold-deep);letter-spacing:.2em;margin-top:2px;}
.more-btn button{
  background:none;border:none;cursor:pointer;color:var(--text);font-size:14px;
  display:flex;align-items:center;gap:8px;font-family:"Noto Serif JP";
}
.more-btn i{color:var(--gold-deep);}
.news-list a{display:block;border-bottom:1px dashed var(--line);padding:16px 4px;transition:.3s;}
.news-list a:hover{background:rgba(184,147,90,.05);}
.news-item{display:flex;align-items:center;gap:22px;}
.news-item .date{background:var(--ink);color:#fff;font-size:12px;padding:4px 12px;letter-spacing:.05em;flex-shrink:0;}
.news-item .cat{color:var(--gold-deep);font-size:12px;border:1px solid var(--gold);padding:2px 10px;flex-shrink:0;}
.news-item .title{font-size:15px;}
@media(max-width:768px){
  .news-item{flex-wrap:wrap;gap:10px;}
  .news-item .title{width:100%;}
}

/* ===== TOP コンテンツ ===== */
#top_contents{background:var(--base);}
.contents{display:flex;align-items:center;gap:0;}
.contents_image{flex:1;overflow:hidden;}
.contents_image img{width:100%;height:520px;object-fit:cover;transition:.6s;}
.contents_writing{flex:1;padding:60px clamp(30px,5vw,80px);}
.contents_writing .headline h2{
  font-family:"Cinzel";font-size:clamp(24px,3vw,34px);color:var(--ink);letter-spacing:.04em;margin-bottom:10px;
}
.contents_writing .headline h3{
  display:inline-block;font-size:15px;color:#fff;background:var(--gold-grad);
  padding:4px 16px;letter-spacing:.08em;margin-bottom:24px;font-weight:500;
}
.contents_writing .text p{color:var(--text);font-size:15px;line-height:2.1;}
.contents_writing .text p+p{margin-top:16px;}
.reverse{flex-direction:row-reverse;}
@media(max-width:768px){
  .contents,.reverse{flex-direction:column;}
  .contents_image img{height:280px;}
  .contents_writing{padding:40px 24px;}
}

/* divider */
#contents_divide{height:360px;background-size:cover;background-position:center;background-attachment:fixed;}
@media(max-width:768px){#contents_divide{height:220px;background-attachment:scroll;}}

/* recruit block on top */
#bottom_contents{background:linear-gradient(180deg,#2b2b2b 0%,#1a1a1a 100%);padding:0;}
.top-recruit{display:flex;align-items:center;gap:0;}
.top-recruit .contents_image{flex:1;}
.top-recruit .contents_image img{height:480px;object-fit:cover;width:100%;}
.top-recruit .card{flex:1;padding:60px clamp(30px,5vw,80px);}
.top-recruit .card h2{font-family:"Cinzel";font-size:32px;color:var(--gold-light);margin-bottom:8px;}
.top-recruit .card h3{display:inline-block;font-size:14px;color:var(--ink);background:var(--gold-light);padding:3px 14px;margin-bottom:22px;}
.top-recruit .card p{color:#e8e2d6;font-size:15px;line-height:2.1;margin-bottom:26px;}
.gold-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--gold-grad);color:#fff;border:none;cursor:pointer;
  padding:14px 34px;font-size:15px;letter-spacing:.05em;font-family:"Noto Serif JP";
  transition:.3s;box-shadow:0 4px 14px rgba(140,106,56,.35);
}
.gold-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(140,106,56,.45);}
@media(max-width:768px){
  .top-recruit{flex-direction:column;}
  .top-recruit .contents_image img{height:280px;width:100%;}
  .top-recruit .card{padding:40px 24px;}
}

/* ===== Instagram ===== */
#top_insta{background:var(--off);padding:70px 0;text-align:center;}
#top_insta .insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px;}
#top_insta .insta-grid a{position:relative;aspect-ratio:1;overflow:hidden;display:block;}
#top_insta .insta-grid img{width:100%;height:100%;object-fit:cover;transition:.4s;}
#top_insta .insta-grid a::after{content:"\f16d";font-family:"Font Awesome 6 Brands";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;background:rgba(184,147,90,.35);opacity:0;transition:.3s;}
#top_insta .insta-grid a:hover::after{opacity:1;}
#top_insta .insta-grid a:hover img{transform:scale(1.08);}
.insta-follow{margin-top:30px;}
@media(max-width:768px){#top_insta .insta-grid{grid-template-columns:repeat(2,1fr);}}

/* ===== flex banner ===== */
#flex_contents{background:var(--ink);padding:0;}
.flex_contents ul{display:flex;}
.flex_contents li{flex:1;position:relative;overflow:hidden;height:240px;}
.flex_contents li a{display:block;position:relative;width:100%;height:100%;}
.flex_contents .list{position:absolute;inset:0;background-size:cover;background-position:center;transition:.6s;}
.flex_contents li::after{content:"";position:absolute;inset:0;background:rgba(26,26,26,.5);transition:.3s;pointer-events:none;}
.flex_contents li:hover .list{transform:scale(1.08);}
.flex_contents li:hover::after{background:rgba(26,26,26,.3);}
.flex_contents .list_headline{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;pointer-events:none;}
.flex_contents .list_headline h2{font-family:"Cinzel";font-size:24px;letter-spacing:.08em;margin-bottom:6px;}
.flex_contents .list_headline .bar{width:60px;height:1px;background:var(--gold-light);margin-bottom:10px;}
.flex_contents .list_headline p{font-size:13px;letter-spacing:.15em;background:var(--gold-grad);padding:3px 14px;}
@media(max-width:768px){
  .flex_contents ul{flex-direction:column;}
  /* 縦並びでは flex:1(flex-basis:0) が height を上書きして潰れるため flex を解除 */
  .flex_contents li{flex:none;width:100%;height:160px;}
}

/* ===== footer contact ===== */
#footer_contact{position:relative;background-size:cover;background-position:center;padding:80px 0;}
#footer_contact::before{content:"";position:absolute;inset:0;background:rgba(26,26,26,.78);}
.footer_contact_contents{position:relative;z-index:2;text-align:center;color:#fff;}
.footer_contact_contents h2{font-family:"Cinzel";font-size:34px;color:var(--gold-light);letter-spacing:.08em;}
.footer_contact_contents .sub{font-size:13px;letter-spacing:.2em;margin-bottom:36px;}
.footer_contact_content{display:flex;gap:20px;justify-content:center;max-width:720px;margin:0 auto 26px;}
.footer_contact_content .footer_contact_tel,.footer_contact_content .footer_contact_form{flex:1;}
.footer_contact_content .footer_contact_form a{display:block;}
.footer_contact_content button{width:100%;padding:18px;border:none;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;gap:10px;font-family:"Noto Serif JP";transition:.3s;}
.footer_contact_tel button{background:#fff;color:var(--ink);}
.footer_contact_tel button:hover{background:var(--gold-light);}
.footer_contact_tel button.pc{cursor:default;}
.footer_contact_tel .sp{display:none;}
.footer_contact_form button{background:var(--gold-grad);color:#fff;}
.footer_contact_form button:hover{opacity:.9;}
.footer_contact_contents .text{font-size:13px;color:#d8d2c6;margin-top:6px;}
@media(max-width:768px){
  .footer_contact_content{flex-direction:column;}
  .footer_contact_tel .pc{display:none;}
  .footer_contact_tel .sp{display:block;}
}

footer{background:var(--ink);padding:40px 0 26px;}
.footer_menu{text-align:center;}
.footer_menu ul{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-bottom:20px;}
.footer_menu a{color:#d8d2c6;font-size:13px;transition:.3s;}
.footer_menu a:hover{color:var(--gold-light);}
.footer_menu .sns{gap:20px;}
.footer_menu .sns a{color:var(--gold-light);font-size:16px;}
.copyright{text-align:center;color:#888;font-size:12px;letter-spacing:.05em;}
.copyright .en{color:var(--gold-light);}

/* ===== SERVICE page ===== */
#service{padding:80px 0;}
.service_text{text-align:center;max-width:100%;margin:0 auto 56px;color:var(--text);font-size:16px;line-height:2.2;}
.service_contents ul{display:flex;flex-direction:column;gap:26px;}
.service_contents li{position:relative;min-height:300px;background-size:cover;background-position:center;display:flex;align-items:flex-end;overflow:hidden;}
.service_contents li::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,26,26,.2) 0%,rgba(26,26,26,.55) 45%,rgba(26,26,26,.94) 100%);}
.service_contents .list_writing{position:relative;z-index:2;padding:40px;color:#fff;max-width:640px;text-shadow:0 1px 6px rgba(0,0,0,.6);}
.service_contents .list_writing h2{font-size:26px;margin-bottom:12px;letter-spacing:.04em;}
.service_contents .list_writing h2 .num{font-family:"Cinzel";color:var(--gold-light);font-size:16px;margin-right:14px;}
.service_contents .list_writing p{font-size:15px;line-height:2;}
@media(max-width:768px){
  .service_contents .list_writing{padding:28px 22px;}
  .service_contents .list_writing h2{font-size:20px;letter-spacing:.02em;}
  .service_contents .list_writing h2 .num{font-size:14px;margin-right:10px;}
}

/* ===== COMPANY (service内に統合) ===== */
#company{padding:80px 0 100px;background:var(--off);position:relative;}
#company::before{
  content:"COMPANY";position:absolute;top:34px;left:50%;transform:translateX(-50%);
  font-family:"Cinzel",serif;font-size:clamp(48px,9vw,120px);font-weight:700;
  color:rgba(184,147,90,.06);letter-spacing:.1em;pointer-events:none;white-space:nowrap;
}
.company-head{text-align:center;margin-bottom:50px;position:relative;}
.company-head h2{font-family:"Cinzel",serif;font-size:30px;color:var(--ink);letter-spacing:.08em;}
.company-head .bar{width:50px;height:2px;background:var(--gold-grad);margin:14px auto 8px;}
.company-head p{font-size:13px;color:var(--gold-deep);letter-spacing:.2em;}
.company-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:start;}
.company-card{
  background:#fff;padding:14px 40px;
  box-shadow:0 10px 40px rgba(140,106,56,.08);
  border-top:3px solid transparent;border-image:var(--gold-grad) 1;
}
.company-card .row{
  display:flex;align-items:flex-start;gap:20px;
  padding:20px 0;border-bottom:1px solid var(--line);
}
.company-card .row:last-child{border-bottom:none;}
.company-card .ico{
  flex-shrink:0;width:42px;height:42px;border-radius:50%;
  background:var(--gold-grad);display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:16px;box-shadow:0 3px 10px rgba(140,106,56,.3);
}
.company-card .label-wrap{flex-shrink:0;width:90px;}
.company-card .label-wrap .ja{font-size:14px;color:var(--ink);font-weight:600;display:block;}
.company-card .label-wrap .en{font-family:"Cinzel",serif;font-size:10px;color:var(--gold-deep);letter-spacing:.1em;}
.company-card .val{font-size:15px;color:var(--text);line-height:1.7;padding-top:2px;}
.company-map-wrap{position:sticky;top:100px;}
.company-map-wrap .map,.company-map-wrap iframe{
  width:100%;height:100%;min-height:440px;background:#efe9df;
  border:1px solid var(--line);display:flex;flex-direction:column;
  align-items:center;justify-content:center;color:var(--gold-deep);gap:12px;
  box-shadow:0 10px 40px rgba(140,106,56,.08);
}
.company-map-wrap iframe{display:block;}
.company-map-wrap .map i{font-size:34px;opacity:.5;}
.company-map-wrap .map span{font-family:"Cinzel",serif;font-size:13px;letter-spacing:.15em;}
.company-map-wrap .map small{font-size:12px;color:var(--gray);}
@media(max-width:1024px){
  .company-layout{grid-template-columns:1fr;gap:28px;}
  .company-map-wrap{position:static;}
  .company-map-wrap .map,.company-map-wrap iframe{min-height:300px;}
}
@media(max-width:768px){
  #company{padding:60px 0 80px;}
  .company-card{padding:10px 24px;}
  .company-card .row{gap:14px;padding:18px 0;}
  .company-card .ico{width:36px;height:36px;font-size:14px;}
  .company-card .label-wrap{width:76px;}
}

.lower_headline{font-size:22px;color:var(--ink);letter-spacing:.06em;position:relative;padding-left:18px;margin-bottom:30px;}
.lower_headline::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:22px;background:var(--gold-grad);}

/* ===== WORKS page ===== */
#works{padding:80px 0;}
.works_text{text-align:center;max-width:100%;margin:0 auto 50px;font-size:16px;line-height:2.2;}
.works_contents{margin-bottom:60px;}
.works_contents ul{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.works_contents li{background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.06);transition:.3s;overflow:hidden;}
.works_contents li:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(140,106,56,.15);}
.works_contents .thumb{position:relative;height:220px;overflow:hidden;}
.works_contents .thumb img{width:100%;height:100%;object-fit:cover;}
.works_contents .thumb .search{position:absolute;inset:0;background:rgba(26,26,26,.4);display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;opacity:0;transition:.3s;cursor:pointer;pointer-events:none;}
.works_contents li:hover .search{opacity:1;}
.works_contents .outline{padding:20px;}
.works_contents .outline h4{font-size:16px;margin-bottom:8px;color:var(--ink);}
.works_contents .outline .text{font-size:13px;color:var(--gray);}
@media(max-width:1024px){.works_contents ul{grid-template-columns:repeat(2,1fr);}}
@media(max-width:768px){.works_contents ul{grid-template-columns:1fr;}}

/* ===== RECRUIT page ===== */
#recruit{padding:80px 0;}
.recruit_text{text-align:center;max-width:100%;margin:0 auto 50px;font-size:16px;line-height:2.2;}
.recruit_content{background:var(--off);padding:44px;margin-bottom:30px;border:1px solid var(--line);}
.recruit_content .lower_headline{margin-bottom:24px;}
.recruit_content table{width:100%;border-collapse:collapse;}
.recruit_content th,.recruit_content td{text-align:left;padding:16px 18px;border-bottom:1px solid #ddd4c4;font-size:15px;vertical-align:top;}
.recruit_content th{width:200px;color:var(--gold-deep);font-weight:600;}
.recruit_btn{text-align:center;margin-top:44px;}
@media(max-width:768px){
  .recruit_content{padding:26px 20px;}
  .recruit_content .lower_headline{font-size:18px;letter-spacing:.03em;padding-left:14px;}
  .recruit_content .lower_headline::before{width:4px;height:18px;}
  .recruit_content th,.recruit_content td{display:block;width:100%;}
  .recruit_content th{padding-bottom:2px;}
}

/* ===== CONTACT page ===== */
#contact{padding:80px 0;}
.contact_text{text-align:center;max-width:100%;margin:0 auto 46px;font-size:16px;line-height:2.2;}
.contact .form{max-width:760px;margin:0 auto;background:var(--off);padding:50px;border:1px solid var(--line);}
.contact .form p{margin-bottom:0;}
.contact dl,.contact .form-row{margin-bottom:26px;}
.contact label{display:block;font-size:14px;margin-bottom:8px;color:var(--ink);font-weight:600;}
.contact .req,.contact label .req{color:#fff;background:var(--gold-deep);font-size:11px;padding:2px 8px;margin-left:8px;}
/* プライバシーポリシー同意チェックのラベルはバッジ化せず、文字色のみ */
.contact .wpcf7-list-item-label{color:var(--ink);background:none;font-size:inherit;font-weight:400;padding:0;margin-left:0;}
.contact input[type=text],.contact input[type=email],.contact input[type=tel],.contact textarea,
.form-row input,.form-row textarea{width:100%;padding:14px;border:1px solid var(--line);background:#fff;font-family:inherit;font-size:15px;}
.contact textarea,.form-row textarea{min-height:160px;resize:vertical;}
.form-submit,.contact .wpcf7-submit-wrap{text-align:center;margin-top:36px;}
.contact .wpcf7-submit,.contact input[type=submit]{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--gold-grad);color:#fff;border:none;cursor:pointer;
  padding:14px 44px;font-size:15px;letter-spacing:.05em;font-family:"Noto Serif JP";
  transition:.3s;box-shadow:0 4px 14px rgba(140,106,56,.35);
}
.contact .wpcf7-submit:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(140,106,56,.45);}
@media(max-width:768px){.contact .form{padding:30px 22px;}}

/* ===== NEWS archive / single ===== */
#news,#news_single{padding:80px 0;}
#news .news_contents,#news_single .news_contents{width:min(900px,90%);margin:0 auto;}
#news .news_contents>h4{text-align:center;font-size:16px;color:var(--gold-deep);margin-bottom:36px;}
#news .news_contents ul,#news_single .news_contents ul{display:block;}
#news .news_contents li{border-bottom:1px dashed var(--line);transition:.3s;}
#news .news_contents a:hover li{background:rgba(184,147,90,.05);}
#news .news_contents li .date,#news_single .news_contents li .date{display:inline-block;background:var(--ink);color:#fff;font-size:12px;padding:4px 12px;margin:18px 0 8px;}
#news .news_contents .title,#news_single .news_contents .title{font-size:16px;color:var(--ink);margin-bottom:8px;}
#news .news_contents .sp_title{display:flex;align-items:center;justify-content:space-between;gap:12px;}
#news .news_contents .sp_title i{color:var(--gold-deep);}
#news .news_contents .descn,#news_single .news_contents .descn{font-size:14px;color:var(--gray);padding-bottom:18px;}
#news_single .news_contents li{padding-bottom:18px;}
#news_single .news_contents .descn p{color:var(--text);}

/* ===== pagination ===== */
.navigation{margin-top:40px;text-align:center;}
.wp-pagenavi{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}
.wp-pagenavi a,.wp-pagenavi span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 6px;border:1px solid var(--line);
  color:var(--text);font-size:14px;transition:.3s;
}
.wp-pagenavi a:hover,.wp-pagenavi span.current{background:var(--gold-grad);color:#fff;border-color:transparent;}

/* ===== back to top ===== */
.back-to-top,.topBtnSp{
  position:fixed;right:24px;bottom:30px;z-index:40;
  width:48px;height:48px;border-radius:50%;
  background:var(--gold-grad);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:18px;
  box-shadow:0 4px 14px rgba(140,106,56,.4);transition:.3s;
  opacity:0;visibility:hidden;pointer-events:none;
}
.back-to-top.is-visible,.topBtnSp.is-visible{opacity:1;visibility:visible;pointer-events:auto;}
.back-to-top:hover{transform:translateY(-3px);}
.topBtnSp{display:none;flex-direction:column;font-size:14px;}
.topBtnSp p{font-size:8px;margin-top:2px;}
@media(max-width:1024px){
  .back-to-top{display:none;}
  .topBtnSp{display:flex;bottom:74px;width:44px;height:44px;}
}

/* ===== modal (works popup) ===== */
#modal-container{display:none;position:fixed;inset:0;z-index:9000;background:rgba(26,26,26,.9);align-items:center;justify-content:center;opacity:0;transition:opacity .35s ease;}
#modal-container.is-open{opacity:1;}
#modal-container .modal-image-wrap{position:relative;max-width:90%;max-height:90%;transform:scale(.92);transition:transform .35s ease;}
#modal-container.is-open .modal-image-wrap{transform:scale(1);}
#modal-container img{max-width:100%;max-height:85vh;object-fit:contain;}
#modal-container .close{position:absolute;top:-40px;right:0;cursor:pointer;color:#fff;font-size:28px;}
#modal-container .close::before{content:"\00d7";}

/* section intro fade */
.reveal,.fade-in{opacity:0;transform:translateY(24px);transition:.8s;}
.reveal.on,.fade-in.scroll-in{opacity:1;transform:none;}

/* ===== 画像プレースホルダ／フォールバック ===== */
img.img-cover{display:block;width:100%;object-fit:cover;}
img.ph-fallback{background:linear-gradient(135deg,#efe9df 0%,#e2d6bf 50%,#d9c19a 100%);min-height:120px;}

/* ===== フォーム 必須/任意バッジ ===== */
.wpcf7 .red,.wpcf7 .blue{
  display:inline-block;color:#fff;font-size:11px;font-weight:500;
  line-height:1;padding:4px 9px;border-radius:3px;margin-left:8px;
  letter-spacing:.06em;vertical-align:middle;
}
.wpcf7 .red{background:#c0392b;}   /* 必須 */
.wpcf7 .blue{background:#2f6fb0;}  /* 任意 */

/* ===== プライバシーポリシー ===== */
.policy_contents{
  width:min(900px,90%);margin:0 auto;padding:80px 0 100px;color:var(--text);
}
.policy_contents h2{
  font-size:19px;font-weight:600;color:var(--ink);letter-spacing:.04em;
  margin:44px 0 14px;padding-left:14px;border-left:3px solid var(--gold);
}
.policy_contents h2:first-child{margin-top:0;}
.policy_contents p{font-size:15px;line-height:2.1;color:var(--text);}
@media(max-width:768px){
  .policy_contents{padding:50px 0 70px;}
  .policy_contents h2{font-size:17px;margin:32px 0 12px;}
  .policy_contents p{font-size:14px;line-height:2;text-align:left;}
}

/* utility */
.pc-only{display:block;}
.sp-only{display:none;}
@media(max-width:768px){
  .pc-only{display:none;}
  .sp-only{display:block;}
  /* 導入テキストはスマホでは左揃え（中央揃えの均等割付を防ぐ） */
  .works_text,.service_text,.recruit_text,.contact_text{text-align:left;}
  .loading .loadinglogo img{height:84px;padding:14px 20px;}
}
