@charset "utf-8";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
border: 0;
font-size: 100%;
font: inherit;
padding: 0;
margin-top: 0;
margin-right: 0;
margin-bottom: 0;
margin-left: 0;
}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}
img { vertical-align: bottom; } .mt00 {
margin-top: 0px !important;
}
.mt05 {
margin-top: 5px !important;
}
.mt10 {
margin-top: 10px !important;
}
.mt15 {
margin-top: 15px !important;
}
.mt20 {
margin-top: 20px !important;
}
.mt25 {
margin-top: 25px !important;
}
.mt30 {
margin-top: 30px !important;
}
.mt35 {
margin-top: 35px !important;
}
.mt40 {
margin-top: 40px !important;
}
.mt45 {
margin-top: 45px !important;
}
.mt50 {
margin-top: 50px !important;
}
.mt55 {
margin-top: 55px !important;
}
.mt60 {
margin-top: 60px !important;
}
.mt65 {
margin-top: 65px !important;
}
.mt70 {
margin-top: 70px !important;
}
.mt75 {
margin-top: 75px !important;
}
.mt80 {
margin-top: 80px !important;
}
.mt85 {
margin-top: 85px !important;
}
.mt90 {
margin-top: 90px !important;
}
.mt95 {
margin-top: 95px !important;
}
.mt100 {
margin-top: 100px !important;
}
.mr00 {
margin-right: 0px !important;
}
.mr05 {
margin-right: 5px !important;
}
.mr10 {
margin-right: 10px !important;
}
.mr15 {
margin-right: 15px !important;
}
.mr20 {
margin-right: 20px !important;
}
.mr25 {
margin-right: 25px !important;
}
.mr30 {
margin-right: 30px !important;
}
.mr35 {
margin-right: 35px !important;
}
.mr40 {
margin-right: 40px !important;
}
.mr45 {
margin-right: 45px !important;
}
.mr50 {
margin-right: 50px !important;
}
.mr55 {
margin-right: 55px !important;
}
.mr60 {
margin-right: 60px !important;
}
.mr65 {
margin-right: 65px !important;
}
.mr70 {
margin-right: 70px !important;
}
.mr75 {
margin-right: 75px !important;
}
.mr80 {
margin-right: 80px !important;
}
.mr85 {
margin-right: 85px !important;
}
.mr90 {
margin-right: 90px !important;
}
.mr95 {
margin-right: 95px !important;
}
.mr100 {
margin-right: 100px !important;
}
.mb00 {
margin-bottom: 0px !important;
}
.mb05 {
margin-bottom: 5px !important;
}
.mb10 {
margin-bottom: 10px !important;
}
.mb15 {
margin-bottom: 15px !important;
}
.mb20 {
margin-bottom: 20px !important;
}
.mb25 {
margin-bottom: 25px !important;
}
.mb30 {
margin-bottom: 30px !important;
}
.mb35 {
margin-bottom: 35px !important;
}
.mb40 {
margin-bottom: 40px !important;
}
.mb45 {
margin-bottom: 45px !important;
}
.mb50 {
margin-bottom: 50px !important;
}
.mb55 {
margin-bottom: 55px !important;
}
.mb60 {
margin-bottom: 60px !important;
}
.mb65 {
margin-bottom: 65px !important;
}
.mb70 {
margin-bottom: 70px !important;
}
.mb75 {
margin-bottom: 75px !important;
}
.mb80 {
margin-bottom: 80px !important;
}
.mb85 {
margin-bottom: 85px !important;
}
.mb90 {
margin-bottom: 90px !important;
}
.mb95 {
margin-bottom: 95px !important;
}
.mb100 {
margin-bottom: 100px !important;
}
.ml00 {
margin-left: 0px !important;
}
.ml05 {
margin-left: 5px !important;
}
.ml10 {
margin-left: 10px !important;
}
.ml15 {
margin-left: 15px !important;
}
.ml20 {
margin-left: 20px !important;
}
.ml25 {
margin-left: 25px !important;
}
.ml30 {
margin-left: 30px !important;
}
.ml35 {
margin-left: 35px !important;
}
.ml40 {
margin-left: 40px !important;
}
.ml45 {
margin-left: 45px !important;
}
.ml50 {
margin-left: 50px !important;
}
.ml55 {
margin-left: 55px !important;
}
.ml60 {
margin-left: 60px !important;
}
.ml65 {
margin-left: 65px !important;
}
.ml70 {
margin-left: 70px !important;
}
.ml75 {
margin-left: 75px !important;
}
.ml80 {
margin-left: 80px !important;
}
.ml85 {
margin-left: 85px !important;
}
.ml90 {
margin-left: 90px !important;
}
.ml95 {
margin-left: 95px !important;
}
.ml100 {
margin-left: 100px !important;
}
.ml150 {
margin-left: 150px !important;
} .pt00 {
padding-top: 0px !important;
}
.pt05 {
padding-top: 5px !important;
}
.pt10 {
padding-top: 10px !important;
}
.pt15 {
padding-top: 15px !important;
}
.pt20 {
padding-top: 20px !important;
}
.pt25 {
padding-top: 25px !important;
}
.pt30 {
padding-top: 30px !important;
}
.pt35 {
padding-top: 35px !important;
}
.pt40 {
padding-top: 40px !important;
}
.pt50 {
padding-top: 50px !important;
}
.pt60 {
padding-top: 60px !important;
}
.pt70 {
padding-top: 70px !important;
}
.pt80 {
padding-top: 80px !important;
}
.pt90 {
padding-top: 90px !important;
}
.pr00 {
padding-right: 0px !important;
}
.pr05 {
padding-right: 5px !important;
}
.pr10 {
padding-right: 10px !important;
}
.pr15 {
padding-right: 15px !important;
}
.pr20 {
padding-right: 20px !important;
}
.pr25 {
padding-right: 25px !important;
}
.pr30 {
padding-right: 30px !important;
}
.pr35 {
padding-right: 35px !important;
}
.pr40 {
padding-right: 40px !important;
}
.pb00 {
padding-bottom: 0px !important;
}
.pb05 {
padding-bottom: 5px !important;
}
.pb10 {
padding-bottom: 10px !important;
}
.pb15 {
padding-bottom: 15px !important;
}
.pb20 {
padding-bottom: 20px !important;
}
.pb25 {
padding-bottom: 25px !important;
}
.pb30 {
padding-bottom: 30px !important;
}
.pb35 {
padding-bottom: 35px !important;
}
.pb40 {
padding-bottom: 40px !important;
}
.pb50 {
padding-bottom: 50px !important;
}
.pb60 {
padding-bottom: 60px !important;
}
.pb70 {
padding-bottom: 70px !important;
}
.pb80 {
padding-bottom: 80px !important;
}
.pb90 {
padding-bottom: 90px !important;
}
.pl00 {
padding-left: 0px !important;
}
.pl05 {
padding-left: 5px !important;
}
.pl10 {
padding-left: 10px !important;
}
.pl15 {
padding-left: 15px !important;
}
.pl20 {
padding-left: 20px !important;
}
.pl25 {
padding-left: 25px !important;
}
.pl30 {
padding-left: 30px !important;
}
.pl35 {
padding-left: 35px !important;
}
.pl40 {
padding-left: 40px !important;
}
.pl50 {
padding-left: 50px !important;
}

