:root{--blue:#1f4fa0;--title:#4557a5;--navy:#28367a;--aqua:#a9dcec;--red:#e53228;--purple:#b7add9;--ink:#333;--line:#bfc6d6;
  --header-h:72px; /* ページ内リンクの停止位置。実際の高さは main.js が実測して上書きする */
  --fuchi-wh:
   1px 0 2px #ffffffc5,    0.92px 0.38px 2px #ffffffc5,  0.71px 0.71px 2px #ffffffc5,  0.38px 0.92px 2px #ffffffc5,
   0 1px 2px #ffffffc5,   -0.38px 0.92px 2px #ffffffc5, -0.71px 0.71px 2px #ffffffc5, -0.92px 0.38px 2px #ffffffc5,
  -1px 0 2px #ffffffc5,   -0.92px -0.38px 2px #ffffffc5,-0.71px -0.71px 2px #ffffffc5,-0.38px -0.92px 2px #ffffffc5,
   0 -1px 2px #ffffffc5,   0.38px -0.92px 2px #ffffffc5, 0.71px -0.71px 2px #ffffffc5, 0.92px -0.38px 2px #ffffffc5,
   0 0 4px #ffffffc5;
  --fuchi-nv:
   1px 0 2px #555555c5,    0.92px 0.38px 2px #555555c5,  0.71px 0.71px 2px #555555c5,  0.38px 0.92px 2px #555555c5,
   0 1px 2px #555555c5,   -0.38px 0.92px 2px #555555c5, -0.71px 0.71px 2px #555555c5, -0.92px 0.38px 2px #555555c5,
  -1px 0 2px #555555c5,   -0.92px -0.38px 2px #555555c5,-0.71px -0.71px 2px #555555c5,-0.38px -0.92px 2px #555555c5,
   0 -1px 2px #555555c5,   0.38px -0.92px 2px #555555c5, 0.71px -0.71px 2px #555555c5, 0.92px -0.38px 2px #555555c5,
   0 0 4px #555555c5;
}

/* =====================================================
   文字サイズ(フォントサイズ)の一元管理
   -----------------------------------------------------
   ・ブレイクポイントを使わず、clamp() で画面幅 375px〜1200px の間を滑らかに可変
   ・ここの値(PC / SP)を変えるだけで、全ページが連動して変わる
   ・各ページのCSSでは font-size:var(--fs-◯◯) の形で指定する(px直書きしない)
   -----------------------------------------------------
   使い分けの目安
     xs   注釈・タグ・コピーライト・ナビ
     sm   キャプション・ボタン(小)・補足
     base 本文(標準)・ボタン・リスト
     md   リード文・本文(大)
     lg   小見出し(h4)・大きめのボタン・写真キャプション
     xl   見出し(h3 小)
     2xl  見出し(h3)
     3xl  見出し(h2 日本語キャッチ)
     4xl  見出し(h2 英字タイトル)・ページ見出し(h1)
     5xl  ディスプレイ(最大)
   ===================================================== */
:root{
  --fs-xs:   clamp(0.6875rem, 0.6591rem + 0.1212vw, 0.75rem);  /* PC 12px / SP 11px */
  --fs-sm:   clamp(0.8125rem, 0.7841rem + 0.1212vw, 0.875rem);  /* PC 14px / SP 13px */
  --fs-base: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);  /* PC 15px / SP 14px */
  --fs-md:   clamp(0.9375rem, 0.8523rem + 0.3636vw, 1.125rem);  /* PC 18px / SP 15px */
  --fs-lg:   clamp(1rem, 0.8864rem + 0.4848vw, 1.25rem);  /* PC 20px / SP 16px */
  --fs-xl:   clamp(1.125rem, 0.9545rem + 0.7273vw, 1.5rem);  /* PC 24px / SP 18px */
  --fs-2xl:  clamp(1.375rem, 1.148rem + 0.9697vw, 1.875rem);  /* PC 30px / SP 22px */
  --fs-3xl:  clamp(1.625rem, 1.341rem + 1.212vw, 2.25rem);  /* PC 36px / SP 26px */
  --fs-4xl:  clamp(1.875rem, 1.477rem + 1.697vw, 2.75rem);  /* PC 44px / SP 30px */
  --fs-5xl:  clamp(2.125rem, 1.5rem + 2.667vw, 3.5rem);  /* PC 56px / SP 34px */
  /* 行間の目安(必要に応じて使用) */
  --lh-title:1.4;
  --lh-text:1.8;
}

