/*
Theme Name: ITTO CREATE Complete Production Visual Editor v15
Theme URI: https://www.itto-create.co.jp/
Author: FULLEST
Description: 公開中の株式会社イット公式サイトを基準に、ページ構成・配色・余白・モーション・投稿構造を再構築した復元テーマ。
Version: 15.0.0
Text Domain: itto-create-v9
*/

/* v7 visual refinement */
:root{--itto-yellow:#f7df00;--itto-black:#121212;--itto-gray:#f4f4f1}body{letter-spacing:.015em}.hero{min-height:calc(100vh - 80px);overflow:hidden}.hero:before{content:"";position:absolute;width:42vw;height:42vw;border:1px solid rgba(0,0,0,.12);border-radius:50%;right:-12vw;top:-12vw;animation:ittoSpin 28s linear infinite}.hero-copy h1{line-height:.98;letter-spacing:-.06em}.hero-copy h1 br:nth-child(1)+*{color:inherit}.section h2{letter-spacing:-.045em}.page-hero{min-height:420px}.page-hero:after{content:attr(data-title);position:absolute;right:-.02em;bottom:-.18em;font-size:clamp(80px,15vw,240px);font-weight:900;line-height:1;color:rgba(0,0,0,.055);white-space:nowrap}.tilt-card,.case-card,.column-card{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}.tilt-card:hover,.case-card:hover,.column-card:hover{transform:translateY(-10px) rotate(-.35deg);box-shadow:0 28px 70px rgba(0,0,0,.14)}.visual-split img,.service-stack img{filter:saturate(1.05) contrast(1.02)}@keyframes ittoSpin{to{transform:rotate(360deg)}}@media(max-width:767px){.hero{min-height:auto}.page-hero{min-height:300px}.page-hero:after{font-size:25vw}}


/* v10: Success cases page */
.works-filter{max-width:1240px;margin:0 auto 64px;padding:28px 36px;border-top:1px solid #111;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;gap:32px}.works-filter strong{display:block;font-size:1.2rem}.works-filter span{font-size:.85rem;color:#777}.works-filter-tags{display:flex;flex-wrap:wrap;gap:8px}.works-filter-tags button{border:1px solid #111;background:#fff;border-radius:999px;padding:10px 18px;font-weight:700;cursor:pointer}.works-filter-tags button.is-active,.works-filter-tags button:hover{background:#111;color:#fff}.works-case-card{transition:opacity .25s ease,transform .25s ease}.works-empty{padding:80px 20px;text-align:center;background:#f5f5f5}.case-single-hero{max-width:1240px;margin:0 auto;padding:150px 30px 70px}.case-single-meta{display:flex;gap:20px;font-size:.8rem;font-weight:700;letter-spacing:.12em}.case-single-hero h1{font-size:clamp(2.2rem,5vw,5rem);line-height:1.18;max-width:1100px;margin:30px 0 0}.case-single-mainvisual{max-width:1400px;margin:0 auto;background:#eee}.case-single-mainvisual img{display:block;width:100%;max-height:760px;object-fit:cover}.case-single-layout{max-width:1240px;margin:0 auto;padding:90px 30px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:90px}.case-single-content{font-size:1.05rem;line-height:2}.case-single-content h2{font-size:2rem;margin:2.5em 0 .8em;border-left:8px solid #ffe100;padding-left:20px}.case-single-side{position:sticky;top:120px;align-self:start;background:#ffe100;padding:36px}.case-single-side span{font-size:.75rem;letter-spacing:.14em;font-weight:800}.case-single-side h2{font-size:1.7rem;line-height:1.5}.case-single-side a{display:inline-block;margin-top:28px;color:#111;font-weight:800}.case-single-nav{max-width:1240px;margin:0 auto 100px;padding:0 30px}.case-single-nav a{font-weight:800}@media(max-width:800px){.works-filter{margin:0 20px 40px;padding:22px 0;display:block}.works-filter-tags{margin-top:18px}.case-single-layout{grid-template-columns:1fr;padding:55px 20px;gap:35px}.case-single-side{position:static}.case-single-hero{padding:110px 20px 45px}}


/* v12 — success case reliability and visual polish */
body.single-works main,
body.page-template-default main{overflow:hidden}
.case-single-hero{position:relative;isolation:isolate;border-bottom:1px solid #d9d9d4}
.case-single-hero:before{content:"CASE STUDY";position:absolute;z-index:-1;right:-.03em;bottom:-.12em;font:900 clamp(86px,15vw,230px)/.8 Arial,sans-serif;letter-spacing:-.08em;color:#f4f4f0;white-space:nowrap}
.case-single-meta a{display:inline-flex;align-items:center;gap:10px}
.case-single-meta a:before{content:"";width:34px;height:4px;background:var(--itto-yellow)}
.case-single-hero h1{letter-spacing:-.045em}
.case-single-mainvisual{position:relative;overflow:hidden}
.case-single-mainvisual:after{content:"";position:absolute;left:0;bottom:0;width:28%;height:16px;background:var(--itto-yellow)}
.case-single-content .entry-content>h2:first-child{margin-top:0}
.case-single-content .entry-content>p:first-of-type{font-size:clamp(1.12rem,1.6vw,1.35rem);font-weight:700;line-height:2}
.case-single-content .entry-content img{margin:42px 0;width:100%;height:auto}
.case-single-content .entry-content ul{padding-left:1.4em}
.case-single-content .entry-content blockquote{margin:48px 0;padding:30px 36px;background:#f4f4f1;border-left:10px solid var(--itto-yellow);font-size:1.12rem;font-weight:700}
.case-single-side{box-shadow:14px 14px 0 #111}
.case-single-side a{border-bottom:2px solid #111;padding-bottom:4px}
.case-single-nav{display:flex;justify-content:space-between;border-top:1px solid #bbb;padding-top:30px}
.case-related{max-width:1240px;margin:0 auto 120px;padding:0 30px}
.case-related-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #111;padding-bottom:22px;margin-bottom:35px}
.case-related-head h2{font-size:clamp(2rem,4vw,4rem);line-height:1;margin:0;letter-spacing:-.05em}
.case-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.case-related-card{display:block}
.case-related-card figure{aspect-ratio:4/3;margin:0 0 18px;overflow:hidden;background:#eee}
.case-related-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.case-related-card:hover img{transform:scale(1.06)}
.case-related-card small{font-size:.72rem;font-weight:800;letter-spacing:.08em}
.case-related-card h3{font-size:1.18rem;line-height:1.5;margin:8px 0 0}
.works-case-card{position:relative}
.works-case-card .case-no{font:900 clamp(36px,5vw,72px)/1 Arial,sans-serif;color:transparent;-webkit-text-stroke:1px #111}
.works-case-card small{font-size:.72rem;font-weight:800;letter-spacing:.09em}
.works-case-card h2{letter-spacing:-.035em}
.works-case-card a{display:inline-flex;align-items:center;gap:14px;border-bottom:3px solid var(--itto-yellow);font-weight:900;padding-bottom:5px}
@media(max-width:800px){
  .case-single-hero:before{font-size:24vw}
  .case-related-grid{grid-template-columns:1fr}
  .case-related{padding:0 20px;margin-bottom:80px}
  .case-single-side{box-shadow:8px 8px 0 #111}
}
