@charset "UTF-8";
/* 
 ベーススタイル
 （リセットはBootstrapのRebootを使用）
 ========================================= */
html {
	-webkit-text-size-adjust: 100%;
	   -moz-text-size-adjust: 100%;
	        text-size-adjust: 100%;
	cursor: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANBJREFUeNrUl0sKgDAMRI1k7/2P6QniBxQpkabNjJ+Am1Jw8pJMWzGzoYxJ5FyczWQgxljbcBXzigB2hARsFFgk/kGASaIqYJ2C/ftUEyJJhAV4JBAimgmgS5Kegmw5ugWgSMB8oJdEWkCWAtwJW0lABNyNaEQIlEBPY9IPoxoFioAWEgrKMkTBu969fh/QTLYIJ1RC/YUyBVvmZa292sONyPtxmWXmYFIm3qfuA6lSaG/mx1rxjAv5wr/eBezHKcwHWrBfQwzgZl6zRcktAgwA5BRzvVLcmt4AAAAASUVORK5CYII=), auto;
}

body {
	position: relative;
	background-color: #fff;
	color: #212529;
	font-size: 16px;
	font-family: "M PLUS 1", "SF Pro", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", "Helvetica", sans-serif;
	font-weight: 400;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
@media (max-width: 767.98px) {
	body {
		font-size: 16px;
	}
}
@media (max-width: 767.98px) {
	body.nav-open {
		height: 100%;
		overflow: hidden;
	}
	body.nav-open::after {
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100vh;
	}
}

@media (prefers-reduced-motion: no-preference) {
	:root {
		scroll-behavior: auto;
	}
}
h6, h5, h4, h3, h2, h1 {
	margin-top: 0;
	margin-bottom: 0.5rem;
	font-weight: 500;
	line-height: 1.2;
}

h1, .h1 {
	font-size: calc(1.375rem + 1.5vw);
	font-weight: 500;
}
@media (min-width: 1200px) {
	h1, .h1 {
		font-size: 2.5rem;
	}
}

h2, .h2 {
	font-size: calc(1.3rem + 0.9vw);
	font-weight: 500;
}
@media (min-width: 1200px) {
	h2, .h2 {
		font-size: 2.25rem;
	}
}

h3, .h3 {
	font-size: calc(1.275rem + 0.6vw);
	font-weight: 700;
}
@media (min-width: 1200px) {
	h3, .h3 {
		font-size: 1.75rem;
	}
}

h4, .h4 {
	font-size: calc(1.25rem + 0.3vw);
}
@media (min-width: 1200px) {
	h4, .h4 {
		font-size: 1.5rem;
	}
}

a {
	color: #3b8e90;
}
a:hover {
	color: #3b8e90;
}
.is-dark a {
	color: #7fffd4;
}

p {
	margin-top: 0;
	margin-bottom: 1.5rem;
}

address {
	margin-bottom: 1.5rem;
}

ol,
ul {
	padding-left: 1.5rem;
}

ol,
ul,
dl {
	margin-top: 0;
	margin-bottom: 1.5rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
	margin-bottom: 0;
}

dt {
	font-weight: 700;
}

dd {
	margin-bottom: 0.5rem;
}

blockquote {
	margin: 0 0 1rem;
}

strong {
	font-weight: 700;
}

small {
	font-size: 0.875em;
}

mark {
	padding: 0.2em;
	background-color: #fcf8e3;
}

sub,
sup {
	font-size: 0.75em;
}

pre,
code,
kbd,
samp {
	font-size: 1em;
}

pre {
	margin-bottom: 1.5rem;
	font-size: 0.875em;
}

pre code {
	font-size: inherit;
}

code {
	font-size: 0.875em;
}

kbd {
	padding: 0.2rem 0.4rem;
	font-size: 0.875em;
	background-color: #212529;
}

kbd kbd {
	padding: 0;
	font-size: 1em;
}

figure {
	margin: 0 0 1.5rem;
}
figure figcaption {
	font-size: 0.875em;
	text-align: center;
}

img,
svg {
	vertical-align: middle;
}

img {
	max-width: 100%;
	height: auto;
}

video {
	max-width: 100%;
}

caption {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

table {
	margin-bottom: 1.5rem;
}

thead,
tbody,
tfoot,
tr,
td,
th {
	border-color: inherit;
	border-style: solid;
	border-width: 0;
}

/* 
 グローバルヘッダースタイル
 ========================================= */
.global-header {
	position: relative;
	border-bottom: 4px solid #D3D3D3;
}
@media (max-width: 991.98px) {
	.global-header {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 998;
		background-color: #fff;
		width: 100%;
	}
}
.global-header-top-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 1200px;
	height: 80px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 0.5rem;
	padding-left: 0.5rem;
}
@media (max-width: 991.98px) {
	.global-header-top-inner {
		height: 60px;
	}
}
.global-header-brand {
	width: 50%;
	max-width: 480px;
	margin: 0;
	line-height: 1;
}
@media (max-width: 991.98px) {
	.global-header-brand {
		width: 75%;
		max-width: 360px;
	}
}
.global-header-contact {
	width: 50%;
	text-align: right;
}
@media (max-width: 991.98px) {
	.global-header-contact {
		display: none;
	}
}
.global-header-contact .num {
	color: #212529;
	font-size: min(2.5vw, 1.75rem);
}
.global-header-contact .num::before {
	content: "";
	position: relative;
	top: 0.1em;
	display: inline-block;
	background-image: url("../images/icon_tel.png");
	background-size: contain;
	background-repeat: no-repeat;
	width: 1.2em;
	height: 1.2em;
	margin-right: 0.25em;
}
.global-header-toggle {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	background-color: #212529;
	width: 60px;
	height: 60px;
	padding: 8px;
	color: #fff;
	cursor: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAzElEQVRYR+2X0Q6AIAhF5f8/2jYXZkwEjNSVvVUjDpcrGgT7FUkI2D9xRfQETwNIiWO85wfINfQUEyxBG2ArsLwC0jioGt5zFcwF4OYDPi/mBYKm4t0U8ATgRm3ThFoAqkhNgWkA0jJLvaOVSs7j3qMnSgXWBMiWPXe94QqMBMBc1VZIvaTu5u5pQewq0EqNZvIEMCmxAawK0DNkay9QmfFNAJUXfgGgUkLaE7j/h8fnASkxHTz0DGIBMCnBeeM7AArpUd3mz2x3C7wADglA8BcWMZhZAAAAAElFTkSuQmCC) 14 0, pointer;
}
@media (max-width: 991.98px) {
	.global-header-toggle {
		display: flex;
		justify-content: center;
		align-items: center;
	}
}
.global-header-toggle-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	border-top: 3px solid #fff;
	border-bottom: 3px solid #fff;
	background-color: #212529;
	width: 100%;
	height: 75%;
	padding: 0;
	color: #fff;
	font-size: 0.625rem;
}
.nav-open .global-header-toggle-btn {
	display: none;
}
.global-header-toggle .close-btn {
	display: none;
}
.nav-open .global-header-toggle .close-btn {
	display: block;
}
.global-header-toggle .close-btn .nes-icon.close::before {
	color: #fff;
}
.global-header-bottom-inner {
	background-color: #212529;
	border-top: 4px solid #D3D3D3;
	padding-right: 0.5rem;
	padding-left: 0.5rem;
}
@media (max-width: 991.98px) {
	.global-header-bottom-inner {
		position: fixed;
		top: 60px;
		right: 0;
		z-index: 9999;
		display: none;
		border-top: none;
		width: 80%;
		max-width: 480px;
		padding: 0.5rem;
	}
	.nav-open .global-header-bottom-inner {
		display: block;
	}
}
@media (max-width: 575.98px) {
	.global-header-bottom-inner {
		top: 80px;
		right: 50%;
		transform: translateX(50%);
	}
}
.global-header-bottom .close-layer {
	display: none;
}
@media (max-width: 991.98px) {
	.nav-open .global-header-bottom .close-layer {
		position: fixed;
		top: 60px;
		left: 0;
		display: block;
		width: 100%;
		height: calc(100vh - 60px);
	}
}
.global-header-nav-menu {
	list-style: none;
	display: flex;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}
