@charset "UTF-8";

/* ==================================================

RESET

*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	text-decoration: none;
	font-style: normal;
	font-size: inherit;
	font-family: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
}
html, body {
	width: 100%;
}
body {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
ul, ol {
	list-style-type: none;
}
table {
	border-collapse: collapse;
}
a, button {
	cursor: pointer;
}
img,
picture,
svg {
	max-width: 100%;
	height: auto;
}
input, select, textarea, button {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	border-radius: 0;
	resize: none;
}

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

base

----------------------------------------------------------  */
:root {
	--color-blue: #00a0e9;
	--color-blue-pale: #d3edfb;
	--color-navy: #004098;
}
a {
	text-decoration: none;
	color: #000;
}

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

font-size

----------------------------------------------------------  */
html {
	/* 幅1440px 1rem = 10px */
	font-size: calc(1000 / 1440 * 1vw);
}
@media screen and (max-width: 1240px) {
	html {
		/* 幅1240px 1rem = 10px */
		font-size: calc(1000 / 1240 * 1vw);
	}
}
@media screen and (max-width: 1024px) {
	html {
		/* 幅1024px 1rem = 10px */
		font-size: calc(1000 / 1024 * 1vw);
	}
}
@media screen and (max-width: 768px) {
	html {
		/* 幅768px 1rem = 10px */
		font-size: calc(1000 / 768 * 1vw);
	}
}
@media screen and (max-width: 540px) {
	html {
		/* 幅540px 1rem = 10px */
		font-size: calc(1000 / 540 * 1vw);
	}
}
@media screen and (max-width: 414px) {
	html {
		/* 幅414px 1rem = 10px */
		font-size: calc(1000 / 414 * 1vw);
	}
}

body {
	color: #000;
	font-family: 'Noto Serif JP', serif;
	font-size: 1.5rem;
	letter-spacing: 0.06em;
	line-height: 1.6;
}
@media screen and (max-width: 768px) {
	body {
		font-size: 1.6rem;
	}
}

main {
	padding-top: 10rem;
}
@media screen and (max-width: 768px) {
	main {
		padding-top: 6rem;
	}
}

p, dl {
	line-height: 2;
}

article.bg img {
	width: 100%;
}

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

header

