@charset "UTF-8";

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

	style.css
	Version: 0.1

	SP 0 < 800
	TB 801 < 980
	PC 981 < 1140
	PCLG 1401 <
*/

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

	[ CONFIG ]

*/
:root {
	--color-primary: #006AB7;
	--color-gray: #475569;
}

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

	[ FONTS ]

*/
@font-face {
	font-family: 'icon';
	src: url("../fonts/icon.woff?v=2") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: block;
}
@font-face {
	font-family: 'YuGothic-Adjusted';
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: 'YuGothic-Adjusted';
	src: local("Yu Gothic Bold");
	font-weight: 700;
}

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

	[ RESET ]

*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	background-color: transparent;
	background-repeat: no-repeat;
	text-decoration: none;
	text-indent: 0;
	text-transform: none;
	font-style: inherit;
	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 {
	display: block;
	width: 100%;
	height: auto;
}
input, select, textarea, button {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	border-radius: 0;
	resize: none;
}

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

	[ HTML ]

*/
html {
	background-color: #fff;
	overflow-y: scroll;
	/* 1rem = 10px */
	font-size: 10px;
}
@media screen and (max-width: 1360px) {
	html {
		/* 1360px 1rem = 10px */
		font-size: calc(100vw * 10 / 1360);
	}
}
@media screen and (max-width: 768px) {
	html {
		/* 375px 1rem = 10px */
		font-size: clamp(10px, calc(100vw * 10 / 375), 16px);
	}
}
::placeholder {
  color: #738192;
}

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

	[ BODY ]

*/
body {
	position: relative;
	font-family: 'YuGothic-Adjusted', "Yu Gothic Medium", "YuGothic", "Yu Gothic", "游ゴシック", "Hiragino Kaku Gothic ProN", sans-serif;
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 26rem;
	background-image: url(../img/bg-wave-head.png);
	background-size: 100% 100%;
}
@media screen and (max-width: 1500px) {
	body::before {
		background-size: 1500px 100%;
	}
}
@media screen and (max-width: 768px) {
	body::before {
		height: 8rem;
		background-image: url(../img/bg-wave-head-sp.png);
		background-size: 100% 100%;
	}
}

a {
	text-decoration: underline;
	color: var(--color-primary);
}

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

	[ ICON ]

*/
[class^="icon-"], [class*=" icon-"] {
	font-family: 'icon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.icon-submit:before {
	content: "\e900";
}
.icon-privacy:before {
	content: "\e901";
}
.icon-page-prev:before {
	content: "\e902";
}
.icon-page-next:before {
	content: "\e903";
}
.icon-manufacture:before {
	content: "\e904";
}
.icon-header-manufacture:before {
	content: "\e905";
}
.icon-header-cart:before {
	content: "\e906";
}
.icon-edit:before {
	content: "\e907";
}
.icon-download:before {
	content: "\e908";
}
.icon-check:before {
	content: "\e909";
}
.icon-cart:before {
	content: "\e90a";
}
.icon-calendar:before {
	content: "\e90b";
}
.icon-breadcrumbs:before {
	content: "\e90c";
}
.icon-breadcrumbs-arrow:before {
	content: "\e90d";
}
.icon-ask:before {
	content: "\e90e";
}
.icon-arrow-link:before {
	content: "\e90f";
}
.icon-arrow-down:before {
	content: "\e910";
}

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

	[ LOADING ]

*/

.loading > div {
	display: flex;
	justify-content: center;
	padding: 3rem 0;
}
.loading .spinner {
	width: 4rem;
	height: 4rem;
	border: 0.4rem solid rgba(0, 0, 0, 0.1); /* Or use a CSS var for this color */
	border-radius: 50%;
	border-top-color: #006AB7;
	animation: spin 1s ease-in-out infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

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

	[ MAIN ]

*/
main {
	overflow: hidden;
	position: relative;
	padding-top: 11rem;
}
@media screen and (max-width: 768px) {
	main {
		padding-top: 6rem;
	}
}

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

	[ HEADER ]

*/
header {
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	right: 0;
	padding: 3rem 5rem 0 5rem;
}
header a {
	text-decoration: none;
	color: inherit;
}
header .header {
	display: flex;
	justify-content: space-between;
	padding: 1.5rem 3rem 0 4rem;
	width: 100%;
	height: 8rem;
	-webkit-backdrop-filter: blur(0.4rem);
	backdrop-filter: blur(0.4rem);
	border: 1px solid rgba(255,255,255,0.5);
	border-radius: 999rem;
	background-color: rgba(255,255,255,0.5);
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15), inset -0.5rem -1rem 1rem rgba(255,255,255,0.1), inset 0.5rem 1rem 1rem rgba(0,106,183,0.2);
}
header .header .logo {
	padding-top: 0.5rem;
}
header .header .logo .white {
	display: none;
}
header .header .logo img {
	width: auto;
	height: 4rem;
}
header .header nav {
	display: flex;
	gap: 2rem;
	font-weight: 700;
}
header .header nav ul {
	display: flex;
}
header .header .nav-content {
	font-size: 1.4rem;
	color: #000;
}
header .header .nav-content li {
	position: relative;
	display: flex;
	align-items: center;
	padding: 0 1.8rem;
	height: 5rem;
}
header .header .nav-content li:first-child {
	padding-left: 0;
}
header .header .nav-content li:first-child::before {
	content: none;
}
header .header .nav-content li:last-child {
	padding-right: 0;
}
header .header .nav-content li::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -1rem;
	width: 1px;
	height: 1.8rem;
	background-color: #000;
}
header .header .nav-cta {
	gap: 1rem;
}
header .header .nav-cta .nav-store button,
header .header .nav-cta .nav-contact {
	display: flex;
	align-items: center;
	padding: 0 1.6rem;
	height: 5rem;
	border-radius: 999rem;
	text-align: left;
	font-size: 1.4rem;
	line-height: 1.3;
	color: #fff;
}
header .header .nav-cta .nav-store {
	border-radius: 2.5rem;
	background-color: #BF0000;
}
header .header .nav-cta .nav-store button {
	border-radius: 2.5rem;
	background-color: #BF0000;
}
header .header .nav-cta .nav-store button > em {
	position: relative;
	display: block;
	margin-right: 1rem;
	padding: 0 1rem 0 0;
}
header .header .nav-cta .nav-store button > em::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -0.8rem;
	width: 1px;
	height: 1.6rem;
	background-color: #FFF;
}
header .header .nav-cta .nav-store button > em span {
	display: block;
	font-size: 1.2rem;
}
header .header .nav-cta .nav-store button > i {
	font-size: 1.4rem;
	line-height: 1.6rem;
	transition: transform 0.3s ease;
}
header .header .nav-cta .nav-store button[aria-expanded="true"] > i {
	transform: rotate(180deg);
}
header .header .nav-cta .nav-contact {
	background-color: var(--color-primary);
}
header .header .nav-cta .nav-contact > em {
	position: relative;
	display: block;
	margin-right: 1rem;
	padding: 0 1rem 0 0;
}
header .header .nav-cta .nav-contact > em::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -0.8rem;
	width: 1px;
	height: 1.6rem;
	background-color: #FFF;
}
header .header .nav-cta .nav-contact > em span {
	display: block;
	font-size: 1.2rem;
}
header .header .nav-cta .nav-contact > i {
	line-height: 1.6rem;
}
header .header .nav-cta .child {
	overflow: hidden;
	height: 0;
}
header .header .nav-cta .child ul {
	display: block;
	padding: 0 1.6rem 0.4rem 1.6rem;
	font-size: 1.4rem;
}
header .header .nav-cta .child ul li {
	border-top: 1px solid #FFF;
}
header .header .nav-cta .child ul li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 4rem;
}
header .header .nav-cta .child ul li a {
	color: #FFF;
}
header .header .nav-cta .child ul li a i {
	font-size: 1.8rem;
}
header .header .nav-lang {
	display: flex;
	align-items: center;
	margin-left: -1rem;
	height: 5rem;
	font-size: 1.4rem;
	line-height: 1.1;
	color: #666;
}
header .header .nav-lang li {
	border-left: 1px solid var(--color-gray);
}
header .header .nav-lang li:first-child {
	border: 0;
}
header .header .nav-lang a {
	display: block;
	padding: 0 1rem;
}
header .header .nav-lang .current {
	color: var(--color-primary);
}
header .header .toggle {
	display: none;
	position: relative;
	z-index: 9999;
	width: 5rem;
	height: 4.4rem;
	border-radius: 0.5rem;
	background-color: var(--color-primary);
}
header .header .toggle i {
	display: block;
	position: absolute;
	top: 50%;
	left: 1.4rem;
	margin-top: -0.1rem;
	width: 2.2rem;
	height: 0.2rem;
	background-color: #fff;
	transition: all 0.3s ease;
}
header .header .toggle i:first-child {
	margin-top: -0.7rem;
}
header .header .toggle i:last-child {
	margin-top: 0.5rem;
}
header .header .toggle[aria-expanded="true"] i:nth-child(1) {
	transform: rotate(45deg);
	margin-top: 0;
}
header .header .toggle[aria-expanded="true"] i:nth-child(2) {
	opacity: 0;
}
header .header .toggle[aria-expanded="true"] i:nth-child(3) {
	transform: rotate(-45deg);
	margin-top: 0;
}

@media (any-hover: hover) {
	header .header .nav-content a {
		transition: color 0.3s ease;
	}
	header .header .nav-content a:hover {
		color: var(--color-primary);
	}
	header .header .nav-cta .nav-contact {
		transition: transform 0.3s ease;
	}
	header .header .nav-cta .nav-contact .icon-arrow-link {
		transition: transform 0.3s ease;
	}
	header .header .nav-cta .nav-contact:hover {
		transform: scale(1.06);
	}
	header .header .nav-cta .nav-contact:hover .icon-arrow-link {
		transform: translateX(0.6rem);
	}
	header .header .nav-cta .nav-store button {
		transition: transform 0.3s ease;
	}
	header .header .nav-cta .nav-store button:hover {
		transform: scale(1.06);
	}
	header .header .nav-cta .nav-store button[aria-expanded="true"]:hover {
		transform: scale(1);
	}
	header .header .nav-cta .child ul li a {
		transition: opacity 0.3s ease;
	}
	header .header .nav-cta .child ul li a:hover {
		opacity: 0.7;
	}
}

@media screen and (max-width: 768px) {
	header {
		position: absolute;
		z-index: 100;
		padding: 2rem 2rem 0 2rem;
	}
	header .header {
		padding: 0;
		height: auto;
		-webkit-backdrop-filter: initial;
		backdrop-filter: initial;
		border: 0;
		border-radius: 0;
		background-color: transparent;
		box-shadow: none;
	}
	header .header .logo {
		padding: 0;
	}
	header .header .logo img {
		width: 7.2rem;
		height: auto;
		display: none;
	}
	header .header .logo .white {
		display: block;
	}
	header .header nav {
		display: none;
	}
	header .header .toggle {
		position: fixed;
		top: 1.5rem;
		right: 1.5rem;
		display: block;
	}
}

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

	[ MEGAMENU ]

*/
.megamenu {
	position: fixed;
	z-index: 9990;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: #FFF;
	transform: translateX(100%);
}
.loaded .megamenu {
	transition: transform 0.4s ease;
}
.megamenu[aria-hidden="false"] {
	transform: translateX(0%);
}
.megamenu .outer {
	overflow-y: auto;
	padding-bottom: 4rem;
	height: 100%;
}
.megamenu .nav-cta {
	position: absolute;
	top: 0;
	left: 0;
	padding: 1.5rem 1.5rem 0 1.5rem;
	width: 100%;
	height: 7.4rem;
	background-color: #FFF;
}
.megamenu .nav-cta ul {
	display: flex;
	gap: 0.5rem;
}
.megamenu .nav-cta .nav-store button,
.megamenu .nav-cta .nav-contact {
	display: flex;
	align-items: center;
	padding: 0 1rem;
	height: 4.4rem;
	border-radius: 2.2rem;
	font-size: 1.2rem;
	line-height: 1.3;
	color: #fff;
}
.megamenu .nav-cta .nav-store {
	background-color: #BF0000;
	border-radius: 2.2rem;
}
.megamenu .nav-cta .nav-store button {
	background-color: #BF0000;
	text-align: left;
}
.megamenu .nav-cta .nav-store button > span {
	font-size: 2.6rem;
}
.megamenu .nav-cta .nav-store button > em {
	position: relative;
	display: block;
	margin-right: 0.6rem;
	padding: 0 0.6rem 0 0.6rem;
	font-weight: 700;
}
.megamenu .nav-cta .nav-store button > em {
	position: relative;
	display: block;
	margin-right: 0.6rem;
	padding: 0 0.6rem 0 0.6rem;
	font-weight: 700;
}
.megamenu .nav-cta .nav-store button > em span {
	display: block;
	font-size: 1rem;
}
.megamenu .nav-cta .nav-store button > i {
	font-size: 1rem;
	line-height: 1.6rem;
}
.megamenu .nav-cta .nav-contact {
	background-color: var(--color-primary);
}
.megamenu .nav-cta .nav-contact > span {
	font-size: 2.6rem;
}
.megamenu .nav-cta .nav-contact > em {
	position: relative;
	display: block;
	margin-right: 0.6rem;
	padding: 0 0.6rem 0 0;
	font-weight: 700;
}
.megamenu .nav-cta .nav-contact > em::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -0.8rem;
	width: 1px;
	height: 1.6rem;
	background-color: #FFF;
}
.megamenu .nav-cta .nav-contact > em span {
	display: block;
	font-size: 1rem;
}
.megamenu .nav-cta .nav-contact > i {
	font-size: 1rem;
	line-height: 1.6rem;
}
.megamenu .nav-cta .child {
	overflow: hidden;
	height: 0;
}
.megamenu .nav-cta .child ul {
	display: block;
	padding: 0 1rem 0.5rem 1rem;
	font-weight: 700;
	font-size: 1.4rem;
}
.megamenu .nav-cta .child ul li {
	border-top: 1px solid #FFF;
}
.megamenu .nav-cta .child ul li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 4rem;
}
.megamenu .nav-cta .child ul li a {
	color: #FFF;
}
.megamenu .nav-cta .child ul li a i {
	font-size: 1.8rem;
}
.megamenu .nav-content {
	margin-bottom: 2rem;
	padding: 7.4rem 1.5rem 0 1.5rem;
	font-weight: 700;
	font-size: 1.4rem;
}
.megamenu .nav-content li {
	border-bottom: 1px solid #333;
}
.megamenu .nav-content li > a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 8rem;
}
.megamenu .nav-content li > a i {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	font-size: 1.2rem;
}
.megamenu .nav-content .root {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 8rem;
}
.megamenu .nav-content .root i {
	display: block;
	position: absolute;
	top: 50%;
	right: 0.2rem;
	margin-top: -0.5rem;
	width: 1rem;
	height: 1rem;
}
.megamenu .nav-content .root i::before,
.megamenu .nav-content .root i::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #000;
}
.megamenu .nav-content .root i::after {
	transform: rotate(90deg);
}
.megamenu .nav-content .root + div {
	overflow: hidden;
	height: 0;
}
.megamenu .nav-content .root + div ul {
	padding-bottom: 2rem;
}
.megamenu .nav-content .root + div li {
	border: 0;
}
.megamenu .nav-content .root + div li > a {
	height: 5rem;
}
.megamenu .nav-sns {
	padding: 0 1.5rem;
}
.megamenu .nav-sns .title {
	display: flex;
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1.1;
	color: #FFF;
}
.megamenu .nav-sns .title em {
	display: block;
	padding: 0.5rem 1rem 0.4rem 1rem;
	background-color: #000;
	border-radius: 999rem;
}
.megamenu .nav-sns ul {
	display: flex;
	gap: 1rem;
	margin-top: 2rem;
}
.megamenu .nav-sns img {
	width: 3.2rem;
}
.megamenu .nav-lang {
	display: flex;
	align-items: center;
	gap: 2rem;
	margin-top: 4rem;
	padding: 0 1.5rem;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1;
}
.megamenu .nav-lang > div {
	padding-top: 0.1rem;
}
.megamenu .nav-lang ul {
	display: flex;
}
.megamenu .nav-lang li {
	border-left: 1px solid var(--color-gray);
}
.megamenu .nav-lang li:first-child {
	border: 0;
}
.megamenu .nav-lang a {
	display: block;
	padding: 0.1rem 1rem 0 1rem;
	color: #666;
}
.megamenu .nav-lang .current {
	color: var(--color-primary);
}
@media screen and (min-width: 769px) {
	.megamenu {
		display: none;
	}
}

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

	[ FOOTER ]

*/
footer {
	padding: 5rem 5rem 8rem 5rem;
	background-color: var(--color-primary);
	color: #fff;
}
footer a {
	text-decoration: none;
	color: inherit;
}
footer .row {
	display: flex;
	justify-content: space-between;
}
footer .wrap {
	display: flex;
	gap: 5rem;
}
footer .company .logo {
	display: flex;
}
footer .company .logo img {
	width: 10.4rem;
}
footer .company h2 {
	margin: 1.5rem 0 2rem 0;
	font-weight: 700;
	font-size: 1.6rem;
}
footer .company h2 br {
	display: none;
}
footer .company nav h3 {
	display: flex;
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1.1;
	color: #000;
}
footer .company nav h3 em {
	display: block;
	padding: 0.5rem 1rem 0.4rem 1rem;
	background-color: #fff;
	border-radius: 999rem;
}
footer .company nav ul {
	display: flex;
	gap: 0.5rem;
	margin-top: 2rem;
}
footer .company nav img {
	width: 3.4rem;
}
footer .banner a {
	display: block;
	width: 22rem;
}
footer .nav nav {
	display: flex;
	gap: 8rem;
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1.3;
}
footer .nav nav h3 {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 4rem;
	margin-bottom: 2rem;
	font-size: 1.6rem;
}
footer .nav nav h3:first-child {
	margin-top: 0;
}
footer .nav nav h3 span {
	display: block;
}
footer .nav nav h3 span img {
	width: auto;
	height: 2.6rem;
}
footer .nav nav .block > a {
	display: none;
}
footer .nav nav .root {
	display: none;
}
footer .nav nav ul li {
	display: flex;
	align-items: center;
}
footer .nav nav ul li:not(:last-child) {
	margin-bottom: 2rem;
}
footer .nav nav ul li::before {
	content: '・';
}
footer .nav nav ul li a {
	display: flex;
	align-items: center;
}
footer .nav nav ul li i {
	display: block;
	margin-left: 0.6rem;
	position: relative;
	top: -0.1em;
}
footer .info {
	margin: 4rem 0 1rem 0;
	padding-top: 4rem;
	border-top: 1px solid #fff;
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1.5;
}
footer .info nav ul {
	display: flex;
	justify-content: flex-end;
}
footer .info nav ul a {
	display: flex;
}
footer .info nav ul i {
	display: block;
	align-items: center;
	margin-left: 0.6rem;
	position: relative;
	top: 0.1em;
}
footer small {
	display: block;
	text-align: right;
	font-size: 1.2rem;
}

@media (any-hover: hover) {
	footer a {
		transition: opacity 0.3s ease;
	}
	footer a:hover {
		opacity: 0.6;
	}
	footer .nav nav ul li a i,
	footer .info nav ul a i {
		transition: transform 0.3s ease;
	}
	footer .nav nav ul li a:hover i,
	footer .info nav ul a:hover i {
		transform: translateX(0.4rem);
	}
}

@media screen and (max-width: 1500px) {
	footer .nav nav {
		gap: 4rem;
	}
}