@media (max-width: 991.98px) {
	.global-header-nav-menu {
		position: relative;
		flex-wrap: wrap;
		border: 6px solid #fff;
		padding: 1.25rem 0.5rem 0.5rem;
	}
	.global-header-nav-menu::before {
		content: "コマンド";
		position: absolute;
		top: -12px;
		left: 50%;
		transform: translateX(-50%);
		display: block;
		background-color: #212529;
		padding: 0 2px;
		color: #fff;
		font-family: "misaki gothic 2nd", "M PLUS 1", "SF Pro", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", "Helvetica", sans-serif;
		font-size: 1.125rem;
	}
}
.global-header-nav-menu > li {
	border-right: 4px solid #D3D3D3;
	width: 16.6666666667%;
	height: 50px;
	padding: 4px;
	font-size: 1.125rem;
	font-weight: 700;
}
.global-header-nav-menu > li:first-child {
	border-left: 4px solid #D3D3D3;
}
.global-header-nav-menu .contact {
	display: none;
}
@media (max-width: 991.98px) {
	.global-header-nav-menu > li {
		width: 50%;
		border-style: none;
		font-size: 1.25rem;
		font-weight: normal;
		padding-left: 1.25rem;
	}
	.global-header-nav-menu > li:first-child {
		border-style: none;
	}
	.global-header-nav-menu .contact {
		display: block;
	}
}
@media (max-width: 575.98px) {
	.global-header-nav-menu > li {
		width: 100%;
	}
}

.global-header-nav-menu > li a {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
@media (max-width: 991.98px) {
	.global-header-nav-menu > li a {
		justify-content: flex-start;
		text-align: left;
	}
}
.global-header-nav-menu > li a .text-wrap {
	position: relative;
	display: inline-block;
}
.global-header-nav-menu > li a .text-wrap::before {
	content: "";
	position: absolute;
	top: 5px;
	left: -20px;
	display: inline-block;
	width: 2px;
	height: 2px;
	box-shadow: 2px 2px, 4px 2px, 2px 4px, 4px 4px, 6px 4px, 8px 4px, 2px 6px, 4px 6px, 6px 6px, 8px 6px, 10px 6px, 2px 8px, 4px 8px, 6px 8px, 8px 8px, 10px 8px, 12px 8px, 2px 10px, 4px 10px, 6px 10px, 8px 10px, 10px 10px, 2px 12px, 4px 12px, 6px 12px, 8px 12px, 2px 14px, 4px 14px;
	color: #fff;
	opacity: 0;
}
@media (max-width: 991.98px) {
	.global-header-nav-menu > li a .text-wrap::before {
		left: -18px;
	}
}
.global-header-nav-menu > li a:hover .text-wrap::before {
	opacity: 1;
	animation: gnavhover 0.5s step-end infinite alternate;
}

@keyframes gnavhover {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
/* 
 メインコンテンツスタイル
 ========================================= */
@media (max-width: 767.98px) {
	.nes-container {
		padding: 1rem;
	}
}

@media (max-width: 991.98px) {
	.main {
		margin-top: 60px;
	}
}

.page-article {
	padding-bottom: 4rem;
}

.page-header {
	position: relative;
	width: 100%;
	height: 240px;
	overflow: hidden;
}
.page-header-anime {
	background-repeat: repeat-x;
	height: 100%;
}
.page-header-anime::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	z-index: 1;
	transform: translateX(-50%);
	display: block;
	width: 240px;
	height: 240px;
}
.page-header-anime.car {
	background-image: url("../images/pagetitle_bg_glass.gif");
}
.page-header-anime.car::before {
	background-image: url("../images/pagetitle_bg_car.gif");
}
.page-header-anime.levelup {
	background-image: url("../images/pagetitle_bg_levelup2.png");
}
.page-header-anime.levelup::before {
	background-image: url("../images/pagetitle_bg_levelup.gif");
}
.page-header-anime.status {
	background-image: url("../images/pagetitle_bg_status2.png");
}
.page-header-anime.status::before {
	background-image: url("../images/pagetitle_bg_status.gif");
}
.page-header-anime.duck {
	background-image: url("../images/pagetitle_bg_duck2.png");
	width: 2400px;
	animation: side-scroll 120s steps(200) infinite;
}
.page-header-anime.duck::before {
	background-image: url("../images/pagetitle_bg_duck.gif");
}
.page-header-anime.art {
	background-image: url("../images/pagetitle_bg_art2.png");
	width: 2400px;
	animation: side-scroll 120s steps(200) infinite;
}
.page-header-anime.art::before {
	background-image: url("../images/pagetitle_bg_art.gif");
}
.page-header-anime.err {
	background-image: url("../images/pagetitle_bg_glass.gif");
}
.page-header-anime.err::before {
	background-image: url("../images/pagetitle_bg_err.gif");
}
.page-header-anime.yt {
	background-image: url("../images/pagetitle_bg_youtube2.png");
}
.page-header-anime.yt::before {
	background-image: url("../images/pagetitle_bg_youtube.gif");
}

@keyframes side-scroll {
	from {
		background-position: top 0px left 0px;
	}
	to {
		background-position: top 0px left -2400px;
	}
}
.page-title {
	position: absolute;
	top: 10%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
	background-color: #212529;
	border: 4px solid #212529;
	width: 85%;
	max-width: 480px;
	margin-bottom: 0;
	padding: 0.75rem 1.5rem;
	color: #fff;
	font-family: "misaki gothic 2nd", "M PLUS 1", "SF Pro", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", "Helvetica", sans-serif;
	font-size: 1.75rem;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
	.page-title {
		font-size: 1.5rem;
	}
}
.page-title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	display: block;
	border: 4px solid #fff;
	background-color: #212529;
	width: 100%;
	height: 100%;
}

