@charset "UTF-8";

.noto-sans {
	font-family: "Noto Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-variation-settings: "wdth" 100;
}

.plus-jakarta-sans {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}

.manrope {
	font-family: "Manrope", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}

.reqular {
	font-weight: 400;
}

.medium {
	font-weight: 500;
}

.semibold {
	font-weight: 600;
}

.bold {
	font-weight: 700;
}

.black {
	font-weight: 900;
}

html,
body {
	line-height: 2;
	font-size: 62.5%;
	font-family: "Noto Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	letter-spacing: 0.15em;
	font-style: normal;
	font-variation-settings: "wdth" 100;
	color: #011540;
	background: #FFFFFF;
	font-feature-settings: "pwid" 1;
	width: 100%;
}

html {
	overflow-x: hidden;
	overflow-y: auto;
}

body {
	opacity: 0;
	transition: 0.7s;
}

body.loaded {
	opacity: 1;
}

.abs {
	position: absolute;
	display: block;
}

.rel {
	position: relative;
	display: block;
}

.flexBlock {
	display: flex;
	justify-content: space-between;
}

.flexBlock.direction-reverse {
	flex-direction: row-reverse;
}

.column {
	flex-direction: column;
}

.anim {
	transition: 0.3s ease-out;
}

* {
	box-sizing: border-box;
}

img {
	display: block;
}

.resizing *,
.resizing :before,
.resizing :after {
	transition: none !important;
}

a[target="_blank"]:after {
	background: url("../imgs/common/icon-blank.svg") no-repeat center;
	background-size: contain !important;
	content: '';
	position: relative;
	display: block;
	width: 20px;
	height: 20px;
	margin-left: 5px;
}

a.white[target="_blank"] {
	background: url("../imgs/common/icon-blank-white.svg") no-repeat center;
}

.fade-item {
	opacity: 0;
	transform: translate(0, 100px);
	transition: 1.2s ease-out;
	display: block;
}

.fade-item.visible {
	opacity: 1;
	transform: translate(0, 0);
}

.bg-area {
	position: fixed;
	display: block;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	pointer-events: none;
	background: #000000;
}

.bg-area .bg-img {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.bg-area .bg-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

header {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	z-index: 17;
	background: #FFFFFF;
	display: flex;
	padding-left: 40px;
	justify-content: space-between;
	align-items: center;
	transition: 0.3s ease-out;
}

.nav-hidden header {
	transform: translateY(-110%);
}

header .logo {
	max-width: 223px;
	min-width: 168px;
	width: 15%;
}

header img {
	width: 100%;
}

header nav {
	width: 48%;
	max-width: 500px;
	min-width: 400px;
	margin-left: 15%;
}

header nav ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	width: 100%;
}

header nav ul li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 5px;
	color: #011540;
	font-size: 1.6rem;
}

footer nav ul li a>span,
header nav ul li a span {
	position: relative;
	display: block;
}

footer nav ul li a>span:before,
footer nav ul li a>span:after,
header nav ul li a>span:before,
header nav ul li a>span:after {
	position: absolute;
	content: '';
	width: 0;
	height: 1px;
	background-color: #000000;
	transition: .3s;
}

footer nav ul li a>span:before,
header nav ul li a>span:before {
	top: 0;
	left: 0;
}

footer nav ul li a>span:after,
header nav ul li a>span:after {
	bottom: 0;
	right: 0;
}

header div.flexBlock {
	width: 35%;
	height: 100%;
	max-width: 420px;
	min-width: 400px;
	justify-content: flex-end;
}

header div.flexBlock>a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 100%;
	padding: 0 10px;
}

header div.flexBlock>a.tel {
	width: 52%;
}

a.tel {
	pointer-events: none;
}

header div.flexBlock>a.tel>img {
	max-width: 190px;
}

header div.flexBlock>a.contact {
	width: 48%;
	font-size: 1.8rem;
	color: #FFFFFF;
	background: #FF7300;
	min-width: 180px;
}

