@charset "UTF-8";

@font-face {
	font-family: "Shippori Mincho B1";
	font-weight: bold;
	src: url(../font/ShipporiMinchoB1/ShipporiMinchoB1-Bold.ttf) format("truetype");
}

@font-face {
	font-family: "Yu Mincho";
	font-weight: bold;
	src: url(../font/YuMincho/YuMincho-DemiBold.ttf) format("truetype");
}

:root {
	--font-yogothic: Arial, "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	--font-shipporiminchob1: "Shippori Mincho B1";
	--font-yumincho: "Yu Mincho";
	--color-grey: #4A4A4A;
	--color-grey-light: #656565;
	--color-grey-lighter: #707070;
	--color-teal: #187E9B;
	--color-teal-lighter: #EDF1F2;
	--color-teal-lightest: #F3F8FA;

	--color-text: var(--color-grey);

	--scrollbar-color: black;
	--scrollbar-width: 5px;
}

html, body {
	color: var(--color-text);
	font-family: var(--font-yogothic) !important;
	font-weight: normal;
	height: 100%;
	margin: 0 !important;
	overflow-x: hidden;
	padding: 0;
	width: 100%;
}

h1, h2, h3, h4, h5, h6, p, div, span, i, b, strong, ul, ol, dl, li, dt, dd, table, tr, th, td, a {
	color: inherit;
}

a {
	text-decoration: none;
}

h1, h2, h3, h4, h5, h6, p {
	color: inherit;
	line-height: 1;
	margin-top: 0;
	margin-bottom: 0;
}

.u-scrollbar {
	scrollbar-color: var(--scrollbar-color) transparent;
	scrollbar-width: thin;
}

.u-scrollbar::-webkit-scrollbar {
	height: var(--scrollbar-width);
	width: var(--scrollbar-width);
}

.u-scrollbar::-webkit-scrollbar-track {
	background: transparent;
}

.u-scrollbar::-webkit-scrollbar-thumb {
	background-color: var(--scrollbar-color);
	border-radius: var(--scrollbar-width);
	border: var(--scrollbar-width) solid transparent;
}

.u-container {
	margin-left: auto;
	margin-right: auto;
	max-width: 1280px;
	width: 100%;
}

.u-common-title-wrapper {
	align-items: center;
	display: flex;
	justify-content: center;
}

.u-common-title,
.u-common-title:after {
	letter-spacing: .3em;
}

.u-common-title {
	position: relative;
	color: var(--color-teal);
	display: inline-block;
	font-family: var(--font-yumincho);
	font-weight: bold;
	text-orientation: upright;
	writing-mode: vertical-lr;
}

.u-common-title:after {
	position: absolute;
	top: 50%;
	left: 50%;
	color: var(--color-teal-lighter);
	content: attr(data-shadow-text);
	font-family: var(--font-shipporiminchob1);
	text-orientation: initial;
	transform: translate(-50%,-50%);
	white-space: nowrap;
	writing-mode: initial;
	z-index: -1;
}

.animation-hover-underline-left-in-right-out {
	position: relative;
}

.animation-hover-underline-left-in-right-out:after {
	position: absolute;
	top: 100%;
	background-color: var(--color-teal);
	content: "";
	height: 2px;
	transition: left 0s, right 0s, width .5s;
}

.animation-hover-underline-left-in-right-out:not(:hover):after {
	right: 0;
	width: 0;
}

.animation-hover-underline-left-in-right-out:hover:after {
	left: 0;
	width: 100%;
}

@media (min-width: 768px) {
	:root {
		--header-height: 100px;
	}

	body {
		font-size: 16px;
	}

	.u-under-768-only {
		display: none !important;
	}

	.u-container {
		padding-left: 30px;
		padding-right: 30px;
	}

	.u-common-title {
		font-size: 32px;
	}

	.u-common-title:after {
		font-size: 50px;
	}
}

@media (max-width: 767px) {
	:root {
		--header-height: 50px;
	}

	body {
		font-size: 14px;
	}

	.u-above-767-only {
		display: none !important;
	}

	.u-container {
		padding-left: 15px;
		padding-right: 15px;
	}

	.u-common-title {
		font-size: 22px;
	}

	.u-common-title:after {
		font-size: 30px;
	}
}
