/* 表示幅に応じた開閉 */
[data-mobile-disclosure] > summary { list-style: none; }
[data-mobile-disclosure] > summary::-webkit-details-marker { display: none; }
[data-mobile-disclosure] > summary:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
html .r13-footer.p-site-footer .p-site-footer__links { display: none; }
.zr-plan-summary { display: block; }
.zr-plan-body { display: flex; flex-direction: column; }
.zr-plan-toggle, .zr-mobile-price-caption { display: none; }
.zr-price-card > summary { cursor: default; }
.zr-price-notes > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: 12px; font-size: 14px; }
.zr-price-notes > summary::after { content: '⌄'; }
.zr-price-notes[open] > summary::after { transform: rotate(180deg); }
.zr-price-notes > div { padding: 8px 0; }
@media (min-width: 761px) {
    .zr-price-card > .zr-plan-body > .zr-price-sub { text-align: center; }
    .zr-plan-summary > .zr-price-cost { padding-bottom: 12px; }
}
@media (max-width: 760px) {
    html { scroll-padding-top: 84px; }
    .p-home #advertising { padding: 40px 24px; }
    .p-home #advertising .media-about-photo { width: calc(100% + 24px); max-width: none; aspect-ratio: 1.5; }
    .p-home #advertising .media-about-copy h2 { margin: 12px 0 18px; }
    .p-home #advertising .media-about-copy ul { margin: 0; padding-top: 16px; }
    .p-home #advertising .media-about-copy li { line-height: 1.85; margin-bottom: 10px; }
    .p-home #advertising .p-home-location { margin: 16px 0 8px; }
    .zr-selected-pricing { padding: 40px 20px; }
    .zr-selected-pricing .zr-pricing-heading { margin-bottom: 20px; }
    .zr-selected-pricing .zr-pricing-heading h2 { font-size: 27px; margin-bottom: 12px; }
    .zr-selected-pricing .zr-plan-common { display: grid; gap: 6px; margin: 0 0 18px; padding-bottom: 16px; }
    .zr-selected-pricing .zr-plan-common p { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; }
    .zr-selected-pricing .zr-plan-common strong { font-size: 16px; }
    .zr-selected-pricing .zr-mobile-price-caption { display: block; color: #526673; font-size: 12px; margin-bottom: 8px; }
    .zr-selected-pricing .zr-price-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; background: white; border-radius: 0; }
    .zr-selected-pricing .zr-price-card { display: block; padding: 0; border: 0; border-bottom: 1px solid #bdcbd4; border-radius: 0; background: #fff; color: #203746; }
    .zr-selected-pricing .zr-price-card.zr-recommended { background: #153e56; color: #fff; }
    .zr-selected-pricing .zr-plan-summary { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 6px 12px; padding: 16px; cursor: pointer; }
    .zr-selected-pricing .zr-plan-summary header { display: contents; }
    .zr-selected-pricing .zr-plan-summary h3 { grid-column: 1 / -1; font-size: 17px; line-height: 1.5; white-space: normal; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
    .zr-selected-pricing .zr-recommend-inline { font-size: 10px; padding: 3px 6px; }
    .zr-selected-pricing .zr-plan-strength { display: none; }
    .zr-selected-pricing .zr-price-cost { grid-column: 2; grid-row: 2; border: 0; padding: 0; }
    .zr-selected-pricing .zr-price-cost .zr-price-label { display: none; }
    .zr-selected-pricing .zr-price-amount { justify-content: flex-end; gap: 3px; }
    .zr-selected-pricing .zr-price-amount strong { font-size: 25px; color: inherit; }
    .zr-selected-pricing .zr-price-amount > span { font-size: 12px; }
    .zr-selected-pricing .zr-price-spec { grid-column: 1; grid-row: 2; border: 0; padding: 0; text-align: left; }
    .zr-selected-pricing .zr-price-spec .zr-price-label { display: none; }
    .zr-selected-pricing .zr-price-screens { font-size: 14px; margin: 0!important; color: inherit; }
    .zr-selected-pricing .zr-price-spec > p:last-child { font-size: 12px; color: inherit; line-height: 1.6; }
    .zr-selected-pricing .zr-plan-toggle { display: flex; grid-column: 1 / -1; justify-content: flex-end; gap: 12px; font-size: 12px; line-height: 1.5; margin-top: 2px; }
    .zr-selected-pricing .zr-price-card[open] .zr-plan-toggle > span { transform: rotate(180deg); }
    .zr-selected-pricing .zr-plan-body { display: block; padding: 0 16px 16px; }
    .zr-selected-pricing .zr-price-card:not([open]) > .zr-plan-body { display: none; }
    .zr-selected-pricing .zr-plan-body .zr-price-sub { min-height: 0; margin: 0!important; padding: 12px 0; color: inherit; font-size: 13px; border-top: 1px solid #90a9b760; }
    .zr-selected-pricing .zr-price-sub-link { display: inline-flex; min-height: 44px; align-items: center; }
    .zr-selected-pricing .zr-price-volume { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 10px; padding: 8px 0 14px; border: 0; text-align: left; }
    .zr-selected-pricing .zr-price-volume .zr-price-label { font-size: 12px; color: inherit; margin: 0!important; }
    .zr-selected-pricing .zr-volume-value { gap: 3px; }
    .zr-selected-pricing .zr-volume-value strong { font-size: 20px; }
    .zr-selected-pricing .zr-price-volume > p:last-child { width: 100%; color: inherit; font-size: 12px; }
    .zr-selected-pricing .zr-price-term:empty { display: none; }
    .zr-selected-pricing .zr-exclusive-term { min-height: 0; margin: 0; padding: 8px 0 14px; border: 0; text-align: left; }
    .zr-selected-pricing .zr-exclusive-term p { color: inherit; font-size: 13px; }
    .zr-selected-pricing .zr-exclusive-term .zr-price-label { margin-bottom: 4px!important; }
    .zr-selected-pricing .zr-price-button { min-height: 44px; padding: 10px 14px; font-size: 13px; border: 1px solid #bdcbd4; border-radius: 4px; background: #f1f5f7; }
    .zr-selected-pricing .zr-set-difference { padding: 16px 0; margin: 4px 0 0; border: 0; background: none; }
    .zr-selected-pricing .zr-set-difference h3 { font-size: 15px; margin-bottom: 6px; }
    .zr-selected-pricing .zr-set-difference p { font-size: 13px; line-height: 1.8; }
    .zr-selected-pricing .zr-price-notes { margin-top: 0; border-top: 1px solid #bdcbd4; }
    .zr-selected-pricing .zr-price-notes summary { justify-content: space-between; }
    .zr-selected-pricing .zr-price-notes p { font-size: 12px; line-height: 1.8; }

    html .r13-footer.p-site-footer { padding: 28px 24px 16px; }
    html .r13-footer.p-site-footer .r9-footer-top { grid-template-columns: 1fr; gap: 16px; padding-bottom: 0; }
    html .r13-footer.p-site-footer .r13-footer-brand { display: grid; gap: 12px; }
    html .r13-footer.p-site-footer .r9-footer-logo img { width: 96px; }
    html .r13-footer.p-site-footer .r9-footer-address { margin: 0; font-size: 12px; line-height: 1.8; }
    html .r13-footer.p-site-footer .r9-footer-address p { margin: 0; }
    html .r13-footer.p-site-footer .r9-footer-tel { display: inline-flex; min-height: 40px; align-items: center; margin: 0 12px 0 0; font-size: 17px; white-space: nowrap; }
    html .r13-footer.p-site-footer .r9-footer-address small { display: inline-block; font-size: 11px; }
    html .r13-footer.p-site-footer .p-site-footer__nav--full { display: none; }
    html .r13-footer.p-site-footer .p-site-footer__links { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,8em),1fr)); column-gap: 20px; border-top: 1px solid #ffffff30; padding-top: 8px; font-size: 14px; }
    html .r13-footer.p-site-footer .p-site-footer__links a { display: flex; align-items: center; min-height: 40px; color: #fff; line-height: 1.5; }
    html .r13-footer.p-site-footer .r9-footer-bottom { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 0 18px; margin-top: 12px; padding-top: 8px; border: 0; }
    html .r13-footer.p-site-footer .r9-footer-bottom small { flex-basis: 100%; padding-bottom: 4px; }
    html .r13-footer.p-site-footer .r9-footer-bottom a { min-height: 32px; display: flex; align-items: center; font-size: 11px; }

    html .r14-recruit .c-jobs article { grid-template-columns: minmax(0,1fr) auto; gap: 6px 12px; padding: 20px 0; position: relative; }
    html .r14-recruit .c-jobs article > div:first-child { grid-column: 1 / -1; }
    html .r14-recruit .c-jobs small { font-size: 10px; }
    html .r14-recruit .c-jobs h3 { font-size: 20px; line-height: 1.5; margin: 3px 0 0; }
    html .r14-recruit .r15-job-copy { grid-column: 1 / -1; }
    html .r14-recruit .r15-job-copy p { font-size: 13px; line-height: 1.7; }
    html .r14-recruit .r15-job-copy .zr-job-description { display: none; }
    html .r14-recruit .r15-job-copy .muted { font-size: 12px; }
    html .r14-recruit .r15-detail-link { grid-column: 1 / -1; justify-self: start; width: auto; min-width: 0; min-height: 44px; padding: 8px 0; margin: 0; border: 0; border-radius: 0; background: none; color: #245a82; font-size: 13px; gap: 12px; text-decoration: underline; text-underline-offset: 4px; }
    html .r14-recruit .r15-detail-link::before { display: none; }
    html .r14-recruit .c-panel { padding-top: 32px; padding-bottom: 32px; }
    .p-home-process { padding: 40px 24px; gap: 20px; }
    .p-home-process li { padding: 14px 0; gap: 10px; grid-template-columns: 28px minmax(0,1fr); }
    .p-home-process h3 { font-size: 18px; margin-bottom: 6px; }
    .p-home-process li p { line-height: 1.8; }
    .p-home .guide-section { padding-top: 40px; padding-bottom: 40px; }
    .p-home .guide-visual { min-height: 0; }
    .p-home #recruit .r14-home-links { gap: 0; background: #fff; }
    .p-home #recruit .r14-home-links a { border-radius: 0; min-height: 54px; padding: 14px 16px; border: 0; border-bottom: 1px solid #bdcbd4; background: none; }
}
@media (max-width: 359px) {
    .zr-selected-pricing .zr-plan-summary { padding: 14px 12px; gap: 6px 8px; }
    .zr-selected-pricing .zr-price-amount strong { font-size: 23px; }
}
/* サイトメニュー */
.mobile-navigation { border: 0; padding: 0; margin: 0; width: 100%; max-width: none; height: 100dvh; max-height: none; background: #fff; color: #203746; overflow-y: auto; overscroll-behavior: contain; }
.mobile-navigation::backdrop { background: #102c3fcc; }
.mobile-navigation__header { display: flex; align-items: center; justify-content: space-between; padding: 14px 24px; min-height: 74px; box-sizing: border-box; border-bottom: 1px solid #dbe3e8; position: sticky; top: 0; background: #fff; z-index: 1; }
.mobile-navigation__logo img { display: block; width: 100px; height: auto; }
.mobile-navigation__close { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 8px 0 8px 12px; border: 0; background: none; color: inherit; font: inherit; font-size: 13px; cursor: pointer; }
.mobile-navigation__close span { font-size: 28px; font-weight: 300; }
html .mobile-navigation #mobile-menu:not([hidden]) { display: flex!important; flex-direction: column; gap: 0; }
html .mobile-navigation #mobile-menu { position: static!important; width: 100%; max-height: none; padding: 16px 24px max(28px,env(safe-area-inset-bottom))!important; box-shadow: none; border: 0; overflow: visible; }
html .mobile-navigation #mobile-menu .nav-item { display: flex!important; flex-direction: row; align-items: center; justify-content: space-between; gap: 20px; min-height: 60px; padding: 14px 0!important; }
html .mobile-navigation #mobile-menu .nav-ja { font-size: 17px; font-weight: 600; line-height: 1.5; }
html .mobile-navigation #mobile-menu .nav-en { font-size: 10px; font-weight: 400; line-height: 1.5; color: #526673; letter-spacing: .08em; text-align: right; }
html .mobile-navigation #mobile-menu .mobile-consult { min-height: 48px; font-size: 14px; margin-top: 24px; padding: 14px 18px; }
.zr-plan-one { display: none; }
@media (min-width: 761px) {
    .zr-price-notes[data-mobile-disclosure] > summary { cursor: default; }
    .zr-price-notes[data-mobile-disclosure] > summary::after { display: none; }
}
@media (max-width: 760px) {
    .zr-selected-pricing .zr-plan-summary { grid-template-columns: repeat(auto-fit,minmax(min(100%,7em),1fr)); }
    .zr-selected-pricing .zr-plan-summary h3 { order: 0; }
    .zr-selected-pricing .zr-plan-summary .zr-price-spec { grid-column: auto; grid-row: auto; order: 1; }
    .zr-selected-pricing .zr-plan-summary .zr-price-cost { grid-column: auto; grid-row: auto; order: 2; }
    .zr-selected-pricing .zr-plan-one { display: block; grid-column: 1 / -1; font-size: 12px; order: 3; }
    .zr-selected-pricing .zr-plan-toggle { order: 4; }
    .zr-selected-pricing .zr-price-amount { flex-wrap: wrap; white-space: normal; }
    html .zr-media-about .media-about-copy { padding-right: 0; }
    html .zr-media-about .media-download { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; min-height: 48px; padding: 12px 16px; font-size: 13px; }
    html .zr-media-about .media-download .media-file-arrow { margin: 0 0 0 auto; }
    html .zr-media-about .media-download .media-file-detail { font-size: 11px; }
    html .guide-section .photo-wipe { aspect-ratio: 1.6; height: auto; }
    html .guide-section .photo-wipe img { height: 100%; width: 100%; object-fit: cover; }
    html .guide-section .content { padding-top: 28px; padding-bottom: 28px; }
    html #photo-contact .l-cv__section { min-height: 0; padding: 28px 24px; gap: 12px; }
    html #photo-contact .l-cv__section .l-cv__title { font-size: 24px; margin-bottom: 0; }
    html #photo-contact .l-cv__section .l-cv__text { font-size: 13px; line-height: 1.8; margin-top: 0; }
    html #photo-contact .l-cv__section .l-cv__link { min-height: 44px; margin-top: 4px; padding: 10px 0; font-size: 13px; }
    html #photo-contact .l-cv__section:last-child { background: #eef3f6; color: #244a60; }
    html #photo-contact .l-cv__section:last-child .l-cv__bg { display: none; }
    html #photo-contact .l-cv__section:last-child .l-cv__title { font-size: 18px; }
    html .r14-recruit .c-lead { text-align: left; padding-bottom: 30px; }
    html .r14-recruit .c-lead h1 { font-size: 28px; }
    html .r14-recruit .entries { margin-top: 24px; }
    html .r14-recruit .entries a { display: grid; grid-template-columns: minmax(0,1fr) auto; padding: 16px 18px; gap: 4px 12px; }
    html .r14-recruit .entries small { grid-column: 1 / -1; font-size: 10px; }
    html .r14-recruit .entries strong { margin: 0; font-size: 20px; }
    html .r14-recruit .entries a > span { grid-column: 1; font-size: 12px; line-height: 1.6; }
    html .r14-recruit .entries b { grid-column: 2; grid-row: 2 / 4; align-self: center; margin: 0; font-size: 12px; }
    html .r14-recruit .entries b i { margin-left: 6px; }
    html .r14-recruit .terms > div { padding: 16px 0; gap: 6px; }
    html .r14-recruit .p-recruit-selection { padding-top: 36px; padding-bottom: 36px; }
    html .r14-recruit .p-recruit-selection__steps li { padding: 16px 0; }
    html .r14-home-links a { color: #244a60; }
    html .r14-home-links a::before, html .r14-home-links a::after { display: none; }
    html .p-home #consult { min-height: 320px; height: auto; padding-bottom: 16px; }
    html .p-home #consult .contact-film + .container { padding: 40px 24px 16px; }
    html .p-home #consult .film-toggle { position: static; min-height: 44px; max-width: calc(100% - 48px); margin: 0; padding: 10px 12px; font-size: 12px; }
    html .p-home #consult .reveal-char { visibility: visible!important; }
}
html .r13-footer.p-site-footer .p-site-footer__direct-link { display: block; }
.p-site-footer__direct-description { display: block; min-height: 36px; padding: 5px 0; }
.p-site-footer__direct-arrow { display: none; }
#zrf-confirm-title, #zrf-done-title, #zrf-error { scroll-margin-top: 12px; }
@media (max-width: 359px) {
    html .r14-recruit .c-lead h1 { font-size: 26px; letter-spacing: 0; }
}
@media (max-width: 760px) {
    .photo-wipe__mask { display: none; }
    [data-r17-wipe] img { opacity: 1!important; transform: none!important; clip-path: none!important; transition: none!important; }
    .fb .fb-step, .fb.in .fb-step { opacity: 1!important; transform: none!important; animation: none!important; transition: none!important; }
    .c-section-heading { opacity: 1!important; transform: none!important; }
}
.media-about-visual { min-width: 0; }
.media-about-caption { margin: 24px 0 0; color: #526673; font-size: 12px; line-height: 1.8; }
@media (max-width: 760px) {
    .p-home #advertising .media-about-visual { grid-row: 1; }
    .zr-media-about .media-about-caption { margin: 24px 24px 0 0; }
}
@media (max-width: 760px) {
    html .r14-recruit { padding-top: 40px; }
}

/* 改行 */
@media (max-width: 760px) {
    h1, h2, h3, summary { text-wrap: balance; line-break: strict; }
    p, li, dd { text-wrap: pretty; line-break: strict; }
    .zr-phrase { display: inline-block; max-width: 100%; }
    html .r14-invert.zr-application-link { display: flex; align-items: center; justify-content: space-between; gap: 16px; text-align: left; }
    .zr-application-label { min-width: 0; }
    .zr-application-job, .zr-application-category { display: block; }
    .zr-application-job { font-size: 14px; line-height: 1.7; }
    .zr-application-category { font-size: 12px; line-height: 1.7; margin-top: 4px; }
    .zr-application-link > [aria-hidden] { flex: 0 0 auto; }
}
@media (max-width: 359px) {
    html .zrf-privacy h1 { font-size: 24px; letter-spacing: 0; }
}

@media (max-width: 760px) {
    .zr-price-spec > p:last-child { text-wrap: balance; }
    html .r14-recruit .terms dd { overflow-wrap: normal; }
    html .zrf-guide a { display: inline-block; max-width: 100%; }
    html .r14-recruit .c-return { text-wrap: balance; }
}

@media (max-width: 760px) {
    .zr-link-label { min-width: 0; text-wrap: balance; }
}

html .r14-recruit .entries strong .zr-phrase,
html .r14-recruit .p-recruit-selection h3 .zr-phrase { font: inherit; color: inherit; margin: 0; }
