


body.regional_revitalization { background: var(--paper); }
body.regional_revitalization #contents { background: var(--bg-lines) repeat 0 0 / 520px auto; }
.regional_revitalization .sec_textarea .en_sy { color: var(--red); }
.regional_revitalization .sec_textarea h3 { color: var(--ink); }


.regional_revitalization .mv_under .text_wrap { align-items: flex-start; }
.regional_revitalization .mv_under .text_wrap h3 { color: var(--ink); }
.regional_revitalization .mv_under .text_wrap h3 .red_sy { color: var(--red); background: linear-gradient(transparent 72%, rgba(232, 64, 42, .14) 72%); }


.regional_revitalization .college { background: var(--cream); position: relative; margin-top: 10vw; padding-bottom: 9vw; }
.regional_revitalization .college::before, .regional_revitalization .college::after { content: ""; position: absolute; left: 0; right: 0; height: 40px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 22 C 120 4 240 4 360 20 S 600 38 720 20 S 960 2 1080 18 S 1320 36 1440 16 V0 H0 Z' fill='%23fbf8f1'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.regional_revitalization .college::before { top: -1px; }
.regional_revitalization .college::after { bottom: -1px; transform: scaleY(-1); }
.regional_revitalization .college_intro { align-items: center; padding-top: 140px; }
.regional_revitalization .college_intro .title_block { transform: rotate(-6deg); }
.nb-hand { display: inline-block; position: relative; margin-left: 7.8vw; font-size: clamp(15px, 1.3vw, 19px); font-weight: 700; letter-spacing: .12em; line-height: 1.6; color: var(--red); opacity: 0; transform: translateY(10px); transition: opacity .6s, transform .6s; }
.nb-hand.on { opacity: 1; transform: none; }
.nb-hand::after { content: ""; position: absolute; left: 0; bottom: -14px; width: 100%; height: 14px; background: var(--wave-red) left center / 100% 100% no-repeat; }
.regional_revitalization .college_intro .title_block .en_sy { color: var(--red); margin-top: 3.6vw; }
.regional_revitalization .college_intro .title_block .en_sy span { }
.regional_revitalization .college_intro .title_block .en_sy span:nth-child(2) { margin-left: 9vw; }
.regional_revitalization .college_intro .lead_block h5 { align-items: center; }
.regional_revitalization .college_intro .lead_block h5 .text { color: var(--ink); }
.regional_revitalization .college_intro .lead_block h5 .border { margin-left: 18px; }
.regional_revitalization .college_intro .lead_block h5 .border::after { height: 12px; background: var(--wave-red) left center / 120px 12px repeat-x; }
.regional_revitalization .college_intro .lead_block .lead_sy { color: var(--ink); }
.nb-facts { list-style: none; margin: 34px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.nb-facts li { background: #fff; border-radius: 14px; padding: 16px 18px 14px; box-shadow: 4px 4px 0 var(--ink); }
.nb-facts span { display: block; font-size: 13px; font-weight: 700; letter-spacing: .1em; color: var(--ink2); line-height: 1.5; }
.nb-facts b { display: block; margin-top: 4px; font-family: "Barlow", sans-serif; font-size: 44px; line-height: 1; color: var(--red); letter-spacing: .02em; }
.nb-facts small { font-family: "Noto Sans JP", sans-serif; font-size: 14px; color: var(--ink); margin-left: 4px; letter-spacing: .1em; }
.nb-facts__note { margin-top: 12px; font-size: 12px; letter-spacing: .1em; color: var(--ink2); text-align: right; }


.regional_revitalization .college .college_contents { margin: 7vw 3% 0; border-radius: 36px; box-shadow: 0 12px 30px rgba(0, 0, 0, .06); }
.nb-yr__head { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 56px; align-items: end; max-width: 1180px; margin: 0 auto; }
.nb-yr__en { grid-column: 1; font-family: "Caveat", cursive; font-weight: 700; font-size: 30px; line-height: 1; color: var(--red); transform: rotate(-3deg); transform-origin: left bottom; }
.nb-yr__h { grid-column: 1; margin-top: 10px; font-family: "Noto Serif JP", serif; font-weight: 500; font-size: 40px; line-height: 1.3; letter-spacing: .08em; color: var(--ink); }
.nb-yr__lead { grid-column: 2; grid-row: 1 / 3; align-self: end; padding: 0 0 10px 28px; border-left: 2px solid var(--ink); font-size: 16px; line-height: 2; color: var(--ink); }
.nb-yr { display: grid; grid-template-columns: repeat(3, 1fr); gap: 44px; max-width: 1180px; margin: 64px auto 0; align-items: start; }
.nb-yr__col { position: relative; background: var(--cream); border-radius: 22px; padding: 26px 22px 30px; }
.nb-yr__col.is-mill { background: var(--cream2); margin-top: 46px; }
.nb-yr__col.is-factory { margin-top: 92px; }
.nb-yr__place { position: relative; padding: 0 0 20px 2px; margin-bottom: 26px; border-bottom: 2px dashed rgba(0, 0, 0, .35); min-height: 132px; }
.nb-yr__step { font-family: "Barlow", sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .24em; color: var(--red); text-transform: uppercase; display: flex; align-items: center; gap: 10px; }
.nb-yr__step span { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--ink); color: #fff; font-size: 16px; letter-spacing: 0; }
.nb-yr__name { padding-right: 96px; margin-top: 14px; font-size: 24px; font-weight: 700; letter-spacing: .1em; color: var(--ink); line-height: 1.4; }
.nb-yr__where { margin-top: 6px; font-size: 14px; line-height: 1.7; color: var(--ink2); text-wrap: pretty; }
.nb-yr__pic { position: absolute; right: -4px; top: -4px; width: 96px !important; height: 52px !important; overflow: visible; }
.nb-yr__list { list-style: none; margin: 0; padding: 0; position: relative; display: grid; gap: 24px; }
.nb-yr__list::before { content: ""; position: absolute; left: 32px; top: 20px; bottom: 20px; border-left: 2px dashed var(--red); }
.nb-yr__card { position: relative; display: grid; grid-template-columns: 66px 1fr; column-gap: 14px; align-items: start; background: #fff; border-radius: 14px; padding: 18px 16px 18px 0; box-shadow: 6px 6px 0 var(--ink); }
.nb-yr__mon { position: relative; left: -8px; justify-self: start; min-width: 74px; padding: 8px 8px 7px; background: var(--red); color: #fff; text-align: center; transform: rotate(-3deg); font-size: 13px; font-weight: 700; letter-spacing: .06em; line-height: 1; box-shadow: 3px 3px 0 var(--ink); }
.nb-yr__mon b { display: block; font-family: "Barlow", sans-serif; font-size: 26px; letter-spacing: 0; margin-bottom: 3px; }
.nb-yr__ttl { font-size: 18px; font-weight: 700; letter-spacing: .06em; line-height: 1.45; color: var(--ink); }
.nb-yr__txt { margin-top: 8px; font-size: 14px; line-height: 1.85; color: var(--ink); text-wrap: pretty; }
.nb-yr__body { padding-right: 34px; }
.nb-yr__ico { position: absolute; right: 12px; top: 14px; width: 34px !important; height: 34px !important; }
.nb-yr__memo { margin-top: 28px; padding: 18px 18px 16px; border: 2px dashed var(--ink); border-radius: 14px; font-size: 14px; line-height: 1.85; color: var(--ink); background: rgba(255, 255, 255, .55); text-wrap: pretty; }
.nb-yr__memo span { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; letter-spacing: .1em; color: var(--red); }
.nb-yr__go { position: absolute; right: -50px; top: 64px; width: 48px !important; height: 20px !important; z-index: 2; }


.regional_revitalization .interview { margin-top: 110px; }
.regional_revitalization .interview .section_img .ph { --ar: 1440 / 800; border-radius: 0 16vw 0 0; }
.regional_revitalization .interview .section_img .center_text { border: 0; background: var(--paper); border-radius: 18px; padding: 28px 24px 30px; box-shadow: 6px 6px 0 var(--ink); text-align: center; }
.regional_revitalization .interview .section_img .center_text .en_sy { color: var(--red); }
.regional_revitalization .interview .section_img .center_text .vertical_text { width: auto; margin: 18px auto 0; display: flex; flex-direction: row-reverse; justify-content: center; gap: 12px; }
.regional_revitalization .interview .section_img .center_text .v-main { writing-mode: vertical-rl; font-size: clamp(30px, 2.9vw, 42px); font-weight: 700; letter-spacing: .22em; color: var(--ink); line-height: 1; }
.regional_revitalization .interview .section_img .center_text .v-sub { writing-mode: vertical-rl; font-family: "Barlow", sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .32em; color: var(--red); line-height: 1; }
.nb-name { position: absolute; background: var(--red); color: #fff; border-radius: 12px; padding: 12px 22px 13px; transform: rotate(-4deg); box-shadow: 5px 5px 0 var(--ink); text-align: center; line-height: 1.3; z-index: 2; }
.nb-name .g { display: block; font-size: 12px; letter-spacing: .12em; color: #fff; }
.nb-name b { display: block; font-size: 30px; letter-spacing: .2em; margin: 3px 0 1px; }
.nb-name .y { display: block; font-size: 12px; letter-spacing: .14em; }
.nb-name.fade_y { transform: rotate(-4deg) translateY(12px); }
.nb-name.fade_y.on { transform: rotate(-4deg); }
.nb-name.second { right: 14%; bottom: -34px; }
.regional_revitalization .interview .prologue_wrap { margin-top: 140px; }
.regional_revitalization .text_area .title_box h3 { color: var(--ink); }
.regional_revitalization .text_area .title_box h3 .red_sy { color: var(--red); }
.regional_revitalization .text_area .title_box h3::after { content: "INTRODUCTION"; color: var(--red); }
.regional_revitalization .interview .prologue_wrap .text_area .lead { color: var(--ink); }
.regional_revitalization .text_area h4 { color: var(--red); padding-top: 3.2vw; }
.regional_revitalization .text_area h4::after { width: 46px; height: 40px; top: -1vw; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 40'%3E%3Cpath d='M6 3 H40 Q 44 3 44 7 V25 Q 44 29 40 29 H20 L10 37 V29 H6 Q 2 29 2 25 V7 Q 2 3 6 3 Z' fill='%23fff' stroke='%23e8402a' stroke-width='2.6' stroke-linejoin='round'/%3E%3Ctext x='23' y='22' text-anchor='middle' font-family='Barlow, sans-serif' font-weight='700' font-size='17' fill='%23e8402a'%3EQ.%3C/text%3E%3C/svg%3E") left top / contain no-repeat; }
.regional_revitalization .interview .interview_item .item_wrap .text_area .lead_sy { color: var(--ink); }
.regional_revitalization .interview .interview_item .item_wrap .item_img .ph { --ar: 4 / 3; }
.regional_revitalization .interview .interview_item .item_wrap .item_img .right_img { border-radius: 120px 0 0 18px; }
.regional_revitalization .interview .interview_item .item_wrap .item_img .left_img { border-radius: 0 120px 18px 0; }
.regional_revitalization .interview .interview_item .item_wrap_under .item_img .ph { --ar: 1440 / 640; border-radius: 0 0 16vw 0; }
.regional_revitalization .interview .interview_item .item_wrap_under .text_area .title_box { position: relative; z-index: 1; background: var(--paper); border-radius: 0 40px 0 0; padding: 40px 50px 0 0; margin-left: -50px; padding-left: 50px; align-self: flex-start; }
.regional_revitalization .interview .interview_item .item_wrap_under .text_area .lead_sy { color: var(--ink); padding-top: 11vw; }


.regional_revitalization .other_works { background: transparent; padding: 120px 0 60px; }
.regional_revitalization .other_works .sec_textarea h3 { font-size: 40px; }
.regional_revitalization .other_works_wrap .work_box { width: 40%; max-width: 560px; }
.regional_revitalization .other_works_wrap .work_box.current { display: block; }
.regional_revitalization .other_works_wrap .work_box .content_img { overflow: hidden; border-radius: 120px 18px 18px 18px; }
.regional_revitalization .other_works_wrap .work_box .content_img .ph { --ar: 3 / 2; transition: transform .6s; }
.regional_revitalization .other_works_wrap .work_box:hover .content_img .ph { transform: scale(1.05); }
.regional_revitalization .other_works_wrap .work_box .text_area .sub { color: var(--red); }
.regional_revitalization .other_works_wrap .work_box .text_area .main span { color: var(--ink); }
.regional_revitalization .other_works_wrap .work_box .text_area .main span::after { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='12.5' fill='none' stroke='%23e8402a' stroke-width='2'/%3E%3Cpath d='M8 14 H19 M15 10 L19 14 L15 18' fill='none' stroke='%23e8402a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.regional_revitalization .challenge_list { background: transparent; padding: 90px 0 150px; }
.regional_revitalization .challenge_list .title { color: var(--ink); }
.nb-notes-ttl { display: flex; align-items: center; justify-content: center; gap: 26px; margin-top: 20px; }
.nb-notes-ttl .m { font-family: "Noto Serif JP", serif; font-weight: 500; font-size: 40px; line-height: 1.22; letter-spacing: .06em; color: var(--ink); text-align: left; }
.nb-notes-ttl .s { font-family: "Caveat", cursive; font-weight: 700; font-size: 30px; color: var(--red); transform: rotate(-6deg); padding: 6px 4px 10px; position: relative; }
.nb-notes-ttl .s::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 12px; background: var(--wave-red) left center / 100% 100% no-repeat; }
.regional_revitalization .challenge_list .challenge__other--item { color: var(--ink); }
.regional_revitalization .challenge_list .challenge__other--item .thumb { border-radius: 16px; overflow: hidden; }
.regional_revitalization .challenge_list .challenge__other--item .thumb .ph { --ar: 16 / 10; transition: transform .6s; }
.regional_revitalization .challenge_list .challenge__other--item:hover .thumb .ph { transform: scale(1.06); }
.regional_revitalization .challenge_list .challenge__other--item .label { color: var(--red); }
.regional_revitalization .challenge_list .challenge__other--item h4 { color: var(--ink); }
.regional_revitalization .challenge_list .challenge__other--item .name span { background: var(--cream2); color: var(--ink); border-radius: 4px; }
.regional_revitalization .challenge_list .challenge__other--item .name span:not(:last-child)::before,
.regional_revitalization .challenge_list .challenge__other--item .name span:not(:last-child)::after { background-color: var(--red); }
.regional_revitalization .challenge_list .challenge__other--item .name.is-flow span:not(:last-child)::before { transform: translate(0, -50%); width: 16px; right: -22px; }
.regional_revitalization .challenge_list .challenge__other--item .name.is-flow span:not(:last-child)::after { width: 7px; height: 7px; background: none; border-top: 1.5px solid var(--red); border-right: 1.5px solid var(--red); transform: translate(0, -50%) rotate(45deg); right: -22px; }

@media (prefers-reduced-motion: reduce) { .nb-hand { opacity: 1; transform: none; transition: none; } }


@media screen and (max-width: 896px) {
  .regional_revitalization .sec_textarea .en_sy { font-size: 24px; }
  .regional_revitalization .mv_under .text_wrap h3 { }
  .regional_revitalization .college { margin-top: 80px; padding-top: 30px; padding-bottom: 80px; }
  .regional_revitalization .college::before, .regional_revitalization .college::after { height: 20px; }
  .regional_revitalization .college_intro { padding: 40px 5% 0; }
  .nb-hand { margin-left: 30px; font-size: 14px; }
  .regional_revitalization .college_intro .title_block .en_sy { margin-top: 30px; }
  .regional_revitalization .college_intro .title_block .en_sy span { }
  .regional_revitalization .college_intro .title_block .en_sy span:nth-child(2) { margin-left: 60px; }
  .regional_revitalization .college_intro .lead_block { margin-top: 44px; }
  .nb-facts { gap: 8px; margin-top: 26px; }
  .nb-facts li { padding: 12px 10px 10px; box-shadow: 3px 3px 0 var(--ink); border-radius: 10px; }
  .nb-facts span { font-size: 12px; letter-spacing: .02em; min-height: 3em; line-height: 1.45; }
  .nb-facts b { font-size: 30px; }
  .nb-facts small { font-size: 12px; margin-left: 2px; }
  .regional_revitalization .college .college_contents { margin: 50px 4% 0; border-radius: 24px; padding: 50px 5% 40px; }
  .nb-yr__head { display: block; }
  .nb-yr__en { font-size: 26px; }
  .nb-yr__h { font-size: 28px; margin-top: 8px; }
  .nb-yr__lead { margin-top: 18px; padding: 2px 0 2px 16px; font-size: 14px; line-height: 1.9; }
  .nb-yr { grid-template-columns: 1fr; gap: 64px; margin-top: 40px; }
  .nb-yr__col, .nb-yr__col.is-mill, .nb-yr__col.is-factory { margin: 0 -2%; padding: 22px 16px 26px; border-radius: 18px; }
  .nb-yr__place { min-height: 0; padding-bottom: 16px; margin-bottom: 22px; }
  .nb-yr__name { font-size: 20px; margin-top: 12px; }
  .nb-yr__where { font-size: 13px; }
  .nb-yr__name { padding-right: 88px; }
  .nb-yr__pic { width: 84px !important; height: 46px !important; right: -2px; top: 0; }
  .nb-yr__list::before { left: 28px; }
  .nb-yr__card { grid-template-columns: 58px 1fr; column-gap: 12px; padding: 16px 14px 16px 0; box-shadow: 5px 5px 0 var(--ink); }
  .nb-yr__mon { min-width: 64px; left: -6px; font-size: 12px; }
  .nb-yr__mon b { font-size: 22px; }
  .nb-yr__ttl { font-size: 16px; }
  .nb-yr__txt { font-size: 14px; }
  .nb-yr__ico { right: 10px; top: 12px; width: 30px !important; height: 30px !important; }
  .nb-yr__memo { font-size: 14px; }
  .nb-yr__go { right: auto; left: 50%; top: auto; bottom: -50px; transform: translateX(-50%) rotate(90deg); width: 40px !important; height: 18px !important; }

  .regional_revitalization .interview { margin-top: 60px; }
  .regional_revitalization .interview .section_img .ph { --ar: 4 / 5; border-radius: 0 26vw 0 0; }
  .regional_revitalization .interview .section_img .center_text { left: 5%; top: 8%; transform: none; padding: 16px 14px 18px; box-shadow: 4px 4px 0 var(--ink); border-radius: 14px; }
  .regional_revitalization .interview .section_img .center_text .en_sy { }
  .regional_revitalization .interview .section_img .center_text .vertical_text { margin-top: 10px; gap: 8px; }
  .regional_revitalization .interview .section_img .center_text .v-main { font-size: 24px; }
  .regional_revitalization .interview .section_img .center_text .v-sub { font-size: 12px; }
  .nb-name { padding: 9px 16px 10px; box-shadow: 4px 4px 0 var(--ink); }
  .nb-name b { font-size: 22px; }
  .nb-name .g, .nb-name .y { font-size: 12px; }
  .nb-name.second { right: 5%; bottom: -26px; }
  .regional_revitalization .interview .prologue_wrap { margin-top: 90px; }
  .regional_revitalization .text_area h4 { padding-top: 46px; }
  .regional_revitalization .text_area h4::after { top: 0; width: 38px; height: 33px; }
  .regional_revitalization .interview .interview_item .item_wrap .item_img .right_img { border-radius: 70px 0 0 14px; }
  .regional_revitalization .interview .interview_item .item_wrap .item_img .left_img { border-radius: 0 70px 14px 0; }
  .regional_revitalization .interview .interview_item .item_wrap .item_img.fade_y { align-self: flex-end; }
  .regional_revitalization .interview .interview_item .item_wrap:nth-child(2) .item_img { align-self: flex-start; }
  .regional_revitalization .interview .interview_item .item_wrap_under .item_img .ph { --ar: 4 / 3; border-radius: 0 0 22vw 0; }
  .regional_revitalization .interview .interview_item .item_wrap_under .text_area .title_box { margin: 0; padding: 0; background: none; border-radius: 0; }
  .regional_revitalization .interview .interview_item .item_wrap_under .text_area .lead_sy { padding-top: 0; }
  .regional_revitalization .other_works { padding: 70px 0 20px; }
  .regional_revitalization .other_works .sec_textarea h3 { font-size: 26px; }
  .regional_revitalization .other_works_wrap .work_box { width: 100%; max-width: none; margin-bottom: 20px; }
  .regional_revitalization .other_works_wrap .work_box .content_img { border-radius: 70px 12px 12px 12px; }
  .regional_revitalization .challenge_list { padding: 70px 0 90px; }
  .nb-notes-ttl { flex-direction: column; gap: 10px; }
  .nb-notes-ttl .m { font-size: 28px; text-align: center; }
  .nb-notes-ttl .s { font-size: 24px; }
}


body.regional_revitalization #contents :is(p, li, h4, h5, dt, dd, figcaption, .text, .lead) { word-break: keep-all; text-wrap: pretty; }
.nb-nw { display: inline-block; }
:where(body.regional_revitalization #contents) p, :where(body.regional_revitalization #contents) .lead { text-align: start; }