header div.flexBlock>a.contact span:before {
	content: '';
	position: relative;
	display: block;
	width: 25px;
	height: 20px;
	background: url('../imgs/common/icon-mail.svg') no-repeat;
	background-size: contain;
	background-position: center center;
	margin-right: 7px;
}

.page-header {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 40px 40px;
	color: #FFFFFF;
	background: #011540;
}

.page-header .label {
	font-size: 2.0rem;
	writing-mode: vertical-lr;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 800;
	letter-spacing: 0;
}

.page-header .inner {
	position: relative;
	display: grid;
	align-content: stretch;
	width: 100%;
	max-width: 840px;
	height: 120px;
	padding: 5px 0 0 30px;
	margin-left: 30px;
}

.page-header .inner::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	transform: rotate(14deg);
	width: 3px;
	height: calc(100% / cos(14deg));
	background: #FFFFFF;
}

.page-header .category {
	align-self: flex-start;
	text-indent: .25em;
	line-height: 1.5;
	font-size: 1.8rem;
	font-weight: 700;
	color: #99A6B5;
}

.page-header .title {
	align-self: center;
	line-height: 1.3;
	font-size: 4.0rem;
	letter-spacing: .05em;
	word-break: keep-all;
}

.page-header .category+.title {
	align-self: flex-start;
}

.btn {
	overflow: hidden;
}

.btn>span {
	display: flex;
	position: relative;
	justify-content: center;
	align-items: center;
	gap: .4em;
	text-align: center;
	width: 100%;
	height: 100%;
}

.btn:before {
	content: '';
	position: absolute;
	display: block;
	width: 110%;
	height: auto;
	aspect-ratio: 1;
	left: 50%;
	top: 50%;
	transform-origin: center center;
	transform: translate(-50%, -50%) scale(0.1);
	background: #000000;
	mix-blend-mode: overlay;
	border-radius: 50%;
	pointer-events: none;
	transition: opacity .5s, transform 0s;
	transition-delay: 0s, .4s;
	opacity: 0;
}

.palt {
	font-feature-settings: "palt";
}

header div.flexBlock>a.contact:before,
.btn-orange.btn:before {
	background: #96622d;
}

.page-section {
	padding: 80px 15px;
}

.page-section-padding {
	height: 80px;
}

section .inner {
	position: relative;
	display: block;
	width: 100%;
	max-width: 1080px;
	margin-left: auto;
	margin-right: auto;
}

.bg-white {
	background: #FFFFFF;
}

.bg-gray {
	background: #DCDEE3;
}

.bg-blue {
	background: #011540;
	color: #ffffff;
}

.half-circle-clip {
	mask:
		linear-gradient(white calc(100% - 100vw * (172 / 1440)), calc(100% - 100vw * (172 / 1440)), transparent),
		url("../imgs/common/half-circle-clip-mask.svg") center bottom / 100% no-repeat;
}

section h2.flexBlock {
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	max-width: 840px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 35px;
}

section h2.flexBlock>span.plus-jakarta-sans {
	writing-mode: vertical-rl;
	font-size: 2.0rem;
	color: #262626;
}

section h2.flexBlock>.noto-sans {
	flex-direction: column;
	display: flex;
	line-height: 1.8;
}

section h2.flexBlock>.title-line {
	width: 30px;
	margin-right: 10px;
}

section h2.flexBlock>span>.semibold {
	color: #99A6B5;
	font-size: 2.0rem;
}

section h2.flexBlock>span>.bold {
	font-size: 4.0rem;
	color: #011540;
}

.section-heading {
	max-width: 840px;
	margin: 0 auto 55px;
	line-height: 1.5;
	font-size: 3.0rem;
	letter-spacing: .05em;
}

.section-heading::before {
	content: "";
	display: block;
	width: 2.6em;
	height: 4px;
	background: #011540;
	margin: 0 0 .8em;
}

.section-heading.color-white {
	color: #FFFFFF;
}

.section-heading.color-white::before {
	background-color: #FFFFFF;
}

