@charset "UTF-8";

/* sass */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
html { scroll-padding-top: 77px; }

body { font-family: "Noto Sans JP", sans-serif; background-color: #fff; color: #333333; }

.l-inner { padding: 0 15px; }

.wrap-img img { max-width: 100%; height: auto; }

html:has(.menu-open) { overflow: hidden; }

.menu-open .l-header .wrap-menu { display: block; overflow: auto; }

.menu-open .hamburger { position: relative; }

.menu-open .hamburger span { position: absolute; width: 32px; inset: 0; margin: auto; }

.menu-open .hamburger span:nth-child(1) { -webkit-transform: rotate(45deg); transform: rotate(45deg); }

.menu-open .hamburger span:nth-child(2) { display: none; }

.menu-open .hamburger span:nth-child(3) { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

.l-header { position: -webkit-sticky; position: sticky; top: 0; left: 0; background-color: #FFFFFF; z-index: 10; }

.wrap-inner-header { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; }

.wrap-inner-header .logo { width: 140px; margin-left: 20px; }

.wrap-inner-header .hamburger { width: 80px; height: 80px; padding: 26px 24px; display: flex; flex-direction: column; gap: 8px; background: linear-gradient(to bottom right, #1432AA 0%, #006F83 70%, #2D5F66 100%); }

.wrap-inner-header .hamburger span { transition: all 0.3s; border-radius: 2px; background-color: #FFFFFF; height: 4px; width: 32px; }

.wrap-inner-header .wrap-menu { display: none; background-color: #E2EEF3; flex-basis: 100%; padding: 32px 15px; height: calc(100vh - 80px); }

.wrap-inner-header .list-menu { display: flex; flex-direction: column; align-items: center; gap: 32px; }

.wrap-inner-header .list-menu > li { width: 100%; }

.wrap-inner-header .list-menu .link { text-align: center; }

.wrap-inner-header .list-menu .link * { font-size: 1.6rem; line-height: 1.5; color: #333333; font-weight: 700; text-decoration: none; display: inline-block; position: relative; padding-right: 24px; }

.wrap-inner-header .list-menu .link *:after { content: ""; display: block; border-bottom: 2px solid #949494; border-right: 2px solid #949494; width: 8px; height: 8px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); position: absolute; top: 0; bottom: 0; right: 4px; margin: auto; }

.wrap-inner-header .wrap-btn { border-radius: 0; }

.wrap-inner-header .wrap-btn > * { text-align: center; color: #FFFFFF; font-size: 1.6rem; line-height: 1.5; padding: 24px; }

.wrap-inner-header .wrap-btn > *:after { display: none; }

.wrap-inner-header .wrap-btn > * span { display: inline-block; position: relative; padding-right: 24px; pointer-events: none; }

.wrap-inner-header .wrap-btn > * span:after { content: ""; display: block; border-bottom: 2px solid #FFFFFF; border-right: 2px solid #FFFFFF; width: 8px; height: 8px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); margin-left: 8px; position: absolute; top: 0; bottom: 0; right: 0; margin: auto; }

.wrap-btn { background: linear-gradient(to right, #1432AA 0%, #006F83 70%, #2D5F66 100%); border-radius: 8px; }

.wrap-btn.download > *:after { content: ""; display: block; background-image: url(../images/icon-download.svg); background-size: contain; background-repeat: no-repeat; width: 26px; height: 26px; position: absolute; top: 0; bottom: 0; right: 16px; margin: auto; border: none; -webkit-transform: none; transform: none; }

.wrap-btn > * { width: 100%; padding: 19px 50px 19px 16px; display: block; text-decoration: none; color: #FFFFFF; font-size: 1.8rem; line-height: calc(26 / 18); font-weight: 700; position: relative; text-align: left; }

.wrap-btn > * .txt-sm { font-size: 1.4rem; padding: 0; }

.wrap-btn > * .txt-sm:after { display: none; }

.wrap-btn > *:after { content: ""; display: block; border-bottom: 2px solid #FFFFFF; border-right: 2px solid #FFFFFF; width: 8px; height: 8px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); margin-left: 8px; position: absolute; top: 0; bottom: 0; right: 26px; margin: auto; }

.hdg-lv2 { font-size: 4rem; line-height: 1.45; color: #2D5F66; font-weight: 700; text-align: center; }

.hdg-lv3 { font-size: 3.2rem; line-height: 1.4375; color: #000000; font-weight: 700; text-align: center; }

.hdg-lv3.pt1 { color: #2D5F66; }

.hdg-lv4 { font-size: 2.4rem; line-height: 1.33; color: #FFFFFF; font-weight: 700; }

.hdg-lv4.pt1 { color: #000000; padding-bottom: 16px; border-bottom: 4px solid #CCCCCC; position: relative; }

.hdg-lv4.pt1:before { content: ""; display: block; width: 89px; height: 4px; background-color: #1432AA; position: absolute; left: 0; bottom: -4px; }

.txt-st { font-size: 1.6rem; line-height: 1.5; color: #333333; font-weight: 400; word-break: break-word; }

.txt-link { color: #1432AA; text-decoration: underline; }

.sp-view { display: block; }

.pc-view { display: none; }

.wrap-mv-txt { background: linear-gradient(to right, #1432AA 0%, #006F83 70%, #2D5F66 100%); }

.wrap-mv-txt .mv-txt-inner { padding: 40px; color: #FFF; font-weight: 700; width: -webkit-fit-content; width: -moz-fit-content; width: fit-content; margin-inline: auto; }

.wrap-mv-txt .mv-txt { font-size: 3.6rem; line-height: 1.45; text-align: center; }

.wrap-mv-txt .mv-lead { font-size: 1.6rem; line-height: 1.75; margin-top: 16px; }

.wrap-mv-txt .mv-note { color: #FFC700; font-size: 1.4rem; line-height: 1.5; margin-top: 10px; }

h1 { font-size: 0; }

.sec-news { margin: 64px 0 80px; }

.sec-news .hdg-lv4 { color: #000000; text-align: center; }

.list-news { margin-top: 32px; max-height: 300px; overflow: auto; }

.wrap-new { padding: 22px 24px 22px 0; }

.wrap-new:nth-child(n + 2) { border-top: 1px solid #CCCCCC; }

.wrap-new dt, .wrap-new dd { font-size: 1.6rem; line-height: 1.5; }

.wrap-new dt { font-weight: 700; color: #666666; }

.wrap-new dd { margin-top: 8px; font-weight: 400; color: #333333; }

.sec-recruitment { padding: 80px 0; background-color: #E2EEF2; }

.sec-recruitment .hdg-lv3 { margin-top: 20px; }

.wrap-sec-child { margin-top: 56px; }

.wrap-tbl { margin-top: 32px; }

.wrap-tbl.pt1 { margin-top: 16px; }

.wrap-tbl table { width: 100%; }

.wrap-tbl tr { display: flex; flex-direction: column; width: 100%; }

.wrap-tbl th { font-size: 1.8rem; line-height: 1.44; padding: 16px; text-align: center; font-weight: 700; background-color: #C7E1EB; color: #2D5F66; }

.wrap-tbl td { padding: 24px; background-color: #FFFFFF; font-size: 1.6rem; line-height: 1.75; color: #333333; font-weight: 400; }

.wrap-tbl + .txt-st { margin-top: 16px; }

.list-note { margin-top: 12px; display: flex; flex-direction: column; gap: 4px; }

.list-note .txt { font-size: 1.6rem; line-height: 1.5; color: #333333; font-weight: 400; padding-left: 1em; text-indent: -1em; }

.list-note .txt:before { content: attr(data-ico); }

.txt-note { display: flex; flex-direction: column; gap: 4px; }

.txt-note .txt { padding-left: 1em; text-indent: -1em; }

.txt-note .txt:before { content: attr(data-ico); }

.txt-ind { display: table; }

.txt-ind .ind { display: table-cell; white-space: nowrap; }

.txt-ind.pt1 { display: inline-block; }

.txt-ind.pt1 .ind { display: inline-block; }

.txt-lead { font-size: 2.4rem; line-height: 1.75; color: #333333; font-weight: 700; }

.wrap-block { margin-top: 16px; background-color: #FFFFFF; padding: 24px; }

.wrap-block.block-center { text-align: center; }

.wrap-block .txt-highlight { margin-top: 16px; font-size: 1.8rem; line-height: 1.78; color: #2D5F66; font-weight: 700; }

.wrap-block .txt-highlight + .txt-st { margin-top: 3px; margin-left: 16px; }

.wrap-block .txt-st { line-height: 1.75; }

.wrap-block .txt-st + .txt-highlight { margin-top: 3px; }

.wrap-block .txt-st.pt1 { margin-top: 16px; }

.wrap-block .list-note { margin-left: 16px; }

.wrap-block .list-note.pt1 { margin-top: 0; margin-left: 0; }

.wrap-block .wrap-btn { margin-top: 16px; }

.sec-materials { padding: 80px 0 0; background-color: #F5F7F8; }

.sec-materials .hdg-lv2 { margin-bottom: 22px; }

.list-btn { margin-top: 32px; display: flex; flex-direction: column; gap: 32px; }

.list-btn.pt2 { gap: 8px; }

.list-btn.pt-full { display: block; }

.list-btn.pt-full > li { width: 100%; }

.list-btn.pt-full > li .wrap-btn { width: 100%; max-width: 760px; }

.sec-hdg-lv4 { margin-top: 32px; }

.sec-hdg-lv4 + .sec-hdg-lv4 { margin-top: 40px; }

.marg-sec { margin-top: 20px; }

.wrap-mov .mov-item { margin-top: 16px; }

.wrap-mov .mov-item > * { width: 100%; height: 100%; aspect-ratio: 16 / 9; }

.sec-approved-projects, .sec-howtoapply { padding-top: 80px; }

.sec-approved-projects .hdg-lv3, .sec-howtoapply .hdg-lv3 { margin-top: 32px; }

.sec-approved-projects .hdg-lv4, .sec-howtoapply .hdg-lv4 { margin-top: 32px; }

.sec-approved-projects .txt-lead + .txt-st, .sec-howtoapply .txt-lead + .txt-st { margin-top: 10px; font-size: 1.6rem; line-height: 2; }

.sec-approved-projects .list-note, .sec-howtoapply .list-note { margin-top: 3px; }

.sec-approved-projects .wrap-btn, .sec-howtoapply .wrap-btn { margin-top: 24px; }

.sec-approved-projects .wrap-cnt, .sec-howtoapply .wrap-cnt { margin-top: 32px; padding: 24px; background-color: #FFFFFF; }

.sec-approved-projects .wrap-cnt + .wrap-cnt, .sec-howtoapply .wrap-cnt + .wrap-cnt { margin-top: 2px; }

.sec-approved-projects .wrap-cnt.pt1, .sec-howtoapply .wrap-cnt.pt1 { padding: 16px; }

.sec-approved-projects .wrap-cnt.pt1 + .wrap-cnt, .sec-howtoapply .wrap-cnt.pt1 + .wrap-cnt { margin-top: 16px; }

.sec-approved-projects .wrap-cnt.pt1 .list-btn, .sec-howtoapply .wrap-cnt.pt1 .list-btn { margin-top: 10px; }

.sec-approved-projects .wrap-cnt.pt1 .txt-new, .sec-howtoapply .wrap-cnt.pt1 .txt-new { margin: -16px 0 10px -16px; }

.sec-approved-projects .txt-st, .sec-howtoapply .txt-st { font-size: 1.8rem; line-height: calc(26 / 18); }

.sec-approved-projects .txt-st.pt1, .sec-howtoapply .txt-st.pt1 { font-size: 1.6rem; line-height: 2; margin-top: 10px; }

.sec-approved-projects .txt-new, .sec-howtoapply .txt-new { display: block; margin: -24px 0 10px -24px; }

.sec-approved-projects .txt-new > span, .sec-howtoapply .txt-new > span { display: inline-block; color: #FFF; background: #1432AA; font-size: 14px; font-weight: 700; line-height: 1.4; padding: 5px 13px; }

.sec-approved-projects .list-btn .wrap-btn, .sec-howtoapply .list-btn .wrap-btn { margin-top: 0; }

.wrap-list-anchor { margin-block: 40px; }

.wrap-list-anchor .list-anchor { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }

.wrap-list-anchor .list-anchor > li + li { margin-left: 8px; }

.wrap-list-anchor .list-anchor > li * { font-size: 1.8rem; line-height: 1.7; color: #1432AA; font-weight: 700; text-decoration: none; display: inline-block; position: relative; padding-right: 24px; }

.wrap-list-anchor .list-anchor > li *:after { content: ""; display: block; border-bottom: 2px solid #1432AA; border-right: 2px solid #1432AA; width: 8px; height: 8px; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; top: -2px; bottom: 0; right: 4px; margin: auto; }

.wrap-list-anchor .list-anchor > li.no-link * { color: #949494; pointer-events: none; }

.wrap-list-anchor .list-anchor > li.no-link *:after { border-color: #949494; }

.sec-approved-projects { padding: 40px 0; background-color: #E2EEF2; }

.sec-approved-projects .hdg-lv4 { margin-top: 24px; padding-top: 8px; }

.sec-approved-projects .wrap-cnt { position: relative; margin-top: 24px; }

.l-footer .head-footer { padding: 80px 9px; background: linear-gradient(to bottom, #1432AA 0%, #006F83 70%, #2D5F66 100%); }

.l-footer .hdg-lv3 { color: #FFFFFF; text-align: left; }

.l-footer .hdg-lv4 { margin-top: 8px; text-align: left; }

.l-footer .txt-st { margin-top: 8px; color: #FFFFFF; font-size: 1.8rem; line-height: 1.78; }

.l-footer .txt-st .txt-note { line-height: 1.78; }

.l-footer .txt-st .txt-note .txt { line-height: 1.78; }

.l-footer .txt-link { color: #FFFFFF; }

.l-footer .sec-contact { margin-top: 40px; }

.l-footer .wrap-btn { margin-top: 16px; background: #FFFFFF; }

.l-footer .wrap-btn > * { color: #1432AA; }

.l-footer .wrap-btn > *:after { content: ""; display: block; border-bottom: 2px solid #1432AA; border-right: 2px solid #1432AA; width: 8px; height: 8px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); position: absolute; top: 0; bottom: 0; right: 26px; margin: auto; }

.l-footer .list-note .txt { color: #FFFFFF; }

.l-footer .marg-sec { margin-top: 20px; }

.l-footer .bottom-footer { padding: 32px 9px; font-size: 1.4rem; line-height: 1.43; color: #333333; text-align: center; }

.l-footer .wrap-copyright { margin-top: 24px; }

.l-footer .txt-privacy-policy > * { width: 100%; color: #1432AA; }

.l-footer .txt-copyright { margin-top: 16px; }

@media all and (min-width: 768px) { html { scroll-padding-top: 85px; } .l-inner { max-width: 1140px; padding: 0 20px; margin: 0 auto; } .wrap-inner-header { max-width: 1280px; margin: 0 auto; padding-left: 72px; }
  .wrap-inner-header .hamburger { display: none; }
  .wrap-inner-header .logo { width: 176px; transition: opacity 0.3s; cursor: pointer; }
  .wrap-inner-header .logo:hover { opacity: 0.7; }
  .wrap-inner-header .list-menu { flex-direction: row; }
  .wrap-inner-header .list-menu > li { width: auto; }
  .wrap-inner-header .list-menu .link { transition: opacity 0.3s; cursor: pointer; }
  .wrap-inner-header .list-menu .link:hover { opacity: 0.7; }
  .wrap-inner-header .wrap-menu { display: block; height: 100%; background-color: #FFFFFF; flex-basis: auto; padding: 0; } .wrap-btn > * { padding: 19px 50px 19px 16px; transition: opacity 0.3s; cursor: pointer; }
  .wrap-btn > *:hover { opacity: 0.7; }
  .wrap-btn.pt1 { display: inline-block; width: auto; }
  .wrap-btn.pt2 { max-width: 450px; } .hdg-lv4.pt1 { color: #000000; padding-bottom: 16px; border-bottom: 4px solid #CCCCCC; position: relative; }
  .hdg-lv4.pt1:before { content: ""; display: block; width: 250px; height: 4px; background-color: #1432AA; position: absolute; left: 0; bottom: -4px; } .txt-link { transition: opacity 0.3s; cursor: pointer; }
  .txt-link:hover { opacity: 0.7; }
  .txt-link:hover { text-decoration: none; } .sp-view { display: none; } .pc-view { display: block; } .wrap-mv { max-width: 1280px; margin: 0 auto; } .wrap-mv-txt { text-align: center; }
  .wrap-mv-txt .mv-txt-inner { padding: 45px 40px; }
  .wrap-mv-txt .mv-txt { font-size: 4.8rem; }
  .wrap-mv-txt .mv-lead { margin-top: 24px; }
  .wrap-mv-txt .mv-note { font-size: 1.6rem; margin-top: 16px; } .sec-news { display: flex; margin: 64px 0; }
  .sec-news .list-news { width: calc(100% - (100px + 8.558%)); }
  .sec-news .hdg-lv4 { text-align: left; width: 100px; margin-right: 8.558%; } .list-news { margin-top: 0; max-height: 200px; max-width: 884px; } .wrap-new { display: flex; }
  .wrap-new dt { margin-right: 2.488%; flex: 0 0 135px; }
  .wrap-new dd { margin-top: 0; } .sec-recruitment .l-inner { max-width: 948px; margin: 0 auto; padding: 0 20px; }
  .sec-recruitment .hdg-lv3 { margin-top: 24px; } .wrap-tbl { margin-top: 32px; display: flex; flex-direction: column; }
  .wrap-tbl.pt1 tr th { flex: 0 0 250px; }
  .wrap-tbl tr { flex-direction: row; }
  .wrap-tbl tr + tr { margin-top: 2px; }
  .wrap-tbl tr th { flex: 0 0 156px; text-align: left; padding: 24px; }
  .wrap-tbl tr td { flex: 1; } .txt-ind.pt1 { text-align: left; margin-inline: auto; display: table; }
  .txt-ind.pt1 .ind { display: table-cell; white-space: nowrap; } .wrap-block { padding: 24px 24px 37px; } .wrap-block .wrap-btn { width: 326px; margin: 16px auto 0; }
  .wrap-block .wrap-btn.pt1 { display: inline-block; width: auto; } .sec-materials { padding: 80px 0; }
  .sec-materials .l-inner { max-width: 948px; margin: 0 auto; padding: 0 20px; } .list-btn { flex-direction: row; flex-wrap: wrap; }
  .list-btn > li { width: 281px; } .sec-hdg-lv4 { margin-top: 24px; } .marg-sec { margin-top: 32px; }
  .marg-sec.pt1 { margin-top: 20px; } .sec-approved-projects .wrap-cnt, .sec-howtoapply .wrap-cnt { position: relative; padding: 24px 24px 24px 22px; display: flex; align-items: center; }
  .sec-approved-projects .wrap-cnt .wrap-text, .sec-howtoapply .wrap-cnt .wrap-text { width: 302px; }
  .sec-approved-projects .wrap-cnt.pt1, .sec-howtoapply .wrap-cnt.pt1 { justify-content: space-between; padding: 38px 32px 30px; margin-top: 32px; }
  .sec-approved-projects .wrap-cnt.pt1 + .wrap-cnt, .sec-howtoapply .wrap-cnt.pt1 + .wrap-cnt { margin-top: 24px; }
  .sec-approved-projects .wrap-cnt.pt1 .wrap-text, .sec-howtoapply .wrap-cnt.pt1 .wrap-text { width: 100%; }
  .sec-approved-projects .wrap-cnt.pt1 .txt-ttl, .sec-howtoapply .wrap-cnt.pt1 .txt-ttl { display: inline-block; font-size: 2rem; margin-bottom: 8px; }
  .sec-approved-projects .wrap-cnt.pt1 .txt-new, .sec-howtoapply .wrap-cnt.pt1 .txt-new { margin: 0; }
  .sec-approved-projects .wrap-cnt.pt1 .wrap-btn, .sec-howtoapply .wrap-cnt.pt1 .wrap-btn { width: auto; margin: 0; }
  .sec-approved-projects .wrap-cnt.pt1 .list-btn, .sec-howtoapply .wrap-cnt.pt1 .list-btn { margin: 0 0 0 24px; }
  .sec-approved-projects .wrap-cnt.pt1 .list-btn > li, .sec-howtoapply .wrap-cnt.pt1 .list-btn > li { width: 100%; min-width: 312px; }
  .sec-approved-projects .wrap-btn, .sec-howtoapply .wrap-btn { width: 344px; margin: 24px auto 0; }
  .sec-approved-projects .list-btn, .sec-howtoapply .list-btn { max-width: 508px; margin-left: 5.4%; margin-top: 0; gap: 8px; }
  .sec-approved-projects .list-btn > li, .sec-howtoapply .list-btn > li { width: 250px; }
  .sec-approved-projects .list-btn > li .wrap-btn, .sec-howtoapply .list-btn > li .wrap-btn { width: 100%; }
  .sec-approved-projects .txt-new, .sec-howtoapply .txt-new { position: absolute; top: 0; left: 0; margin: 0; } .sec-approved-projects { padding: 80px 0; }
  .sec-approved-projects .l-inner { max-width: 1116px; } .l-footer .bottom-footer { padding: 32px 0; } .l-footer .head-footer { padding: 80px 0; background: linear-gradient(to right, #1432AA 0%, #006F83 90%, #2D5F66 100%); }
  .l-footer .sec-faq .wrap-btn { max-width: 450px; }
  .l-footer .marg-sec { margin-top: 32px; }
  .l-footer .wrap-copyright { display: flex; justify-content: space-between; }
  .l-footer .wrap-copyright.pt1 { justify-content: flex-end; }
  .l-footer .txt-privacy-policy > * { transition: opacity 0.3s; cursor: pointer; }
  .l-footer .txt-privacy-policy > *:hover { opacity: 0.7; } }

@media (max-width: 1280px) and (min-width: 881px) { .wrap-inner-header { padding-left: 5.525vw; }
  .wrap-inner-header .list-menu { gap: 2.5vw; }
  .wrap-inner-header .list-menu .link *:after { width: 0.625vw; height: 0.625vw; right: 0.3125vw; }
  .wrap-inner-header .list-menu .link * { font-size: 1.25vw; font-size: clamp(1.2rem, 1.25vw, 1.6rem); padding-right: 1.875vw; }
  .wrap-inner-header .wrap-btn > * { font-size: 1.25vw; font-size: clamp(1.2rem, 1.25vw, 1.6rem); }
  .wrap-inner-header .wrap-btn > * span { padding-right: 1.875vw; }
  .wrap-inner-header .wrap-btn > * span::after { width: 0.625vw; height: 0.625vw; }
  .wrap-inner-header .logo { width: 13.75vw; } }

@media (max-width: 880px) and (min-width: 768px) { .wrap-inner-header { padding-left: 5.525vw; }
  .wrap-inner-header .list-menu { gap: 1vw; }
  .wrap-inner-header .list-menu .link *:after { width: 0.625vw; height: 0.625vw; right: 0.3125vw; }
  .wrap-inner-header .list-menu .link * { font-size: 1.25vw; font-size: clamp(1.2rem, 1.25vw, 1.6rem); padding-right: 1.875vw; }
  .wrap-inner-header .wrap-btn > * { font-size: 1.25vw; font-size: clamp(1.2rem, 1.25vw, 1.6rem); }
  .wrap-inner-header .wrap-btn > * span { padding-right: 1.875vw; }
  .wrap-inner-header .wrap-btn > * span::after { width: 0.625vw; height: 0.625vw; }
  .wrap-inner-header .logo { width: 13.75vw; } }