----------------------------------------------------------  */
header {
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.9);
	font-family: "Noto Sans JP", sans-serif;
	transition: background-color 0.3s ease;
}
header.transparent {
	background-color: rgba(255, 255, 255, 0);
}
header img {
	display: block;
	width: 100%;
}
header .wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 4rem;
	height: 10rem;
}
header h1 {
	width: 17rem;
}
header h1 a {
	display: block;
}
header nav {
	display: flex;
}
header nav ul {
	display: flex;
}
header nav ul li {
	padding: 0 6.5rem 0 0;
}
header nav ul:last-child li {
	padding: 0 0 0 3rem;
}
header nav ul:last-child li:first-child {
	padding: 0;
}
header nav a {
	display: block;
	position: relative;
	opacity: 1 !important;
}
header nav em {
	font-style: normal;
	font-family: "Akshar", sans-serif;
	font-size: 1.6rem;
	line-height: 3rem;
	color: #000;
	transition: opacity 0.3s ease;
}
header nav img {
	width: 4rem;
	transition: opacity 0.3s ease;
}
header nav span {
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	font-size: 1rem;
	line-height: 1.1;
	letter-spacing: 0;
	white-space: nowrap;
	transform: translate(-50%, 2.2rem);
	opacity: 0;
	color: #282828;
	transition: all 0.3s ease;
}
@media (any-hover: hover) {

	header nav a:hover em,
	header nav a:hover img {
		opacity: 0.7;
	}
	header nav a:hover span {
		transform: translate(-50%, 3.2rem);
		opacity: 1;
	}
}
@media screen and (max-width: 1240px) {
	header nav ul li {
		padding: 0 3rem 0 0;
	}
	header nav ul:last-child li {
		padding: 0 0 0 2rem;
	}
}
@media screen and (max-width: 1024px) {
	header .wrap {
		padding: 0 3rem;
	}
	header nav ul li {
		padding: 0 2.6rem 0 0;
	}
	header nav em {
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 768px) {
	header .wrap {
		padding: 0 2rem;
		height: 6rem;
	}
	header h1 {
		width: 14rem;
	}
	header nav {
		display: none;
	}
}

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

nav

----------------------------------------------------------  */
.gnav {
	display: flex;
	justify-content: flex-end;
}
ul.gnav-menu {
	display: flex;
	align-items: center;
}
ul.gnav-menu>li {
	font-weight: bold;
	white-space: nowrap;
	margin-left: 3rem;
	padding-left: 3rem;
	padding-top: 0.2rem;
	padding-bottom: 0.6rem;
	border-left: solid 0.12rem rgba(0, 0, 0, 0.3);
}
ul.gnav-menu>li>a {
	display: block;
}
ul.gnav-menu>li>a:hover {
	opacity: 1;
	color: var(--color-blue);
}

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

footer

----------------------------------------------------------  */
footer {
	background-color: #eee;
	color: #282828;
	padding: 6rem 10rem 3rem 6rem;
	font-family: "Noto Sans JP", sans-serif;
}
footer a {
	color: #282828;
}
footer .wrap {
	display: flex;
	justify-content: space-between;
}
footer .company .logo {
	width: 22rem;
}
footer .company dl {
	margin-top: 4rem;
}
footer .company dt {
	font-size: 1.6rem;
}
footer .company dd {
	font-size: 1.4rem;
}
footer nav {
	margin-left: -5rem;
	width: 80rem;
}
footer .nav-content {
	display: flex;
	flex-wrap: wrap;
}
footer .nav-content li {
	display: flex;
	margin-bottom: 2rem;
	flex-basis: 25%;
}
footer .nav-content a {
	display: block;
	position: relative;
	opacity: 1 !important;
}
footer .nav-content em {
	font-style: normal;
	font-family: "Akshar", sans-serif;
	font-size: 1.6rem;
	line-height: 3rem;
	color: #000;
	transition: opacity 0.3s ease;
}
footer .nav-content span {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 1rem;
	line-height: 1.1;
	letter-spacing: 0;
	white-space: nowrap;
	transform: translate(0, 2.2rem);
	opacity: 0;
	color: #282828;
	transition: all 0.3s ease;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;
}
footer .nav-other {
	display: flex;
	gap: 5rem;
	margin-top: 3rem;
	font-size: 1.4rem;
}
footer .nav-other li {
	display: flex;
	justify-content: center;
}
footer .nav-other a {
	display: flex;
	align-items: center;
}
footer .nav-other a:after {
	content: '';
	display: block;
	margin-left: 0.5rem;
	margin-top: 0.2rem;
	width: 1.2rem;
	height: 1.2rem;
	background-image: url(../img/footer-arrow.svg);
	background-size: contain;
}
footer small {
	display: block;
	margin-top: 3rem;
	text-align: center;
	font-size: 1.2rem;
}
@media (any-hover: hover) {
	footer .nav-content a:hover span {
		transform: translate(0, 3.2rem);
		opacity: 1;
	}
	@media screen and (max-width: 1240px) {
		footer .nav-content a:hover span {
			transform: translate(-50%, 3.2rem);
		}
	}
}
@media screen and (max-width: 1240px) {
	footer {
		text-align: center;
	}
	footer .wrap {
		display: block;
	}
	footer .company .logo {
		margin: 0 auto;
	}
	footer .company dl {
		margin-top: 2rem;
	}
	footer nav {
		margin: 0;
		width: 100%;
	}
	footer .nav-content {
		justify-content: center;
		margin-top: 4rem;
	}
	footer .nav-content li {
		justify-content: center;
		flex-basis: 25%;
	}
	footer .nav-content span {
		left: 50%;
		transform: translate(-50%, 2.2rem);
	}
	footer .nav-other {
		justify-content: center;
		margin-top: 4rem;
	}
}
@media screen and (max-width: 768px) {
	footer {
		padding: 6rem 2rem 4rem 2rem;
	}
	footer .company .logo {
		width: 18rem;
	}
	footer .company dt {
		font-size: 1.4rem;
	}
	footer .company dd {
		font-size: 1.3rem;
	}
	footer .nav-content {
		display: block;
		margin-top: 3rem;
	}
	footer .nav-content li {
		padding: 1rem 0;
	}
	footer .nav-content em {
		font-size: 2rem;
	}
	footer .nav-content span {
		transform: translate(-50%, 3.2rem);
		opacity: 1;
		font-size: 1.2rem;
	}
	footer .nav-other {
		display: block;
		margin-top: 4rem;
		font-size: 1.4rem;
	}
	footer .nav-other li {
		padding: 0.5rem 0;
	}
	footer small {
		display: block;
		margin-top: 3rem;
		text-align: center;
		font-size: 1.2rem;
	}
}

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

pagination

----------------------------------------------------------  */
.c-pagination {
	margin-top: 5rem;
}
.c-pagination .pagination {
	display: flex;
	justify-content: center;
	gap: 2rem;
}
.c-pagination .pagination span {
	color: var(--color-blue);
}

@media screen and (max-width: 768px) {
	.c-pagination {
		margin-top: 2rem;
	}
}

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

page-ttl

----------------------------------------------------------  */
.page-ttl {
	background: url(../img/top-kv-1.jpg) no-repeat center / cover;
	position: relative;
}
.page-ttl>div {
	background: rgba(0, 0, 0, 0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	height: 20rem;
}
.page-ttl h2 {
	color: #fff;
	font-size: 3.6rem;
	font-weight: normal;
	line-height: 1;
}
@media screen and (max-width: 768px) {
	.page-ttl h2 {
		font-size: 3.2rem;
	}
}

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

style

----------------------------------------------------------  */
/* heading */
.heading-1 {
	line-height: 1;
	margin-bottom: 2.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-weight: 600;
	text-align: center;
}
.heading-1 span:nth-of-type(1) {
	color: rgba(0, 160, 233, 0.2);
	font-size: 8rem;
	font-weight: 500;
}
.heading-1 span:nth-of-type(2) {
	font-size: 3rem;
	position: relative;
	z-index: 10;
	margin-top: -1.5rem;
}
.heading-2 {
	font-size: 2.4rem;
	font-weight: 600;
	border-bottom: 0.4rem solid var(--color-blue);
	margin-bottom: 1.5rem;
	padding-bottom: 0.5rem;
}
.heading-2 span {
	color: var(--color-blue);
	font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
	.heading-1 {
		line-height: 1.4;
	}
	.heading-1 span:nth-of-type(1) {
		font-size: 5rem;
		line-height: 1;
	}
	.heading-1 span:nth-of-type(2) {
		font-size: 2.4rem;
		margin-top: -1.3rem;
	}
	.heading-1 span.adjust {
		font-size: 3.7rem;
	}
	.heading-2 {
		font-size: 2.0rem;
	}
	.heading-2 span {
		display: block;
	}
}

/* more */
.more {
	text-align: center;
	line-height: 1;
	display: block;
	color: #fff;
	width: 24rem;
	padding: 2rem 0;
}

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

hamburger

----------------------------------------------------------  */
.gnav-sp {
	display: block;
	position: fixed;
	top: 0;
	bottom: 0;
	width: 100%;
	transition: all .5s;
	z-index: -1;
	opacity: 0;
	background: #fff;
	font-family: "Noto Sans JP", sans-serif;
}
.gnav-sp .wrap {
	display: flex;
	height: 100%;
	text-align: center;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.gnav-sp nav {
	display: block;
	margin: auto;
	padding: 6rem 0;
}
.gnav-sp ul span {
	display: block;
	font-size: 1.2rem;
	line-height: 1.2;
}
.gnav-sp ul em {
	display: block;
	font-style: normal;
	font-family: "Akshar", sans-serif;
	font-size: 2rem;
	line-height: 1.2;
}
.gnav-sp ul:first-child li {
	margin-bottom: 3rem;
}
.gnav-sp ul:last-child {
	display: flex;
	justify-content: center;
	gap: 3rem;
}
.gnav-sp ul:last-child img {
	margin-bottom: 1rem;
	width: 6rem;
}

/* toggle */
.toggle-btn {
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	width: 7rem;
	height: 6rem;
	transition: all .5s;
	cursor: pointer;
	z-index: 100000;
}
.toggle-btn span {
	display: block;
	position: absolute;
	top: 50%;
	left: 2rem;
	width: 3rem;
	height: 0.2rem;
	background-color: #000;
	transition: all .4s;
}
.toggle-btn span:nth-child(1) {
	margin-top: -0.8rem;
}
.toggle-btn span:nth-child(3) {
	margin-top: 0.8rem;
}

/* open */
.open .gnav-sp {
	top: 0;
	opacity: 1;
	z-index: 99998;
}
.open .toggle-btn span:nth-child(1) {
	transform: rotate(-45deg);
	margin-top: 0;
}
.open .toggle-btn span:nth-child(2) {
	opacity: 0;
}
.open .toggle-btn span:nth-child(3) {
	transform: rotate(45deg);
	margin-top: 0;
}

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

layout

----------------------------------------------------------  */
article.low {
	padding: 10rem 0;
}

article.bg {
	background: url(../img/bg-mv.jpg?v=1) no-repeat center top;
	background-size: 100% auto;
}
.container {
	width: 80rem;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	article.low {
		padding: 5rem 0;
	}
	article.bg {
		background-size: 200% auto;
	}
	.container {
		width: auto;
	}
}

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

display

----------------------------------------------------------  */
@media screen and (min-width: 769px) {
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
}

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

fixed

----------------------------------------------------------  */
#fixed {
	position: fixed;
	z-index: 999;
	bottom: 1rem;
	right: 1rem;
}
#fixed li {
	width: 6rem;
}
#fixed li:not(:last-child) {
	margin-bottom: 0.8rem;
}

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