body {
font: normal 18px/1.7 "Yu Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
text-align: left;
color:#231815;
text-align: justify;
overflow-x: hidden;
font-weight: 500;
} :root {
--font-mincho: 'Shippori Mincho', serif;
--font-gothic: 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', sans-serif;
}
.v-mincho { 
font-family: var(--font-mincho);
}
.v-gothic { 
font-family: var(--font-gothic);
}
:root { --fs-bodycopy: 18px 1.7;
--lh-bodycopy: 30px 1.7;
}
@media (min-width: 769px) {
:root { --fs-bodycopy: 16px;
--lh-bodycopy: 28px;
}
}
.bodycopy {
font-size: var(--fs-bodycopy);
line-height: var(--lh-bodycopy);
}
body .sp-item {
display: none !important; }
body .pc-item {
display: block !important; }
@media screen and (max-width: 640px) {
body {
min-width: inherit;
height:100%;
}
body .sp-item {
display: block !important; }
body .pc-item {
display: none !important; }
body .sp-item img {
width:100%;}
}
@media screen and (max-width: 640px) {
.sp img{
max-width:90%;
}
.sp02 img{
max-width:100%;
}
.sp03 img{
max-width:70%;
}
}
.brown {
color: #B6905B;
font-weight: bold;
}  * {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.main{
max-width: 2700px;
margin: 0 auto;
}
.wrap{
width: 750px;
margin: 0 auto;
}
@media (max-width: 768px){
.wrap{
width: 92vw; max-width: none; 
}
}
.sec img{
width: 100%;
margin: 0 auto;
}  .sr-only {
position: absolute !important;
width: 1px; height: 1px;
padding: 0; margin: -1px;
overflow: hidden;
clip: rect(0 0 0 0); clip-path: inset(50%);
white-space: nowrap; border: 0;
}
.sec.sec01{
position: relative;
margin-inline: calc(50% - 50vw); 
width: 100vw;
overflow: hidden;
background: url(https://lp.hokutouseki.shop/wp-content/uploads/2025/12/sec01_bg.jpg) top center repeat-x;
background-size: cover;
background-repeat: no-repeat;
padding-bottom: 40px;
} .fv picture, .fv img{
display:block;
width:60%;
height:auto;
margin:0 auto;
}
.fv img{
width:100%;
height:auto;
display:block;
}
.fv_02{
position: absolute;
left: 0;
bottom: 0;
width: clamp(140px, 20vw, 250px); 
pointer-events: none;
}
.fv_02 picture, .fv_02 img{
display:block;
width:100%;
height:auto;
} .fv_logo{
position: absolute;
top: clamp(8px, 2vw, 24px);  
left: clamp(8px, 2vw, 24px);   
width: clamp(70px, 10vw, 130px);                 
}
.fv_logo img{
display: block;
width: 100%;
height: auto;
}
@media (max-width:768px){
.fv picture, .fv img{
width:100%;
margin-top: 20px;
position: relative;
z-index: 10;
}
.fv_02{
bottom: 75vw;
}
} .sec.sec02{
position: relative;
background: url(https://lp.hokutouseki.shop/wp-content/uploads/2025/12/sec02_bg.jpg) top center no-repeat;
background-size: cover;
overflow: hidden;
padding:120px 0 140px;
margin-inline: calc(50% - 50vw); 
width: 100vw;                     
overflow: hidden;                 
background-size: cover;
background-repeat: no-repeat;
}  .v-columns{
display:flex;
flex-direction: row-reverse; 
justify-content:center;
align-items:flex-start;      
gap: clamp(12px, 2.2vw, 28px);
position:relative;
z-index:2;
} .v-heading{
writing-mode: vertical-rl;
text-orientation: mixed;
color:#EBE1D3;
text-shadow: 0 0 6px rgba(0,0,0,.45), 2px 2px 6px rgba(0,0,0,.5);
line-height:1.9;
margin:0; 
font-feature-settings: "palt"; 
} .v-heading--main{
font-size: clamp(20px, 2.1vw, 25px);
font-weight:800;
letter-spacing:.15em;
}
.v-strong {
font-size: 1.2em;     
font-weight: 800;    
letter-spacing: 0.05em; 
} .v-heading--sub .strong{
font-weight:900;
padding-inline: .2em;
background: linear-gradient(transparent 0 10%, rgba(239, 228, 213, 0.22) 10% 90%, transparent 90% 100%);
box-decoration-break: clone; 
}  .v-thick   { inline-size: 2.2em; } 
.v-normal  { inline-size: 1.6em; }
.v-skinny  { inline-size: 1.3em; } .v-offset-0{ margin-block-start: 0; }
.v-offset-s{ margin-block-start: .8rem; }
.v-offset-m{ margin-block-start: 1.6rem; }
.v-offset-l{ margin-block-start: 2.4rem; }
.v-offset-xl{ margin-block-start: 3.2rem; } .v-lines{
display: inline-flex;
flex-direction: column;    
white-space: nowrap;        
}
.v-line{
display: block;             
}
.v-indent-2{ margin-inline-start: 2em; }
.v-indent-3{ margin-inline-start: 3em; }
.v-indent-4{ margin-inline-start: 4em; }
.v-indent-5{ margin-inline-start: 5em; }
.v-indent-6{ margin-inline-start: 6em; } .hotspring-photos{
position: relative;
z-index: 1;
min-height: 280px;
}
.hotspring-photo{
position: absolute;
bottom: 0;
opacity: 0;
transform: translateY(24px) scale(0.98);
transition: opacity .7s ease, transform .7s ease;
}
.hotspring-photo img {
width: 100%;
height: auto;  
display: block;
}
.hPhoto--left { 
left: 0; 
width: clamp(220px, 30vw, 440px); 
}
.hPhoto--right {
right: 0;
width: clamp(200px, 27vw, 400px); 
bottom: -80px;
}
.hotspring-photo.is-inview{
opacity: 1;
transform: none;
}
@media (max-width: 768px){
.sec02 .v-pair{
display: flex;
flex-direction: row-reverse; justify-content: center;
gap: 1.6em;
}
.sec02 .v-pair .pair-item{
writing-mode: vertical-rl;
text-orientation: mixed;
}
.hotspring-photos{
position: relative;
z-index: 1;
min-height: 150px;
}
} .sec.sec03{
background: url(https://lp.hokutouseki.shop/wp-content/uploads/2025/12/sec03_bg.jpg) top center no-repeat;
position: relative;            
padding-top: 48px;
margin-inline: calc(50% - 50vw); 
width: 100vw;                    
overflow: hidden;                
background-size: cover;
background-repeat: no-repeat;
padding-top:clamp(60px,6vw, 80px);
}
.sec03::before{
content: "";
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);    
width: 100vw;                  
height: 8px;                  
background: url(https://lp.hokutouseki.shop/wp-content/uploads/2025/12/sec03_border.png) repeat-x center/auto 100%;
z-index: 1;
} .sec03_title{
margin: 0 0 18px;
text-align: center;
font-size: clamp(18px, 4.2vw, 33px);
font-weight: 600;
line-height: 1.6;
letter-spacing: .15em;
color: transparent;
background: linear-gradient(
90deg,
#421314 0%,
#6F4B26 10%,
#B1954F 40%,  
#B1954F 70%,   
#A38358 85%,
#8D5429 100%
);
-webkit-background-clip: text;
background-clip: text;
}
.sec03-strong{
display: block;
margin-top: 6px;
font-size: clamp(40px, 6vw, 50px);
font-weight: 600;
line-height: 1.3;
}
.sec03_body{
display: grid;
grid-template-columns: 1fr minmax(320px, 1fr);
align-items: center;
gap: clamp(16px, 4vw, 40px);
margin-top: 8px;
}
.sec03_photo img{
width: 100%;
height: auto;
display: block;
}
.sec03_copy{
display: grid;
gap: 10px;
}
.sec03_sub {
margin: 0 0 18px;
font-size: clamp(15px, 2vw, 32px);
font-weight: 700;
color: #4e3b1c; 
position: relative; 
display: inline-block;
font-size: 27px;
padding-bottom: 10px;
} .sec03_sub::after {
content: "";
position: absolute;
left: 0;
bottom: -6px;  
width: 100%;  
height: 2px;  
background: linear-gradient(
90deg,
#421314 0%,
#6F4B26 20%,
#B1954F 60%,
#A38358 80%,
#8D5429 100%
);
}
.sec03_text{
margin: 0;
color: #333;
}
@media (max-width: 768px){
.sec03_body{
display: grid;
grid-template-columns: 1fr;
gap: 16px;
margin-top: 12px;
}
.sec03_photo{ order: 1; }
.sec03_copy { order: 2; }
.sec03_sub{
margin: 8px 0 10px;
font-size: clamp(26px, 5.2vw, 24px);
padding-bottom: 8px;
text-align: center;
}
.sec03_photo img{
width: 100%;
height: auto;
display: block;
}
} :root{
--sec03-head-w: clamp(180px, 25vw, 400px); 
}
.sec03_head{
display:block;
width: var(--sec03-head-w);
margin: 0 auto 24px;             
padding: 5px 0;
font-size: clamp(20px, 2.4vw, 20px);
font-weight: 800;
color: #fff; background: linear-gradient(
50deg,
#DAC184 0%,
#B1954F 25%,
#B1954F 100%
);
box-shadow: 0 2px 8px rgba(0,0,0,.08); 
} .sec03_cont{
margin: 30px;
padding: clamp(10px, 3vw, 28px);
background: rgba(255,255,255,.9);
text-align: center;
box-shadow: 0 4px 12px rgba(0,0,0,0.15); 
} .sec03_row{
display: grid;
grid-template-columns: 300px 1fr;   
gap: clamp(16px, 2.5vw, 32px);
align-items: start;
grid-template-areas: "img text";
} .sec03_cont.is-reverse .sec03_row{
grid-template-columns: 1fr 300px;  
grid-template-areas: "text img";
} .sec03_graph{ 
grid-area: img; 
margin: 0;
max-width: 300px;   
justify-self: center;
}
.sec03_graph img{
width: 100%;
height: auto;
object-fit: contain;
} .sec03_desc{ 
grid-area: text; 
margin: 0; 
text-align: left; 
}
.sec03_graph.graph--small{
max-width: 240px;
}
@media (max-width: 768px){
.sec03_cont{
margin: 20px 0px;
}
.sec03_row {
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
text-align: center; }
.sec03_graph {
order: 1; width: 100%; max-width: 480px; }
.sec03_desc {
order: 2; margin: 5px auto;
}
.sec03_head {
text-align: center;
width: 320px;
padding: 5px 0;
margin-top: 5px;
}
}  .sec03_title_2{
position: relative;
margin: 32px 0 20px;
margin-inline: calc(50% - 50vw); 
width: 100vw;
background: linear-gradient(90deg, #EADCBA 30%, #B1954F 100%);
box-shadow: 0 3px 14px rgba(0,0,0,.08);
overflow: visible;              
} .sec03_title_2-inner{
position: relative;
max-width: 1000px;             
width: min(92vw, 1000px);
margin: 0 auto;
min-height: clamp(46px, 6vw, 72px);      
padding-block: clamp(6px, 1.1vw, 10px);    
display: flex;
align-items: center;
justify-content: center;       
} .title-ornament{
position: absolute;
left: 5%;                       
top: 60%;
transform: translate(0%, -60%);
width: clamp(64px, 30vw, 150px);
height: auto;
pointer-events: none;
}
.title-ornament img{display:block; width:100%; height:auto;} .sec03-strong_2{
margin: 0;
font-size: clamp(22px, 3.6vw, 40px);
font-weight: 700;
letter-spacing: .06em;
color: #1A1A1A;
text-align: center;
text-shadow:
0 0 5px rgba(255,255,255,.7),
0 0 8px rgba(255,255,255,.35);
}
.symptoms-card{
background:
url(https://lp.hokutouseki.shop/wp-content/uploads/2025/12/sec03_bg_02.png) center/cover no-repeat;
border-radius: 14px;
padding: clamp(5px, 10vw, 28px);
position: relative;
isolation: isolate;
} .symptom-list{
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(5, 1fr);
column-gap: clamp(3px, 8vw, 20px);
row-gap: clamp(3px, 1.8vw, 15px);
font-size: clamp(12px, 1.3vw, 16px);
line-height: 1.9;
color: #1a1a1a;
} .symptom-list li{
display: flex;
align-items: center;
gap: .6em;
white-space: nowrap;          
}
.symptom-list li::before{
content: "";
inline-size: 6px;             
block-size: 1.1em;            
border-radius: 1px;
background: #8B784D;
flex: 0 0 auto;
} .symptom-notes{
margin: 10px 6px 0;
font-size: clamp(8px, 1.5vw, 13px);
line-height: 1.7;
color: #4b4b4b;
}
@media (max-width: 768px){
.sec03_title_2-inner {
display: flex;
flex-direction: row; 
align-items: center;
min-height: auto;
text-align: left;
position: relative; 
}
.title-ornament {
position: absolute; 
top: 50%;
left: -5%;
transform: translateY(-50%);
width: 120px; 
height: auto;
}
.sec03-strong_2 {
font-size: 28px;
line-height: 1.4;
text-align: left;
margin-left: 100px; 
}
.symptom-list {
grid-template-columns: repeat(3, 1fr);
font-size: 13px;
}
.symptom-list li::before{
content: "";
inline-size: 4px;             
block-size: 1.1em;            
border-radius: 1px;
background: #8B784D;
flex: 0 0 auto;
} .symptom-list{
column-gap: clamp(3px, 8vw, 5px);
} .symptom-notes{
margin: 1px 0;
line-height: 1.2;
}
.symptoms-card{
padding:20px 10px;
position: relative;
isolation: isolate;
}
} :root{
--rec-bg-w: 80vw; --rec-cut: 38px; --rec-radius: 14px;        
--rec-shadow: 0 10px 24px rgba(0,0,0,.14);
--grad-a: #EADCBA; --grad-b: #B1954F; } .rec-sec{
position: relative;
padding: clamp(22px, 3vw, 36px) 0;
margin: 30px 0 80px;
} .rec-sec.noimage::before{
content:"";
position:absolute;
top:0; bottom:0;
left: calc(50% - 50vw);
width: var(--rec-bg-w);
clip-path: polygon(
0 0,
calc(100% - var(--rec-cut)) 0,
100% var(--rec-cut),
100% 100%,
0 100%
);
background: linear-gradient(90deg, var(--grad-a) 0%, var(--grad-b) 100%);
} .rec-grid{
position: relative;
z-index:1;
max-width: 750px;
margin-left: clamp(20px, 6vw, 20px);
margin-right: clamp(16px, 4vw, 20px);
display:grid;
grid-template-columns: minmax(190px, 160px) 1fr auto; gap: clamp(14px, 2.5vw, 28px);
align-items: center;
} .rec-photo{ margin:0; }
.rec-photo img{ display:block; width:100%; height:auto; 
max-width: 200px;} .rec-copy{
color:#1A1A1A;   
font-size: clamp(15px, 1.15vw, 16px);
}
.rec-vtitle-wrap{
display: flex;
gap: 14px;           
justify-content: flex-end;
overflow: visible;     
} .rec-vtitle-wrap{
position: relative;
margin-top: -20%;        
gap: clamp(6px, 1vw,8px);
justify-content: flex-end;
align-items: flex-start;
overflow: visible;
} .rec-vtitle-pill{
writing-mode: vertical-rl;
text-orientation: mixed;
background: linear-gradient(180deg, #FFFEFD 80%, #fee6c6 100%);
color: #6A4A1F;
font-weight: 800;
font-size: clamp(22px, 3vw, 32px); 
letter-spacing: 0.2em;             
padding: clamp(4px, 5vw, 40px) clamp(5px, 0.5vw, 14px);
box-shadow: 6px 6px 12px rgba(144, 122, 93, 0.4); 
margin-top: 10px;
} .rec-vtitle-pill.pill--offset{
margin-top: -50%;
}
@media (max-width: 768px){
.rec-grid{
grid-template-columns: 120px 1fr;  
grid-template-areas:
"photo vtitle"
"copy  copy";
gap: 12px 14px;
align-items: start;
max-width: 92vw;
margin: 0 auto;
}
.rec-sec{
margin: 30px 0;
}
.rec-photo{ grid-area: photo; }
.rec-copy { grid-area: copy; }
.rec-vtitle-wrap{ 
grid-area: vtitle; 
margin-top: 0;
justify-content: flex-end; 
gap: 6px;
} .rec-photo img{
width: 170%;
max-width: 300px;
height: auto;
} .rec-vtitle-pill{
font-size: 30px;
letter-spacing: .3em;
padding: 20px 6px;
box-shadow: 4px 4px 10px rgba(144,122,93,.35);
} .rec-vtitle-pill.pill--offset{
margin-top: -20%;
} .rec-sec.noimage::before{
width: 100vw; left: calc(50% - 50vw);
}
} .sec03_cta{
margin-top: clamp(20px, 4vw, 40px);
text-align: center;
margin-bottom: 80px;
}
.sec03_cta .cta{
display:inline-block;
line-height:0;         
transition: transform .18s ease, filter .18s ease;
}
.sec03_cta .cta img{
width: clamp(240px, 44vw, 520px);
height:auto;
display:block;
}
.sec03_cta .cta:hover{
transform: translateY(-2px);
filter: drop-shadow(0 6px 16px rgba(0,0,0,.25));
}
@media (max-width: 768px){
.sec03_cta .cta img{
width: 100%;
}
.sec03_cta{
margin-top: clamp(20px, 4vw, 40px);
text-align: center;
margin-bottom: 40px;
}
}  .sec.sec04{
background: url(https://lp.hokutouseki.shop/wp-content/uploads/2025/12/sec04_bg.jpg) top center no-repeat;
position: relative; margin-inline: calc(50% - 50vw);
width: 100vw;
background-size: cover;
padding: clamp(36px, 6vw, 80px) 0;
} .sec04_title{
text-align: center;
margin: 0 0 clamp(24px, 4vw, 30px);
line-height: 1.6;
margin-bottom: 70px;
}
.sec04_overline{
font-size: clamp(20px, 1.8vw, 40px);
letter-spacing: .25em;
color: #8c7a62;
font-weight: 700;
}
.sec04_strong{
display: inline-block;
position: relative;        
padding-bottom: 18px;     
margin-top: .2em;
font-size: clamp(33px, 3.8vw, 50px);
letter-spacing: .15em;
color: #1a1a1a;
font-weight: 500;
} .sec04_strong::after{
content:"";
position:absolute;
left:50%;
bottom:-10%;
transform:translateX(-50%);
width: clamp(120px, 3.8vw, 160px);           
height: 2px;
background: linear-gradient(to right, #C8AB84, #B6905B);
}
.sec04_sub{
margin: 0 0 18px;
font-size: clamp(28px, 2.6vw, 32px);
font-weight: 600;
color: #B6905B; 
position: relative;   
display: inline-block; 
padding-bottom: 10px;
line-height: 1.5;
} .sec04_sub::after {
content: "";
position: absolute;
left: 0;
bottom: -6px; 
width: 100%;   
height: 2px; 
background: linear-gradient(
90deg,
#421314 0%,
#6F4B26 20%,
#B1954F 60%,
#A38358 80%,
#8D5429 100%
);
} .sec04_grid{
display: grid;
grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr); 
column-gap: clamp(14px, 2.4vw, 32px); 
row-gap: clamp(16px, 3vw, 32px);
align-items: start;     
max-width: 1000px;
margin: 0 auto 20px;
} .sec04_grid .map  {
grid-column: 1;
grid-row: 1; 
}
.sec04_grid .lead {
grid-column: 2;
grid-row: 1;
} .sec04_grid .note {
grid-column: 1;
grid-row: 2; 
align-self: start; 
}
.sec04_grid .box  { 
grid-column: 2; 
grid-row: 2; 
align-self: start; 
justify-self: start; 
} .sec04_photo{ 
margin: 0; 
}
.sec04_photo img{
display: block;
width: 100%;
height: auto;
} .note{
margin: 0;
}
.sec04_photo.box{
max-width: 300px; 
}
.sec04_photo.box img{
width: 100%;
height: auto;
}
.sec04_photo.card{
max-width: 600px;   
margin: auto;
}
.sec04_photo.box img{
width: 100%;
height: auto;
}
@media (max-width: 768px){
.sec04_grid{
grid-template-columns: 1fr;
max-width: 92vw;
}
.sec04_grid .map{
grid-column: 1;
grid-row: 1; 
}
.sec04_grid .lead{
grid-column: 1;
grid-row: 2; 
}
.sec04_grid .box{ 
grid-column: 1; 
grid-row: 3; 
justify-self: center; }  
.sec04_grid .note{ 
grid-column: 1; 
grid-row: 4; 
} 
.sec04_sub{
display: block; 
text-align: center;
margin-inline: auto; 
margin-bottom: 30px;
}
.sec04_sub::after{
width: 85%;
left: 50%;
transform: translateX(-50%);
}
.sec04_photo.card {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.sec04_photo.card img {
height: 450px; width: auto; max-width: none; display: block;
margin: 0 auto; }  .hscroll{
position: relative;
overflow-x: auto;
overflow-y: visible; -webkit-overflow-scrolling: touch;
scrollbar-width: none;
padding-bottom: 34px; margin-bottom: 8px; }
.hscroll::-webkit-scrollbar{ display:none; } .hscroll img{
height: 240px; width: auto;
display: block;
margin: 0 auto;
} .scroll-hint{
position: absolute;
left: 50%;
bottom: 6px; transform: translateX(-50%);
font-size: 13px;
color: #333;
background: rgba(255,255,255,.9); padding: 6px 12px;
border-radius: 16px;
display: flex;
align-items: center;
gap: 6px;
white-space: nowrap;
z-index: 2;
animation: fadeHint 2.5s infinite;
pointer-events: none; }
.scroll-hint .finger{
display:inline-block;
font-size: 18px;
color: #666; animation: swipe 1.5s infinite;
}
@keyframes fadeHint{ 0%,100%{opacity:.4} 50%{opacity:1} }
@keyframes swipe{ 0%,100%{transform:translateX(0)} 50%{transform:translateX(12px)} }
@media (prefers-reduced-motion:reduce){
.scroll-hint, .scroll-hint .finger{ animation:none; }
}
} .sec.sec05{
position: relative;
margin-inline: calc(50% - 50vw);
width: 100vw;
background: url(https://lp.hokutouseki.shop/wp-content/uploads/2025/12/sec05_bg.jpg)center/cover no-repeat;
padding: clamp(48px, 8vw, 120px) 0 clamp(10px, 8vw, 120px);
} .sec05_title{
margin-bottom: clamp(24px, 5vw, 48px); 
}
.sec05_title-inner{
position: relative;
max-width: 980px;
margin: 0 auto;
text-align: center;
padding-top: clamp(70px, 10vw, 110px);
}
.sec05_title .title-ornament{
position: absolute;
inset: 0 auto auto 50%;
transform: translate(-50%,-35%);      
width: clamp(90px, 30vw, 180px);    
pointer-events: none;
}
.sec05_title .title-ornament img{
display:block; 
width:100%; 
height:auto; 
filter: drop-shadow(0 8px 18px rgba(0,0,0,.25));
}
.sec05_title h2{
margin: 0;
font-weight: 500;
line-height: 1.2;
font-size: clamp(18px, 2.4vw, 26px); 
color: #EBE1D3;
}
.sec05_title h2 .brown{
display:block;
font-size: clamp(28px, 5vw, 50px);   
letter-spacing: .18em;
color: #EBE1D3;
position: relative;
margin-top: .35em;
padding-bottom: .5em;
font-weight: 500;
}
.sec05_title h2 .brown::after{ content:"";
position:absolute;
left:50%;
bottom:-15%;
transform: translateX(-50%);
width: clamp(90px, 16vw, 160px);
height: 2px;
background: linear-gradient(90deg, #EBE1D3 60%, #B89360 100%);
} .sec05_card{
max-width: 1120px;
margin: clamp(40px, 4vw, 36px) auto;
background: #fff;
box-shadow: 0 10px 28px rgba(0,0,0,.18);
padding: clamp(16px, 3vw, 28px);
}
.sec05_row{
display: grid;
grid-template-columns: minmax(280px, 320px) 1fr;
gap: clamp(14px, 3vw, 36px);
align-items: center;
}
.sec05_graph{ margin: 0; }
.sec05_graph img{ display:block; width:100%; height:auto;
max-width: 350px;}
.sec05_desc{
margin: 0;
} .sec05_cta{
margin-top: clamp(20px, 4vw, 40px);
text-align: center;
}
.sec05_cta .cta{
display:inline-block;
line-height:0;           
transition: transform .18s ease, filter .18s ease;
}
.sec05_cta .cta img{
width: clamp(240px, 44vw, 520px);
height:auto;
display:block;
}
.sec05_cta .cta:hover{
transform: translateY(-2px);
filter: drop-shadow(0 6px 16px rgba(0,0,0,.25));
} @media (max-width: 768px){
.sec05_row{
grid-template-columns: 1fr;
text-align: left;
}
.sec05_cta .cta img{
width: 100%;
}
.sec05_cta{
margin-bottom: 20px;
}
} .sec06{
padding: 80px 0;
background: url(https://lp.hokutouseki.shop/wp-content/uploads/2025/12/sec06_bg.jpg)center/cover no-repeat;
} .sec06_title{
text-align:center;
margin:0 0 clamp(60px,5vw,80px);
line-height:1.6;
}
.sec06_overline{
font-size: clamp(20px, 2vw, 28px);  
letter-spacing:.2em;
color:#1a1a1a;
font-weight:500;
display:inline-block;
margin-bottom:.4em;
}
.sec06_strong{
font-size: clamp(34px, 4.2vw, 50px); 
font-weight:5600;
color:#1a1a1a;
position:relative;
display:inline-block;
padding-bottom:14px;
letter-spacing: 0.15em; 
}
.sec06_strong::after{
content:"";
position:absolute;
left:50%;
bottom:-15%;
transform:translateX(-50%);
width: clamp(90px, 12vw, 160px);
height:2px;
background: linear-gradient(90deg, #C8AB84 0%, #B6905B 100%);
} .sec06_card{ position:relative;
margin-bottom:clamp(40px,6vw,56px);
}
.sec06_row{ display:flex; flex-direction:column; gap:20px; } .sec06_card.is-reverse .sec06_row{
grid-template-areas: "img copy";
} .sec06_copy{
display:flex;
flex-direction:column;
align-items:flex-start; gap:10px;
}
.sec06_namber{ margin:0; }
.sec06_namber img{
display:block; 
height: clamp(23px, 30vw, 50px); 
width:auto; 
}
.sec06_desc{
margin:0;
font-size: clamp(21px, 2.2vw, 28px);
line-height:1.6;
font-weight:700;
color:#6F4B26;
letter-spacing: 0.15em; 
} .sec06_textrow{
display:flex;
justify-content:space-between;
gap: clamp(16px, 3vw, 36px);
align-items:flex-start;
} .sec06_textrow p{
flex: 0 0 50%;
max-width: 50%;
margin: 0;
} .sec06_graph{
flex: 0 0 50%;
max-width: 50%;
margin:0;
}
.sec06_graph img {
display: block;
max-width: 100%;  
height: auto;
object-fit: contain;
} .sec06_card.is-reverse .sec06_graph img,
.sec06_graph_size{
width: auto;      
max-width: 250px;  
max-height: 240px; 
margin: 0 auto;  
} .sec06_card.is-reverse .sec06_textrow{
flex-direction: row-reverse;         
} .sec06_card.is-reverse .sec06_copy{
align-items: flex-end;             
text-align: right;                 
}
.sec06_card.is-reverse .sec06_namber img{
margin-left: auto;                  
} .sec06_decor{
position:absolute;
left: var(--x, 80%);
top:  var(--y, -20px);
width: var(--size, 120px);
pointer-events:none;
z-index:2;
}
.sec06_card.is-reverse .sec06_decor{
left: auto;                           
right: var(--x-rev, 72%);            
top:  var(--y-rev, -10px);
width: var(--size, 160px);
}
.sec06 > .sec06_card:last-of-type {
margin-bottom:0;
}
@media (max-width:768px){
.sec06{
padding: 40px 0;
}
.sec06_textrow{
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
gap: 12px;
} .sec06_textrow .sec06_graph {
order: 1;
width: 100%;
max-width: 92vw;
margin: 12px auto 0;
} .sec06_textrow p {
order: 2;
flex: none;
max-width: 92vw;
width: 100%;
margin: 0 auto;
text-align: left;
}
.sec06_graph{
flex:none;
width:100%;
margin-top:12px;
}
.sec06{
padding: 40px 0;
} .sec06_row{
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 16px;
} .sec06_namber{
margin: 0 auto;
display: flex;
justify-content: center;
width: 100%;
} .sec06_card.is-reverse .sec06_namber,
.sec06_card.is-reverse .sec06_copy{
align-items: center !important;
text-align: center !important;
}
.sec06_card.is-reverse .sec06_namber img{
margin-left: 0 !important;
} .sec06_card.is-reverse .sec06_textrow{
flex-direction: column !important; align-items: center;
gap: 12px;
width: 100%;
}
.sec06_graph{
flex: none !important;
width: 100% !important;
max-width: 92vw !important;
margin: 12px auto 0 !important;
}
.sec06_card .sec06_namber{
margin: 0 auto;
width: 100%;
display: flex;
justify-content: center;
}
.sec06_graph_size{
margin-bottom: 60px;
} .sec06_copy{
align-items: center !important;
text-align: center !important;
}
.sec06_namber{
margin: 0 auto !important;
display: flex;
justify-content: center !important;
width: 100%;
}
.sec06_namber img{
margin: 0 auto !important;
display: block;
} .sec06_card.is-reverse .sec06_copy{
align-items: center !important;
text-align: center !important;
}
.sec06_card.is-reverse .sec06_namber img{
margin: 0 auto !important;
}
} .sec07{
background: url(https://lp.hokutouseki.shop/wp-content/uploads/2025/12/sec07_bg.jpg)center/cover no-repeat;
padding: 80px 0;
} .sec07_title{
text-align:center;
line-height:1.6;
margin-bottom:100px;
}
.sec07_overline{
font-size: clamp(18px, 2vw, 25px);  
letter-spacing:.2em;
color:#8B784D;
font-weight:650;
display:inline-block;
margin-bottom:.4em;
}
.sec07_strong{
font-size: clamp(38px, 4.2vw, 50px); 
color:#1A1A1A;
position:relative;
display:inline-block;
padding-bottom:14px;
letter-spacing: 0.15em; 
font-weight:500;
}
.sec07_mini{
font-size: clamp(18px, 2vw, 23px); 
color:#1A1A1A;
}
.sec07_strong::after{
content:"";
position:absolute;
left:50%;
bottom:-80%;
transform:translateX(-50%);
width: clamp(120px, 12vw, 160px);
height:2px;
background: linear-gradient(90deg, #C8AB84 0%, #B6905B 100%);
} .sec07_card{
background:#fff;
box-shadow: 0 10px 24px rgba(0,0,0,.10);
max-width: 1040px;
margin: 0 auto clamp(28px,3vw,20px);
padding: clamp(16px,3vw,28px);
} .sec07_head{
display:grid;
grid-template-columns: clamp(80px,12vw,140px) 1fr;
gap: clamp(12px,2.4vw,24px);
align-items: center;
margin-bottom: clamp(12px,2.8vw,22px);
}
.sec07_icon{ margin:0; }
.sec07_icon img{
display:block;
width:100%;
height:auto;
object-fit: cover;
} .sec07_titlebox{
align-self:flex-start;
}
.sec07_cardtitle{
position:relative;
margin: 0 0 .6em 0;
font-size: clamp(19px,2vw,24px);
font-weight: 700;
line-height: 1.6;
}
.sec07_cardtitle::after{
content:"";
position:absolute;
left:0;
bottom:-10px;
width: clamp(310px, 33vw, 500px);
height: 2px;
background: linear-gradient(90deg,#C8AB84 0%, #B6905B 100%);
border-radius: 2px;
}
.sec07_meta{
margin: .9em 0 0;
font-size: clamp(17px,1.6vw,18px);
font-weight: 600;
color:#222;
} .sec07_body p{
margin: 0;
} .sec07_graph{
float: right;                         
width: clamp(160px, 26vw, 300px);     
margin: clamp(6px,1vw,10px) 0 clamp(6px,1vw,10px) clamp(12px,2vw,20px); }
.sec07_graph img{
display:block;
width:100%;
} .sec07_card::after{
content:"";
display:block;
clear: both;
}
@media (max-width:768px){ .sec07{
padding: 40px 0;
}
.sec07_head{
display: block;
text-align: center;
}
.sec07_strong::after{
bottom:-110%;
}
.sec07_graph{ float: none; margin: 0; }
.sec07_title{
margin-bottom:40px;
}
.sec07_graph.only-sp {
display: flex;
justify-content: center;
align-items: center;
margin: 16px auto; 
width: 100%;     
}
.sec07_graph.only-sp img {
width: 100%; height: auto; display: block;
margin: 0 auto; }
article.sec07_card:nth-of-type(n+4) .sec07_head{
display: flex !important; flex-direction: column;
align-items: center;
gap: 12px;
text-align: center;
margin-bottom: 18px;
}
article.sec07_card:nth-of-type(n+4) .sec07_titlebox{ order: 1; }
article.sec07_card:nth-of-type(n+4) .sec07_icon{
order: 2;
width: 200px;  
margin: 0 auto;
}
article.sec07_card:nth-of-type(n+4) .sec07_icon img{
width: 100%;
height: auto;
display: block;
}
} .sec08{
position: relative;
margin-inline: calc(50% - 50vw);
width: 100vw;
overflow: hidden;
padding: 80px 0 100px;
background: url(https://lp.hokutouseki.shop/wp-content/uploads/2025/12/sec08_bg.jpg) center top no-repeat;
background-size: cover;
width: 100vw;                   
} .sec08_photo{
margin: 0;
} .sec08_photo img{
display:block;
width:100%;
max-width:100%;
height:auto;
} .sec08_grid{
display:grid;
grid-template-columns: 1fr auto; align-items:center;
max-width:750px;
margin:0 auto;
} .sec08_title{
writing-mode: vertical-rl;
text-orientation: mixed;
font-size: clamp(17px, 3vw, 25px);
line-height: 2;
color:#EBE1D3;
font-weight: 500;
letter-spacing: 7px;
}
.sec08_strong{
font-size: clamp(28px, 3vw, 45px);
font-weight: 700;
color: #EBE1D3;
} .gift-grid{
display: grid;
grid-template-columns: repeat(2, minmax(260px, 1fr));
gap: clamp(16px, 3vw, 32px);
max-width: 750px;
margin: clamp(28px, 5vw, 30px) auto 0;
}
.gift-card{
background: #F2F2F2;                
box-shadow: 0 8px 24px rgba(0,0,0,.12);
display: flex;
flex-direction: column;               
min-height: 100%;
}
.gift-card__img{ margin: 0; }
.gift-card__img img{
display: block;
width: 100%;
aspect-ratio: 4 / 3;              
object-fit: cover;
}
.gift-card__txt{
padding: clamp(14px, 2.4vw, 30px);
} .noshi-grid{
position: relative;           
z-index: 1;
display: grid;
grid-template-columns: minmax(200px, 360px) 1fr;
gap: clamp(16px, 3vw, 32px);
align-items: start;
max-width: 750px;
margin: 50px auto 0;
padding: 0 clamp(12px, 3vw, 20px);
}
.noshi-title{
margin: clamp(10px, 5vw, 20px) auto clamp(12px, 2.2vw, 20px);
font-size: clamp(30px, 2.6vw, 33px);
color: #EBE1D3;                
}
.noshi-img{
margin: 0;
}
.noshi-img img{
display: block;
width: 60%;
height: auto;
box-shadow: 0 8px 24px rgba(0,0,0,.12);
background: #fff;             
}
.noshi-txt p{
margin: .4em 0 0;
color: #EDEDED;
}
.noshi_syurui{
width: 40%;
margin: auto;
}
.freeshipping{
width: 40%;
margin:50px auto;
} @media (max-width: 768px){
.sec08{
padding: 40px 10px;
}
.sec08_photo img{ 
width: 200%;
} .sec08_grid{ align-items: start; }    
.sec08_photo{ margin-top: 50px; } .gift-grid{
grid-template-columns: 1fr;
}
.noshi-grid {
display: flex;
flex-direction: column;
align-items: center;
margin: 20px auto 0;
}
.noshi-title {
order: 1;
text-align: center;
margin-bottom: 12px;
}
.noshi-img {
order: 2;
width: 100%;
}
.noshi-txt {
order: 3;
}
.noshi-img img{
width: 70%; 
max-width: 520px;
margin: 0 auto;
}
.noshi_syurui{
width: 100%;
margin-bottom: 40px;
}
.freeshipping{
width: 100%;
margin: 20px 0 40px;
}
} .sec09 {
position: relative;
margin-inline: calc(50% - 50vw);
width: 100vw;
padding: 80px 0 10px;
text-align: center;
z-index: 0; }
.sec09::before {
content: "";
position: absolute;
inset: 0; background: url(https://lp.hokutouseki.shop/wp-content/uploads/2025/12/sec09_bg.jpg) center top / cover no-repeat;
z-index: -1; pointer-events: none;
} .sec09_strong{
font-size: clamp(38px, 4.5vw, 56px);
font-weight: 600;
color: #1A1A1A;
letter-spacing: .12em;
margin: 0 0 .1em 0;
}
.sec09_overline{
font-size: clamp(25px, 2.5vw, 30px);
color: #8B784D;  
font-weight: 600;
letter-spacing: .15em;
margin: 0;
} .faq{
margin: 50px auto;
} .faq-item{
background: rgba(255,255,255,0.86);
border: 1px solid rgba(0,0,0,.12);
margin: 0 0 clamp(10px, 2vw, 16px);
} .faq-item > summary{
list-style: none;
cursor: pointer;
display: grid;
grid-template-columns: 40px 1fr 24px; 
align-items: center;
gap: 8px;
padding: clamp(12px, 2.4vw, 18px) clamp(12px, 2.4vw, 18px);
position: relative;
} .faq-item > summary::-webkit-details-marker{ display:none; } .faq-qmark{
font-weight: 700;
color: #333;
text-align: center;
}
.faq-qtext{
color:#1A1A1A;
text-align: left;
} .faq-item > summary::after{
content: "﹀";
font-size: 20px;
color: #333;
justify-self: end;
transform: translateY(1px);
} .faq-item[open] > summary::after{
content: "−";
font-size: 22px;
transform: translateY(-1px);
} .faq-ans{
display: grid;
grid-template-columns: 40px 1fr; gap: 8px;
padding: clamp(12px, 2.4vw, 18px) clamp(12px, 2.4vw, 18px) clamp(16px, 2.8vw, 22px);
border-top: 1px solid rgba(0,0,0,.08); text-align: left;
}
.faq-amark{
font-weight: 700;
text-align: center;
}
.faq-ans p{
margin: 0;
} .faq-item{
border-radius: 4px;
box-shadow: 0 0 0 rgba(0,0,0,0);
} @media (max-width: 768px){
.sec09 {
padding: 40px 0 10px;
}
.faq-item > summary{
grid-template-columns: 28px 1fr 22px;
}
.faq-ans{
grid-template-columns: 28px 1fr;
}
}  .sec10 { 
padding: clamp(32px,6vw,80px) 0; 
background:#FDF9F1;
}
.cta-wrap { 
max-width: 980px; 
margin: 0 auto; 
padding: 0 20px; 
text-align:center;
}
.sec10_title { 
margin:0 0 10px; 
font-size: clamp(30px,3.4vw,42px);
font-weight: 600;
}
.sec10_sub {
font-size: clamp(20px,3.4vw,22px);
} .sec10_sub.highlight {
display: inline;
font-weight: 600;
border-bottom: 2px solid #B6905B; } .cta-grid {
display: grid;
grid-template-columns: auto auto; 
gap:10px;                       
justify-content: center;         
align-items: center;
margin: 40px 0;
}
.cta-left, .cta-right {
display: flex;
flex-direction: column;
align-items: center;
}
@media (max-width: 768px){
.cta-grid { grid-template-columns: .8fr; }
.faq{
margin: 30px auto 50px;
}
} .btn {
display:block;
width: 360px;
max-width: 100%;
margin: 0 auto 5px;
padding: 8px 20px;
border-radius: 30px;
color:#fff; text-decoration:none;
position: relative;
transition: transform .08s ease, opacity .2s ease;
}
.btn:hover { 
transform: translateY(-1px); 
opacity:.96; 
}
.btn .btn-main { 
display:block; 
font-weight:700; 
font-size: clamp(20px,2vw,22px); 
}
.btn .btn-note { 
display:block; 
font-size: 15px; 
opacity:.9; 
margin-top:1px; 
}
.btn .btn-arrow { position:absolute; right:16px; top:50%; transform:translateY(-50%); font-size: 26px; }
.btn-line { background:#06C755; } .btn-form { background:#1a1a1a; }  .cta-qr { margin:10px 0; text-align:center; }
.cta-qr img { max-width: 200px; width:100%; height:auto; }
.cta-qr figcaption { margin-top:8px; font-size:18px; color:#444; line-height:1.7;
}
.cta-qr figcaption.strong {
font-weight: 600;
}
.sec06,
.sec07,
.sec08,
.sec10 {
position: relative;
margin-inline: calc(50% - 50vw); width: 100vw; }
.only-sp{
display: none;
}
.only-pc{
display: block;
}
@media (max-width: 768px){
.only-sp {
display:block;
}
.only-pc {
display: none;
}
} .lp-contact{ background:#FDF9F1; padding:32px 20px; }
.lp-contact .contact-lead{
text-align:center;
line-height:1.9;
margin:0 auto 30px;
font-weight:600;
}
.lp-contact .req{ color:#d33; margin-left:.2em; }
.lp-contact .cf-rows{ max-width:900px; margin:16px auto 0; }
.lp-contact .cf-row{
display:grid; grid-template-columns: 10em 1fr;
gap:16px; align-items:center; margin-bottom:18px;
}
.lp-contact .cf-row--textarea{ align-items:start; } .lp-contact .cf-label{ font-weight:600; letter-spacing:.04em; } .lp-contact .cf-input,
.lp-contact .cf-textarea,
.lp-contact .wpcf7-form-control.wpcf7-text,
.lp-contact .wpcf7-form-control.wpcf7-email,
.lp-contact .wpcf7-form-control.wpcf7-tel,
.lp-contact .wpcf7-form-control.wpcf7-textarea{
width:100%;
background:#fff;
border:2px solid #222;
border-radius:4px;
padding:14px 16px; font-size:16px;
line-height:1.6;
box-sizing:border-box;
}
.lp-contact .cf-input{ min-height:50px; } .lp-contact .cf-textarea{ min-height:240px; resize:vertical; }
.lp-contact .btn-submit:hover{ opacity:.92; } .lp-contact,
.lp-contact * {
max-width: 100%;
box-sizing: border-box;
overflow-x: hidden;
} .lp-contact .btn-submit {
background:#111; color:#fff; border:none;
border-radius:9999px;
padding:18px 36px;
width:100%;              
max-width:340px;       
font-size:18px;
font-weight:700;
letter-spacing:.1em;
cursor:pointer;
position:relative;
box-shadow:0 2px 0 rgb(0 0 0 / .3);
margin:0 auto;   
min-height: 75px;
} #lp-contact-panel:focus {
outline: none;
box-shadow: none;
}
@media (max-width: 768px){
.lp-contact .cf-row{ grid-template-columns:1fr; gap:8px; }
.lp-contact .btn-submit{ width:100%; min-width:auto; }
} .lp-contact-panel[hidden] {
display: none;
} .lp-contact-panel {
margin-top: 24px;
} .lp-contact-panel.is-opening,
.lp-contact-panel.is-open {
animation: lp-contact-fadein 0.25s ease-out;
}
@keyframes lp-contact-fadein {
from {
opacity: 0;
transform: translateY(-4px);
}
to {
opacity: 1;
transform: translateY(0);
}
} .g-recaptcha {
display: flex !important;
justify-content: center;
margin: 20px auto;
} .g-recaptcha > div {
margin: 0 auto;
} .footer {
background: #1a1a1a;  
text-align: center;   
padding: 20px 10px;         
color: #fff;         
font-size: 13px;
}
.footer a {
color: #fff;       
text-decoration: none;
margin: 0 8px;
}
.footer a:hover { 
text-decoration: underline;
}
.footer .small {
margin-top: 8px;
font-size: 12px;
color: #ccc;       
} .plivacypolicy {
font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
color: #222;
line-height: 1.8;
padding: 60px 20px;
background: #fafafa;
}
.plivacypolicy .article {
max-width: 880px;
margin: 0 auto;
background: #fff;
padding: 40px 28px;
border-radius: 6px;
box-shadow: 0 4px 14px rgba(0,0,0,0.05);
} .plivacypolicy h1 {
font-size: 2rem;
text-align: center;
margin-bottom: 2em;
font-weight: 700;
letter-spacing: 0.08em;
color: #6F4B26;
}
.plivacypolicy h2 {
font-size: 1.1rem;
font-weight: 500;
margin: 1.8em 0;
line-height: 1.9;
}
.plivacypolicy h3 {
font-size: 1.15rem;
font-weight: 600;
margin: 2em 0 0.6em;
color: #333;
border-left: 4px solid #B6905B;
padding-left: 0.6em;
} .plivacypolicy p {
margin: 0 0 1.5em;
font-size: 0.95rem;
color: #333;
} .plivacypolicy a {
display: inline-block;
margin-top: 40px;
padding: 12px 28px;
background: #B6905B;
color: #fff;
text-decoration: none;
font-size: 0.95rem;
border-radius: 4px;
transition: background 0.3s;
}
.plivacypolicy a:hover {
background: #6F4B26;
}
.backlink {
text-align: center;
margin-top: 32px;
}
.plivacypolicy .article p a {
color: #0a6fb9;
text-decoration: underline;
}
.plivacypolicy .article p a:hover { color: #084f83; } @media (max-width: 768px) {
.plivacypolicy {
padding: 40px 14px;
}
.plivacypolicy .article {
padding: 28px 18px;
}
.plivacypolicy h1 {
font-size: 1.6rem;
}
.plivacypolicy h2 {
font-size: 1rem;
}
.plivacypolicy h3 {
font-size: 1.05rem;
}
}  .tokushohobg {
background: #FAF7F0;
min-height: 100vh; display: flex;
justify-content: center;
align-items: center;
padding: 40px 16px;
} .tokushoho {
width: 100%;
max-width: 900px;
background: #fff;
border-radius: 12px;
padding: 40px 32px;
box-shadow: 0 8px 24px rgba(0,0,0,0.08);
animation: fadeIn 0.6s ease;
} .tokushoho > h1 {
font-size: 26px;
text-align: center;
margin-bottom: 28px;
padding-bottom: 10px;
border-bottom: 2px solid #eee;
color: #333;
letter-spacing: 1px;
} .tokushoho-list .row {
display: grid;
grid-template-columns: 200px 1fr;
gap: 12px 16px;
padding: 14px 0;
border-bottom: 1px dashed #e0e0e0;
}
.tokushoho-list dt {
font-weight: bold;
color: #555;
}
.tokushoho-list dd {
margin: 0;
color: #333;
line-height: 1.7;
} .backlink {
text-align: center;
margin-top: 32px;
}
.backlink a {
display: inline-block;
padding: 10px 20px;
background: #f8f8f8;
border-radius: 8px;
color: #444;
text-decoration: none;
border: 1px solid #ddd;
transition: 0.2s;
}
.backlink a:hover {
background: #eee;
border-color: #ccc;
} @keyframes fadeIn {
from {opacity: 0; transform: translateY(20px);}
to {opacity: 1; transform: translateY(0);}
} @media (max-width: 768px) {
.tokushoho {
padding: 24px 16px;
}
.tokushoho > h1 {
font-size: 20px;
}
.tokushoho-list .row {
grid-template-columns: 1fr;
gap: 6px;
padding: 12px 0;
}
} .thanks{
background:#FDF9F1;
padding: clamp(48px, 8vw, 96px) 16px;
}
.thanks__wrap{
max-width: 860px;
margin: 0 auto;
background:#fff;
border-radius: 16px;
padding: clamp(28px, 5vw, 56px);
box-shadow: 0 8px 24px rgba(0,0,0,.06);
text-align: center;
}
.thanks__icon{
width: 80px; height: 80px;
margin: 0 auto 16px;
border-radius: 50%;
background:#06C755;
color:#fff; font-weight: 800;
display:flex; align-items:center; justify-content:center;
font-size: 40px; line-height:1;
box-shadow: 0 4px 0 rgba(0,0,0,.15) inset;
}
.thanks__title{
font-size: clamp(22px, 4vw, 32px);
margin: 8px 0 12px;
color:#1a1a1a;
letter-spacing:.04em;
}
.thanks__lead{
font-size: clamp(15px, 2.4vw, 18px);
line-height: 2;
color:#333;
margin: 0 auto clamp(18px, 3vw, 28px);
}
.thanks__lead strong{ color:#6F4B26; font-weight:700; }
.thanks__notes{
text-align:left;
margin: 0 auto clamp(20px, 4vw, 36px);
color:#444;
line-height:1.9;
font-size: clamp(14px, 2.2vw, 16px);
}
.thanks__notes p{ margin: .4em 0; }
.thanks__mono{ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; }
.thanks__link{
color:#0a6fb9; text-decoration: underline;
}
.thanks__link:hover{ color:#084f83; } .thanks__cta{
display:flex; gap:12px; flex-wrap:wrap; justify-content:center;
}
.thanks__btn{
display:inline-flex; align-items:center; justify-content:center;
min-width: 220px;
padding: 14px 22px;
border-radius: 9999px;
font-weight:700;
color:#1a1a1a; background:#F1EEE7;
text-decoration:none;
transition: transform .06s ease, opacity .2s ease;
}
.thanks__btn:hover{ transform: translateY(-1px); opacity:.96; }
.thanks__btn--primary{
background:#1a1a1a;
color:#fff;
} @media (max-width: 480px){
.thanks__btn{ width:100%; }
}
html, body { overflow-x: hidden; } img, video, iframe { max-width: 100%; height: auto; } .main, .sec, .wrap { overflow-wrap: break-word; } .hscroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.hscroll img { display: block; height: auto; }