.contents-container {
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 1.5rem;
	padding-left: 1.5rem;
	line-height: 1.8;
}

.contents-collumns {
	display: flex;
	justify-content: center;
	border-top: 3px solid #212529;
}
@media (max-width: 991.98px) {
	.contents-collumns {
		flex-wrap: wrap;
	}
}
.contents-collumns .col-main {
	width: 70%;
	margin-right: auto;
	margin-left: auto;
	padding: 2rem;
}
@media (max-width: 991.98px) {
	.contents-collumns .col-main {
		width: 100%;
		padding: 1rem;
	}
}
.contents-collumns .col-side {
	width: 30%;
	min-width: 200px;
	border-left: 3px solid #212529;
	padding: 2rem;
}
@media (max-width: 991.98px) {
	.contents-collumns .col-side {
		border-top: 3px solid #212529;
		border-left: none;
		width: 100%;
		min-width: auto;
		padding: 2rem 0;
	}
}

.side-nav {
	position: -webkit-sticky;
	position: sticky;
	top: 2rem;
}

.memo-contents {
	padding: 2rem 0;
}
.memo-contents h1 {
	padding: 2rem;
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.5;
}
@media (max-width: 767.98px) {
	.memo-contents h1 {
		padding: 1rem;
		font-size: 1.25rem;
	}
}
.memo-contents h2 {
	border-left: 5px solid #00b1b4;
	margin-top: 2rem;
	margin-bottom: 1rem;
	padding-left: 8px;
	font-size: min(4.5vw, 1.25rem);
	font-weight: 700;
}
.memo-contents h3 {
	font-size: 1.125rem;
	font-weight: 700;
}
.memo-contents ol li {
	margin-bottom: 0.5rem;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.5;
}
@media (max-width: 767.98px) {
	.memo-contents ol li {
		font-size: 1rem;
	}
}
.memo-contents figure {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.outline-contents {
	width: 85%;
	max-width: 800px;
	margin-right: auto;
	margin-left: auto;
}
.outline-contents h4 {
	margin-bottom: 0;
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.5;
}
.outline-contents p {
	margin-bottom: 0;
	font-size: 1.0625rem;
	line-height: 1.5;
}

.outline-column {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.outline-column > * {
	margin-bottom: 2rem;
}
.outline-column-item1 {
	width: 33.3333333333%;
}
.outline-column-item2 {
	width: 66.6666666667%;
}
@media (max-width: 767.98px) {
	.outline-column-item1, .outline-column-item2 {
		width: 100%;
	}
	.outline-column-item1 {
		margin-bottom: 0.5rem;
	}
}

.page-section {
	padding-top: 2rem;
	padding-bottom: 2rem;
}

.section-title-block {
	text-align: center;
	margin: 3rem 0;
}

.section-headline {
	margin-bottom: 0;
	color: #00b1b4;
	font-size: min(5.25vw, 1.75rem);
	font-weight: 700;
	line-height: 1.5;
}
.section-headline-sub {
	margin-bottom: 0;
	color: #00b1b4;
	font-size: min(4.25vw, 1.25rem);
}

.paragraph-headline {
	margin-top: 2rem;
	border-bottom: 2px solid #00b1b4;
	font-size: min(4.75vw, 1.5rem);
	font-weight: 700;
	line-height: 1.5;
}
.paragraph-headline .text-wrap {
	position: relative;
	display: inline-block;
	background-color: #00b1b4;
	max-width: calc(100% - 32px);
	padding: 0.5rem 1.5rem 0.5rem 1rem;
	color: #fff;
}
.paragraph-headline .text-wrap::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 100%;
	display: block;
	background-color: #00b1b4;
	width: 12px;
	height: 24px;
}
.paragraph-headline .text-wrap::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: calc(100% + 12px);
	display: block;
	background-color: #00b1b4;
	width: 12px;
	height: 12px;
}

.mid-hedline {
	border-left: 5px solid #00b1b4;
	margin-top: 2rem;
	margin-bottom: 1rem;
	padding-left: 8px;
	font-size: min(4.5vw, 1.25rem);
	font-weight: 700;
}

.plane-headline {
	font-size: 1.125rem;
	font-weight: 700;
}

.introduction-items {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1152px;
	margin-right: auto;
	margin-left: auto;
}
.introduction-items-outer {
	padding: 2rem 0;
}
.introduction-items .item-column {
	background-color: #00b1b4;
	flex: 0 0 auto;
	width: 50%;
	padding: 1.5rem;
	color: #fff;
	font-weight: 600;
}
@media (max-width: 767.98px) {
	.introduction-items .item-column {
		width: 90%;
		max-width: 400px;
		margin-bottom: 2rem;
	}
}
.introduction-items .item-column:nth-child(1) {
	background-color: #00b1b4;
}
.introduction-items .item-column:nth-child(2) {
	background-color: #07a5a8;
}
.introduction-items .item-column:nth-child(3) {
	background-color: #07a5a8;
}
.introduction-items .item-column:nth-child(4) {
	background-color: #00b1b4;
}
.introduction-items .item-column a {
	color: #feffb0;
	text-decoration: underline;
}