link

----------------------------------------------------------  */
a {
	text-decoration: none;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
a.line {
	text-decoration: underline;
}
a:hover.line {
	text-decoration: none;
}
a:hover {
	opacity: 0.5;
}
@media screen and (min-width: 769px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}
@media screen and (max-width: 768px) {
	a[href^="tel:"] {
		text-decoration: underline;
	}
}

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

class

----------------------------------------------------------  */
/* margin */
.mb-10 {
	margin-bottom: 1rem !important;
}
.mb-15 {
	margin-bottom: 1.5rem !important;
}
.mb-20 {
	margin-bottom: 2.0rem !important;
}
.mb-25 {
	margin-bottom: 2.5rem !important;
}
.mb-30 {
	margin-bottom: 3.0rem !important;
}
.mb-35 {
	margin-bottom: 3.5rem !important;
}
.mb-40 {
	margin-bottom: 4.0rem !important;
}
.mb-45 {
	margin-bottom: 4.5rem !important;
}
.mb-50 {
	margin-bottom: 5.0rem !important;
}
.mb-55 {
	margin-bottom: 5.5rem !important;
}
.mb-60 {
	margin-bottom: 6.0rem !important;
}
.mb-65 {
	margin-bottom: 6.5rem !important;
}
.mb-70 {
	margin-bottom: 7.0rem !important;
}
.mb-75 {
	margin-bottom: 7.5rem !important;
}
.mb-80 {
	margin-bottom: 8.0rem !important;
}
.mb-85 {
	margin-bottom: 8.5rem !important;
}
.mb-90 {
	margin-bottom: 9.0rem !important;
}
.mb-95 {
	margin-bottom: 9.5rem !important;
}
.mb-100 {
	margin-bottom: 10.0rem !important;
}

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

fade

----------------------------------------------------------  */
@-webkit-keyframes fadeUp {
	0% {
		opacity: 0;
		-webkit-transform: translateY(3rem);
		transform: translateY(3rem);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
@-moz-keyframes fadeUp {
	0% {
		opacity: 0;
		-moz-transform: translateY(3rem);
		transform: translateY(3rem);
	}
	100% {
		opacity: 1;
		-moz-transform: translateY(0);
		transform: translateY(0);
	}
}
@-ms-keyframes fadeUp {
	0% {
		opacity: 0;
		-ms-transform: translateY(3rem);
		transform: translateY(3rem);
	}
	100% {
		opacity: 1;
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
}
@keyframes fadeUp {
	0% {
		opacity: 0;
		transform: translateY(2rem);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
.fadeUp {
	-webkit-animation: fadeUp 0.6s ease;
	-moz-animation: fadeUp 0.6s ease;
	-ms-animation: fadeUp 0.6s ease;
	animation: fadeUp 0.6s ease;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both
}
.fade {
	opacity: 0;
}
.delay-1 {
	animation-delay: 0.2s;
	-moz-animation-delay: 0.2s;
	-webkit-animation-delay: 0.2s;
	-o-animation-delay: 0.2s;
}
.delay-2 {
	animation-delay: 0.35s;
	-moz-animation-delay: 0.35s;
	-webkit-animation-delay: 0.35s;
	-o-animation-delay: 0.35s;
}
.delay-3 {
	animation-delay: 0.5s;
	-moz-animation-delay: 0.5s;
	-webkit-animation-delay: 0.5s;
	-o-animation-delay: 0.5s;
}
.delay-4 {
	animation-delay: 0.65s;
	-moz-animation-delay: 0.65s;
	-webkit-animation-delay: 0.65s;
	-o-animation-delay: 0.65s;
}
.delay-5 {
	animation-delay: 0.8s;
	-moz-animation-delay: 0.8s;
	-webkit-animation-delay: 0.8s;
	-o-animation-delay: 0.8s;
}

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

news archive

----------------------------------------------------------  */
.l-news-archive {
	margin: 0 auto;
	max-width: 93.6rem;
	font-family: "Noto Sans JP", sans-serif;
	color: #3C3C3C;
}
.l-news-archive ul {
	border-bottom: 1px solid #D9D9D9;
	font-size: 1.4rem;
}
.l-news-archive li {
	border-top: 1px solid #D9D9D9;
}
.l-news-archive li a {
	position: relative;
	display: flex;
	padding: 3rem 4rem 3rem 0;
	color: #3C3C3C;
}
.l-news-archive li a::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 2rem;
	margin-top: -0.5rem;
	width: 1rem;
	height: 1rem;
	background-image: url(../img/arrow-news.png);
	background-size: contain;
}
.l-news-archive li a:hover {
	opacity: 1;
}
.l-news-archive li a em {
	transition: color 0.3s ease;
}
.l-news-archive li a time {
	display: block;
	flex-basis: 14rem;
	padding-left: 2rem;
}
.l-news-archive li a em {
	flex: 1;
	display: block;
	font-style: normal;
}
.l-news-archive li.new em::after {
	content: 'New!';
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1.3;
	display: inline-block;
	color: #fff;
	background: #F00;
	padding: 0 0.5rem;
	margin-left: 1rem;
	vertical-align: baseline;
}

@media(hover: hover) {
	.l-news-archive li a:hover em {
		color: var(--color-blue);
	}
}

@media screen and (max-width: 768px) {
	.l-news-archive {
		padding: 0 2rem;
	}
	.l-news-archive ul {
		font-size: 1.6rem;
	}
	.l-news-archive li a {
		display: block;
		padding: 2rem 4rem 2rem 1rem;
	}
	.l-news-archive li a::before {
		right: 1.5rem;
		margin-top: -0.6rem;
		width: 1.2rem;
		height: 1.2rem;
	}
	.l-news-archive li a time {
		padding-left: 0;
	}
	.l-news-archive li a em {
		margin-top: 0.5rem;
	}
	.l-news-archive li.new em {
		position: relative;
		padding-top: 2.2rem;
	}
	.l-news-archive li.new em::after {
		position: absolute;
		top: 0.4rem;
		left: 0;
		margin: 0;
	}
}

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

kv

----------------------------------------------------------  */
.top-kv-hero {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 60rem;
	height: 100vh;
}
.top-kv-hero-video {
	position: fixed;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
}
.top-kv-hero-video .player {
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 1s linear;
}
.opening-ready .top-kv-hero-video .player {
	opacity: 1;
}
.top-kv-hero-video video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.5;
}
.top-kv-hero-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 95rem;
	opacity: 0;
}
.opening-start .top-kv-hero-inner {
	opacity: 1;
}
.top-kv-hero-inner div img {
	display: block;
	width: 35rem;
	transition: all 1s ease;
	transform: translateX(-5rem);
	opacity: 0;
}
.opening-start .top-kv-hero-inner div img {
	transform: translateX(0);
	opacity: 1;
}
.top-kv-hero-inner h2 {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	font-weight: 400;
	font-size: 3rem;
	line-height: 1.1;
	text-shadow: 0 0 1rem #fff, 0 0 0.6rem #fff;
}
.top-kv-hero-inner h2 em {
	display: flex;
	font-style: normal;
}
.top-kv-hero-inner h2 em span {
	display: block;
	transition-duration: 0.4s;
	transition-property: transform, opacity;
	transition-timing-function: ease-out;
	transform: translateY(5rem);
	opacity: 0;
}
.opening-start .top-kv-hero-inner h2 em span {
	transform: translateY(0);
	opacity: 1;
}
.top-kv-hero-scroll {
	position: absolute;
	top: 50%;
	left: 0;
	display: flex;
	align-items: center;
	padding-left: 1rem;
	font-family: "Akshar", sans-serif;
	font-size: 1.4rem;
	line-height: 1;
	transform: rotate(-90deg);
}
.top-kv-hero-scroll i {
	position: relative;
	overflow: hidden;
	display: block;
	margin: 0 1.5rem 0.2rem 0;
	width: 8.2rem;
	height: 1px;
}
.top-kv-hero-scroll i::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	animation: animKvHeroScroll 2s ease infinite;
}
.top-kv-hero-cart {
	position: absolute;
	right: 4rem;
	bottom: 4rem;
	width: 11.4rem;
}
.top-kv-hero-cart a {
	position: relative;
	display: block;
	opacity: 1;
}
.top-kv-hero-cart a span {
	position: relative;
	display: block;
	padding: 0.1rem;
	border-radius: 50%;
	box-shadow: 0 0.2rem 1.6rem rgba(18, 85, 255, 0.16);
}
.top-kv-hero-cart a span i {
	display: block;
	border-radius: 50%;
	overflow: hidden;
	background-color: #fff;
}
.top-kv-hero-cart a span i img {
	display: block;
	transition: opacity 0.3s ease;
}
.top-kv-hero-cart a>img {
	position: absolute;
	top: 50%;
	left: 100%;
	margin: -0.2rem 0 0 -1.2rem;
	width: 2.5rem;
	transition: all 0.3s ease;
}
@keyframes animKvHeroScroll {
	0% {
		transform: translate(0%, 0%);
	}
	49% {
		transform: translate(-100%, 0%);
	}
	50% {
		transform: translate(-100%, 200%);
	}
	51% {
		transform: translate(100%, 200%);
	}
	52% {
		transform: translate(100%, 0%);
	}
	100% {
		transform: translate(0%, 0%);
	}
}
.top-kv-hero-cart a:hover span i img {
	opacity: 0.6;
}
.top-kv-hero-cart a:hover>img {
	transform: translateX(0.4rem);
}
@media screen and (max-width: 1200px) {
	.top-kv-hero-inner {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: auto;
	}
	.top-kv-hero-inner h2 {
		margin-top: 5rem;
		align-items: center;
	}
}
@media screen and (max-width: 768px) {
	.top-kv-hero {
		min-height: 54rem;
	}
	.top-kv-hero-inner {
		padding-bottom: 14vh;
	}
	.top-kv-hero-inner div img {
		width: min(calc(260 / 375 * 100vw), 350px);
	}
	.top-kv-hero-inner h2 {
		display: flex;
		flex-direction: column;
		margin-top: min(calc(30 / 375 * 100vw), 50px);
		gap: min(calc(30 / 375 * 100vw), 30px);
		font-size: min(calc(19 / 375 * 100vw), 30px);
		letter-spacing: 0;
	}
	.top-kv-hero-inner h2 em span {
		transform: translateY(min(calc(30 / 375 * 100vw), 40px));
	}
	.top-kv-hero-scroll {
		left: 34px;
		top: auto;
		bottom: 0;
		padding: 0;
		font-size: 1.2rem;
		transform-origin: 0 100%;
	}
	.top-kv-hero-cart {
		right: 3rem;
		bottom: 2rem;
		width: 11.4rem;
	}
}
.top-kv-logo {
	width: 84rem;
	margin: 0 auto 2rem auto;
}
.top-kv-catch {
	color: var(--color-navy);
	font-weight: 600;
	font-size: 2.8rem;
	text-align: center;
	line-height: 1.4;
	margin-bottom: 3rem;
}
.top-kv figure {
	padding-right: 10rem;
	position: relative;
	z-index: 10;
}
@media screen and (max-width: 768px) {
	.top-kv figure {
		padding-right: 0;
	}
}

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

news text

----------------------------------------------------------  */
.top-news {
	margin: 4rem auto 10rem auto;
}
.top-news h2 {
	line-height: 1;
	margin-bottom: 4rem;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 600;
}
.top-news .l-news-archive {
	margin: 4rem auto 10rem auto;
}

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

feature

----------------------------------------------------------  */
.top-feature {
	margin: 0 0 8rem 0;
}
.top-feature ul li {
	margin-bottom: 8rem;
}
.top-feature ul li figure,
.top-feature ul li p {
	width: 80rem;
	margin: 0 auto;
}
.top-feature ul li figure {
	margin-bottom: 2rem;
}
.top-feature ul li figure.col {
	display: flex;
	justify-content: space-between;
}
.top-feature ul li figure.col img {
	width: 49%;
	height: auto;
}
.top-feature ul li p {
	text-align: center;
}
.top-feature ul li:nth-child(1)>div {
	display: flex;
	align-items: center;
	flex-direction: column;
}
.top-feature ul li:nth-child(1)>div::before {
	content: "";
	width: 5rem;
	height: 0.25rem;
	background: var(--color-blue);
	margin: 3rem 0 5rem 0;
}
.top-feature ul li:nth-child(1)>div a {
	display: flex;
	align-items: center;
	line-height: 1;
	color: var(--color-blue);
	font-weight: 600;
	font-size: 2rem;
}
.top-feature ul li:nth-child(1)>div a::after {
	content: "";
	width: 5rem;
	height: 5rem;
	background: url(../img/arrow-1.png) no-repeat center;
	background-size: 5rem auto;
	margin-left: 1rem;
}
@media screen and (max-width: 768px) {
	.top-feature {
		overflow: hidden;
		margin: 0;
	}
	.top-feature ul li {
		padding: 0 3rem;
	}
	.top-feature ul li:nth-child(1)>div::before {
		margin: 0 0 3rem 0;
	}
	.top-feature ul li figure,
	.top-feature ul li p {
		width: auto;
	}
	.top-feature ul li figure {
		margin-bottom: 2rem;
	}
	.top-feature ul li figure.col {
		flex-direction: column;
	}
	.top-feature ul li figure.col img {
		width: 100%;
	}
	.top-feature ul li figure.col img:not(:last-of-type) {
		margin-bottom: 1.5rem;
	}
	.top-feature ul li p {
		margin-bottom: 3rem;
		text-align: left;
		font-size: 1.6rem;
	}
	.top-feature ul li:nth-child(1)>div a {
		font-size: 1.8rem;
	}
}
.top-video {
	max-width: 93.6rem;
	margin: 0 auto 3rem;
}

video {
	width: 100%;
}
@media screen and (max-width: 768px) {
	.top-video {
		max-width: initial;
	}
}
.top-kv .purchase-link a {
	font-size: 5rem !important;
}
.top-notes {
	margin-bottom: 10rem;
}
.top-notes ul {
	padding: 2.5rem 3rem;
	width: 80rem;
	margin: 0 auto;
	border: 1px solid #00a0e9;
	border-radius: 1.3rem;
	font-family: 'Noto Sans JP', serif;
	font-weight: 500;
}
.top-notes ul li {
	position: relative;
	margin-bottom: 2rem;
	padding-left: 2em;
	font-size: 1.6rem;
	line-height: 1.75;
}
.top-notes ul li:last-child {
	margin-bottom: 0;
}
.top-notes ul li::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 2.1rem;
	height: 2.1rem;
	background-image: url(../img/top-note-check.png);
	background-size: contain;
}
.top-notes ul li span {
	color: #1255ff;
}
.top-notes ul li em {
	font-style: normal;
	color: #ff0000;
}
@media screen and (max-width: 768px) {
	.top-notes {
		margin-bottom: 10rem;
		padding: 0 3rem;
	}
	.top-notes ul {
		padding: 2.5rem 2rem;
		width: 100%;
	}
}

/**/
.top-video-embed {
	max-width: 65%;
	margin: 0 auto 10rem;
}
.top-video-embed .player {
	position: relative;
	padding-top: 56.25%;
}
.top-video-embed .player iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 768px) {
	.top-video-embed {
		margin: 6rem auto -3rem;
		padding: 0 3rem;
		max-width: initial;
	}
}

