@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* =====================================================================
 * 共通ヘッダー・フッター（nkd_render_shared_header/footer が出力するページ用）
 * 対象: /tokushoho/ /privacy-policy/ など、front-page.php・page.php の
 * 独自レイアウトを使わないページ。
 * ===================================================================== */
:root { --nkd-green:#006747; --nkd-deep:#003d2a; }

.nkd-shell{width:min(1180px,calc(100% - 32px));margin-inline:auto}

.nkd-future-message{margin-top:-56px;padding:18px 0 34px;color:var(--nkd-deep)}
.nkd-future-message strong{font-size:19px}
.nkd-future-message p{margin:10px 0 0;font-size:14px;line-height:1.8}
@media(max-width:900px){.nkd-future-message{margin-top:-34px;padding:16px 0 28px}.nkd-future-message strong{font-size:17px}.nkd-future-message p{font-size:13px}}

.nkd-site-header{background:#fff;border-bottom:1px solid #e5eee8}
.nkd-site-header__inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.nkd-brand{display:flex;align-items:center;gap:14px;font-size:25px;font-weight:800;letter-spacing:.04em;white-space:nowrap}
.nkd-brand img{width:58px;height:58px;object-fit:contain}
.nkd-nav{display:flex;align-items:center;gap:38px;font-size:16px;font-weight:700;white-space:nowrap}
.nkd-nav a{position:relative;padding:40px 0 34px}
.nkd-nav a:after{content:'';position:absolute;right:0;bottom:25px;left:0;height:3px;border-radius:9px;background:transparent;transition:background .2s ease}
.nkd-nav a:hover:after,.nkd-nav .is-current:after{background:var(--nkd-green)}

.nkd-site-footer{border-top:1px solid #dfeae3;background:#fff}
.nkd-site-footer__main{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.nkd-site-footer__legal{display:flex;align-items:center;justify-content:flex-end;gap:22px;min-height:58px;border-top:1px solid #edf2ee;color:#587164;font-size:13px}
.nkd-site-footer__legal a{color:inherit;text-decoration:none}
.nkd-site-footer__legal a:hover{text-decoration:underline}
.nkd-site-footer__legal small{font-size:13px}
@media(max-width:900px){.nkd-site-footer__main{min-height:auto;padding:34px 0 26px;align-items:flex-start;flex-direction:column;gap:20px}.nkd-site-footer__main .nkd-nav{display:flex;flex-wrap:wrap;gap:14px 22px;font-size:14px}.nkd-site-footer__main .nkd-nav a{padding:0}.nkd-site-footer__main .nkd-nav a:after{display:none}.nkd-site-footer__legal{padding:18px 0;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:10px 18px;font-size:12px}.nkd-site-footer__legal small{flex-basis:100%;font-size:12px}}

/* 共通ナビの下線アニメーションと配色 */
@media(min-width:901px){.nkd-site-header .nkd-nav a:after,.nkd-site-footer .nkd-nav a:after{background:var(--nkd-green);transform:scaleX(0);transform-origin:left center;transition:transform .35s cubic-bezier(.22,1,.36,1)}.nkd-site-header .nkd-nav a:hover:after,.nkd-site-header .nkd-nav a:focus-visible:after,.nkd-site-header .nkd-nav a.is-current:after,.nkd-site-footer .nkd-nav a:hover:after,.nkd-site-footer .nkd-nav a:focus-visible:after,.nkd-site-footer .nkd-nav a.is-current:after{transform:scaleX(1)}}
.nkd-site-header .nkd-nav a,.nkd-site-header .nkd-nav a:visited,.nkd-site-header .nkd-nav a:hover,.nkd-site-header .nkd-nav a:focus-visible,.nkd-site-footer .nkd-nav a,.nkd-site-footer .nkd-nav a:visited,.nkd-site-footer .nkd-nav a:hover,.nkd-site-footer .nkd-nav a:focus-visible{color:var(--nkd-deep)!important}
.nkd-site-header .nkd-brand,.nkd-site-header .nkd-brand:visited,.nkd-site-header .nkd-brand:hover,.nkd-site-footer .nkd-brand,.nkd-site-footer .nkd-brand:visited,.nkd-site-footer .nkd-brand:hover{color:var(--nkd-deep)!important}

/* モバイルメニュー（ハンバーガー） */
.nkd-menu-toggle,.nkd-mobile-menu{display:none}
@media(max-width:900px){
	.nkd-site-header__inner{position:relative}
	.nkd-nav--desktop{display:none!important}
	.nkd-menu-toggle{display:grid;width:48px;height:48px;padding:12px;border:0;border-radius:8px;background:transparent;place-content:center;gap:5px;cursor:pointer}
	.nkd-menu-toggle>span:not(.screen-reader-text){display:block;width:24px;height:2px;border-radius:2px;background:var(--nkd-deep);transition:transform .25s ease,opacity .2s ease}
	.nkd-menu-toggle.is-open>span:nth-child(1){transform:translateY(7px) rotate(45deg)}
	.nkd-menu-toggle.is-open>span:nth-child(2){opacity:0}
	.nkd-menu-toggle.is-open>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
	.nkd-mobile-menu{position:absolute;z-index:50;top:100%;right:0;left:0;padding:12px max(16px,calc((100% - 1240px)/2));border-top:1px solid #e5eee8;background:#fff;box-shadow:0 12px 24px rgba(0,61,42,.1)}
	.nkd-mobile-menu:not([hidden]){display:grid}
	.nkd-mobile-menu a{padding:16px 0;border-bottom:1px solid #edf2ee;color:var(--nkd-deep)!important;font-weight:700;text-decoration:none}
	.nkd-mobile-menu a:last-child{border-bottom:0}
	.nkd-menu-open{overflow:hidden}
	.nkd-site-header__inner{min-height:72px}
	.nkd-brand{font-size:18px}
	.nkd-brand img{width:42px;height:42px}
}