@media screen and (max-width: 768px) {
	footer {
		padding: 3rem 2rem;
	}
	footer .row {
		display: block;
	}
	footer .wrap {
		display: block;
	}
	footer .company {
		margin-bottom: 3rem;
	}
	footer .company .logo img {
		width: 10.4rem;
	}
	footer .company h2 {
		margin: 1rem 0 2rem 0;
		font-size: 1.4rem;
	}
	footer .company h2 br {
		display: none;
	}
	footer .banner {
		margin-bottom: 3rem;
	}
	footer .banner a {
		width: auto;
	}
	footer .nav nav {
		display: block;
		font-size: 1.4rem;
	}
	footer .nav nav h3 {
		display: none;
	}
	footer .nav nav .block > a {
		position: relative;
		display: flex;
		align-items: center;
		width: 100%;
		height: 8rem;
		border-top: 1px solid #fff;
	}
	footer .nav nav .block > a i {
		position: absolute;
		top: 50%;
		right: 0;
		font-size: 1.2rem;
		transform: translateY(-50%);
	}
	footer .nav nav .block > div {
		display: none;
	}
	footer .nav nav .block .ac {
		display: block;
	}
	footer .nav nav .block .ac ul {
		padding-bottom: 2rem;
	}
	footer .nav nav .block .ac ul li::before {
		content: none;
	}
	footer .nav nav .block .ac ul li a {
		position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 5rem;
	}
	footer .nav nav .block .ac ul li a i {
		display: block;
		position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    font-size: 1.2rem;
	}
	footer .nav nav .root {
		position: relative;
		display: flex;
		align-items: center;
		width: 100%;
		height: 8rem;
		border-top: 1px solid #fff;
	}
	footer .nav nav .root i {
		display: block;
		position: absolute;
		top: 50%;
		right: 0.2rem;
		margin-top: -0.5rem;
		width: 1rem;
		height: 1rem;
	}
	footer .nav nav .root i::before,
	footer .nav nav .root i::after {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		height: 1px;
		background-color: #fff;
	}
	footer .nav nav .root i::after {
		transform: rotate(90deg);
	}
	footer .nav nav .root + div {
		overflow: hidden;
		height: 0;
	}
	footer .nav nav ul li:not(:last-child) {
		margin-bottom: 0;
	}
	footer .info {
		display: block;
		margin: 0 0 2rem 0;
		padding-top: 2rem;
	}
	footer .info nav ul {
		justify-content: space-between;
		gap: 0;
		margin-top: 2rem;
	}
	footer .info nav ul i {
		font-size: 1.2rem;
		top: 0.2em;
	}
	footer small {
		text-align: left;
		font-size: 1.2rem;
	}
}

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

	[ UNIT ] VISIBLE

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

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

	[ UNIT ] INDENT BR

*/
@media screen and (max-width: 768px) {
	.u-indext-br-sp {
		display: inline-block;
		text-indent: -0.5em;
	}
}

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

	[ UNIT ] NUMBER

*/
.u-number {
	font-family: "ADLaM Display", system-ui;
  font-weight: 400;
}

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

	[ UNIT ] IMAGE

*/
.u-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

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

	[ COMPONENT ] PAGETOP

*/
.c-pagetop {
	position: fixed;
	z-index: 100;
	bottom: 3rem;
	right: 3rem;
	transform: translateX(7rem);
	transition: transform 0.3s ease;
}
.c-pagetop[aria-hidden="false"] {
	transform: translateX(0);
}
.c-pagetop button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 4rem;
	height: 4rem;
	border: 1px solid #FFF;
	border-radius: 0.5rem;
	background-color: rgba(255,255,255,0.5);
	-webkit-backdrop-filter: blur(0.4rem);
	backdrop-filter: blur(0.4rem);
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15), inset -0.5rem -1rem 1rem rgba(255,255,255,0.1), inset 0.5rem 1rem 1rem rgba(0,106,183,0.2);
}
.c-pagetop button img {
	width: 2rem;
}
@media (any-hover: hover) {
	.c-pagetop button {
		transition: transform 0.3s ease;
	}
	.c-pagetop button:hover {
		transform: scale(1.16);
	}
}
@media screen and (max-width: 768px) {
	.c-pagetop {
		bottom: 1.5rem;
		right: 1.5rem;
	}
}

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

	[ COMPONENT ] BUTTON

*/
.c-button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 1.5rem;
	min-width: 25.2rem;
	height: 6.4rem;
	background-color: rgba(255,255,255,0.1);
	border-radius: 2rem;
	-webkit-backdrop-filter: blur(0.4rem);
	backdrop-filter: blur(0.4rem);
	text-decoration: none;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1;
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15), inset -0.5rem -1rem 1rem rgba(255,255,255,0.1), inset 0.5rem 1rem 1rem rgba(0,106,183,0.2);
	color: #fff;
}
.c-button i:first-child {
	display: block;
	position: absolute;
	inset: 0;
	-webkit-mask-image: linear-gradient(168deg, #000 26%, transparent 50%, #000 64%);
	mask-image: linear-gradient(168deg, #000 26%, transparent 50%, #000 64%);
}
.c-button i:first-child::before {
	content: '';
	display: block;
	position: absolute;
	inset: 0;
	border: 1px solid rgba(60,255,255,0.7);
	border-radius: 2rem;
}
.c-button span {
	display: block;
	margin-right: 1rem;
	font-size: 150%;
}
.c-button em {
	display: block;
	padding-right: 1rem;
	padding-top: 0.14em;
	border-right: 1px solid #fff;
	text-align: left;
}
.c-button i:last-child {
	display: block;
	margin-left: 1rem;
	padding-top: 0.14em;
	font-size: 68%;
}
.c-button i.icon-download {
	font-size: 137%;
}
div.c-button {
	opacity: 0.5;
}
/* WHITE */
.c-button-white {
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15), inset -0.5rem -1rem 1rem rgba(255,255,255,0.1), inset 0.5rem 1rem 1rem rgba(168,168,168,0.2);
	color: var(--color-gray);
}
.c-button-white i:first-child::before {
	border-color: rgba(256,256,256,0.7);
}
.c-button-white em {
	border-color: var(--color-gray);
}
/* RED */
.c-button-red {
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15), inset -0.5rem -1rem 1rem rgba(255,255,255,0.1), inset 0.5rem 1rem 1rem rgba(114,0,0,0.2);
}
.c-button-red i:first-child::before {
	border-color: rgba(255,164,164,0.7);
}
/*  */
.c-button-rakuten,
.c-button-amazon {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 1.5rem;
	min-width: 25.2rem;
	height: 6.4rem;
	border-radius: 2rem;
	text-decoration: none;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1;
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
	color: #fff;
}
.c-button-rakuten {
	background-color: #BF0000;
}
.c-button-amazon {
	background-color: #FF9900;
}
.c-button-rakuten em,
.c-button-amazon em {
	display: block;
	padding-right: 1rem;
	padding-top: 0.14em;
	border-right: 1px solid #fff;
	text-align: left;
}
.c-button-rakuten i,
.c-button-amazon i {
	display: block;
	margin-left: 1rem;
	padding-top: 0.14em;
	font-size: 120%;
}
/* BUY */
.c-button-buy {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 1.5rem;
	min-width: 25.2rem;
	height: 6.4rem;
	background-color: #BF0000;
	border-radius: 2rem;
	text-decoration: none;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1;
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
	color: #fff;
}
.c-button-buy.amazon {
	background-color: #FF9900;
}
.c-button-buy em {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	padding-right: 1rem;
	padding-top: 0.14em;
	border-right: 1px solid #fff;
	text-align: left;
}
.c-button-buy em i {
	font-size: 114%;
}
.c-button-buy .icon-arrow-link {
	display: block;
	margin-left: 1rem;
	padding-top: 0.14em;
	font-size: 68%;
}
.c-button-buy .shop {
	display: inline-block;
	text-indent: -0.5em;
}

@media (any-hover: hover) {
	a.c-button,
	a.c-button-buy,
	button.c-button,
	button.c-button-buy {
		transition: transform 0.3s ease, box-shadow 0.3s ease;
	}
	a.c-button .icon-arrow-link,
	a.c-button-buy .icon-arrow-link,
	button.c-button .icon-arrow-link,
	button.c-button-buy .icon-arrow-link {
		transition: transform 0.3s ease;
	}
	a.c-button:hover,
	button.c-button:hover {
		z-index: 10;
		transform: scale(1.1);
		box-shadow: 0 1rem 1.5rem rgba(0,0,0,0.2), inset -0.5rem -1rem 1rem rgba(255,255,255,0.1), inset 0.5rem 1rem 1rem rgba(0,106,183,0.2);
	}
	a.c-button-buy:hover,
	button.c-button-buy:hover {
		z-index: 10;
		transform: scale(1.1);
		box-shadow: 0 1rem 1.5rem rgba(0,0,0,0.2);
	}
	a.c-button:hover .icon-arrow-link,
	a.c-button-buy:hover .icon-arrow-link,
	button.c-button:hover .icon-arrow-link,
	button.c-button-buy:hover .icon-arrow-link {
		transform: translateX(1rem);
	}
	.c-button-rakuten,
	.c-button-amazon {
		transition: transform 0.3s ease, box-shadow 0.3s ease;
	}
	.c-button-rakuten:hover,
	.c-button-amazon:hover {
		z-index: 10;
		transform: scale(1.1);
		box-shadow: 0 1rem 1.5rem rgba(0,0,0,0.2);
	}
}

@media screen and (max-width: 768px) {
	.c-button {
		padding: 0 0.8rem;
		height: 6.4rem;
		font-size: 1.4rem;
	}
	.c-button span {
		margin-right: 0.8rem;
	}
	.c-button i:last-child {
		margin-left: 0.8rem;
	}
	.c-button-buy {
		padding: 0 0.8rem;
		height: 6.4rem;
		font-size: 1.4rem;
	}
}

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

	[ COMPONENT ] HEADING

*/
.c-heading {
	display: table;
	font-weight: 700;
}
.c-heading h2 {
	padding-bottom: 1rem;
	border-bottom: 1px solid #000;
	font-size: 4.8rem;
	line-height: 1.3;
}
.c-heading h3 {
	margin-top: 1rem;
	font-size: 1.6rem;
	line-height: 1.5;
	color: var(--color-gray);
}
@media screen and (max-width: 768px) {
	.c-heading {
		margin: 0 auto;
		text-align: center;
	}
	.c-heading h2 {
		padding-bottom: 1rem;
		font-size: 3rem;
	}
	.c-heading h3 {
		font-size: 1.4rem;
	}
}

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

	[ COMPONENT ] BG

*/
.c-bg {
	position: absolute;
	width: 100%;
}
.c-bg div {
	position: absolute;
	inset: 0;
}
.c-bg div::after {
	content: '';
	display: block;
	position: absolute;
	top: 30rem;
	bottom: 18rem;
	width: 100%;
	background-image: linear-gradient(0deg, transparent 0%, var(--color-primary) 10rem);
}
.c-bg::after,
.c-bg div::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-image: url(../img/bg-wave.png);
	background-size: 100% 55rem;
}
.c-bg::after {
	background-position: 50% 0;
}
.c-bg div::before {
	background-position: 50% 100%;
}
@media screen and (max-width: 768px) {
	.c-bg div::after {
		top: 8rem;
		bottom: 5rem;
		width: 100%;
		background-image: linear-gradient(0deg, transparent 0%, var(--color-primary) 4rem);
	}
	.c-bg::after,
	.c-bg div::before {
		background-image: url(../img/bg-wave-sp.png);
		background-size: 100% 17rem;
	}
}

.c-bg-light {
	position: absolute;
	z-index: -1;
	top: -8rem;
	bottom: -10rem;
	width: 100%;
}
.c-bg-light::before,
.c-bg-light::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
}
.c-bg-light::before {
	top: 0;
	height: 40rem;
	background-image: url(../img/bg-wave-light.png);
	background-size: 100% 100%;
}
.c-bg-light::after {
	top: 34rem;
	bottom: 0;
	background-color: #F1F9FB;
}
@media screen and (max-width: 768px) {
	.c-bg-light {
		top: -3rem;
	}
	.c-bg-light::before {
		height: 12rem;
		background-image: url(../img/bg-wave-light-sp.png);
	}
	.c-bg-light::after {
		top: 6rem;
	}
}

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

	[ COMPONENT ] BREADCRUMBS

*/
.c-breadcrumbs {
	margin: 3rem 0 0 0;
	padding: 0 0 0 4rem;
	width: 34rem;
	height: 10rem;
	font-size: 1.4rem;
	color: #fff;
}
.c-breadcrumbs ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	padding-left: 3.2rem;
}
.c-breadcrumbs ul li {
	position: relative;
	display: flex;
}
.c-breadcrumbs ul li.break {
	flex-basis: 100%;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}
.c-breadcrumbs a {
	display: flex;
	text-decoration: none;
	color: inherit;
}
.c-breadcrumbs i {
	display: block;
	position: relative;
	top: 0.3rem;
	margin-left: 1rem;
	font-size: 1.3rem;
}
.c-breadcrumbs li:first-child i:first-child {
	position: absolute;
	top: 0;
	left: -3.2rem;
	font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
	.c-breadcrumbs {
		margin: 3rem 0 2rem 0;
		padding: 0 2rem;
		width: auto;
		height: auto;
		font-size: 1.2rem;
		color: var(--color-primary);
	}
	.c-breadcrumbs ul {
		gap: 0.5rem 0.5rem;
		padding-left: 2rem;
	}
	.c-breadcrumbs i {
		margin-left: 0.8rem;
		font-size: 1.1rem;
	}
	.c-breadcrumbs li:first-child i:first-child {
		left: -2.8rem;
		font-size: 1.5rem;
	}
	.c-breadcrumbs br {
		display: none;
	}
	.c-breadcrumbs ul li.break {
		flex-basis: initial;
		display: initial;
		-webkit-box-orient: initial;
		-webkit-line-clamp: initial;
		overflow: initial;
	}
}

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

	[ COMPONENT ] PAGINTION

*/
.c-pagination {
	margin-top: 5rem;
}
.c-pagination a {
	text-decoration: none;
}
.c-pagination .pagination {
	display: flex;
	justify-content: center;
	gap: 2rem;
	font-size: 1.6rem;
	color: #666;
}
.c-pagination .pagination .current {
	font-weight: 700;
	color: #000;
}
.c-pagination .pagination .prev,
.c-pagination .pagination .next {
	margin-top: 0.1rem;
}
@media screen and (max-width: 768px) {
	.c-pagination {
		margin-top: 3rem;
	}
	.c-pagination .pagination {
		gap: 1.5rem;
		font-size: 1.5rem;
	}
}

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

	[ COMPONENT ] RAKUTEN BANNER

*/
.c-rakuten-banner {
	display: flex;
	align-items: center;
	position: relative;
	padding-left: 3rem;
	height: 14.2rem;
	background-color: #BF0000;
	border-radius: 2rem;
	font-weight: 700;
	color: #fff;
}
.c-rakuten-banner .logo {
	flex-basis: 21.8rem;
}
.c-rakuten-banner .detail {
	position: relative;
	flex: 1;
	padding-left: 4rem;
	font-weight: 700;
}
.c-rakuten-banner .detail h3 {
	margin-bottom: 1rem;
	font-size: 3.2rem;
}
.c-rakuten-banner .detail a {
	position: absolute;
	top: 50%;
	right: 4rem;
	margin-top: -3.2rem;
}
@media screen and (max-width: 768px) {
	.c-rakuten-banner {
		display: block;
		padding: 0;
		height: auto;
		text-align: center;
	}
	.c-rakuten-banner .logo {
		margin: 0 auto;
		padding: 1.5rem 0;
		width: 21.8rem;
	}
	.c-rakuten-banner .detail {
		padding: 0 3rem 3rem 3rem;
	}
	.c-rakuten-banner .detail h3 {
		margin-bottom: 1rem;
		font-size: 2.4rem;
	}
	.c-rakuten-banner .detail p {
		margin-bottom: 1.5rem;
		font-size: 1.4rem;
	}
	.c-rakuten-banner .detail a {
		position: static;
		margin: 0;
	}
}

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

	[ LAYOUT ] CONTENT

*/
.l-content {
	position: relative;
}

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

	[ LAYOUT ] CONTAINER

*/
.l-container {
	position: relative;
	z-index: 1;
	margin-left: auto;
	margin-right: auto;
	padding: 0 5rem;
	max-width: 128rem;
}
@media screen and (max-width: 768px) {
	.l-container {
		padding: 0 2rem;
	}
}

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

	[ LAYOUT ] PAGE HEADER

*/
.l-page-header {
	text-align: center;
}
.l-page-header .wrap {
	display: table;
	margin: 0 auto;
}
.l-page-header h1 {
	padding-bottom: 2rem;
	border-bottom: 1px solid #000;
	font-weight: 700;
	font-size: 5.4rem;
	line-height: 1.1;
}
.l-page-header .lead {
	margin-top: 1.5rem;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 2;
	color: var(--color-gray);
}
@media screen and (max-width: 768px) {
	.l-page-header h1 {
		font-size: 3rem;
		line-height: 1.2;
	}
	.l-page-header .lead {
		font-size: 1.4rem;
		line-height: 1.8;
	}
}

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

	[ LAYOUT ] PAGE FOOTER

*/
.l-page-footer {
	position: relative;
	height: 14rem;
}
.l-page-footer .c-bg {
	top: -16rem;
	bottom: 0;
}
.l-page-footer .c-bg div::after {
	bottom: 0;
	background-color: var(--color-primary);
}
.l-page-footer .c-bg div::before {
	content: none;
}
@media screen and (max-width: 768px) {
	.l-page-footer {
		height: 12rem;
	}
	.l-page-footer .c-bg {
		top: -6rem;
	}
}

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

	[ LAYOUT ] PAGE HEADER

*/
.l-nav-content {
	padding: 3rem 0 4rem 0;
}
.l-nav-content nav ul {
	display: flex;
	justify-content: center;
	gap: 1rem;
}
.l-nav-content nav .c-button {
	min-width: 20rem;
}
@media screen and (max-width: 768px) {
	.l-nav-content {
		padding: 4rem 0 4rem 0;
	}
	.l-nav-content nav ul {
		gap: 1rem 0;
		flex-wrap: wrap;
		margin: 0 -0.5rem;
	}
	.l-nav-content nav ul li {
		flex-basis: 50%;
		padding: 0 0.5rem;
	}
	.l-nav-content nav .c-button {
		min-width: initial;
	}
}

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

	[ LAYOUT ] CTA

*/
.l-cta {
	text-align: center;
}
.l-cta h3 {
	margin-bottom: 1rem;
	font-weight: 700;
	font-size: 3.6rem;
}
.l-cta h4 {
	font-weight: 700;
	font-size: 2rem;
}
.l-cta .row {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin-top: 2rem;
}

@media screen and (max-width: 768px) {
	.l-cta h3 {
		margin-bottom: 1rem;
		font-size: 2.3rem;
	}
	.l-cta h4 {
		font-size: 1.4rem;
	}
	.l-cta .row {
		display: flex;
		justify-content: center;
		gap: 1rem;
		margin-top: 2rem;
	}
	.l-cta .row > div {
		width: 100%;
	}
	.l-cta .row a {
		min-width: initial;
		width: 100%;
	}
	.l-cta .single > div {
		width: 25.2rem;
	}
}

