@charset "UTF-8";

/* ==== font size Utilities (1.6rem = 16px) ==== */
:root {
	--fs-12: 1.2rem;
	--fs-14: 1.4rem;
	--fs-16: 1.6rem;
	--fs-18: 1.8rem;
	--fs-20: 2.0rem;
	--fs-22: 2.2rem;
	--fs-24: 2.4rem;
	--fs-26: 2.6rem;
	--fs-28: 2.8rem;
	--fs-30: 3.0rem;
	--fs-32: 3.2rem;
	--fs-34: 3.4rem;
	--fs-36: 3.6rem;
	--fs-38: 3.8rem;
	--fs-40: 4.0rem;
	--fs-42: 4.2rem;
	--fs-44: 4.4rem;
	--fs-46: 4.6rem;
}

.fs-12 { font-size: var(--fs-12); }
.fs-14 { font-size: var(--fs-14); }
.fs-16 { font-size: var(--fs-16); }
.fs-18 { font-size: var(--fs-18); }
.fs-20 { font-size: var(--fs-20); }
.fs-22 { font-size: var(--fs-22); }
.fs-24 { font-size: var(--fs-24); }
.fs-26 { font-size: var(--fs-26); }
.fs-28 { font-size: var(--fs-28); }
.fs-30 { font-size: var(--fs-30); }
.fs-32 { font-size: var(--fs-32); }
.fs-34 { font-size: var(--fs-34); }
.fs-36 { font-size: var(--fs-36); }
.fs-38 { font-size: var(--fs-38); }
.fs-40 { font-size: var(--fs-40); }
.fs-42 { font-size: var(--fs-42); }
.fs-44 { font-size: var(--fs-44); }
.fs-46 { font-size: var(--fs-46); }

