
:root {
  --red: #e8402a;
  --red-d: #c9311e;
  --ink: #212121;
  --ink2: #212121;
  --cream: #f8f5e4;
  --cream2: #ede6cb;
  --paper: #fff;
  --ph: #ececec;
  --wave-red: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 20'%3E%3Cpath d='M3 11 Q 18 3 33 11 T 63 11 T 93 11 T 123 11 T 153 11 T 183 11 T 213 11 T 237 9' fill='none' stroke='%23e8402a' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E");
  --bg-lines: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='360' viewBox='0 0 520 360'%3E%3Cg fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M-20 80 C 60 40 120 120 200 80 S 340 40 420 80 S 520 120 560 80'/%3E%3Cpath d='M-20 96 C 60 56 120 136 200 96 S 340 56 420 96 S 520 136 560 96'/%3E%3Cpath d='M-20 260 C 70 220 140 300 230 260 S 370 220 450 260 S 530 300 560 260'/%3E%3C/g%3E%3C/svg%3E");
}


.saiyou { background: #fff url(../img/bg_grain.png) repeat center / 60px; color: var(--ink); }
.saiyou #contents { background: var(--bg-lines) repeat 0 0 / 520px auto; }
.saiyou a { color: inherit; }
.red_sy { color: var(--red); }


.ph { display: block; width: 100%; aspect-ratio: var(--ar, 3 / 4); background: var(--ph); border-radius: inherit; overflow: hidden; position: relative; }
.ph img { width: 100%; height: 100%; object-fit: cover; display: block; }


.loading.nb-loading { background: var(--paper); display: flex; align-items: center; justify-content: center; transition: opacity .6s, visibility .6s; }
.loaded .loading.nb-loading { opacity: 0; visibility: hidden; }
.nb-loading__in { width: 300px; max-width: 76%; }
.nb-loading__in .nb-logo { width: 100%; height: auto; display: block; }
.nb-loading__line { width: 100%; height: 24px; margin-top: 18px; display: block; }
.nb-loading__line path { fill: none; stroke: var(--red); stroke-width: 3.5; stroke-linecap: round; stroke-dasharray: 340; stroke-dashoffset: 340; animation: nb-draw 1.4s ease-out .1s forwards; }
@keyframes nb-draw { to { stroke-dashoffset: 0; } }


.btnkown.nb-float { width: 118px; height: 118px; border-radius: 50%; background: var(--ink); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; box-shadow: 0 6px 18px rgba(0, 0, 0, .22); }
.btnkown.nb-float .en_sy { font-size: 19px; font-weight: 700; letter-spacing: .1em; color: #fff; line-height: 1; transform: rotate(-6deg); }
.btnkown.nb-float b { font-size: 16px; line-height: 1.3; letter-spacing: .14em; margin-top: 4px; }
.btnkown.nb-float::after { content: ""; position: absolute; inset: 6px; border-radius: 50%; border: 1.5px dashed rgba(255, 255, 255, .35); }
@media screen and (max-width: 896px) {
  .btnkown.nb-float { display: flex; width: 86px; height: 86px; right: 12px; bottom: 12px; position: fixed; }
  .btnkown.nb-float .en_sy { font-size: 16px; }
  .btnkown.nb-float b { font-size: 13px; }
}


.header .header_inner .logo a { display: flex; align-items: center; gap: 12px; }
.header .header_inner .logo .nb-logo { width: 176px; height: auto; display: block; }
.nb-logo-tag { font-family: "Barlow", sans-serif; font-weight: 700; font-size: 10px; letter-spacing: .22em; color: #fff; background: var(--ink); padding: 5px 9px 4px 11px; border-radius: 3px; line-height: 1; }
@media screen and (min-width: 897px) {
  .header.saiyo_header { background: rgba(255, 255, 255, .94); box-shadow: 0 1px 0 rgba(0, 0, 0, .08); }
  .header.saiyo_header .header_inner .logo { width: auto; }
  .header .header_inner .nav { width: auto; }
  .header .header_inner .nav__mainnav ul li:not(:last-child) { margin-right: 26px; }
  .header .header_inner .nav__mainnav ul li .parent_list { color: var(--ink); }
  .header .header_inner .nav__mainnav ul li:not(:last-child) .parent_list::after { width: 26px; height: 6px; border-radius: 0; background: var(--wave-red) center / contain no-repeat; bottom: -14px; }
  .header .header_inner .nav__mainnav ul li:not(:last-child):hover .parent_list { color: var(--red); }
  .header .header_inner .nav__mainnav ul li.contact_link a.parent_list { background: var(--red); border-color: var(--red); border-radius: 6px; padding: 12px 22px; color: #fff; }
  .header .header_inner .nav__mainnav ul li.contact_link a.parent_list:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
  .header .header_inner .nav__mainnav ul .contact_link .modal:hover .nav--area--under { display: block; }
  .header .header_inner .nav__mainnav ul .contact_link .modal .nav--area--under { top: 100%; left: auto; right: 0; padding-top: 10px; }
  .header .header_inner .nav__mainnav ul .contact_link .modal .nav--area--under .main_list { background: #fff; border-radius: 8px; box-shadow: 0 8px 24px rgba(0, 0, 0, .14); overflow: hidden; }
  .header .header_inner .nav__mainnav ul .contact_link .modal .nav--area--under .main_list .main_child a { background: #fff; color: var(--ink); border: 0; padding: 14px 18px; font-size: 1.4rem; }
  .header .header_inner .nav__mainnav ul .contact_link .modal .nav--area--under .main_list .main_child a::after { background: var(--wave-red) center / contain no-repeat; width: 20px; height: 8px; right: 14px; left: auto; }
  .header .header_inner .nav__mainnav ul .contact_link .modal .nav--area--under .main_list .main_child a:hover { background: var(--cream); color: var(--red); }
}
@media screen and (max-width: 896px) {
  .header { background: rgba(255, 255, 255, .95); padding-bottom: 8px; }
  .header .header_inner .logo { width: auto; }
  .header .header_inner .logo .nb-logo { width: 132px; }
  .nb-logo-tag { font-size: 12px; padding: 4px 6px 3px 8px; }
  .header .header_inner .menuBtn .bar { background: var(--ink); width: 30px; }
  .header .header_inner .nav__mainnav { background: var(--cream); }
  .header .header_inner .nav__mainnav ul li .parent_list { border-radius: 8px; color: var(--ink); }
  .header .header_inner .nav__mainnav ul li .parent_list.to_cp { background: var(--ink); color: #fff; }
  .header .header_inner .nav__mainnav ul li .parent_list.nb-sp-quiz { background: var(--red); color: #fff; }
}


.saiyou .sy_title_icon.nb-ttl { width: max-content; min-width: 230px; background: var(--red); border-radius: 12px; padding: 20px 40px 22px 78px; transform: rotate(-3deg); position: relative; box-shadow: 6px 6px 0 var(--ink); }
.saiyou .sy_title_icon.nb-ttl.fade_y { transform: rotate(-3deg) translateY(12px); }
.saiyou .sy_title_icon.nb-ttl.fade_y.on { transform: rotate(-3deg); }
.saiyou .sy_title_icon.nb-ttl::before { content: ""; position: absolute; left: 22px; top: 50%; width: 38px; height: 54px; transform: translateY(-50%); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 54'%3E%3Cg fill='none' stroke='%23ffe6c7' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M7 3 Q 13 10 7 17 T 7 31 T 7 45 T 9 51'/%3E%3Cpath d='M19 3 Q 25 10 19 17 T 19 31 T 19 45 T 21 51'/%3E%3Cpath d='M31 3 Q 37 10 31 17 T 31 31 T 31 45 T 33 51'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
.saiyou .sy_title_icon.nb-ttl .icon_text { position: static; transform: none; width: auto; }
.saiyou .sy_title_icon.nb-ttl .icon_text .en_sy { text-align: left; color: #fff; font-size: 22px; font-weight: 700; line-height: 1; letter-spacing: .1em; }
.saiyou .sy_title_icon.nb-ttl .icon_text .ja { text-align: left; color: #fff; font-size: 24px; margin-top: 6px; line-height: 1; letter-spacing: .14em; }
.saiyou .sy_title_icon.nb-ttl .icon_text .ja br { display: none; }
@media screen and (max-width: 896px) {
  .saiyou .sy_title_icon.nb-ttl { min-width: 0; padding: 14px 26px 15px 58px; box-shadow: 4px 4px 0 var(--ink); }
  .saiyou .sy_title_icon.nb-ttl::before { left: 16px; width: 28px; height: 40px; }
  .saiyou .sy_title_icon.nb-ttl .icon_text .en_sy { font-size: 16px; }
  .saiyou .sy_title_icon.nb-ttl .icon_text .ja { font-size: 18px; margin-top: 4px; }
}


.saiyou .sec_textarea .red_sy::after { background: var(--wave-red) left center / 100% 100% no-repeat; width: 100%; min-width: 120px; height: 14px; bottom: -14px; left: 0; }
.saiyou .sec_textarea .red_sy.long::after { width: 100%; height: 14px; bottom: -14px; }
.saiyou .sec_textarea .red_sy span { transform: rotate(-4deg); padding-left: 0; }
.saiyou .sec_textarea .red_sy.ja { color: var(--red); }
@media screen and (max-width: 896px) {
  .saiyou .sec_textarea .red_sy::after, .saiyou .sec_textarea .red_sy.long::after { width: 100%; height: 12px; bottom: -12px; }
}
.saiyou .sec_textarea h3 { color: var(--ink); }
.lead_sy { color: var(--ink); }


.sy_link { background: #fff; border: 2px solid var(--red); border-radius: 8px; color: var(--red); text-align: left; padding: 21px 0 21px 30px; position: relative; width: 250px; transition: background .35s, color .35s; }
.sy_link span { color: inherit; padding-left: 0; }
.sy_link span::after { display: none; }
.sy_link::after { content: ""; position: absolute; right: 26px; top: 50%; width: 38px; height: 2px; background: currentColor; transition: width .35s, right .35s; }
.sy_link::before { content: ""; position: absolute; right: 26px; top: 50%; width: 9px; height: 9px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: translateY(-50%) rotate(45deg); transition: right .35s; }
.sy_link:hover { background: var(--red); color: #fff; }
.sy_link:hover span { color: #fff; }
.sy_link:hover::after { width: 54px; right: 16px; }
.sy_link:hover::before { right: 16px; }
@media screen and (max-width: 896px) {
  .sy_link { width: 240px; padding: 19px 0 19px 26px; }
}

.saiyou .firstview.nb-fv { position: relative; height: 64.6vw; max-height: 100vh; min-height: 640px; overflow: hidden; }
@media screen and (max-width: 896px) { .saiyou .firstview.nb-fv { max-height: none; min-height: 0; margin-top: 0; } }
.saiyou .firstview.nb-fv { background: var(--cream) url(/demos/nobishiro/assets/img/bg_grain.png) repeat center / 60px; }


.nb-fv .nb-fvb__band { position: absolute; left: 0; width: 100%; top: 34%; height: 56%; }
.nb-fv .nb-fvb__band path { fill: none; stroke-linecap: round; stroke-dasharray: 2000; stroke-dashoffset: 2000; animation: nb-draw 2s cubic-bezier(.5, 0, .2, 1) .3s forwards; }
.nb-fv .nb-fvb__band .o { stroke: var(--red); stroke-width: 120; }
.nb-fv .nb-fvb__band .s { stroke: var(--red); stroke-width: 16; opacity: .55; animation-delay: .55s; }
.nb-fv .nb-fvb__band .g { stroke: #fff; stroke-width: 5; opacity: .32; animation-delay: .45s; }
.nb-fv .nb-fvb__front { position: absolute; left: 0; bottom: 1%; width: 100%; height: 15%; z-index: 1; pointer-events: none; }
.nb-fv .nb-fvb__front path { fill: none; stroke: var(--red); stroke-width: 9; stroke-linecap: round; stroke-dasharray: 2000; stroke-dashoffset: 2000; animation: nb-draw 1.8s cubic-bezier(.5, 0, .2, 1) 1s forwards; }
.nb-fv .nb-fvb__words span { position: absolute; font-family: "Caveat", cursive; color: var(--red); opacity: .1; line-height: 1; white-space: nowrap; }
.nb-fv .nb-fvb__words .w1 { left: 4%; top: 15%; font-size: 60px; transform: rotate(-10deg); }
.nb-fv .nb-fvb__words .w2 { right: 5%; top: 13%; font-size: 76.1px; transform: rotate(8deg); }
.nb-fv .nb-fvb__tags li { position: absolute; z-index: 3; text-align: center; opacity: 0; transform: scale(.85) rotate(var(--r)); animation: nbFvTag .5s cubic-bezier(.3, 1.4, .5, 1) forwards; }
.nb-fv .nb-fvb__tags .en { display: block; font-family: "Caveat", cursive; font-size: 32px; color: var(--red); line-height: 1; }
.nb-fv .nb-fvb__tags b { display: inline-block; margin-top: 6px; font-size: 14px; font-weight: 700; letter-spacing: .12em; color: var(--ink); background: #fff; padding: 5px 12px; border-radius: 999px; box-shadow: 0 2px 0 rgba(33, 33, 33, .12); }
.nb-fv .nb-fvb__tags svg { position: absolute; width: 64px; height: 56px; }
.nb-fv .nb-fvb__tags path { fill: none; stroke: var(--red); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.nb-fv .nb-fvb__tags .t1 { --r: -6deg; left: 4.5%; top: 33%; animation-delay: 1.3s; }
.nb-fv .nb-fvb__tags .t1 svg { right: -40px; top: 52px; }
.nb-fv .nb-fvb__tags .t2 { --r: 5deg; right: 4%; top: 30%; animation-delay: 1.45s; }
.nb-fv .nb-fvb__tags .t2 svg { left: -36px; top: 52px; }
@keyframes nbFvTag { to { opacity: 1; transform: scale(1) rotate(var(--r)); } }
.nb-fv .nb-fvb__edge { position: absolute; left: 0; bottom: -1px; width: 100%; height: 56px; z-index: 2; }
.nb-fv .nb-fvb__edge path { fill: #fff; }
.nb-fv .nb-fvb__people { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); display: flex; align-items: flex-end; justify-content: center; width: 100%; }
.nb-fv .nb-fvb__people li { flex: none; margin-left: -4.6vw; opacity: 0; transform: translateY(40px); animation: nbFvUp .9s cubic-bezier(.2, .8, .2, 1) forwards; }
.nb-fv .nb-fvb__people li:first-child { margin-left: 0; }
.nb-fv .nb-fvb__people img { display: block; height: 36vw; max-height: 52vh; width: auto; filter: drop-shadow(0 12px 18px rgba(33, 33, 33, .1)); }
.nb-fv .nb-fvb__people .p1 img, .nb-fv .nb-fvb__people .p3 img { height: 33vw; max-height: 48vh; }
.nb-fv .nb-fvb__people .p5 img { height: 38vw; max-height: 55vh; }
.nb-fv .nb-fvb__people li:nth-child(2) { animation-delay: .1s; } .nb-fv .nb-fvb__people li:nth-child(3) { animation-delay: .2s; }
.nb-fv .nb-fvb__people li:nth-child(4) { animation-delay: .3s; } .nb-fv .nb-fvb__people li:nth-child(5) { animation-delay: .4s; }
.nb-fv .nb-fvb__people li:nth-child(6) { animation-delay: .5s; }
@keyframes nbFvUp { to { opacity: 1; transform: translateY(0); } }
.nb-fv .nb-fvb__catch { position: absolute; left: 0; right: 0; top: 150px; text-align: center; z-index: 2; }
.nb-fv .nb-fvb__catch p, .nb-fv .nb-fvb__catch .ja { text-align: center; }
.nb-fv .nb-fvb__catch .en { font-size: 50px; color: var(--red); line-height: 1; transform: rotate(-4deg); display: inline-block; }
.nb-fv .nb-fvb__catch .ja { font-size: clamp(40px, 4.17vw, 60px); font-weight: 700; letter-spacing: .12em; line-height: 1.35; color: var(--ink); margin-top: 6px; }
.nb-fv .nb-fvb__catch .ja em { position: relative; display: inline-block; font-style: normal; color: var(--red); }
.nb-fv .nb-fvb__catch .ja em svg { position: absolute; left: -2%; bottom: -.22em; width: 104%; height: .4em; overflow: visible; }
.nb-fv .nb-fvb__catch .ja em path { fill: none; stroke: var(--red); stroke-width: 5; stroke-linecap: round; stroke-dasharray: 240; stroke-dashoffset: 240; animation: nb-draw .8s ease-out 1.1s forwards; }
.nb-fv .nb-fvb__catch .sub { position: relative; display: inline-block; margin-top: 18px; padding: 0 40px; font-size: 15px; font-weight: 700; letter-spacing: .3em; color: var(--ink); }
.nb-fv .nb-fvb__catch .sub::before, .nb-fv .nb-fvb__catch .sub::after { content: ""; position: absolute; top: 50%; width: 24px; height: 20px; margin-top: -10px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M16 7 L7 2 M16 10 L4 10 M16 13 L7 18' stroke='%23e8402a' stroke-width='2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E"); }
.nb-fv .nb-fvb__catch .sub::before { left: 4px; }
.nb-fv .nb-fvb__catch .sub::after { right: 4px; transform: scaleX(-1); }
@media (prefers-reduced-motion: reduce) { .nb-fv path, .nb-fv .nb-fvb__people li, .nb-fv .nb-fvb__tags li { animation-duration: .01s !important; animation-delay: 0s !important; } }

@keyframes nbFvZoom { to { transform: scale(1); } }

@media screen and (max-width: 896px) {
  .saiyou .firstview.nb-fv { height: 160vw; }
  .nb-fv .nb-fvb__band { top: 40%; height: 36%; }
  .nb-fv .nb-fvb__band .o { stroke-width: 150; }
  .nb-fv .nb-fvb__catch { top: 24vw; }
  .nb-fv .nb-fvb__catch .en { font-size: 33px; }
  .nb-fv .nb-fvb__catch .ja { font-size: 9.23vw; letter-spacing: .08em; }
  .nb-fv .nb-fvb__catch .sub { font-size: 12px; letter-spacing: .24em; padding: 0 30px; }
  .nb-fv .nb-fvb__catch .sub::before, .nb-fv .nb-fvb__catch .sub::after { width: 18px; height: 16px; margin-top: -8px; }
  .nb-fv .nb-fvb__band .s { stroke-width: 20; }
  .nb-fv .nb-fvb__front { bottom: 30vw; height: 16%; }
  .nb-fv .nb-fvb__words .w1 { font-size: 33px; left: 3%; top: 6%; } .nb-fv .nb-fvb__words .w2 { font-size: 36px; right: 2%; top: 5%; }
  .nb-fv .nb-fvb__tags { display: none; }
  .nb-fv .nb-fvb__edge { height: 7vw; }
  .nb-fv .nb-fvb__people { left: 0; transform: none; width: 100%; height: 100vw; display: block; }
  .nb-fv .nb-fvb__people li { position: absolute; margin: 0; }
  .nb-fv .nb-fvb__people img, .nb-fv .nb-fvb__people .p1 img, .nb-fv .nb-fvb__people .p3 img, .nb-fv .nb-fvb__people .p5 img { max-height: none; }
  .nb-fv .nb-fvb__people .p2 { left: -3%; bottom: 36vw; } .nb-fv .nb-fvb__people .p2 img { height: 46vw; }
  .nb-fv .nb-fvb__people .p5 { left: 33%; bottom: 38vw; } .nb-fv .nb-fvb__people .p5 img { height: 48vw; }
  .nb-fv .nb-fvb__people .p3 { left: 67%; bottom: 36vw; } .nb-fv .nb-fvb__people .p3 img { height: 44vw; }
  .nb-fv .nb-fvb__people .p1 { left: 4%; bottom: 0; z-index: 2; } .nb-fv .nb-fvb__people .p1 img { height: 50vw; }
  .nb-fv .nb-fvb__people .p4 { left: 35%; bottom: 0; z-index: 2; } .nb-fv .nb-fvb__people .p4 img { height: 52vw; }
  .nb-fv .nb-fvb__people .p6 { left: 63%; bottom: 0; z-index: 2; } .nb-fv .nb-fvb__people .p6 img { height: 50vw; }
}


.saiyou .spirits .ichiryu_area .ichiryu_img { width: 38%; right: 7%; top: 3vw; z-index: 0; }
.saiyou .spirits .ichiryu_area .ichiryu_img .ph { --ar: 4 / 5; border-radius: 28px 28px 120px 28px; }
.nb-run { position: relative; aspect-ratio: 4 / 5; margin-right: -22%; }
.nb-run img { position: absolute; bottom: 0; height: 74%; width: auto; filter: drop-shadow(0 14px 10px rgba(0, 0, 0, .10)); }
.nb-run img:nth-child(1) { left: 0; z-index: 3; }
.nb-run img:nth-child(2) { left: 36%; height: 69%; bottom: 4%; z-index: 2; }
.nb-run img:nth-child(3) { left: 68%; height: 65%; bottom: 8%; z-index: 1; }
.nb-run[data-n="2"] img:nth-child(2) { left: 44%; }
.nb-dict { position: absolute; z-index: 5; left: -16%; bottom: 8%; background: #fff; border-radius: 10px; padding: 18px 22px 18px; box-shadow: 0 8px 24px rgba(0, 0, 0, .12); max-width: 290px; border-left: 5px solid var(--red); }
.nb-dict .w { font-size: 22px; font-weight: 700; letter-spacing: .1em; color: var(--ink); }
.nb-dict .w small { font-size: 13px; font-weight: 500; color: var(--ink2); margin-left: 4px; }
.nb-dict .m { font-size: 13px; line-height: 1.85; margin-top: 8px; color: var(--ink2); letter-spacing: .06em; }
.saiyou .spirits .ichiryu_area .sec_textarea { position: relative; z-index: 1; }
.saiyou .spirits .ichiryu_area .sec_textarea .ichiryu_wrap.nb-steps { display: block; margin-top: 44px; position: relative; padding-left: 0; }
.nb-steps::before { content: ""; position: absolute; left: 62px; top: 10px; bottom: 10px; width: 14px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 60'%3E%3Cpath d='M7 0 Q 13 15 7 30 T 7 60' fill='none' stroke='%23e8402a' stroke-width='3.6'/%3E%3C/svg%3E") repeat-y center top / 14px 60px; opacity: .55; }
.saiyou .spirits .ichiryu_area .sec_textarea .ichiryu_wrap .ichiryu_text { width: auto; background: none; border-radius: 0; margin: 0 0 14px; padding: 0; text-align: left; display: grid; grid-template-columns: 34px 58px 1fr; align-items: center; column-gap: 16px; }
.nb-steps .n { font-family: "Barlow", sans-serif; font-weight: 700; color: var(--red); font-size: 15px; letter-spacing: .06em; }
.nb-steps .k { width: 58px; height: 58px; border-radius: 50%; background: var(--cream); border: 2px solid var(--red); display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 700; color: var(--red); position: relative; z-index: 1; font-family: "Noto Serif JP", serif; }
.nb-steps .t { color: var(--ink2); line-height: 1.6; font-size: 14px; }
.nb-steps .t b { display: block; color: var(--ink); font-size: 1.32vw; font-weight: 700; letter-spacing: .1em; }
@media screen and (max-width: 896px) {
  .saiyou .spirits .ichiryu_area .ichiryu_img { width: 66%; max-width: none; right: 4%; top: -4vw; position: relative; margin-left: auto; }
  .nb-dict { left: -40%; bottom: 6%; max-width: 210px; padding: 12px 14px; }
  .nb-dict .w { font-size: 16px; }
  .nb-dict .m { font-size: 12px; }
  .saiyou .spirits .ichiryu_area .sec_textarea { margin-top: 50px; }
  .nb-steps::before { left: 52px; }
  .saiyou .spirits .ichiryu_area .sec_textarea .ichiryu_wrap .ichiryu_text { grid-template-columns: 26px 48px 1fr; column-gap: 12px; }
  .nb-steps .k { width: 48px; height: 48px; font-size: 20px; }
  .nb-steps .t { font-size: 12px; }
  .nb-steps .t b { font-size: 14px; }
}
@media (min-width: 1400px) { .nb-steps .t b { font-size: 18px; } }


.saiyou .spirits .philosophy_area .philosophy_img { position: relative; }
.saiyou .spirits .philosophy_area .philosophy_img .ph { --ar: 3 / 2; border-radius: 0 36px 36px 0; }
.nb-ruler { position: absolute; left: 6%; right: 6%; bottom: -26px; height: 52px; background: #fff; border-radius: 6px; box-shadow: 0 6px 18px rgba(0, 0, 0, .12); background-image: repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 100%), repeating-linear-gradient(90deg, var(--ink) 0 1px, transparent 1px 100%); background-size: 60px 18px, 12px 10px; background-repeat: repeat-x; background-position: 20px 0, 20px 0; }
.nb-ruler .en_sy { position: absolute; right: 18px; bottom: 6px; color: var(--red); font-size: 26px; line-height: 1; }
@media screen and (max-width: 896px) {
  .saiyou .spirits .philosophy_area .philosophy_img .ph { border-radius: 0 24px 24px 0; }
  .nb-ruler { height: 40px; bottom: -20px; background-size: 40px 14px, 8px 8px; }
  .nb-ruler .en_sy { font-size: 20px; }
}


.saiyou .spirits .story_area .story_img { position: relative; }
.saiyou .spirits .story_area .story_img .ph { --ar: 3 / 2; border-radius: 36px 0 0 36px; }
.nb-clock { position: absolute; left: 5%; right: 5%; bottom: -34px; display: flex; justify-content: space-between; background: var(--ink); border-radius: 10px; padding: 16px 24px; color: #fff; }
.nb-clock::before { content: ""; position: absolute; left: 24px; right: 24px; top: 25px; height: 2px; background: rgba(255, 255, 255, .25); }
.nb-clock li { position: relative; font-size: 13px; letter-spacing: .08em; padding-top: 22px; }
.nb-clock li::before { content: ""; position: absolute; left: 0; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 3px var(--ink); }
.nb-clock li b { display: block; font-family: "Barlow", sans-serif; font-size: 20px; letter-spacing: .04em; color: #fff; margin-bottom: 2px; }
@media screen and (max-width: 896px) {
  .saiyou .spirits .story_area .story_img .ph { border-radius: 24px 0 0 24px; }
  .nb-clock { position: relative; left: auto; right: auto; bottom: auto; margin: -24px 4% 0; flex-wrap: wrap; padding: 14px 16px 6px; }
  .nb-clock::before { display: none; }
  .nb-clock li { width: 50%; font-size: 12px; padding: 0 0 10px 16px; }
  .nb-clock li::before { top: 6px; }
  .nb-clock li b { font-size: 16px; }
}


.saiyou .business { background: var(--cream); position: relative; margin-top: 60px; }
.saiyou .business::before, .saiyou .business::after { content: ""; position: absolute; left: 0; right: 0; height: 60px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 40 C 120 10 240 10 360 34 S 600 58 720 34 S 960 6 1080 30 S 1320 56 1440 26 V60 H0 Z' fill='%23f7f1e3'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.saiyou .business::before { top: -59px; }
.saiyou .business::after { bottom: -59px; transform: scaleY(-1); }
.saiyou .business .business_slider { border-radius: 28px 0 0 28px; box-shadow: 0 10px 30px rgba(0, 0, 0, .06); }
.saiyou .business .business_slider .slider .business_slider_txt .num { color: var(--red); }
.saiyou .business .business_slider .slider_img .slide_border .num { color: var(--red); }
.saiyou .business .business_slider .slider_img .slide_border .border { background: var(--cream2); }
.saiyou .business .business_slider .slider_img .slide_border .border::after { background: var(--red); }
.saiyou .business .business_slider .slick-dots li button::after { background: none !important; width: auto; height: auto; }
.saiyou .business .business_slider .slick-dots { top: -7vw; width: auto; gap: 26px; }
.saiyou .business .business_slider .slick-dots li button::before { position: static; display: block; color: var(--ink2); border-bottom: 2px solid transparent; padding-bottom: 6px; margin-left: 0 !important; }
.saiyou .business .business_slider .slick-dots li:nth-of-type(1) button:before { content: "01  仕事図鑑"; }
.saiyou .business .business_slider .slick-dots li:nth-of-type(2) button:before { content: "02  地元の小麦"; }
.saiyou .business .business_slider .slick-dots .slick-active button::before { color: var(--red); border-color: var(--red); }
.saiyou .business .business_slider .slick-dots li button { width: auto; height: auto; padding: 0; font-family: "Noto Sans JP", sans-serif; }
.saiyou .business .business_slider .slick-dots li { width: auto; height: auto; margin: 0; }
.nb-mosaic { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 4% 6% 0 0; }
.nb-mosaic li { position: relative; }
.nb-mosaic li:nth-child(even) { transform: translateY(40px); }
.nb-mosaic .ph { --ar: 4 / 5; border-radius: 18px; }
.nb-mosaic span { position: absolute; left: 10px; bottom: 10px; background: #fff; color: var(--ink); font-size: 12px; font-weight: 700; letter-spacing: .12em; padding: 6px 12px; border-radius: 4px; }
.nb-wide { padding: 4% 6% 0 0; }
.nb-wide .ph { --ar: 4 / 3; border-radius: 120px 18px 18px 18px; }
@media screen and (min-width: 897px) {
  .saiyou .business .business_slider .slider_img { padding-bottom: 9vw; }
  .saiyou .business .business_slider .slider_img .slide_border { bottom: 3vw; }
}
@media screen and (max-width: 896px) {
  .saiyou .business { margin-top: 40px; }
  .saiyou .business::before, .saiyou .business::after { height: 30px; }
  .saiyou .business::before { top: -29px; }
  .saiyou .business::after { bottom: -29px; }
  .nb-mosaic { gap: 10px; padding: 0; }
  .nb-mosaic li:nth-child(even) { transform: translateY(20px); }
  .nb-wide { padding: 0; }
  .nb-wide .ph { border-radius: 60px 14px 14px 14px; }
  .saiyou .business .business_slider .slider_img { padding-bottom: 50px; }
}


.saiyou .crosstalk { background: none; margin-top: 160px; }
.nb-ct__photo { position: absolute; right: 0; top: 0; bottom: 0; width: 60%; }
.nb-ct__photo .ph { height: 100%; aspect-ratio: auto; border-radius: 200px 0 0 36px; }
.saiyou .crosstalk .sec_textarea { position: relative; z-index: 1; width: 38%; }
.saiyou .crosstalk .sy_title_icon.nb-ttl { z-index: 2; }
.nb-ct__title .who { display: flex; align-items: center; gap: 12px; font-size: 16px; font-weight: 700; letter-spacing: .12em; color: var(--ink2); }
.nb-ct__title .who span { background: #fff; border: 1.5px solid var(--ink); padding: 6px 12px; border-radius: 30px; color: var(--ink); }
.nb-ct__title .who i { font-style: normal; color: var(--red); font-size: 20px; }
.nb-ct__title .big { font-size: 2.8vw; font-weight: 700; line-height: 1.45; letter-spacing: .08em; margin-top: 18px; color: var(--ink); }
.nb-ct__title .en_sy { color: var(--red); font-size: 22px; letter-spacing: .1em; line-height: 1; margin-top: 4px; transform: rotate(-4deg); display: inline-block; }
@media screen and (min-width: 897px) {
  .saiyou .crosstalk .sec_textarea .title_img.nb-ct__title { width: auto; }
}
@media screen and (max-width: 896px) {
  .saiyou .crosstalk { margin-top: 80px; padding-top: 0; background: none; }
  .nb-ct__photo { position: relative; width: 92%; margin: 26px 0 0 auto; }
  .nb-ct__photo .ph { aspect-ratio: 3 / 2; height: auto; border-radius: 90px 0 0 20px; }
  .saiyou .crosstalk .sec_textarea { width: 100%; text-align: left; }
  .saiyou .crosstalk .sec_textarea .title_img.nb-ct__title { width: auto; margin: 30px 0 0; }
  .nb-ct__title .who { font-size: 12px; gap: 8px; }
  .nb-ct__title .big { font-size: 26px; }
  .nb-ct__title .en_sy { font-size: 16px; }
  .saiyou .crosstalk .sec_textarea .red_sy::after { left: 0; transform: none; width: 100%; height: 12px; bottom: -12px; }
}


.saiyou .education .people_slidearea { z-index: 0; padding: 0 4%; }
.nb-band .ph { --ar: 16 / 6; border-radius: 36px; }
.nb-band--jump { background: var(--red); border-radius: 36px; aspect-ratio: 16 / 6; position: relative; overflow: visible; }
.nb-band--jump .nb-run { position: absolute; inset: -6% 9% 22%; aspect-ratio: auto; margin: 0; display: flex; justify-content: space-around; align-items: flex-end; }
.nb-band--jump .nb-run img { position: static; height: 100%; filter: drop-shadow(0 16px 12px rgba(0, 0, 0, .18)); }
.nb-band--jump .nb-run img:nth-child(odd) { margin-bottom: 4%; }
.saiyou .education .text_box .sec_textarea { box-shadow: 0 12px 30px rgba(0, 0, 0, .08); position: relative; z-index: 1; }
.nb-stairs { display: flex; align-items: flex-end; gap: 10px; margin-top: 44px; height: 220px; position: relative; }
.nb-stairs li { flex: 1; background: var(--cream); border-radius: 10px 10px 4px 4px; padding: 14px 10px; display: flex; flex-direction: column; justify-content: flex-start; text-align: center; border-top: 4px solid var(--red); }
.nb-stairs li:nth-child(1) { height: 36%; }
.nb-stairs li:nth-child(2) { height: 52%; }
.nb-stairs li:nth-child(3) { height: 68%; }
.nb-stairs li:nth-child(4) { height: 84%; }
.nb-stairs li:nth-child(5) { height: 100%; background: var(--red); color: #fff; }
.nb-stairs .m { font-family: "Noto Sans JP", sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .1em; color: var(--red); }
.nb-stairs li:nth-child(5) .m { color: #fff; }
.nb-stairs b { font-size: 14px; line-height: 1.45; letter-spacing: .08em; margin-top: 6px; }
@media screen and (max-width: 896px) {
  .saiyou .education .people_slidearea { margin-top: 20px; }
  .nb-band .ph { --ar: 16 / 9; border-radius: 20px; }
  .nb-band--jump { aspect-ratio: 4 / 3; border-radius: 20px; }
  .nb-band--jump .nb-run { inset: -4% 3% 40%; }
  .nb-band--jump .nb-run img { height: 100%; }
  .nb-stairs { height: 190px; gap: 5px; margin-top: 30px; }
  .nb-stairs li { padding: 8px 3px; }
  .nb-stairs .m { font-size: 12px; letter-spacing: .02em; }
  .nb-stairs b { font-size: 12px; letter-spacing: 0; }
}


.saiyou .entry_link_wrap .link_box .link_area { border-radius: 18px; padding: 54px 12% 40px; position: relative; overflow: hidden; }
.saiyou .entry_link_wrap .link_box .link_area.nb-new { background: var(--red); }
.saiyou .entry_link_wrap .link_box .link_area.nb-career { background: var(--ink); }
.saiyou .entry_link_wrap .link_box .link_area::before { content: ""; position: absolute; right: -40px; bottom: -30px; width: 260px; height: 160px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 160'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.18' stroke-width='8' stroke-linecap='round'%3E%3Cpath d='M10 40 C 60 10 100 70 150 40 S 230 10 250 40'/%3E%3Cpath d='M10 80 C 60 50 100 110 150 80 S 230 50 250 80'/%3E%3Cpath d='M10 120 C 60 90 100 150 150 120 S 230 90 250 120'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; transition: transform .6s; }
.saiyou .entry_link_wrap .link_box .link_area:hover::before { transform: translateX(-24px); }
.saiyou .entry_link_wrap .link_box .link_area .link_title { border-bottom: 1px solid rgba(255, 255, 255, .25); height: auto; }
.nb-e { color: #fff; text-align: center; }
.nb-e .s { display: inline-block; font-size: 16px; letter-spacing: .14em; border: 1.5px solid rgba(255, 255, 255, .7); padding: 6px 16px; border-radius: 30px; }
.nb-e b { display: block; font-size: 40px; font-weight: 700; letter-spacing: .12em; margin-top: 16px; line-height: 1.2; }
.nb-e .en { display: block; font-family: "Barlow", sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .4em; margin-top: 8px; color: #fff; }
.saiyou .entry_link_wrap .link_box .link_area .text { color: #fff; text-align: center; margin-top: 26px; font-size: 16px; font-weight: 700; letter-spacing: .12em; }
.saiyou .entry_link_wrap .link_box .link_area .text span { padding-right: 52px; position: relative; }
.saiyou .entry_link_wrap .link_box .link_area .text span::after { content: ""; position: absolute; right: 0; top: 50%; width: 36px; height: 2px; background: #fff; }
.saiyou .entry_link_wrap .link_box .link_area .text span::before { content: ""; position: absolute; right: 0; top: 50%; width: 8px; height: 8px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: translateY(-50%) rotate(45deg); }
.nb-quizbar { display: flex; align-items: center; gap: 28px; margin-top: 40px; background: #fff; border: 2px solid var(--ink); border-radius: 14px; padding: 24px 36px; box-shadow: 6px 6px 0 var(--red); transition: transform .3s, box-shadow .3s; }
.nb-quizbar:hover { transform: translate(-3px, -3px); box-shadow: 9px 9px 0 var(--red); }
.nb-quizbar .q { font-size: 50px; color: var(--red); line-height: 1; }
.nb-quizbar .b { flex: 1; font-size: 14px; line-height: 1.8; color: var(--ink2); letter-spacing: .06em; }
.nb-quizbar .b b { display: block; font-size: 22px; color: var(--ink); letter-spacing: .1em; }
.nb-quizbar .go { background: var(--red); color: #fff; font-weight: 700; letter-spacing: .12em; font-size: 16px; padding: 16px 26px; border-radius: 8px; white-space: nowrap; }
@media screen and (max-width: 896px) {
  .saiyou .entry_link_wrap .link_box .link_area { padding: 32px 8% 26px; margin-top: 24px; }
  .saiyou .entry_link_wrap .link_box .link_area .link_title { padding-bottom: 22px; }
  .nb-e .s { font-size: 12px; }
  .nb-e b { font-size: 28px; margin-top: 12px; }
  .nb-e .en { font-size: 11px; }
  .saiyou .entry_link_wrap .link_box .link_area .text { font-size: 14px; margin-top: 18px; }
  .nb-quizbar { flex-wrap: wrap; gap: 10px 14px; padding: 20px 18px; margin-top: 30px; }
  .nb-quizbar .q { font-size: 40px; }
  .nb-quizbar .b { flex: 1 1 60%; font-size: 12px; }
  .nb-quizbar .b b { font-size: 16px; }
  .nb-quizbar .go { width: 100%; text-align: center; font-size: 14px; padding: 14px; }
}


.base_menu_box.nb-foot { background: var(--ink); color: #fff; margin-top: 60px; }
.nb-foot__wave { position: absolute; left: 0; top: -59px; width: 100%; height: 60px; display: block; }
.nb-foot__wave path { fill: var(--ink); }
.nb-foot .menu_inner .menu_head .logo .nb-logo { width: 240px; height: auto; display: block; }
.nb-foot .menu_inner .menu_head .lead { color: #fff; line-height: 2.1; margin-top: 18px; }
.nb-visit { margin-top: 34px; background: rgba(255, 255, 255, .06); border: 1.5px dashed rgba(255, 255, 255, .3); border-radius: 12px; padding: 20px 22px 22px; max-width: 300px; }
.nb-visit .en_sy { color: #fff; font-size: 22px; font-weight: 700; letter-spacing: .1em; line-height: 1; }
@media screen and (max-width: 896px) { .nb-visit .en_sy { font-size: 16px; } }
.nb-visit .t { font-size: 18px; font-weight: 700; letter-spacing: .1em; margin-top: 6px; color: #fff; }
.nb-visit .d { font-size: 13px; line-height: 1.8; margin-top: 8px; color: #fff; }
.nb-visit a { display: inline-block; margin-top: 14px; background: var(--red); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .12em; padding: 11px 18px; border-radius: 6px; }
.nb-visit a:hover { background: #fff; color: var(--red); }
.nb-foot .menu_inner .subnav ul li a { color: #fff; }
.nb-foot .menu_inner .subnav ul li a:hover { color: #fff; }
.nb-foot .menu_inner .subnav .copyright { color: #999; line-height: 1; }
.nb-foot .menu_inner .menu_nav .box .wrap .parent_link { color: #fff; border-bottom: 2px solid rgba(255, 255, 255, .14); padding-right: 40px; }
.nb-foot .menu_inner .menu_nav .box .wrap .parent_link::after { content: ""; position: absolute; right: 8px; top: 9px; width: 22px; height: 8px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 8'%3E%3Cpath d='M1 4 Q 4.5 0.5 8 4 T 15 4 T 21 4' fill='none' stroke='%23e8402a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.nb-foot .menu_inner .menu_nav .box .wrap .parent_link::before { background-color: var(--red); }
.nb-foot .menu_inner .menu_nav .box .wrap .child_list li a { color: #ccc; }
.nb-foot .menu_inner .menu_nav .box .wrap .child_list li a:hover { color: #fff; }
@media screen and (min-width: 897px) {
  .nb-foot .menu_inner .menu_nav { height: auto; align-items: flex-start; }
  .nb-foot .menu_inner .menu_nav .box { justify-content: flex-start; }
  .base_menu_box.nb-foot { padding-bottom: 140px; }
}
@media screen and (max-width: 896px) {
  .nb-foot__wave { top: -29px; height: 30px; }
  .nb-foot .menu_inner .menu_head .logo .nb-logo { width: 200px; margin: 0 auto; }
  .nb-foot .menu_inner .menu_head .lead { text-align: center; }
  .nb-visit { margin: 30px auto 0; }
  .base_menu_box.nb-foot { padding-bottom: 130px; }
}


@media screen and (min-width: 897px) {
  .saiyou .crosstalk .sy_title_icon.nb-ttl { position: absolute; left: 7.5%; right: auto; top: -46px; margin: 0; }
  .saiyou .crosstalk .sec_textarea { padding-top: 110px; }
  .saiyou .education .sy_title_icon.nb-ttl { top: -46px; }
  
  .saiyou .education .nb-band--jump .nb-run { left: 22%; right: 6%; }
}
.nb-dict { left: auto; right: -5%; top: -34px; bottom: auto; }
@media screen and (max-width: 896px) {
  .nb-dict { left: auto; right: 0; top: auto; bottom: -30px; }
}
.saiyou .entry_link_wrap .link_box .link_area .text span { margin-left: 0; }
.saiyou .entry_link_wrap .link_box .link_area .text span::after { background: #fff; left: auto; right: 0; width: 36px; height: 2px; top: 50%; transform: none; }
@media screen and (max-width: 896px) { .saiyou .entry_link_wrap .link_box .link_area .text span { } }
.nb-mosaic .ph { --ar: 4 / 3; }
.nb-stairs li { padding: 12px 6px; }
.nb-stairs b { font-size: 13px; letter-spacing: .02em; }
@media screen and (min-width: 897px) {
  .saiyou .crosstalk .sec_textarea .red_sy { margin-left: 0; text-align: left; }
  .saiyou .crosstalk .sec_textarea .red_sy::after { left: 0; transform: none; width: 100%; height: 14px; bottom: -14px; }
  .saiyou .crosstalk .sec_textarea a { margin-left: 0; }
}
@media screen and (max-width: 896px) {
  .saiyou .spirits .ichiryu_area .ichiryu_img { top: 0; margin-top: 40px; }
  .nb-stairs { height: auto; flex-direction: column; align-items: flex-start; gap: 6px; }
  .nb-stairs li { flex: none; height: auto !important; flex-direction: row; align-items: center; gap: 12px; text-align: left; border-top: 0; border-left: 4px solid var(--red); border-radius: 4px 10px 10px 4px; padding: 11px 14px; }
  .nb-stairs li:nth-child(1) { width: 60%; }
  .nb-stairs li:nth-child(2) { width: 70%; }
  .nb-stairs li:nth-child(3) { width: 80%; }
  .nb-stairs li:nth-child(4) { width: 90%; }
  .nb-stairs li:nth-child(5) { width: 100%; }
  .nb-stairs .m { font-size: 12px; min-width: 3.4em; }
  .nb-stairs b { font-size: 13px; margin-top: 0; letter-spacing: .06em; }
}


.nb-umv { position: relative; }
.nb-umv .under_mv_ttl { color: var(--ink); position: relative; z-index: 2; }
.nb-umv .under_mv_ttl .small { color: var(--ink2); display: flex; align-items: center; gap: 14px; }
.nb-umv .under_mv_ttl .small::before { content: ""; width: 46px; height: 12px; background: var(--wave-red) left center / auto 100% no-repeat; flex: none; }
.nb-umv .mv_img_wrap .en_sy { top: -5.4vw; right: 7%; font-size: 6.4vw; transform: rotate(-5deg); color: var(--red); z-index: 2; }
.nb-umv .mv_img_wrap .en_sy .maintxt::after { background: var(--wave-red) left center / 100% 100% no-repeat; right: 0; left: 4%; top: auto; bottom: -1.2vw; width: 96%; height: 1.4vw; transform: rotate(2deg); }
.nb-umv .mv_img_wrap .en_sy .stroke { display: none; }
.nb-umv .mv_img_wrap .mv_img .ph { --ar: 21 / 8; border-radius: 16vw 0 0 2.4vw; }
.nb-umv .mv_img_wrap .mv_img.sp { display: none; }
.nb-umv .mv_img_wrap .mv_img.pc { display: block; }
.nb-crumb { position: absolute; right: 7%; top: calc(clamp(260px, 12.143vw, 12.143vw) - 4px); font-size: 12px; letter-spacing: .12em; color: var(--ink2); z-index: 2; }
.nb-crumb a { color: var(--red); }
.nb-crumb a::after { content: "／"; color: var(--ink2); margin: 0 8px; }
@media screen and (max-width: 896px) {
  .nb-umv .mv_img_wrap .en_sy { font-size: 13vw; top: -11vw; right: 5%; }
  .nb-umv .mv_img_wrap .en_sy .maintxt::after { height: 3vw; bottom: -2.4vw; }
  .nb-umv .mv_img_wrap .mv_img .ph { --ar: 4 / 3; border-radius: 22vw 0 0 4vw; }
  .nb-crumb { display: none; }
}



#contents.saiyou, .saiyou #contents { background: var(--paper) var(--bg-lines) repeat 0 0 / 520px auto; }

.under_mv.nb-umv .mv_img_wrap .en_sy { position: absolute; top: -5.4vw; right: 7%; left: auto; bottom: auto; font-size: 6.4vw; transform: rotate(-5deg); color: var(--red); z-index: 2; letter-spacing: .1em; font-weight: 400; }
@media screen and (max-width: 896px) { .under_mv.nb-umv .mv_img_wrap .en_sy { font-size: 13vw; top: -11vw; right: 5%; } }


.nb-crumb { z-index: 5; }
.saiyou .entry_link_wrap .link_box:nth-child(2) .link_area .link_title { border-bottom-color: rgba(255, 255, 255, .45); }
@media screen and (max-width: 896px) {
  .btnkown.nb-float { width: 72px; height: 72px; right: 8px; bottom: 8px; }
  .btnkown.nb-float .en_sy { font-size: 16px; }
  .btnkown.nb-float b { font-size: 12px; letter-spacing: .08em; }
}


.under_mv.nb-umv .mv_img_wrap { margin-top: 64px; margin-left: -10vw; margin-right: 7vw; }
.under_mv.nb-umv .mv_img_wrap .mv_img .ph { border-radius: 0 16vw 2.4vw 0; }
.under_mv.nb-umv .mv_img_wrap::after { content: ""; position: absolute; left: 0; right: 0; bottom: -9px; height: 18px; background: var(--wave-red) left center / auto 100% repeat-x; z-index: 1; pointer-events: none; }
.under_mv.nb-umv .mv_img_wrap .en_sy { top: auto; bottom: -2.2vw; right: 4%; left: auto; font-size: 8vw; transform: rotate(-4deg); text-shadow: 0 0 .5vw var(--paper), 0 0 1vw var(--paper); white-space: nowrap; }
.under_mv.nb-umv .mv_img_wrap .en_sy .maintxt::after { display: none; }
.nb-umv .under_mv_ttl { word-break: keep-all; }
@media screen and (max-width: 896px) {
  .under_mv.nb-umv .mv_img_wrap { margin-top: 40px; margin-left: -5vw; margin-right: 5vw; }
  .under_mv.nb-umv .mv_img_wrap .mv_img .ph { border-radius: 0 22vw 3vw 0; }
  .under_mv.nb-umv .mv_img_wrap .en_sy { font-size: 16vw; bottom: -5.4vw; right: 3%; }
}

h1, h2, h3, .ttl, [class*="_ttl"] { word-break: keep-all; }
@media screen and (min-width: 897px) { .under_mv.nb-umv .mv_img_wrap .mv_img .ph { --ar: 3 / 1; } }
@media screen and (min-width: 897px) { .under_mv.nb-umv .mv_img_wrap .en_sy { right: 12%; } }




.header.saiyo_header, .header { background: var(--paper); }
@media screen and (max-width: 896px) {
  .nb-foot .menu_inner .menu_nav .box .wrap .child_list li a,
  .nb-foot .menu_inner .subnav ul li a { display: inline-flex; align-items: center; min-height: 44px; }
  .nb-foot .menu_inner .menu_nav .box .wrap .child_list li { margin: 0; }
}
.nb-steps-name { display: inline-block; margin-top: 40px; padding: 6px 14px 6px 16px; background: var(--ink); color: #fff; font-size: 14px; letter-spacing: .2em; border-radius: 4px; transform: rotate(-2deg); }
.saiyou .spirits .ichiryu_area .sec_textarea .nb-steps-name + .ichiryu_wrap.nb-steps { margin-top: 22px; }


.saiyou .entry .entry_link_wrap { align-items: flex-start; }
.saiyou .entry .entry_link_wrap .link_box:nth-child(1) { width: 60%; position: relative; z-index: 1; transform: rotate(-1.5deg); }
.saiyou .entry .entry_link_wrap .link_box:nth-child(2) { width: 44%; position: relative; z-index: 2; margin-left: -4%; margin-top: 90px; transform: rotate(2deg); }
.saiyou .entry .entry_link_wrap .link_box:nth-child(1) .link_area { box-shadow: 8px 8px 0 var(--ink); padding: 70px 12% 52px; }
.saiyou .entry .entry_link_wrap .link_box:nth-child(2) .link_area { box-shadow: 8px 8px 0 var(--red); padding: 44px 10% 34px; }
@media screen and (max-width: 896px) {
  .saiyou .entry .entry_link_wrap { display: block; }
  .saiyou .entry .entry_link_wrap .link_box:nth-child(1) { width: 96%; }
  .saiyou .entry .entry_link_wrap .link_box:nth-child(2) { width: 84%; margin: -6px 0 0 14%; }
  .saiyou .entry .entry_link_wrap .link_box:nth-child(1) .link_area { padding: 40px 8% 30px; }
  .saiyou .entry .entry_link_wrap .link_box:nth-child(2) .link_area { padding: 30px 8% 24px; }
}
.saiyou .entry .entry_link_wrap .link_box:nth-child(1) .nb-e b { font-size: 40px; }
.saiyou .entry .entry_link_wrap .link_box:nth-child(2) .nb-e b { font-size: 40px; white-space: nowrap; }
.saiyou .entry .nb-quizbar { margin-top: 64px; }
@media screen and (max-width: 896px) {
  .saiyou .entry .entry_link_wrap .link_box:nth-child(1) .nb-e b { font-size: 28px; }
  .saiyou .entry .entry_link_wrap .link_box:nth-child(2) .nb-e b { font-size: 28px; }
  .saiyou .entry .nb-quizbar { margin-top: 40px; }
}


.nb-dict .w small, .nb-dict .m, .nb-clock li, .nb-stairs .m, .nb-stairs b, .nb-visit .d, .nb-visit a { font-size: 14px; }
.nb-steps .t { font-size: 14px; }
@media screen and (max-width: 896px) {
  .nb-dict .m, .nb-steps .t, .nb-quizbar .b, .nb-visit .d { font-size: 13px; }
  .nb-clock li, .nb-stairs .m, .nb-stairs b, .nb-ct__title .who, .nb-e .s, .nb-mosaic span { font-size: 12px; }
  .nb-e .en { font-size: 12px; }
  .btnkown.nb-float b { font-size: 12px; }
}



.nb-ph { display: inline-block; }


.nb-steps::before { display: none; }
.saiyou .spirits .ichiryu_area .sec_textarea .nb-steps .ichiryu_text { grid-template-columns: 30px 64px 1fr !important; margin: 0 !important; padding: 18px 0 !important; border-top: 1px solid #ddd; }
.saiyou .spirits .ichiryu_area .sec_textarea .nb-steps .ichiryu_text:last-child { border-bottom: 1px solid #ddd; }
.saiyou .spirits .ichiryu_area .sec_textarea .nb-steps .k { width: auto; height: auto; border: 0; background: none; border-radius: 0; font-family: "Noto Serif JP", serif; font-weight: 500; font-size: 44px; line-height: 1; color: var(--ink); }
.saiyou .spirits .ichiryu_area .sec_textarea .nb-steps .n { font-size: 14px; align-self: start; padding-top: 4px; }
.saiyou .spirits .ichiryu_area .sec_textarea .nb-steps .t b { font-size: 18px; margin-bottom: 2px; }
.saiyou .spirits .story_area .nb-clock { position: relative; left: auto; right: auto; bottom: auto; margin: 28px 6% 0 4%; background: none; color: var(--ink); padding: 0; border-radius: 0; }
.saiyou .spirits .story_area .nb-clock::before { left: 0; right: 0; top: 4px; height: 1px; background: #212121; opacity: .3; }
.saiyou .spirits .story_area .nb-clock li::before { box-shadow: 0 0 0 4px #fff; top: 0; }
.saiyou .spirits .story_area .nb-clock li b { color: var(--ink); font-size: 22px; }
@media screen and (max-width: 896px) {
  .saiyou .spirits .ichiryu_area .sec_textarea .nb-steps .ichiryu_text { grid-template-columns: 24px 50px 1fr !important; padding: 14px 0 !important; }
  .saiyou .spirits .ichiryu_area .sec_textarea .nb-steps .k { font-size: 36px; }
  .saiyou .spirits .ichiryu_area .sec_textarea .nb-steps .t b { font-size: 16px; }
  .saiyou .spirits .story_area .nb-clock { margin: 20px 4% 0; padding: 0; }
  .saiyou .spirits .story_area .nb-clock li { padding: 14px 0 6px 16px; }
  .saiyou .spirits .story_area .nb-clock li::before { top: 18px; }
}


body { word-break: keep-all; overflow-wrap: anywhere; line-break: strict; }
p, li, dd, figcaption, summary, .lead, .lead_sy, .text { text-wrap: pretty; }
h1, h2, h3, h4, h5, dt, th, label, .ja, .ttl, [class*="_ttl"] { text-wrap: balance; }
.nb-nw { white-space: nowrap; }


.member .under_mv.nb-umv .mv_img_wrap .en_sy { font-size: 7.64vw; font-weight: 500; letter-spacing: .007em; }
@media screen and (max-width: 896px) { .member .under_mv.nb-umv .mv_img_wrap .en_sy { font-size: 10.26vw; letter-spacing: .017em; } }


:is(.ph img, .nb-run img, video) { filter: sepia(.14) saturate(1.06) brightness(1.03); }


.nb-fv .nb-fvc { display: none; }
@keyframes nbFvPop { from { opacity: 0; transform: translateY(24px) scale(.94) rotate(var(--r, 0deg)); } to { opacity: 1; transform: translateY(0) scale(1) rotate(var(--r, 0deg)); } }


.saiyou .firstview.nb-fv.nb-col { background: var(--red) url(/demos/nobishiro/assets/img/bg_grain.png) repeat center / 60px; }
.nb-fv.nb-col :is(.nb-fvb__band, .nb-fvb__front, .nb-fvb__people, .nb-fvb__tags) { display: none; }
.nb-fv.nb-col .nb-fvb__words { display: none; }
.nb-fv.nb-col .nb-fvc { display: block; position: absolute; inset: 0; z-index: 1; }
.nb-fv.nb-col .nb-fvc li { position: absolute; opacity: 0; animation: nbFvPop .7s cubic-bezier(.2, .9, .3, 1.2) forwards; }
.nb-fv.nb-col .nb-fvc img { display: block; height: 100%; width: auto; filter: drop-shadow(0 10px 14px rgba(120, 20, 6, .28)); }
.nb-fv.nb-col .nb-fvc .c1 { left: 1%; top: 12%; height: 17vw; --r: -3deg; }
.nb-fv.nb-col .nb-fvc .c4 { left: 14.5%; top: 10%; height: 16.5vw; animation-delay: .08s; }
.nb-fv.nb-col .nb-fvc .c3 { left: 28.5%; top: 14%; height: 15vw; animation-delay: .16s; }
.nb-fv.nb-col .nb-fvc .c2 { left: 44%; top: 12%; height: 15vw; animation-delay: .24s; }
.nb-fv.nb-col .nb-fvc .c5 { left: 59%; top: 10%; height: 16.5vw; --r: 3deg; animation-delay: .12s; }
.nb-fv.nb-col .nb-fvc .c10 { left: 72.5%; top: 13%; height: 15.5vw; animation-delay: .2s; }
.nb-fv.nb-col .nb-fvc .c9 { left: 87%; top: 12%; height: 16vw; animation-delay: .28s; }
.nb-fv.nb-col .nb-fvc .c7 { left: 6%; top: 40%; height: 14.5vw; animation-delay: .32s; }
.nb-fv.nb-col .nb-fvc .c12 { left: 19.5%; top: 41%; height: 14vw; animation-delay: .34s; }
.nb-fv.nb-col .nb-fvc .c11 { left: 73%; top: 41%; height: 14vw; animation-delay: .38s; }
.nb-fv.nb-col .nb-fvc .c8 { left: 84%; top: 40%; height: 14.5vw; animation-delay: .36s; }
.nb-fv.nb-col .nb-fvc .c6 { display: none; }
.nb-fv.nb-col .nb-fvc .c14 { left: -1%; bottom: 0; height: 21vw; animation-delay: .4s; }
.nb-fv.nb-col .nb-fvc .c13 { left: 15%; bottom: 0; height: 13vw; animation-delay: .46s; }
.nb-fv.nb-col .nb-fvc .c16 { right: 14.5%; bottom: 0; height: 12.5vw; animation-delay: .5s; }
.nb-fv.nb-col .nb-fvc .c15 { right: -1%; bottom: 0; height: 21vw; animation-delay: .44s; }
.nb-fv.nb-col .nb-fvb__edge { z-index: 3; }
.nb-fv.nb-col .nb-fvb__catch { top: auto; bottom: 13%; z-index: 2; }
.nb-fv.nb-col .nb-fvb__catch .en { font-size: 72px; color: #fff; }
.nb-fv.nb-col .nb-fvb__catch .ja { color: #fff; font-size: clamp(44px, 4.6vw, 68px); letter-spacing: .1em; text-shadow: 0 3px 0 rgba(120, 20, 6, .35); }
.nb-fv.nb-col .nb-fvb__catch .ja em { color: #fff; }
.nb-fv.nb-col .nb-fvb__catch .ja em path { stroke: #ffe08a; }
.nb-fv.nb-col .nb-fvb__catch .sub { color: var(--red); background: #fff; border-radius: 999px; padding: 8px 46px; }

@media screen and (max-width: 896px) {
  .nb-fv.nb-col .nb-fvc .c3, .nb-fv.nb-col .nb-fvc .c10, .nb-fv.nb-col .nb-fvc .c7, .nb-fv.nb-col .nb-fvc .c8, .nb-fv.nb-col .nb-fvc .c13, .nb-fv.nb-col .nb-fvc .c16, .nb-fv.nb-col .nb-fvc .c11, .nb-fv.nb-col .nb-fvc .c12 { display: none; }
  .nb-fv.nb-col .nb-fvc .c1 { left: -2%; top: 14%; height: 34vw; }
  .nb-fv.nb-col .nb-fvc .c4 { left: 22%; top: 13%; height: 33vw; }
  .nb-fv.nb-col .nb-fvc .c2 { left: 44%; top: 15%; height: 30vw; }
  .nb-fv.nb-col .nb-fvc .c5 { left: 61%; top: 13%; height: 33vw; }
  .nb-fv.nb-col .nb-fvc .c9 { left: 81%; top: 15%; height: 31vw; }
  .nb-fv.nb-col .nb-fvc .c14 { left: -4%; height: 43vw; }
  .nb-fv.nb-col .nb-fvc .c15 { right: -4%; height: 43vw; }
  .nb-fv.nb-col .nb-fvb__words { display: none; }
  .nb-fv.nb-col .nb-fvb__catch { top: 39%; bottom: auto; }
  .nb-fv.nb-col .nb-fvb__catch .en { font-size: 40px; }
  .nb-fv.nb-col .nb-fvb__catch .ja { font-size: 9.6vw; }
  .nb-fv.nb-col .nb-fvb__catch .sub { padding: 6px 22px; font-size: 11px; }
}



.nb-dict[data-t-v="b"] { writing-mode: vertical-rl; max-width: none; height: 232px; padding: 24px 22px; border: 0; border-radius: 3px; background: #fffaf0 url(/demos/nobishiro/assets/img/bg_grain.png) repeat center / 60px; box-shadow: 0 12px 22px rgba(90, 44, 12, .16); transform: rotate(-3deg); }
.nb-dict[data-t-v="b"]::before { content: ""; position: absolute; top: -12px; left: 50%; width: 86px; height: 24px; transform: translateX(-50%) rotate(4deg); background: rgba(242, 193, 78, .78); }
.nb-dict[data-t-v="b"] .w { font-size: 32px; letter-spacing: .18em; }
.nb-dict[data-t-v="b"] .w small { display: block; margin: 10px 0 0; font-size: 14px; color: var(--red); letter-spacing: .1em; }
.nb-dict[data-t-v="b"] .m { margin: 0; margin-block-start: 14px; line-height: 2; letter-spacing: .14em; }
@media screen and (max-width: 896px) {
  .nb-dict[data-t-v="b"] { height: 176px; padding: 18px 16px; }
  .nb-dict[data-t-v="b"] .w { font-size: 24px; }
  .nb-dict[data-t-v="b"] .m { font-size: 12px; }
}


.nb-fv .nb-fvp, .nb-fv .nb-fvp > * { display: none; }
.nb-fv .nb-fvp { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.nb-fv .nb-fvp__lines { position: absolute; inset: 0; width: 100%; height: 100%; }
.nb-fv .nb-fvp__lines path { fill: none; stroke: rgba(255, 244, 220, .42); stroke-linecap: round; }
.nb-fv .nb-fvp__lines .l1 { stroke-width: 16; } .nb-fv .nb-fvp__lines .l2 { stroke-width: 6; stroke: rgba(255, 244, 220, .3); } .nb-fv .nb-fvp__lines .l3 { stroke-width: 10; stroke: rgba(255, 224, 138, .35); }





@media screen and (max-width: 896px) {
}


.nb-fv .nb-fvx, .nb-fv .nb-fvx > * { display: none; }
.nb-fv .nb-fvx { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.nb-fv .nb-fvx .pp { position: absolute; margin: 0; filter: drop-shadow(0 14px 18px rgba(100, 14, 4, .34)); opacity: 0; animation: nbFvPop .8s cubic-bezier(.2, .9, .3, 1.2) forwards; }
.nb-fv .nb-fvx .pp img { display: block; width: 100%; height: 100%; object-fit: cover; clip-path: var(--cp, polygon(2% 4%, 98% 0, 100% 96%, 0 100%)); }
.nb-fv .nb-fvx .pp.t::before { content: ""; position: absolute; z-index: 1; top: -10px; left: 50%; width: 76px; height: 22px; transform: translateX(-50%) rotate(-5deg); background: rgba(255, 230, 150, .88); }
.nb-fv .nb-fvx .hero img { display: block; width: 100%; height: 100%; object-fit: cover; }


.nb-fv.nb-col .nb-fvc { display: none; }
.nb-fv.nb-col .nb-fvx, .nb-fv.nb-col .nb-fvx .pp { display: block; }
.nb-fv.nb-col .pp1 { left: 3%; top: 14%; width: 24vw; aspect-ratio: 3 / 2; --r: -5deg; --cp: polygon(2% 7%, 97% 0, 100% 93%, 0 100%); }
.nb-fv.nb-col .pp2 { right: 5%; top: 12%; width: 14vw; aspect-ratio: 4 / 5; --r: 6deg; --cp: polygon(6% 0, 100% 5%, 94% 100%, 0 95%); animation-delay: .1s; }
.nb-fv.nb-col .pp2 img { object-position: 50% 18%; }
.nb-fv.nb-col .pp3 { right: 2.5%; bottom: 10%; width: 25vw; aspect-ratio: 3 / 2; --r: 4deg; --cp: polygon(0 4%, 100% 0, 97% 100%, 3% 95%); animation-delay: .2s; }
.nb-fv.nb-col .pp4 { left: 5%; bottom: 8%; width: 15vw; aspect-ratio: 4 / 5; --r: -7deg; --cp: polygon(4% 0, 100% 3%, 96% 97%, 0 100%); animation-delay: .3s; }
.nb-fv.nb-col .pp5 { left: 37%; top: 9%; width: 12vw; aspect-ratio: 1; --r: 3deg; animation-delay: .4s; }
.nb-fv.nb-col .pp5 img { object-position: 60% 30%; }
.nb-fv.nb-col .pp6 { right: 27%; bottom: 5%; width: 11vw; aspect-ratio: 4 / 5; --r: -4deg; animation-delay: .5s; }
.nb-fv.nb-col .pp6 img { object-position: 50% 15%; }
.nb-fv.nb-col .nb-fvb__catch { top: 50%; bottom: auto; transform: translateY(-48%); }
.nb-fv.nb-col .nb-fvb__catch .en { font-size: clamp(84px, 9vw, 132px); color: #fff; text-shadow: 0 5px 0 rgba(120, 20, 6, .3); }
.nb-fv.nb-col .nb-fvb__catch .ja { font-size: clamp(34px, 3.2vw, 46px); letter-spacing: .16em; margin-top: 18px; }





@media screen and (max-width: 896px) {
  .nb-fv.nb-col .pp1 { left: -3%; top: 14%; width: 48vw; }
  .nb-fv.nb-col .pp2 { right: -2%; top: 15%; width: 30vw; }
  .nb-fv.nb-col .pp3 { right: -4%; bottom: 7%; width: 50vw; }
  .nb-fv.nb-col .pp4 { left: 2%; bottom: 6%; width: 31vw; }
  .nb-fv.nb-col .nb-fvx :is(.pp5, .pp6) { display: none; }
  .nb-fv.nb-col .nb-fv .nb-fvx .pp.t::before, .nb-fv.nb-col .pp.t::before { width: 54px; height: 16px; top: -7px; }
  .nb-fv.nb-col .nb-fvb__catch { top: 50%; }
  .nb-fv.nb-col .nb-fvb__catch .en { font-size: 54px; }
  .nb-fv.nb-col .nb-fvb__catch .ja { font-size: 8.6vw; margin-top: 10px; letter-spacing: .1em; }
}


.nb-fv.nb-col .nb-fvx { display: none; }
.nb-fv.nb-col .nb-fvc { display: block; }
.nb-fv.nb-col .nb-fvp, .nb-fv.nb-col .nb-fvp__lines { display: block; }
.nb-fv.nb-col .nb-fvc :is(.c12, .c11) { display: none; }
.nb-fv.nb-col .nb-fvc :is(.c1, .c4, .c3, .c2, .c5, .c10, .c9) { top: 11%; height: 12.5vw; }
.nb-fv.nb-col .nb-fvc :is(.c1, .c4, .c3, .c2, .c5, .c10, .c9) img { filter: drop-shadow(0 6px 8px rgba(120, 20, 6, .22)); }
.nb-fv.nb-col .nb-fvc .c1 { left: 4%; } .nb-fv.nb-col .nb-fvc .c4 { left: 17%; } .nb-fv.nb-col .nb-fvc .c3 { left: 30.5%; } .nb-fv.nb-col .nb-fvc .c2 { left: 45%; } .nb-fv.nb-col .nb-fvc .c5 { left: 58%; } .nb-fv.nb-col .nb-fvc .c10 { left: 71%; } .nb-fv.nb-col .nb-fvc .c9 { left: 84%; }
.nb-fv.nb-col .nb-fvc :is(.c7, .c8) { top: 38%; height: 15vw; }
.nb-fv.nb-col .nb-fvc .c7 { left: 2%; } .nb-fv.nb-col .nb-fvc .c8 { left: auto; right: 2%; }
.nb-fv.nb-col .nb-fvc :is(.c14, .c15) { height: 24vw; z-index: 4; }
.nb-fv.nb-col .nb-fvc .c14 { left: -2%; } .nb-fv.nb-col .nb-fvc .c15 { right: -2%; }
.nb-fv.nb-col .nb-fvc .c13 { left: 19%; height: 13vw; } .nb-fv.nb-col .nb-fvc .c16 { right: 19%; height: 13vw; }
@media screen and (max-width: 896px) {
  .nb-fv.nb-col .nb-fvc :is(.c1, .c4, .c2, .c5, .c9) { top: 14%; height: 26vw; }
  .nb-fv.nb-col .nb-fvc .c1 { left: -1%; } .nb-fv.nb-col .nb-fvc .c4 { left: 20%; } .nb-fv.nb-col .nb-fvc .c2 { left: 41%; } .nb-fv.nb-col .nb-fvc .c5 { left: 61%; } .nb-fv.nb-col .nb-fvc .c9 { left: 81%; }
  .nb-fv.nb-col .nb-fvc :is(.c14, .c15) { height: 46vw; }
  .nb-fv.nb-col .nb-fvc .c14 { left: -6%; } .nb-fv.nb-col .nb-fvc .c15 { right: -6%; }
}


body { overflow-x: clip; }   
@media screen and (min-width: 897px) and (max-width: 1180px) {
  .nb-stairs { height: 260px; }   
  .nb-stairs b { letter-spacing: 0; }
}


header .nav a.parent_list, header .nb-logo-tag { overflow-wrap: normal; word-break: keep-all; }
header .nb-logo-tag, header .contact_link a.parent_list { white-space: nowrap; }
@media screen and (min-width: 897px) and (max-width: 1180px) {
  header.saiyo_header { padding-left: 24px !important; padding-right: 24px !important; }
  header .nb-logo { width: 140px !important; height: auto !important; }
  header .nav__mainnav ul.flx > li { margin-right: 14px !important; }
  header .nav__mainnav ul.flx > li > div > a.parent_list { font-size: 13px !important; }
}
@media screen and (min-width: 897px) and (max-width: 1023px) {
  header.saiyo_header { padding-left: 16px !important; padding-right: 16px !important; }
  header .nb-logo { width: 118px !important; }
  header .nav__mainnav ul.flx > li { margin-right: 10px !important; }
  header .nav__mainnav ul.flx > li > div > a.parent_list { font-size: 12px !important; }
}