.l-cta-frame {
	margin-top: 6rem;
	padding: 2rem 3rem 3rem 3rem;
	border: 1px solid #fff;
	border-radius: 2rem;
}
.l-cta-frame .head {
	text-align: center;
	font-weight: 700;
	font-size: 2rem;
	color: #fff;
}
.l-cta-frame .head h2 {
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #fff;
	font-size: 3.6rem;
	line-height: 1.3;
}
.l-cta-frame .row {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin-top: 2rem;
}
.l-cta-frame .call {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	color: #fff;
}
.l-cta-frame .call .icon {
	width: 4rem;
}
.l-cta-frame .call dl {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.l-cta-frame .call dt {
	font-size: 4.8rem;
	line-height: 1;
	color: #E2547D;
}
.l-cta-frame .call dd {
	font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
	.l-cta-frame {
		margin-top: 5rem;
		padding: 2rem 2rem 3rem 2rem;
	}
	.l-cta-frame .head {
		font-size: 1.6rem;
	}
	.l-cta-frame .head h2 {
		margin-bottom: 2rem;
		padding-bottom: 2rem;
		font-size: 2.4rem;
	}
	.l-cta-frame .head h3 {
		font-size: 1.5rem;
	}
	.l-cta-frame .row {
		display: block;
		margin-top: 2rem;
	}
	.l-cta-frame .row > div {
		display: flex;
		justify-content: center;
	}
	.l-cta-frame .row > div:not(:last-child) {
		margin-bottom: 2rem;
	}
	.l-cta-frame .call {
		gap: 0.5rem;
	}
	.l-cta-frame .call .icon {
		margin-left: -1rem;
		width: 4.8rem;
	}
	.l-cta-frame .call dl {
		display: block;
	}
	.l-cta-frame .call dt {
		font-size: 3.6rem;
	}
}

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

	[ LAYOUT ] CONTACT

*/
.l-cta-contact {
	position: relative;
	padding: 6rem 0;
}
.l-cta-contact .c-bg {
	top: -22rem;
	bottom: 0;
}
.l-cta-contact .c-bg div::after {
	bottom: 0;
	background-color: var(--color-primary);
}
.l-cta-contact .c-bg div::before {
	content: none;
}
.l-cta-contact .l-cta-frame {
	margin: 0;
}
@media screen and (max-width: 768px) {
	.l-cta-contact {
		padding: 2rem 0 1rem 0;
	}
	.l-cta-contact .c-bg {
		top: -10rem;
	}
	.l-cta-contact .l-cta-frame {
		margin: 0;
	}
}

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

	[ LAYOUT ] CONTACT

*/
.l-contact {
	position: relative;
	padding: 12rem 0;
	text-align: center;
	color: #fff;
}
.l-contact .c-bg {
	top: -28rem;
	bottom: 0;
}
.l-contact .c-bg div::before {
	content: none;
}
.l-contact .c-bg div::after {
	bottom: -1rem;
	background-color: var(--color-primary);
}
.l-contact .c-heading {
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.l-contact {
		padding: 4rem 0 1rem 0;
	}
	.l-contact .c-bg {
		top: -12rem;
	}
}

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

	[ LAYOUT ] NEWS LIST

*/
.l-news-list {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem 0;
	margin: 0 -1rem;
}
.l-news-list a {
	text-decoration: none;
	color: inherit;
}
.l-news-list > li {
	flex-basis: 33.333%;
	padding: 0 1rem;
}
.l-news-list .item {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	background-color: #fff;
	border-radius: 2rem;
	font-weight: 700;
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
}
.l-news-list .item .thumb {
	overflow: hidden;
	position: relative;
	padding-top: 63.16%;
	padding-top: 100%;
	height: 0;
}
.l-news-list .item .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.l-news-list .item .detail {
	position: relative;
	padding: 2rem 2rem 2rem 2rem;
	flex: 1;
}
.l-news-list .item .head {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}
.l-news-list .item .category {
	display: flex;
	align-items: center;
	padding: 0 1.5rem;
	height: 3rem;
	background-color: var(--color-primary);
	border-radius: 999rem;
	font-size: 1.2rem;
	color: #fff;
}
.l-news-list .item .date {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 1.2rem;
}
.l-news-list .item .date i {
	font-size: 1.8rem;
}
.l-news-list .item .title {
	padding: 1rem 0 0 0;
}

@media (any-hover: hover) {
	.l-news-list .item {
		transition: transform 0.3s ease, box-shadow 0.3s ease;
	}
	.l-news-list .item:hover {
		z-index: 10;
		transform: scale(1.14);
		box-shadow: 0 1.5rem 2rem rgba(0,0,0,0.2);
	}
}

@media screen and (max-width: 768px) {
	.l-news-list {
		display: block;
		margin: 3rem 0 0 0;
	}
	.l-news-list > li {
		margin-bottom: 2rem;
		padding: 0;
	}
	.l-news-list .item .thumb {
		height: 20rem;
	}
	.l-news-list .item .category {
		padding: 0 1.2rem;
		height: 2.4rem;
		font-size: 1rem;
	}
	.l-news-list .item .title {
		font-size: 1.4rem;
	}
}

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

	[ LAYOUT ] MENU LIST

*/
.l-menu-list a {
	text-decoration: none;
	color: inherit;
}
.l-menu-list ul {
	display: flex;
	gap: 40px;
}
.l-menu-list ul > li {
	width: 100%;
}
.l-menu-list .item {
	overflow: hidden;
	display: block;
	background-color: #FFF;
	border-radius: 2rem;
	box-shadow: 0 1rem 2rem #002c83;
}
.l-menu-list .item .thumb {
	overflow: hidden;
	height: 30rem;
}
.l-menu-list .item .thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.l-menu-list .item .head {
	padding: 2rem;
}
.l-menu-list .item .head h3 {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-weight: 700;
	font-size: 2rem;
}
.l-menu-list .item .head h3 span {
	display: block;
	position: relative;
	padding-left: 1rem;
	font-size: 1.6rem;
	color: var(--color-primary);
}
.l-menu-list .item .head h3 span::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 1px;
	background-color: var(--color-primary);
}
.l-menu-list .item .head h3 span i {
	display: block;
}

@media (any-hover: hover) {
	.l-menu-list .item {
		transition: transform 0.3s ease;
	}
	.l-menu-list .item:hover {
		z-index: 10;
		transform: scale(1.12);
	}
	.l-menu-list .item .icon-arrow-link {
		transition: transform 0.3s ease;
	}
	.l-menu-list .item:hover .icon-arrow-link {
		transform: translateX(1rem);
	}
}

@media screen and (max-width: 768px) {
	.l-menu-list ul {
		display: block;
	}
	.l-menu-list ul > li {
		margin-bottom: 2rem;
	}
	.l-menu-list .item .thumb {
		height: 18rem;
	}
	.l-menu-list .item .head {
		padding: 1.5rem 2rem;
	}
	.l-menu-list .item .head h3 {
		font-size: 1.8rem;
	}
	.l-menu-list .item .head h3 span {
		font-size: 1.4rem;
	}
}

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

	[ LAYOUT ] SECTION LIST

*/
.l-section-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1rem;
}
.l-section-list a {
	text-decoration: none;
	color: inherit;
}
.l-section-list > li {
	flex-basis: 33.333%;
	margin-bottom: 2rem;
	padding: 0 1rem;
}
.l-section-list .item {
	display: block;
	position: relative;
	overflow: hidden;
	height: 100%;
	background-color: #fff;
	border-radius: 2rem;
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
}
.l-section-list .thumb {
	overflow: hidden;
	height: 24rem;
}
.l-section-list .detail {
	position: relative;
	padding: 2rem 2rem 4rem 2rem;
}
.l-section-list .detail .row {
	display: flex;
	align-items: center;
	gap: 2rem;
}
.l-section-list .detail .belong {
	padding: 0.5rem 1rem;
	background-color: var(--color-primary);
	border-radius: 999rem;
	font-size: 1.2rem;
	color: #fff;
}
.l-section-list .detail .name {
	display: flex;
	align-items: center;
	font-weight: 700;
	font-size: 1.6rem;
}
.l-section-list .detail .name::before {
	content: '';
	display: block;
	margin-right: 0.5rem;
	width: 2.2rem;
	height: 2.2rem;
	background-image: url(../img/icon-user.svg);
	background-size: contain;
}
.l-section-list .detail h3 {
	margin: 1rem 0;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--color-gray);
	font-weight: 700;
	font-size: 1.6rem;
}
.l-section-list .detail p {
	font-size: 1.4rem;
}
.l-section-list .icon-arrow-link {
	position: absolute;
	left: 0;
	bottom: 1.5rem;
	width: 100%;
	text-align: center;
	font-size: 1.6rem;
	color: var(--color-primary);
}

@media (any-hover: hover) {
	.l-section-list .item {
		transition: transform 0.3s ease, box-shadow 0.3s ease;
	}
	.l-section-list .item:hover {
		z-index: 10;
		transform: scale(1.14);
		box-shadow: 0 1.5rem 2rem rgba(0,0,0,0.2);
	}
	.l-section-list .item .icon-arrow-link {
		transition: transform 0.3s ease;
	}
	.l-section-list .item:hover .icon-arrow-link {
		transform: translateX(1rem);
	}
}
@media screen and (max-width: 768px) {
	.l-section-list {
		display: block;
		margin: 0;
	}
	.l-section-list > li {
		padding: 0;
	}
	.l-section-list .item {
		height: auto;
	}
	.l-section-list .thumb {
		height: 20rem;
	}
	.l-section-list .detail {
		padding: 2rem 2rem 4rem 2rem;
	}
	.l-section-list .detail .row {
		gap: 1.5rem;
	}
	.l-section-list .detail .belong {
		font-size: 1rem;
	}
	.l-section-list .detail .name {
		font-size: 1.5rem;
	}
	.l-section-list .detail .name::before {
		width: 2rem;
		height: 2rem;
	}
	.l-section-list .detail h3 {
		margin: 1rem 0;
		padding-bottom: 1rem;
		font-size: 1.6rem;
	}
	.l-section-list .detail p {
		font-size: 1.3rem;
	}
	.l-section-list .icon-arrow-link {
		bottom: 1.5rem;
	}
}

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

	[ LAYOUT ] SNS LIST

*/
.l-sns-list .block {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.l-sns-list .block h2 {
	font-weight: 700;
	font-size: 5.4rem;
	line-height: 1.3;
	color: #FFF;
}
.l-sns-list .list ul {
	display: flex;
	gap: 2rem;
}
.l-sns-list .list ul a {
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 8.8rem;
	height: 8.8rem;
	background-color: #FFF;
	border-radius: 2rem;
	box-shadow: 0 1rem 2rem #002c83;
}
.l-sns-list .list ul a img {
	width: 6rem;
}

@media (any-hover: hover) {
	.l-sns-list .list ul a {
		transition: transform 0.3s ease, box-shadow 0.3s ease;
	}
	.l-sns-list .list ul a:hover {
		transform: scale(1.16);
		box-shadow: 0 1.5rem 2rem #002c83;
	}
}

@media screen and (max-width: 768px) {
	.l-sns-list .block {
		display: block;
	}
	.l-sns-list .block h2 {
		margin-bottom: 1rem;
		text-align: center;
		font-size: 3.2rem;
	}
	.l-sns-list .list ul {
		justify-content: center;
	}
	.l-sns-list .list ul a {
		width: 6.6rem;
		height: 6.6rem;
	}
	.l-sns-list .list ul a img {
		width: 4.4rem;
	}
}

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

	[ LAYOUT ] MENU SECTION

*/
.l-menu-section {
	display: flex;
	flex-direction: row-reverse;
	overflow: hidden;
	min-height: 23.2rem;
	background-color: #FFF;
	border-radius: 2rem;
}
.l-menu-section .thumb {
	flex-basis: 44rem;
}
.l-menu-section .detail {
	display: flex;
	align-items: center;
	gap: 3rem;
	flex: 1;
	padding: 1rem 3rem 2rem 2rem;
	font-weight: 700;
}
.l-menu-section .detail h2 {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #000;
	font-size: 3.6rem;
}
.l-menu-section .detail p {
	color: var(--color-gray);
}
@media screen and (max-width: 768px) {
	.l-menu-section {
		display: block;
		min-height: initial;
	}
	.l-menu-section .detail {
		display: block;
		padding: 2rem 2rem 3rem 2rem;
	}
	.l-menu-section .detail h2 {
		font-size: 2.6rem;
	}
	.l-menu-section .detail .foot {
		display: flex;
		justify-content: center;
		margin-top: 2rem;
	}
}

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

	[ LAYOUT ] MENU SINGLE

*/
.l-menu-single a {
	text-decoration: none;
	color: inherit;
}
.l-menu-single .block {
	display: flex;
	overflow: hidden;
	border-radius: 2rem;
	background-color: #FFF;
	box-shadow: 0 1rem 2rem #002c83;
}
.l-menu-single .block .thumb {
	overflow: hidden;
	flex-basis: 62rem;
}
.l-menu-single .block .detail {
	flex: 1;
	padding: 2rem 2rem 1.5rem 2rem;
}
.l-menu-single .block .detail > div {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.l-menu-single .block .detail .head {
	flex: 1;
}
.l-menu-single .block .detail h3 {
	margin-bottom: 1rem;
	font-weight: 700;
	font-size: 3.2rem;
	line-height: 1.3;
}
.l-menu-single .block .detail p {
	font-size: 1.6rem;
	line-height: 2;
}
.l-menu-single .block .detail .foot-arrow {
	display: flex;
	justify-content: center;
	margin-top: 1rem;
	padding-top: 1.5rem;
	border-top: 1px solid #475569;
	color: var(--color-primary);
}
.l-menu-single .block .detail .foot-arrow i {
	display: block;
}
@media (any-hover: hover) {
	.l-menu-single .block {
		transition: transform 0.3s ease, box-shadow 0.3s ease;
	}
	.l-menu-single .block:hover {
		transform: scale(1.08);
		box-shadow: 0 1.5rem 2rem #002c83;
	}
	.l-menu-single .block .icon-arrow-link {
		transition: transform 0.3s ease;
	}
	.l-menu-single .block:hover .icon-arrow-link {
		transform: translateX(1rem);
	}
}
@media screen and (max-width: 768px) {
	.l-menu-single .block {
		display: block;
	}
	.l-menu-single .block .detail {
		padding: 2rem;
	}
	.l-menu-single .block .detail > div {
		display: block;
		height: auto;
	}
	.l-menu-single .block .detail h3 {
		margin-bottom: 0.5rem;
		font-size: 2.4rem;
	}
	.l-menu-single .block .detail p {
		font-size: 1.4rem;
		line-height: 2;
	}
	.l-menu-single .block .detail .foot-arrow {
		margin-top: 1.5rem;
		padding-top: 1.5rem;
	}
}

.p-menu-quality .block .detail h3 {
	padding-bottom: 1rem;
	border-bottom: 1px solid #475569;
}
.p-menu-quality .block .detail .foot {
	display: flex;
	padding-bottom: 1rem;
}
@media screen and (max-width: 768px) {
	.p-menu-quality .block .detail .foot {
		justify-content: center;
		padding: 1rem 0 0 0;
	}
}

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

	[ LAYOUT ] PRODUCTION FLOW

*/
.l-production-flow {
	display: flex;
	gap: 3.2rem;
}
.l-production-flow > li {
	position: relative;
	width: 100%;
}
.l-production-flow > li:not(:last-child)::before {
	content: '';
	display: block;
	position: absolute;
	left: 100%;
	top: 23rem;
	width: 3.2rem;
	height: 3.2rem;
	background-image: url(../img/production-flow-arrow.svg);
	background-size: contain;
}
.l-production-flow .item {
	overflow: hidden;
	height: 100%;
	background-color: #fff;
	border-radius: 2rem;
}
.l-production-flow .item .thumb {
	height: 20rem;
}
.l-production-flow .item .detail {
	padding: 1rem 2rem 2rem 2rem;
}
.l-production-flow .item .detail .number {
	position: relative;
}
.l-production-flow .item .detail .number em {
	font-size: 6.4rem;
	line-height: 1;
	color: #E2547D;
}
.l-production-flow .item .detail .number img {
	position: absolute;
	top: 0;
	right: 0;
	width: auto;
	height: 7rem;
}
.l-production-flow .item .detail h3 {
	margin: 1rem 0 1rem 0;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #000;
	font-weight: 700;
	font-size: 2rem;
}
.l-production-flow .item .detail p {
	min-height: 6rem;
	font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
	.l-production-flow {
		display: block;
	}
	.l-production-flow > li {
		margin-bottom: 4rem;
	}
	.l-production-flow > li:last-child {
		margin-bottom: 0;
	}
	.l-production-flow > li:not(:last-child)::before {
		left: 50%;
		top: 100%;
		margin: 1rem 0 0 -1rem;
		width: 2rem;
		height: 2rem;
		transform: rotate(90deg);
	}
	.l-production-flow .item {
		display: flex;
	}
	.l-production-flow .item .thumb {
		flex-basis: 15rem;
		height: auto;
	}
	.l-production-flow .item .detail {
		flex: 1;
		padding: 1rem 1.5rem;
	}
	.l-production-flow .item .detail .number em {
		font-size: 3.6rem;
	}
	.l-production-flow .item .detail .number img {
		top: -0.5rem;
		height: 4.4rem;
	}
	.l-production-flow .item .detail h3 {
		margin: 0.5rem 0 1rem 0;
		min-height: initial;
		font-size: 1.8rem;
	}
	.l-production-flow .item .detail p {
		margin-bottom: 1rem;
		min-height: initial;
		font-size: 1.3rem;
	}
}

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

	[ LAYOUT ] PARTNER

*/
.l-partner .head {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 2rem;
	font-weight: 700;
}
.l-partner .head h3 {
	font-size: 3.6rem;
	line-height: 1.3;
}
.l-partner .head p {
	font-size: 1.6rem;
	color: #475569;
}
.l-partner ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 2rem;
	font-weight: 700;
	font-size: 1.4rem;
	color: #475569;
}
.l-partner ul span {
	display: block;
	padding: 1rem 2rem;
	border-radius: 1rem;
	background-color: #FFF;
	font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
	.l-partner .head {
		display: block;
		margin-bottom: 2rem;
		text-align: center;
	}
	.l-partner .head h3 {
		font-size: 3rem;
	}
	.l-partner .head p {
		font-size: 1.4rem;
	}
	.l-partner ul {
		gap: 1rem;
		font-size: 1.3rem;
	}
	.l-partner ul span {
		padding: 0.6rem 1rem;
		font-size: 1.4rem;
	}
	.l-partner ul li:last-child {
		padding-left: 1rem;
	}
}

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

	[ LAYOUT ] BUY

*/
.l-buy {
	position: relative;
	padding-top: 3rem;
}
.l-buy h3 {
	display: table;
	margin: 0 auto;
	text-align: center;
	font-weight: 700;
	font-size: 3.6rem;
	color: #FFF;
}
.l-buy .foot {
	display: flex;
	justify-content: center;
	gap: 2rem;
	margin-top: 3rem;
}
.l-buy .foot a i:last-child {
	position: relative;
	top: -0.1em;
	font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
	.l-buy {
		padding-top: 4rem;
	}
	.l-buy h3 {
		padding-bottom: 1rem;
		font-size: 2.6rem;
		line-height: 1.3;
	}
	.l-buy .foot {
		flex-direction: column;
		align-items: center;
		margin-top: 1rem;
	}
	.l-buy .foot a i:last-child {
		font-size: 2rem;
	}
}

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

	[ HOME ]

*/
.p-home::before {
	content: none;
}
.p-home main {
	padding-top: 0;
}
@media screen and (max-width: 768px) {
	.p-home header .header .logo img {
		display: block;
	}
}

.p-home .l-buy h3 {
	font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
	.p-home .l-buy h3 {
		font-size: 2.6rem;
	}
}

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

	[ HOME ] CONTENT

*/
.p-content-first {
	position: relative;
	background-color: #F1F9FB;
}
.p-content-first::before {
	content: '';
	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	bottom: -10rem;
	width: 100%;
	background-color: #F1F9FB;
}

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

	[ HOME ] BG

*/
.p-home-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100rem;
	background-position: 50% 100%;
	background-image: url(../img/home-bg.jpg?v=1);
	background-size: 100% 100%;
}

@media screen and (max-width: 768px) {
	.p-home-bg {
		background-image: url(../img/home-bg-sp.jpg?v=1);
		height: 94rem;
	}
}

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

	[ HOME ] MAIN

*/
.p-home-main {
	position: relative;
	margin: 0 0 8rem 0;
	padding: 10rem 0 0 0;
	min-height: 66rem;
	font-weight: 700;
	color: #fff;
}
.p-home-main .wrap {
	position: relative;
	padding: 10rem 0 0 0;
}
.p-home-main h1 {
	margin: 0 0 3rem 0;
	width: 64rem;
	filter: drop-shadow(0 0 1rem var(--color-primary));
}
.p-home-main h2 {
	padding: 0 0 3rem 0;
	width: 63rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	font-size: 2rem;
	line-height: 1.8;
}
.p-home-main .kv {
	position: absolute;
	top: 4rem;
	left: 50%;
	margin-left: 5rem;
	width: 48rem;
}

@media screen and (max-width: 768px) {
	.p-home-main {
		margin: 0 0 3rem 0;
		padding: 2rem 0 0 0;
		min-height: initial;
	}
	.p-home-main .wrap {
		padding: 0;
	}
	.p-home-main h1 {
		margin: 1rem 0 1.5rem 0;
		width: 100%;
	}
	.p-home-main h2 {
		padding: 0 0 1rem 0;
		width: auto;
		font-size: 1.5rem;
		line-height: 2;
	}
	.p-home-main .kv {
		position: relative;
		display: flex;
		justify-content: center;
		top: auto;
		left: auto;
		margin: 0;
		padding: 0 2rem;
		width: 100%;
	}
}

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

	[ HOME ] NAV

