/* ==========================================================================
   base.css  リセット & 変数 & タイポグラフィ
   ========================================================================== */

:root {
	/* カラー */
	--c-navy-deep: #0E1425;   /* フッター背景 */
	--c-navy: #12224B;        /* ヘッダー / セクション帯 */
	--c-navy-2b: #2B3540;     /* テキスト濃色 */
	--c-mint: #4BA8A0;        /* ミントブルー（アクセント） */
	--c-gold: #C1AB8A;        /* 金 / ゴールドベージュ */
	--c-line-green: #06C755;  /* LINE */
	--c-text: #2B3540;
	--c-text-sub: #4A5563;
	--c-white: #FFF;
	--c-bg-light: #D8E0E8;    /* NEWSセクション背景 */
	--c-bg-card: #ECEEF0;
	--c-bg-f5: #F5F7F8;
	--c-gray-work: #747474;   /* WORK FLOW背景 */
	--c-line: #A7A7A7;

	/* フォント */
	--font-base: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Meiryo, sans-serif;

	/* レイアウト基準（PC=1440px） */
	--pc-width: 1440px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	width: 100%;
	overflow-x: hidden;
}

body {
	margin: 0;
	font-family: var(--font-base);
	color: var(--c-text);
	background: var(--c-white);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	border: 0;
}

svg {
	vertical-align: bottom;
}

a {
	color: inherit;
	text-decoration: none;
	transition: opacity 0.25s ease, color 0.25s ease, background-color 0.25s ease;
}

a:hover {
	opacity: 0.85;
}

ul,
ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4, h5, h6, p, figure {
	margin: 0;
}

button {
	font-family: inherit;
	cursor: pointer;
	border: 0;
	background: transparent;
}

/* アクセシビリティ：スクリーンリーダー用 */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* PC基準のステージ。1440pxを基準に中央寄せ、それ以下は流動 */
.l-stage {
	width: 100%;
	max-width: var(--pc-width);
	margin-inline: auto;
	position: relative;
}

/* PC/SP 出し分け（改行 <br> などに使用）。SP切替は768px */
.is-sp-only { display: none; }
.is-pc-only { display: inline; }
@media (max-width: 768px) {
	.is-sp-only { display: inline; }
	.is-pc-only { display: none; }
}