.works-list {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 7.5rem;
	padding: 0;
}
.works-list > li {
	flex: 0 0 auto;
	width: 33.3333333333%;
	margin-top: 70px;
	padding-right: min(2vw, 25px);
	padding-left: min(2vw, 25px);
}
@media (max-width: 767.98px) {
	.works-list > li {
		width: 100%;
	}
}
.works-list .work-thumb {
	background-color: #f6f6f6;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 3/2;
}
.works-list .work-thumb a {
	display: block;
}
.works-list .work-thumb a:hover {
	background-color: rgb(209, 253, 238);
}
.works-list .work-thumb img {
	display: block;
	-o-object-fit: cover;
	   object-fit: cover;
	width: 80%;
	aspect-ratio: 3/2;
	filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3));
}
.works-list .work-text {
	margin-top: 1.5rem;
}
.works-list .work-text h4 {
	margin-bottom: 0.625rem0;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.5;
}
.works-list .work-text p {
	margin-bottom: 0.25rem;
	font-size: 0.875rem;
	line-height: 1.6;
}

.memo-list-index {
	max-width: 800px;
	margin-top: 2rem;
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 5rem;
}

.memo-list {
	list-style: none;
	padding: 0;
}
.memo-list > li {
	border-top: 1px solid #D3D3D3;
}
.memo-list > li:last-child {
	border-bottom: 1px solid #D3D3D3;
}
.memo-list > li a {
	position: relative;
	display: block;
	padding: 0.75rem 36px 0.75rem 0;
	color: #212529;
}
.memo-list > li a::after {
	content: ">";
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	color: #D3D3D3;
	font-family: "Press Start 2P", "misaki gothic 2nd", "M PLUS 1", "SF Pro", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", "Helvetica", sans-serif;
	font-size: 1.5em;
	line-height: 1;
	transition: all 0.2s steps(3) 0.1s;
}
.memo-list > li a:hover {
	text-decoration: none;
}
@media (max-width: 767.98px) {
	.memo-list > li a {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}
	.memo-list > li a:active {
		background-color: #f6fbfb;
	}
	.memo-list > li a:active::after {
		right: 0px;
	}
}
@media (min-width: 768px) {
	.memo-list > li a:hover {
		background-color: #f6fbfb;
	}
	.memo-list > li a:hover::after {
		right: 0px;
	}
}
.memo-list-date {
	color: #666;
	font-size: 0.75rem;
	line-height: 1.5;
}
.memo-list-side .memo-list-date {
	font-size: 0.6875rem;
}
.memo-list-title {
	line-height: 1.5;
}
.memo-list-index .memo-list-title {
	font-size: 1.25rem;
	font-weight: 600;
}
@media (max-width: 767.98px) {
	.memo-list-index .memo-list-title {
		font-size: 1rem;
	}
}
.memo-list-side .memo-list-title {
	font-size: 0.8125rem;
}

.toc {
	list-style: none;
	counter-reset: section;
	border-bottom: 3px solid #212529;
	margin: 0 0 2rem;
	padding: 0 0 2rem;
}
.toc::before {
	content: "目次";
	display: block;
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 0.75rem;
}
.toc > li {
	margin-top: calc(20px - 0.4em);
	line-height: 1.4;
}
.toc > li::before {
	counter-increment: section;
	content: counter(section) ":";
	display: inline-block;
	margin-right: 0.5rem;
}
.toc > li a {
	color: #212529;
	font-size: 0.875rem;
}
.toc > li a:hover {
	color: #3b8e90;
	text-decoration: none;
}

.terms-container {
	max-width: 960px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 1.5rem;
	padding-left: 1.5rem;
}
.terms-container h4 {
	font-size: 1.125rem;
	font-weight: 700;
}
.terms-container ul li, .terms-container ol li {
	margin-bottom: 0.25rem;
}
.terms-container a {
	font-weight: 600;
}

.contents-404 {
	width: 640px;
	max-width: 85%;
	margin-right: auto;
	margin-left: auto;
	padding-top: 3rem;
}
.contents-404-illust {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	width: 100%;
	margin-bottom: 2rem;
}
.contents-404-illust .title-404 {
	order: 2;
	margin-bottom: 0;
	color: #9ddee0;
	font-size: min(12vw, 120px);
	line-height: 1;
	transform: translateY(0.12em);
}
.contents-404-illust .illust-404 {
	width: 40%;
	max-width: 240px;
	margin-bottom: 0;
	order: 1;
}
.contents-404-illust .illust-404 img {
	max-width: 100%;
	height: auto;
}

.spec-photo {
	max-width: 480px;
	margin-right: auto;
	margin-left: auto;
}

/* 
 グローバルフッタースタイル
 ========================================= */
.global-footer {
	background-color: #212529;
	border-top: 4px solid #D3D3D3;
	padding: 20px 0;
	color: #fff;
}
.global-footer-inner {
	max-width: 95%;
	margin-right: auto;
	margin-left: auto;
}
.global-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media (max-width: 991.98px) {
	.global-footer-bottom {
		display: block;
	}
}

.global-footer a {
	color: #7fffd4;
}

.footer-address-name {
	font-size: 1.25rem;
	font-weight: bold;
}
.footer-address-info {
	font-size: 0.875rem;
	margin-bottom: 1px;
}
/*2025/05/29 追加 鈴木 健治*/
.footer-sns {
	text-align: right;
}
.footer-sub-menu {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}
@media (max-width: 767.98px) {
	.footer-sub-menu {
		display: block;
	}
}
.footer-sub-menu > li {
	margin-right: 2rem;
}
@media (max-width: 767.98px) {
	.footer-sub-menu > li {
		margin-bottom: 0.5rem;
	}
}
.footer-sub-menu > li a {
	color: #fff;
	font-size: 0.875rem;
}
.footer-sub-menu > li a::before {
	content: "";
	display: inline-block;
	background-color: #fff;
	height: 10.3923048454px;
	width: 12px;
	-webkit-clip-path: polygon(0 0, 80% 50%, 0 100%);
	        clip-path: polygon(0 0, 80% 50%, 0 100%);
	margin-right: 0.25em;
}
.footer-sub-menu > li a:hover {
	color: #7fffd4;
	text-decoration: none;
}
.footer-sub-menu > li a:hover::before {
	background-color: #7fffd4;
}

.copyright {
	font-size: 0.75rem;
	font-weight: 500;
	text-align: right;
}
@media (max-width: 991.98px) {
	.copyright {
		margin-top: 1rem;
		text-align: center;
	}
}
@media (max-width: 767.98px) {
	.copyright {
		font-size: 0.625rem;
	}
}

/* フッター連絡先 */
.footer-contact {
	background-color: #a6b63c;
	padding: 2rem 0;
}

.contact-info {
	max-width: 600px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}