*/
.p-home-nav {
}
.p-home-nav a {
	text-decoration: none;
	color: inherit;
}
.p-home-nav nav {
	position: relative;
	z-index: 1;
}
.p-home-nav nav ul {
	display: flex;
	justify-content: center;
	text-align: center;
	height: 24rem;
}
.p-home-nav nav li {
	padding: 0 1rem;
}
.p-home-nav nav a {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 18rem;
	height: 19rem;
	padding: 0 1.5rem 1rem 1.5rem;
	background-color: #fff;
	border-radius: 2rem;
	font-size: 1.4rem;
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
}
.p-home-nav nav img {
	display: block;
	margin: 0 auto;
	width: 10rem;
}
.p-home-nav nav em {
	display: block;
	margin: 0.5rem 0 1rem 0;
	padding-bottom: 0.5rem;
	width: 100%;
	border-bottom: 1px solid #000;
	font-weight: 700;
	font-size: 1.8rem;
}
.p-home-nav nav span {
	display: block;
	margin-bottom: 0.8rem;
}
.p-home-nav nav i {
	font-size: 1.6rem;
	color: var(--color-primary);
}

@media screen and (min-width: 769px) and (any-hover: hover) {
	.p-home-nav nav a {
		transition: transform 0.3s ease, box-shadow 0.3s ease;
	}
	.p-home-nav nav a:hover {
		z-index: 10;
		transform: scale(1.22);
		box-shadow: 0 2.5rem 2.5rem rgba(0,0,0,0.2);
	}
	.p-home-nav nav i {
		transition: transform 0.3s ease;
	}
	.p-home-nav nav a:hover i {
		transform: translateX(1rem);
	}
}

@media screen and (max-width: 768px) {
	.p-home-nav {
		margin-bottom: 0;
		padding: 0 2rem;
	}
	.p-home-nav nav ul {
		flex-wrap: wrap;
		gap: 2rem 0;
		margin: 0 -0.5rem;
		height: auto;
	}
	.p-home-nav nav li {
		padding: 0 0.5rem;
		width: 50%;
	}
	.p-home-nav nav a {
		padding: 1.5rem;
		width: auto;
		height: auto;
		font-size: 1.3rem;
	}
	.p-home-nav nav img {
		width: 7rem;
	}
	.p-home-nav nav em {
		margin: 0 0 1rem 0;
		font-size: 1.6rem;
	}
	.p-home-nav nav span {
		margin-bottom: 1rem;
	}
}


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

	[ HOME ] REASON

*/
.p-home-reason {
	position: relative;
	padding: 6rem 0 0 0;
}
.p-home-reason .kv {
	position: absolute;
	z-index: 0;
	top: -8rem;
	left: 50%;
	margin-left: 6rem;
	width: 57.9rem;
}
.p-home-reason .c-heading h2 {
	font-size: 3.6rem;
}
.p-home-reason .list {
	display: flex;
	gap: 2rem;
	margin: 3rem 0 4rem 0;
}
.p-home-reason .list > li {
	width: 100%;
}
.p-home-reason .list .item {
	padding: 0 2rem 1.5rem 2rem;
	background-color: #fff;
	border-radius: 2rem;
	font-weight: 700;
}
.p-home-reason .list .item .number {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	padding: 1rem 0;
}
.p-home-reason .list .item .number em {
	font-size: 7.2rem;
	line-height: 1.1;
	color: #E2547D;
}
.p-home-reason .list .item .number img {
	width: auto;
	height: 11rem;
}
.p-home-reason .list .item h3 {
	padding-top: 1rem;
	border-top: 1px solid var(--color-gray);
	text-align: center;
	font-size: 2rem;
}
.p-home-reason .foot {
	display: flex;
	justify-content: center;
	margin-top: 4rem;
}

@media screen and (max-width: 768px) {
	.p-home-reason {
		padding: 4rem 0 0 0;
	}
	.p-home-reason .kv {
		top: 9rem;
		left: auto;
		right: -5rem;
		margin: 0;
		width: 26rem;
	}
	.p-home-reason .c-heading {
		display: block;
		text-align: left;
	}
	.p-home-reason .c-heading h2 {
		display: table;
		font-size: 3rem;
	}
	.p-home-reason .list {
		display: block;
		margin: 2rem 0;
	}
	.p-home-reason .list > li {
		margin-bottom: 2rem;
	}
	.p-home-reason .list .item {
		padding: 0 2rem 1.5rem 2rem;
	}
	.p-home-reason .list .item .number {
		padding: 1rem 0;
	}
	.p-home-reason .list .item .number em {
		font-size: 7rem;
	}
	.p-home-reason .list .item .number img {
		height: 8rem;
	}
	.p-home-reason .list .item h3 {
		font-size: 2rem;
	}
	.p-home-reason .foot {
		display: flex;
		justify-content: center;
		margin-top: 3rem;
	}
}

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

	[ HOME ] NEWS

*/
.p-home-news {
	position: relative;
	padding: 6rem 0 4rem 0;
}
.p-home-news .c-bg {
	top: -25rem;
	bottom: -7rem;
}
.p-home-news .c-heading {
	margin-bottom: 3rem;
	color: #fff;
}
.p-home-news .c-heading h2 {
	border-color: #fff;
	font-size: 3.6rem;
}
.p-home-news .c-heading h3 {
	color: inherit;
}
.p-home-news .l-news-list .item {
	box-shadow: 0 1rem 1rem #002c83;
}
.p-home-news .foot {
	position: absolute;
	top: 3rem;
	right: 5rem;
}
.p-home-news .foot a {
	color: #fff;
}

@media screen and (min-width: 769px) {
	.p-home-news .l-news-list > li {
		flex-basis: 20%;
		padding: 0 0.5rem;
	}
	.p-home-news .l-news-list .item .detail {
		padding: 1.5rem;
	}
	.p-home-news .l-news-list .item .head {
		gap: 1.2rem;
	}
	.p-home-news .l-news-list .item .category {
		padding: 0 1rem;
		font-size: 1.1rem;
	}
}

@media screen and (max-width: 768px) {
	.p-home-news {
		padding: 4rem 0 0 0;
	}
	.p-home-news .c-bg {
		top: -6rem;
		bottom: 0rem;
	}
	.p-home-news .c-heading {
		margin-bottom: 2rem;
	}
	.p-home-news .c-heading h2 {
		font-size: 3rem;
	}
	.p-home-news .foot {
		position: static;
		display: flex;
		justify-content: center;
	}
}

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

	[ HOME ] ABOUT

*/
.p-home-about {
	padding: 4rem 0 0 0;
}
.p-home-about h2 {
	margin-bottom: 2rem;
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1.3;
	color: #FFF;
}
@media screen and (max-width: 768px) {
	.p-home-about {
		padding: 4rem 0 0 0;
	}
	.p-home-about h2 {
		margin-bottom: 2rem;
		text-align: center;
		font-size: 3rem;
	}
}

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

	[ HOME ] CONTRACT

*/
.p-home-contract {
	overflow: hidden;
	display: flex;
	height: 18rem;
	background-color: var(--color-primary);
	border-radius: 2rem;
	font-weight: 700;
	color: #fff;
}
.p-home-contract .thumb {
	flex-basis: 42rem;
}
.p-home-contract .detail {
	flex: 1;
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 3rem;
}
.p-home-contract .detail h3 {
	font-size: 3.2rem;
}
.p-home-contract .detail p {
	font-size: 1.6rem;
}
.p-home-contract .detail a {
	position: absolute;
	top: 50%;
	right: 4rem;
	margin-top: -3.2rem;
}

@media screen and (max-width: 768px) {
	.p-home-contract {
		display: block;
		height: auto;
	}
	.p-home-contract .thumb {
		height: 14rem;
	}
	.p-home-contract .detail {
		display: block;
		padding: 2rem 3rem 3rem 3rem;
		text-align: center;
	}
	.p-home-contract .detail h3 {
		margin-bottom: 1rem;
		font-size: 2.4rem;
	}
	.p-home-contract .detail p {
		margin-bottom: 1.5rem;
		font-size: 1.4rem;
	}
	.p-home-contract .detail a {
		position: static;
		margin: 0;
	}
}

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

	[ HOME ] WRAP

*/
.p-home-wrap {
	position: relative;
	padding: 6rem 0 6rem 0;
}
.p-home-wrap .c-bg {
	top: -16rem;
	bottom: -14rem;
}
@media screen and (max-width: 768px) {
	.p-home-wrap {
		padding: 3rem 0 1rem 0;
	}
	.p-home-wrap .c-bg {
		top: -6rem;
		bottom: -4rem;
	}
}

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

	[ HOME ] LINEUP

*/
.p-home-lineup {
	position: relative;
	padding: 6rem 0 0 0;
}
.p-home-lineup .heading {
	margin-bottom: 2rem;
}
.p-home-lineup .heading h2 {
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1.3;
	color: #FFF;
}
.p-home-lineup .l-menu-single .block .detail h3 {
	font-size: 2.4rem;
}

@media screen and (max-width: 768px) {
	.p-home-lineup {
		padding: 4rem 0 2rem 0;
	}
	.p-home-lineup .heading {
		margin-bottom: 2rem;
	}
	.p-home-lineup .heading h2 {
		text-align: center;
		font-size: 3rem;
	}
}

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

	[ HOME ] QUALITY

*/
.p-home-quality {
	position: relative;
	margin: 0 0 5rem 0;
	padding: 12rem 0 1rem 0;
}
.p-home-quality::before {
	content: '';
	display: block;
	position: absolute;
	z-index: -1;
	top: -10rem;
	bottom: -14rem;
	width: 100%;
	background-color: #F1F9FB;
}
.p-home-quality::after {
	content: '';
	display: block;
	position: absolute;
	bottom: -8rem;
	left: -6rem;
	right: -6rem;
	height: 16rem;
	background-color: #F1F9FB;
	border-radius: 50%;
}
.p-home-quality .c-heading h2 {
	font-size: 3.6rem;
}
.p-home-quality .wrap {
	position: relative;
	padding-left: 66rem;
}
.p-home-quality .kv {
	overflow: hidden;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -26rem;
	width: 52rem;
	border-radius: 14rem;
	box-shadow: 0 1rem 4rem rgba(0,106,183,0.3);
}
.p-home-quality .list {
	display: flex;
	gap: 1rem;
	margin: 1rem 0 2rem 0;
	color: var(--color-gray);
}
.p-home-quality .list dl {
	padding: 1.5rem 3rem 2rem 3rem;
	background-color: #fff;
	border-radius: 999rem;
	text-align: center;
	font-weight: 700;
	font-size: 1.6rem;
}
.p-home-quality .list dt {
	margin-bottom: 0.5rem;
}
.p-home-quality .list dt img {
	margin: 0 auto;
	width: auto;
	height: 5rem;
}
.p-home-quality .foot {
	display: flex;
}

@media screen and (max-width: 768px) {
	.p-home-quality {
		position: relative;
		margin: 0;
		padding: 4rem 0 0 0;
	}
	.p-home-quality .c-heading h2 {
		font-size: 3.2rem;
	}
	.p-home-quality .wrap {
		padding: 0;
	}
	.p-home-quality .kv {
		position: static;
		margin: 2rem auto 0 auto;
		width: 30rem;
		border-radius: 10rem;
	}
	.p-home-quality .list {
		display: block;
		margin: 2rem 0 2rem 0;
	}
	.p-home-quality .list li:not(:last-child) {
		margin-bottom: 2rem;
	}
	.p-home-quality .list dl {
		padding: 0.5rem 0 1rem 0;
	}
	.p-home-quality .foot {
		display: flex;
		justify-content: center;
	}
}

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

	[ HOME ] CONTACT

*/
.p-home-contact {
	position: relative;
	padding: 8rem 0;
	text-align: center;
}
.p-home-contact .c-heading {
	margin: 0 auto;
}
.p-home-contact .foot {
	display: flex;
	justify-content: center;
	margin-top: 3rem;
}

@media screen and (max-width: 768px) {
	.p-home-contact {
		padding: 4rem 0 4rem 0;
	}
	.p-home-contact::before {
		content: '';
		display: block;
		position: absolute;
		z-index: -1;
		top: -10rem;
		bottom: 0;
		left: 0;
		width: 100%;
		background-color: #F1F9FB;
	}
	.p-home-contact .foot {
		margin-top: 2rem;
	}
}

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

	[ PRODUCTION ]

*/
.p-production {

}

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

	[ PRODUCTION ] FLOW

*/
.p-production-flow {
	position: relative;
	padding: 6rem 0 4rem 0;
}
.p-production-flow .heading {
	margin-bottom: 2rem;
}
.p-production-flow .heading h2 {
	font-weight: 700;
	font-size: 3.6rem;
}
.p-production-flow .l-production-flow {
	margin-bottom: 4rem;
}
.p-production-flow .variations {
	overflow: hidden;
	display: flex;
	height: 18rem;
	border-radius: 2rem;
	background-color: var(--color-primary);
	color: #FFF;
}
.p-production-flow .variations .thumb {
	flex-basis: 55.4rem;
}
.p-production-flow .variations .detail {
	flex: 1;
	display: flex;
	align-items: center;
	padding: 0 3rem;
	font-weight: 700;
	font-size: 1.6rem;
}
.p-production-flow .variations .detail h3 {
	margin-bottom: 1rem;
	font-size: 3.2rem;
	line-height: 1.5;
}

@media screen and (max-width: 768px) {
	.p-production-flow {
		padding: 6rem 0 4rem 0;
	}
	.p-production-flow .heading {
		margin-bottom: 2rem;
		text-align: center;
	}
	.p-production-flow .heading h2 {
		font-size: 2.6rem;
	}
	.p-production-flow .l-production-flow {
		margin-bottom: 4rem;
	}
	.p-production-flow .variations {
		display: block;
		height: auto;
	}
	.p-production-flow .variations .thumb {
		height: 10rem;
	}
	.p-production-flow .variations .detail {
		display: block;
		padding: 2rem;
		font-size: 1.4rem;
	}
	.p-production-flow .variations .detail h3 {
		font-size: 2.2rem;
	}
}

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

	[ PRODUCTION ] CONTENT

*/
.p-production-content01 {
	position: relative;
	margin: 0 0 9rem 0;
}
.p-production-content01 .c-bg {
	top: -14rem;
	bottom: -14rem;
}
.p-production-content02 {
	position: relative;
}
.p-production-content02::before {
	content: '';
	display: block;
	position: absolute;
	z-index: -1;
	top: -10rem;
	bottom: -10rem;
	width: 100%;
	background-color: #F1F9FB;
}

@media screen and (max-width: 768px) {
	.p-production-content01 {
		margin: 0 0 4rem 0;
	}
	.p-production-content01 .c-bg {
		top: -8rem;
		bottom: -6rem;
	}
}

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

	[ PRODUCTION ] LIST

*/
.p-production-list {
	padding: 10rem 0 2rem 0;
}
.p-production-list .heading {
	margin-bottom: 2rem;
	color: #FFF;
}
.p-production-list .heading h2 {
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1.3;
}
.p-production-list .list {
	margin-bottom: 4rem;
}
.p-production-list .list ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
}
.p-production-list .list ul li span {
	display: block;
	padding: 1rem 2rem;
	background-color: #FFF;
	border-radius: 1rem;
	font-weight: 700;
	font-size: 1.6rem;
	color: var(--color-gray);
}
.p-production-list table {
	margin: 0 -2px;
	border-collapse: separate;
	border-spacing: 2px;
	font-weight: 700;
	font-size: 1.6rem;
}
.p-production-list table th {
	padding: 1rem 1rem;
	width: 36rem;
	background-color: #6EB2E0;
	vertical-align: middle;
	text-align: center;
	color: #FFF;
}
.p-production-list table th:first-child {
	width: 30rem;
}
.p-production-list table td {
	padding: 1rem 1.5rem;
	background-color: #FFF;
	vertical-align: middle;
	text-align: center;
	color: var(--color-gray);
}
.p-production-list table tr:first-child th:first-child {
	border-radius: 2rem 0 0 0;
}
.p-production-list table tr:first-child th:last-child {
	border-radius: 0 2rem 0 0;
}
.p-production-list table tr:last-child td:first-child {
	border-radius: 0 0 0 2rem;
}
.p-production-list table tr:last-child td:last-child {
	border-radius: 0 0 2rem 0;
}
.p-production-list .table {
	margin-bottom: 5rem;
}
.p-production-list .sparkling h3 {
	margin-bottom: 1rem;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.3;
	color: #FFF;
}
.p-production-list .sparkling .note {
	margin-top: 1rem;
	font-weight: 500;
	font-size: 1.4rem;
	color: #FFF;
}
.p-production-list .l-cta {
	margin-top: 4rem;
	color: #FFF;
}
@media screen and (max-width: 768px) {
	.p-production-list {
		padding: 3rem 0;
	}
	.p-production-list .heading {
		margin-bottom: 2rem;
		text-align: center;
	}
	.p-production-list .heading h2 {
		font-size: 2.6rem;
	}
	.p-production-list .list {
		margin-bottom: 3rem;
	}
	.p-production-list .list ul {
		gap: 1rem;
	}
	.p-production-list .list ul li span {
		padding: 0.5rem 0.8rem;
		font-size: 1.4rem;
	}
	.p-production-list table {
		margin: 0;
		width: 100%;
		border-spacing: 1px;
		font-size: 1.4rem;
	}
	.p-production-list table th {
		padding: 1rem 0.5rem;
		width: auto;
	}
	.p-production-list table th:first-child {
		width: auto;
	}
	.p-production-list table td {
		padding: 1rem 0.5rem;
	}
	.p-production-list .table {
		margin-bottom: 3rem;
	}
	.p-production-list .sparkling h3 {
		margin-bottom: 1rem;
		font-size: 2.2rem;
	}
	.p-production-list .l-cta {
		margin-top: 3rem;
	}
}

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

	[ PRODUCTION ] MENU

*/
.p-production-menu {
	position: relative;
	padding: 6rem 0 6rem 0;
}
.p-production-menu .c-bg {
	top: -16rem;
	bottom: 0;
}
.p-production-menu .c-bg div::before {
	content: none;
}
.p-production-menu .c-bg div::after {
	bottom: 0;
	background-color: var(--color-primary);
}

@media screen and (max-width: 768px) {
	.p-production-menu {
		padding: 8rem 0 3rem 0;
	}
	.p-production-menu .c-bg {
		top: -4rem;
		bottom: 0;
	}
	.p-production-menu .l-menu-list {
		margin-bottom: 6rem;
	}
}

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

	[ PRODUCTION ] CASE

*/
.p-production-case {
	padding: 0;
}
.p-production-case .block {
	display: flex;
	flex-direction: row-reverse;
	overflow: hidden;
	background-color: var(--color-primary);
	border-radius: 2rem;
	text-decoration: none;
	color: #FFF;
	box-shadow: 0 1rem 2rem rgba(0,0,0,0.15);
}
.p-production-case .block .thumb {
	position: relative;
	flex-basis: 46rem;
}
.p-production-case .block .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.p-production-case .block .detail {
	flex: 1;
	padding: 4rem;
	font-weight: 700;
}
.p-production-case .block .detail h2 {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid #FFF;
	font-size: 3.6rem;
}
.p-production-case .block .detail h2 span {
	display: block;
}
.p-production-case .block .detail h2 span img {
	width: 6rem;
}
.p-production-case .block .detail h2 em {
	display: block;
	font-size: 1.6rem;
	line-height: 1.4;
}
.p-production-case .block .detail h2 em.indent {
	text-indent: -0.5em;
}
.p-production-case .block .detail .foot {
	display: flex;
	margin-top: 2.5rem;
}

@media (any-hover: hover) {
	.p-production-case .block {
		transition: transform 0.3s ease, box-shadow 0.3s ease;
	}
	.p-production-case .block:hover {
		z-index: 10;
		transform: scale(1.08);
		box-shadow: 0 1rem 1.5rem rgba(0,0,0,0.2), inset -0.5rem -1rem 1rem rgba(255,255,255,0.1), inset 0.5rem 1rem 1rem rgba(0,106,183,0.2);
	}
}

@media screen and (max-width: 768px) {
	.p-production-case {
		padding: 0 0 1rem 0;
	}
	.p-production-case .block {
		display: block;
		min-height: initial;
	}
	.p-production-case .block .thumb img {
		position: static;
		height: auto;
	}
	.p-production-case .block .detail {
		display: block;
		padding: 2rem 2rem 3rem 2rem;
	}
	.p-production-case .block .detail h2 {
		display: block;
		position: relative;
		padding-left: 7.5rem;
		font-size: 2.6rem;
	}
	.p-production-case .block .detail h2 span {
		position: absolute;
		top: 1rem;
		left: 0;
	}
	.p-production-case .block .detail h2 em {
		font-size: 1.5rem;
		line-height: 1.4;
	}
	.p-production-case .block .detail .foot {
		display: flex;
		justify-content: center;
		margin-top: 2rem;
	}
}

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

	[ PRODUCTION ] PARTNER

