@charset "utf-8";

/* ==========================================================================
   [AI EDITABLE: GLOBAL DESIGN SYSTEM / テーマ変数設定]
   --------------------------------------------------------------------------
   AI Editing Notes:
   - Fonts: Edit --primary-font, --secondary-font, --tertiary-font
   - Main Colors: Edit --primary-color (text), --secondary-color (bg/white), --blk-color, --grey-color
   - Accent Colors: Edit --accent-one-color ~ --accent-four-color
   - Muted/Borders: Edit --color-muted, --color-border
   ========================================================================== */
:root {
	--primary-font: "Zen Kaku Gothic New", sans-serif;
	--secondary-font: "Outfit", sans-serif !important;
	--tertiary-font: "Prompt", sans-serif;

	--blk-color: #000000;
	--grey-color: #F7F8F9;
	--primary-color: #434343;
	--secondary-color: #FFFFFF;
	--color-muted: #858585;
	--color-border: #D9D9D9;

	--accent-one-color: #c8496e;
	--accent-two-color: #f79fb5;
	--accent-three-color: #dc7a96;
	--accent-four-color: #CA868C;

	--accent-two-alpha: rgba(247, 159, 181, 0.5);
	--accent-three-alpha: rgba(220, 122, 150, 0.5);
	--accent-four-alpha: rgba(200, 73, 110, 0.5);

	--padding-regular: 10px;
	--padding-container: 20px;
	--padding-medium-container: 40px;
	--padding-big-container: 60px;

	--header-font: 2em;
	--sub-font: .875em;
	--paragraph-font: 1.125em;
}

@media (max-width: 768px) {
	:root {
		--header-font: 1.625em;
	}
}

@media (max-width: 500px) {
	:root {
		--header-font: 1.5em;
		--paragraph-font: 1em;
	}
}

/*----------------------------------------------
        Global Reset & Base / グローバルリセット・基本設定
---------------------------------------------*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
	/* 10px = 1rem */
}

body {
	position: relative;
	overflow-x: hidden;
	min-width: 100%;
	font-size: 1.6rem;
	font-family: var(--primary-font);
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.1rem;
	color: var(--primary-color);
	line-height: 1.3;
	transition: .3s;
}

a {
	text-decoration: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	-webkit-text-stroke: 0.1px transparent;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
}

li {
	list-style-type: none;
}