.contact-info a {
	color: #7fffd4;
}
.contact-info h2 {
	font-size: 1.5rem;
}
@media (max-width: 767.98px) {
	.contact-info h2 {
		font-size: 1rem;
	}
}
.contact-info p {
	margin-bottom: 0;
}
.contact-info .tel {
	margin-bottom: 0.5rem;
}
.contact-info .tel .num {
	font-size: 1.5rem;
}
@media (max-width: 575.98px) {
	.contact-info .tel .num {
		font-size: 1.125rem;
	}
}
.contact-info .tel .num::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url("../images/icon_tel_wh.png");
	background-size: contain;
	margin-right: 0.5rem;
}
.contact-info .form-link {
	margin-top: 20px;
}
.contact-info .form-link .link-arrow {
	color: #fff;
	font-size: 1.25rem;
}
.contact-info .form-link .link-arrow:hover {
	color: #b7f4f5;
	text-decoration: none;
}

/* スクロールトップ */
.scroll-btn {
	position: fixed;
	bottom: -60px;
	right: 2rem;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.6);
	transition: all 0.3s ease;
}
@media (max-width: 991.98px) {
	.scroll-btn {
		display: none;
	}
}
.scroll-btn.active {
	bottom: 2.5rem;
}
.scroll-btn > span {
	display: block;
	transform: rotateZ(90deg);
}

/* トップページ用スタイル */
.main-visual {
	position: relative;
	background-image: url("../images/mv_bg.png");
	background-repeat: repeat-x;
	background-color: #a5e950;
	width: 100%;
	height: 638px;
	padding-bottom: 92px;
	overflow: hidden;
}
@media (max-width: 767.98px) {
	.main-visual {
		background-image: url("../images/mv_bg_sp.png");
		height: 400px;
		padding-bottom: 58px;
	}
}
.main-visual::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	background-image: url("../images/mv_cloud.png");
	width: 100%;
	height: 100%;
	animation: cloudmove 30s steps(100, jump-start) infinite;
}
@media (max-width: 767.98px) {
	.main-visual::before {
		background-image: url("../images/mv_cloud_sp.png");
		animation: cloudmovesp 30s steps(100, jump-start) infinite;
	}
}
.main-visual-inner {
	position: relative;
	width: 90%;
	max-width: 1320px;
	height: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-right: 0.5rem;
	padding-left: 0.5rem;
}
.main-visual .mv-catchcopy {
	position: absolute;
	top: 50%;
	right: 17%;
	transform: translateY(-50%);
	max-width: 83%;
	color: #000;
	font-size: min(4vw, 42px);
	text-shadow: 4px 4px 0px #fff;
}
@media (max-width: 767.98px) {
	.main-visual .mv-catchcopy {
		font-size: min(5vw, 28px);
	}
	.main-visual .mv-catchcopy .nes-balloon {
		padding: 0.5rem 0.75rem;
	}
}
.main-visual .mv-illust {
	position: absolute;
}
.main-visual .mv-illust img {
	max-width: 100%;
	height: auto;
}
.main-visual .mv-illust-01 {
	position: absolute;
	top: 30%;
	right: 10%;
	width: 20%;
}
.main-visual .mv-illust-01 img {
	max-width: 100%;
	height: auto;
}
.main-visual .shiro {
	bottom: -1px;
	right: -5%;
	width: 12%;
}
.main-visual .customer {
	bottom: 0;
	width: 15%;
	max-width: 100px;
}
@media (max-width: 767.98px) {
	.main-visual .customer {
		max-width: 64px;
	}
}
.main-visual .man_glasses {
	right: 5%;
	bottom: 0;
	width: 30%;
	max-width: 200px;
}
@media (max-width: 767.98px) {
	.main-visual .man_glasses {
		max-width: 128px;
	}
}
.main-visual .man_overall {
	left: 0%;
}
.main-visual .man_woke {
	left: 15%;
}
.main-visual .man_dancing {
	left: 30%;
}
.main-visual .lady_oh {
	left: 45%;
}

@keyframes cloudmove {
	from {
		background-position: 0 0;
	}
	to {
		background-position: -100% 0;
	}
}
@keyframes cloudmovesp {
	from {
		background-position: -50 0;
	}
	to {
		background-position: 150% 0;
	}
}
.home-section-1 {
	padding: 60px 0;
	background-color: #a5e950;
}
@media (max-width: 991.98px) {
	.home-section-1 {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}

.home-section-2 {
	background-image: url("../images/field_grass_80.png");
	background-repeat: repeat;
}
@media (max-width: 767.98px) {
	.home-section-2 {
		background-image: url("../images/field_grass_40.png");
	}
}
.home-section-2::before {
	content: "";
	display: block;
	background-image: url("../images/field_tree_80.png");
	background-repeat: repeat;
	width: 100%;
	height: 80px;
	margin-bottom: 40px;
}
@media (max-width: 767.98px) {
	.home-section-2::before {
		background-image: url("../images/field_tree_40.png");
		height: 40px;
	}
}
.home-section-2::after {
	content: "";
	display: block;
	background-image: url("../images/field_beach_s_80.png");
	background-repeat: repeat;
	width: 100%;
	height: 80px;
	margin-top: 40px;
}
@media (max-width: 767.98px) {
	.home-section-2::after {
		background-image: url("../images/field_beach_s_40.png");
		height: 40px;
	}
}

.home-section-3 {
	position: relative;
	background-image: url("../images/field_sea_80.png");
	background-repeat: repeat;
	min-height: 160px;
	padding: 0 0 80px;
	overflow-x: hidden;
}
@media (max-width: 767.98px) {
	.home-section-3 {
		background-image: url("../images/field_sea_40.png");
		padding-bottom: 20px;
	}
}
.home-section-3::before {
	content: "";
	position: absolute;
	bottom: 0px;
	display: block;
	background-image: url("../images/field_ship_r.png");
	background-repeat: no-repeat;
	background-size: contain;
	width: 120px;
	height: 120px;
	animation: shipmove 45s steps(150, jump-none) infinite;
}
@media (max-width: 767.98px) {
	.home-section-3::before {
		width: 60px;
		height: 60px;
	}
}

@keyframes shipmove {
	0% {
		left: -50%;
	}
	100% {
		left: 150%;
	}
}
.home-section-4 {
	position: relative;
	background-image: url("../images/field_grass_80.png");
	background-repeat: repeat;
	min-height: 240px;
	padding: 80px 0 120px;
}
@media (max-width: 767.98px) {
	.home-section-4 {
		background-image: url("../images/field_grass_40.png");
		padding-top: 40px;
		padding-bottom: 80px;
	}
}
.home-section-4::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	background-image: url("../images/field_beach_n_80.png");
	background-repeat: repeat;
	width: 100%;
	height: 80px;
}
@media (max-width: 767.98px) {
	.home-section-4::before {
		background-image: url("../images/field_beach_n_40.png");
		height: 40px;
	}
}
.home-section-4::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	background-image: url("../images/field_mountain_80.png");
	background-repeat: repeat;
	width: 100%;
	height: 80px;
}
@media (max-width: 767.98px) {
	.home-section-4::after {
		background-image: url("../images/field_mountain_40.png");
		height: 40px;
	}
}