*/
.p-production-partner {
	padding: 6rem 0 4rem 0;
}
@media screen and (max-width: 768px) {
	.p-production-partner {
		padding: 4rem 0 2rem 0;
	}
}

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

	[ PRODUCTION ] SECTION

*/
.p-production-section {
	position: relative;
	padding: 6rem 0 10rem 0;
	background-color: #F1F9FB;
}
.p-production-section .c-bg {
	top: 12rem;
	bottom: 0;
}
.p-production-section .c-bg div::after {
	bottom: 0;
	background-color: var(--color-primary);
}
.p-production-section .c-bg div::before {
	content: none;
}
.p-production-section .heading {
	margin-bottom: 6rem;
}
.p-production-section .heading h2 {
	font-weight: 700;
	font-size: 3.6rem;
}
.p-production-section .foot {
	display: flex;
	justify-content: center;
	margin-top: 4rem;
}

@media screen and (max-width: 768px) {
	.p-production-section {
		padding: 4rem 0;
	}
	.p-production-section .heading {
		margin-bottom: 3rem;
		text-align: center;
	}
	.p-production-section .heading h2 {
		font-size: 2.6rem;
	}
}

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

	[ LINEUP ] LIST

*/
.p-lineup-list {
	position: relative;
	padding: 6rem 0 0 0;
}
.p-lineup-list a {
	text-decoration: none;
	color: inherit;
}
.p-lineup-list .c-heading {
	margin-bottom: 3rem;
}
.p-lineup-list h2 {
	font-weight: 700;
	font-size: 3.6rem;
}
.p-lineup-list .list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1rem;
}
.p-lineup-list .list > li {
	flex-basis: 25%;
	margin-bottom: 3rem;
	padding: 0 1rem;
}
.p-lineup-list .list .item {
	overflow: hidden;
	display: block;
	position: relative;
	height: 100%;
	background-color: #fff;
	border-radius: 2rem;
	box-shadow: 0 1rem 2rem rgba(0,0,0,0.15);
}
.p-lineup-list .list .thumb {
	overflow: hidden;
	position: relative;
	padding-top: 100%;
	height: 0;
}
.p-lineup-list .list .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.p-lineup-list .list .detail {
	position: relative;
	padding: 2rem 2rem 4rem 2rem;
}
.p-lineup-list .list .detail .category {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 0.6rem;
	margin-bottom: 1rem;
	font-size: 1.2rem;
}
.p-lineup-list .list .detail .category li {
	padding: 0.5rem 1rem;
	background-color: var(--color-primary);
	border-radius: 999rem;
	color: #fff;
}
.p-lineup-list .list .detail h3 {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--color-gray);
	font-weight: 700;
	font-size: 1.6rem;
}
.p-lineup-list .list .detail .tag {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 0.6rem;
	font-size: 1.2rem;
}
.p-lineup-list .list .detail .tag li {
	padding: 0.5rem 1rem;
	border: 1px solid #ccc;
	border-radius: 999rem;
}
.p-lineup-list .list .detail p {
	margin-top: 1rem;
	font-size: 1.4rem;
}
.p-lineup-list .list .icon-arrow-link {
	position: absolute;
	left: 0;
	bottom: 2rem;
	text-align: center;
	width: 100%;
	font-size: 1.6rem;
	color: var(--color-primary);
}

@media (any-hover: hover) {
	.p-lineup-list .list .item {
		transition: transform 0.3s ease, box-shadow 0.3s ease;
	}
	.p-lineup-list .list .item:hover {
		z-index: 10;
		transform: scale(1.14);
		box-shadow: 0 1.5rem 2rem rgba(0,0,0,0.2);
	}
	.p-lineup-list .list .item .icon-arrow-link {
		transition: transform 0.3s ease;
	}
	.p-lineup-list .list .item:hover .icon-arrow-link {
		transform: translateX(1rem);
	}
}

@media screen and (max-width: 768px) {
	.p-lineup-list {
		margin: 3rem 0 0 0;
		padding: 4rem 0 3rem 0;
	}
	.p-lineup-list h2 {
		text-align: center;
		font-size: 2.4rem;
	}
	.p-lineup-list .c-heading {
		margin-bottom: 3rem;
	}
	.p-lineup-list .list {
		display: block;
		margin: 0;
	}
	.p-lineup-list .list > li {
		margin-bottom: 2rem;
		padding: 0;
	}
	.p-lineup-list .list .item {
		height: auto;
	}
	.p-lineup-list .list .thumb {
		height: 20rem;
	}
	.p-lineup-list .list .detail {
		padding: 1.5rem 2rem 4rem 2rem;
	}
	.p-lineup-list .list .detail .category {
		gap: 0.6rem 0.6rem;
		font-size: 1rem;
	}
	.p-lineup-list .list .detail .category li {
		padding: 0.5rem 1rem;
	}
	.p-lineup-list .list .detail h3 {
		margin-bottom: 1rem;
		padding-bottom: 1rem;
	}
	.p-lineup-list .list .detail .tag {
		gap: 0.6rem 0.6rem;
		font-size: 1rem;
	}
	.p-lineup-list .list .detail .tag li {
		padding: 0.5rem 1rem;
	}
	.p-lineup-list .list .detail p {
		margin-top: 1rem;
		font-size: 1.2rem;
	}
	.p-lineup-list .list .icon-arrow-link {
		bottom: 2rem;
	}
}

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

	[ LINEUP ] CONTENT

*/
.p-lineup-content {
	position: relative;
}
.p-lineup-content .c-bg {
	top: -28rem;
	bottom: 0;
}
.p-lineup-content .c-bg div::after {
	bottom: 0;
	background-color: var(--color-primary);
}
.p-lineup-content .l-buy {
	margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
	.p-lineup-content .c-bg {
		top: -8rem;
	}
}

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

	[ LINEUP ] MENU

*/
.p-lineup-menu {
	position: relative;
	padding: 6rem 0 6rem 0;
}
.p-lineup-menu .c-bg div::before {
	content: none;
}
.p-lineup-menu .l-cta-frame {
	margin-top: 6rem;
}
@media screen and (max-width: 768px) {
	.p-lineup-menu {
		padding: 2rem 0 4rem 0;
	}
	.p-lineup-menu .l-cta-frame {
		margin-top: 4rem;
	}
}

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

	[ LINEUP ] DETAIL

*/
.p-lineup-detail {
	position: relative;
	padding: 6rem 0 0 0;
}
.p-lineup-detail .c-bg-light {
	top: 5rem;
	bottom: 0;
}
.p-lineup-detail .wrap {
	display: flex;
	flex-direction: row-reverse;
}
.p-lineup-detail .wrap .image {
	flex-basis: 52rem;
	margin-top: -10rem;
}
.p-lineup-detail .wrap .detail {
	flex: 1;
	padding-right: 6rem;
}
.p-lineup-detail .wrap .head {
	font-weight: 700;
	font-size: 1.6rem;
	color: var(--color-gray);
}
.p-lineup-detail .wrap .head h1 {
	display: table;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #000;
	font-size: 3.6rem;
	color: #000;
}
.p-lineup-detail .wrap .head ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 0.6rem;
	margin-top: 1rem;
}
.p-lineup-detail .wrap .head ul span {
	display: block;
	padding: 0.4rem 1rem;
	border: 1px solid #CCC;
	border-radius: 999rem;
	background-color: #FFF;
	font-size: 1.2rem;
}
.p-lineup-detail .wrap .text {
	margin-top: 5rem;
	font-size: 1.6rem;
	line-height: 2;
}
.p-lineup-detail .wrap .patent {
	display: flex;
	margin-top: 3rem;
}
.p-lineup-detail .info {
	display: flex;
	margin: 0 -1.5rem;
	padding-top: 4rem;
}
.p-lineup-detail .info .col {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 0 1.5rem;
}
.p-lineup-detail .info .component {
	flex-basis: 47rem;
	padding: 0 1.5rem;
}
.p-lineup-detail .info .block {
	flex: 1;
	padding: 2rem;
	height: 100%;
	background-color: #FFF;
	border-radius: 2rem;
}
.p-lineup-detail .info .block h2 {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-weight: 700;
	font-size: 2rem;
}
.p-lineup-detail .info .block h2 img {
	width: auto;
	height: 3rem;
}
.p-lineup-detail .info .col .block {
	display: flex;
	align-items: center;
}
.p-lineup-detail .info .col .block h2 {
	flex-basis: 16rem;
}
.p-lineup-detail .info .col .block .inner {
	flex: 1;
	font-weight: 700;
	font-size: 1.4rem;
	color: var(--color-gray);
}
.p-lineup-detail .info .col .block ul li {
	position: relative;
	padding-left: 1em;
}
.p-lineup-detail .info .col .block ul li:not(:last-child) {
	margin-bottom: 1rem;
}
.p-lineup-detail .info .col .block ul li::before {
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
.p-lineup-detail .info .component table {
	width: 100%;
	color: var(--color-gray);
}
.p-lineup-detail .info .component table th,
.p-lineup-detail .info .component table td {
	padding: 1rem 0;
	border-top: 1px solid #CCC;
	vertical-align: top;
	text-align: left;
}
.p-lineup-detail .info .component table tr:first-child th,
.p-lineup-detail .info .component table tr:first-child td {
	border-top: 0;
}
.p-lineup-detail .info .component table th {
	width: 12rem;
	padding-right: 1em;
	font-weight: 700;
	font-size: 1.6rem;
}
.p-lineup-detail .info .component table td {
	font-size: 1.4rem;
}
.p-lineup-detail .info .component table .no-border th,
.p-lineup-detail .info .component table .no-border td {
	padding-top: 0;
	border-top: 0;
}
.p-lineup-detail .info-other {
	display: flex;
	justify-content: flex-end;
	margin: 0 -1.5rem;
	padding-top: 1rem;
}
.p-lineup-detail .info-other div {
	flex-basis: 47rem;
  padding: 0 1.5rem;
	font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
	.p-lineup-detail {
		padding: 1rem 0 0 0;
	}
	.p-lineup-detail .wrap {
		display: block;
	}
	.p-lineup-detail .wrap .image {
		margin-top: 0;
	}
	.p-lineup-detail .wrap .detail {
		margin-top: 3rem;
		padding: 0;
	}
	.p-lineup-detail .wrap .head {
		font-size: 1.4rem;
	}
	.p-lineup-detail .wrap .head h1 {
		font-size: 2.6rem;
	}
	.p-lineup-detail .wrap .text {
		margin-top: 2rem;
		font-size: 1.4rem;
	}
	.p-lineup-detail .wrap .patent {
		justify-content: center;
		margin-top: 2rem;
		padding-bottom: 1rem;
	}
	.p-lineup-detail .info {
		display: block;
		margin: 0;
		padding-top: 3rem;
	}
	.p-lineup-detail .info .col {
		display: block;
		padding: 0;
	}
	.p-lineup-detail .info .component {
		padding: 0;
	}
	.p-lineup-detail .info .block {
		padding: 2rem;
		height: auto;
	}
	.p-lineup-detail .info .col .block {
		display: block;
		margin-bottom: 1rem;
	}
	.p-lineup-detail .info .col .block h2 {
		margin-bottom: 1rem;
	}
	.p-lineup-detail .info .col .block ul li:not(:last-child) {
		margin-bottom: 0.5rem;
	}
	.p-lineup-detail .info .component table th {
		font-size: 1.4rem;
	}
	.p-lineup-detail .info .component table td {
		font-size: 1.4rem;
	}
	.p-lineup-detail .info-other {
		display: block;
		margin: 0;
	}
	.p-lineup-detail .info-other div {
		padding: 0;
		font-size: 1.4rem;
	}
}

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

	[ LINEUP ] DETAIL FOOT

*/
.p-lineup-detail-foot {
	position: relative;
	padding: 4rem 0 14rem 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
	background-color: #F1F9FB;
}
.p-lineup-detail-foot .c-bg {
	top: -12rem;
	bottom: 0;
}
.p-lineup-detail-foot .c-bg div::after {
	bottom: 0;
	background-color: var(--color-primary);
}
.p-lineup-detail-foot .c-bg div::before {
	content: none;
}
@media screen and (max-width: 768px) {
	.p-lineup-detail-foot {
		padding: 4rem 0 4rem 0;
		flex-direction: column;
		align-items: center;
		gap: 2rem;
	}
	.p-lineup-detail-foot .c-bg {
		top: -4rem;
	}
}

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

	[ QUALITY ]

*/
.p-quality {

}

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

	[ QUALITY ] SAFETY

*/
.p-quality-safety {
	padding: 6rem 0 4rem 0;
}
.p-quality-safety .c-heading h2 {
	font-size: 3.6rem;
}
.p-quality-safety .fssc {
	margin: 3rem 0;
	text-align: center;
	font-size: 1.4rem;
}
.p-quality-safety .fssc img {
	margin: 0 auto 1rem auto;
	width: 45rem;
}
.p-quality-safety .block {
	padding: 3rem;
	background-color: #FFF;
	border-radius: 2rem;
	font-size: 1.6rem;
}
.p-quality-safety .block h3 {
	margin-bottom: 1rem;
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1.3;
}
.p-quality-safety .block .lead {
	line-height: 2;
}
.p-quality-safety .block .note {
	margin-top: 1rem;
	font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
	.p-quality-safety {
		padding: 4rem 0 4rem 0;
	}
	.p-quality-safety .c-heading h2 {
		font-size: 2.6rem;
	}
	.p-quality-safety .fssc {
		margin: 2rem 0;
		font-size: 1.4rem;
	}
	.p-quality-safety .fssc img {
		width: 28rem;
	}
	.p-quality-safety .block {
		padding: 2rem;
		font-size: 1.4rem;
	}
	.p-quality-safety .block h3 {
		margin-bottom: 1rem;
		font-size: 2.2rem;
	}
	.p-quality-safety .block .note {
		margin-top: 1rem;
		font-size: 1.2rem;
	}
}

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

	[ QUALITY ] CHECK

*/
.p-quality-check {
	padding: 0 0 10rem 0;
}
.p-quality-check .heading {
	margin-bottom: 2rem;
}
.p-quality-check .heading h2 {
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1.3;
}
.p-quality-check .list ul {
	display: flex;
	gap: 4rem;
}
.p-quality-check .list ul li {
	width: 100%;
}
.p-quality-check .list .item {
	overflow: hidden;
	height: 100%;
	background-color: #FFF;
	border-radius: 2rem;
	font-weight: 700;
	font-size: 1.6rem;
}
.p-quality-check .list .item .detail {
	padding: 2rem;
}
.p-quality-check .list .item .detail h3 {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--color-gray);
	font-size: 2.4rem;
	line-height: 1.3;
}
.p-quality-check .list .item .detail p {
	color: var(--color-gray);
}
.p-quality-check .note {
	margin-top: 2rem;
	font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
	.p-quality-check {
		padding: 0 0 10rem 0;
	}
	.p-quality-check .heading h2 {
		text-align: center;
		font-size: 2.6rem;
	}
	.p-quality-check .list ul {
		display: block;
	}
	.p-quality-check .list ul li:not(:last-child) {
		margin-bottom: 2rem;
	}
	.p-quality-check .list .item {
		height: auto;
		font-size: 1.4rem;
	}
	.p-quality-check .list .item .detail {
		padding: 2rem;
	}
	.p-quality-check .list .item .detail h3 {
		font-size: 2rem;
	}
	.p-quality-check .note {
		margin-top: 1.5rem;
		font-size: 1.2rem;
	}
}

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

	[ QUALITY ] HYGIENE

*/
.p-quality-hygiene {
	position: relative;
	padding: 8rem 0 14rem 0;
}
.p-quality-hygiene .c-bg {
	top: -19rem;
	bottom: -5rem;
}
.p-quality-hygiene .heading {
	margin-bottom: 2rem;
	color: #FFF;
}
.p-quality-hygiene .heading h2 {
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1.3;
}
.p-quality-hygiene .list {
	margin-bottom: 4rem;
}
.p-quality-hygiene .list ul {
	display: flex;
	gap: 4rem;
}
.p-quality-hygiene .list ul li {
	width: 100%;
}
.p-quality-hygiene .list .item {
	overflow: hidden;
	padding: 1rem 2rem 2rem 2rem;
	height: 100%;
	background-color: #FFF;
	border-radius: 2rem;
	font-weight: 700;
	font-size: 1.6rem;
}
.p-quality-hygiene .list .item h3 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--color-gray);
	font-size: 2.4rem;
}
.p-quality-hygiene .list .item h3 span {
	display: block;
	flex-basis: 5rem;
}
.p-quality-hygiene .list .item p {
	color: var(--color-gray);
}
.p-quality-hygiene .block {
	padding: 3rem;
	background-color: #FFF;
	border-radius: 2rem;
	font-size: 1.6rem;
}
.p-quality-hygiene .block:not(:last-child) {
	margin-bottom: 2rem;
}
.p-quality-hygiene .block h3 {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1rem;
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1.3;
}
.p-quality-hygiene .block h3 img {
	width: 11rem;
}
.p-quality-hygiene .block .lead {
	line-height: 2;
}

@media screen and (max-width: 768px) {
	.p-quality-hygiene {
		padding: 2rem 0 6rem 0;
	}
	.p-quality-hygiene .c-bg {
		top: -12rem;
		bottom: -4rem;
	}
	.p-quality-hygiene .heading {
		margin-bottom: 2rem;
		text-align: center;
	}
	.p-quality-hygiene .heading h2 {
		font-size: 2.6rem;
	}
	.p-quality-hygiene .list {
		margin-bottom: 4rem;
	}
	.p-quality-hygiene .list ul {
		display: block;
	}
	.p-quality-hygiene .list ul li:not(:last-child) {
		margin-bottom: 2rem;
	}
	.p-quality-hygiene .list .item {
		overflow: hidden;
		padding: 1.5rem 2rem 2rem 2rem;
		height: auto;
		font-size: 1.4rem;
	}
	.p-quality-hygiene .list .item h3 {
		margin-bottom: 1.5rem;
		font-size: 2rem;
	}
	.p-quality-hygiene .block {
		padding: 2rem;
		font-size: 1.4rem;
	}
	.p-quality-hygiene .block:not(:last-child) {
		margin-bottom: 2rem;
	}
	.p-quality-hygiene .block h3 {
		justify-content: space-between;
		margin-bottom: 1rem;
		font-size: 2.2rem;
	}
	.p-quality-hygiene .block h3 img {
		width: 8rem;
	}
}

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

	[ QUALITY ] TECHNOLOGY

