/* foundations */
@import './variables.css?v=2026o';

/* utilities */
@import './utilities.css?v=2026o';

/* components */
@import './components/about.css?v=2026o';
@import './components/achievement.css?v=2026o';
@import './components/annotations.css?v=2026o';
@import './components/case.css?v=2026o';
@import './components/choosing-reason.css?v=2026o';
@import './components/description.css?v=2026o';
@import './components/faq.css?v=2026o';
@import './components/footer.css?v=2026o';
@import './components/header.css?v=2026o';
@import './components/hero.css?v=2026o';
@import './components/inline-link.css?v=2026o';
@import './components/intro-pressrelease.css?v=2026o';
@import './components/media-partnership.css?v=2026o';
@import './components/middle-nav.css?v=2026o';
@import './components/outlined-link.css?v=2026o';
@import './components/primary-link.css?v=2026o';
@import './components/programs.css?v=2026o';
@import './components/seminar.css?v=2026o';
@import './components/sp-footer.css?v=2026o';
@import './components/sp-subheader.css?v=2026o';
@import './components/steps.css?v=2026o';


body {
	/* ブランド指定: 日本語見出し・本文 = Noto Sans JP */
	font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Helvetica Neue', Arial,
		'Hiragino Sans', Meiryo, sans-serif;
}

/* ===== モバイル: 長い見出しのはみ出し対策（Radio PRESS差し替え対応） ===== */
html, body { overflow-x: hidden; }
@media screen and (max-width: 640px) {
	/* 中間ナビ（紺帯）の長い見出し: 改行させず1行で自動縮小（22文字が収まるサイズ） */
	.c-middle-nav__top__left__text {
		white-space: nowrap;
		font-size: min(18px, 3.6vw) !important;
		line-height: 1.5 !important;
		letter-spacing: 0;
	}
	.c-simple-middle-nav__logo-group__text {
		white-space: nowrap;
		letter-spacing: 0;
	}
	.c-middle-nav__inner {
		width: auto !important;
		max-width: 340px;
		padding-inline: 16px;
	}
	/* CTAボタン2つの幅を文字数に依存させず同幅に統一 */
	.c-middle-nav__links > span,
	.c-simple-middle-nav__button-group > span {
		display: block;
		width: 100%;
		max-width: 320px;
		margin-inline: auto;
		text-align: center;
	}
	.c-middle-nav__button.--md {
		width: 100% !important;
		max-width: 320px;
	}
	/* 簡易ナビの見出し */
	.c-simple-middle-nav__logo-group__text {
		font-size: min(13px, 4vw) !important;
		line-height: 1.5 !important;
	}
	/* ヒーロー見出しの折り返し */
	.c-hero__top__left__text {
		overflow-wrap: anywhere;
	}
	/* ロゴ・画像は必ず枠内に収める */
	.c-middle-nav__top__left__logo,
	.c-simple-middle-nav img,
	.c-hero__top__left__logo {
		max-width: 100%;
		height: auto;
	}
	/* SVGロゴの固有幅(470px)がflexのmin-width:autoでbodyを押し広げるのを根絶 */
	.c-simple-middle-nav__logo-group {
		min-width: 0;
		max-width: 100%;
	}
	.c-simple-middle-nav img {
		width: 298px;
		max-width: 88vw;
	}
}

/* ===== モバイル: 中間ナビ/ヒーローの見出し・ロゴを中央寄せ ===== */
@media screen and (max-width: 640px) {
	.c-middle-nav__top,
	.c-middle-nav__top__left,
	.c-middle-nav__top__left__text {
		text-align: center;
	}
	.c-middle-nav__top__left__logo {
		display: block;
		margin-inline: auto;
	}
	.c-middle-nav__top__right {
		align-items: center !important;
	}
	.c-middle-nav__top__right__img {
		margin-inline: auto;
	}
	/* 簡易ナビも中央 */
	.c-simple-middle-nav__logo-group {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
}
