@charset "UTF-8";

/*
  Made by Elly Loel - https://ellyloel.com/
*/
* {
	margin: 0;
	padding: 0;
	word-break: normal;
}

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

*:where(:not(fieldset, progress, meter)) {
	border-width: 0;
	background-origin: border-box;
}

:where(img, svg, video) {
	max-width: 100%;
	height: auto;
}

:where(svg):where(:not([fill])) {
	stroke: none;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

:where(svg):where(:not([width])) {
	inline-size: 5rem;
}

:where(input, button, textarea, select),
:where(input[type="file"])::-webkit-file-upload-button {
	font: inherit;
	font-size: inherit;
	color: inherit;
	letter-spacing: inherit;
}

:where(textarea) {
	resize: vertical;
}

@supports (resize: block) {
	:where(textarea) {
		resize: block;
	}
}

:where(p, h1, h2, h3, h4, h5, h6) {
	overflow-wrap: break-word;
}

:where(ul, ol)[role="list"] {
	list-style: none;
}

a:not([class]) {
	text-decoration-skip-ink: auto;
}

:where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
	cursor: pointer;
	touch-action: manipulation;
}

:where(input[type="file"]) {
	cursor: auto;
}

:where(input[type="file"])::-webkit-file-upload-button,
:where(input[type="file"])::file-selector-button {
	cursor: pointer;
}

@media (prefers-reduced-motion: no-preference) {
	:focus-visible {
		transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
	}

	:where(:not(:active)):focus-visible {
		transition-duration: 0.25s;
	}
}

:where(:not(:active)):focus-visible {
	outline-offset: 5px;
}

:where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"]),
:where(input[type="file"])::-webkit-file-upload-button,
:where(input[type="file"])::file-selector-button {
	user-select: none;
	text-align: center;
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
}

:where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"])[disabled] {
	cursor: not-allowed;
}

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

ul {
	list-style: none;
}

/*================================================================
# レイアウト?背景
================================================================ */
html {
	width: 100%;
	max-width: 100%;
	font-size: calc(10px + 2 * (100vw - 1280px) / 400);
	-webkit-text-size-adjust: none;
}

@media screen and (min-width: 1600px) {
	html {
		font-size: calc(10px + 2 * (100vw - 1600px) / 400);
	}
}

@media screen and (max-width: 559px) {
	html {
		font-size: calc(10px + 8 * (100vw - 414px) / 649);
	}
}

body {
	width: 100%;
	min-width: 128rem;
	max-width: 100%;
	font-family: 'Noto Sans JP', '游ゴシック体', YuGothic, '游ゴシック Medium', Yu Gothic Medium, '游ゴシック', Yu Gothic, 'メイリオ', Meiryo, sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.618;
	color: var(--black);
	letter-spacing: 0;
	word-wrap: break-word;
	word-break: break-all;
	font-feature-settings: "palt" 1;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeSpeed;
	min-block-size: 100%;
	-webkit-text-size-adjust: none;
	line-break: strict;
	overflow-wrap: break-word;
}

@media screen and (max-width: 1279px) {
	body {
		min-width: 100%;
	}
}

.wrap {
	width: calc(100% - 10rem);
	max-width: 1180px;
	margin: auto;
	position: relative;
}

@media screen and (max-width: 559px) {
	.wrap {
		width: calc(100% - 4.8rem);
	}
}

/*================================================================
# リスト
================================================================ */
.list-info {
	margin: 1.6rem 0 0;
}

.list-info li {
	padding-left: 1.5em;
	display: block;
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', Yu Gothic Medium, '游ゴシック', Yu Gothic, 'メイリオ', Meiryo, sans-serif;
	font-size: 1.2rem;
	color: var(--black);
	text-align: left;
	text-indent: -1em;
	letter-spacing: .05em;
}

.list-info li:last-child {
	margin-bottom: 0;
}

.list-info li::before {
	width: 1em;
	margin-right: 1em;
	margin-left: -1em;
	padding: 0;
	content: "※";
	display: block;
	float: left;
	text-align: center;
}

/*================================================================
# 画像
================================================================ */
svg,
img,
iframe {
	max-width: 100%;
	border: 0;
	vertical-align: bottom;
}

@media screen and (max-width: 559px) {
	.scroll-img {
		margin-right: calc(50% - 50vw) !important;
		margin-left: calc(50% - 50vw) !important;
		position: relative;
	}

	.scroll-img:after {
		opacity: 0.5;
		position: absolute;
		content: "※横にスクロールしてください";
		bottom: -1.6rem;
		left: 1.6rem;
		font-size: 1.2rem;
		color: var(--black);
	}

	.scroll-img__img {
		padding: 0 1.6rem 1.6rem;
		position: relative;
		overflow-x: scroll;
		overflow-y: hidden;
		white-space: nowrap;
	}

	.scroll-img__img img {
		max-width: 80rem;
	}
}

/*================================================================
# フォント設定
================================================================ */
a {
	font-family: inherit;
	color: inherit;
	text-decoration: none;
}

a:hover {
	cursor: pointer;
}

@media screen and (min-width: 560px) {
	a[href^="tel:"] {
		pointer-events: none;
		text-decoration: none;
	}
}

em,
i {
	font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	line-height: 1.618;
}

/*================================================================
# テーブル
================================================================ */
@media screen and (max-width: 559px) {
	.scroll-table {
		margin: 0 calc(50% - 50vw) 2.4rem;
		padding: 2.4rem;
		overflow: auto;
		white-space: nowrap;
	}

	.scroll-table:after {
		content: "※このテーブルは横にスクロールできます。";
		font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
		font-size: 1.4rem;
	}
}

/*================================================================
# 表示?非表示
================================================================ */
@media screen and (max-width: 560px) {
	.pc {
		display: none !important;
	}
}

@media screen and (min-width: 561px) {
	.sp {
		display: none !important;
	}
}

/*================================================================
# gmap
================================================================ */
.gmap {
	height: 0;
	padding-bottom: 64%;
	cursor: pointer;
	position: relative;
	overflow: hidden;
}

@media screen and (max-width: 560px) {
	.gmap {
		padding-bottom: 100%;
	}
}

.gmap iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/*================================================================
# youtube
================================================================ */
.youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.youtube iframe {
	width: 100%;
	height: 100%;
}

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

テーマ

------------------------*/
:root {
	--white: #fff;
	--black: #333;
	--primary: #f19ca7;
	--secondary: #97bdca;
	--tertiary: #94adda;
	--quaternary: #c7a5cc;
	--red: #d52b15;
	--gray01: #d8d8d8;
	--gray02: #f7f6f5;
	--gray03: #6a6a6a;
	--bg01: #fff;
	--bg02: #f8f1e9;
	--bg03: #edebf2;
	--border01: #cfcfcf;
	--mincho: "Noto Serif JP", serif;
}