*/
.p-quality-technology {
	padding: 6rem 0 2rem 0;
}
.p-quality-technology .c-heading h2 {
	font-size: 3.6rem;
}
.p-quality-technology .c-heading h3 {
	font-size: 3.2rem;
}
.p-quality-technology .text {
	margin: 2rem 0 8rem 0;
	font-weight: 700;
	font-size: 2rem;
	line-height: 2;
}
.p-quality-technology .patent {
	display: flex;
	margin-bottom: 4rem;
}
.p-quality-technology .patent .head {
	padding: 3rem 3rem 0 3rem;
	border-radius: 2rem;
	flex-basis: 24.2rem;
	background-color: var(--color-primary);
	font-weight: 700;
	color: #FFF;
	white-space: nowrap;
}
.p-quality-technology .patent .head dt span {
	display: block;
	padding: 0.8rem 1rem;
	background-color: #FFF;
	border-radius: 999rem;
	text-align: center;
	font-size: 2rem;
	line-height: 1.2;
	color: var(--color-primary);
}
.p-quality-technology .patent .head dt em {
	display: block;
	margin-top: 0.5rem;
	font-size: 3.6rem;
}
.p-quality-technology .patent .head dd {
	margin-top: 1rem;
	font-size: 1.4rem;
}
.p-quality-technology .patent .detail {
	flex: 1;
	padding-left: 4rem;
	font-size: 1.6rem;
}
.p-quality-technology .patent .detail h3 {
	margin-bottom: 2rem;
	font-weight: 700;
	font-size: 3.2rem;
}
.p-quality-technology .patent .detail p {
	line-height: 2;
	color: var(--color-gray);
}
.p-quality-technology .patent .detail .note {
	margin-top: 2rem;
	font-size: 1.4rem;
}
.p-quality-technology .step {
	overflow: hidden;
	display: flex;
	justify-content: center;
	margin-bottom: 4rem;
	background-color: #FFF;
	border-radius: 2rem;
}
.p-quality-technology .step img {
	width: 84rem;
}
.p-quality-technology .flow h3 {
	margin-bottom: 1rem;
	font-weight: 700;
	font-size: 3.2rem;
	line-height: 1.3;
}
.p-quality-technology .flow ol {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -0.7rem;
}
.p-quality-technology .flow ol li {
	flex-basis: 20%;
	padding: 1rem 0.7rem;
}
.p-quality-technology .flow .item {
	overflow: hidden;
	padding: 0 0 2rem 0;
	height: 100%;
	border-radius: 2rem;
	background-color: #FFF;
	text-align: center;
	font-weight: 700;
	font-size: 1.6rem;
}
.p-quality-technology .flow .item img {
	margin: 0 auto;
	width: 18.5rem;
}
.p-quality-technology .flow .item dt {
	margin: 0 auto;
	padding: 0.8rem 0 0.7rem 0;
	width: 8rem;
	border-radius: 999rem;
	background-color: var(--color-primary);
	color: #FFF;
	line-height: 1;
}
.p-quality-technology .flow .item dd {
	margin-top: 1rem;
}

@media screen and (max-width: 768px) {
	.p-quality-technology {
		padding: 3rem 0 3rem 0;
	}
	.p-quality-technology .c-heading h2 {
		font-size: 2.6rem;
	}
	.p-quality-technology .c-heading h3 {
		font-size: 2.4rem;
	}
	.p-quality-technology .text {
		margin: 2rem 0 4rem 0;
		font-size: 1.4rem;
	}
	.p-quality-technology .patent {
		display: block;
		margin-bottom: 3rem;
	}
	.p-quality-technology .patent .head {
		padding: 2rem;
		text-align: center;
	}
	.p-quality-technology .patent .head dt span {
		padding: 0.8rem 1rem 1rem 1rem;
		font-size: 1.6rem;
	}
	.p-quality-technology .patent .head dt em {
		margin-top: 1.5rem;
		font-size: 2.6rem;
	}
	.p-quality-technology .patent .head dt em br {
		display: none;
	}
	.p-quality-technology .patent .detail {
		padding: 2.5rem 0 0 0;
		font-size: 1.4rem;
	}
	.p-quality-technology .patent .detail h3 {
		margin-bottom: 1.5rem;
		font-size: 2.2rem;
	}
	.p-quality-technology .patent .detail .note {
		margin-top: 1.5rem;
		font-size: 1.2rem;
	}
	.p-quality-technology .step {
		margin-bottom: 4rem;
		padding: 0 1.5rem;
	}
	.p-quality-technology .step img {
		width: 100%;
	}
	.p-quality-technology .flow h3 {
		margin-bottom: 2rem;
		text-align: center;
		font-size: 2.2rem;
	}
	.p-quality-technology .flow ol {
		margin: 0 -0.5rem;
	}
	.p-quality-technology .flow ol li {
		flex-basis: 50%;
		padding: 0.5rem;
	}
	.p-quality-technology .flow .item {
		padding: 0 0 1rem 0;
		font-size: 1.4rem;
	}
	.p-quality-technology .flow .item img {
		width: 96%;
	}
	.p-quality-technology .flow .item dl {
		margin-top: 0;
	}
}

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

	[ QUALITY ] FACTORY

*/
.p-quality-factory {
	position: relative;
	padding: 6rem 0 14rem 0;
}
.p-quality-factory .c-bg {
	top: -18rem;
	bottom: -5rem;
}
.p-quality-factory .heading {
	margin-bottom: 2rem;
	color: #FFF;
}
.p-quality-factory .heading h2 {
	font-weight: 700;
	font-size: 3.2rem;
}
.p-quality-factory .block {
	overflow: hidden;
	background-color: #FFF;
	border-radius: 2rem;
	width: 100%;
}
.p-quality-factory .block .detail {
	padding: 2rem;
}
.p-quality-factory .block .detail h3 {
	margin-bottom: 0.5rem;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.3;
}
.p-quality-factory .block .detail .lead {
	font-weight: 700;
	font-size: 1.4rem;
	color: var(--color-gray);
}
.p-quality-factory .block .detail table {
	margin-top: 2rem;
	width: 100%;
	font-size: 1.4rem;
}
.p-quality-factory .block .detail table th {
	padding: 1rem 0;
	border-top: 1px solid #CCC;
	text-align: left;
	vertical-align: middle;
	font-weight: 700;
}
.p-quality-factory .block .detail table td {
	padding: 1rem 0;
	border-top: 1px solid #CCC;
	text-align: right;
	vertical-align: middle;
}
.p-quality-factory .block .detail table td a {
	color: var(--color-primary);
}
.p-quality-factory .block .detail table tr:first-child th,
.p-quality-factory .block .detail table tr:first-child td {
	border-top: 1px solid var(--color-gray);
}
.p-quality-factory .wrap01 {
	display: flex;
	gap: 4rem;
	margin-bottom: 3rem;
}
.p-quality-factory .wrap02 {
	margin-bottom: 3rem;
}
.p-quality-factory .wrap02 .row {
	display: flex;
	gap: 3rem;
	padding: 2rem;
}
.p-quality-factory .wrap02 .detail {
	padding: 0;
	width: 100%;
}
.p-quality-factory .wrap03 .block {
	display: flex;
}
.p-quality-factory .wrap03 .block .thumb {
	flex-basis: 36rem;
}
.p-quality-factory .wrap03 .block .thumb picture,
.p-quality-factory .wrap03 .block .thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.p-quality-factory .wrap03 .block .detail {
	display: flex;
	flex: 1;
	padding: 2rem 2rem 1rem 2rem;
	gap: 2rem;
}
.p-quality-factory .wrap03 .block .detail h3 {
	font-size: 2rem;
}
.p-quality-factory .wrap03 .block .detail .detail-block {
	width: 100%;
}
@media screen and (min-width: 769px) {
	.p-quality-factory .wrap03 .block .detail table {
		margin-top: 0;
	}
	.p-quality-factory .wrap03 .block .detail table tr:first-child th,
	.p-quality-factory .wrap03 .block .detail table tr:first-child td {
		padding-top: 0;
		border-top: 0;
	}
}

@media screen and (max-width: 768px) {
	.p-quality-factory {
		padding: 3rem 0 6rem 0;
	}
	.p-quality-factory .c-bg {
		top: -10rem;
		bottom: -1rem;
	}
	.p-quality-factory .heading {
		margin-bottom: 2rem;
		text-align: center;
	}
	.p-quality-factory .heading h2 {
		font-size: 2.6rem;
	}
	.p-quality-factory .block .detail {
		padding: 2rem;
	}
	.p-quality-factory .block .detail h3 {
		font-size: 2rem;
	}
	.p-quality-factory .block .detail table {
		margin-top: 1rem;
		font-size: 1.4rem;
	}
	.p-quality-factory .block .detail table th {
		padding: 1.5rem 0;
	}
	.p-quality-factory .block .detail table td {
		padding: 1.5rem 0;
	}
	.p-quality-factory .wrap01 {
		display: block;
		margin-bottom: 0;
	}
	.p-quality-factory .wrap01 .block {
		margin-bottom: 2rem;
	}
	.p-quality-factory .wrap02 {
		margin-bottom: 2rem;
	}
	.p-quality-factory .wrap02 .row {
		display: block;
		padding: 2rem;
	}
	.p-quality-factory .wrap02 .detail {
		padding: 0;
	}
	.p-quality-factory .wrap02 .detail:not(:last-child) {
		margin-bottom: 3rem;
	}
	.p-quality-factory .wrap02 .detail .lead {
		min-height: initial;
	}
	.p-quality-factory .wrap03 .block {
		display: block;
	}
	.p-quality-factory .wrap03 .block .detail {
		padding: 2rem;
	}
	.p-quality-factory .wrap03 .block .detail {
		display: block;
	}
}

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

	[ QUALITY ] ENVIRONMENT

*/
.p-quality-environment {
	padding: 6rem 0 0 0;
}
.p-quality-environment .heading {
	display: flex;
	margin-bottom: 4rem;
}
.p-quality-environment .heading h2 {
	border-bottom: 1px solid var(--color-gray);
	font-weight: 700;
	font-size: 3.6rem;
}
.p-quality-environment .block {
	overflow: hidden;
	margin-bottom: 10rem;
	border-radius: 2rem;
	background-color: #FFF;
}
.p-quality-environment .block .kv img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.p-quality-environment .block .detail {
	padding: 2rem;
}
.p-quality-environment .block .detail h3 {
	font-weight: 700;
	font-size: 2.4rem;
}
.p-quality-environment .block .detail .lead {
	margin: 1rem 0 3rem 0;
	font-size: 1.6rem;
	line-height: 2;
	color: var(--color-gray);
}
.p-quality-environment .block .detail .row {
	display: flex;
	gap: 4rem;
	margin: 0 auto;
	width: 88rem;
}
.p-quality-environment .block .detail .row .item p {
	margin-top: 1rem;
	font-size: 1.4rem;
}
.p-quality-environment .l-menu-list {
	margin-bottom: 10rem;
}
.p-quality-environment .l-menu-list .item {
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
}

@media screen and (max-width: 768px) {
	.p-quality-environment {
		padding: 3rem 0;
	}
	.p-quality-environment .heading {
		margin-bottom: 3rem;
		text-align: center;
	}
	.p-quality-environment .heading h2 {
		font-size: 2.6rem;
	}
	.p-quality-environment .block {
		margin-bottom: 4rem;
	}
	.p-quality-environment .block .kv {
		height: 15rem;
	}
	.p-quality-environment .block .detail {
		padding: 2rem;
	}
	.p-quality-environment .block .detail h3 {
		font-size: 2rem;
	}
	.p-quality-environment .block .detail .lead {
		margin: 1rem 0 2rem 0;
		font-size: 1.4rem;
	}
	.p-quality-environment .block .detail .row {
		display: block;
		width: 100%;
	}
	.p-quality-environment .block .detail .row .item:not(:last-child) {
		margin-bottom: 2rem;
	}
	.p-quality-environment .block .detail .row .item p {
		margin-top: 0.5rem;
		font-size: 1.2rem;
	}
	.p-quality-environment .l-menu-list {
		margin-bottom: 4rem;
	}
}

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

	[ SECTION ] LIST

*/
.p-section-list {
	position: relative;
	padding: 6rem 0 0 0;
}
.p-section-list .tabs {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	margin-bottom: 4rem;
}
.p-section-list .tabs h2 {
	font-weight: 700;
}
.p-section-list .tabs ul {
	display: flex;
	gap: 1rem;
	font-weight: 700;
	font-size: 1.4rem;
}
.p-section-list .tabs label {
	display: block;
	position: relative;
}
.p-section-list .tabs label input {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
}
.p-section-list .tabs button {
	cursor: pointer;
}
.p-section-list .tabs button,
.p-section-list .tabs label span {
	display: block;
	padding: 0.5rem 1rem;
	background-color: #FFF;
	border-radius: 999rem;
}
.p-section-list .tabs button.checked {
	cursor: default;
}
.p-section-list .tabs button.checked,
.p-section-list .tabs label input:checked + span {
	background-color: var(--color-primary);
	color: #FFF;
}
@media screen and (max-width: 768px) {
	.p-section-list {
		margin: 3rem 0 0 0;
		padding: 4rem 0 0 0;
	}
	.p-section-list .tabs {
		display: block;
		margin-bottom: 4rem;
	}
	.p-section-list .tabs h2 {
		margin-bottom: 1.5rem;
		text-align: center;
	}
	.p-section-list .tabs ul {
		flex-wrap: wrap;
		justify-content: center;
	}
}

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

	[ SECTION ] RECRUIT

*/
.p-section-recruit {
	position: relative;
	padding: 2rem 0 6rem 0;
}
.p-section-recruit .c-bg {
	top: -20rem;
	bottom: 0;
}
.p-section-recruit .c-bg div::after {
	bottom: 0;
	background-color: var(--color-primary);
}
.p-section-recruit .c-bg div::before {
	content: none;
}
@media screen and (max-width: 768px) {
	.p-section-recruit {
		padding: 2rem 0 2rem 0;
	}
	.p-section-recruit .c-bg {
		top: -6rem;
	}
}

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

	[ INTERVIEW ] ARTICLE

*/
.p-interview-article {
	position: relative;
	padding: 4rem 0 0 0;
}
.p-interview-article .c-bg-light {
	top: 4rem;
}
.p-interview-article .main {
	margin-bottom: 5rem;
}
.p-interview-article .main .wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-right: 50rem;
	min-height: 46rem;
}
.p-interview-article .main-case .wrap {
	padding-right: 61rem;
}
.p-interview-article .main .mv {
	overflow: hidden;
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -23rem;
	width: 45rem;
	height: 46rem;
	border-radius: 6rem;
	background-color: #fff;
	box-shadow: 0 1rem 4rem rgba(0,106,183,0.3);
}
.p-interview-article .main .heading {
	margin-bottom: 4rem;
	font-weight: 700;
}
.p-interview-article .main .heading h1 {
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--color-gray);
	font-size: 5.4rem;
	line-height: 1.3;
}
.p-interview-article .main-case .heading h1 em {
	display: block;
	font-size: 3.3rem;
}
.p-interview-article .main-case .heading h1 span {
	display: block;
	margin-top: 1rem;
	padding-bottom: 1rem;
	font-size: 1.4rem;
}
.p-interview-article .main .heading p {
	font-size: 1.6rem;
	color: var(--color-gray);
}
.p-interview-article .main-case .heading p {
	line-height: 2;
}
.p-interview-article .main .profile {
	margin-top: 0;
}
.p-interview-article .main .profile .row {
	display: flex;
	align-items: center;
	gap: 2rem;
}
.p-interview-article .main .profile .belong {
	padding: 0.5rem 1rem;
	background-color: var(--color-primary);
	border-radius: 999rem;
	font-size: 1.4rem;
	color: #fff;
}
.p-interview-article .main .profile .name {
	display: flex;
	align-items: center;
	font-weight: 700;
	font-size: 2rem;
}
.p-interview-article .main .profile .name::before {
	content: '';
	display: block;
	margin-right: 0.8rem;
	width: 3rem;
	height: 3rem;
	background-image: url(../img/icon-user.svg);
	background-size: contain;
}
@media screen and (max-width: 768px) {
	.p-interview-article {
		padding: 0;
	}
	.p-interview-article .c-bg-light {
		top: 10rem;
	}
	.p-interview-article .main {
		margin-bottom: 5rem;
	}
	.p-interview-article .main .wrap {
		display: block;
		padding: 0;
		min-height: initial;
	}
	.p-interview-article .main .mv {
		position: static;
		margin: 0 auto;
		width: 30rem;
		height: 30rem;
		border-radius: 10rem;
	}
	.p-interview-article .main .heading {
		margin: 3rem 0 1.5rem 0;
		text-align: center;
	}
	.p-interview-article .main .heading h1 {
		margin-bottom: 1rem;
		padding-bottom: 1rem;
		font-size: 2.4rem;
	}
	.p-interview-article .main-case .heading h1 em {
		display: block;
		font-size: 1.9rem;
	}
	.p-interview-article .main-case .heading h1 span {
		display: block;
		margin-top: 1rem;
		font-size: 1.4rem;
	}
	.p-interview-article .main .heading p {
		font-size: 1.4rem;
	}
	.p-interview-article .main .profile .row {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 2rem;
	}
	.p-interview-article .main .profile .belong {
		font-size: 1.2rem;
	}
	.p-interview-article .main .profile .name {
		font-size: 1.8rem;
	}
	.p-interview-article .main .profile .name::before {
		width: 2.8rem;
		height: 2.8rem;
	}
}
/**/
.p-interview-article .article .item {
	flex: 1;
	padding: 3rem;
	font-size: 1.6rem;
	line-height: 2;
}
.p-interview-article .article .item h3 {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--color-gray);
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.5;
}
.p-interview-article .article .item h3 em {
	display: block;
	position: relative;
	padding-left: 3rem;
}
.p-interview-article .article .item h3 em::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 2.4rem;
	height: 2.4rem;
	background-image: url(../img/icon-microphone.svg);
	background-size: contain;
}
.p-interview-article .article-matome .item h3 em {
	padding-left: 0;
}
.p-interview-article .article-matome .item h3 em::before {
	content: none;
}
@media screen and (max-width: 768px) {
	.p-interview-article .article .item {
		padding: 2rem;
		font-size: 1.4rem;
	}
	.p-interview-article .article .item h3 {
		margin-bottom: 1rem;
		padding-bottom: 1rem;
		padding-left: 0;
		font-size: 1.8rem;
	}
	.p-interview-article .article .item h3::before {
		width: 2rem;
		height: 2rem;
	}
}
/**/
.p-interview-article .article .block {
	display: flex;
	flex-direction: row-reverse;
	overflow: hidden;
	margin-bottom: 0.4rem;
	background-color: #fff;
	border-radius: 3rem;
}
.p-interview-article .article .block .image {
	position: relative;
	flex-basis: 50rem;
	flex-shrink: 0;
}
.p-interview-article .article .block .image img {
	position: absolute;
	top: 0;
	left: 0;
}
.p-interview-article .article .reverse {
	flex-direction: row;
}
@media screen and (max-width: 768px) {
	.p-interview-article .article .block {
		display: block !important;
		margin-bottom: 1rem;
		border-radius: 2rem;
	}
	.p-interview-article .article .block .image img {
		position: relative;
	}
}

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

	[ INTERVIEW ] OTHER

*/
.p-interview-other {
	position: relative;
	padding: 6rem 0;
	background-color: #F1F9FB;
}
.p-interview-other::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 55.3rem;
	background-image: url(../img/bg-wave-foot.png);
	background-size: 100% 100%;
}
.p-interview-other h2 {
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1.3;
}
.p-interview-other .l-section-list {
	margin-top: 2rem;
	margin-bottom: 3rem;
}
.p-interview-other .foot {
	display: flex;
	justify-content: center;
}
@media screen and (max-width: 768px) {
	.p-interview-other {
		padding: 4rem 0 4rem 0;
	}
	.p-interview-other::before {
		height: 17rem;
		background-image: url(../img/bg-wave-foot-sp.png);
	}
	.p-interview-other h2 {
		text-align: center;
		font-size: 2.4rem;
	}
	.p-interview-other .l-section-list {
		margin-top: 2rem;
		margin-bottom: 3rem;
	}
}

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

	[ COMPANY ]

*/
.p-company {

}

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

	[ COMPANY ] INDEX

*/
.p-company-index {
	position: relative;
	padding: 6rem 0 0 0;
}
.p-company-index a {
	text-decoration: none;
	color: inherit;
}
.p-company-index .mv {
	overflow: hidden;
	margin: 6rem 0;
	height: 54rem;
	border-radius: 2rem;
}
.p-company-index .mv video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.p-company-index .list {
	display: flex;
	flex-wrap: wrap;
	gap: 4rem 0;
	margin: 0 -2rem;
}
.p-company-index .list > li {
	flex-basis: 50%;
	padding: 0 2rem;
}
.p-company-index .list .item {
	overflow: hidden;
	position: relative;
	display: block;
	background-color: #fff;
	border-radius: 2rem;
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
}
.p-company-index .list .item .thumb {
	overflow: hidden;
	height: 36rem;
}
.p-company-index .list .item .detail {
	padding: 1.5rem 2rem 4rem 2rem;
	font-weight: 700;
}
.p-company-index .list .item .head {
	border-bottom: 1px solid var(--color-gray);
}
.p-company-index .list .item .detail h3 {
	font-size: 3.2rem;
}
.p-company-index .list .item .detail h4 {
	padding-bottom: 1rem;
	font-size: 1.6rem;
	color: var(--color-gray);
}
.p-company-index .list .item .icon-arrow-link {
	position: absolute;
	left: 0;
	bottom: 1.5rem;
	width: 100%;
	text-align: center;
	font-size: 1.6rem;
	color: var(--color-primary);
}
.p-company-index .l-menu-section {
	margin-top: 6rem;
}

