main { font-feature-settings: "palt"; }
@media screen and (max-width: 520px) { main { font-size: 0.875rem; } }
@media all and (min-width: 521px) { main { letter-spacing: .05em; } }

h2, h3, h4 { font-family: 'Noto Sans JP', YuGothic,sans-serif; }

img { width: 100%; }

.contents-wrap { text-align: left; }

section { overflow: hidden; }

.kv { position: relative; width: 100%; overflow: hidden; background: url(../images/kv_recruit.jpg); background-repeat: no-repeat; background-size: cover; }
@media all and (min-width: 769px) { .kv { background-position: center center; height: calc(100vh - 101px); max-height: 924px; margin-top: 1px; margin-top: 1px; } }
@media screen and (max-width: 768px) { .kv { background-position: left 37% center; max-height: 800px; height: calc(100vh - 120px); }
  @supports (-webkit-touch-callout: none) { .kv { height: -webkit-fill-available; } } }
.kv__inner { width: 100%; max-width: 1200px; margin: auto; text-align: right; color: #fff; }
@media all and (min-width: 1366px) { .kv__inner { padding: 80px 0 0; letter-spacing: 0.08em; } }
@media screen and (min-width: 769px) and (max-width: 1365px) { .kv__inner { padding: 64px 4% 0; letter-spacing: 0.05em; } }
@media screen and (min-width: 521px) and (max-width: 768px) { .kv__inner { padding: 64px 4% 0; letter-spacing: 0; } }
@media screen and (max-width: 520px) { .kv__inner { padding: 48px 6% 0; letter-spacing: 0; } }
.kv__inner h1 { font-size: clamp(2rem, 5vw, 4.75rem); font-weight: 700; white-space: nowrap; }
@media screen and (max-width: 520px) { .kv__inner h1 { text-align: left; font-size: 8.4vw; } }
@media (min-width: 415px) and (max-width: 1024px) and (orientation: portrait) { .kv__inner h1 { font-size: clamp(2rem, 7.6vw, 4.75rem); } }
.kv__inner p { margin-top: .5em; font-size: clamp(1rem, 1.6vw, 1.5rem); line-height: 1.6; font-weight: 500; }
@media screen and (max-width: 520px) { .kv__inner p { text-align: left; } }
@media (min-width: 415px) and (max-width: 1024px) and (orientation: portrait) { .kv__inner p { font-size: clamp(1rem, 3vw, 1.5rem); } }
.kv__bottom::before { content: ""; display: block; position: absolute; bottom: 0; background: #00b200; width: 100%; height: 80px; height: clamp(26px, 5vw, 80px); }

.tab-entry { position: relative; z-index: 5; }
.tab-entry a { display: flex; justify-content: center; align-items: center; background-repeat: no-repeat; letter-spacing: .12em; font-weight: 700; color: #fff; }
.tab-entry a::before { content: url(../images/ico_entry_tab.svg); display: block; }
@media all and (min-width: 769px) { .tab-entry { position: fixed !important; right: 0; display: none; }
  .tab-entry a { flex-direction: column; background-color: rgba(255, 140, 0, 0.8); width: 80px; height: 408px; border-radius: 60px 0 0 10px; padding: 40px 0; transition: background .5s ease-out; }
  .tab-entry a span { padding: 0 calc(50% - .75em); writing-mode: vertical-rl; font-size: 1.625rem; text-align: center; }
  .tab-entry a::before { width: 50px; margin-bottom: 20px; } }
@media all and (min-width: 769px) and (any-hover: hover) { .tab-entry a:hover { background-color: darkorange; } }

@media all and (min-width: 1366px) { .tab-entry { top: 50%; transform: translateY(-50%); } }
@media screen and (orientation: portrait) and (min-width: 769px) { .tab-entry { top: 300px; } }
@media screen and (min-width: 1024px) and (max-width: 1365px) { .tab-entry { top: 50%; transform: translateY(-50%); } }
@media screen and (orientation: landscape) and (min-width: 769px) and (max-width: 1023px) { .tab-entry { top: 50%; transform: translateY(-50%); }
  .tab-entry a { width: 64px; height: 320px; border-radius: 40px 0 0 8px; padding: 20px 0; }
  .tab-entry a::before { width: 36px; }
  .tab-entry a span { font-size: 1.25rem; } }
@media screen and (max-width: 768px) { .tab-entry { padding: 0 6%; position: fixed; bottom: 10px; z-index: 10; width: 100%; display: none; }
  .tab-entry a { height: 52px; background-color: rgba(255, 140, 0, 0.6); border-radius: 12px; box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.25); }
  .tab-entry a span { font-size: 1.125rem; text-align: center; display: block; }
  .tab-entry a::before { width: 30px; margin-right: 1em; } }

.modal__wrap { position: relative; width: 100%; max-width: 996px; margin: auto; }
.modal__container { width: 100%; max-width: 996px; margin: auto; border-radius: 4vw; overflow: hidden; background: #f1fef1; }
@media all and (min-width: 1024px) { .modal__container { border-radius: 44px; } }
.modal__container p { line-height: 1.8; text-align: justify; }
@media all and (min-width: 1024px) { .modal__container { border: 12px solid #00b200; font-size: 1.125rem; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .modal__container { border: 8px solid #00b200; } }
@media screen and (max-width: 768px) { .modal__container { border: 5px solid #00b200; } }
@media all and (min-width: 1024px) { .modal__inner { padding: 60px 6% 70px; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .modal__inner { padding: 36px 6% 50px; } }
@media screen and (max-width: 768px) { .modal__inner { padding: 24px 6% 40px; } }
.modal__return { display: block; border: none; outline: none; cursor: pointer; margin: 80px auto 0; background: #ff8c00; font-size: clamp(1.25rem, 1.7vw, 1.5625rem); font-weight: 700; font-family: "Noto Sans JP", YuGothic, sans-serif !important; text-align: center; color: #fff; box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.25); transition: transform .5s ease-out; border-radius: 4px; }
@media all and (min-width: 521px) { .modal__return { width: 50%; max-width: 225px; line-height: 80px; } }
@media screen and (min-width: 521px) and (max-width: 1023px) { .modal__return { margin: 64px auto 0; } }
@media screen and (max-width: 520px) { .modal__return { line-height: 42px; width: 30%; min-width: 125px; margin: 40px auto 0; } }
@media (any-hover: hover) { .modal__return:hover { transform: scale(1.1); } }

@media all and (min-width: 1366px) { section:not(.sec-person, .sec-interview) { padding: 120px 0 0; } }
@media screen and (min-width: 1024px) and (max-width: 1365px) { section:not(.sec-person, .sec-interview) { padding: 100px 0 0; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { section:not(.sec-person, .sec-interview) { padding: 80px 0 0; } }
@media screen and (max-width: 768px) { section:not(.sec-person, .sec-interview) { padding: 64px 0 0; } }

.sec-person { background-image: linear-gradient(#c8fac8, rgba(200, 250, 200, 0)); width: 100%; padding: 0; }

.sec-interview { position: relative; }
@media all and (min-width: 1366px) { .sec-interview { margin-top: 120px; padding: 90px 0 0; } }
@media screen and (min-width: 1024px) and (max-width: 1365px) { .sec-interview { margin-top: 100px; padding: 80px 0 0; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .sec-interview { margin-top: 80px; padding: 70px 0 0; } }
@media screen and (max-width: 768px) { .sec-interview { margin-top: 64px; padding: 64px 0 0; } }
.sec-interview__inner { overflow: hidden; background: #c8fac8; width: 100%; }
@media all and (min-width: 1366px) { .sec-interview__inner { padding: 120px 0; } }
@media screen and (min-width: 1024px) and (max-width: 1365px) { .sec-interview__inner { padding: 100px 0; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .sec-interview__inner { padding: 80px 0; } }
@media screen and (max-width: 768px) { .sec-interview__inner { padding: 64px 0; } }
.sec-interview::before { content: ""; display: block; position: absolute; top: 0; right: 0; background-color: #e4ffe4; height: 50%; width: 100%; z-index: -1; max-width: calc(50% + 564px); }
@media screen and (max-width: 1365px) { .sec-interview::before { width: 80%; } }

.sec-title { width: 100%; max-width: calc(1128px + 12%); margin: 0 auto 40px; padding: 0 6%; }
@media all and (min-width: 1366px) { .sec-title { margin-bottom: 100px; } }
@media screen and (min-width: 1024px) and (max-width: 1365px) { .sec-title { margin-bottom: 80px; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .sec-title { margin-bottom: 64px; } }
@media screen and (max-width: 768px) { .sec-title { margin-bottom: 48px; } }
@media all and (min-width: 769px) { .sec-title._mgb-none { margin-bottom: 0; } }
@media screen and (max-width: 768px) { .sec-title._mgb-none { margin-bottom: 24px; } }
.sec-title:not(._white) { color: #c8fac8; }
.sec-title._white { color: #fff; }
.sec-title ._ja { color: #00b200; font-size: clamp(1rem, 3vw, 1.875rem); letter-spacing: .08em; margin-top: .7em; }
.sec-title ._ja span:first-child::before { content: ""; display: inline-block; vertical-align: middle; width: clamp(24px, 6%, 60px); margin: 0 .5em .1em 0; border-top: 2px solid #00b200; }
@media screen and (max-width: 768px) { .sec-title ._ja span:first-child::before { border-top: 1px solid #00b200; } }
.sec-title ._ja._dark { color: #235a0a; }
.sec-title ._ja._dark span:first-child::before { border-top-color: #235a0a; }
.sec-title ._en { font-size: clamp(3.5rem, 8vw, 7rem); font-weight: 900; }
@media screen and (max-width: 520px) { .sec-title ._en._small { font-size: clamp(2.5rem, 8vw, 3rem); } }

.p-col__wrap { background-image: url(../images/yamato_mark.svg); background-repeat: no-repeat; }
@media all and (min-width: 1024px) { .p-col__wrap { padding: 100px 0 0; background-position: top -20px right 13vw; background-size: 33vw; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-col__wrap { padding: 80px 0 0; background-position: top -20px right -2vw; background-size: 50vw; } }
@media screen and (max-width: 768px) { .p-col__wrap { padding: 56px 0 0; background-position: top -44px right -6vw; background-size: 56vw; } }
@media all and (min-width: 769px) { .p-col__inner { display: flex; width: 100%; } }
@media all and (min-width: 769px) { .p-col__body { display: flex; flex-direction: column; width: 100%; max-width: 1128px; margin: 0 0; padding: 0 4% 100px 120px; z-index: 2; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-col__body { padding: 0; } }
@media screen and (max-width: 768px) { .p-col__body { position: relative; z-index: 2; } }
.p-col__body ._text { margin-left: auto; }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-col__body ._text { margin-left: 45vw; } }
.p-col__body ._text p { font-size: 1.25rem; line-height: 1.8; text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4); }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-col__body ._text p { font-size: 1.125rem; } }
@media screen and (max-width: 768px) { .p-col__body ._text p { font-size: clamp(0.75rem, 3.5vw, 1.25rem); text-align: center; } }
.p-col__body ._text p + p { margin-top: 1em; }
.p-col__body ._fig { margin: 3em 0 3em auto; }
.p-col__body ._fig img { width: 50vw; max-width: 800px; }
@media screen and (min-width: 1024px) and (max-width: 1365px) { .p-col__body ._fig { margin: 1em auto 0; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-col__body ._fig { margin: 20px calc(54% - 25vw) 0 auto; }
  .p-col__body ._fig img { width: 60vw; max-width: 480px; } }
@media screen and (max-width: 768px) { .p-col__body ._fig { margin: 2em 0 0 auto; }
  .p-col__body ._fig img { width: clamp(300px, 88vw, 640px); margin-left: -2%; } }
@media all and (min-width: 1024px) { .p-col__left { flex-grow: 1; position: relative; margin-right: -13%; }
  .p-col__left__img { position: absolute; padding-top: 4em; width: 48vw; max-width: 880px; }
  .p-col__left__img img { border-top: 22px solid #fff; border-right: 22px solid #fff; border-bottom: 22px solid #fff; filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.1)); } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-col__left { flex-grow: 1; position: relative; margin-right: -13%; margin-top: 3em; }
  .p-col__left__img { position: absolute; width: 40vw; max-width: 440px; }
  .p-col__left__img img { border-top: 16px solid #fff; border-right: 16px solid #fff; border-bottom: 16px solid #fff; filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.1)); } }
@media screen and (max-width: 768px) { .p-col__left__img { width: 70vw; max-width: 480px; margin-bottom: 1.5em; }
  .p-col__left__img img { border-top: 12px solid #fff; border-right: 12px solid #fff; border-bottom: 12px solid #fff; filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.1)); } }
.p-col__right { position: relative; z-index: 1; }
@media all and (min-width: 1024px) { .p-col__right { flex-grow: 1; margin-left: -13%; }
  .p-col__right ._img { position: absolute; bottom: 0; right: 0; z-index: 1; width: 40vw; max-width: 710px; }
  .p-col__right ._img img { border-top: 24px solid #fff; border-left: 24px solid #fff; border-bottom: 24px solid #fff; filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.1)); } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-col__right { flex-grow: 1; margin-left: -13%; }
  .p-col__right ._img { position: absolute; bottom: 0; right: 0; width: 40vw; max-width: 440px; }
  .p-col__right ._img img { border-top: 16px solid #fff; border-left: 16px solid #fff; border-bottom: 16px solid #fff; filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.1)); } }
@media screen and (max-width: 768px) { .p-col__right ._img { width: 70vw; max-width: 480px; margin: -48px 0 0 auto; }
  .p-col__right ._img img { border-top: 12px solid #fff; border-left: 12px solid #fff; border-bottom: 12px solid #fff; filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.1)); } }

.p-special__inner { display: flex; flex-direction: column; row-gap: 100px; width: 100%; max-width: 1128px; margin-right: auto; margin-left: auto; }
.p-special__body { width: 45%; }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-special__body { width: 50%; } }
.p-special__title { display: flex; justify-content: center; align-items: center; background: #f1fef1; padding: 1.5em 0; margin-bottom: 2em; }
@media screen and (max-width: 768px) { .p-special__title { padding: .8em 0; } }
.p-special__title h3 { color: #00b200; font-size: clamp(1.875rem, 1.75vw, 2.25rem); font-weight: 700; line-height: 1.3; text-align: left; letter-spacing: .08em; }
@media screen and (max-width: 768px) { .p-special__title h3 { text-align: center; }
  .p-special__title h3 span { padding: 0; } }
.p-special__text { line-height: 1.8; }
@media all and (min-width: 769px) { .p-special__text { padding: 0 4% 16px; width: 88%; }
  .p-special__text p { text-align: justify; } }
@media screen and (max-width: 768px) { .p-special__text { padding: 0 8% 1.5em; width: 100%; }
  .p-special__text p { text-align: center; } }
.p-special__btn { display: flex; justify-content: flex-end; }
@media all and (min-width: 769px) { .p-special__btn { padding: 1em 4% 0; width: 88%; } }
@media screen and (max-width: 768px) { .p-special__btn { padding: 0; width: 100%; }
  .p-special__btn > * { margin: auto; } }
.p-special__btn button { width: 80%; max-width: 216px; display: block; background: #ff8c00; font-family: "Noto Sans JP", YuGothic, sans-serif !important; font-size: clamp(1.25rem, 1.25vw, 1.5rem); font-weight: 700; text-align: center; color: #fff; box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.25); transition: transform .5s ease-out; border: none; outline: none; cursor: pointer; }
@media all and (min-width: 769px) { .p-special__btn button { line-height: 80px; } }
@media screen and (max-width: 768px) { .p-special__btn button { line-height: 60px; max-width: 232px; } }
@media (any-hover: hover) { .p-special__btn button:hover { transform: scale(1.1); } }
.p-special__item { display: flex; }
@media all and (min-width: 769px) { .p-special__item { width: 90%; margin: 0 auto; }
  .p-special__item:nth-child(2n) { flex-direction: row-reverse; margin: 0 0 0 auto; }
  .p-special__item:nth-child(2n) .p-special__text { margin-left: auto; }
  .p-special__item:nth-child(2n) .p-special__btn { justify-content: flex-start; padding: 1em 0 0 18%; width: 88%; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-special__item { width: 88%; margin: 0 auto; }
  .p-special__item:nth-child(2n) { margin: 0 auto; } }
@media screen and (max-width: 768px) { .p-special__item { flex-direction: column; } }
@media all and (min-width: 1024px) { .p-special__img { width: 55%; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-special__img { width: 50%; } }
@media screen and (max-width: 768px) { .p-special__img { width: 100%; padding: 1em 10% 1.5em; } }
@media screen and (max-width: 768px) { .p-special__body { display: contents; }
  .p-special__title { order: 1; }
  .p-special__text { order: 3; }
  .p-special__btn { order: 4; }
  .p-special__img { order: 2; } }

.p-modal-special { counter-reset: number 0; }
.p-modal-special__title { width: 100%; background-image: url(../images/bg_modal_special_title.png); background-repeat: no-repeat; background-size: cover; }
.p-modal-special__title h2 { -webkit-text-stroke: 8px rgba(255, 255, 255, 0.6); text-stroke: 8px rgba(255, 255, 255, 0.6); paint-order: stroke; font-size: clamp(1.25rem, 4.5vw, 3rem); letter-spacing: .08em; line-height: 5em; padding: .3em 0 .1em; text-align: center; color: #235a0a; }
.p-modal-special p { line-height: 1.7; font-size: clamp(0.875rem, 1.5vw, 1.125rem); text-align: justify; }
.p-modal-special h3 { font-size: clamp(1.125rem, 2.5vw, 1.8125rem); font-weight: 700; line-height: 1.3; text-align: left; letter-spacing: .08em; position: relative; }
.p-modal-special__heading { position: relative; }
.p-modal-special__heading._num::before { counter-increment: number 1; content: counter(number) " "; position: absolute; top: -.4em; left: -.1em; font-size: 9.375rem; font-weight: 700; line-height: 1; color: #c8fac8; }
.p-modal-special__heading2 { margin-bottom: 1.5em; }
.p-modal-special__text2 p { text-align: center; padding-bottom: 60px; }
.p-modal-special__text2 p img { max-width: 780px; margin: auto; }
.p-modal-special__flow dl { width: 100%; max-width: calc(340px + 56%); margin: auto; text-align: center; }
.p-modal-special__flow dl dt { margin-bottom: .5em; font-size: clamp(1rem, 2vw, 1.875rem); font-weight: 700; }
.p-modal-special__flow dl dd { position: relative; padding: 0 28%; }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-modal-special__flow dl dd { padding: 0 24%; } }
@media screen and (min-width: 521px) and (max-width: 768px) { .p-modal-special__flow dl dd { padding: 0 18%; } }
@media screen and (max-width: 520px) { .p-modal-special__flow dl dd { padding: 0 16%; } }
.p-modal-special__flow dl dd:not(:last-child)::after { content: ""; display: block; margin: 24px auto 48px; width: 84px; height: 42px; background-image: url(../images/arrow_down.png); background-size: contain; }
@media screen and (max-width: 520px) { .p-modal-special__flow dl dd:not(:last-child)::after { width: 42px; height: 21px; } }
.p-modal-special__flow dl dd ._baloon01 { position: absolute; top: -20%; left: 3%; width: clamp(100px, 26%, 246px); }
@media screen and (max-width: 520px) { .p-modal-special__flow dl dd ._baloon01 { top: 10%; left: -7%; } }
.p-modal-special__flow dl dd ._baloon02 { position: absolute; top: -10%; right: -1%; width: clamp(136px, 30%, 246px); }
@media screen and (max-width: 520px) { .p-modal-special__flow dl dd ._baloon02 { top: 20%; right: -7%; z-index: 1; } }
@media all and (min-width: 521px) { .p-modal-special__item { display: grid; grid-template-columns: 1fr 40%; grid-template-rows: auto 1fr auto; gap: 0; padding-bottom: 128px; }
  .p-modal-special__item:first-child { margin-top: 40px; }
  .p-modal-special__heading { margin-bottom: 1.8em; padding-top: .5em; }
  .p-modal-special__img { grid-row: span 1 / span 2; grid-column-start: 2; grid-row-start: 1; }
  .p-modal-special__img img { width: 100%; }
  .p-modal-special__text { grid-column-start: 1; grid-row-start: 2; padding: 0 6% 0 0; }
  .p-modal-special__mov { grid-column: span 2 / span 2; grid-row-start: 3; text-align: center; margin-top: 64px; }
  .p-modal-special__mov iframe { width: 80%; max-width: 560px; aspect-ratio: 16 / 9; }
  .p-modal-special__item:nth-child(2) { display: grid; grid-template-columns: 40% 1fr; grid-template-rows: auto 1fr auto; }
  .p-modal-special__item:nth-child(2) .p-modal-special__heading { grid-column-start: 2; grid-row-start: 1; margin-bottom: 1.8em; padding-left: 6%; }
  .p-modal-special__item:nth-child(2) .p-modal-special__heading._num::before { left: .1em; }
  .p-modal-special__item:nth-child(2) .p-modal-special__img { grid-row: span 2 / span 2; grid-column-start: 1; grid-row-start: 1; }
  .p-modal-special__item:nth-child(2) .p-modal-special__img img { width: 100%; }
  .p-modal-special__item:nth-child(2) .p-modal-special__text { grid-column-start: 2; grid-row-start: 2; padding: 0 0 0 6%; } }
@media screen and (max-width: 520px) { .p-modal-special__heading { margin-bottom: 1.8em; padding-top: .5em; }
  .p-modal-special__heading h3 { text-align: center; }
  .p-modal-special__heading._num::before { top: -.15em; left: .5em; font-size: 4rem; }
  .p-modal-special__img { padding: 0 24%; }
  .p-modal-special__img img { width: 100%; }
  .p-modal-special__text { padding: 1em 0; }
  .p-modal-special__text p { text-align: center; }
  .p-modal-special__mov { margin: 0 auto 3em; }
  .p-modal-special__mov iframe { width: 100%; aspect-ratio: 16 / 9; } }

.p-staff__wrap { width: 116%; margin: 0 -8% 0 -8%; }
@media screen and (min-width: 521px) and (max-width: 1365px) { .p-staff__wrap { width: 132%; margin: 0 -16% 0 -16%; } }
.p-staff__item { display: block; cursor: pointer; }
.p-staff__item__inner { padding: 24px 4% 0; }
.p-staff__item__photo { position: relative; }
.p-staff__item__photo img { border: 10px solid #fff; border-radius: 4px; max-width: 360px !important; }
.p-staff__item__comment { position: absolute; bottom: 0; left: 0; }
.p-staff__item__comment span { display: block; width: fit-content; padding: .8em; font-size: clamp(0.875rem, 1.1vw, 1.125rem); letter-spacing: 0; font-weight: 500; color: #fff; white-space: nowrap; background-image: linear-gradient(90deg, #009d00, #aad539); }
.p-staff__item__comment span + span { margin-top: .5em; }
.p-staff__item__name { margin-top: 2em; }
.p-staff__item__name p { display: flex; flex-direction: column; text-align: center; }
.p-staff__item__name p ._year { font-size: 1.125rem; }
.p-staff__item__name p ._department { padding-top: .2em; font-size: 1.125rem; }
.p-staff__item__name p ._initial { padding-top: .5em; font-size: 1.5rem; }

.p-interview__head { display: flex; justify-content: flex-end; background: #00b200; color: #fff; margin-bottom: 30px; }
.p-interview__head__text { position: absolute; top: 0; left: 0; padding: 44px 0 16px 6%; width: 45%; border-radius: 4vw 0 0 0; background-color: #00b200; background-image: url(../images/yamato_mark.svg); background-repeat: no-repeat; background-position: top -12px left -12px; background-size: 250px; }
@media all and (min-width: 1024px) { .p-interview__head__text { border-radius: 44px 0 0 0; } }
@media screen and (min-width: 521px) and (max-width: 768px) { .p-interview__head__text { padding: 24px 0 0 6%; background-position: top -8px left -8px; background-size: 160px; } }
@media screen and (max-width: 520px) { .p-interview__head__text { width: 50%; padding: 16px 0 8px 3%; background-size: 96px; } }
.p-interview__head__text h2 { display: flex; flex-direction: column; }
@media screen and (max-width: 1023px) { .p-interview__head__text h2 { flex-wrap: wrap; flex-direction: row; align-items: center; } }
.p-interview__head__text h2 ._year { font-size: 1.25rem; line-height: 1; padding-bottom: .5em; }
@media screen and (max-width: 1023px) { .p-interview__head__text h2 ._year { order: 2; width: 6em; padding: 0 0 0 .5em; font-size: clamp(0.75rem, 3vw, 1rem); } }
@media screen and (max-width: 520px) { .p-interview__head__text h2 ._year { font-size: 0.5rem; width: 6.5em; } }
.p-interview__head__text h2 ._initial { font-size: clamp(1rem, 3.6vw, 2.25rem); }
@media screen and (max-width: 1023px) { .p-interview__head__text h2 ._initial { order: 1; width: 4.5em; } }
.p-interview__head__text h2 ._department { padding: .8em 0 0 0; font-size: clamp(0.75rem, 2vw, 1.5rem); }
@media screen and (max-width: 1023px) { .p-interview__head__text h2 ._department { flex-grow: 2; order: 3; } }
@media screen and (max-width: 520px) { .p-interview__head__text h2 ._department { padding: .4em 0 0 0; } }
.p-interview__head__text h2 ._department::before { content: ""; display: inline-block; vertical-align: middle; width: min(8%, 35px); margin: 0 5px .1em 0; border-top: 2px solid #fff; }
@media screen and (max-width: 768px) { .p-interview__head__text h2 ._department::before { border-top: 1px solid #fff; } }
.p-interview__head__text p { margin-top: 1em; font-size: clamp(0.625rem, 3vw, 1.5rem); font-weight: 700; line-height: 1.6; width: 14em; }
@media screen and (max-width: 768px) { .p-interview__head__text p { line-height: 1.4; } }
@media screen and (max-width: 349px) { .p-interview__head__text p { font-size: 0.5625rem; } }
.p-interview__head__photo { position: relative; width: 55%; margin-bottom: -30px; }
@media screen and (max-width: 520px) { .p-interview__head__photo { width: 50%; } }
.p-interview__head__photo img { width: 100%; border-radius: 0 0 0 4vw; }
@media all and (min-width: 1024px) { .p-interview__head__photo img { border-radius: 0 0 0 44px; } }
.p-interview__head__photo::after { position: absolute; bottom: 0; right: 0; content: "interview" attr(data-modal-num); font-size: clamp(1.25rem, 6vw, 3rem); line-height: 1; font-weight: 700; color: #fff; opacity: .7; }
@media all and (min-width: 521px) { .p-interview__head__photo::after { letter-spacing: .05em; } }
.p-interview__body h3 { margin-bottom: .8em; font-size: clamp(1rem, 2.5vw, 1.5rem); line-height: 1.4; }
.p-interview__body h3::before { content: "Q."; display: inline; padding-right: .5em; }
.p-interview__body p { line-height: 2; }
@media all and (min-width: 769px) { .p-interview__body p + h3 { margin-top: 3em; } }
@media screen and (max-width: 768px) { .p-interview__body p:not(:last-child)::after { content: ""; display: block; margin: 1em auto; width: 11px; height: 11px; border-radius: 50%; background-color: #00b200; } }

.p-job__tab { width: 100%; max-width: 1128px; margin: auto; }
.p-job__tab ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(1, 1fr); gap: 2%; }
@media screen and (max-width: 1023px) { .p-job__tab ul { margin: 0 2%; } }
.p-job__tab ul li { background-color: #b9f2b9; transition: background-color .5s; border-radius: 8px 8px 0 0; font-size: clamp(1.125rem, 2.5vw, 2rem); text-align: center; font-weight: 500; padding: .8em 0; transition: background .5s; }
.p-job__tab ul li._current { background-color: #74e474; }
@media screen and (max-width: 768px) { .p-job__tab ul li { padding: .5em 0; } }
@media (any-hover: hover) { .p-job__tab ul li:hover { background-color: #74e474; } }
.p-job__title { font-size: clamp(1.25rem, 2vw, 2.25rem); margin-bottom: .8em; }
@media screen and (max-width: 520px) { .p-job__title { text-align: center; } }
.p-job__content { padding: 140px 4% 120px; background: #74e474 url(../images/bg_dot02.png); background-repeat: repeat-x; background-position: bottom center; background-size: 140px; }
@media screen and (min-width: 521px) and (max-width: 1023px) { .p-job__content { padding: 80px 4%; background-size: 10%; } }
@media screen and (max-width: 520px) { .p-job__content { padding: 48px 4%; background-size: 20%; } }
.p-job__content__inner { margin: auto; width: 100%; max-width: 1000px; }
@media all and (min-width: 521px) { .p-job__content__narrow { padding: 0 12%; } }
.p-job__content__block__schedule { background-color: #fff; border-radius: 16px; border-radius: clamp(12px, 4vw, 16px); margin: 0 0 4em; }
.p-job__content__block__careerup { padding: 24px 2% 40px; background-color: #fff; display: flex; align-items: flex-end; gap: 12px; border-radius: clamp(12px, 4vw, 16px); }
@media screen and (max-width: 520px) { .p-job__content__block__careerup { padding: 24px 6% 40px; flex-direction: column; } }
.p-job__content__block__careerup > div { flex: 1; }
.p-job__content__block__careerup > div img { width: 100%; }
.p-job__content__block__careerup > div ._img_01 { display: flex; align-items: flex-end; margin-right: -20%; position: relative; }
.p-job__content__block__careerup > div ._img_01 ._pict { width: 35%; }
.p-job__content__block__careerup > div ._img_01 ._baloon { width: 85%; }
@media screen and (max-width: 520px) { .p-job__content__block__careerup > div ._img_01 { aspect-ratio: 3 / 1; margin: 0 0 -10px 0; }
  .p-job__content__block__careerup > div ._img_01 ._pict { width: 26%; position: absolute; top: 0; left: 0; z-index: 1; }
  .p-job__content__block__careerup > div ._img_01 ._baloon { width: 100%; position: absolute; top: 0; left: 0; } }
.p-job__content__block__careerup > div ._img_03 { display: flex; margin: 0 0 -20px -10%; position: relative; }
.p-job__content__block__careerup > div ._img_03 ._pict { width: 41%; }
.p-job__content__block__careerup > div ._img_03 ._baloon { width: 69%; }
@media screen and (max-width: 520px) { .p-job__content__block__careerup > div ._img_03 { aspect-ratio: 12 / 5; margin: 0 0 -10px 0; }
  .p-job__content__block__careerup > div ._img_03 ._pict { width: 38%; position: absolute; top: 0; left: 0; z-index: 1; }
  .p-job__content__block__careerup > div ._img_03 ._baloon { width: 100%; position: absolute; top: 0; left: 0; } }
.p-job__content__block__careerup > div ._anim-float { animation: float 3s ease-in-out infinite alternate-reverse; }
@media all and (min-width: 521px) { .p-job__content__block__careerup > div dl dt { background: #a4e76f; font-size: clamp(1.125rem, 2vw, 1.5rem); line-height: 55px; text-align: center; font-weight: 500; }
  .p-job__content__block__careerup > div dl dd { position: relative; padding: 1em 0.5em 0 calc(16px + 1.5em); font-size: clamp(1rem, 1.2vw, 1.125rem); line-height: 1.6; text-align: justify; }
  .p-job__content__block__careerup > div dl dd::before { content: ""; display: block; position: absolute; top: 0; left: 0; height: 6em; border-left: 16px solid #a4e76f; } }
@media screen and (max-width: 520px) { .p-job__content__block__careerup > div dl dt { background: #a4e76f; font-size: 1.125rem; line-height: 48px; padding-left: calc(8px + 1em); font-weight: 500; }
  .p-job__content__block__careerup > div dl dd { position: relative; padding: 1em .5em 0 1em; font-size: 1rem; line-height: 1.6; text-align: justify; border-left: 8px solid #a4e76f; } }
.p-job__schedule__bar { position: absolute; top: 50%; left: calc(8% - 22px); transform: translateY(-50%); background-image: linear-gradient(0deg, rgba(255, 255, 255, 0), #ffc888 3%, #ffb257); height: calc(100% - 240px); width: 44px; }
@media screen and (min-width: 521px) and (max-width: 1023px) { .p-job__schedule__bar { width: 32px; left: calc(8% - 16px); } }
@media screen and (max-width: 520px) { .p-job__schedule__bar { width: 28px; height: calc(100% - 180px); left: calc(10% - 14px); } }
.p-job__schedule__inner { margin: 0 -6% 0 6%; padding: 56px 0 40px; position: relative; width: 100%; }
@media screen and (max-width: 520px) { .p-job__schedule__inner { padding: 40px 0 24px; } }
.p-job__schedule__block { display: flex; gap: 3%; position: relative; z-index: 1; width: 100%; }
.p-job__schedule__body { width: 58%; }
@media screen and (max-width: 520px) { .p-job__schedule__body { width: 66%; } }
.p-job__schedule__item { display: flex; align-items: center; column-gap: 4%; height: 180px; width: 100%; }
.p-job__schedule__item._base { align-items: baseline; height: auto; margin-top: 60px; }
@media screen and (min-width: 521px) and (max-width: 1023px) { .p-job__schedule__item { height: 120px; } }
@media screen and (max-width: 520px) { .p-job__schedule__item { height: 100px; }
  .p-job__schedule__item._base { margin-top: 16px; } }
.p-job__schedule__item--time { display: block; background: #009d00; color: #fff; text-align: center; padding: 1em .5em; border-radius: 6px; width: 28%; min-width: 80px; }
.p-job__schedule__item--time ._time { padding: 0 .1em .3em; min-width: 3em; font-size: clamp(1.125rem, 2.5vw, 1.75rem); font-weight: 700; border-bottom: 2px solid #fff; display: inline-block; }
.p-job__schedule__item--time ._time._small { padding: 0 0 .8em; font-size: clamp(0.625rem, 1.5vw, 1rem); }
.p-job__schedule__item--time ._event { padding-top: .5em; font-size: clamp(0.75rem, 1.5vw, 1rem); font-weight: 500; display: block; }
.p-job__schedule__item--text { width: 68%; font-size: clamp(0.75rem, 1.2vw, 1.125rem); line-height: 1.6; }
.p-job__schedule__item--text ._end { text-align: center; color: #00b200; font-size: 1.2em; font-weight: 700; padding-top: 1em; }
.p-job__schedule__photo { position: relative; display: flex; align-items: center; width: 38%; }
@media screen and (max-width: 520px) { .p-job__schedule__photo { width: calc(30% - 8px); } }
.p-job__schedule__photo img { box-shadow: 8px 8px 0 white; }

@keyframes float { 0% { transform: translateY(3%) scale(1); }
  100% { transform: translateY(-3%) scale(1.1); } }
.p-text-scroll { display: flex; white-space: nowrap; overflow: hidden; gap: 6rem; position: absolute; bottom: 0; padding-bottom: 5px; z-index: 3; }
@media screen and (max-width: 768px) { .p-text-scroll { gap: 2rem; } }
.p-text-scroll p { color: transparent; -webkit-text-stroke: 5px white; text-stroke: 5px white; font-size: 120px; font-size: clamp(1rem, 8vw, 8.25rem); letter-spacing: .05em; font-family: "Arial Black", "Open Sans", sans-serif; font-weight: 800; animation: marquee 45s linear infinite; }
@media screen and (min-width: 1024px) and (max-width: 1365px) { .p-text-scroll p { -webkit-text-stroke: 4px white; text-stroke: 4px white; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-text-scroll p { -webkit-text-stroke: 3px white; text-stroke: 3px white; } }
@media screen and (max-width: 768px) { .p-text-scroll p { -webkit-text-stroke: 2px white; text-stroke: 2px white; } }

@keyframes marquee { 0% { translate: 0; }
  100% { translate: calc(-100% - 1rem); } }
.p-cta-area { display: flex; justify-content: center; }
@media all and (min-width: 1024px) { .p-cta-area { padding: 100px 0; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-cta-area { padding: 80px 6%; } }
@media screen and (max-width: 768px) { .p-cta-area { padding: 32px 6%; }
  .p-cta-area._bottom { padding: 0 6% 40px; } }
.p-cta-area a { width: 90%; max-width: 816px; transition: transform .5s ease-out; }
@media (any-hover: hover) { .p-cta-area a:hover { transform: scale(1.05); } }
.p-cta-area img { width: 100%; }

.p-about ul { width: 100%; }
@media all and (min-width: 769px) { .p-about ul { display: flex; } }
.p-about ul li { position: relative; overflow: hidden; }
@media all and (min-width: 769px) { .p-about ul li { width: 33.3333%; aspect-ratio: 25 / 23; max-height: 560px; } }
.p-about ul li:after { position: absolute; content: ""; display: block; width: 100%; height: 100%; top: 0; background-size: cover; transition: all .5s ease-out; }
.p-about ul li:first-child:after { background: url(../images/img_about_01.jpg) no-repeat top center; background-size: 100%; }
.p-about ul li:nth-child(2):after { background: url(../images/img_about_02.jpg) no-repeat top center; background-size: 100%; }
.p-about ul li:nth-child(3):after { background: url(../images/img_about_03.jpg) no-repeat top center; background-size: 100%; }
@media screen and (max-width: 768px) { .p-about ul li { width: 100%; aspect-ratio: 25 / 9; }
  .p-about ul li:first-child:after { background-size: 100%; }
  .p-about ul li:nth-child(2):after { background: url(../images/img_about_02_sp.jpg) no-repeat top center; background-size: 100%; }
  .p-about ul li:nth-child(3):after { background: url(../images/img_about_03_sp.jpg) no-repeat top center; background-size: 100%; } }
@media (any-hover: hover) { .p-about ul li:hover:after { opacity: .6; transform: scale(1.1); } }
.p-about ul li a { position: relative; display: flex; align-items: center; padding: 0 6%; z-index: 1; height: 100%; color: #fff; font-size: clamp(1.25rem, 2vw, 2.25rem); font-weight: 700; }
@media all and (min-width: 769px) { .p-about ul li a { justify-content: center; } }
@media screen and (max-width: 768px) { .p-about ul li { width: 100%; aspect-ratio: 25 / 9; } }

.p-data__inner { display: flex; flex-wrap: wrap; gap: 30px 3%; width: 100%; max-width: 1128px; margin: 0 auto; }
@media screen and (max-width: 1365px) { .p-data__inner { padding: 0 6%; } }
.p-data__item { aspect-ratio: 1; border: 4px solid #00b200; border-radius: 8px; text-align: center; }
@media all and (min-width: 1024px) { .p-data__item { width: 22.75%; } }
@media screen and (min-width: 521px) and (max-width: 1023px) { .p-data__item { width: 31.333%; } }
@media screen and (max-width: 520px) { .p-data__item { width: 48.5%; } }
.p-data__heading { display: flex; justify-content: center; align-items: center; height: 44%; font-size: clamp(1.25rem, 3vw, 1.875rem); font-weight: 500; }
.p-data__heading._txt-s { font-size: clamp(1.125rem, 2vw, 1.5rem); line-height: 1.4; }
.p-data__text { margin-bottom: 1.8em; }
.p-data__text__num { font-family: "Dela Gothic One", sans-serif; font-size: clamp(1.875rem, 6vw, 3rem); letter-spacing: .05em; color: #ff8c00; }
.p-data__text__unit { font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 700; }
.p-data__text__notes { padding: 0 .5em .5em; }
@media screen and (max-width: 520px) { .p-data__text__notes { font-size: 0.6875rem; } }

@media all and (min-width: 1366px) { .p-access { padding: 120px 0; } }
@media screen and (min-width: 769px) and (max-width: 1365px) { .p-access { padding: 100px 0; } }
@media screen and (max-width: 768px) { .p-access { padding: 80px 0 50px; } }
.p-access__inner { gap: 3%; width: 100%; max-width: 1128px; margin: 0 auto; }
@media all and (min-width: 769px) { .p-access__inner { display: flex; align-items: flex-end; } }
.p-access__inner p:first-child { color: #00b200; font-size: 1.5rem; font-weight: 500; }
@media all and (min-width: 769px) { .p-access__map { flex-grow: 1; }
  .p-access__map iframe { width: 100%; aspect-ratio: 8 / 5; } }
@media screen and (max-width: 768px) { .p-access__map iframe { width: 100%; aspect-ratio: 2 / 1; } }
.p-access__addr { width: 400px; padding: 0 0 1em 0; font-size: 1.125rem; line-height: 2; letter-spacing: 0; }
@media all and (min-width: 1024px) { .p-access__addr { padding: 0 0 1em 0; width: 40%; max-width: 640px; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-access__addr { padding: 0 6% 1em 0; width: 50%; } }
@media screen and (max-width: 768px) { .p-access__addr { width: 100%; padding: .5em 4% 0; font-size: 1rem; line-height: 1.8; } }

.p-entry-area { position: relative; overflow: hidden; }
@media screen and (max-width: 768px) { .p-entry-area { padding: 140px 0 100px; margin: 20px 0; } }
.p-entry-area__wrap { width: 100%; background-repeat: no-repeat; background-size: cover; background-position: center center; padding: 40px 4%; background-image: url(../images/bg_entry_area01.jpg), url(../images/bg_entry_area02.jpg), url(../images/bg_entry_area03.jpg), url(../images/bg_entry_area04.jpg), url(../images/bg_entry_area05.jpg); animation: bg_change 20s ease infinite; }
@keyframes bg_change { 0% { background-image: url(../images/bg_entry_area01.jpg); }
  15% { background-image: url(../images/bg_entry_area01.jpg); }
  20% { background-image: url(../images/bg_entry_area02.jpg); }
  35% { background-image: url(../images/bg_entry_area02.jpg); }
  40% { background-image: url(../images/bg_entry_area03.jpg); }
  55% { background-image: url(../images/bg_entry_area03.jpg); }
  60% { background-image: url(../images/bg_entry_area04.jpg); }
  75% { background-image: url(../images/bg_entry_area04.jpg); }
  80% { background-image: url(../images/bg_entry_area05.jpg); }
  95% { background-image: url(../images/bg_entry_area05.jpg); }
  100% { background-image: url(../images/bg_entry_area01.jpg); } }
.p-entry-area__inner { display: flex; width: 100%; max-width: 1128px; margin: 0 auto; }
.p-entry-area__btn { order: 2; margin: auto; padding-right: 2%; z-index: 1; }
@media all and (min-width: 769px) { .p-entry-area__btn { padding: 80px 4%; } }
.p-entry-area__btn a { display: grid; place-content: center; place-items: center; aspect-ratio: 10 / 9; width: clamp(160px, 32vw, 400px); background-image: linear-gradient(0deg, #ff8d09, #ffb45e); border: 3px solid #c86d02; border-radius: 16%; text-align: center; letter-spacing: 0.08em; transition: transform .5s ease-out; }
.p-entry-area__btn a ._en { display: inline-block; font-size: clamp(2.375em, 6vw, 4.6875em); font-weight: 900; color: #fff; transform: scale(0.8, 1); border-bottom: 1px solid #fff; text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.2); padding: 0 .1em .15em .15em; margin: .7em 0 .7em; }
@media screen and (min-width: 1024px) and (max-width: 1365px) { .p-entry-area__btn a ._en { margin: .6em 0 .4em; } }
@media screen and (max-width: 1023px) { .p-entry-area__btn a ._en { padding-bottom: .2em; margin: .6em 0 .3em; } }
.p-entry-area__btn a ._jp { display: block; font-size: clamp(1rem, 1.2vw, 1.125rem); font-weight: 700; line-height: 1.8; color: #fff; text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.2); padding-bottom: 1em; }
@media screen and (max-width: 768px) { .p-entry-area__btn a ._jp { font-size: 1em; line-height: 1.6; } }
@media (any-hover: hover) { .p-entry-area__btn a:hover { transform: scale(1.05); } }
.p-entry-area__photo01, .p-entry-area__photo02 { width: clamp(120px, 30vw, 296px); }
.p-entry-area__photo01 img, .p-entry-area__photo02 img { width: 100%; border: 10px solid #fff; }
.p-entry-area__photo01 { order: 1; }
@media screen and (max-width: 1023px) { .p-entry-area__photo01 { margin-right: 2vw; } }
@media screen and (max-width: 768px) { .p-entry-area__photo01 { position: absolute; top: 20px; left: -4px; transform: rotate(-13deg); filter: drop-shadow(0px 5px 5px rgba(15, 59, 15, 0.8)); } }
.p-entry-area__photo02 { align-self: flex-end; order: 3; }
@media screen and (max-width: 1023px) { .p-entry-area__photo02 { margin-left: 2vw; } }
@media screen and (max-width: 768px) { .p-entry-area__photo02 { position: absolute; bottom: 40px; right: -20px; transform: rotate(20deg); filter: drop-shadow(0px 5px 5px rgba(15, 59, 15, 0.8)); } }

.p-flow__box { position: relative; display: flex; justify-content: center; align-items: center; width: clamp(400px, 70%, 864px); aspect-ratio: 12 / 5; border: 3px solid #00b200; background: #fff; margin: 0 auto 20px; padding: 0 3%; box-shadow: 20px 20px 0 #00b200; }
@media screen and (max-width: 768px) { .p-flow__box { width: calc(100% - 5px); margin: 0 0 5px; padding: 0 1%; }
  .p-flow__box::before { top: 5px; left: 8px; } }
.p-flow__box ul { display: flex; justify-content: space-between; width: 100%; }
.p-flow__box ul li span { display: block; font-size: clamp(1rem, 1.5vw, 1.5rem); font-weight: 500; text-align: center; color: #00b200; width: 100%; }
.p-flow__box ul li span + span { margin-top: .6em; }
.p-flow__box ul li span img { width: 100%; }

.p-requirement { overflow: hidden; }
.p-requirement__wrap { width: 100%; background: #74e474 url(../images/bg_dot01.png); background-repeat: repeat-y; background-position: top right; padding: 100px 0 40px; }
@media screen and (min-width: 521px) and (max-width: 1023px) { .p-requirement__wrap { background-size: 75%; } }
@media screen and (max-width: 520px) { .p-requirement__wrap { background-size: 50%; padding: 30px 0; } }
.p-requirement__inner { position: relative; width: 100%; max-width: 840px; margin: 0 auto; }
.p-requirement__box { padding: 42px 4% 42px 8%; margin-right: 8%; background-color: #fff; border-radius: 0 20px 20px 0; margin-left: calc(50% - 50vw); }
@media screen and (max-width: 520px) { .p-requirement__box { margin-right: 4%; padding: 42px 2% 42px 4%; } }
.p-requirement__box__inner { max-width: 860px; margin-left: auto; }
.p-requirement__table { font-size: clamp(0.875rem, 1.2vw, 1.125rem); line-height: 1.6; width: 100%; }
.p-requirement__table th { width: 7em; padding: 2%; background-color: #daffda; text-align: center; vertical-align: top; letter-spacing: .08em; color: #009d00; }
.p-requirement__table td { padding: 1em 6%; }
@media screen and (max-width: 768px) { .p-requirement__table td { padding: 1em 0 1em 4%; } }
.p-requirement__table td ul li { list-style-type: disc; list-style-position: inside; text-indent: -1em; padding-left: 1em; }
.p-requirement__table td dl { width: auto; display: grid; display: grid; grid-template-columns: 6em minmax(0, 1fr); grid-template-rows: repeat(4, 1fr); column-gap: 2em; }
.p-requirement__comment { position: absolute; display: flex; }
@media all and (min-width: 521px) { .p-requirement__comment { bottom: 0; right: -2vw; flex-direction: column; justify-content: flex-end; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-requirement__comment { right: 0; } }
@media screen and (min-width: 521px) and (max-width: 768px) { .p-requirement__comment { right: 4vw; } }
@media screen and (max-width: 520px) { .p-requirement__comment { flex-direction: row-reverse; bottom: 0; left: 4vw; } }
.p-requirement__comment p { font-size: clamp(1rem, 1.5vw, 1.5rem); font-weight: 700; writing-mode: vertical-rl; text-orientation: upright; font-feature-settings: initial; -webkit-text-stroke: 6px white; text-stroke: 6px white; paint-order: stroke; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.15); line-height: 1.6; letter-spacing: .08em; z-index: 1; }
@media screen and (max-width: 520px) { .p-requirement__comment p { margin-left: -1em; font-size: .75rem; } }
.p-requirement__comment__photo { width: clamp(100px, 18vw, 270px); margin: 40px 0 80px; }
@media screen and (max-width: 520px) { .p-requirement__comment__photo { margin: 0; } }
.p-requirement__comment__photo img { width: 100%; max-width: 1000px !important; border: 8px solid #fff; filter: drop-shadow(0px 5px 5px rgba(15, 59, 15, 0.4)); transform: rotate(10deg); }
.p-requirement__entry a { display: block; margin-left: 10%; background: #ff8c00; font-size: clamp(1.875rem, 2.5vw, 2.5rem); font-weight: 500; text-align: center; color: #fff; box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.25); transition: transform .5s ease-out; border: 5px solid #fff; }
@media all and (min-width: 521px) { .p-requirement__entry a { width: 80%; max-width: 424px; border-radius: 20px; line-height: 120px; margin-top: 40px; } }
@media (any-hover: hover) { .p-requirement__entry a:hover { transform: scale(1.05); } }
@media screen and (max-width: 520px) { .p-requirement__entry a { border-right: none; line-height: 100px; width: 60%; max-width: 216px; margin: 20px 0 0 auto; font-size: 1.125rem; border: 3px solid #fff; border-right: none; border-radius: 50px 0 0 0; } }

.p-message { position: relative; display: flex; width: 100%; padding-top: 96px; background-color: #f1fef1; }
@media screen and (min-width: 1024px) and (max-width: 1365px) { .p-message { padding-top: 80px; } }
@media screen and (min-width: 769px) and (max-width: 1023px) { .p-message { padding-top: 64px; } }
@media screen and (min-width: 521px) and (max-width: 768px) { .p-message { padding-top: 40px; } }
@media screen and (max-width: 520px) { .p-message { flex-direction: column-reverse; max-height: auto; margin-top: 40px; padding: 0; }
  .p-message .p-text-scroll { padding: .5em 0 0; margin-bottom: 20px; background-color: #74e474; } }
.p-message::after { content: ""; display: block; position: absolute; left: 0; bottom: 0; width: 100%; height: 50%; background-color: #74e474; }
@media screen and (max-width: 520px) { .p-message::after { display: none; } }
.p-message__photo { align-self: flex-end; z-index: 1; width: 60%; max-height: 624px; overflow: hidden; margin: 80px 0 60px; }
@media screen and (min-width: 1024px) and (max-width: 1365px) { .p-message__photo { max-height: 520px; margin: 60px 0 40px; } }
@media screen and (min-width: 521px) and (max-width: 1023px) { .p-message__photo { max-height: 400px; margin: 40px 0 30px; } }
@media screen and (max-width: 520px) { .p-message__photo { width: 80%; min-height: 240px; margin: -40px 0 120px; } }
.p-message__photo img { width: 100%; }
.p-message__text { align-self: flex-start; display: flex; justify-content: center; z-index: 2; width: 56%; margin: 0 -24% 0 8%; padding: 100px 2% 100px 4%; background: rgba(255, 255, 255, 0.8); }
.p-message__text p { font-size: clamp(0.8125rem, 1.8vw, 1.875rem); line-height: 2; text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4); }
@media screen and (min-width: 521px) and (max-width: 1023px) { .p-message__text { width: 68%; margin: 0 -32% 0 4%; padding: 64px 2% 64px 4%; } }
@media screen and (max-width: 520px) { .p-message__text { width: 100%; margin: -48% 0 120px; padding: 24px 1% 0; height: 12em; }
  .p-message__text p { text-align: center; line-height: 2.8; } }
@media screen and (max-width: 349px) { .p-message__text p { line-height: 2.4; } }

.p-gallery__wrap { overflow: hidden; }
@media all and (min-width: 521px) { .p-gallery__slide { width: 160%; margin: 0 -30%; } }
@media screen and (max-width: 520px) { .p-gallery__slide { width: 120%; margin: 0 -10%; } }
.p-gallery__item { position: relative; }

.u-txa__left { text-align: left; }
.u-txa__center { text-align: center !important; }
.u-txa__right { text-align: right; }

.u-pd__top__\[1em\] { padding-top: 1em !important; }
.u-pd__top__\[2em\] { padding-top: 2em !important; }
.u-pd__top__\[3em\] { padding-top: 3em !important; }
.u-pd__top__\[4em\] { padding-top: 4em !important; }

.u-pd__left__\[1em\] { padding-left: 1em; }
.u-pd__left__\[2em\] { padding-left: 2em; }
.u-pd__left__\[3em\] { padding-left: 3em; }
.u-pd__left__\[4em\] { padding-left: 4em; }

.u-mg__bottom__none { margin-bottom: 0; }
.u-mg__bottom__\[1em\] { margin-bottom: 1em; }
.u-mg__bottom__\[2em\] { margin-bottom: 2em; }
.u-mg__bottom__\[3em\] { margin-bottom: 3em; }

.u-txt__\[12px\] { font-size: 0.75rem; }
.u-txt__\[14px\] { font-size: 0.875rem; }
.u-txt__\[18px\] { font-size: 1.125rem; }
.u-txt__\[24px\] { font-size: 1.5rem; }

@media screen and (max-width: 768px) { .u-hidden__md { display: none; } }
@media all and (min-width: 769px) { .u-hidden__md--min { display: none; } }
@media screen and (max-width: 520px) { .u-hidden__sm { display: none !important; } }
@media all and (min-width: 521px) { .u-hidden__sm--min { display: none !important; } }
@media screen and (max-width: 349px) { .u-hidden__xsm { display: none; } }
@media all and (min-width: 350px) { .u-hidden__xsm--min { display: none; } }

.js-hidden { display: none; }

.js-animate { opacity: 0; }
.js-animate._fade-in-up { transition: transform .5s ease-out,opacity 1s ease-in; transform: translate(0, 20px); -webkit-transform: translate(0, 20px); }
.js-animate._fade-in-right { opacity: 0; transition: transform 2s ease-out,opacity 2s ease-in; transition-delay: .2s; transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }
.js-animate._action { opacity: 1.0; transform: rotate(0deg); -webkit-transform: rotate(0deg); }
.js-animate._order._action { transition: 1s; opacity: 0; }
.js-animate._order._action:first-child { animation: show-order 1s forwards .5s; }
.js-animate._order._action:nth-child(2) { animation: show-order 1s forwards 1s; }
.js-animate._order._action:nth-child(3) { animation: show-order 1s forwards 1.5s; }
.js-animate._order._action:nth-child(4) { animation: show-order 1s forwards 2s; }
.js-animate._order2._action { transition: 1s; opacity: 0; }
.js-animate._order2._action._bar { opacity: 1; animation: bar 1s ease-in-out; transform: translateY(-50%); }
.js-animate._order2._action._int0 { animation: show-order 1.4s forwards .5s; }
.js-animate._order2._action._int1 { animation: show-order 1.4s forwards 1s; }
.js-animate._order2._action._int2 { animation: show-order 1.4s forwards 1.5s; }
.js-animate._order2._action._int3 { animation: show-order 1.4s forwards 2s; }
.js-animate._order2._action._int4 { animation: show-order 1.4s forwards 2.5s; }
.js-animate._order2._action._int5 { animation: show-order 1.4s forwards 3s; }
.js-animate._order-reverse._action { transition: 2s; opacity: 0; }
.js-animate._order-reverse._action:first-child { animation: show-order 1.4s forwards 2s; }
.js-animate._order-reverse._action:nth-child(2) { animation: show-order 1.4s forwards .5s; }
.js-animate._fade-in span, .js-animate._fade-in ._iv { opacity: 0; transition: opacity .5s ease; transition-delay: calc(var(--iv) * 0.1s); }
.js-animate._fade-in._action span, .js-animate._fade-in._action ._iv { opacity: 1.0; }
.js-animate._fade-rotate span { opacity: 0; transition: opacity .8s,transform .5s ease; transform: translate(0, 20px); transform: rotate(-90deg); transition-delay: calc(var(--iv) * 0.1s); display: inline-block; }
.js-animate._fade-rotate._action span { opacity: 1.0; transform: rotate(0deg); }

@keyframes show-order { 0% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes bar { 0% { transform: translateY(-100%) scaleY(0); }
  100% { transform: translateY(-50%) scaleY(1); } }
.js-item:not(._current) { display: none; }

.js-slide .js-slide__expand { transition: transform .5s; }
.js-slide .slick-center .js-slide__expand { transform: scale(1.1); }
.js-slide .slick-list { margin: 0 -32px; }
.js-slide .slick-slide { margin: 0 32px; }
@media screen and (max-width: 520px) { .js-slide .slick-slide { margin: 0 28vw; } }
.js-slide .js-slide-arrow { width: 60px; height: 100px; position: absolute; top: calc(50% - 80px); z-index: 1; border: none; outline: none; cursor: pointer; background-color: transparent; }
@media screen and (max-width: 768px) { .js-slide .js-slide-arrow { width: 48px; height: 80px; } }
.js-slide .js-slide-arrow._next { right: calc((116vw / 5)*2 - 30px); background-image: url(../images/arrow_next.png); background-repeat: no-repeat; background-position: center right; }
@media screen and (min-width: 769px) and (max-width: 1365px) { .js-slide .js-slide-arrow._next { right: calc((132vw / 5)*2 - 20px); background-size: 40px 80px; } }
@media screen and (min-width: 521px) and (max-width: 1023px) { .js-slide .js-slide-arrow._next { right: calc((132vw / 3) - 20px); background-size: 40px 80px; } }
@media screen and (max-width: 520px) { .js-slide .js-slide-arrow._next { background-size: 80%; right: 10vw; } }
.js-slide .js-slide-arrow._prev { left: calc((116vw / 5)*2 - 30px); background-image: url(../images/arrow_prev.png); background-repeat: no-repeat; background-position: center left; }
@media screen and (min-width: 1024px) and (max-width: 1365px) { .js-slide .js-slide-arrow._prev { left: calc((132vw / 5)*2 - 20px); background-size: 40px 80px; } }
@media screen and (min-width: 521px) and (max-width: 1023px) { .js-slide .js-slide-arrow._prev { left: calc((132vw / 3) - 20px); background-size: 40px 80px; } }
@media screen and (max-width: 520px) { .js-slide .js-slide-arrow._prev { background-size: 80%; left: 10vw; } }

.js-slide2 { position: relative; }
.js-slide2 .js-slide__expand { transition: transform .5s; transform: scale(0.6) !important; }
.js-slide2 .slick-center .js-slide__expand { transform: scale(1) !important; }
.js-slide2 .js-slide-arrow { width: 72px; height: 128px; position: absolute; top: calc(50% - 64px); z-index: 1; border: none; outline: none; cursor: pointer; background-color: transparent; }
@media screen and (max-width: 1023px) { .js-slide2 .js-slide-arrow { width: 56px; height: 100px; background-size: 56px 100px; } }
.js-slide2 .js-slide-arrow._next { left: calc((160vw / 3)*2 - 36px); background-image: url(../images/arrow_next_or.png); background-repeat: no-repeat; background-position: center right; }
@media screen and (max-width: 520px) { .js-slide2 .js-slide-arrow._next { display: none; } }
.js-slide2 .js-slide-arrow._prev { right: calc((160vw / 3)*2 - 36px); background-image: url(../images/arrow_prev_or.png); background-repeat: no-repeat; background-position: center left; }
@media screen and (max-width: 520px) { .js-slide2 .js-slide-arrow._prev { display: none; } }

.js-scrollable { position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; width: 256px; aspect-ratio: 4/3; border-radius: 8px; padding-top: 3em; background-color: rgba(0, 0, 0, 0.4); background-image: url(../images/ico_scroll_hint.png); background-repeat: no-repeat; background-position: center bottom 36px; }
.js-scrollable p { color: #fff; font-weight: 500; text-align: center; }
@media all and (min-width: 769px) { .js-scrollable { display: none; } }

.fancybox__backdrop { background-color: rgba(255, 255, 255, 0.95); }

.fancybox__content { padding: 40px 2%; background: none; width: 100% !important; left: 0 !important; }
@media screen and (max-width: 768px) { .fancybox__content { padding: 20px 2%; } }

@media screen and (max-width: 768px) { .pagetop { display: none !important; } }
.js-fix { display: block; }