#notice .title {
	margin-right: auto;
	margin-left: auto;
	font-size: 1.25rem;
	text-align: center;
}

.important-opener {
	position: relative;
	width: 80%;
	max-width: 480px;
	margin-right: auto;
	margin-left: auto;
}
.important-opener::after {
	content: "";
	position: absolute;
	top: 17px;
	right: -32px;
	display: block;
	background-image: url("../images/icon_finger.png");
	width: 64px;
	height: 34px;
	animation: yubisashibo 1.5s steps(3, jump-start) infinite;
}
.important-opener-outer {
	padding: 0 0 2rem;
	text-align: center;
}
.important-opener .modal-open {
	width: 100%;
	font-size: 2rem;
	font-weight: 700;
}
@media (max-width: 767.98px) {
	.important-opener .modal-open {
		font-size: 1.25rem;
	}
}

@keyframes yubisashibo {
	from {
		transform: rotate(60deg);
	}
	to {
		transform: rotate(0deg);
	}
}
.modaal-close:focus:after, .modaal-close:focus:before, .modaal-close:hover:after, .modaal-close:hover:before {
	background: #3b8e90;
}

@media (max-width: 1199.98px) {
	.modaal-wrapper .modaal-close {
		background-color: rgba(0, 0, 0, 0.2);
	}
}
@media (max-width: 767.98px) {
	.modaal-inner-wrapper {
		padding-right: 1rem;
		padding-left: 1rem;
	}
	.modaal-content-container {
		padding: 1rem;
	}
}
.important-notice-article {
	padding-bottom: 1rem;
}
.important-notice-article h2 {
	border-bottom: 2px solid #00b0b3;
	margin-bottom: 0.5rem;
	padding-bottom: 0.5rem;
	font-size: 1.25rem;
	font-weight: 700;
}
.important-notice-article h3 {
	margin-bottom: 0.5rem;
	font-size: 1.125rem;
	font-weight: 500;
}

.notice-list {
	display: flex;
	flex-wrap: wrap;
	max-height: 400px;
	padding: 0 0.25rem;
	overflow: auto;
	scrollbar-color: white #212529;
}
.notice-list dt, .notice-list dd {
	flex: 0 0 auto;
	border-bottom: 1px solid #D3D3D3;
	padding: 1.125rem 0.5rem;
	line-height: 1.6;
}
.notice-list dt:first-of-type, .notice-list dd:first-of-type {
	border-top: 1px solid #D3D3D3;
}
@media (max-width: 991.98px) {
	.notice-list dt:first-of-type, .notice-list dd:first-of-type {
		border-top-style: none;
	}
}
.notice-list dt {
	width: 10em;
	font-weight: 400;
}
@media (max-width: 991.98px) {
	.notice-list dt {
		border-bottom-style: none;
		width: 100%;
		margin-bottom: 0.125rem;
		padding-bottom: 0;
		font-size: 0.875rem;
	}
	.notice-list dt:first-of-type {
		border-top-style: solid;
	}
}
.notice-list dd {
	width: calc(100% - 10em);
	margin-bottom: 0;
}
@media (max-width: 991.98px) {
	.notice-list dd {
		width: 100%;
		padding-top: 0;
		font-size: 1rem;
	}
}
.notice-list dd a {
	position: relative;
	display: inline-block;
	margin-right: 2px;
	margin-left: 2px;
	color: #14494a;
}
.notice-list dd a:hover {
	color: #3b8e90;
	text-decoration: none;
}
.notice-list dd a::after {
	content: "";
	position: absolute;
	bottom: 0px;
	left: 2px;
	display: block;
	border-top: 2px dotted #3b8e90;
	width: calc(100% - 4px);
}

.voice-wraper {
	max-width: 700px;
	margin-right: auto;
	margin-left: auto;
}
.voice-wraper #voiceLoader {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background-color: #fff;
}
.voice-wraper #voiceLoader::before {
	content: "";
	display: block;
	background-image: url("../images/loader.gif");
	background-repeat: no-repeat;
	background-size: contain;
	width: 64px;
	height: 50px;
}
.voice-wraper iframe {
	width: 100%;
	height: 440px;
}
@media (max-width: 767.98px) {
	.voice-wraper iframe {
		height: 632px;
	}
}

.voice-chara {
	position: relative;
	width: 100%;
	height: 100%;
}
@media (max-width: 1199.98px) {
	.voice-chara {
		height: 120px;
	}
}
@media (max-width: 767.98px) {
	.voice-chara {
		height: 100px;
	}
}
.voice-chara .customer {
	position: absolute;
	width: 120px;
	bottom: 0;
}
.voice-chara .customer.man_overall {
	left: 10%;
}
.voice-chara .customer.man_woke {
	left: 30%;
}
.voice-chara .customer.man_dancing {
	left: 70%;
}
.voice-chara .customer.lady_oh {
	left: 50%;
}
@media (max-width: 1199.98px) {
	.voice-chara .customer {
		width: 100px;
	}
}
@media (max-width: 767.98px) {
	.voice-chara .customer {
		width: 64px;
	}
}
@media (min-width: 1200px) {
	.voice-chara .customer {
		bottom: auto;
	}
	.voice-chara .customer.man_overall {
		top: 10%;
		left: 30%;
	}
	.voice-chara .customer.man_woke {
		top: 60%;
		left: 50%;
	}
	.voice-chara .customer.man_dancing {
		top: 40%;
		left: 0%;
	}
	.voice-chara .customer.lady_oh {
		top: 30%;
		left: 70%;
	}
}

.introduction-items {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	padding: 0;
}
.introduction-items .item {
	flex: 0 0 auto;
	width: 33.3333333333%;
	padding: 2vw;
}
@media (max-width: 767.98px) {
	.introduction-items .item {
		width: 100%;
		margin-bottom: 1rem;
	}
}
.introduction-items .item-box {
	background-color: #fff;
	padding: 1rem;
	height: 100%;
}
@media (max-width: 767.98px) {
	.introduction-items .item-box {
		width: 85%;
		max-width: 360px;
		margin-right: auto;
		margin-left: auto;
	}
}