@media (any-hover: hover) {
	.p-company-index .item {
		transition: transform 0.3s ease, box-shadow 0.3s ease;
	}
	.p-company-index .item:hover {
		transform: scale(1.1);
		box-shadow: 0 1.5rem 2rem rgba(0,0,0,0.2);
	}
	.p-company-index .item .icon-arrow-link {
		transition: transform 0.3s ease;
	}
	.p-company-index .item:hover .icon-arrow-link {
		transform: translateX(1rem);
	}
}

@media screen and (max-width: 768px) {
	.p-company-index {
		padding: 4rem 0 0 0;
	}
	.p-company-index .mv {
		margin-top: 4rem;
		height: 20rem;
	}
	.p-company-index .list {
		display: block;
		margin: 0;
	}
	.p-company-index .list > li {
		margin-bottom: 2rem;
		padding: 0;
	}
	.p-company-index .list .item .thumb {
		height: 24rem;
	}
	.p-company-index .list .item .detail {
		padding: 1.5rem 2rem 5rem 2rem;
	}
	.p-company-index .list .item .detail h3 {
		margin-bottom: 0.5rem;
		font-size: 2.4rem;
	}
	.p-company-index .list .item .detail h4 {
		padding-bottom: 2rem;
		font-size: 1.4rem;
	}
	.p-company-index .list .item .icon-arrow-link {
		bottom: 2rem;
	}
	.p-company-index .l-menu-section {
		margin-top: 4rem;
	}
}

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

	[ COMPANY ] MESSAGE

*/
.p-company-message {
	margin: 0 0 8rem 0;
}
.p-company-message .frame {
	overflow: hidden;
	background-color: #fff;
	border-radius: 2rem;
}
.p-company-message .mv {
	position: relative;
}
.p-company-message .mv .image {
	height: 54rem;
}
.p-company-message .inner {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 4rem;
	font-weight: 700;
}
.p-company-message .inner h2 {
	margin-bottom: 2.5rem;
	font-size: 3.2rem;
	line-height: 2;
}
.p-company-message .inner h2 span {
	display: block;
}
.p-company-message .inner h2 span:nth-child(2) {
	text-indent: -0.5em;
}
.p-company-message .inner dt {
	margin-bottom: 1rem;
	font-size: 1.6rem;
}
.p-company-message .inner dd {
	font-size: 2.4rem;
}
.p-company-message .lead {
	padding: 3rem 4rem;
	font-size: 1.6rem;
	line-height: 2;
}
.p-company-message .lead p:not(:last-child) {
	margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
	.p-company-message {
		margin: 0 0 8rem 0;
	}
	.p-company-message .mv .image {
		height: 48rem;
	}
	.p-company-message .inner {
		display: block;
		padding: 2rem;
	}
	.p-company-message .inner h2 {
		font-size: 2rem;
		line-height: 1.8;
	}
	.p-company-message .inner dt {
		font-size: 1.4rem;
	}
	.p-company-message .inner dd {
		font-size: 1.8rem;
	}
	.p-company-message .lead {
		padding: 2rem;
		font-size: 1.4rem;
		line-height: 1.8;
	}
	.p-company-message .lead p:not(:last-child) {
		margin-bottom: 2rem;
	}
}

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

	[ COMPANY ] INFO

*/
.p-company-info {
	margin: 0 0 6rem 0;
}
.p-company-info .list {
	padding: 1rem 3rem;
	background-color: #fff;
	border-radius: 2rem;
}
.p-company-info table {
	width: 100%;
	font-size: 1.6rem;
}
.p-company-info table th,
.p-company-info table td {
	padding: 2rem 0;
	border-bottom: 1px solid #ccc;
	vertical-align: middle;
	text-align: left;
}
.p-company-info table tr:last-child th,
.p-company-info table tr:last-child td {
	border-bottom: 0;
}
.p-company-info table th {
	width: 16rem;
	font-weight: 700;
}
@media screen and (max-width: 768px) {
	.p-company-info {
		margin: 0 0 4rem 0;
	}
	.p-company-info .list {
		padding: 1rem 2rem;
	}
	.p-company-info table {
		font-size: 1.4rem;
	}
	.p-company-info table th,
	.p-company-info table td {
		padding: 1.5rem 0;
		vertical-align: top;
	}
	.p-company-info table th {
		padding-right: 1em;
		width: auto;
		white-space: nowrap;
	}
}

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

	[ COMPANY ] OFFICE

*/
.p-company-office {
	margin: 0 0 6rem 0;
}
.p-company-office h2 {
	margin-bottom: 2rem;
	font-weight: 700;
	font-size: 3.6rem;
}
.p-company-office .list {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem 0;
	margin: 0 -1.5rem;
}
.p-company-office .list > li {
	padding: 0 1.5rem;
	flex-basis: 50%;
}
.p-company-office .item {
	overflow: hidden;
	background-color: #fff;
	border-radius: 2rem;
}
.p-company-office .item .map {
	height: 36rem;
}
.p-company-office .item .map iframe {
	width: 100%;
	height: 100%;
}
.p-company-office .item .detail {
	padding: 2rem;
	font-size: 1.6rem;
	font-weight: 700;
}
.p-company-office .item .detail h3 {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--color-gray);
	font-size: 2rem;
	line-height: 1.3;
}
.p-company-office .item .detail p {
	color: var(--color-gray);
}
.p-company-office .item .detail p .number {
	display: flex;
	gap: 2rem;
}
.p-company-office .item .detail p .number span {
	display: block;
}
@media screen and (max-width: 768px) {
	.p-company-office h2 {
		margin-bottom: 2rem;
		font-size: 2.4rem;
	}
	.p-company-office .list {
		display: block;
		margin: 0;
	}
	.p-company-office .list > li {
		margin-bottom: 2rem;
		padding: 0;
	}
	.p-company-office .item .map {
		height: 30rem;
	}
	.p-company-office .item .detail {
		padding: 2rem;
		font-size: 1.4rem;
	}
	.p-company-office .item .detail h3 {
		margin-bottom: 1rem;
		padding-bottom: 1rem;
		font-size: 1.8rem;
	}
}

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

	[ COMPANY ] HISTORY

*/
.p-company-history {
	margin: 0 0 10rem 0;
}
.p-company-history .lead {
	margin-bottom: 4rem;
	font-size: 1.6rem;
	line-height: 2;
}
.p-company-history .list {
	display: flex;
	position: relative;
	margin: 0 auto;
	max-width: 104rem;
}
.p-company-history .list-sp {
	display: none;
}
.p-company-history .list .axis {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 1px;
	background-color: var(--color-gray);
}
.p-company-history .list .axis::before,
.p-company-history .list .axis::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	margin-left: -0.5rem;
	width: 1.1rem;
	height: 1.1rem;
	background-color: var(--color-gray);
	border-radius: 50%;
}
.p-company-history .list .axis::before {
	top: -1px;
}
.p-company-history .list .axis::after {
	bottom: -1px;
}
.p-company-history .list .left {
	width: 100%;
}
.p-company-history .list .right {
	width: 100%;
}
.p-company-history .list li {
	position: relative;
	display: flex;
}
.p-company-history .list li:not(:last-child) {
	margin-bottom: 5rem;
}
.p-company-history .list li::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	width: 50%;
	height: 1px;
	background-color: var(--color-primary);
}
.p-company-history .list li::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	margin-top: -1rem;
	width: 2rem;
	height: 2rem;
	background-color: #fff;
	border: 0.3rem solid var(--color-primary);
	border-radius: 50%;
	box-sizing: border-box;
}
.p-company-history .list .left li {
	justify-content: flex-start;
}
.p-company-history .list .left li::before {
	right: 0;
}
.p-company-history .list .left li::after {
	right: -1.1rem;
}
.p-company-history .list .right {
	padding: 16rem 0 0 0;
}
.p-company-history .list .right li {
	justify-content: flex-end;
}
.p-company-history .list .right li::before {
	left: 0;
}
.p-company-history .list .right li::after {
	left: -0.9rem;
}
.p-company-history .list .item {
	position: relative;
	z-index: 1;
	overflow: hidden;
	background-color: #fff;
	border-radius: 2rem;
	width: 38rem;
}
.p-company-history .list .item .thumb {
	height: 24rem;
}
.p-company-history .list .item .detail {
	padding: 1.5rem 2rem 2rem 2rem;
}
.p-company-history .list .item .detail h3 {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--color-gray);
	font-size: 4rem;
	line-height: 1;
	color: var(--color-primary);
}
.p-company-history .list .item .detail p {
	font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
	.p-company-history {
		margin: 0 0 10rem 0;
	}
	.p-company-history .lead {
		margin-bottom: 3rem;
		font-size: 1.4rem;
	}
	.p-company-history .list-pc {
		display: none;
	}
	.p-company-history .list-sp {
		display: block;
	}
	.p-company-history .list .axis {
		left: 0;
	}
	.p-company-history .list li {
		padding-left: 2rem;
	}
	.p-company-history .list li:not(:last-child) {
		margin-bottom: 2rem;
	}
	.p-company-history .list li::before {
		left: 0;
	}
	.p-company-history .list li::after {
		left: -0.8rem;
		margin-top: -0.8rem;
		width: 1.7rem;
		height: 1.7rem;
		border-width: 0.2rem;
	}
	.p-company-history .list .item {
		width: 100%;
	}
	.p-company-history .list .item .thumb {
		height: 20rem;
	}
	.p-company-history .list .item .detail {
		padding: 2rem;
	}
	.p-company-history .list .item .detail h3 {
		font-size: 3.4rem;
	}
}

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

	[ COMPANY ] COMMUNI

*/
.p-company-communi {
	padding: 0 0 8rem 0;
}
.p-company-communi .list > li {
	margin-bottom: 3rem;
}
.p-company-communi .item {
	overflow: hidden;
	display: flex;
	min-height: 33.6rem;
	border-radius: 2rem;
	background-color: #fff;
}
.p-company-communi .item .thumb {
	flex-basis: 72rem;
}
.p-company-communi .item .detail {
	padding: 3rem;
	flex: 1;
}
.p-company-communi .item .detail h2 {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--color-gray);
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.3;
}
.p-company-communi .item .detail p {
	font-size: 1.6rem;
	line-height: 2;
}
@media screen and (max-width: 768px) {
	.p-company-communi {
		padding: 0 0 5rem 0;
	}
	.p-company-communi .list > li {
		margin-bottom: 2rem;
	}
	.p-company-communi .item {
		display: block;
		min-height: initial;
	}
	.p-company-communi .item .thumb {
		height: 16rem;
	}
	.p-company-communi .item .detail {
		padding: 2rem;
	}
	.p-company-communi .item .detail h2 {
		margin-bottom: 1rem;
		padding-bottom: 1rem;
		font-size: 2rem;
	}
	.p-company-communi .item .detail p {
		font-size: 1.4rem;
		line-height: 1.8;
	}
}

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

	[ NEWS ] CATEGORY

*/
.p-news-category {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
}
.p-news-category h2 {
	font-weight: 700;
	font-size: 1.6rem;
}
.p-news-category ul {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	font-weight: 700;
	font-size: 1.4rem;
}
.p-news-category ul a {
	display: block;
	padding: 0.4em 0.8em;
	border-radius: 999rem;
	background-color: #fff;
	text-decoration: none;
	color: inherit;
}
.p-news-category ul .current {
	background-color: var(--color-primary);
	color: #fff;
	pointer-events: none;
	cursor: default;
}
@media screen and (max-width: 768px) {
	.p-news-category {
		display: block;
	}
	.p-news-category h2 {
		margin-bottom: 1.5rem;
		text-align: center;
		font-size: 1.6rem;
	}
	.p-news-category ul {
		flex-wrap: wrap;
		gap: 0.5rem;
		font-size: 1.3rem;
	}
}

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

	[ NEWS ] INDEX

*/
.p-news-index {
	margin: 0 0 4rem 0;
	padding: 4rem 0 0 0;
}
.p-news-index .l-news-list {
	margin-top: 4rem;
}
@media screen and (max-width: 768px) {
	.p-news-index {
		margin: 0 0 4rem 0;
		padding: 3rem 0 0 0;
	}
	.p-news-index .l-news-list {
		margin-top: 3rem;
	}
}

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

	[ NEWS ] CONTACT

*/
.p-news-cta-contact {
	padding: 0 0 10rem 0;
}
.p-news-sns {
	margin-bottom: 10rem;
}
@media screen and (max-width: 768px) {
	.p-news-cta-contact {
		padding: 3rem 0 2rem 0;
	}
	.p-news-sns {
		margin-bottom: 6rem;
	}
}

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

	[ NEWS ] DETAIL

*/
.p-news-detail {
	position: relative;
	padding: 3rem 0 0 0;
}
.p-news-detail .head {
	margin-bottom: 4rem;
}
.p-news-detail .head h1 {
	display: table;
	padding-bottom: 1rem;
	border-bottom: 1px solid #000;
	font-weight: 700;
	font-size: 2.4rem;
}
.p-news-detail .head .info {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 1rem;
}
.p-news-detail .head .info .category {
	padding: 0.5rem 1rem;
	background-color: var(--color-primary);
	border-radius: 999rem;
	color: #fff;
	font-size: 1.2rem;
}
.p-news-detail .head .info .date {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 700;
	font-size: 1.2rem;
}
.p-news-detail .head .info .date i {
	font-size: 1.8rem;
}
.p-news-detail .detail img {
	width: auto;
}
.p-news-detail .detail .custom-block {
	margin-bottom: 1rem;
	padding: 2rem 2rem 1rem 2rem;
	background-color: #FFF;
	border-radius: 2rem;
	line-height: 2;
}
.p-news-detail .detail .custom-block > * {
	margin-bottom: 2rem;
}
.p-news-detail .detail h2,
.p-news-detail .detail h3,
.p-news-detail .detail h4,
.p-news-detail .detail h5,
.p-news-detail .detail .custom-block h2,
.p-news-detail .detail .custom-block h3,
.p-news-detail .detail .custom-block h4,
.p-news-detail .detail .custom-block h5 {
	margin-bottom: 1rem;
	font-weight: 700;
	font-size: 1.6rem;
}
.p-news-detail .detail h2,
.p-news-detail .detail h3,
.p-news-detail .detail .custom-block h2,
.p-news-detail .detail .custom-block h3 {
	font-size: 2rem;
}
.p-news-detail .detail .custom-block > h2:first-child {
	display: table;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #CCC;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.5;
}
.p-news-detail .detail blockquote {
	padding: 2.5rem 3rem;
	background-color: #F7F7F7;
	border: 1px dashed #CCC;
}
.p-news-detail .detail ul li {
	position: relative;
	padding-left: 1em;
}
.p-news-detail .detail ul li::before {
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
.p-news-detail .detail ol {
	counter-reset: number 0; 
}
.p-news-detail .detail ol li {
	position: relative;
	padding-left: 1.5em;
}
.p-news-detail .detail ol li::before {
	counter-increment: number 1;
	content: counter(number) ".";
	position: absolute;
	top: 0;
	left: 0;
}
.p-news-detail .detail .wp-block-flexible-table-block-table > table {
	width: 100%;
	line-height: 1.5;
}
.p-news-detail .detail .wp-block-flexible-table-block-table > table tr th {
	padding: 0.6rem 1rem;
	border: 1px solid #999;
	background-color: #f0f0f1;
	text-align: left;
	vertical-align: middle;
	font-weight: 700;
}
.p-news-detail .detail .wp-block-flexible-table-block-table > table tr td {
	padding: 0.6rem 1rem;
	border: 1px solid #999;
	text-align: left;
	vertical-align: middle;
}
.p-news-detail .detail .wp-block-separator {
	margin: 3rem 0;
	border: 0;
	border-top: 1px solid #CCC;
}
.p-news-detail .detail .wp-block-image {
	margin-bottom: 4rem;
}
.p-news-detail .detail .wp-block-image figcaption {
	margin-top: 1rem;
	font-size: 1.2rem;
}
.p-news-detail .wp-block-embed-youtube {
	margin: 3rem auto;
	max-width: 84rem;
}
.p-news-detail .wp-block-embed-youtube .wp-block-embed__wrapper {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
}
.p-news-detail .wp-block-embed-youtube .wp-block-embed__wrapper iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
.p-news-detail .foot {
	display: flex;
	justify-content: space-between;
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid #CCC;
}
.p-news-detail .foot a {
	text-decoration: none;
	color: inherit;
}
.p-news-detail .foot > div {
	flex-basis: 36rem;
	font-size: 1.4rem;
}
.p-news-detail .foot > div em {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-weight: 700;
	font-size: 1.6rem;
}
.p-news-detail .foot a {
	display: block;
	position: relative;
	height: 100%;
}
.p-news-detail .foot a span {
	display: block;
}
.p-news-detail .foot a i {
	position: absolute;
	top: 50%;
	margin-top: -1rem;
	font-size: 2rem;
	line-height: 1;
	color: var(--color-primary);
}
.p-news-detail .foot .prev a {
	padding-left: 4rem;
}
.p-news-detail .foot .prev a i {
	left: 0;
	transform: rotate(180deg);
}
.p-news-detail .foot .next a {
	padding-right: 4rem;
}
.p-news-detail .foot .next a i {
	right: 0;
}
.p-news-detail .back {
	display: flex;
	justify-content: center;
	margin-top: 3rem;
}
@media (any-hover: hover) {
	.p-news-detail .foot .prev a i {
		transition: left 0.3s ease;
	}
	.p-news-detail .foot .next a i {
		transition: right 0.3s ease;
	}
	.p-news-detail .foot .prev a:hover i {
		left: -1rem;
	}
	.p-news-detail .foot .next a:hover i {
		right: -1rem;
	}
}
@media screen and (max-width: 768px) {
	.p-news-detail {
		padding: 3rem 0 0 0;
	}
	.p-news-detail .head {
		margin-bottom: 3rem;
	}
	.p-news-detail .head h1 {
		font-size: 2rem;
	}
	.p-news-detail .detail .custom-block {
		padding: 2rem 1.5rem 1rem 1.5rem;
		font-size: 1.4rem;
	}
	.p-news-detail .detail .custom-block > * {
		margin-bottom: 2rem;
	}
	.p-news-detail .detail h2,
	.p-news-detail .detail h3,
	.p-news-detail .detail .custom-block h2,
	.p-news-detail .detail .custom-block h3 {
		font-size: 1.8rem;
	}
	.p-news-detail .detail .custom-block > h2:first-child {
		padding-bottom: 1rem;
		font-size: 1.8rem;
	}
	.p-news-detail .detail .custom-block blockquote {
		padding: 0.5rem 1rem;
	}
	.p-news-detail .detail .wp-block-image {
		margin-bottom: 3rem;
	}
	.p-news-detail .detail .wp-block-flexible-table-block-table {
		overflow-x: auto;
	}
	.p-news-detail .foot {
		margin-top: 3rem;
		padding-top: 1.5rem;
	}
	.p-news-detail .foot > div {
		flex-basis: 45%;
		font-size: 1.2rem;
	}
	.p-news-detail .foot > div em {
		margin-top: 0.5rem;
		font-size: 1.4rem;
	}
	.p-news-detail .foot a i {
		top: 0.2rem;
		margin-top: 0;
		font-size: 1.6rem;
	}
	.p-news-detail .foot .prev a {
		padding-left: 2.5rem;
	}
	.p-news-detail .foot .prev a em {
		margin-left: -2.5rem;
	}
	.p-news-detail .foot .next a {
		padding-right: 2.5rem;
		text-align: right;
	}
	.p-news-detail .foot .next a em {
		margin-right: -2.5rem;
	}
	.p-news-detail .back {
		margin-top: 3rem;
	}
}

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

	[ NEWS ] RELATED

*/
.p-news-related {
	margin: 6rem 0 0 0;
}
.p-news-related h2 {
	margin-bottom: 3rem;
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1.3;
}
@media screen and (max-width: 768px) {
	.p-news-related h2 {
		margin-bottom: 2rem;
		text-align: center;
		font-size: 2.6rem;
	}
}

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

	[ NEWS ] BANNER

*/
.p-news-banner {
	display: flex;
	justify-content: center;
	margin: 0 0 11rem 0;
	padding: 0 2rem;
}
.p-news-banner > div {
	width: 30rem;
}
@media screen and (max-width: 768px) {
	.p-news-banner > div {
		width: 100%;
	}
}

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

	[ CONTACT ] STEPS

*/
.p-contact-steps {
	display: flex;
	justify-content: center;
	text-align: center;
	padding: 6rem 0 3rem 0;
}
.p-contact-steps ol {
	position: relative;
	display: flex;
}
.p-contact-steps ol::before {
	content: '';
	display: block;
	position: absolute;
	top: 2rem;
	left: 3rem;
	right: 3rem;
	height: 1rem;
	background-color: #fff;
}
.p-contact-steps li {
	position: relative;
	padding: 0 2.5rem;
}
.p-contact-steps .number {
	padding: 0.6rem;
	background-color: #fff;
	border-radius: 50%;
	font-size: 2.6rem;
	line-height: 1;
}
.p-contact-steps .number span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 4rem;
	height: 4rem;
	background-color: #ccc;
	border-radius: 50%;
	color: #fff;
}
.p-contact-steps .title {
	margin-top: 0.5rem;
	font-weight: 700;
	font-size: 1.6rem;
	color: #ccc;
}
.p-contact-steps .current .number span {
	background-color: var(--color-primary);
}
.p-contact-steps .current .title {
	color: var(--color-primary);
}
@media screen and (max-width: 768px) {
	.p-contact-steps {
		padding: 4rem 0 2rem 0;
	}
	.p-contact-steps ol::before {
		top: 2rem;
		left: 3rem;
		right: 3rem;
		height: 1rem;
	}
	.p-contact-steps li {
		padding: 0 2.5rem;
	}
	.p-contact-steps .number {
		padding: 0.4rem;
		font-size: 2.2rem;
	}
	.p-contact-steps .number span {
		width: 4rem;
		height: 4rem;
	}
	.p-contact-steps .title {
		font-size: 1.4rem;
	}
}

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

	[ CONTACT ] INPUT