.bottom-img {
	padding: 8px 0;
	overflow-x: clip;
}

.bottom-img .scroll-slider .slide-track {
	animation: scroll-img-anim 30s linear infinite;
}

.bottom-img .scroll-slider:nth-child(2) .slide-track {
	animation-direction: reverse;
}

.bottom-img .scroll-slider .slide-track .slide-item {
	width: 24.5%;
	padding: 0 0.25% 0.5%;
	box-sizing: content-box;
	flex-shrink: 0;
}

.honbun {
	position: relative;
	display: block;
	width: 100%;
	max-width: 840px;
	margin-left: auto;
	margin-right: auto;
	font-size: 1.6rem;
	letter-spacing: 0.15rem;
}

.btn-orange,
.btn-green,
.btn-navy {
	max-width: 400px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.4rem;
	color: #FFFFFF;
	width: calc(100% - 10px);
	min-height: 80px;
	border-radius: 40px;
	box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.16);
	font-feature-settings: normal;
	letter-spacing: 0.05em;
	transition: 0.3s ease-out;
}

.btn-orange {
	background: #FF7300;
}

.btn-green {
	background: #06C755;
}

.btn-navy {
	background: #011540;
}

.tab-swiper {
	overflow: hidden;
	margin-bottom: 50px;
}

.tab-swiper .swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tab-swiper .swiper-pagination {
	position: relative;
	bottom: auto;
	top: auto;
	padding: 10px 0;
	text-align: right;
}

.tab-swiper .swiper-pagination-bullet {
	background: #F2F2F2;
	border-radius: 0;
	height: 6px;
	opacity: 1;
	width: 60px;
}

.tab-swiper .swiper-pagination-bullet-active {
	background: #219CDE;
}

section .btn-orange {
	margin: 50px auto;
}

.u-svgparts {
	z-index: -1;
}

.document-area {
	font-size: 1.6rem;
	line-height: 2;
	color: #011540;
}

.document-area p {
	margin: 0 0 1.6em;
}

.document-area h2 {
	line-height: 1.5;
	font-size: 2.4rem;
	font-weight: 700;
	margin: 0 0 .75em;
}

.document-area hr {
	border: none;
	border-top: 1px solid #99A6B5;
	margin: 2.5em 0;
}

.document-area a {
	color: #219CDE;
	text-decoration: underline;
}

.document-area a:hover {
	opacity: 0.8;
}

.document-area ul,
.document-area ol {
	margin: 1.4em 0 1.4em 1.6em;
}

.document-area li {
	margin-bottom: 0.5em;
}

.inline-spacer {
	display: inline-block;
	width: var(--size);
}

footer {
	background: #FFFFFF;
}

footer .scroll-slider {
	padding-top: 16px;
	margin-bottom: -0.5%;
}

