/*
Theme Name: あきの薬局
Version: 1.1.0
*/

/* 旧画面の人名書体をテーマ内から読み込み、外部サービスに依存しない。 */
@font-face {
    font-family:'Alex Brush';
    font-style:normal;
    font-weight:400;
    font-display:swap;
    src:url('assets/fonts/alex-brush-latin.woff2') format('woff2');
}

/* 共通の色・文字・幅 */
:root { --green:#418b33; --ink:#00102e; --content:1170px; }
*,*:before,*:after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body { margin:0; color:var(--ink); background:#fff; font:16px/1.7 sans-serif; overflow-wrap:break-word; }
a { color:var(--green); text-decoration:none; }
a:hover { color:#286e22; }
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible { outline:3px solid #f5a000; outline-offset:4px; }
img { max-width:100%; height:auto; vertical-align:middle; }
figure { margin:0; }
button,input,select,textarea { font:inherit; }
button,[type=submit] { cursor:pointer; }
[hidden] { display:none!important; }
h1,h2,h3,h4,h5,h6 { font-weight:600; line-height:1.2; margin:10px 0 24px; }
h1 { font-size:48px; } h2 { font-size:38px; } h3 { font-size:32px; } h4 { font-size:24px; }
p { margin:0 0 24px; }
strong { font-weight:700; }
.container { width:var(--content); max-width:100%; margin:0 auto; padding:0 15px; }
.screen-reader-text,.skip-link:not(:focus) { position:absolute; width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link:focus { position:fixed;top:8px;left:8px;z-index:1000;background:#fff;padding:12px; }
.button,input[type=submit] { display:inline-block; padding:17px 34px; border:1px solid var(--green);border-radius:3px;background:var(--green);color:#fff;font-weight:700;line-height:1.5;text-align:center; }
.button:hover,input[type=submit]:hover { background:white;color:var(--green); }
.center-actions { text-align:center; margin:50px 0 24px; }
.entry-button { width:300px;max-width:100%;font-size:18px; }
table { border-collapse:collapse;width:100%;margin:0 0 24px; }
th,td { border:1px solid #333;padding:5px;text-align:center; }
th { font-weight:700; }
table.info_table td { text-align:left;padding-left:20px; }
.entry-content h2,.entry-content h3,.entry-content h4 { margin-top:1.2em;margin-bottom:.5em; }
.entry-content ul,.entry-content ol { padding-left:40px; }
.entry-content img { height:auto; }
.aligncenter { display:block;margin:0 auto; }.alignleft { float:left;margin:0 24px 24px 0; }.alignright { float:right;margin:0 0 24px 24px; }
.wp-caption { max-width:100%; }.wp-caption-text { text-align:center; }

/* ヘッダーとメニュー */
.site-header { position:fixed;inset:0 0 auto;z-index:100;background:#fff;height:70px;box-shadow:0 3px 2px rgba(0,0,0,.03); }
.header-inner { display:flex;align-items:center;justify-content:space-between;height:70px; }
.brand { display:flex;align-items:center;gap:10px;white-space:nowrap;color:var(--green);font-size:30px;font-weight:700;line-height:1.2; }
.brand img { width:70px;height:70px;object-fit:contain; }
.menu { display:flex;align-items:center;gap:30px;margin:0;padding:0;list-style:none; }
.menu li { position:relative; }
.menu a { display:block;color:var(--green);font-size:16px;line-height:24px; }
.menu > .menu-item-recruit > a { padding:23px;background:orange;color:#fff;font-weight:700; }
.menu a:hover { opacity:.65; }
.menu .sub-menu { display:none;position:absolute;top:100%;left:0;min-width:200px;background:#fff;padding:12px;list-style:none; }
.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu { display:block; }
.menu-toggle { display:none;background:none;border:0;color:var(--green);padding:10px; }
.menu-toggle span { display:block;width:25px;height:4px;margin:4px;background:currentColor; }

/* フッター */
.site-footer { color:white;background:#326c2b; }
.site-footer .footer-inner { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 24px;padding:22px 76px 22px 20px; }
.footer-inner p { margin:0; }
.footer-inner a { color:inherit;text-decoration:underline;text-underline-offset:.2em;padding:10px 0; }
.news-sidebar ul { padding:0;margin:0;list-style:none; }
.go-top { position:fixed;bottom:20px;right:20px;z-index:90;background:rgba(0,0,0,.4);color:#fff;width:40px;height:40px;line-height:44px;font-size:28px;text-align:center;border-radius:2px;opacity:0;pointer-events:none; }
.go-top.is-visible { opacity:1;pointer-events:auto; }

/* トップページ */
.home-content .container { width:1140px;padding-left:10px;padding-right:10px; }
.hero { position:relative;height:640px;overflow:hidden; }
.hero-slides { height:100%; }
.hero-slide img { position:absolute;top:70px;left:0;width:100%;max-width:none; }
.hero.is-enhanced .hero-slide { position:absolute;inset:0;opacity:0;transition:opacity .6s ease; }
.hero.is-enhanced .hero-slide.is-active { opacity:1; }
.home-news { padding-top:80px!important;margin-bottom:70px!important; }
.news-panel { width:80%;margin:auto;padding:30px 20px;background:#f9f9f9;display:flex;justify-content:center;align-items:center;gap:45px; }
.news-panel h2 { border:2px solid green;color:green;font-size:25px;padding:30px;margin:0;line-height:1.2; }
.news-list { padding:0;margin:0;list-style:none; }
.news-panel li { display:flex;gap:15px;margin:0 0 5px; }
.news-panel time { flex:0 0 122px; }
.kaitos-banner { display:block;max-width:728px;margin:20px auto 0; }
.kaitos-banner img { display:block;width:100%; }
.home-section-title h2 { color:#1c931b;font-size:48px;letter-spacing:.2em;font-weight:400;line-height:1;margin:0 auto;padding-top:10px;padding-bottom:10px; }
.home-section-title:after { content:"";display:block;width:calc((100% - 500px)/2);border-bottom:1px solid #1c931b; }
.about-cards { display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:260px 20px 90px!important; }
.about-card { position:relative;width:274px;max-width:100%;margin:0 auto; }
.about-card img { position:absolute;top:-180px;left:35px;width:240px;height:240px;object-fit:cover;border-radius:50%;z-index:1; }
.about-card:before { content:"";position:absolute;top:-45px;left:0;border-style:solid;border-width:0 84px 45px;border-color:transparent transparent #91a97a; }
.ribbon-word { position:absolute;top:-54px;left:0;z-index:3;font:italic 36px/1.7 cursive;color:#55853b; }
.ribbon { display:block;position:relative;z-index:2;width:244px;max-width:100%;background:#559831;border-radius:0 5px 5px 5px;padding:16px 24px 16px 40px;color:#fff;line-height:48px; }
.ribbon:before { content:'›';position:absolute;left:15px;color:white;font-size:24px; }
.ribbon:hover { color:white;background:#418b33; }
.about-copy { padding-top:20px; }.about-copy p { margin-bottom:0; }
.ribbon.staff-ribbon { display:flex;flex-direction:column;justify-content:center;min-height:80px;line-height:1.4;background:#34782e; }
.about-card img { object-position:center top; }
.about-card .ribbon-word { text-shadow:0 0 3px #fff,0 0 6px #fff; }
.staff-ribbon strong { font-size:20px; }
.staff-ribbon:hover,.staff-ribbon:focus-visible { background:#285e24; }
.about-copy p+p { margin-top:8px; }
.home-section-caption { display:inline-block;font-size:18px;line-height:1.4;font-weight:600;letter-spacing:.06em;color:#315d32;margin-left:20px;vertical-align:middle; }
.home-content .branch-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:42px auto 80px;padding-inline:20px; }
.branch-card { display:flex;flex-direction:column;border:1px solid #d7e2d5;border-radius:8px;overflow:hidden; }
.branch-photo { width:100%;aspect-ratio:16/9;object-fit:cover; }
.branch-info { display:flex;flex:1;flex-direction:column;padding:22px; }
.branch-area { margin:0 0 6px;font-weight:600;color:#386833; }
.branch-grid h3 { margin:0;font-size:24px;line-height:1.4; }
.branch-details { margin:16px 0 20px;padding-top:14px;border-top:1px solid #d7e2d5; }
.branch-details dt { font-weight:700;margin-top:10px; }
.branch-details dt:first-child { margin-top:0; }
.branch-details dd { margin:0; }
.branch-hours { display:flex;flex-wrap:wrap;column-gap:12px;font-variant-numeric:tabular-nums; }
.branch-hours span:first-child { min-width:5em; }
.branch-grid a { color:#306c2a;text-decoration:underline;text-underline-offset:.18em; }
.branch-grid a:hover { color:#214c1d; }
.branch-details a { display:inline-block;font-size:18px;font-weight:600; }
.branch-link { display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:8px 0;font-weight:600;border-top:1px solid #d7e2d5; }
.branch-info iframe { width:100%;height:230px;border:0;border-radius:4px;background:#f1f4ef;margin:auto 0 6px; }
.branch-card:target h3 { color:#306c2a;text-decoration:underline;text-decoration-color:#a7c79c;text-underline-offset:.2em; }
@media (min-width:992px) {
    .branch-details dd:first-of-type { min-height:5.04em; } /* 3行の開局時間に揃え、休業日と電話番号を見比べやすくする。 */
}
@media (min-width:1025px) {
    .branch-card { scroll-margin-top:110px; }
}
@media (max-width:991px) {
    .home-content .branch-grid.container { grid-template-columns:1fr;max-width:640px;gap:24px;margin-block:28px 64px; }
    .home-section-caption { display:block;margin:8px 0 0; }
}
.home-message { display:grid;grid-template-columns:1fr 2fr;gap:20px;margin-top:70px!important;padding:0 20px!important; }
.home-message>img { width:100%;align-self:start; }
.home-message h3 { color:#23a455;font-size:32px;line-height:1;margin:0 0 20px; }
.home-message strong { background:linear-gradient(transparent 70%,#fff700 25%); }
.text-author { text-align:right; }
.information-title { margin-top:80px; }
.recruit-banner { padding:0 0 100px!important; }
.recruit-panel { padding:30px;background:#595959;color:#fff;text-align:center; }
.recruit-panel h3 { margin:0 0 20px;line-height:1; }.recruit-panel p { font-size:18px;line-height:1.5; }
.recruit-actions { display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:35px; }
.recruit-actions .button { min-width:175px;padding:20px 35px; }

/* 固定ページ */
.page-content { padding-top:153px;padding-bottom:75px;min-height:60vh; }
.page-title { text-align:center;margin:0 0 30px; }
.banner-title { margin:70px 0 0;padding:30px 15px;background:#f8f9f9;text-align:center;font-size:36px; }
.banner-title+.page-content { padding-top:83px; }
.table_requirements th,.table_requirements td { padding:15px 5px 15px 25px;text-align:left; }
.table_requirements th { width:auto; }
.lined-title { position:relative;border-top:4px solid var(--green);border-bottom:4px solid var(--green);padding:5px 20px;width:350px;max-width:100%;text-align:center;margin:0 auto 65px;color:var(--green);font-weight:700; }
.lined-title:before,.lined-title:after { content:"";position:absolute;pointer-events:none; }
.lined-title:before { border-top:3px solid var(--green);border-bottom:3px solid var(--green);width:calc(100% - 20px);height:92px;top:-12px;left:10px; }
.lined-title:after { border-top:2px solid var(--green);border-bottom:2px solid var(--green);width:calc(100% - 40px);height:106px;top:-19px;left:20px; }
.daily-profile { display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px; }
.portrait { width:350px;max-width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;justify-self:center; }
.daily-info { padding-top:45px; }.daily-info h2 { white-space:nowrap; }.h2_small { font-size:25px;margin-left:25px; }
.daily-info h3 { color:var(--green);margin-top:40px; }.daily-info p { margin-bottom:10px; }
.daily-row { display:grid;grid-template-columns:2fr 1fr;gap:0;margin-top:70px;padding:10px; }
.daily-copy { display:flex;flex-direction:column;padding:10px; }.daily-copy p { margin-bottom:20px; }
.daily-row+.daily-row { margin-top:50px; }.daily-row.reverse { grid-template-columns:1fr 2fr; }
.daily-row.reverse .daily-copy { order:2;padding-left:25px; }.daily-row.reverse img { order:1; }
.daily-row img { align-self:start;width:calc(100% - 20px);margin:10px; }.daily-time { font-size:69px;font-weight:600;font-style:italic;line-height:1;margin-bottom:20px;color:#7a7a7a; }
.daily-row h4 { color:var(--green);margin:10px 0 24px; }

.voice-card { margin-top:80px;padding:10px; }.voice-card h2 { font-family:'Alex Brush',sans-serif;font-size:59px;line-height:1;text-align:center;color:#7a7a7a;margin:0 0 20px; }
.voice-card-row { display:grid;grid-template-columns:1fr 2fr;gap:0;align-items:center; }.voice-summary { text-align:right;padding:25px 15px 0 0; }.voice-summary p { margin-bottom:20px; }.p_voice { font-size:20px; }
.voice-card-row img { width:calc(90% - 18px);margin:10px;justify-self:center; }.voice-card.reverse .voice-card-row { grid-template-columns:2fr 1fr; }
.voice-card.reverse .voice-summary { order:2;text-align:left; }.voice-card.reverse img { order:1; }
.voice_more { font-size:16px; }
.interview-intro { display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:10px; }
.interview-heading { display:flex;flex-direction:column;justify-content:space-between; }.interview-heading h1 { font-family:'Alex Brush',sans-serif;font-size:60px;line-height:1;margin-top:30px; }
.interview-intro img { width:100%;align-self:start; }
.voice_detail_title { font-size:30px;font-weight:600;letter-spacing:1.6px;line-height:1.6; }
.voice_detail_hr { border:0;border-top:3px solid var(--green);width:100px;margin:24px 0; }
.voice_detail_namearea { margin-top:30px;font-size:20px; }.voice_detail_namearea span { display:block;font-size:30px;font-weight:600; }
.interview-section { padding:10px;margin-top:80px; }.interview-section:first-of-type { margin-top:120px; }
.interview-section h2 { text-align:center;line-height:1;margin:0 0 20px; }.interview-section p { width:70%;margin:60px auto 0; }

/* お知らせ */
.news-layout { display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:60px; }
.news-layout main { min-width:0; }.news-article .page-title { margin-bottom:15px; }.post-date { text-align:right;margin-bottom:30px; }
.news-sidebar { padding-left:0; }.news-sidebar h2 { font-size:24px;margin:0 0 20px; }.news-sidebar section { margin-bottom:40px; }.news-sidebar li { margin-bottom:10px; }
.news-archive article { margin-bottom:60px; }.archive-meta { margin-bottom:15px; }.archive-meta,.archive-meta a { color:#6d7685; }.news-archive h2 { font-size:32px; }.news-archive h2 a { color:var(--ink); }
.entry-thumbnail { margin-bottom:24px; }.news-archive img { margin-bottom:0; }.news-archive .entry-content > p:last-child { margin-bottom:0; }
.news-article.post-1844 .entry-content { padding:10px; }
.news-article.post-1844 .entry-content > p { margin-bottom:20px; }
.photo-carousel { position:relative;margin:25px 0; }
.carousel-controls { display:flex;align-items:center;justify-content:center;gap:12px;margin-top:15px; }
.carousel-controls button { background:white;border:1px solid #777;padding:6px 16px;color:var(--green); }.carousel-status { margin:0; }

/* 既存MW WP Formの入力・確認・完了画面 */
.form-page { padding-bottom:75px; }.form-steps { display:flex;margin:60px 0;padding:0;list-style:none; }
.form-steps li { border-bottom:2px solid #cdcdcd;width:33.333%;text-align:center;padding:0 8px 10px;font-size:25px;letter-spacing:.1em;color:#cdcdcd; }
.form-steps .is-current { color:var(--green);border-color:var(--green); }.form-explanation { margin-bottom:40px; }
.form_content { display:inline-block;width:220px;font-weight:600;vertical-align:baseline; }.form_caution { display:block;font-size:16px;color:#b90000;margin:10px 0 0 220px; }
.mw_wp_form input:not([type=hidden]):not([type=submit]):not([type=radio]):not([type=checkbox]),.mw_wp_form textarea { max-width:calc(100% - 225px);border:1px solid #ddd;border-radius:0;background:#fff;color:#6d7685;padding:4px 20px;height:50px;vertical-align:middle; }
.mw_wp_form input[size="60"] { width:586px; }
.mw_wp_form input[type=number] { width:76px; }
.mw_wp_form input[type=radio],.mw_wp_form input[type=checkbox] { width:18px;height:18px;vertical-align:middle;accent-color:var(--green); }
.mw_wp_form .mwform-tel-field { white-space:nowrap; }.mw_wp_form .mwform-tel-field input { width:100px!important;max-width:28%!important; }
.mw_wp_form input[type=submit] { margin-top:20px; }.mw_wp_form input.submitBack { background:#808080;border-color:#808080;margin-right:20px; }
.mw_wp_form .error { color:#b90000;font-size:16px; }.mw_wp_form [aria-invalid=true] { border-color:#b90000!important; }
.mw_wp_form form[aria-busy=true] input[type=submit] { opacity:.65;cursor:wait; }
.form-status:not(.screen-reader-text) { padding:12px;background:#f8f9f9; }

@media (min-width:1500px) { .hero { height:690px; } }
@media (min-width:1264px) and (max-width:1399px) { .hero { height:590px; } }
@media (min-width:1025px) and (max-width:1263px) { .hero { height:540px; } }
@media (max-width:1199px) { .container { width:970px; }.home-content .container { max-width:100%; }.menu { gap:18px; }.brand { font-size:26px; }.daily-info h2 { white-space:normal; }.h2_small { display:inline-block; }.voice_detail_title { font-size:25px; } }
@media (max-width:1024px) {
    .site-header { position:relative; }.brand { font-size:24px; }.menu-toggle { display:block; }
    .site-navigation { display:none;position:absolute;top:70px;left:0;width:100%;background:#fff;box-shadow:0 4px 6px #0002;max-height:calc(100dvh - 70px);overflow-y:auto; }
    .site-navigation.is-open { display:block; }.menu { display:block; }.menu a { padding:15px 30px;border-top:1px solid #eee; }.menu>.menu-item-recruit>a { padding:15px 30px; }
    .menu .sub-menu { display:block;position:static;margin:0;padding-left:20px; }
    .hero { height:auto;aspect-ratio:12/5; }.hero-slide img { top:0; }
    .banner-title { margin-top:0; }.page-content { padding-top:83px; }.home-content .container { width:100%; }
    .about-card { width:244px; }.about-card img { left:15px;width:220px;height:220px;top:-160px; }
    .about-cards { padding-top:260px!important; }.ribbon { width:234px; }
    .news-panel { gap:25px; }.home-message h3 { line-height:1.3; }
    .news-layout { gap:30px; }
}
@media (min-width:768px) and (max-width:991px) { .container { width:750px; } }
@media (max-width:862px) { .news-panel { display:block; }.news-panel h2 { width:150px;margin:0 auto 20px;text-align:center; }.news-panel .news-list { padding:0 20px; }.news-panel li { display:block;margin-bottom:20px; }.news-panel time { display:block; }.news-panel a { display:block; } }
@media (max-width:767px) {
    .container { width:100%;padding-left:15px;padding-right:15px; }.brand { gap:5px;font-size:20px; }.brand img { width:70px;height:70px; }.menu-toggle { margin-right:5px; }
    .page-content { padding:83px 15px 50px; }.banner-title { font-size:36px;padding:30px 15px; }
    .home-news { padding-top:80px!important;margin-bottom:80px!important; }.news-panel { padding:30px 20px; }.news-panel h2 { font-size:25px; }.kaitos-banner { margin-top:20px; }
    .home-section-title h2 { font-size:32px; }.home-section-title:after { width:80px; }
    .about-cards { display:flex;flex-direction:column;gap:220px;padding:260px 20px 90px!important; }
    .about-card { width:274px; }.about-card img { width:240px;height:240px;left:35px;top:-180px; }.ribbon { width:244px; }
    .home-message { grid-template-columns:1fr;margin-top:50px!important;gap:30px; }.home-message>img { max-width:400px;justify-self:center; }.home-message h3 { font-size:26px; }.home-message .text-author { margin-bottom:0; }
    .recruit-banner { padding:0 15px 65px!important; }.recruit-panel { padding:30px 20px; }.recruit-actions { gap:20px; }.recruit-actions .button { min-width:175px; }
    .lined-title { width:350px;margin-bottom:65px; }.daily-profile { grid-template-columns:1fr;padding:20px;gap:20px; }.daily-info { padding:45px 0 0; }.h2_small { font-size:25px;margin-left:25px; }
    .daily-row,.daily-row.reverse { grid-template-columns:1fr;padding:10px;gap:0;margin-top:70px; }.daily-row.reverse .daily-copy { order:0;padding-left:25px; }.daily-row.reverse img { order:1; }.daily-time { font-size:69px; }
    .daily-row img { max-width:550px;justify-self:center; }
    .voice-card { padding:10px;margin-top:80px; }.voice-card h2 { font-size:59px; }.voice-card-row,.voice-card.reverse .voice-card-row { grid-template-columns:1fr;gap:0; }.voice-summary { text-align:right;order:0;padding:25px 15px 0 0; }.voice-card.reverse .voice-summary { text-align:left;order:2;padding:25px 15px 0 0; }.voice-card-row img,.voice-card.reverse img { order:1;width:calc(90% - 18px); }.p_voice { font-size:20px; }
    .interview-intro { grid-template-columns:1fr;padding:10px; }.interview-heading h1 { font-size:60px;margin:30px 0 35px; }.voice_detail_title { font-size:25px; }.voice_detail_namearea { margin-bottom:20px; }.interview-intro img { max-width:550px;justify-self:center; }
    .interview-section { padding:10px;margin-top:80px; }.interview-section:first-of-type { margin-top:120px; }.interview-section p { width:70%;margin-top:60px; }
    .news-layout { display:block; }.news-sidebar { margin-top:60px; }.news-archive h2 { font-size:28px; }
    .table_requirements th,.table_requirements td { padding:15px 5px 15px 25px; }.table_requirements th { width:auto; }
    .form-steps { margin:40px 0;font-size:16px; }.form-steps li { font-size:16px;padding:0 5px 10px;letter-spacing:0; }
    .form_content { display:block;width:100%;margin-bottom:8px; }.mw_wp_form input:not([type=hidden]):not([type=submit]):not([type=radio]):not([type=checkbox]),.mw_wp_form textarea { max-width:100%;width:100%; }.mw_wp_form input[type=number] { width:100px!important; }.form_caution { margin-left:0; }.mw_wp_form input[type=submit] { max-width:100%;white-space:normal; }.mw_wp_form input.submitBack { margin-right:10px; }
}
/* 旧テーマの標準見出しと同じ幅で文字サイズを切り替える。 */
@media (min-width:576px) and (max-width:991px) { h1 { font-size:42px; }h2 { font-size:32px; }h3 { font-size:24px; }h4 { font-size:18px; } }
@media (max-width:575px) { h1 { font-size:32px; }h2 { font-size:24px; }h3 { font-size:20px; }h4 { font-size:16px; } }
@media (max-width:468px) { .news-panel { width:80%;padding:30px 20px; }.news-panel .news-list { padding:0 20px; } }
/* 狭い端末では筆記体の字形が画面端で切れない大きさにする。 */
@media (max-width:359px) { .voice-card h2,.interview-heading h1 { font-size:48px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*:before,*:after { transition:none!important;animation:none!important; } }
/* 通常のギャラリーは投稿者が指定した列数・画像比率・説明を保つ。 */
.entry-content .gallery { display:grid;grid-template-columns:repeat(var(--gallery-columns,3),minmax(0,1fr));gap:10px;margin:25px 0; }
.gallery-columns-1 { --gallery-columns:1; }.gallery-columns-2 { --gallery-columns:2; }.gallery-columns-3 { --gallery-columns:3; }.gallery-columns-4 { --gallery-columns:4; }.gallery-columns-5 { --gallery-columns:5; }.gallery-columns-6 { --gallery-columns:6; }.gallery-columns-7 { --gallery-columns:7; }.gallery-columns-8 { --gallery-columns:8; }.gallery-columns-9 { --gallery-columns:9; }
.entry-content .gallery-item { margin:0;min-width:0;text-align:center; }.entry-content .gallery img { width:auto;max-width:100%;height:auto; }.gallery-caption { font-size:16px; }
@media (max-width:767px) { .entry-content .photo-carousel { grid-template-columns:1fr; } }
/* 移行前の見出し位置と写真カードの配置に合わせる。 */
.news-panel time { order:-1; }
.home-section-title#work { padding-top:25px; }
@media (min-width:768px) { .about-cards { padding-left:10px!important;padding-right:10px!important;padding-bottom:140px!important; }.about-card { margin:0 15px; } }
@media (max-width:1024px) and (min-width:768px) { .about-card { margin:0 auto;width:225px; }.about-card img { width:205px;height:205px;left:15px; }.ribbon { width:220px; } }
@media (max-width:767px) { .home-section-title#work { padding-top:0; } }
body { color:#233452;line-height:1.68; }
h1,h2,h3,h4,h5,h6 { color:var(--ink); }
.lined-title,.daily-info h3,.daily-row h4 { color:var(--green); }
.recruit-banner { position:relative;background-position:center;background-size:cover;background-attachment:fixed;padding:50px 0!important;margin-bottom:50px; }
.recruit-banner:before { content:none; }
.recruit-banner>.container { position:relative; }
.recruit-panel { background:rgba(0,0,0,.7); }.recruit-panel h3 { color:white; }
.recruit-actions .button { font-weight:400;line-height:1;padding:20px 35px; }
.recruit-actions .button:last-child { padding-left:57px;padding-right:57px; }
.ribbon-word { font-family:'Bad Script',cursive;font-style:normal;line-height:48px; }
@media (max-width:767px) { .home-message h3,.recruit-panel h3 { font-size:20px; }.recruit-banner { background-attachment:scroll; } }
.home-message>img { width:auto;justify-self:center; }
.about-copy { max-width:244px; }
.news-panel h2 { flex:none;width:150px; }
@media (min-width:863px) { .news-panel { padding-top:40px;padding-bottom:40px; }.home-news { margin-bottom:50px!important; } }
/* お知らせの本文幅・サイドバー・写真一覧は従来の配置に揃える。 */
.news-layout { padding-left:0;padding-right:0;padding-top:153px;gap:0; }
.news-layout main { padding:0 45px 0 15px; }
.news-sidebar { padding:30px;color:#6d7685; }.news-sidebar a { color:#6d7685; }.news-sidebar a:hover { color:var(--green); }
.news-sidebar h2 { font-size:22px;line-height:normal;margin:0;padding-bottom:24px; }
.news-sidebar ul { margin:1em 0; }.news-sidebar li { margin:0;padding:5px 0; }.news-sidebar li:first-child { padding-top:0; }.news-sidebar li:last-child { padding-bottom:0; }
.news-sidebar section { margin-bottom:60px; }.news-sidebar section:last-child { margin-bottom:0; }
.news-article .page-title { margin-bottom:0; }.post-date { margin-bottom:40px; }
.entry-content .photo-carousel { grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:40px;margin-bottom:0; }
.entry-content .photo-carousel .gallery-caption { display:none; }
.entry-content .photo-carousel img { width:150px;height:150px;max-width:100%;aspect-ratio:1;object-fit:cover; }
.carousel-controls { position:relative;margin-top:0;gap:0;min-height:30px; }
.carousel-controls .gallery-prev,.carousel-controls .gallery-next { position:absolute;top:-106px;padding:0;border:0;font-size:40px;background:transparent;color:#777;width:44px;height:44px;line-height:1; }
.carousel-controls .gallery-prev { left:0; }.carousel-controls .gallery-next { right:0; }
.carousel-controls .gallery-dot { width:18px;height:30px;padding:0;border:0;background:radial-gradient(circle,#ccc 3px,transparent 3px); }
.carousel-controls .gallery-dot[aria-pressed=true] { background:radial-gradient(circle,#222 3px,transparent 3px); }
@media (max-width:991px) { .news-layout { display:block;padding:83px 0 50px; }.news-layout main { padding:0 15px; }.news-sidebar { padding:30px;margin-top:50px; } }
@media (max-width:767px) { .entry-content .photo-carousel { grid-template-columns:1fr; } }
@media (767px <= width < 1024px) { .entry-content .photo-carousel { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.carousel-controls .gallery-pause { width:30px;height:30px;padding:0;border:0;background:transparent;color:#777;font-size:16px; }

/* 旧レイアウトのコンテナーと末尾余白。空のヒーローや重なりは復元しない。 */
.fullwidth-page,.requirements-page,.form-page { padding-left:0;padding-right:0; }
.standard-page,.requirements-page,.form-page { padding-bottom:50px; }
.standard-page article { margin-bottom:30px; }
.interview-page { padding-bottom:80px; }
.entry-button { line-height:1.68; }
.news-article .entry-content > ul,.news-article .entry-content > ol { margin-bottom:1.5em; }

.news-layout { padding-bottom:50px; }.news-article { margin-bottom:60px; }
.news-article .entry-thumbnail { margin-bottom:38px; }
.mw_wp_form form > p { margin-bottom:20px; }
.mw_wp_form form > p:has(input[type=radio]),.mw_wp_form form > p:has(input[type=checkbox]) { min-height:54px; }
.mw_wp_form input[type=submit] { height:50px;padding-top:0;padding-bottom:0; }
@media (max-width:767px) {
    .news-archive h2 { font-size:32px; }
    .form_content { margin-bottom:0; }
    .form-steps { margin:60px 0; }
}

.work-page { padding-bottom:80px; }
.home-section-title:after { margin-top:-2px; }
.home-section-title.message-title { padding-top:10px; }
.home-message { padding:0 10px 10px!important;gap:0;margin-top:60px!important; }
.home-message > div { padding:10px; }.home-message > img { margin:10px;max-width:calc(100% - 20px); }
.home-message h3 { line-height:1; }.home-message .text-author { margin-bottom:20px; }
.recruit-banner > .container { padding-left:0;padding-right:0; }
.recruit-actions { margin-bottom:20px; }
@media (min-width:768px) { .about-cards { padding-bottom:115px!important; } }
@media (max-width:767px) {
    .daily-row+.daily-row { margin-top:50px; }

    .recruit-panel { padding:30px; }
    .form-steps li { font-size:25px;padding:0 0 10px;letter-spacing:.1em; }
}

@media (max-width:767px) {
    .about-card { padding-left:15px;padding-right:15px; }
    .about-card img { left:50px; }.about-card:before,.ribbon-word { left:15px; }
}

/* お知らせの行高と余白の折り畳みを旧レイアウトへ揃える。 */
.archive-meta { line-height:1.26; }
@media (min-width:992px) { .news-archive article { display:flow-root; } }
@media (max-width:991px) { .news-archive { display:flow-root; } }
/* トップのNEWSは旧inline-blockのベースラインと段落余白を保つ。 */
.news-panel { display:block;text-align:center;padding-top:30px;padding-bottom:30px; }
.news-panel h2 { display:inline-block;vertical-align:baseline;margin:2px 0 0; }
.news-panel .news-list { display:inline-block;vertical-align:middle;text-align:left;padding:0 0 0 40px;margin:1em 0 0; }
@media (max-width:862px) {
    .home-news { margin-bottom:50px!important; }
    .news-panel h2 { display:block;margin:0 auto 20px; }
    .news-panel .news-list { padding:0 20px; }
}

.home-section-title#work { padding-top:30px; }
.recruit-actions .button { border:0; }
@media (max-width:767px) {
    .home-news { margin-bottom:50px!important; }
    .recruit-panel { padding-bottom:45px; }
}

@media (max-width:991px) { .news-article .page-title { font-size:32px; } }

@media (min-width:992px) and (max-width:1199px) { .container { width:970px; } }
@media (min-width:768px) and (max-width:991px) {
    .home-message h3 { font-size:24px; }

}
@media (max-width:767px) {
    .form-page input:focus-visible,.form-page textarea:focus-visible,.form-page select:focus-visible { outline-offset:-3px; }
}

@media (max-width:1024px) { .news-layout { padding-top:83px; } }