/* ==== Spacing Utilities (4px - 100px, 1rem = 10px) ==== */
.u-m-4 { margin:0.4rem; }
.u-m-8 { margin:0.8rem; }
.u-m-12 { margin:1.2rem; }
.u-m-16 { margin:1.6rem; }
.u-m-20 { margin:2.0rem; }
.u-m-24 { margin:2.4rem; }
.u-m-28 { margin:2.8rem; }
.u-m-32 { margin:3.2rem; }
.u-m-36 { margin:3.6rem; }
.u-m-40 { margin:4.0rem; }
.u-m-44 { margin:4.4rem; }
.u-m-48 { margin:4.8rem; }
.u-m-52 { margin:5.2rem; }
.u-m-56 { margin:5.6rem; }
.u-m-60 { margin:6.0rem; }
.u-m-64 { margin:6.4rem; }
.u-m-68 { margin:6.8rem; }
.u-m-72 { margin:7.2rem; }
.u-m-76 { margin:7.6rem; }
.u-m-80 { margin:8.0rem; }
.u-m-84 { margin:8.4rem; }
.u-m-88 { margin:8.8rem; }
.u-m-92 { margin:9.2rem; }
.u-m-96 { margin:9.6rem; }
.u-m-100 { margin:10.0rem; }
.u-mt-4 { margin-top:0.4rem; }
.u-mt-8 { margin-top:0.8rem; }
.u-mt-12 { margin-top:1.2rem; }
.u-mt-16 { margin-top:1.6rem; }
.u-mt-20 { margin-top:2.0rem; }
.u-mt-24 { margin-top:2.4rem; }
.u-mt-28 { margin-top:2.8rem; }
.u-mt-32 { margin-top:3.2rem; }
.u-mt-36 { margin-top:3.6rem; }
.u-mt-40 { margin-top:4.0rem; }
.u-mt-44 { margin-top:4.4rem; }
.u-mt-48 { margin-top:4.8rem; }
.u-mt-52 { margin-top:5.2rem; }
.u-mt-56 { margin-top:5.6rem; }
.u-mt-60 { margin-top:6.0rem; }
.u-mt-64 { margin-top:6.4rem; }
.u-mt-68 { margin-top:6.8rem; }
.u-mt-72 { margin-top:7.2rem; }
.u-mt-76 { margin-top:7.6rem; }
.u-mt-80 { margin-top:8.0rem; }
.u-mt-84 { margin-top:8.4rem; }
.u-mt-88 { margin-top:8.8rem; }
.u-mt-92 { margin-top:9.2rem; }
.u-mt-96 { margin-top:9.6rem; }
.u-mt-100 { margin-top:10.0rem; }
.u-mr-4 { margin-right:0.4rem; }
.u-mr-8 { margin-right:0.8rem; }
.u-mr-12 { margin-right:1.2rem; }
.u-mr-16 { margin-right:1.6rem; }
.u-mr-20 { margin-right:2.0rem; }
.u-mr-24 { margin-right:2.4rem; }
.u-mr-28 { margin-right:2.8rem; }
.u-mr-32 { margin-right:3.2rem; }
.u-mr-36 { margin-right:3.6rem; }
.u-mr-40 { margin-right:4.0rem; }
.u-mr-44 { margin-right:4.4rem; }
.u-mr-48 { margin-right:4.8rem; }
.u-mr-52 { margin-right:5.2rem; }
.u-mr-56 { margin-right:5.6rem; }
.u-mr-60 { margin-right:6.0rem; }
.u-mr-64 { margin-right:6.4rem; }
.u-mr-68 { margin-right:6.8rem; }
.u-mr-72 { margin-right:7.2rem; }
.u-mr-76 { margin-right:7.6rem; }
.u-mr-80 { margin-right:8.0rem; }
.u-mr-84 { margin-right:8.4rem; }
.u-mr-88 { margin-right:8.8rem; }
.u-mr-92 { margin-right:9.2rem; }
.u-mr-96 { margin-right:9.6rem; }
.u-mr-100 { margin-right:10.0rem; }
.u-mb-4 { margin-bottom:0.4rem; }
.u-mb-8 { margin-bottom:0.8rem; }
.u-mb-12 { margin-bottom:1.2rem; }
.u-mb-16 { margin-bottom:1.6rem; }
.u-mb-20 { margin-bottom:2.0rem; }
.u-mb-24 { margin-bottom:2.4rem; }
.u-mb-28 { margin-bottom:2.8rem; }
.u-mb-32 { margin-bottom:3.2rem; }
.u-mb-36 { margin-bottom:3.6rem; }
.u-mb-40 { margin-bottom:4.0rem; }
.u-mb-44 { margin-bottom:4.4rem; }
.u-mb-48 { margin-bottom:4.8rem; }
.u-mb-52 { margin-bottom:5.2rem; }
.u-mb-56 { margin-bottom:5.6rem; }
.u-mb-60 { margin-bottom:6.0rem; }
.u-mb-64 { margin-bottom:6.4rem; }
.u-mb-68 { margin-bottom:6.8rem; }
.u-mb-72 { margin-bottom:7.2rem; }
.u-mb-76 { margin-bottom:7.6rem; }
.u-mb-80 { margin-bottom:8.0rem; }
.u-mb-84 { margin-bottom:8.4rem; }
.u-mb-88 { margin-bottom:8.8rem; }
.u-mb-92 { margin-bottom:9.2rem; }
.u-mb-96 { margin-bottom:9.6rem; }
.u-mb-100 { margin-bottom:10.0rem; }
.u-ml-4 { margin-left:0.4rem; }
.u-ml-8 { margin-left:0.8rem; }
.u-ml-12 { margin-left:1.2rem; }
.u-ml-16 { margin-left:1.6rem; }
.u-ml-20 { margin-left:2.0rem; }
.u-ml-24 { margin-left:2.4rem; }
.u-ml-28 { margin-left:2.8rem; }
.u-ml-32 { margin-left:3.2rem; }
.u-ml-36 { margin-left:3.6rem; }
.u-ml-40 { margin-left:4.0rem; }
.u-ml-44 { margin-left:4.4rem; }
.u-ml-48 { margin-left:4.8rem; }
.u-ml-52 { margin-left:5.2rem; }
.u-ml-56 { margin-left:5.6rem; }
.u-ml-60 { margin-left:6.0rem; }
.u-ml-64 { margin-left:6.4rem; }
.u-ml-68 { margin-left:6.8rem; }
.u-ml-72 { margin-left:7.2rem; }
.u-ml-76 { margin-left:7.6rem; }
.u-ml-80 { margin-left:8.0rem; }
.u-ml-84 { margin-left:8.4rem; }
.u-ml-88 { margin-left:8.8rem; }
.u-ml-92 { margin-left:9.2rem; }
.u-ml-96 { margin-left:9.6rem; }
.u-ml-100 { margin-left:10.0rem; }
.u-mx-4 { margin-left:0.4rem; margin-right:0.4rem; }
.u-mx-8 { margin-left:0.8rem; margin-right:0.8rem; }
.u-mx-12 { margin-left:1.2rem; margin-right:1.2rem; }
.u-mx-16 { margin-left:1.6rem; margin-right:1.6rem; }
.u-mx-20 { margin-left:2.0rem; margin-right:2.0rem; }
.u-mx-24 { margin-left:2.4rem; margin-right:2.4rem; }
.u-mx-28 { margin-left:2.8rem; margin-right:2.8rem; }
.u-mx-32 { margin-left:3.2rem; margin-right:3.2rem; }
.u-mx-36 { margin-left:3.6rem; margin-right:3.6rem; }
.u-mx-40 { margin-left:4.0rem; margin-right:4.0rem; }
.u-mx-44 { margin-left:4.4rem; margin-right:4.4rem; }
.u-mx-48 { margin-left:4.8rem; margin-right:4.8rem; }
.u-mx-52 { margin-left:5.2rem; margin-right:5.2rem; }
.u-mx-56 { margin-left:5.6rem; margin-right:5.6rem; }
.u-mx-60 { margin-left:6.0rem; margin-right:6.0rem; }
.u-mx-64 { margin-left:6.4rem; margin-right:6.4rem; }
.u-mx-68 { margin-left:6.8rem; margin-right:6.8rem; }
.u-mx-72 { margin-left:7.2rem; margin-right:7.2rem; }
.u-mx-76 { margin-left:7.6rem; margin-right:7.6rem; }
.u-mx-80 { margin-left:8.0rem; margin-right:8.0rem; }
.u-mx-84 { margin-left:8.4rem; margin-right:8.4rem; }
.u-mx-88 { margin-left:8.8rem; margin-right:8.8rem; }
.u-mx-92 { margin-left:9.2rem; margin-right:9.2rem; }
.u-mx-96 { margin-left:9.6rem; margin-right:9.6rem; }
.u-mx-100 { margin-left:10.0rem; margin-right:10.0rem; }
.u-my-4 { margin-top:0.4rem; margin-bottom:0.4rem; }
.u-my-8 { margin-top:0.8rem; margin-bottom:0.8rem; }
.u-my-12 { margin-top:1.2rem; margin-bottom:1.2rem; }
.u-my-16 { margin-top:1.6rem; margin-bottom:1.6rem; }
.u-my-20 { margin-top:2.0rem; margin-bottom:2.0rem; }
.u-my-24 { margin-top:2.4rem; margin-bottom:2.4rem; }
.u-my-28 { margin-top:2.8rem; margin-bottom:2.8rem; }
.u-my-32 { margin-top:3.2rem; margin-bottom:3.2rem; }
.u-my-36 { margin-top:3.6rem; margin-bottom:3.6rem; }
.u-my-40 { margin-top:4.0rem; margin-bottom:4.0rem; }
.u-my-44 { margin-top:4.4rem; margin-bottom:4.4rem; }
.u-my-48 { margin-top:4.8rem; margin-bottom:4.8rem; }
.u-my-52 { margin-top:5.2rem; margin-bottom:5.2rem; }
.u-my-56 { margin-top:5.6rem; margin-bottom:5.6rem; }
.u-my-60 { margin-top:6.0rem; margin-bottom:6.0rem; }
.u-my-64 { margin-top:6.4rem; margin-bottom:6.4rem; }
.u-my-68 { margin-top:6.8rem; margin-bottom:6.8rem; }
.u-my-72 { margin-top:7.2rem; margin-bottom:7.2rem; }
.u-my-76 { margin-top:7.6rem; margin-bottom:7.6rem; }
.u-my-80 { margin-top:8.0rem; margin-bottom:8.0rem; }
.u-my-84 { margin-top:8.4rem; margin-bottom:8.4rem; }
.u-my-88 { margin-top:8.8rem; margin-bottom:8.8rem; }
.u-my-92 { margin-top:9.2rem; margin-bottom:9.2rem; }
.u-my-96 { margin-top:9.6rem; margin-bottom:9.6rem; }
.u-my-100 { margin-top:10.0rem; margin-bottom:10.0rem; }
.u-p-4 { padding:0.4rem; }
.u-p-8 { padding:0.8rem; }
.u-p-12 { padding:1.2rem; }
.u-p-16 { padding:1.6rem; }
.u-p-20 { padding:2.0rem; }
.u-p-24 { padding:2.4rem; }
.u-p-28 { padding:2.8rem; }
.u-p-32 { padding:3.2rem; }
.u-p-36 { padding:3.6rem; }
.u-p-40 { padding:4.0rem; }
.u-p-44 { padding:4.4rem; }
.u-p-48 { padding:4.8rem; }
.u-p-52 { padding:5.2rem; }
.u-p-56 { padding:5.6rem; }
.u-p-60 { padding:6.0rem; }
.u-p-64 { padding:6.4rem; }
.u-p-68 { padding:6.8rem; }
.u-p-72 { padding:7.2rem; }
.u-p-76 { padding:7.6rem; }
.u-p-80 { padding:8.0rem; }
.u-p-84 { padding:8.4rem; }
.u-p-88 { padding:8.8rem; }
.u-p-92 { padding:9.2rem; }
.u-p-96 { padding:9.6rem; }
.u-p-100 { padding:10.0rem; }
.u-pt-4 { padding-top:0.4rem; }
.u-pt-8 { padding-top:0.8rem; }
.u-pt-12 { padding-top:1.2rem; }
.u-pt-16 { padding-top:1.6rem; }
.u-pt-20 { padding-top:2.0rem; }
.u-pt-24 { padding-top:2.4rem; }
.u-pt-28 { padding-top:2.8rem; }
.u-pt-32 { padding-top:3.2rem; }
.u-pt-36 { padding-top:3.6rem; }
.u-pt-40 { padding-top:4.0rem; }
.u-pt-44 { padding-top:4.4rem; }
.u-pt-48 { padding-top:4.8rem; }
.u-pt-52 { padding-top:5.2rem; }
.u-pt-56 { padding-top:5.6rem; }
.u-pt-60 { padding-top:6.0rem; }
.u-pt-64 { padding-top:6.4rem; }
.u-pt-68 { padding-top:6.8rem; }
.u-pt-72 { padding-top:7.2rem; }
.u-pt-76 { padding-top:7.6rem; }
.u-pt-80 { padding-top:8.0rem; }
.u-pt-84 { padding-top:8.4rem; }
.u-pt-88 { padding-top:8.8rem; }
.u-pt-92 { padding-top:9.2rem; }
.u-pt-96 { padding-top:9.6rem; }
.u-pt-100 { padding-top:10.0rem; }
.u-pr-4 { padding-right:0.4rem; }
.u-pr-8 { padding-right:0.8rem; }
.u-pr-12 { padding-right:1.2rem; }
.u-pr-16 { padding-right:1.6rem; }
.u-pr-20 { padding-right:2.0rem; }
.u-pr-24 { padding-right:2.4rem; }
.u-pr-28 { padding-right:2.8rem; }
.u-pr-32 { padding-right:3.2rem; }
.u-pr-36 { padding-right:3.6rem; }
.u-pr-40 { padding-right:4.0rem; }
.u-pr-44 { padding-right:4.4rem; }
.u-pr-48 { padding-right:4.8rem; }
.u-pr-52 { padding-right:5.2rem; }
.u-pr-56 { padding-right:5.6rem; }
.u-pr-60 { padding-right:6.0rem; }
.u-pr-64 { padding-right:6.4rem; }
.u-pr-68 { padding-right:6.8rem; }
.u-pr-72 { padding-right:7.2rem; }
.u-pr-76 { padding-right:7.6rem; }
.u-pr-80 { padding-right:8.0rem; }
.u-pr-84 { padding-right:8.4rem; }
.u-pr-88 { padding-right:8.8rem; }
.u-pr-92 { padding-right:9.2rem; }
.u-pr-96 { padding-right:9.6rem; }
.u-pr-100 { padding-right:10.0rem; }
.u-pb-4 { padding-bottom:0.4rem; }
.u-pb-8 { padding-bottom:0.8rem; }
.u-pb-12 { padding-bottom:1.2rem; }
.u-pb-16 { padding-bottom:1.6rem; }
.u-pb-20 { padding-bottom:2.0rem; }
.u-pb-24 { padding-bottom:2.4rem; }
.u-pb-28 { padding-bottom:2.8rem; }
.u-pb-32 { padding-bottom:3.2rem; }
.u-pb-36 { padding-bottom:3.6rem; }
.u-pb-40 { padding-bottom:4.0rem; }
.u-pb-44 { padding-bottom:4.4rem; }
.u-pb-48 { padding-bottom:4.8rem; }
.u-pb-52 { padding-bottom:5.2rem; }
.u-pb-56 { padding-bottom:5.6rem; }
.u-pb-60 { padding-bottom:6.0rem; }
.u-pb-64 { padding-bottom:6.4rem; }
.u-pb-68 { padding-bottom:6.8rem; }
.u-pb-72 { padding-bottom:7.2rem; }
.u-pb-76 { padding-bottom:7.6rem; }
.u-pb-80 { padding-bottom:8.0rem; }
.u-pb-84 { padding-bottom:8.4rem; }
.u-pb-88 { padding-bottom:8.8rem; }
.u-pb-92 { padding-bottom:9.2rem; }
.u-pb-96 { padding-bottom:9.6rem; }
.u-pb-100 { padding-bottom:10.0rem; }
.u-pl-4 { padding-left:0.4rem; }
.u-pl-8 { padding-left:0.8rem; }
.u-pl-12 { padding-left:1.2rem; }
.u-pl-16 { padding-left:1.6rem; }
.u-pl-20 { padding-left:2.0rem; }
.u-pl-24 { padding-left:2.4rem; }
.u-pl-28 { padding-left:2.8rem; }
.u-pl-32 { padding-left:3.2rem; }
.u-pl-36 { padding-left:3.6rem; }
.u-pl-40 { padding-left:4.0rem; }
.u-pl-44 { padding-left:4.4rem; }
.u-pl-48 { padding-left:4.8rem; }
.u-pl-52 { padding-left:5.2rem; }
.u-pl-56 { padding-left:5.6rem; }
.u-pl-60 { padding-left:6.0rem; }
.u-pl-64 { padding-left:6.4rem; }
.u-pl-68 { padding-left:6.8rem; }
.u-pl-72 { padding-left:7.2rem; }
.u-pl-76 { padding-left:7.6rem; }
.u-pl-80 { padding-left:8.0rem; }
.u-pl-84 { padding-left:8.4rem; }
.u-pl-88 { padding-left:8.8rem; }
.u-pl-92 { padding-left:9.2rem; }
.u-pl-96 { padding-left:9.6rem; }
.u-pl-100 { padding-left:10.0rem; }
.u-px-4 { padding-left:0.4rem; padding-right:0.4rem; }
.u-px-8 { padding-left:0.8rem; padding-right:0.8rem; }
.u-px-12 { padding-left:1.2rem; padding-right:1.2rem; }
.u-px-16 { padding-left:1.6rem; padding-right:1.6rem; }
.u-px-20 { padding-left:2.0rem; padding-right:2.0rem; }
.u-px-24 { padding-left:2.4rem; padding-right:2.4rem; }
.u-px-28 { padding-left:2.8rem; padding-right:2.8rem; }
.u-px-32 { padding-left:3.2rem; padding-right:3.2rem; }
.u-px-36 { padding-left:3.6rem; padding-right:3.6rem; }
.u-px-40 { padding-left:4.0rem; padding-right:4.0rem; }
.u-px-44 { padding-left:4.4rem; padding-right:4.4rem; }
.u-px-48 { padding-left:4.8rem; padding-right:4.8rem; }
.u-px-52 { padding-left:5.2rem; padding-right:5.2rem; }
.u-px-56 { padding-left:5.6rem; padding-right:5.6rem; }
.u-px-60 { padding-left:6.0rem; padding-right:6.0rem; }
.u-px-64 { padding-left:6.4rem; padding-right:6.4rem; }
.u-px-68 { padding-left:6.8rem; padding-right:6.8rem; }
.u-px-72 { padding-left:7.2rem; padding-right:7.2rem; }
.u-px-76 { padding-left:7.6rem; padding-right:7.6rem; }
.u-px-80 { padding-left:8.0rem; padding-right:8.0rem; }
.u-px-84 { padding-left:8.4rem; padding-right:8.4rem; }
.u-px-88 { padding-left:8.8rem; padding-right:8.8rem; }
.u-px-92 { padding-left:9.2rem; padding-right:9.2rem; }
.u-px-96 { padding-left:9.6rem; padding-right:9.6rem; }
.u-px-100 { padding-left:10.0rem; padding-right:10.0rem; }
.u-py-4 { padding-top:0.4rem; padding-bottom:0.4rem; }
.u-py-8 { padding-top:0.8rem; padding-bottom:0.8rem; }
.u-py-12 { padding-top:1.2rem; padding-bottom:1.2rem; }
.u-py-16 { padding-top:1.6rem; padding-bottom:1.6rem; }
.u-py-20 { padding-top:2.0rem; padding-bottom:2.0rem; }
.u-py-24 { padding-top:2.4rem; padding-bottom:2.4rem; }
.u-py-28 { padding-top:2.8rem; padding-bottom:2.8rem; }
.u-py-32 { padding-top:3.2rem; padding-bottom:3.2rem; }
.u-py-36 { padding-top:3.6rem; padding-bottom:3.6rem; }
.u-py-40 { padding-top:4.0rem; padding-bottom:4.0rem; }
.u-py-44 { padding-top:4.4rem; padding-bottom:4.4rem; }
.u-py-48 { padding-top:4.8rem; padding-bottom:4.8rem; }
.u-py-52 { padding-top:5.2rem; padding-bottom:5.2rem; }
.u-py-56 { padding-top:5.6rem; padding-bottom:5.6rem; }
.u-py-60 { padding-top:6.0rem; padding-bottom:6.0rem; }
.u-py-64 { padding-top:6.4rem; padding-bottom:6.4rem; }
.u-py-68 { padding-top:6.8rem; padding-bottom:6.8rem; }
.u-py-72 { padding-top:7.2rem; padding-bottom:7.2rem; }
.u-py-76 { padding-top:7.6rem; padding-bottom:7.6rem; }
.u-py-80 { padding-top:8.0rem; padding-bottom:8.0rem; }
.u-py-84 { padding-top:8.4rem; padding-bottom:8.4rem; }
.u-py-88 { padding-top:8.8rem; padding-bottom:8.8rem; }
.u-py-92 { padding-top:9.2rem; padding-bottom:9.2rem; }
.u-py-96 { padding-top:9.6rem; padding-bottom:9.6rem; }
.u-py-100 { padding-top:10.0rem; padding-bottom:10.0rem; }