footer .inner {
	position: relative;
	display: block;
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

footer .contact-area {
	background: #DCDEE3;
	padding: 40px 15px;
}

footer .contact-area .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

footer .contact-area .inner h3 {
	font-size: 4.0rem;
}

footer .contact-area .inner>.rel.flexBlock {
	color: #00398D;
	font-size: 1.6rem;
	white-space: nowrap;
}

footer .contact-area .inner>.rel.flexBlock p.flexBlock {
	justify-content: center;
	align-items: center;
}

footer .contact-area .inner .btn-orange {
	max-width: 320px;
}

footer .contact-area .inner .btn-orange span:before {
	content: '';
	position: relative;
	display: block;
	width: 30px;
	height: 24px;
	background: url('../imgs/common/icon-mail.svg') no-repeat;
	background-size: contain;
	background-position: center center;
	margin-right: 10px;

}

footer .contact-area .inner .tel {
	width: 235px;
	margin-right: 15px;
}

footer .contact-area .inner .tel>img {
	width: 100%;
}

footer nav {
	padding: 20px 15px;
}

footer nav a {
	font-size: 1.6rem;
	color: #011540;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

footer nav ul {
	display: flex;
	justify-content: center;
}

footer nav ul li {
	margin: 0 15px;
}

footer .bottom-area {
	background: #011540;
	padding: 80px 0 40px;
}

footer .bottom-area>.flexBlock {
	width: calc(100% - 30px);
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	justify-content: space-between;
	color: #FFFFFF;
	font-size: 1.6rem;
}

footer .bottom-area>.flexBlock:nth-child(1) {
	align-items: flex-start;
	margin-bottom: 50px;
}

footer .bottom-area>.flexBlock:nth-child(1)>.flexBlock {
	flex-direction: column;
}

footer .bottom-area>.flexBlock:nth-child(1)>.flexBlock .semibold {
	font-size: 1.8rem;
}

footer .bottom-area>.flexBlock:nth-child(1)>a.rel {
	width: 100%;
	max-width: 360px;
	overflow: hidden;
}

footer .bottom-area>.flexBlock:nth-child(1)>a.rel:after {
	border: 1px solid #219CDE;
	background: none;
	width: 100%;
	height: 100%;
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	transition: 0.5s;
	pointer-events: none;
	margin-left: 0;
}

footer .bottom-area>.flexBlock:nth-child(1)>a.rel img {
	width: 100%;
	height: auto;
	transition: 1s;
	transform-origin: center center;
}

footer .bottom-area>.flexBlock:nth-child(1)>a.rel span {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 2px;
	color: #FFFFFF;
	background: #219CDE;
	bottom: 0;
	left: 0;
	width: 100%;
}

footer .bottom-area>.flexBlock:nth-child(1)>a.rel span:after {
	content: '';
	position: relative;
	display: block;
	background: url('../imgs/common/icon-blank-white.svg') no-repeat;
	background-position: center center;
	width: 22px;
	height: 22px;
	margin-left: 7px;
}

footer .bottom-area>.flexBlock:nth-child(2) a {
	color: #FFFFFF;
}

footer .bottom-area>.flexBlock:nth-child(1) .logo {
	width: 300px;
	margin-bottom: 20px;
}

footer .bottom-area>.flexBlock:nth-child(1) .logo img {
	width: 100%;
	height: auto;
}

.floating-area {
	width: 60px;
	height: 260px;
	background: #FFE200;
	position: fixed;
	right: 0;
	bottom: 0;
	overflow: hidden;
	z-index: 20;
}

.floating-area>a.flexBlock {
	padding: 12px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 10px;
	width: 100%;
	height: 100%;
}

.floating-area>a.flexBlock>span {
	writing-mode: vertical-rl;
	position: relative;
	display: block;
	font-size: 1.8rem;
	color: #011540;
	margin: 10px 0;
}

.floating-area>a.flexBlock::before {
	height: 110%;
	width: auto;
}

.floating-area .label {
	display: flex;
	justify-content: center;
	align-content: center;
	width: fit-content;
}

.floating-area .label-horizontal {
	display: none;
}

.floating-area .label-vertical {
	width: 2.2rem;
}

.floating-area .label img {
	height: auto;
}

.sp-nav {
	display: none;
}

.scroll-slider {
	overflow: hidden;
	width: 100%;
}

section .scroll-slider {
	margin-left: -15px;
	margin-right: -15px;
	width: calc(100% + 30px);
}

.slide-track {
	display: flex;
	animation: scroll-anim 15s linear infinite;
}

.slide-track .slide-item {
	position: relative;
	display: block;
	width: 60%;
	flex-shrink: 0;
}

.slide-track .slide-item>img {
	width: 100%;
	height: auto;
	display: block;
}


@media screen and (min-width: 769px) {
	footer .bottom-area>.flexBlock:nth-child(1)>a.rel:hover:after {
		border-width: 5px;
	}

	footer .bottom-area>.flexBlock:nth-child(1)>a.rel:hover img {
		transform: scale(1.1);
	}

	footer .bottom-area>.flecxBlock:nth-child(2) a:hover {
		text-decoration: underline;
	}

	.btn:hover:before {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1.1);
		transition-delay: 0s;
		transition: opacity .8s, transform .6s ease-in-out;
	}

	.btn-orange:hover,
	.btn-green:hover,
	.btn-navy:hover {
		transform: translateY(-5px);
	}

	footer nav ul li a:hover>span:before,
	footer nav ul li a:hover>span:after,
	header nav ul li a:hover>span:before,
	header nav ul li a:hover>span:after {
		width: 100%;
	}
}

@media screen and (max-width: 1200px) {
	header {
		padding-left: 15px;
	}

	header nav {
		margin-left: 5%;
	}
}

@media screen and (max-width: 1024px) {
	header div.flexBlock>a.contact span:before {
		width: 20px;
		height: 20px;
		margin-right: 5px;
	}

	header div.flexBlock,
	header nav {
		min-width: auto;
	}

	header nav {
		margin-left: 0;
	}

	header nav ul li a {
		font-size: 1.3rem;
	}

	header div.flexBlock>a {
		padding: 0 5px;
	}

	header div.flexBlock>a.contact {
		font-size: 1.3rem;
		min-width: auto;
	}

	footer .contact-area .inner {
		flex-wrap: wrap;
		justify-content: space-around;
	}

	footer .contact-area .inner>.rel.flexBlock {
		flex-direction: column;
	}

	footer .contact-area .inner h3 {
		font-size: 3.2rem;
		width: 100%;
		text-align: center;
		margin-bottom: 25px;
	}

	footer .scroll-slider {
		margin-bottom: -1.2%;
	}
}

@media screen and (max-width: 768px) {
	.tab-swiper {
		width: calc(100% + 30px);
		margin-left: -15px;
		margin-right: -15px;
	}

	a.tel {
		pointer-events: all;
	}

	header {
		position: relative;
	}

	.nav-hidden header {
		transform: translateY(0%);
	}

	.half-circle-clip>.clip-target,
	.half-circle {
		-webkit-clip-path: url(#arch_square_sp);
		clip-path: url(#arch_square_sp);
	}


	.half-circle-clip:before {
		-webkit-mask: url(#halfEllipseMaskTop_sp);
		mask: url(#halfEllipseMaskTop_sp);
	}

	.sp-nav {
		display: block;
		pointer-events: none;
		opacity: 0;
		transform: scale(0);
		position: fixed;
		z-index: 18;
		width: 100%;
		height: 100dvh;
		top: 0;
		left: 0;
		padding: 60px 0;
		transition: 0.5s ease-out;
	}

	.sp-nav:before {
		content: '';
		position: absolute;
		display: block;
		width: auto;
		height: 100%;
		aspect-ratio: 1;
		background: rgba(1, 21, 64, 0.95);
		top: 50%;
		left: 50%;
		transition: 0.5s ease-out;
		transform: translate(-50%, -50%) scale(0);
		transform-origin: center center;
		border-radius: 50%;
	}

	.open .sp-nav {
		opacity: 1;
		transform: scale(1);
		pointer-events: all;
	}

	.open .sp-nav:before {
		transform: translate(-50%, -50%) scale(1.5);
	}

	.sp-nav>ul {
		position: relative;
		width: 100%;
		height: 100%;
		overflow-x: hidden;
		overflow-y: auto;
		padding: 2px 25px;
	}

	.sp-nav>ul>li {
		position: relative;
		width: 100%;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.sp-nav>ul>li a {
		color: #FFFFFF;
		font-size: 1.8rem;
		padding-right: 10px;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}

	.sp-nav>ul>li.hasArrow a:before {
		background: url('../imgs/common/nav-arrow.svg') no-repeat;
		background-size: contain;
		background-position: center center;
		content: '';
		position: absolute;
		display: block;
		width: 8px;
		height: 100%;
		right: 0;
		top: 0;
	}

	.sp-nav>ul>li a[target="_blank"]::after {
		background: url("../imgs/common/icon-blank-white.svg") no-repeat center;
		background-size: contain;
	}

	.sp-nav>ul>li.sub {
		padding-left: 20px;
		padding-top: 0px;
	}

	.sp-nav>ul>li.sub a {
		font-size: 1.6rem;
	}

	.sp-nav>ul>li:last-child a {
		font-size: 1.4rem;
	}

	.nav-btn.sp-only {
		position: fixed;
		display: block;
		width: 60px;
		height: 60px;
		top: 0;
		right: 0;
		z-index: 19;
	}

	.nav-btn.sp-only>span {
		position: absolute;
		display: block;
		width: 20px;
		height: 2px;
		background: #00398D;
		left: 0;
		right: 0;
		margin-left: auto;
		margin-right: auto;
		transition: 0.3s ease-out;
	}

	.nav-btn.sp-only>span:nth-child(1) {
		top: 22px;
	}

	.nav-btn.sp-only>span:nth-child(2) {
		top: 0;
		bottom: 0;
		margin-top: auto;
		margin-bottom: auto;
	}

	.nav-btn.sp-only>span:nth-child(3) {
		bottom: 22px;
		transform: scale(0.7, 1);
		transform-origin: left center;
	}

	.open .nav-btn.sp-only>span:nth-child(1) {
		transform-origin: center center;
		top: 29px;
		transform: rotate(135deg) scale(1.2);
	}

	.open .nav-btn.sp-only>span:nth-child(2) {
		transform-origin: center center;
		transform: scale(2);
		opacity: 0;
	}

	.open .nav-btn.sp-only>span:nth-child(3) {
		transform-origin: center center;
		bottom: 29px;
		transform: rotate(-135deg) scale(1.2);
	}

	.nav-btn.sp-only:before {
		content: '';
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		position: absolute;
		display: block;
		pointer-events: none;
		background: rgba(255, 255, 255, 0.7);
		backdrop-filter: blur(10px) saturate(50%);
		-webkit-backdrop-filter: blur(10px) saturate(50%);
	}

	.floating-area {
		width: 100%;
		height: 60px;
		display: flex;
	}

	.floating-area>a:nth-child(1),
	.floating-area>a:nth-child(2) {
		width: 16%;
		min-width: 60px;
		height: 60px;
		display: flex !important;
		align-items: center;
		justify-content: center;
	}

	.floating-area>a:nth-child(1) {
		background: #00398D;
	}

	.floating-area>a:nth-child(2) {
		background: #FF7300;
	}

	.floating-area>a:nth-child(3) {
		width: 68%;
		min-width: calc(100% - 120px);
		height: 60px;
		flex-direction: row;
	}

	.floating-area>a.flexBlock>span {
		writing-mode: inherit;
	}

	.floating-area .label {
		flex-grow: 1;
	}

	.floating-area .label-horizontal {
		display: block;
	}

	.floating-area .label-vertical {
		display: none;
		width: auto;
		height: 2.0rem;
	}

	.floating-area .label img {
		height: auto;
	}

	section h2.flexBlock>span>.semibold {
		font-size: 1.8rem;
	}

	section h2.flexBlock>span>.bold {
		font-size: 3.2rem;
	}

	section h2.flexBlock>.noto-sans {
		line-height: 1.6;
	}

	.section-heading {
		margin-bottom: 35px;
		font-size: 2.8rem;
	}

	.honbun {
		font-size: 1.4rem;
	}

	.btn-orange,
	.btn-green,
	.btn-navy {
		font-size: 1.8rem;
		min-height: 60px;
		max-width: 320px;
	}

	.slide-track {
		animation: scroll-anim-sp 20s linear infinite;
	}

	.slide-track .slide-item {
		width: 150%;
		flex-shrink: 0;
	}

	.bottom-img {
		padding: 2px;
	}

	.bottom-img .scroll-slider .slide-track {
		animation: scroll-img-anim-sp 30s linear infinite;
	}

	.bottom-img .scroll-slider .slide-track .slide-item {
		width: 44.5%;
		padding: 0 0.25% 0.5%;
	}

	.page-section {
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.page-section-padding {
		height: 30px;
	}


	footer .contact-area {
		margin-top: 0;
	}

	footer .contact-area .inner>.rel.flexBlock p.flexBlock {
		margin-bottom: 30px;
	}

	footer nav {
		display: none;
	}

	footer .bottom-area {
		padding: 40px 0 95px;
	}

	footer .bottom-area>.flexBlock:nth-child(1) .logo {
		width: 262px;
	}

	footer .bottom-area>.flexBlock:nth-child(1) {
		flex-direction: column;
		align-items: center;
		text-align: center;
		margin-bottom: 30px;
	}

	footer .bottom-area>.flexBlock:nth-child(1)>.flexBlock .semibold {
		font-size: 1.6rem;
	}

	footer .bottom-area>.flexBlock {
		font-size: 1.4rem;
	}

	footer .bottom-area>.flexBlock:nth-child(1)>a.rel {
		margin-top: 20px;
	}

	footer .flexBlock.hasCopyRight>:nth-child(1) {
		display: none;
	}

	footer .flexBlock.hasCopyRight {
		justify-content: center;
	}
}


.flexBlock.sp-only,
.sp-only {
	display: none !important;
}

.pc-only {
	display: block !important;
}

br.pc-only {
	display: inline !important;
}

span.pc-only {
	display: inline-block !important;
}

.flexBlock.pc-only {
	display: flex !important;
}

@media screen and (max-width:768px) {
	.page-header {
		padding-left: 15px;
		padding-right: 15px;
		gap: 0;
	}

	.page-header .inner {
		margin-left: 15px;
	}

	.page-header .category {
		top: 0;
	}

	.page-header .title {
		padding: 0;
		font-size: 3.2rem;
	}

	br.pc-only,
	span.pc-only,
	.flexBlock.pc-only,
	.pc-only {
		display: none !important;
	}

	.sp-only {
		display: block !important;
	}

	.flexBlock.sp-only {
		display: flex !important;
	}

	br.sp-only {
		display: inline !important;
	}
}

/* アニメ関連 */


@keyframes scroll-anim {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-60%);
	}
}

@keyframes scroll-anim-sp {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-300%);
	}
}

@keyframes scroll-img-anim {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-125%);
	}
}

@keyframes scroll-img-anim-sp {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-225%);
	}
}