.top-short-videos {
	display: flex;
	justify-content: center;
	margin: 0 auto;
	padding: 0 0 5rem 0;
	max-width: 70rem;
	gap: 10rem;
}
.top-short-video-embed {
	flex-basis: 50%;
}
.top-short-video-embed .player {
	position: relative;
	padding-top: 177.778%;
}
.top-short-video-embed .player iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 768px) {
	.top-short-videos {
		flex-direction: column;
		margin: 0 auto;
		padding: 5rem 0 0 0;
		max-width: 70%;
		gap: 5rem;
	}
}
.feature-kv figure.fade {
	width: 76%;
}
.feature-kv figure.fade img {
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.feature-kv {
		margin: -4rem 0 7rem 0 !important;
		padding: 0 !important;
	}
	.feature-kv figure.fade {
		width: 95%;
	}
}


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

intro

----------------------------------------------------------  */
.about-intro {
	margin-bottom: 10rem;
}
.about-intro p {
	text-align: center;
	margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
	.about-intro {
		padding: 0 3rem;
	}
	.about-intro p {
		text-align: left;
	}
}

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

merit

----------------------------------------------------------  */
.about-merit p {
	text-align: center;
	margin-bottom: 2.5rem;
}
.about-merit p span {
	display: block;
	font-size: 1.2rem;
	margin-top: 1rem;
	line-height: 1.7;
}
.about-merit ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.about-merit ul li {
	width: 47.5%;
}
.about-merit ul li:nth-child(n + 3) {
	margin-top: 2.5rem;
}
.about-merit ul li dl dt {
	font-size: 2.6rem;
	font-weight: 600;
	margin: 1rem 0 0.5rem 0;
	line-height: 1.6;
}
.about-merit ul li dl dd {
	line-height: 1.8;
}
@media screen and (max-width: 768px) {
	.about-merit {
		padding: 0 3rem;
	}
	.about-merit p {
		text-align: left;
	}
	.about-merit ul {
		display: block;
	}
	.about-merit ul li {
		width: 100%;
	}
	.about-merit ul li:nth-child(n + 3) {
		margin-top: 0;
	}
	.about-merit ul li:not(:last-child) {
		margin-bottom: 4rem;
	}
}


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