/* -----------------------------------------------

  = Block（単一）

----------------------------------------------- */
.text--center {
	text-align: center;
}
.text--left {
	text-align: left;
}
.text--right {
	text-align: right;
}
.borderline--bottom {
	border-bottom: 1px solid #ddd;
}
/* -----------------------------------------------

  = flex / grid

----------------------------------------------- */
.flex {
	display: flex;
}
.flex--gap-md {
	gap: var(--spacing-md);
}
.flex--gap-lg {
	gap: var(--spacing-lg);
}
.flex--column {
	flex-direction: column !important;
}
.flex__fixed {
	flex: 1 1 0%;
}
.justify--center {
	justify-content: center;
}
.items--center {
	align-items: center;
}
.grid {
	display: grid;
}
.grid--2col {
	grid-template-columns: repeat(2, 1fr);
}
.grid--3col {
	grid-template-columns: repeat(3, 1fr);
}
.grid--4col {
	grid-template-columns: repeat(4, 1fr);
}
.grid--gap {
	gap: var(--spacing-md);
}
/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.flex--2col .flex__item {
		width: calc(100% / 2);
	}
	.flex--3col .flex__item {
		width: calc(100% / 3);
	}
	.flex--column-pc {
		flex-direction: column !important;
	}
}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.flex--column-sm {
		flex-direction: column !important;
	}
	.grid--1col-sm {
		grid-template-columns: 1fr !important;
	}
}