/* assets/css/style.css */
@charset "utf-8";

/* --- 1. 変数・リセット --- */
:root {
--primary-navy:#003366;    /* 信頼・組織・医療 */
--primary-color:#005a9c; /* 信頼のブルー */
--accent-green:#28a745;    /* 採用・活力・安心 */
--accent-orange:#df6900 ;
--sub-blue:#0093ff;
--sub-orange:#ff881f ;
--soft-blue:#f0f7ff;      /* セクション背景 */
--text-main:#333333;
--text-sub:#666666;
--main-navy:#032235;
--white:#ffffff;
--accent-color:#f0f7ff; 
}

* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth;-webkit-text-size-adjust}
body {font-family:"Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;color:var(--text-main);line-height:1.8;overflow-x:hidden;}
main{margin-top:14rem;}
main#page-index{margin-top:0;}
/* --- 2. レイアウトパーツ --- */
.container {max-width:1200px;margin:0 auto;padding:0 4%;}
.py-80 {padding:80px 0;}
.py-100 { padding:100px 0; }
.mt-40	{margin-top:40px;}
.bg-light { background-color:var(--soft-blue); }
.text-end{text-align: end;}

.section-title {text-align:center;margin-bottom:60px;}
.section-title .en {display:block;font-size:0.9rem;font-weight:bold;color:var(--primary-navy);letter-spacing:0.2em;margin-bottom:10px;}
.section-title h2 {font-size:2rem;position:relative;padding-bottom:15px;}
.section-title h2::after {content:'';position:absolute;bottom:0; left:50%; transform:translateX(-50%);width:50px; height:3px; background:var(--primary-navy);}

.slide1 { background-image:linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url('/nist/assets/img/hero04.png'); }
.slide2 { background-image:linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url('/nist/assets/img/hero05.png'); }
.slide3 { background-image:linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url('/nist/assets/img/hero06.png'); }

/* ヒーローセクション基本 */
.hero {position:relative;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;width:100vw;}

/* スライダー部分 */
.hero-slider {position:absolute;top:0; left:0; width:100%; height:100%;z-index:1;}
@keyframes kenburns {90%{ transform:scale(1.16);opacity:1; }100%{opacity:0; }}

.slide {position:absolute;top:0; left:0; width:100%; height:100%;background-size:cover;background-position:center;opacity:0;transform:scale(1);}
.slide.active {opacity:1;animation:kenburns 20s forwards;}


/* テキストコンテンツ */
.hero-overlay {position:relative;z-index:2;text-align:center;height:100vh;height:100svh;display:flex;align-items:flex-end;padding-bottom:.5rem;width:100%;justify-content:center;}
.hero-subtext{font-size:1.2rem;padding-bottom:2rem;}
.hero-text {position:absolute;top:50%;left:10%;right:10%;;opacity:0;transform:translateX(20px);font-size:2.2rem;filter:blur(20px);}
.hero-overlay.active{
.hero-text.active {opacity:1;filter:blur(0);transform:translateX(0) scale(1.1);transition:opacity 1.2s ease,filter 1.2s ease, transform 8s cubic-bezier(0.25, 0.46, 0.45, 0.94);}
}
/* 実績セクションのレイアウト */
.results-wrapper {display:flex;align-items:center;gap:60px;justify-content: center;}
.results-text {}
.results-image { flex:1;}
.result-list { flex:1.5; margin-top:30px;list-style:none;padding:25px;background:#fff;border-radius:10px;}
.result-list li {margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee;display:grid;grid-template-columns:7rem auto;gap:1rem;}
.result-list li:last-child { border-bottom:none;padding-bottom: 0;margin-bottom: 0;}

/* --- 5. 施設関係者向けセクション (Partner) --- */
.partner-grid {display:flex;align-items:center;gap:60px;}
.partner-desc { flex:1; }
.partner-desc h3 { font-size:1.8rem; color:var(--primary-navy); margin-bottom:20px; }
.partner-stats { flex:1; } /* ここに数字パーツが入る */

/* --- 6. 採用情報ティーザー (Recruit) --- */
.recruit-wrapper {display:flex;ackground:var(--white);border-radius:20px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,0.05);}.recruit-image { flex:1; }
.recruit-image img { width:100%; height:100%; object-fit:cover; }
.recruit-content { flex:1; padding:60px; }
.recruit-content h2 { font-size:2rem; margin-bottom:20px; }
.recruit-points { margin:25px 0; list-style:none; }
.recruit-points li { margin-bottom:10px; font-weight:bold; color:var(--primary-navy); }
.recruit-points i { margin-right:10px; color:var(--accent-green); }

/* --- 7. スクロールアニメーション制御 --- */
.reveal {opacity:0;transform:translateY(40px);transition:opacity 1.2s ease, transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);}
.reveal.is-visible {opacity:1;transform:translateY(0);}

