/* コンセプトページ専用（concept.php）。千本さん制作の concept.css を .conceptMain 配下に限定して変換したもの */
.conceptMain,.conceptMain *{box-sizing:border-box}
.conceptWrap{color:#111;;font-family:"Libre Franklin","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;font-size:16px;font-weight:400}
.conceptMain h1,.conceptMain h2,.conceptMain h3,.conceptMain p,.conceptMain figure{margin:0}
.conceptMain a{color:inherit;text-decoration:none}
.conceptMain a:hover{opacity:.6}
.conceptMain button{font:inherit;color:inherit}
.conceptMain img{display:block;max-width:100%}
.conceptMain ul{list-style:none;margin:0;padding:0}
.conceptMain .en,.conceptMain .eyebrow,.conceptMain .intro-en,.conceptMain .section-label,.conceptMain .section-nav,.conceptMain .product-name,.conceptMain .color-label,.conceptMain figcaption{font-family:"Libre Franklin",Arial,sans-serif}
.conceptMain a:focus-visible,.conceptMain button:focus-visible{outline:2px solid #111;outline-offset:6px}
.conceptMain{width:calc(100% - 100vw / 6);max-width:1440px;margin:auto}
.conceptMain .intro{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:center;padding:108px 0 85px}
.conceptMain .eyebrow{font-size:14px;letter-spacing:.075em;margin-bottom:34px}
.conceptMain .intro h2{font-family:"Libre Franklin","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;font-size:clamp(28px,3vw,49px);font-weight:500;line-height:1.8;letter-spacing:.07em;white-space:nowrap}
.conceptMain .intro-ja{font-size:15px;margin-top:42px;letter-spacing:.05em}
.conceptMain .intro-en{font-size:14px;letter-spacing:.025em;margin-top:12px}
.conceptMain .intro figure{align-self:start}
.conceptMain .intro figure img{width:100%;height:430px;object-fit:cover;object-position:center 40%}
.conceptMain figcaption{font-size:12px;letter-spacing:.06em;margin-top:14px;color:#555}
.conceptMain .section-nav{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #111;border-bottom:1px solid #111;margin-bottom:30px}
.conceptMain .section-nav a{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;font-size:17px}
.conceptMain .section-nav a+a{border-left:1px solid #aaa}
.conceptMain .section-nav span{font-size:12px;color:#666}
.conceptMain .principle{display:grid;grid-template-columns:36% 1fr;gap:7%;padding:100px 0;border-bottom:1px solid #ccc}
.conceptMain .section-label>span{display:block;font-size:12px;letter-spacing:.1em;margin-bottom:20px}
.conceptMain .section-label h2{font-size:clamp(22px,2.4vw,34px);font-weight:500;letter-spacing:-.02em}
.conceptMain .section-copy h3,.conceptMain .color-details h3{font-family:"Libre Franklin","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;font-size:26px;font-weight:600;letter-spacing:.04em;line-height:1.8;margin-bottom:38px}
.conceptMain .section-copy p,.conceptMain .color-details article>p:not(.product-name){font-size:16px;line-height:2.25;letter-spacing:.025em}
.conceptMain .section-copy p+p{margin-top:24px}
.conceptMain .section-copy .emphasis{font-weight:600}
.conceptMain .salon-photo{padding:80px 0 0}
.conceptMain .salon-photo img{width:100%;height:420px;object-fit:cover;object-position:center}
.conceptMain .color-section{display:grid;grid-template-columns:25% 1fr;gap:9%;padding:85px 0 100px;border-bottom:1px solid #111}
.conceptMain .color-label>p{font-size:12px;letter-spacing:.08em;margin-bottom:12px}
.conceptMain .color-label h2{font-size:46px;font-weight:400}
.conceptMain .color-details{display:grid;grid-template-columns:1fr 1fr;gap:9%}
.conceptMain .product-name{font-size:14px;letter-spacing:.13em;padding-bottom:18px;border-bottom:1px solid #ccc;margin-bottom:25px}
.conceptMain .color-details h3{font-size:20px;margin-bottom:24px;line-height:1.9}
.conceptMain .color-details article>p:not(.product-name){font-size:16px;line-height:2.15}
@media(min-width:1600px){
.conceptMain .intro figure img{height:530px}
.conceptMain .intro{padding:120px 0}
}
@media(max-width:1100px){
.conceptMain .intro h2{font-size:32px;white-space:normal}
.conceptMain .intro figure img{height:360px}
.conceptMain .intro-ja{font-size:14px}
.conceptMain .color-section{grid-template-columns:1fr;gap:40px}
.conceptMain .color-label{display:flex;align-items:baseline;gap:30px}
.conceptMain .color-label h2{font-size:38px}
}
@media(max-width:767px){
.conceptMain{width:calc(100% - 48px)}
.conceptMain .intro{grid-template-columns:1fr;padding:55px 0 48px;gap:36px}
.conceptMain .eyebrow{font-size:12px;margin-bottom:25px}
.conceptMain .intro h2{font-size:clamp(25px,6.3vw,38px);white-space:normal;letter-spacing:.025em;line-height:1.9}
.conceptMain .intro-ja{margin-top:28px;font-size:14px;letter-spacing:0}
.conceptMain .intro-en{font-size:13px}
.conceptMain .intro figure img{height:350px}
.conceptMain .section-nav a{padding:20px 10px;font-size:13px}
.conceptMain .section-nav span{display:none}
.conceptMain .principle{grid-template-columns:1fr;gap:32px;padding:60px 0}
.conceptMain .section-label{display:flex;gap:18px;align-items:center}
.conceptMain .section-label>span{margin:0}
.conceptMain .section-label h2{font-size:25px}
.conceptMain .section-copy h3{font-size:23px;margin-bottom:25px}
.conceptMain .section-copy p{font-size:16px;line-height:2.1}
.conceptMain .section-copy br{display:none}
.conceptMain .salon-photo{padding-top:48px}
.conceptMain .salon-photo img{height:260px}
.conceptMain .color-section{padding:55px 0 60px;gap:32px}
.conceptMain .color-details{grid-template-columns:1fr;gap:45px}
.conceptMain .color-details h3{font-size:22px}
.conceptMain .color-label{gap:20px}
}
.conceptMain .intro{display:block;text-align:center;padding:100px 0 75px}
.conceptMain .intro h2{font-size:clamp(28px,3vw,44px);font-weight:500;line-height:1.85;white-space:normal;letter-spacing:.045em}
.conceptMain .intro-ja{margin-top:32px}
.conceptMain .concept-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:120%;margin-left:-10%;padding-bottom:64px;margin-bottom:90px}
.conceptMain .concept-gallery figure:nth-child(2){transform:translateY(32px)}
.conceptMain .concept-gallery figure:nth-child(3){transform:translateY(64px)}
.conceptMain .concept-gallery img{width:100%;height:clamp(240px,25vw,450px);object-fit:cover}
.conceptMain .concept-gallery figure:first-child img{object-position:center 35%}
.conceptMain .section-copy h3,.conceptMain .color-details h3{font-weight:500}
.conceptMain .product-name{text-transform:none}
@media(max-width:767px){
.conceptMain .intro{padding:55px 0 40px}
.conceptMain .intro h2{font-size:clamp(25px,6.3vw,38px)}
.conceptMain .concept-gallery{width:calc(100% + 48px);margin-left:-24px;gap:8px;padding-bottom:30px;margin-bottom:55px}
.conceptMain .concept-gallery img{height:180px}
.conceptMain .concept-gallery figure:nth-child(2){transform:translateY(15px)}
.conceptMain .concept-gallery figure:nth-child(3){transform:translateY(30px)}
.conceptMain .concept-gallery figure:first-child img{object-position:50% 30%}
.conceptMain .section-label h2{font-size:29px}
.conceptMain .section-copy h3{font-size:23px}
}
@media(max-width:380px){
.conceptMain .intro h2{font-size:23px}
.conceptMain .concept-gallery img{height:155px}
}
.conceptMain .intro .eyebrow,.conceptMain .intro .intro-en{font-weight:600}
.conceptMain .en,.conceptMain .eyebrow,.conceptMain .intro-en,.conceptMain .section-label,.conceptMain .section-label h2,.conceptMain .section-nav,.conceptMain .section-nav span,.conceptMain .product-name,.conceptMain .color-label,.conceptMain .color-label>p,.conceptMain figcaption{letter-spacing: .05em;}
.conceptMain .concept-gallery img{height:auto;aspect-ratio:3 / 4;object-fit:cover;object-position:center}
.conceptMain .principle{grid-template-areas:"label copy" "photo copy";grid-template-rows:auto 1fr;column-gap:7%;row-gap:0;align-items:start}
.conceptMain .principle .section-label{grid-area:label}
.conceptMain .principle .section-copy{grid-area:copy;min-width:0}
.conceptMain .principle-photo{grid-area:photo;margin-top:36px;min-width:0}
.conceptMain .principle-photo img{width:100%;height:auto}
.conceptMain .color-section{grid-template-columns:minmax(0,1fr);gap:36px}
.conceptMain .color-label{display:block}
.conceptMain .color-photo img{width:100%;height:auto}
.conceptMain .color-details{gap:7%}
@media(max-width:767px){
.conceptMain .principle{grid-template-areas:"label" "copy" "photo";grid-template-rows:auto;grid-template-columns:minmax(0,1fr);gap:32px}
.conceptMain .principle-photo{margin-top:0}
.conceptMain .color-section{gap:30px}
.conceptMain .color-details{gap:45px}
}
.conceptMain .luviona-heading .heading-line{display:block}
.conceptMain .luviona-heading .mobile-break{display:none}
@media(max-width:767px){
.conceptMain .color-details .luviona-heading{font-size:clamp(16px,4.8vw,22px);letter-spacing:0;line-height:1.9}
.conceptMain .luviona-heading .mobile-break{display:inline}
}
.conceptMain .color-details h3,.conceptMain .color-details .luviona-heading{font-size:20px;font-weight:600;letter-spacing:0;line-height:1.9}
.conceptMain .luviona-heading .unbroken-phrase{white-space:nowrap}
@media(max-width:767px){
.conceptMain .color-details h3,.conceptMain .color-details .luviona-heading{font-size:clamp(15px,4.6vw,20px);font-weight:600;letter-spacing:0;line-height:1.9}
}
@media(min-width:768px) and (max-width:1100px){
.conceptMain .color-details h3,.conceptMain .color-details .luviona-heading{font-size:16px}
}
.conceptMain .intro .eyebrow,.conceptMain .intro .intro-en{letter-spacing: .1em;}
.conceptWrap{container-type:inline-size}
.conceptMain .section-nav{width:100cqw;margin-left:calc((100% - 100cqw) / 2)}
.conceptMain .section-nav a{font-weight:600}
.conceptMain .spa-section{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;padding:85px 0 100px;border-bottom:1px solid #111}
.conceptMain .spa-label{font-family:"Libre Franklin",Arial,sans-serif;letter-spacing:.05em}
.conceptMain .spa-label>p{font-size:12px;margin-bottom:12px}
.conceptMain .spa-label h2{font-size:46px;font-weight:400}
.conceptMain .spa-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.conceptMain .spa-photos img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.conceptMain .spa-details{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7%;align-items:start}
.conceptMain .spa-details h3{font-size:20px;font-weight:600;line-height:1.9;letter-spacing:0}
.conceptMain .spa-copy p{font-size:16px;line-height:2.15;letter-spacing:.025em}
.conceptMain .spa-copy p+p{margin-top:24px}
@media(max-width:1100px){
.conceptMain .spa-label h2{font-size:38px}
}
@media(min-width:768px) and (max-width:1100px){
.conceptMain .spa-details h3{font-size:16px}
}
@media(max-width:767px){
.conceptMain .spa-section{padding:55px 0 60px;gap:30px}
.conceptMain .spa-photos{grid-template-columns:minmax(0,1fr);gap:20px}
.conceptMain .spa-details{grid-template-columns:minmax(0,1fr);gap:24px}
.conceptMain .spa-details h3{font-size:clamp(15px,4.6vw,20px)}
}
.conceptMain .spa-section{grid-template-columns:36% minmax(0,1fr);grid-template-areas:"label copy" "photo copy";grid-template-rows:auto 1fr;column-gap:7%;row-gap:0;align-items:start}
.conceptMain .spa-label{grid-area:label}
.conceptMain .spa-label h2{font-size:clamp(22px,2.4vw,34px);font-weight:500}
.conceptMain .spa-photos{grid-area:photo;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:36px}
.conceptMain .spa-details{grid-area:copy;display:block;min-width:0}
.conceptMain .spa-details h3{font-size:26px;font-weight:500;letter-spacing:.04em;line-height:1.8;margin-bottom:38px}
@media(max-width:767px){
.conceptMain .spa-section{grid-template-columns:minmax(0,1fr);grid-template-areas:"label" "copy" "photo";grid-template-rows:auto;gap:32px}
.conceptMain .spa-label h2{font-size:29px}
.conceptMain .spa-details h3{font-size:23px;margin-bottom:25px}
.conceptMain .spa-photos{margin-top:0}
}
.conceptMain .spa-label h2{font-size:46px;font-weight:400}
@media(max-width:1100px){
.conceptMain .spa-label h2{font-size:38px}
}
@media(max-width:767px){
.conceptMain .spa-section{grid-template-areas:"label" "first-photo" "copy"}
.conceptMain .spa-photos{display:contents}
.conceptMain .spa-photos figure:first-child{grid-area:first-photo}
}

/* スマホではリード文の上余白をなくす（2026-10-06 追加・変換後の手調整） */
@media(max-width:767px){
.conceptMain .intro{padding-top:0}
}