intro

----------------------------------------------------------  */
.feature-intro {
	margin-bottom: 10rem;
}
.feature-intro p {
	text-align: center;
	margin-bottom: 3rem;
}
.feature-intro figure:nth-of-type(1) {
	width: 80rem;
	margin: 0 auto 3rem auto;
}
.feature-intro figure:nth-of-type(2) {
	padding-right: 10rem;
}
@media screen and (max-width: 768px) {
	.feature-intro {
		padding: 0 3rem;
	}
	.feature-intro p {
		text-align: left;
	}
	.feature-intro figure:nth-of-type(1) {
		width: auto;
	}
	.feature-intro figure:nth-of-type(2) {
		padding-right: 0;
	}
}

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

safe

----------------------------------------------------------  */
.feature-safe {
	margin-bottom: 10rem;
}
.feature-safe p {
	text-align: center;
	margin-bottom: 2rem;
}
.feature-safe figure {
	width: 64rem;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.feature-safe {
		padding: 0 3rem;
	}
	.feature-safe p {
		text-align: left;
	}
	.feature-safe figure {
		width: auto;
	}
}

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

safe

----------------------------------------------------------  */
.feature-manufacture>p {
	text-align: center;
}
.feature-manufacture p {
	margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
	.feature-manufacture {
		padding: 0 3rem;
	}
	.feature-manufacture>p {
		text-align: left;
	}
	.feature-manufacture p {
		margin-bottom: 2rem;
	}
}