/* 共通ボタン（しっかりした会社を演出する丁寧な装飾） */
.btn-text {font-weight:600;font-size:1.2rem;padding:1em;display:inline-block;width:100%;text-align:end;text-decoration:none;color:var(--primary-navy);}
.btn-navy { background:var(--primary-navy); color:var(--white); }
.btn-green { background:var(--accent-green); color:var(--white); box-shadow:0 4px 15px rgba(40,167,69,0.3); }
.btn {display:inline-block;padding:18px;border-radius:50px;text-decoration:none;font-weight:bold;transition:all 0.3s ease;min-width:18em;text-align:center;box-shadow:0 6px 20px rgba(0, 51, 102, 0.2);color:#fff;margin:auto auto 0;width:18em;}
.btn-primary {background:linear-gradient(135deg, var(--primary-navy) 0%, var(--sub-blue) 100%);}
.btn-accent {background:linear-gradient(135deg, var(--accent-orange) 0%, var(--sub-orange) 100%);}
.btn:hover {transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,0.15);opacity:0.9;}
.f-button {padding:18px 60px;border:none;font-size:1.1rem;margin:2rem auto;}
.button-wrap{
	display:flex;max-width:800px;margin:0 auto;padding:40px 0;gap:10px;
	.back-button {background:#afb1b4;color:#444;}
	.send-button,.back-button {border:none;}
}
.form-instruction,.complete-msg,.support-top{max-width:800px;margin:0 auto;padding:3em 10px;display:block;}
.mail-complete {background-color:#fff;padding:40px 20px;box-shadow:0 2px 10px rgba(0,0,0,0.1);max-width:800px;margin:0 auto;}


/* ヘッダーの基本スタイル */
.main-header {background:#fff;position:fixed;top:0; left:0; width:100%;z-index:1000;transition:all 0.4s;padding:20px 0 0;}
.main-header.scrolled {padding:0;box-shadow:0 2px 10px rgba(0,0,0,0.1);height:10.5em;}
.header-container {display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px;}
.global-nav ul {display:flex;list-style:none;align-items:center;flex-wrap:wrap;gap:13px 6px;justify-content:flex-end;}
.global-nav ul li{min-width:7rem}
.global-nav a {text-decoration:none;color:#333;font-weight:bold;text-align:center;display:block;}

/* ヘッダー内のボタン（採用情報） */
.nav-recruit a,.nav-contact a {color:#fff;padding:8px 20px;border-radius:50px;min-width:9rem}
.nav-recruit a {background:var(--sub-orange);}
.nav-contact a {background:var(--sub-blue);}

/* スクロール前のヘッダー文字色（メインビジュアルが暗い場合） */
.header-tagline {display:flex;justify-content:space-between;color:var(--text-sub);font-size:0.8rem;}
.global-nav{margin-bottom:66px;}
.logo img{transform:scale(.8);transition:.6s;}
.main-header.page-index:not(.scrolled){
	background:transparent;
	.global-nav a,.header-tagline {font-size:1rem;color:#fff;}
	.global-nav{margin-bottom:0;}
	.global-nav.glass:not(.active){  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);padding:10px 20px;}
}
.main-header:not(.scrolled){ .logo img{transform:scale(0.88);}}

/* コンタクトエリア全体の装飾 */
.contact-area {padding:100px 0;background-color:#f4f7f9; /* 落ち着いた薄いグレー */}
.contact-header {text-align:center;margin-bottom:60px;}
.contact-title {font-size:2.2rem;color:var(--primary-color);margin-bottom:15px;position:relative;display:inline-block;}
.contact-grid {display:flex;gap:30px;max-width:1100px;margin:0 auto;}

/* カード共通スタイル */
.contact-card {flex:1;background:#fff;border-radius:20px;box-shadow:0 15px 35px rgba(0, 90, 156, 0.08);display:flex;flex-direction:column;overflow:hidden;transition:transform 0.3s ease;}
.contact-card:hover {transform:translateY(-5px);}
.card-inner {padding:50px 40px;text-align:center;display:flex;flex-direction:column;height:100%;}
.card-tag {display:inline-block;font-size:0.85rem;font-weight:bold;color:var(--primary-color);margin-bottom:15px;letter-spacing:0.1em;}
.contact-card h3 {font-size:1.5rem;margin-bottom:20px;color:#333;}

/* 電話番号セクション */
.tel-box {margin:30px 0;padding:20px;background:#f0f7ff;border-radius:10px;}
.tel-link {text-decoration:none;color:var(--primary-color);}
.tel-label {display:block;font-size:0.8rem;margin-bottom:5px;}
.tel-number {font-size:1.8rem;font-weight:bold;}
.recruit-teaser {padding:120px 0;background-color:#f0f4f8; /* 爽やかな薄いブルー */overflow:hidden;}
.recruit-box {display:flex;align-items:center;gap:60px;background:#fff;padding:50px;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,0.05);}
.recruit-image,.admin-image {flex:1;position:relative;}
.recruit-image img,.admin-image img,.results-image img {width:100%;border-radius:15px;}
.recruit-text {flex:1;}
.grid-2 {display:grid;grid-template-columns:1fr 2fr;gap:2rem;}
.tag {display:inline-block;color:var(--accent-color);font-weight:bold;letter-spacing:0.1em;margin-bottom:10px;}
.recruit-points {margin:25px 0;padding:0;list-style:none;}
.recruit-points li {margin-bottom:10px;font-weight:bold;color:var(--primary-color);}
/* 数字パーツのスタイル */
.stats-container {background:#fff;padding:30px;border-radius:15px;box-shadow:0 10px 30px rgba(0, 51, 102, 0.05);}
.stats-row {display:grid;grid-template-columns:repeat(2, 1fr); /* 2カラム構成 */gap:30px;}
.stat-box {display:flex;align-items:center;gap:20px;padding:20px;border-left:4px solid var(--primary-navy);background:var(--soft-blue);border-radius:0 10px 10px 0;}
.stat-icon {font-size:2rem;color:var(--primary-navy);width:50px;text-align:center;}
.stat-number {font-size:2.2rem;font-weight:bold;color:var(--primary-navy);line-height:1;}
.unit {font-weight:bold;margin-left:5px;color:var(--primary-navy);}
.stat-label {font-weight:bold;font-size:0.95rem;margin-top:5px;}
.stat-sub {font-size:0.8rem;color:var(--text-sub);margin-top:2px;}
/* 下層共通ヒーロー */
.page-header {background-color:var(--primary-navy);padding:100px 0 80px;color:#fff;text-align:center;
 .container {
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);    padding: 20px 0;width: 95%;
  p{padding: 0 5px;}
}

}

  
/* 医療ケアグリッド */
.medical-grid {display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:30px;}
.medical-item {background:#fff;padding:40px 30px;border-radius:15px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,0.05);transition:transform 0.3s ease;}
.medical-item:hover { transform:translateY(-10px); }
.medical-item i {font-size:2.5rem;color:var(--primary-navy);margin-bottom:20px;}
.medical-item h4 {font-size:1.25rem;margin-bottom:15px;color:var(--primary-navy);}
/* 画像とテキストの横並び */
.flex-layout {display:flex;align-items:center;gap:60px;}
.flex-text { flex:1.2; }
.flex-img { flex:1; }
.flex-img img { width:100%; border-radius:20px; box-shadow:20px 20px 0 #d1e4ff; }

/* チェックリスト（ケアマネが見る部分） */
.check-box-container {background:#fff;padding:50px;border-radius:20px;border:2px dashed var(--primary-navy);}
.check-list-grid {display:grid;grid-template-columns:repeat(2, 1fr);gap:20px;list-style:none;}
.check-list-grid li {font-weight:bold;display:flex;align-items:center;gap:15px;}
.check-list-grid i { color:var(--accent-green); font-size:1.4rem; }
/* 施設向けメリットのグリッド */
.merit-grid {display:grid;grid-template-columns:repeat(3, 1fr);gap:30px;}
.merit-item {background:#fff;padding:40px 30px;border-radius:10px;border-bottom:5px solid var(--primary-navy);box-shadow:0 5px 20px rgba(0,0,0,0.05);text-align:center;}
.merit-item .icon {font-size:3rem;color:var(--primary-navy);margin-bottom:20px;}
/* フォームの調整 */
.facility-form {max-width:800px;margin:0 auto;background:#fff;padding:50px;border-radius:20px;}
.form-item { margin-bottom:30px; }
.form-item label { display:block; font-weight:bold; margin-bottom:10px; color:var(--primary-navy); }
.form-item input[type="text"],.form-item textarea {width:100%; padding:15px; border:1px solid #ddd; border-radius:5px; background:#f9f9f9;}
.check-group label { display:block; font-weight:normal; margin-bottom:8px; font-size:0.95rem; }
.required {background:#e74c3c;color:#fff;font-size:0.7rem;padding:2px 6px;border-radius:3px;margin-left:5px;vertical-align:middle;}
.check-grid {display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f8faff;padding:15px;border-radius:5px;}
.flex-inputs {display:flex;gap:10px;}
.flex-inputs select {padding:10px;border:1px solid #ddd;border-radius:5px;}
.form-footer-box {margin-top:40px;text-align:center;border-top:1px solid #eee;padding-top:30px;}
.tel-info {margin:3rem 0 4rem;padding:20px;background:#eee;border-radius:10px;}
.tel-num {font-size:1.5rem;font-weight:bold;color:var(--primary-navy);}
/* --- フォーム全体の洗練デザイン --- */
.support-wrap {background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px rgba(0, 51, 102, 0.08); /* 奥行き感 */}
.support-wrap > div {margin-bottom:25px;border-bottom:1px solid #f0f0f0;padding-bottom:20px;}
.support-wrap label {font-weight:700;color:var(--primary-navy);display:block;margin-bottom:10px;}
/* 入力フィールドの洗練 */
.support-wrap input[type="text"],.support-wrap input[type="email"],.support-wrap input[type="tel"],.support-wrap select,.support-wrap textarea {width:100%;padding:12px 16px;border:2px solid #e0e6ed;border-radius:8px;background-color:#fdfdfe;font-size:1rem;transition:all 0.3s ease;outline:none;}

/* フォーカス時にブランドカラーの枠線と光彩 */
.support-wrap input:focus,.support-wrap textarea:focus {border-color:var(--sub-blue);background-color:#fff;box-shadow:0 0 0 4px rgba(0, 90, 156, 0.1);}

.breadcrumb-wrapper {background-color: #f8f9fa;padding: 12px 0;font-size: 0.85rem;border-bottom: 1px solid #eee;transform: translateY(-32px);}
.breadcrumb-list {display: flex;list-style: none;margin: 0;padding: 0;flex-wrap: wrap;}
.breadcrumb-item {display: flex;align-items: center;olor: #666;}
.breadcrumb-item a {color: var(--main-navy);text-decoration: none;transition: 0.3s;}
.breadcrumb-item a:hover {text-decoration: underline;}
.separator {margin: 0 10px;font-size: 0.7rem;color: #ccc;}
.breadcrumb-item span {color: #333;font-weight: bold;}
.blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(195px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.blog-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: transform 0.3s;
}

.blog-card:hover {
    transform: translateY(-5px);
}

.blog-card a { text-decoration: none; color: inherit; }

.blog-img {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #eee;
}

.blog-img img { width: 100%; height: 100%; object-fit: cover; }

.blog-info { padding: 20px; }

.blog-info h3 {
    font-size: 1.1rem;
    margin: 10px 0;
    line-height: 1.5;
    /* 2行以上は「...」で省略 */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blog-info time { color: #999; font-size: 0.85rem; }
/*プログ*/
.blog-tab-nav {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin-bottom: 40px;
    border-bottom: 2px solid #eee;
}

.blog-tab-nav li {
    padding: 15px 30px;
    cursor: pointer;
    font-weight: bold;
    color: #999;
    position: relative;
    transition: 0.3s;
}

.blog-tab-nav li:hover {
    color: var(--main-navy);
}

.blog-tab-nav li.active {
    color: var(--main-navy);
}

/* アクティブなタブの下線 */
.blog-tab-nav li.active::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--main-navy);
}

@media (max-width: 768px) {
    .blog-tab-nav {
        flex-wrap: wrap;
    }
    .blog-tab-nav li {
        padding: 6px;
        font-size: 0.9rem;
    }
}
/*インスタ*/
.media-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* PCは3列 */
    gap: 15px;
    margin-top: 30px;
}

.media-item {
    position: relative;
    aspect-ratio: 1 / 1; /* 正方形を維持 */
    overflow: hidden;
    border-radius: 8px;
    background: #eee;
}

.media-thumb {
    width: 100%;
    height: 100%;
}

.media-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

/* ホバー時の演出 */
.media-item:hover .media-thumb img {
    transform: scale(1.1);
}

.media-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.media-item:hover .media-overlay {
    opacity: 1;
}

.caption {
    font-size: 0.8rem;
    line-height: 1.5;
    text-align: center;
}

.video-icon {
    position: absolute;
    top: 10px; right: 10px;
    color: #fff;
    background: rgba(0,0,0,0.3);
    width: 30px; height: 30px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
}


/* フッター */
.main-footer {padding:60px 0 20px;background-color:#333;color:#ccc;font-size:0.9rem;
	iframe{border-radius:8px;}
	.footer-grid {display:grid;grid-template-columns:381px auto;gap:40px;margin-bottom:40px;
		.footer-logo {font-size:1.5rem;font-weight:bold;color:#fff;margin-bottom:15px;}
	}
	.footer-nav{padding: 0 20px;
		a {color:#ccc;text-decoration:none;transition:color 0.3s;}
		a:hover {color:var(--accent-color);}
		.rss {display: flex;gap: 15px;align-items: center;justify-content: flex-end;}
		.footer-sitemap-grid {display: flex;gap:0 20px;justify-content: flex-end;flex-wrap: wrap;
			.sitemap-column {display: flex;flex-direction: column;}
			.parent-link {display: inline-block;border-bottom: 1px solid #eee;}
			.child-list {list-style: none;padding: 0;margin: 0;}
			.child-list li {margin-bottom: 8px;}
			.tree-list {list-style: none;padding-left: 8px;}
			.tree-item {position: relative;padding-left: 20px;line-height: 2.2;}
			.tree-item::before {content: "";position: absolute;left: 0;top: 0;width: 1px;height: 100%;background-color: #ccc;}
			.tree-item:last-child::before {height: 1.1em;}
			.tree-item::after {content: "";position: absolute;left: 0;top: 1.1em;width: 15px;height: 1px;background-color: #ccc;}
		}
	}
	.copyright {text-align:center;border-top:1px solid #444;padding-top:20px;}
}
.itc-info {padding: 1rem 0;width: 100%;display: flex;align-items: center;gap:1vw;justify-content: center;flex-wrap: wrap;
	img{width: 66px;border-radius: 8px;}
	p {display: flex;align-items: center;min-width: 23em;gap: 1rem;}
	a {color: #fff;text-align: center;line-height: 1.4;text-decoration: none;}
}

/* ダウンロードカード */
.download-grid {display: grid;grid-template-columns:repeat(auto-fit, minmax(min(240px, 100%), 1fr));gap: 30px;}
.dl-card {background: #fff;padding: 40px 20px;border-radius: 10px;text-align: center;border: 1px solid #eee;transition: 0.3s;}
.dl-card:hover { border-color: var(--primary-navy); box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.dl-icon { font-size: 3rem; color: #e74c3c; margin-bottom: 20px; } /* PDFは赤色 */

/* モバイル表示の基本設定 */
.sp-only { display:none; }

@media (max-width: 768px) {
    .media-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
	.partner-grid,.recruit-wrapper,.results-wrapper { flex-direction:column; }
	.flex-layout { flex-direction:column; }
	.check-list-grid { grid-template-columns:1fr; }
	.hero-text h2 { font-size:2.2rem; }
	.recruit-content { padding:30px; }
	.hero-btns { flex-direction:column; }

	main {margin-top:12rem;}
    .sp-only { display:block; }
    .pc-only { display:none; }
	.py-80 {padding:40px 0;}
	.py-100 {padding:50px 0;}
	
    /* ヘッダーコンテナの調整 */
    .header-container {padding:5px 2px;height:7em;position:relative;}
	.main-header{
		.logo{display:flex;
		a {width:90px;}
		img{width:100%; height:auto;}}
		.small{font-size:.8rem;color:var(--text-sub);padding:2px 10px;}
		.mobile-contact{float:right;}
		.logo-wrap{width:260px;}

	}
	.main-header.page-index:not(.scrolled) {
		.small{color:var(--white);}
		.menu-toggle span {background:var(--white);}
		.btn-tel-circle {background:var(--white);color:var(--primary-navy);}
	}
	.main-header {padding:0;margin:0;}
	.main-header.scrolled {padding:0;top:-32px;height: 8.5em;}
	/**/
	h1{font-size:1.2rem !important;}
	h2{font-size:1.15rem !important;}
	h3{font-size:1rem !important;}
	p,td{font-size:.8rem !important;text-align:left !important;}
	.hero-text{font-size:1.2rem;}
	.hero-buttons {
	    display:grid;grid-template-columns:1fr 1fr;gap:4px;
		.btn {padding:12px 0;min-width:5em;width:100%;font-size:.8rem;}
	}
	.stats-row {
		padding:5px;
		.stat-box {
		    display:grid;padding:10px;border-left:0;border-radius:12px;justify-items:center;border-bottom:4px solid var(--primary-navy);
			.stat-content{text-align:center;}
		}
	}
	.results-text{
		p{padding:1rem;}
		.result-list {margin-top:0;padding:1rem;font-size:.9rem;
			li{gap:0}
		}
	}


	/*.about-hero,.service-hero,.family-hero,.recruit-hero,*/.page-header {
	    padding:25px 0 !important;
		p{font-size:0.78rem;}
	}
	.section-title,.contact-header {
		h2::after {bottom:15px;}
		p{font-size:0.8rem;text-align:left;padding:0 1rem;}

	}
	.merit-grid,.flow-grid,.download-grid,.contact-grid,.edu-steps {
		display:block !important;
		> div {margin-bottom:20px;}
		}
	.contact-card{
		p {padding:0 1rem;}
		.card-inner {padding:50px 10px;}
	}
	.recruit-message{padding-bottom:3rem !important;}
	.signature{display:grid !important;justify-content:center !important;}
	.message-box {padding:50px 1rem !important;}
	.profile-table th{width:5em;}
	.f-button {display:block;}

	.recruit-form-section{padding:0;}
	.support-wrap {
	    padding:20px 20px 10px;
		 > div {padding-bottom:12px;};
		.check-grid {padding:15px 2px;
		label{display:flex;gap:5px;line-height:1.4;}
		}
	}
	.support-table th {width:7em !important;padding:9px !important;}
	.flow-num {top:-13px !important;left:15px !important;}
	.main-footer{
		.footer-grid {
		    grid-template-columns:auto;margin-bottom:1rem;
			nav ul {display:grid;grid-template-columns:1fr 1fr;}
			.footer-info p{font-size:.8rem;}
			}
			.copyright {font-size:.8rem;}
		    .footer-sitemap-grid {justify-content: flex-start;}
		.footer-nav {
			.footer-sitemap-grid {display: grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));}
			}

	}
	.button-wrap{
		.send-button,.back-button {min-width:12em;}
	}
.breadcrumb-wrapper {transform: translateY(-5px);}
	
	/* モバイル電話ボタン */
	.btn-tel-circle {display:flex;align-items:center;justify-content:center;width:45px;height:45px;background:var(--primary-navy);color:#fff;border-radius:50%;font-size:1.2rem;margin-right:60px; /* ハンバーガーメニューとの重なり防止 */text-decoration:none;}
	/* ハンバーガーメニュー本体 */
	.global-nav {position:fixed;top:0;right:-100%; /* 初期状態は画面外 */width:80%;height:100vh;height:100svh;background:rgba(0, 51, 102, 0.95);padding-top:100px;transition:0.4s ease-in-out;z-index:1002;}
	.global-nav.active {right:0;}
	.global-nav ul {flex-direction:column;align-items:center;}
	.global-nav ul li {margin:20px 0;}
	.global-nav ul li a {color:#fff;font-size:1.2rem;}
	/* ハンバーガーアイコンの形 */
	.menu-toggle {display:block;position:absolute;right:20px;top:50%;transform:translateY(-50%);width:30px;height:24px;cursor:pointer;z-index:1003;}
	.menu-toggle span {display:block;width:100%;height:3px;background:var(--primary-navy);margin-bottom:6px;transition:0.3s;}
	/* 開いた時の「×」アニメーション */
	.menu-toggle.active span:nth-child(1) { transform:translateY(9px) rotate(45deg); background:#fff; }
	.menu-toggle.active span:nth-child(2) { opacity:0; }
	.menu-toggle.active span:nth-child(3) { transform:translateY(-9px) rotate(-45deg); background:#fff; }
}

/* スマホが横向きになった時だけに適用 */
@media screen and (orientation: landscape) and  (min-aspect-ratio: 16/9) and  (max-width: 1100px)  {

/*header*/
	.sp-only {
    display: block;
}
.pc-only {
    display: none;
}
    /* ヘッダーコンテナの調整 */
    .header-container {padding:5px 2px;height:7em;position:relative;}
	.main-header{
		.logo{display:flex;
		a {width:90px;}
		img{width:100%; height:auto;}}
		.small{font-size:.8rem;color:var(--text-sub);padding:2px 10px;}
		.mobile-contact{float:right;}
		.logo-wrap{width:260px;}

	}
	.main-header.page-index:not(.scrolled) {
		.small{color:var(--white);}
		.menu-toggle span {background:var(--white);}
		.btn-tel-circle {background:var(--white);color:var(--primary-navy);}
	}
	.main-header {padding:0;margin:0;}
	.main-header.scrolled {padding:0;top:-32px;height: 8.5em;}
.global-nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 80%;
    height: 100vh;
    height: 100svh;
    background: rgba(0, 51, 102, 0.95);
    padding-top: 100px;
    transition: 0.4s ease-in-out;
    z-index: 1002;
}
.global-nav.active {
    right: 0;
}
.global-nav ul li a {
    color: #fff;
    font-size: 1.2rem;
}
.btn-tel-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    background: var(--primary-navy);
    color: #fff;
    border-radius: 50%;
    font-size: 1.2rem;
    margin-right: 60px;
    text-decoration: none;
}
.menu-toggle {
    display: block;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 24px;
    cursor: pointer;
    z-index: 1003;
}
.menu-toggle span {
    display: block;
    width: 100%;
    height: 3px;
    background: var(--primary-navy);
    margin-bottom: 6px;
    transition: 0.3s;
}

	.menu-toggle.active span:nth-child(1) { transform:translateY(9px) rotate(45deg); background:#fff; }
	.menu-toggle.active span:nth-child(2) { opacity:0; }
	.menu-toggle.active span:nth-child(3) { transform:translateY(-9px) rotate(-45deg); background:#fff; }

/******************************************/
h2 {
    font-size: 1.5rem !important;
}
h3 {
    font-size: 1.1rem !important;
}
.btn{padding:12px;}
p{text-align: center;}
.container {padding-left:calc( env(safe-area-inset-left) + 10px);padding-right:calc( env(safe-area-inset-right) + 10px);font-size: 13px;text-size-adjust:100%;}
.global-nav ul {display: grid;grid-template-columns: 1fr 1fr 1fr;gap: 2vw;padding: 20px;justify-items: center;}
.breadcrumb-wrapper {transform: translateY(-45px);}
.breadcrumb-wrapper {transform: translate(83px, -86px);max-width: 18em;background: transparent;border: 0;}
.l-l {font-size: clamp(1.1rem, 2.8vw, 4rem);line-height: 1.2;word-break: break-all;overflow-wrap: anywhere;top:auto;bottom:7.5em;}
.l-m {font-size:14px;}
.btn-tel-circle,.menu-toggle {transform: translateY(-11px);}
.logo img{transform: scale(.7) translateY(6px);}
main {margin-top:6.5rem;}
.main-header.page-index:not(.scrolled) {
	.global-nav a, .header-tagline {font-size: 13px;}
	.btn-tel-circle {background: var(--white);color: var(--primary-navy);}
}

.main-header .logo-wrap {width:auto;}
.main-header.scrolled {height: 6em;}		
.main-header{height:7em;
.header-container{height:6em;}
	.small {font-size: 12px;padding: 3px 10px;line-height: 1;}
}
.media-grid {grid-template-columns: repeat(3, 1fr);}
.recruit-wrapper {flex-direction: row;}  
.partner-grid{gap:10px;flex-direction: column;}
.stats-row {gap:10px;grid-template-columns:repeat(auto-fit, minmax(149px, 1fr));width: 96vw;
	.stat-sub {min-height: 4em;}
}
.results-wrapper, .merit-grid, .flow-grid, .contact-grid, .edu-steps {display: flex !important;}
.main-footer{
	.footer-grid {grid-template-columns: 381px auto;}
	.footer-nav .footer-sitemap-grid {display: flex;}
	.footer-nav a {font-size: 1.5vw;}
	.copyright {font-size: 12px;}
}
.grid-2 {grid-template-columns: 1fr 1.2fr;}
.profile-table  {
	tbody{display: grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));}
	tr{display: flex;}
	th{width:8em !important;padding:10px !important;}
	td{padding:10px !important;}
}
.timeline-item .action {display: grid;gap: 1vw;grid-template-columns: 10em auto;}
.timeline-item {margin-bottom: 18px;}
.flow-grid{gap:5px !important;;display:grid !important;}
.check-grid{grid-template-columns:repeat(4, 1fr)}
.support-wrap .labelcheck {display: inline-block;margin: 10px;}
.support-wrap p{text-align:left;}

}