.introduction-image {
	margin-bottom: 0.5rem;
}
.introduction-image img {
	display: block;
	width: 50%;
	max-width: 160px;
	height: auto;
	margin-right: auto;
	margin-left: auto;
}

.introduction-text .introduction-title {
	position: relative;
	padding-bottom: 0.5rem;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
}
@media (max-width: 991.98px) {
	.introduction-text .introduction-title {
		font-size: 1.5rem;
	}
}
.introduction-text .introduction-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	width: 20%;
	height: 2px;
	background-color: #00b0b2;
}
@media (max-width: 991.98px) {
	.introduction-text .introduction-title::after {
		left: 0;
		transform: none;
		width: 100%;
	}
}
.introduction-text .introduction-description {
	margin-bottom: 0;
	font-size: 1.125rem;
	line-height: 1.8;
}
@media (max-width: 991.98px) {
	.introduction-text .introduction-description {
		font-size: 1rem;
	}
}

#about .gmap {
	background-color: #fff;
	padding: 0.5rem;
	height: 100%;
	max-height: 480px;
	min-height: 360px;
}
@media (max-width: 991.98px) {
	#about .gmap {
		min-height: 0;
	}
}
#about .gmap-inner {
	border: 4px solid #000;
	height: 100%;
}
@media (max-width: 991.98px) {
	#about .gmap-inner {
		height: 60vw;
		max-height: 400px;
	}
}
#about .gmap iframe {
	width: 100%;
	height: 100%;
}

.about-inner {
	background-image: url("../images/field_desert_80.png");
	padding: 80px 0;
}
@media (max-width: 767.98px) {
	.about-inner {
		background-image: url("../images/field_desert_40.png");
		padding-top: 40px;
		padding-bottom: 40px;
	}
}

.about-title {
	font-size: 1.5rem;
}
.about-title .nes-icon {
	vertical-align: bottom;
	margin-right: 1em;
}

/* 余白 */
.mt-10 {
	margin-top: 10px !important;
}

.mt-20 {
	margin-top: 20px !important;
}

.mt-30 {
	margin-top: 30px !important;
}

.mt-40 {
	margin-top: 40px !important;
}

.mt-50 {
	margin-top: 50px !important;
}

.mt-60 {
	margin-top: 60px !important;
}

.mt-70 {
	margin-top: 70px !important;
}

.mt-80 {
	margin-top: 80px !important;
}

.mt-90 {
	margin-top: 90px !important;
}

.mt-100 {
	margin-top: 100px !important;
}

.mt-110 {
	margin-top: 110px !important;
}

.mt-120 {
	margin-top: 120px !important;
}

.mb-10 {
	margin-bottom: 10px !important;
}

.mb-20 {
	margin-bottom: 20px !important;
}

.mb-30 {
	margin-bottom: 30px !important;
}

.mb-40 {
	margin-bottom: 40px !important;
}

.mb-50 {
	margin-bottom: 50px !important;
}

.mb-60 {
	margin-bottom: 60px !important;
}

.mb-70 {
	margin-bottom: 70px !important;
}

.mb-80 {
	margin-bottom: 80px !important;
}

.mb-90 {
	margin-bottom: 90px !important;
}

.mb-100 {
	margin-bottom: 100px !important;
}

.mb-110 {
	margin-bottom: 110px !important;
}

.mb-120 {
	margin-bottom: 120px !important;
}

.pt-10 {
	padding-top: 10px !important;
}

.pt-20 {
	padding-top: 20px !important;
}

.pt-30 {
	padding-top: 30px !important;
}

.pt-40 {
	padding-top: 40px !important;
}

.pt-50 {
	padding-top: 50px !important;
}

.pt-60 {
	padding-top: 60px !important;
}

.pt-70 {
	padding-top: 70px !important;
}

.pt-80 {
	padding-top: 80px !important;
}

.pt-90 {
	padding-top: 90px !important;
}

.pt-100 {
	padding-top: 100px !important;
}

.pt-110 {
	padding-top: 110px !important;
}

.pt-120 {
	padding-top: 120px !important;
}

.pb-10 {
	padding-bottom: 10px !important;
}

.pb-20 {
	padding-bottom: 20px !important;
}

.pb-30 {
	padding-bottom: 30px !important;
}

.pb-40 {
	padding-bottom: 40px !important;
}

.pb-50 {
	padding-bottom: 50px !important;
}

.pb-60 {
	padding-bottom: 60px !important;
}

.pb-70 {
	padding-bottom: 70px !important;
}

.pb-80 {
	padding-bottom: 80px !important;
}

.pb-90 {
	padding-bottom: 90px !important;
}

.pb-100 {
	padding-bottom: 100px !important;
}

.pb-110 {
	padding-bottom: 110px !important;
}

.pb-120 {
	padding-bottom: 120px !important;
}