*{box-sizing:border-box}
/* 横スクロール防止:
   .section-back は背景を画面幅いっぱいに広げるため width:100vw にしている。100vw は縦スクロールバーの幅を含むので、
   スクロールバーが出る環境(Windowsなど)では約15px右にはみ出し、横スクロールバーと右側の余白の原因になる。
   そこで横方向のはみ出しだけをルートで切る。
   ※ overflow は body ではなく html に付ける(body に付けると position:sticky のヘッダーが効かなくなる) */
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);overflow-x:hidden}
body{font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic Medium",Meiryo,sans-serif;color:var(--ink);
	background:#fff;
	line-height:1.8;line-break:strict;overflow-wrap:anywhere;font-size:var(--fs-base);
	background-image:url("../images/back_back.jpg");background-position:center;
}
main{text-shadow:0 0 4px #fff;}

/* 見出しの既定サイズ(クラスで個別指定が無い場合に適用) */
h1{font-size:var(--fs-4xl);line-height:var(--lh-title);}
h2{font-size:var(--fs-3xl);line-height:var(--lh-title);}
h3{font-size:var(--fs-2xl);line-height:var(--lh-title);}
h4{font-size:var(--fs-xl);line-height:var(--lh-title);}
h1,h2,h3,h4 {
  text-shadow: var(--fuchi-wh);
}

img{max-width:100%;height:auto}
.img-fit{width:100%;height:100%;}
a{color:inherit;text-decoration:none}
em{font-style:normal;white-space:nowrap;}
ul,ol,dl{margin:0;padding:0;list-style:none}
[class*="-lead"] {
  letter-spacing: -0.1em;
}
.shadow-bk{text-shadow:0 0 4px #000;}
.fish{position:absolute;pointer-events:none;width:clamp(90px,16vw,260px);opacity:.95;mix-blend-mode: multiply;}

.navbar-brand .logo {max-width: 100px;}

section{position:relative;max-width:1300px;margin-left:auto;margin-right:auto;}
.section-back, .section-back-bottom{
	position:absolute;
	/*max-width:1300px;*/width:100vw;margin:0 auto;padding:0;height:100%;
	content: " ";
	top:-10%;left:50%;
	transform: translateX(-50%);
	z-index: -1;
}
.section-back img, .section-back-bottom img{width:100%;height:110%;}
.inner{max-width:1200px;margin:0 auto;padding:0 16px}
.inner--narrow{max-width:1040px}



/* =====================================================
   サイズの割り当て(見出し・ボタン・キャプション)
   -----------------------------------------------------
   『どのクラスをどのサイズ(--fs-◯◯)にするか』をここで管理。
   各ページのCSSには、これらの font-size は書かない。
   ===================================================== */
/* ---- 見出し ---- */
/* ディスプレイ(縦書きの大見出し) */
.o-leave-h{font-size:var(--fs-5xl)}
/* h1 ページ見出し / h2 英字セクションタイトル */
.hero-title,
.s-hero-title,
.b-hero-text h1,
.en-title,
.company-text h2,
.c-lab-title,
.s-h2,
.s-idea-h,
.s-craft-h,
.o-h2--l,
.o-reasons-h,
.b-banner-txt h2,
.p-main-lead{font-size:var(--fs-4xl)}
/* h2 日本語キャッチ(大) */
.o-h2,
.o-md-txt h2,
.flow-title,
.order-points h3,
.c-banner p,
.intro-title{font-size:var(--fs-3xl)}
/* h3 中見出し(c-hero-h・o-hero-h は長文/縦書きのためここ) */
.c-hero-h,
.o-hero-h,
.b-h2,
.wave-h,
.wave-h--c,
.o-check-h,
.o-home-h,
.o-st h3,
.s-idea-t{font-size:var(--fs-2xl)}
/* h3 小見出し */
.c-next-h,
.o-h3,
.o-line-h,
.history-lead,
.b-points h2{font-size:var(--fs-xl)}
/* リード見出し(.o-row-t p より優先させるため !important) */
.o-lead{font-size:var(--fs-xl) !important}
/* h4 カード見出し */
.c-cards h3,
.c-lab-txt h3,
.pcard h3,
.o-case-list h4,
.o-line-t{font-size:var(--fs-lg)}
/* ---- ボタン ---- */
/* ボタン(小) */
.btn-blue--sm,
.btn-line--s,
.b-pill--s,
.pcard-btn,
.company-btns a{font-size:var(--fs-sm)}
/* ボタン(標準) */
.btn-blue,
.btn-aqua,
.btn-line,
.btn-navy,
.btn-line--m,
.c-btns a,
.b-pill{font-size:var(--fs-base)}
/* ボタン(大) */
.btn-red,
.btn-blue--lg{font-size:var(--fs-lg)}
/* ---- キャプション ---- */
/* 写真キャプション(帯) */
.p-item figcaption,
.o-home-list figcaption{font-size:var(--fs-lg)}
/* 写真に添える短いラベル */
.next-tiles span,
.craft-list span,
.flow b,
.o-dflow b,
.st-img b,
.s-dish-list span,
.s-enjoy-list a{font-size:var(--fs-base)}

/* サイズ指定のユーティリティ(HTMLに class を足すだけで一時的にサイズ変更したいとき用) */
.fs-xs{font-size:var(--fs-xs)!important}.fs-sm{font-size:var(--fs-sm)!important}.fs-base{font-size:var(--fs-base)!important}
.fs-md{font-size:var(--fs-md)!important}.fs-lg{font-size:var(--fs-lg)!important}.fs-xl{font-size:var(--fs-xl)!important}
.fs-2xl{font-size:var(--fs-2xl)!important}.fs-3xl{font-size:var(--fs-3xl)!important}.fs-4xl{font-size:var(--fs-4xl)!important}.fs-5xl{font-size:var(--fs-5xl)!important}

/* 共通 */
.en-title{font-family:futura-100,"Noto Sans JP",sans-serif;font-weight:600;line-height:1.1;color:var(--title);text-align:center;margin:0 0 20px;}
.en-title small{display:block;font-family:"Noto Sans JP",sans-serif;font-size:var(--fs-base);font-weight:700;margin-top:8px}
.sec-lead{font-size:var(--fs-xl);font-weight:700;color:#555;text-align:center;margin:10px 16px 24px;text-shadow:var(--fuchi-wh);}
.btn-blue,.btn-aqua,.btn-red{display:block;text-align:center;font-weight:700;color:#fff;padding:8px 16px;box-shadow:inset 0 -3px 0 rgba(255,255,255,.50);text-shadow:none;}
.btn-blue{
	background-image:url("../images/btn-blue.png");
}
.btn-aqua{
	background-image:url("../images/btn-skyblue.png");
	color:var(--navy);margin-top:6px}
.btn-red{
	background-image:url("../images/btn-red.png");
	color:#fff;padding:12px 40px;width:380px;max-width:100%;text-shadow:none;
}
.btn-blue--sm{width:min(100%,260px);text-align:left;position:relative}
.btn-blue--sm::after{content:"›";position:absolute;right:14px}
.btn-blue--lg{width:min(100%,380px);padding:14px 16px}
.btn-row{display:flex;justify-content:flex-end;margin-top:24px}
.btn-row--center{justify-content:center}
.p-main em,.p-item em,.h-card em{display:block;text-align:right;font-size:var(--fs-sm);font-weight:700;color:var(--navy)}

/* ヘッダー */
.site-header{position:sticky;top:0;left:0;right:0;z-index:1030;background-color:#fff;}
.site-header .navbar{padding:14px 0}
.site-header .nav-link{font-size:var(--fs-xs);color:var(--ink);padding:.3rem 0}
.navbar .container-xl{max-width:1140px;}
.nav-btn{display:inline-block;border:1px solid var(--ink);background:#fff;padding:2px 26px;font-size:var(--fs-xs)}
#gnav.show,#gnav.collapsing{background:#fff;padding:12px 16px}

/* ヒーロー */
.hero{
	min-height:700px;
}
.hero-stage{
	position:relative;max-width:1300px;height:800px;margin:0 auto;
	background-image: url("../images/top/top_back_main.jpg");
	background-position: bottom center;
	background-size: cover;
	background-repeat: no-repeat;
}
.hero-cover{
	position: absolute;
	top:0;left:0;
}

.hero-stage>*{position:absolute}
.hero-c1{left:64px;top:221px;width:139px}
.hero-c2{left:88px;top:379px;width:210px}
.hero-cert{left:40px;top:612px;width:237px}
.hero-title{position:absolute;left:50%;top:250px;transform:translateX(-50%);width:520px;max-width:100%;text-align:center;color:#fff;font-family:kaisei-harunoumi,serif;font-weight:500;line-height:1.5;text-shadow:var(--fuchi-nv);margin:0}
.hero-lead{right:142px;top:100px;margin:0;font-family:tot-shizukasmudgemin-stdn,serif;font-weight:600;font-size:var(--fs-lg);writing-mode:vertical-rl;line-height:1.9;letter-spacing: normal;text-shadow:var(--fuchi-wh);}
.hero-btns{left:50%;top:540px;width:295px;transform: translateX(-50%);}
.hero-mascot{right:44px;top:446px;width:135px}

/* イントロ */
.intro{padding:0 0 90px;text-align:center}
.intro-title{font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;color:var(--red);font-weight:500;margin:0 0 50px;letter-spacing:.05em}
.intro-text{font-size:var(--fs-md);margin-bottom:22px}
.lead-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:50px;text-align:left}
.lead-card{
	display:flex;min-height:240px;overflow:hidden;
	background-size: cover;
}
.lead-card span{flex:1;padding:36px 20px 20px 22px;font-size:var(--fs-base);line-height:1.7}
.lead-card strong{display:block;font-size:var(--fs-xl);line-height:1.4;margin-bottom:18px}
.lead-card img{width:50%;object-fit:cover}
.lead-card--blue{
	background-image: url(../images/top/00/anshin_01-back.png);
	color:#fff;
	text-shadow:none;
}
.lead-card--aqua{
	background-image: url(../images/top/00/anshin_02-back.png);
	color:var(--navy);
}

.fish--s1{right:-5%;bottom:-10%;width:250px}
.fish--s2{left:-5%;top:30%;width:350px}
.fish--s3{right:0%;top:0%;width:250px}
.fish--s4{left:-5%;top:-10%;width:250px}
.fish--s5{right:0%;top:0%;width:250px}

/* サイトのご案内 */
.guide{padding:50px 0 0}
.guide .sec01-awa{width: 100%;height: 100%;position: absolute;bottom: 0;left: 50%;transform: translateX(-50%);max-width: 1200px;mix-blend-mode: overlay;}
.guide .sec01-awa img{width:100%;object-fit:cover;animation:awa ease-in-out infinite alternate 2.5s;}
/*.guide.section-back::before{background-image: url("../images/top/01/sec01.png")}*/
.guide .en-title{margin-bottom:0;text-shadow:var(--fuchi-nv);}
.guide-map{position:relative;max-width:1096px;margin:30px auto 0;aspect-ratio:896/500}
.guide-map li{position:absolute}
.guide-map a{display:block;text-align:center;font-size:var(--fs-base);font-weight:500;line-height:1.35}
.guide-map img{display:block;aspect-ratio:1;border-radius:50%;margin-bottom:8px}
.g1{left:8.5%;width:14.5%;top:0}.g2{left:37.9%;width:12.7%;top:21.5%}.g3{left:59.7%;width:17.9%;top:0}
.g4{left:82%;width:9.4%;top:33.4%}.g5{left:20.6%;width:14.1%;top:45.6%}.g6{left:55.6%;width:10.5%;top:57.3%}.g7{left:73.9%;width:8.3%;top:67.1%}

@keyframes awa {
  0% {
    transform: translate(0px, 0);
  }
  100% {
    transform: translate(10px, 0);
  }
}
/* 製品一覧 */
.products{padding:110px 0 100px}
.p-grid{display:grid;grid-template-columns:1.62fr 1fr 1fr 1fr;gap:6px}
.p-main{grid-row:1/3;position:relative;display:block;}
.p-main img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.p-main div{position:relative;padding:8px 12px}
.p-main small{font-family:dnp-shuei-nshogomincho-std,serif;font-weight:700;color:var(--navy);font-size:var(--fs-xl)}
.p-main-lead{display:block;font-family:dnp-shuei-nshogomincho-std,serif;font-weight:700;line-height:1.3;color:var(--navy);margin:6px 0 10px;padding:0 !important;text-shadow:var(--fuchi-wh);}
.p-main p{font-size:var(--fs-base);line-height:1.7;max-width:200px}
.p-main em{text-align:left}
.p-wide{grid-column:span 2}
.p-item figure{position:relative;margin:0}
.p-item figure img{display:block;width:100%;aspect-ratio:2/1.25;object-fit:cover}
.p-wide figure img{aspect-ratio:2.7/1.2}
.p-item figcaption{position:absolute;left:0;right:0;bottom:0;background:rgba(60,60,60,.65);color:#fff;text-align:center;font-weight:700;line-height:2}
.p-item p{font-size:var(--fs-base);line-height:1.6;margin:6px 4px 2px}

/* オーダーメイド */
.order{padding:20px 0 90px}
.order .section-back img{height:auto;}
.order-visual{position:relative;height:950px}
.order-bg{position:absolute;left:48px;right:0;top:0;height:540px;width:calc(100% - 48px);object-fit:cover}
.order-copy{position:absolute;left:100px;top:40px;color:#fff;font-family:"Noto Serif JP",serif;text-shadow:var(--fuchi-nv);font-size:var(--fs-lg);line-height:1.8;z-index:1;}
.order-copy small{font-family:dnp-shuei-nshogomincho-std;display:block;font-size:var(--fs-xl);margin-bottom:14px}
.order-h{font-family:dnp-shuei-nshogomincho-std;font-size:var(--fs-4xl);font-weight:700;line-height:1.45;margin-bottom:26px}
.order-badge{position:absolute;right:30px;top:390px;}
.order-pack{position:absolute;left:0;top:410px;width:500px;height:400px;object-fit:cover}
.order-points{position:absolute;right:max(60px,calc(50% - 540px));top:570px;width:560px}
.order-points h3{font-family:dnp-shuei-nshogomincho-std,serif;font-weight:700;color:var(--navy);margin:0 0 20px}
.order-points dl>div{display:flex;align-items:baseline;gap:16px;padding:6px 0 4px 40px;border-bottom:2px dotted #8a93b5}
.order-points dt{flex:0 0 5.5em;font-family:dnp-shuei-nshogomincho-std,serif;font-weight:700;font-size:var(--fs-xl)}
.order-points dd{margin:0;font-size:var(--fs-base)}
.flow-title{font-family:dnp-shuei-nshogomincho-std,serif;font-weight:700;color:var(--navy);margin:0 0 16px}
.flow{display:flex;align-items:stretch;gap:0;margin-bottom:32px}
.flow li{flex:1;border:1px solid var(--navy);position:relative;background:#fff;padding:4px;margin-right:28px}
.flow li:not(:last-child)::after{content:"";position:absolute;right:-19px;top:50%;border:9px solid transparent;border-left:11px solid var(--navy);border-right:0;transform:translateY(-50%)}
.flow li:last-child{margin-right:0}
.flow b{display:block;color:var(--navy);white-space:nowrap}
.flow i{font-style:normal;margin-right:.7em}
.flow img{width:100%;aspect-ratio:1.6;object-fit:cover}

/* History */
.history{padding:70px 0 90px}
.history .section-back{top:-40%;}
.history-lead{text-align:center;font-family:dnp-shuei-nshogomincho-std,serif;font-weight:700;line-height:1.8;margin-bottom:40px;color:#444;text-shadow:var(--fuchi-wh);}
.h-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.h-card{display:block;text-align:center}
.h-card img{width:100%;aspect-ratio:350/150;object-fit:cover}
.h-card b{display:block;margin-top:10px}
.h-card p{font-size:var(--fs-base);line-height:1.7;margin:4px 0}

/* Information */
.info{padding:70px 0 90px}
.info .section-back{height:auto;}
.info-cols{display:grid;grid-template-columns:1fr 1fr;gap:0}
.info-list{padding-right:32px;border-right:2px dotted #9aa;}
.info-detail{padding-left:32px}
.cat-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.cat-tabs button{border:1px solid var(--ink);background:#fff;font-size:var(--fs-sm);padding:0 10px}
.cat-tabs button.active{background:var(--navy);color:#fff}
.post-list li{display:flex;gap:14px;margin-bottom:34px}
.post-list img{width:90px;height:90px;object-fit:cover;border:1px solid var(--ink);flex:none}
.post-list time{font-size:var(--fs-sm);margin-right:8px}
.tag{border:1px solid var(--ink);font-size:var(--fs-xs);padding:0 8px}
.post-list a{display:block;font-weight:700;border-bottom:2px dotted #777;margin-bottom:4px}
.post-list p,.info-detail p{font-size:var(--fs-xs);line-height:1.6}
.pager{text-align:center;font-size:var(--fs-sm)}
.crumb{font-size:var(--fs-sm);margin:0}
.info-detail h3{font-size:var(--fs-base);margin:0 0 4px}
.info-detail img{width:100%;max-width:470px;height:auto}
.rel{margin-top:40px}

/* Online Shop */
.shop{padding:70px 0 70px}
.shop .section-back{height:auto;top:0;}
.shop .section-back-bottom{top:unset;height:auto;bottom:0;}

/* ご家庭向け */
.o-home{padding:40px 90px 70px}
.o-home .section-back-bottom{height:auto;top:unset;bottom:-10%;}
.o-home-h{font-weight:700;color:#e53228;text-align:center;margin:0}
.o-home-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;list-style:none;padding:0;margin:0}
.o-home-list a{display:block;text-align:center;color:#333}
.o-home-list figure{position:relative;margin:0}
.o-home-list img{display:block;width:100%;aspect-ratio:1.1;object-fit:cover}
.o-home-list figcaption{position:absolute;left:0;right:0;bottom:0;background:rgba(60,60,60,.7);color:#fff;font-weight:700;line-height:2;text-shadow:none;}
.o-home-list p{font-size:var(--fs-sm);margin:6px 0 0}
.o-home-list em{display:block;text-align:right;font-style:normal;font-weight:700;font-size:var(--fs-sm);color:var(--navy)}
.o-home-cta{position:relative;display:flex;justify-content:center;margin-top:36px}
.o-home-cta img{position:absolute;right:15%;top:-30px;width:105px}


/* Company */
.company{display:grid;grid-template-columns:1fr 1fr;background:#ececec;padding:0}
.company-img img{display:block;width:100%;height:100%;min-height:300px;object-fit:cover}
.company-text{text-align:center;padding:36px 20px;align-self:center}
.company-text h2{font-family:"Jost","Noto Sans JP",sans-serif;font-weight:600;color:#444;margin:0 0 14px}
.company-text small{display:block;font-family:"Noto Sans JP",sans-serif;font-size:var(--fs-base)}
.company-text p{font-size:var(--fs-base)}
.company-btns{display:flex;justify-content:center;gap:12px;margin-top:16px}
.company-btns a{display:flex;justify-content:space-between;gap:24px;border:1px solid #999;background:#fff;padding:6px 14px;min-width:150px}

/* フッター */
.site-footer{padding:26px 0 14px;font-size:var(--fs-sm);background-color:#fff;}
.foot-cols{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.2fr;gap:20px}
.foot-logos{display:flex;align-items:center;gap:20px;margin-bottom:6px;max-width:350px;}
.foot-logos img{width:40%;}
.site-footer h3{font-size:var(--fs-sm);font-weight:700;margin:0 0 6px}
.site-footer li{line-height:1.8}
.site-footer li::before{content:"・"}
.copy{text-align:right;font-size:var(--fs-xs);max-width:1200px;margin:0 auto;padding:0 16px}
#pageTop{position:fixed;right:16px;bottom:16px;width:44px;height:44px;line-height:44px;text-align:center;background:var(--blue);color:#fff;display:none;z-index:1030}

/* 波線見出し */
.wave-h{position:relative;font-family:dnp-shuei-nshogomincho-std,serif;font-weight:700;color:var(--navy);margin:0 0 22px;padding-bottom:26px;padding-right:30px;}
.wave-h::before, .wave-h--c .title::before{
	position:absolute;
	background:url("../images/bunka/nami.png");
	background-repeat:no-repeat;
	background-size:auto;
	background-position:bottom right;
	width:100%;
	height:100%;
	content:" ";
	z-index:-1;
}
.wave-h--c{text-align:center;font-family:dnp-shuei-nshogomincho-std,serif;font-weight:700;color:var(--navy);margin:0 0 22px;padding-bottom:26px;}
.wave-h--c .title{position:relative;display:inline-block;padding-bottom:30px;padding-right:30px;}
.wave-h--wide{background-size:120px 16px;background-repeat:repeat-x}

/* タブレット・スマホ */
@media (max-width:991.98px){
  .site-header .navbar {padding:0;}
  .fish{display:none;}
  .hero-stage{height:720px;background-position:center -150px;}
  .hero-c1,.hero-c2{display:none}
  .hero-title{top:20%;transform: translate(-50%, -20%);}
  .hero-cover{width:100%;height:100%;}
  .hero-cover img{width:100%;height:100%;object-fit:cover;object-position: top;}
  .hero-lead{writing-mode:horizontal-tb;text-align:center;top:45%;right:50%;transform: translateX(50%);width: 100%;}
  .hero-btns{width:100%;max-width:320px}
  .hero-cert{width:25%;min-width:150px;top:unset;bottom:20px;}
  .hero-mascot{top:unset;bottom:20px;}
  .intro-title{margin-bottom:20px;}
  .intro-title img{width:80%;}
  .info-list{padding:0 0 24px;border:0}.info-detail{padding:0}
  .guide .section-back{top:-5%;}
  .guide-map{aspect-ratio:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:20px 12px;padding:24px 16px}
  .guide-map li{position:static;width:28%!important}
  .p-grid{grid-template-columns:1fr 1fr}
  .p-main{grid-column:1/3;grid-row:auto;min-height:340px}
  .p-wide{grid-column:span 2}
  .order-visual{height:auto;text-shadow:0 0 4px #fff;}
  .order-bg{position:relative!important;inset:0!important;width:100%!important;height:360px}
  .order-copy{padding:24px 16px;min-height:360px;top:0;left:0;}
  .order-badge{position:absolute!important;right:12px!important;top:270px;width:20%;}
  .order-pack{width:60%!important;height:auto;top:270px;}
  .order-points{position:relative;padding:16px 16px;top:unset;right:unset;width:100%;background-color: #ffffff70;margin: 60px 0;}
  .order-points dl>div{padding-left:0}
  .flow{flex-wrap:wrap;gap:12px}.flow li{flex:0 0 calc(50% - 6px);margin:0}.flow li::after{display:none}.h-cards,.foot-cols{grid-template-columns:1fr}
  .company-btns{flex-wrap:wrap}
  .copy{text-align:center}
  .o-home-cta{flex-direction:column;align-items:center;gap:10px}
  .o-home-cta img{position:static}
}
@media (max-width:767px){
  .lead-cards,.info-cols,.company{grid-template-columns:1fr}
  .hero-stage{background-position:center -200px;}
  .hero-title{top:22%;}
  .hero-btns{top:470px;}
  .o-home-list{grid-template-columns: repeat(2, 1fr);}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}



/* iframe用 */
.iframe_div {
	overflow-x: unset;
	overflow-y: scroll;
	width: 100%;
	height: 90%;
}


/* =====================================================
   「準備中」リンク / ショップリンクの吹き出し(main.js が自動で付与)
   ・.link-pop[data-kind="soon"] … 準備中リンク(紺色の小さな吹き出し)
   ・.link-pop[data-kind="shop"] … ショップリンク(白いカード + ボタン)
   ===================================================== */
a.has-notice{cursor:help}
.link-pop{
  position:absolute;z-index:2000;
  width:max-content;max-width:min(340px,calc(100vw - 16px));
  background:#fff;color:var(--navy);
  border:2px solid var(--navy);border-radius:10px;
  padding:12px 16px;
  box-shadow:0 6px 20px rgba(40,54,122,.25);
  font-size:var(--fs-sm);font-weight:700;line-height:1.7;text-align:left;
  animation:linkPopIn .15s ease-out;
}
.link-pop[hidden]{display:none}
.link-pop[data-kind="soon"]{background:var(--navy);color:#fff}
.link-pop-msg{margin:0}
.link-pop-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.link-pop-btns:empty{display:none}
.link-pop-btn{
  display:inline-block;padding:6px 14px;border:1px solid var(--navy);border-radius:4px;
  background:#fff;color:var(--navy);font-size:var(--fs-sm);font-weight:700;line-height:1.5;
}
.link-pop-btn:hover{background:#eef1fa;color:var(--navy)}
.link-pop-btn--main{background:var(--navy);color:#fff}
.link-pop-btn--main:hover{background:#1c2758;color:#fff}
.link-pop-arrow{
  position:absolute;left:var(--arrow-x,50%);width:12px;height:12px;
  background:inherit;border:2px solid var(--navy);transform:translateX(-50%) rotate(45deg);
}
.link-pop.is-below .link-pop-arrow{top:-8px;border-right:0;border-bottom:0}
.link-pop.is-above .link-pop-arrow{bottom:-8px;border-left:0;border-top:0}
@keyframes linkPopIn{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.link-pop{animation:none}}