/* specification */
.specification {
	text-align: center;
}
.specification figure {
	display: inline-block;
}
.specification img {
	max-width: 50%;
	height: auto;
}

/* feature-safe */
.feature-safe {
	text-align: center;
}
.feature-safe figure {
	display: inline-block;
}
.feature-safe img {
	max-width: 30%;
	height: auto;
}


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

flow

----------------------------------------------------------  */
.construction-flow {
	margin-bottom: 10rem;
}
.construction-flow>p {
	text-align: center;
}
.construction-flow>p:last-of-type {
	margin-bottom: 4rem;
}
.construction-flow figure {
	margin: 1.5rem 0;
}
.construction-flow-check {
	margin-bottom: 4rem;
}
.construction-flow-check ul {
	display: flex;
	justify-content: space-between;
}
.construction-flow-check ul li {
	width: 47%;
}
.construction-flow-check ul li dl dt {
	background: #ccecfb;
	line-height: 1;
	padding: 1rem 1.5rem 1.1rem 1.5rem;
	font-size: 1.8rem;
	font-weight: 600;
	margin-bottom: 0.8rem;
}
.construction-flow-select {
	margin-bottom: 4rem;
}
.construction-flow-select p {
	margin-bottom: .5rem;
}
@media screen and (max-width: 768px) {
	.construction-flow {
		padding: 0 3rem;
	}
	.construction-flow>p {
		text-align: left;
	}
	.construction-flow-check ul {
		display: block;
	}
	.construction-flow-check ul li {
		width: 100%;
	}
	.construction-flow-check ul li:not(:last-child) {
		margin-bottom: 2rem;
	}
	.construction-flow-check ul li dl dt {
		padding: 1.2rem 1.5rem 1.1rem 1.5rem;
	}
}

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

procedure