@keyframes glitch-move {
	0% {
		transform: translate(0, 0);
	}

	15% {
		transform: translate(-4px, 8px);
	}

	30% {
		transform: translate(2px, -10px);
	}

	45% {
		transform: translate(-3px, 5px);
	}

	50% {
		transform: translate(0, 0);
	}

	60% {
		transform: translate(0, 0);
	}

	75% {
		transform: translate(6px, -9px);
	}

	90% {
		transform: translate(-2px, 6px);
	}

	100% {
		transform: translate(0, 0);
	}
}

@keyframes glitch-rgb {
	0% {
		opacity: 0;
		clip-path: inset(0 0 0 0);
		transform: translate(0, 0);
	}

	20% {
		opacity: 1;
		clip-path: inset(25% 0 50% 0);
		transform: translate(-26px, 23px);
	}

	40% {
		opacity: 1;
		clip-path: inset(40% 0 20% 0);
		transform: translate(28px, -24px);
	}

	50% {
		opacity: 1;
		clip-path: inset(0 0 0 0);
		transform: translate(0, 0);
	}

	60% {
		opacity: 1;
		clip-path: inset(0 0 0 0);
		transform: translate(0, 0);
	}

	80% {
		opacity: 1;
		clip-path: inset(60% 0 15% 0);
		transform: translate(-30px, 25px);
	}

	90% {
		opacity: 1;
	}

	100% {
		opacity: 0;
		clip-path: inset(0 0 0 0);
		transform: translate(0, 0);
	}
}

@keyframes moveRightToLeft {
	0% {
		transform: translateX(30%);
		opacity: 0;
	}

	10% {
		opacity: 1;
	}

	90% {
		opacity: 1;
	}

	100% {
		opacity: 0;
		transform: translateX(-30%);
	}
}