*/
.p-contact-input {
	margin: 0;
}
.p-contact-input .list {
	margin: 0 auto;
	max-width: 90rem;
}
.p-contact-input .list > li {
	margin-bottom: 0.5rem;
}
.p-contact-input .list > li[aria-hidden="true"] {
	display: none;
}
.p-contact-input .item {
	padding: 2rem;
	background-color: #fff;
	border-radius: 2rem;
}
.p-contact-input .item h2 {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--color-gray);
	font-weight: 700;
	font-size: 1.6rem;
}
.p-contact-input .item h2 em {
	display: block;
	font-size: 1.4rem;
}
.p-contact-input .item h2 em[aria-hidden="true"] {
	display: none;
}
.p-contact-input .item .required,
.p-contact-input .item .optional {
	display: block;
	padding: 0.4rem 0.8rem 0.3rem 0.8rem;
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1.2;
	border-radius: 999rem;
}
.p-contact-input .item .required {
	border: 1px solid #c00;
	background-color: #c00;
	color: #fff;
}
.p-contact-input .item .optional {
	border: 1px solid #ccc;
}
.p-contact-input .item .invalid {
	margin-bottom: 1rem;
	font-size: 1.6rem;
	font-weight: 700;
	color: #c00;
}
.p-contact-input .products .item .name-wrap {
	display: flex;
	align-items: center;
	gap: 2rem;
}
.p-contact-input .products .item .name-wrap p {
	flex-shrink: 0;
	font-weight: 700;
}
.p-contact-input .products .item .name-wrap > div {
	width: 100%;
}
.p-contact-input textarea,
.p-contact-input input[type="email"],
.p-contact-input input[type="text"] {
	display: block;
	padding: 1.5rem 2rem;
	width: 100%;
	border-radius: 1rem;
	background-color: #E7E7E7;
	font-size: 1.6rem;
}
.p-contact-input textarea {
	height: 20rem;
}
.p-contact-input input[type="checkbox"],
.p-contact-input input[type="radio"] {
	display: block;
	margin-right: 1rem;
	width: 2rem;
	height: 2rem;
	border-radius: 0.5rem;
	background-color: #E7E7E7;
	background-size: contain;
}
.p-contact-input input[type="checkbox"]:checked,
.p-contact-input input[type="radio"]:checked {
	background-color: var(--color-primary);
	background-image: url(../img/form-checkbox.svg);
}
.p-contact-input .list-inline {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}
.p-contact-input .list-inline label {
	display: flex;
	align-items: center;
	font-size: 1.6rem;
}
.p-contact-input .privacy {
	display: flex;
	align-items: center;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--color-gray);
	font-size: 1.6rem;
	color: var(--color-primary);
}
.p-contact-input .privacy i {
	margin: 0.1rem 0.5rem 0 0;
	font-size: 2rem;
}
.p-contact-input .privacy a {
	text-decoration: underline;
}
.p-contact-input .agree {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}
.p-contact-input .agree .invalid {
	flex-basis: 100%;
	margin: 0;
}
.p-contact-input .agree label {
	display: flex;
	align-items: center;
	font-weight: 700;
	font-size: 1.6rem;
}
.p-contact-input .foot {
	display: flex;
	justify-content: center;
	margin: 6rem 0 0 0;
}
.p-contact-input .conf {
	padding: 2rem;
	font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
	.p-contact-input .item {
		padding: 2rem;
	}
	.p-contact-input .item h2 {
		margin-bottom: 1.5rem;
	}
	.p-contact-input .item .required,
	.p-contact-input .item .optional {
		font-size: 1.2rem;
	}
	.p-contact-input .products .item .name-wrap {
		display: block;
	}
	.p-contact-input .products .item .name-wrap p {
		margin: 1rem 0;
	}
	.p-contact-input textarea,
	.p-contact-input input[type="email"],
	.p-contact-input input[type="text"] {
		padding: 1.2rem 1.4rem;
		font-size: 1.4rem;
	}
	.p-contact-input textarea {
		height: 14rem;
	}
	.p-contact-input .list-inline {
		flex-direction: column;
		gap: 1rem;
	}
	.p-contact-input .list-inline label {
		font-size: 1.4rem;
	}
	.p-contact-input .privacy {
		padding-bottom: 1.5rem;
		font-size: 1.4rem;
	}
	.p-contact-input .privacy i {
		font-size: 1.8rem;
	}
	.p-contact-input .agree label {
		font-size: 1.4rem;
	}
	.p-contact-input .foot {
		margin: 3rem 0 0 0;
	}
	.p-contact-input .conf {
		padding: 0.5rem 1rem;
		font-size: 1.4rem;
	}
}

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

	[ CONTACT ] SUBMIT

*/
.p-contact-submit {
	position: relative;
	padding: 4rem 0 12rem 0;
	text-align: center;
	color: #fff;
}
.p-contact-submit .c-bg {
	top: -22rem;
	bottom: 0;
}
.p-contact-submit .c-bg div::before {
	content: none;
}
.p-contact-submit .c-bg div::after {
	bottom: -1rem;
	background-color: var(--color-primary);
}
.p-contact-submit .foot {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 2rem;
}
.p-contact-submit .edit {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	padding: 2rem;
	font-weight: 700;
	font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
	.p-contact-submit {
		padding: 6rem 0 2rem 0;
	}
	.p-contact-submit .c-bg {
		top: -6rem;
		bottom: 0;
	}
}

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

	[ CONTACT ] COMPLETE

*/
.p-contact-complete {
	margin: 0;
	padding: 0 0 3rem 0;
	text-align: center;
	font-weight: 700;
}
.p-contact-complete h2 {
	display: table;
	margin: 0 auto;
	padding-bottom: 1rem;
	border-bottom: 1px solid #000;
	font-size: 3.6rem;
}
.p-contact-complete .lead {
	margin-top: 1rem;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 2;
	color: var(--color-gray);
}
@media screen and (max-width: 768px) {
	.p-contact-complete {
		padding: 0 0 4rem 0;
	}
	.p-contact-complete h2 {
		display: table;
		margin: 0 auto;
		padding-bottom: 1rem;
		border-bottom: 1px solid #000;
		font-size: 2.6rem;
	}
	.p-contact-complete .lead {
		font-size: 1.4rem;
	}
}

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

	[ CONTACT ] COMPLETE FOOT

*/
.p-contact-complete-foot {
	position: relative;
	display: flex;
	justify-content: center;
	padding: 0 0 40rem 0;
}
.p-contact-complete-foot .c-bg {
	top: -4rem;
	bottom: 0;
}
.p-contact-complete-foot .c-bg div::after {
	bottom: 0;
	background-color: var(--color-primary);
}
.p-contact-complete-foot .c-bg div::before {
	content: none;
}
@media screen and (max-width: 768px) {
	.p-contact-complete-foot {
		padding: 0 0 10rem 0;
	}
	.p-contact-complete-foot .c-bg {
		top: 1rem;
	}
}

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

	[ RECRUIT ] INFO

*/
.p-recruit-info {
	padding: 6rem 0 1rem 0;
}
.p-recruit-info .block {
	display: flex;
	align-items: center;
	gap: 3rem;
	margin-bottom: 2rem;
	padding: 2rem;
	background-color: #FFF;
	border-radius: 2rem;
	text-decoration: none;
	color: inherit;
	font-weight: 700;
	font-size: 1.4rem;
}
.p-recruit-info a.block {
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
}
.p-recruit-info .block h2 {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}
.p-recruit-info .block h2 > span {
	display: block;
}
.p-recruit-info .block h2 > span img {
	width: auto;
	height: 5rem;
}
.p-recruit-info .block h2 > em {
	font-weight: 700;
	font-size: 2rem;
}
.p-recruit-info .block h2 > em span {
	display: block;
	font-size: 1.4rem;
}
.p-recruit-info .block .detail {
	flex: 1;
}
.p-recruit-info .block p {
	color: var(--color-gray);
	line-height: 2;
}
.p-recruit-info .fresh-wrap {
	display: flex;
	gap: 2rem;
}
.p-recruit-info .fresh-wrap .block {
	padding: 2rem 2rem;
	gap: 0;
	flex-basis: 50%;
	min-height: 13.5rem;
}
.p-recruit-info .fresh-wrap .block .logo {
	display: flex;
	justify-content: center;
}
.p-recruit-info .fresh-mynavi {
	width: 100%;
}
.p-recruit-info .fresh-mynavi .detail img {
	width: auto;
	height: 5rem;
}
.p-recruit-info .fresh-handy {
	width: 100%;
}
.p-recruit-info .fresh-handy .detail img {
	width: auto;
	height: 7.5rem;
}
.p-recruit-info .career-wrap {
	display: flex;
	align-items: flex-start;
	gap: 2rem;
}
.p-recruit-info .career-wrap .block {
	flex-basis: 50%;
	min-height: 13.5rem;
	margin-bottom: 0;
}
.p-recruit-info .career-wrap .banner {
	display: flex;
	justify-content: center;
	flex-basis: 50%;
}
.p-recruit-info .career-wrap .banner a {
	display: block;
	max-width: 400px;
}

@media screen and (max-width: 940px) {
	.p-recruit-info .block {
		margin-left: auto;
		margin-right: auto;
		width: 400px;
	}
	.p-recruit-info .fresh-wrap {
		display: block;
	}
	.p-recruit-info .fresh-wrap .block h2 {
		flex-basis: 22rem;
	}
	.p-recruit-info .career-wrap {
		display: block;
	}
	.p-recruit-info .career-wrap .banner {
		margin-top: 20px;
	}
	.p-recruit-info .career-wrap .banner a {
		margin: 0 auto;
	}
}

@media screen and (max-width: 768px) {
	.p-recruit-info {
		padding: 4rem 0 0 0;
	}
	.p-recruit-info .block {
		display: block;
		margin-bottom: 2rem;
		padding: 1.5rem 2rem 2rem 2rem;
		width: auto;
		text-align: center;
	}
	.p-recruit-info .block h2 {
		margin-bottom: 1rem;
		gap: 1rem;
	}
	.p-recruit-info .block h2 > span {
		display: block;
	}
	.p-recruit-info .block h2 > span img {
		width: auto;
		height: 4rem;
	}
	.p-recruit-info .block h2 > em {
		font-size: 1.8rem;
	}
	.p-recruit-info .block h2 > em span {
		display: inline;
		padding-left: 1rem;
		font-size: 1.4rem;
	}
	.p-recruit-info .block p {
		line-height: 1.5;
	}
	.p-recruit-info .fresh-wrap {
		display: block;
	}
	.p-recruit-info .fresh-wrap .block {
		padding: 1.5rem 2rem 2rem 2rem;
		min-height: initial;
	}
	.p-recruit-info .fresh-mynavi {
		flex-basis: 49rem;
	}
	.p-recruit-info .fresh-mynavi .detail {
		margin: -1rem 0 0.5rem 0;
	}
	.p-recruit-info .fresh-mynavi .detail img {
		margin: 0 auto;
		width: 58%;
		height: auto;
	}
	.p-recruit-info .fresh-handy .detail {
		margin: -1.5rem 0 -0.5rem 0;
	}
	.p-recruit-info .fresh-handy .detail img {
		margin: 0 auto;
		width: 58%;
		height: auto;
	}
	.p-recruit-info .career-wrap {
		display: block;
	}
	.p-recruit-info .career-wrap .block {
		margin-bottom: 0;
		min-height: initial;
	}
	.p-recruit-info .career-wrap .detail {
		padding-bottom: 1rem;
	}
	.p-recruit-info .career-wrap .banner {
		display: block;
		margin-top: 2rem;
	}
	.p-recruit-info .career-wrap .banner a {
		max-width: initial;
	}
}

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

	[ RECRUIT ] DATA

*/
.p-recruit-data {
	padding: 6rem 0 1rem 0;
}
.p-recruit-data h2 {
	margin-bottom: 3rem;
	font-weight: 700;
	font-size: 3.6rem;
}
.p-recruit-data .wrap {
	display: flex;
	gap: 2rem;
}
.p-recruit-data .block {
	padding: 1.5rem 2rem 2rem 2rem;
	background-color: #FFF;
	border-radius: 2rem;
}
.p-recruit-data .block h3 {
	margin-bottom: 1.5rem;
	padding-bottom: 1rem ;
	border-bottom: 1px solid var(--color-gray);
	text-align: center;
	font-weight: 700;
	font-size: 3.2rem;
}
.p-recruit-data .block01 {
	flex-basis: 73rem;
}
.p-recruit-data .block01 ul {
	display: flex;
	justify-content: center;
	gap: 1.5rem;
}
.p-recruit-data .block01 ul img {
	width: 28rem;
}
.p-recruit-data .block02 {
	flex: 1;
}
.p-recruit-data .block02 > div {
	display: flex;
	justify-content: center;
}
.p-recruit-data .block02 img {
	width: 34rem;
}
@media screen and (max-width: 768px) {
	.p-recruit-data {
		padding: 4rem 0 1rem 0;
	}
	.p-recruit-data h2 {
		margin-bottom: 2rem;
		text-align: center;
		font-size: 2.6rem;
	}
	.p-recruit-data .wrap {
		display: block;
	}
	.p-recruit-data .block {
		padding: 1.5rem 2rem 2rem 2rem;
		border-radius: 2rem;
	}
	.p-recruit-data .block h3 {
		margin-bottom: 1.5rem;
		padding-bottom: 1rem ;
		font-size: 2rem;
	}
	.p-recruit-data .block01 {
		margin-bottom: 2rem;
	}
	.p-recruit-data .block01 ul {
		display: block;
	}
	.p-recruit-data .block01 ul li:not(:last-child) {
		margin-bottom: 1rem;
	}
	.p-recruit-data .block01 ul img {
		margin: 0 auto;
		width: 24rem;
	}
	.p-recruit-data .block02 {
		flex: 1;
	}
	.p-recruit-data .block02 > div {
		display: flex;
		justify-content: center;
	}
	.p-recruit-data .block02 img {
		width: 28rem;
	}
}

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

	[ RECRUIT ] PARTNER

*/
.p-recruit-partner {
	padding: 6rem 0 2rem 0;
}
@media screen and (max-width: 768px) {
	.p-recruit-partner {
		padding: 4rem 0 2rem 0;
	}
}
@media screen and (min-width: 769px) {
	.p-recruit-partner .head {
		margin-bottom: 4rem;
	}
	.p-recruit-partner .head h3 {
		font-size: 3.2rem;
	}
	.p-recruit-partner .head p {
		font-size: 1.4rem;
	}
	.p-recruit-partner ul {
		gap: 1rem;
	}
	.p-recruit-partner ul span {
		display: block;
		padding: 1rem 2rem;
		background-color: #FFF;
		font-size: 1.4rem;
	}
}

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

	[ RECRUIT ] SECTION

*/
.p-recruit-section {
	padding: 6rem 0 0 0;
}
.p-recruit-section .c-heading {
	margin-bottom: 3rem;
}
.p-recruit-section .c-heading h2 {
	font-size: 3.6rem;
}

@media screen and (max-width: 768px) {
	.p-recruit-section {
		padding: 4rem 0 0 0;
	}
	.p-recruit-section .c-heading {
		margin-bottom: 3rem;
	}
	.p-recruit-section .c-heading h2 {
		font-size: 2.6rem;
	}
}

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

	[ PRIVACY ]

*/
.p-privacy-detail {
	padding: 6rem 0 0 0;
}
.p-privacy-detail .heading {
	margin-bottom: 2rem;
}
.p-privacy-detail .heading h2 {
	font-weight: 700;
	font-size: 2.4rem;
}
.p-privacy-detail .heading p {
	margin-top: 1rem;
	font-size: 1.4rem;
}
.p-privacy-detail .block {
	margin-bottom: 1rem;
	padding: 2rem;
	background-color: #FFF;
	border-radius: 2rem;
	font-size: 1.4rem;
	line-height: 2;
}
.p-privacy-detail .block h2 {
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #CCC;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.5;
}
.p-privacy-detail .block p:not(:last-child) {
	margin-bottom: 1em;
}
.p-privacy-detail .block ol {
	counter-reset: number 0; 
}
.p-privacy-detail .block ol li {
	position: relative;
	padding-left: 1.5em;
}
.p-privacy-detail .block ol li::before {
	counter-increment: number 1;
	content: counter(number) ".";
	position: absolute;
	top: 0;
	left: 0;
}
.p-privacy-footer {
	height: 14rem;
}
@media screen and (max-width: 768px) {
	.p-privacy-detail {
		padding: 4rem 0 0 0;
	}
	.p-privacy-detail .heading {
		margin-bottom: 2rem;
		text-align: center;
	}
	.p-privacy-detail .heading h2 {
		font-size: 2rem;
	}
	.p-privacy-detail .block {
		padding: 2rem;
	}
	.p-privacy-detail .block h2 {
		margin-bottom: 1rem;
		padding-bottom: 1rem;
	}
	.p-privacy-footer {
		height: 12rem;
	}
}

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

	[ 404 ]

*/
.p-404-detail {
	position: relative;
	padding-bottom: 10rem;
}
.p-404-detail .c-bg-light {
	top: 3rem;
}
.p-404-detail h1 {
	margin-bottom: 8rem;
	font-weight: 700;
	text-align: center;
}
.p-404-detail h1 em {
	display: block;
	font-size: 9.6rem;
}
.p-404-detail h1 span {
	display: table;
	margin: 0 auto;
	padding-top: 1rem;
	border-top: 1px solid #000;
	font-size: 3.2rem;
	color: var(--color-gray);
}
.p-404-detail h2 {
	display: table;
	margin: 0 auto;
	padding-bottom: 1rem;
	border-bottom: 1px solid #000;
	text-align: center;
	font-weight: 700;
	font-size: 3.6rem;
}
.p-404-detail p {
	margin-top: 1rem;
	text-align: center;
	font-weight: 700;
	font-size: 1.6rem;
	color: var(--color-gray);
	line-height: 2;
}
.p-404-detail .foot {
	display: flex;
	justify-content: center;
	margin-top: 6rem;
}
@media screen and (max-width: 768px) {
	.p-404-detail {
		padding-bottom: 0;
	}
	.p-404-detail .c-bg-light {
		top: 4rem;
	}
	.p-404-detail h1 {
		margin-bottom: 4rem;
	}
	.p-404-detail h1 em {
		font-size: 8rem;
	}
	.p-404-detail h1 span {
		font-size: 2.8rem;
	}
	.p-404-detail h2 {
		font-size: 2.6rem;
	}
	.p-404-detail p {
		font-size: 1.4rem;
	}
	.p-404-detail .foot {
		margin-top: 4rem;
	}
}