----------------------------------------------------------  */
.construction-procedure ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.construction-procedure ul li {
	width: 47%;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.construction-procedure ul li:nth-child(n + 3) {
	margin-top: 5rem;
}
.construction-procedure ul li>figure {
	width: 45%;
}
.construction-procedure ul li>dl {
	width: 50%;
	line-height: 1.6;
}
.construction-procedure ul li dl dt {
	margin-bottom: 1rem;
}
.construction-procedure .step {
	display: flex;
	align-items: center;
	font-weight: 600;
	color: var(--color-blue);
	line-height: 1;
	margin-bottom: 0.5rem;
}
.construction-procedure .step>span {
	color: #d9f1fc;
	font-size: 7rem;
	margin-top: -0.5rem;
	margin-left: -2.4rem;
	position: relative;
	z-index: -1;
}
.construction-procedure ul li dl dt>span:last-of-type {
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1.4;
}
@media screen and (max-width: 768px) {
	.construction-procedure {
		padding: 0 3rem;
	}
	.construction-procedure ul {
		display: block;
	}
	.construction-procedure ul li {
		width: 100%;
		display: block;
	}
	.construction-procedure ul li:nth-child(n + 3) {
		margin-top: 0;
	}
	.construction-procedure ul li:not(:last-child) {
		margin-bottom: 4rem;
	}
	.construction-procedure ul li>figure {
		width: 100%;
		margin-bottom: 1rem;
	}
	.construction-procedure ul li>figure img {
		height: 36rem;
		object-fit: cover;
		border-radius: 2rem;
	}
	.construction-procedure ul li>dl {
		width: 100%;
	}
}


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

intro

----------------------------------------------------------  */
.voice-intro p {
	text-align: center;
	margin-bottom: 5rem;
}
.voice-intro ul {
	margin-bottom: 3rem;
}
.voice-intro div {
	font-size: 1.2rem;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.voice-intro {
		padding: 0 3rem;
	}
	.voice-intro p {
		text-align: left;
	}
	.voice-intro ul li:not(:last-child) {
		margin-bottom: 1rem;
	}
	.voice-intro div {
		text-align: left;
	}
}


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

intro

----------------------------------------------------------  */
.casestudy-intro p {
	text-align: center;
	margin-bottom: 4rem;
}
.casestudy-intro ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.casestudy-intro ul li {
	width: 47.5%;
}
.casestudy-intro ul li:nth-child(n + 3) {
	margin-top: 2.5rem;
}
.casestudy-intro ul li figure {
	display: block;
	overflow: hidden;
	border-radius: 2.5rem;
}
.casestudy-intro ul li figure img {
	display: block;
}
.casestudy-intro ul li dl dt {
	font-size: 2.6rem;
	font-weight: 600;
	margin: 1rem 0 0.5rem 0;
	line-height: 1.6;
}
.casestudy-intro ul li dl dd {
	line-height: 1.8;
}
@media screen and (max-width: 768px) {
	.casestudy-intro {
		padding: 0 3rem;
	}
	.casestudy-intro p {
		text-align: left;
	}
	.casestudy-intro ul {
		display: block;
	}
	.casestudy-intro ul li {
		width: 100%;
	}
	.casestudy-intro ul li:nth-child(n + 3) {
		margin-top: 0;
	}
	.casestudy-intro ul li:not(:last-child) {
		margin-bottom: 4rem;
	}
}


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

info

----------------------------------------------------------  */
.company-info {
	margin-bottom: 10rem;
}
.company-info .list {
	display: table;
	margin-top: 8rem;
	width: 100%;
	border-top: 1px solid #323232;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	letter-spacing: 0;
}
.company-info .list .tr {
	display: table-row;
}
.company-info .list .th,
.company-info .list .td {
	display: table-cell;
	padding: 3rem 0;
	vertical-align: middle;
	border-bottom: 1px solid #323232;
}
.company-info .list .th {
	width: 30%;
	font-weight: 500;
}
.company-info .list .th .small {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
	font-size: 1.2rem;
}
.company-info .list .th .small br {
	display: none;
}
.company-info .list .indent {
	display: inline-block;
	text-indent: -0.5em;
}
.company-info .list a {
	text-decoration: underline;
	color: #006DE9;
}
@media screen and (max-width: 768px) {
	.company-info .inner {
		padding: 0 3rem;
	}
	.company-info .list {
		margin-top: 5rem;
	}
	.company-info .list .th,
	.company-info .list .td {
		padding: 2rem 0;
	}
	.company-info .list .th {
		padding-right: 2em;
		width: 1em;
		white-space: nowrap;
	}
	.company-info .list .th .small br {
		display: block;
	}
}

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

message

----------------------------------------------------------  */
.company-message {
	margin-bottom: 10rem;
}
.company-message .lead {
	margin: 6rem 0 4rem 0;
	text-align: center;
}
.company-message .lead p {
	font-size: 1.8rem;
	line-height: 2.6;
	letter-spacing: 0;
}
.company-message .foot {
	text-align: center;
	font-weight: 500;
	font-size: 2rem;
}
@media screen and (max-width: 768px) {
	.company-message .inner {
		padding: 0 3rem;
	}
	.company-message .lead {
		margin: 4rem 0 3rem 0;
	}
	.company-message .lead p {
		font-size: 1.7rem;
		line-height: 2.1;
		letter-spacing: 0;
	}
	.company-message .foot {
		font-size: 1.7rem;
	}
}

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

partnership

----------------------------------------------------------  */
.company-partnership {
	margin-bottom: 10rem;
}
.company-partnership .inner {
	margin-top: 8rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	line-height: 1.75;
}
.company-partnership .inner p {
	margin-bottom: 3rem;
}
.company-partnership .inner .block {
	margin-bottom: 3rem;
}
.company-partnership .inner .block h3 {
	font-weight: inherit;
}
@media screen and (max-width: 768px) {
	.company-partnership .inner {
		margin-top: 4rem;
	}
	.company-partnership .inner {
		padding: 0 3rem;
	}
}

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

clients

----------------------------------------------------------  */
.company-clients {
	margin-bottom: 10rem;
}
.company-clients .inner {
	margin-top: 8rem;
	font-family: 'Noto Sans JP', sans-serif;
}
.company-clients .list {
	text-align: center;
	font-size: 2rem;
}
.company-clients .list li {
	margin-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
	.company-clients .inner {
		margin-top: 4rem;
	}
	.company-clients .list {
		font-size: 1.8rem;
	}
}

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

advisors

----------------------------------------------------------  */
.company-advisors {
	margin-bottom: 5rem;
}
.company-advisors .list {
	display: table;
	margin-top: 8rem;
	width: 100%;
	border-top: 1px solid #323232;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	letter-spacing: 0;
}
.company-advisors .list .tr {
	display: table-row;
}
.company-advisors .list .th,
.company-advisors .list .td {
	display: table-cell;
	padding: 3rem 0;
	vertical-align: middle;
	border-bottom: 1px solid #323232;
}
.company-advisors .list .th {
	width: 30%;
	font-weight: 500;
}
.company-advisors .list .td {
	font-size: 1.4rem;
}
.company-advisors .list .name {
	margin-bottom: 2rem;
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1.9;
}
.company-advisors .list .name span {
	display: inline-block;
	text-indent: -0.5em;
}
.company-advisors .list p {
	line-height: 1.7;
}
@media screen and (max-width: 768px) {
	.company-advisors {
		margin-bottom: 0;
	}
	.company-advisors .inner {
		padding: 0 3rem;
	}
	.company-advisors .list {
		display: block;
		margin-top: 4rem;
		border-top: 0;
	}
	.company-advisors .list .tr {
		display: block;
	}
	.company-advisors .list .tr:not(:last-child) {
		margin-bottom: 4rem;
	}
	.company-advisors .list .th,
	.company-advisors .list .td {
		display: block;
		padding: 0;
		border-bottom: 0;
	}
	.company-advisors .list .th {
		margin-bottom: 1.5rem;
		width: 100%;
		border: 1px solid #323232;
		text-align: center;
	}
	.company-advisors .list .name {
		text-align: center;
	}
}


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

p-news-archive

----------------------------------------------------------  */
.p-news-archive .heading-1 {
	margin-bottom: 8rem;
}

@media screen and (max-width: 768px) {
	.p-news-archive .heading-1 {
		margin-bottom: 4rem;
	}
}

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

p-news-article

----------------------------------------------------------  */
.p-news-article {

}
.p-news-article .content {
	margin-top: 10rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	line-height: 2;
}
.p-news-article .content .head {
	margin-bottom: 4rem;
}
.p-news-article .content .head h2 {
	margin-bottom: 1rem;
	font-weight: 500;
	font-size: 2.4rem;
	line-height: 1.3;
}
.p-news-article .content .head time {
	display: block;
	font-size: 1.4rem;
}
.p-news-article .content .article p {
	margin: 1.5em 0;
}
.p-news-article .content .pagination {
	display: flex;
	justify-content: center;
	margin-top: 8rem;
	font-size: 1.6rem;
}
.p-news-article .content .pagination .prev span,
.p-news-article .content .pagination .next span {
	visibility: hidden;
}

.p-news-article .content .article .wp-block-flexible-table-block-table {
	font-size: 1.5rem;
}
.p-news-article .content .article .has-large-font-size {
	line-height: 1.5;
}
.p-news-article .content .article .has-small-font-size {
	line-height: 1.7;
}
.p-news-article .content .article strong {
	font-weight: 500;
}
.p-news-article .content .article em {
	font-style: italic;
}
.p-news-article .content .article a {
	text-decoration: underline;
	color: #006DE9;
}
.p-news-article .content .wp-block-separator {
	margin-top: 4rem;
	margin-bottom: 4rem;
}
.p-news-article .content ul.wp-block-list > li {
	padding-left: 1em;
	text-indent: -1em;
}
.p-news-article .content ul.wp-block-list > li:before {
	content: '・';
}
.p-news-article .content ol.wp-block-list {
	counter-reset: chapter;
}
.p-news-article .content ol.wp-block-list > li {
	counter-increment: chapter;
	position: relative;
	padding-left: 2em;
}
.p-news-article .content ol.wp-block-list > li:before {
	content: counter(chapter) ".";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

.p-news-article .pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5rem;
	text-align: center;
	line-height: 1.3;
}
.p-news-article .pagination .back span {
	padding-left: 0.4em;
}

@media screen and (max-width: 768px) {
	.p-news-article .content {
		margin-top: 4rem;
		padding: 0 2rem;
	}
	.p-news-article .content .head {
		margin-bottom: 3rem;
	}
	.p-news-article .content .head h2 {
		font-size: 2rem;
	}
	.p-news-article .content .article .wp-block-flexible-table-block-table > table {
		white-space: nowrap;
		width: auto !important;
		table-layout: auto !important;
	}

	.p-news-article .pagination {
		gap: 0;
		justify-content: space-between;
	}
	.p-news-article .pagination .back {
		display: flex;
		justify-content: center;
		flex: 1;
	}
	.p-news-article .pagination .back span {
		display: block;
		padding-left: 0;
	}
}

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

p-contact

----------------------------------------------------------  */
textarea,
input[type="text"],
input[type="email"] {
	display: block;
	padding: 1rem 1rem;
	width: 100%;
	background-color: #FFF;
	border: 1px solid #999;
	font-size: 1.6rem;
	line-height: normal !important;
}
textarea {
	height: 20rem;
}
input[type="checkbox"] {
	display: block;
	width: 2rem;
	height: 2rem;
	border: 1px solid #666;
	background-color: #FFF;
	background-position: center;
	background-size: contain;
}
input[type="checkbox"]:checked {
	background-image: url(../img/form-check.svg);
}


.p-contact .form-input {
	font-family: "Noto Sans JP", sans-serif;
}
.p-contact .form-input .form-wrap {
	display: table;
	width: 100%;
}
.p-contact .form-input .form-wrap dl {
	display: table-row;
}
.p-contact .form-input .form-wrap dt,
.p-contact .form-input .form-wrap dd {
	display: table-cell;
	padding: 2rem 0;
	line-height: 1.5;
}
.p-contact .form-input .form-wrap dt {
	width: 22rem;
	font-weight: 700;
}
.p-contact .form-input .form-wrap dt span {
	display: flex;
	align-items: center;
}
.p-contact .form-input .form-wrap dt span i {
	display: block;
	margin-left: 1rem;
	padding: 0.3rem 0.5rem;
	background-color: #ED4A4A;
	font-weight: 700;
	font-size: 80%;
	line-height: 1.1;
	color: #FFF;
}
.p-contact .form-input .field-name {
	display: flex;
	align-items: center;
	gap: 3rem;
}
.p-contact .form-input .field-name div {
	flex: 1;
}
.p-contact .form-input .alert {
	margin-top: 1rem;
	font-weight: 700;
	color: #ED4A4A;
}

.p-contact .form-confirm {
	font-family: "Noto Sans JP", sans-serif;
}
.p-contact .form-confirm .form-wrap {
	display: table;
	width: 100%;
}
.p-contact .form-confirm .form-wrap dl {
	display: table-row;
}
.p-contact .form-confirm .form-wrap dt,
.p-contact .form-confirm .form-wrap dd {
	display: table-cell;
	padding: 2rem 0;
	line-height: 1.5;
}
.p-contact .form-confirm .form-wrap dt {
	width: 22rem;
	font-weight: 700;
}

.p-contact .form-complete {
	font-family: "Noto Sans JP", sans-serif;
}
.p-contact .form-complete {
	margin: 5rem 0;
	text-align: center;
}
.p-contact .form-complete h2 {
	margin-bottom: 4rem;
	font-weight: 600;
	font-size: 3rem;
}
.p-contact .form-complete p {
	font-size: 1.6rem;
}

.p-contact .form-privacy {
	margin: 4rem 0;
	border: 1px solid #999;
	background-color: #FFF;
	font-size: 1.4rem;
	line-height: 2;
}
.p-contact .form-privacy .scroll {
	overflow-y: auto;
	padding: 2rem;
	height: 18rem;
	word-break: break-all;
}
.p-contact .form-privacy h2 {
	font-weight: 700;
}
.p-contact .form-agree {
	margin: 4rem 0;
}
.p-contact .form-agree label {
	display: flex;
	justify-content: center;
	align-items: center;
}
.p-contact .form-agree input {
	margin: 0.1rem 1rem 0 0;
}
.p-contact .form-submit {
	display: flex;
	justify-content: center;
	margin: 4rem -2rem 0 -2rem;
}
.p-contact .form-submit > div {
	flex-basis: 50%;
	padding: 0 2rem;
}
.p-contact .form-submit button,
.p-contact .form-submit a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 6rem;
	background-color: #FFF;
	border: 1px solid #006DE9;
	color: #006DE9;
	font-weight: 700;
	font-size: 1.6rem;
}
.p-contact .form-submit button:disabled {
	border: 1px solid #CCC;
	color: #CCC;
	pointer-events: none;
	cursor: default;
}