@media (max-width: 767.98px) {
	.mt-sp-10 {
		margin-top: 10px !important;
	}
	.mt-sp-20 {
		margin-top: 20px !important;
	}
	.mt-sp-30 {
		margin-top: 30px !important;
	}
	.mt-sp-40 {
		margin-top: 40px !important;
	}
	.mt-sp-50 {
		margin-top: 50px !important;
	}
	.mt-sp-60 {
		margin-top: 60px !important;
	}
	.mt-sp-70 {
		margin-top: 70px !important;
	}
	.mt-sp-80 {
		margin-top: 80px !important;
	}
	.mt-sp-90 {
		margin-top: 90px !important;
	}
	.mt-sp-100 {
		margin-top: 100px !important;
	}
	.mt-sp-110 {
		margin-top: 110px !important;
	}
	.mt-sp-120 {
		margin-top: 120px !important;
	}
	.mb-sp-10 {
		margin-bottom: 10px !important;
	}
	.mb-sp-20 {
		margin-bottom: 20px !important;
	}
	.mb-sp-30 {
		margin-bottom: 30px !important;
	}
	.mb-sp-40 {
		margin-bottom: 40px !important;
	}
	.mb-sp-50 {
		margin-bottom: 50px !important;
	}
	.mb-sp-60 {
		margin-bottom: 60px !important;
	}
	.mb-sp-70 {
		margin-bottom: 70px !important;
	}
	.mb-sp-80 {
		margin-bottom: 80px !important;
	}
	.mb-sp-90 {
		margin-bottom: 90px !important;
	}
	.mb-sp-100 {
		margin-bottom: 100px !important;
	}
	.mb-sp-110 {
		margin-bottom: 110px !important;
	}
	.mb-sp-120 {
		margin-bottom: 120px !important;
	}
	.pt-sp-10 {
		padding-top: 10px !important;
	}
	.pt-sp-20 {
		padding-top: 20px !important;
	}
	.pt-sp-30 {
		padding-top: 30px !important;
	}
	.pt-sp-40 {
		padding-top: 40px !important;
	}
	.pt-sp-50 {
		padding-top: 50px !important;
	}
	.pt-sp-60 {
		padding-top: 60px !important;
	}
	.pt-sp-70 {
		padding-top: 70px !important;
	}
	.pt-sp-80 {
		padding-top: 80px !important;
	}
	.pt-sp-90 {
		padding-top: 90px !important;
	}
	.pt-sp-100 {
		padding-top: 100px !important;
	}
	.pt-sp-110 {
		padding-top: 110px !important;
	}
	.pt-sp-120 {
		padding-top: 120px !important;
	}
	.pb-sp-10 {
		padding-bottom: 10px !important;
	}
	.pb-sp-20 {
		padding-bottom: 20px !important;
	}
	.pb-sp-30 {
		padding-bottom: 30px !important;
	}
	.pb-sp-40 {
		padding-bottom: 40px !important;
	}
	.pb-sp-50 {
		padding-bottom: 50px !important;
	}
	.pb-sp-60 {
		padding-bottom: 60px !important;
	}
	.pb-sp-70 {
		padding-bottom: 70px !important;
	}
	.pb-sp-80 {
		padding-bottom: 80px !important;
	}
	.pb-sp-90 {
		padding-bottom: 90px !important;
	}
	.pb-sp-100 {
		padding-bottom: 100px !important;
	}
	.pb-sp-110 {
		padding-bottom: 110px !important;
	}
	.pb-sp-120 {
		padding-bottom: 120px !important;
	}
}
/* font-weight */
.fw-300 {
	font-weight: 300;
}

.fw-400 {
	font-weight: 400;
}

.fw-500 {
	font-weight: 500;
}

.fw-700 {
	font-weight: 700;
}

/* font-size */
.fs-10 {
	font-size: 0.625rem;
}

.fs-11 {
	font-size: 0.6875rem;
}

.fs-12 {
	font-size: 0.75rem;
}

.fs-13 {
	font-size: 0.8125rem;
}

.fs-14 {
	font-size: 0.875rem;
}

.fs-15 {
	font-size: 0.9375rem;
}

.fs-16 {
	font-size: 1rem;
}

.fs-17 {
	font-size: 1.0625rem;
}

.fs-18 {
	font-size: 1.125rem;
}

.fs-19 {
	font-size: 1.1875rem;
}

.fs-20 {
	font-size: 1.25rem;
}

.fs-22 {
	font-size: 1.375rem;
}

.fs-24 {
	font-size: 1.5rem;
}

.fs-26 {
	font-size: 1.625rem;
}

.fs-28 {
	font-size: 1.75rem;
}

.fs-30 {
	font-size: 1.875rem;
}

.fs-32 {
	font-size: 2rem;
}

.fs-36 {
	font-size: 2.25rem;
}

.fs-40 {
	font-size: 2.5rem;
}

.fs-48 {
	font-size: 3rem;
}

.fs-60 {
	font-size: 3.75rem;
}

.fs-72 {
	font-size: 4.5rem;
}

/* 
 ユーティリティースタイル
 ========================================= */
@media (max-width: 767.98px) {
	.sp-none {
		display: none;
	}
}

@media (min-width: 768px) {
	.pc-none {
		display: none;
	}
}

.youtube {
	margin-top: 1rem;
	margin-bottom: 1rem;
}
.youtube iframe {
	aspect-ratio: 16/9;
	max-width: 100%;
	height: auto;
}

/* フォント */
.dot-gothic {
	font-family: "DotGothic16", "M PLUS 1", "SF Pro", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", "Helvetica", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.misaki-gothic {
	font-family: "misaki gothic", "M PLUS 1", "SF Pro", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", "Helvetica", sans-serif;
}

.misaki-gothic-2nd {
	font-family: "misaki gothic 2nd", "M PLUS 1", "SF Pro", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", "Helvetica", sans-serif;
}

.misaki-mincho {
	font-family: "misaki mincho", "M PLUS 1", "SF Pro", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", "Helvetica", sans-serif;
}

.press-start-2p {
	font-family: "Press Start 2P", "misaki gothic 2nd", "M PLUS 1", "SF Pro", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", "Helvetica", sans-serif;
	font-weight: 400;
	font-style: normal;
}

/* 背景 */
.bg-dark {
	background-color: #212529;
}

.bg-light {
	background-color: #fcfcfc;
}

/* 表 */
.price-table th, .price-table td {
	font-size: 0.875rem;
	vertical-align: middle;
}
.price-table th {
	font-weight: 500;
}
@media (max-width: 767.98px) {
	.price-table {
		white-space: nowrap;
	}
}

.spec-table th, .spec-table td {
	font-size: 0.875rem;
	line-height: 1.6;
	vertical-align: middle;
}
@media (max-width: 767.98px) {
	.spec-table th, .spec-table td {
		font-size: 0.8125rem;
	}
}
.spec-table th {
	font-weight: 500;
	vertical-align: top;
}
@media (max-width: 767.98px) {
	.spec-table th {
		width: 30%;
		font-weight: 400;
	}
}
.spec-table td ul {
	list-style: none;
	margin-bottom: 0;
	padding-left: 0;
}
.spec-table td ul li {
	position: relative;
	margin-bottom: 0.25em;
	padding-left: 1em;
}
.spec-table td ul li::before {
	content: "・";
	position: absolute;
	left: 0;
	display: inline-block;
}

/* リスト */
.note {
	list-style: none;
	padding-left: 1.25em;
}
.note > li {
	position: relative;
	font-size: 0.875rem;
}
.note > li::before {
	content: "※";
	position: absolute;
	left: -1.25em;
}

/* リンク文字 */
.link-arrow {
	color: #212529;
	font-size: 1rem;
}
.link-arrow::before {
	content: "";
	display: inline-block;
	background-color: #3b8e90;
	background-image: url("../images/icon_arrow01.png");
	background-repeat: no-repeat;
	background-size: contain;
	width: 0.875em;
	height: 0.875em;
	margin-right: 0.25rem;
}

/* ボックス */
.dark-box {
	position: relative;
	background-color: #212529;
	padding: 7.2px;
	color: #fff;
}
.dark-box-inner {
	border: 4px solid #fff;
	padding: 1.5rem 2rem;
}