@media(hover: hover) {
	.p-contact .form-submit button,
	.p-contact .form-submit a {
		opacity: 1;
		transition: background-color 0.3s ease, color 0.3s ease;
	}
	.p-contact .form-submit button:hover,
	.p-contact .form-submit a:hover {
		background-color: #006DE9;
		color: #FFF;
	}
}

@media screen and (max-width: 768px) {

	.p-contact .form-input .field-name {
		gap: 1rem;
	}
	.p-contact .form-input .form-wrap {
		display: block;
		padding: 0 2rem;
	}
	.p-contact .form-input .form-wrap dl {
		display: block;
		margin-bottom: 3rem;
	}
	.p-contact .form-input .form-wrap dt,
	.p-contact .form-input .form-wrap dd {
		display: block;
		padding: 0;
	}
	.p-contact .form-input .form-wrap dt {
		margin-bottom: 1rem;
		width: auto;
	}

	.p-contact .form-confirm .form-wrap {
		display: block;
		padding: 0 2rem;
	}
	.p-contact .form-confirm .form-wrap dl {
		display: block;
		margin-bottom: 3rem;
	}
	.p-contact .form-confirm .form-wrap dt,
	.p-contact .form-confirm .form-wrap dd {
		display: block;
		padding: 0;
	}
	.p-contact .form-confirm .form-wrap dt {
		margin-bottom: 1rem;
		width: auto;
	}

	.p-contact .form-complete h2 {
		margin-bottom: 4rem;
		font-size: 2.4rem;
	}
	.p-contact .form-complete p {
		padding: 0 2rem;
	}

	.p-contact .form-privacy {
		margin: 4rem 2rem;
	}

	.p-contact .form-submit {
		display: block;
		margin: 4rem 0 0 0;
		padding: 0 2rem;
	}
	.p-contact .form-submit > div {
		padding: 0 0 2rem 0;
	}
}
