@charset "UTF-8";


:root {
	--color_font: #000;
	--color_white: #fff;
	--color_black: #000;
	--color_header-bg: #000;
	--color_header-font: #fff;
	--color_header-accent: #C20606;
	--color_footer_copyright-bg: #000;
	--color_footer_copyright-font: #fff;
	--w_large: 1526px;
	--w_def: 1360px;
	--w_medium: 1080px;
	--h-top-article: 200px;
	--sp-h-menu: 18vw;
	--sp-margin: 20px;
	--font-family: 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'ヒラギノ角ゴ Pro W3', 'メイリオ', sans-serif;
	--font-family-en: Arial, 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'ヒラギノ角ゴ Pro W3', 'メイリオ', sans-serif;
}
@media (max-width: 767px) {
	:root {
		--h-top-article: 50px;
	}
}

/* リセットCSS */
html { -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-box-shadow: none; box-shadow: none; outline: none; }
html,body,ul,ol,li,dl,dt,dd,p,h1,h2,h3,h4,h5,h6,figure,summary { padding: 0; margin: 0; }
h1,h2,h3,h4,h5,h6 { font-weight: bold; }
ol,ul { list-style: none; }
body { line-height: 1; }
br { line-height: 1em; }
hr { box-sizing: border-box; }



body {
	font-family: var(--font-family);
	font-size: 16px;
	color: var(--color_font);
	overflow-x: hidden;
}

main {
	padding-top: 88px;
}
@media (max-width: 767px) {
	main {
		padding-top: var(--sp-h-menu);
	}
}


a:only-child img {
	transition: 0.2s ease-in-out opacity;
}
a:only-child img:hover {
	opacity: .6;
}

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

p,li,dt,dd,figcaption {
	line-height: 1.8;
}
h1,h2,h3,h4,h5,h6 {
	line-height: 1.6;
}



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


@media (max-width: 767px) {
	.sp-none {
		display: none !important;
	}
}


/* ヘッダー */
.header {
	background-color: var(--color_header-bg);
	color: var(--color_header-font);
	position: fixed;
	left: 0;
	width: 100%;
	z-index: 9999;
}
.header a {
	color: inherit;
}
.header-inner {
	display: flex;
	justify-content: space-between;
}
.h-logo {
	max-width: 367px;
	align-self: center;
	margin-left: 30px;
}
.h-nav {
	display: flex;
}
.h-menu {
	display: flex;
}
.h-menuAccent {
	display: flex;
}
.h-nav ul {
	display: flex;
}
.h-nav li {
	display: flex;
	font-weight: 700;
}
.h-nav .menu > li > a {
	position: relative;
}
.h-nav .menu > li > a::before {
	content: '';
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	border-top: solid 5px #C20606;
	width: calc(100% - 20px);
	opacity: 0;
}
.h-nav .menu > li > a:hover::before {
	opacity: 1;
}
.h-nav a {
	display: flex;
	align-items: center;
	text-decoration: none;
	padding: 30px 10px;
	box-sizing: border-box;
}
.h-menuAccent {
	margin-left: 30px;
}
.h-menuAccent a {
	background-color: var(--color_header-accent);
	padding-right: 40px;
	padding-left: 40px;
}
.h-menuBtn {
	all: unset;
	background-color: var(--color_white);
	width: 89px;
	cursor: pointer;
	display: grid;
	justify-content: center;
	align-content: center;
	grid-gap: 10px;
	order: 3;
}
.h-menuBtn i {
	border-top: solid 3px var(--color_black);
	width: 30px;
	box-sizing: border-box;
	transition-property: transform;
	transition-timing-function: ease-in-out;
	transition-duration: .3s;
}
.h-menuBtn.active {
	grid-template-columns: repeat(2, 1px);
	grid-gap: 0;
}
.h-menuBtn.active i {
	height: 30px;
	width: 1px;
	border-top: none;
	border-right: solid 3px var(--color_black);
}
.h-menuBtn.active i:nth-of-type(2) {
	display: none;
}
.h-menuBtn.active i:nth-of-type(1) {
	transform: rotate(225deg)
}
.h-menuBtn.active i:nth-of-type(3) {
	transform: rotate(-225deg)
}
@media (min-width: 1201px) {
	.h-menuBtn {
		display: none;
	}
}
@media (max-width: 1200px) {
	.h-logo {
		margin-left: 20px;
	}
	.h-menu {
		position: fixed;
		width: 100%;
		max-height: calc(100% - 88px);
		z-index: 10000;
		left: 0;
		top: 88px;
		background-color: #1D68C5;
	}
	.h-menuBtn:not(.active) +.h-menu {
		display: none;
	}
	.h-nav ul {
		flex-direction: column;
		width: 100%;
	}
	.h-nav .menu > li > a {
		width: 100%;
		padding: 20px 40px 20px 20px;
	}
	.h-nav .menu > li > a::before {
		display: none;
	}
	.h-nav .menu > li > a::after {
		content: '';
		position: absolute;
		right: 30px;
		top: 50%;
		transform:  rotate(45deg) translateY(-50%);
		height: 10px;
		width: 10px;
		border-top: solid 2px var(--color_white);
		border-right: solid 2px var(--color_white);
		box-sizing: border-box;
	}
	.h-nav .menu > li {
		border-bottom: solid 1px var(--color_white);
	}
}
@media (max-width: 767px) {
	.h-logo {
		width: 48vw;
	}
	.h-menu {
		height: 100%;
	}
	.h-nav {
		width: 52vw;
		justify-content: flex-end;
	}
	.header-inner {
		height: var(--sp-h-menu);
	}
	.h-menuAccent {
		margin-left: 0;
		padding-left: 20px;
		box-sizing: border-box;
		flex-grow: 1;
	}
	.h-menuAccent li {
		height: 100%;
	}
	.h-menuAccent a {
		height: 100%;
		padding: 2vw;
		font-size: 3vw;
		width: 100%;
		justify-content: center;
	}
	.h-menuBtn {
		width: var(--sp-h-menu);
		grid-gap: 2vw;
	}
	.h-menuBtn i {
		width: 6vw;
	}
	.h-menuBtn.active i {
		height: 6vw;
	}
	.h-menu {
		max-height: calc(100% - var(--sp-h-menu));
		top: var(--sp-h-menu);
	}
}



/* フッター */
.footer {
	padding-top: 55px;
}
.footer-item01 {
	display: flex;
	align-items: flex-start;
	max-width: var(--w_def);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	justify-content: space-between;
}
.f-logo {
	max-width: 560px;
	width: 50%;
}
.f-nav {
	width: 50%;
	font-weight: 800;
	font-size: 18px;
}
.f-nav ul {
	display: grid;
	grid-template-columns: repeat(3, auto);
	justify-content: space-between;
}
.f-nav a {
	color: inherit;
	text-decoration: none;
	position: relative;
	padding-left: 30px;
}
.f-nav a::before {
	content: '';
	position: absolute;
	border-top: solid 3px var(--color_font);
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 20px;
	box-sizing: border-box;
}
.f-nav a:hover {
	color: #CF1D1D;
}
.footer-item02 {
	display: flex;
	align-items: flex-start;
	max-width: var(--w_def);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	margin-top: 80px;
}
.f-address {
	display: flex;
	align-items: flex-start;
	max-width: 890px;
	width: 100%;
}
.f-address__left {
	max-width: 366px;
	margin-right: 30px;
}
.f-accessLink {
	flex-grow: 1;
	text-align: center;
	font-size: 18px;
}
.f-accessLink a {
	color: inherit;
	max-width: 262px;
	width: 100%;
	box-sizing: border-box;
	text-decoration: none;
	border: solid 1px var(--color_font);
	display: inline-block;
	position: relative;
	padding: 15px 25px;
}
.f-accessLink a::before,
.f-accessLink a::after {
	content: '';
	position: absolute;
	right: 17px;
	top: 50%;
	transform: translateY(-50%);
	box-sizing: border-box;
	background-size: cover;
	background-repeat: no-repeat;
	width: 7px;
	height: 13px;
}
.f-accessLink a::before {
	background-image: url('../img/icon/icon-arrow_black.svg');
	z-index: 1;
}
.f-accessLink a::after {
	background-image: url('../img/icon/icon-arrow_white.svg');
}
.f-accessLink a:hover {
	color: var(--color_white);
	background-color: var(--color_font);
}
.f-accessLink a:hover::before {
	opacity: 0;
}
.f-address address {
	font-style: normal;
	font-size: 18px;
	line-height: 1.4;
}
.f-address address + address {
	margin-top: 35px;
}
.footer-copyright {
	background-color: var(--color_footer_copyright-bg);
	color: var(--color_footer_copyright-font);
	margin-top: 70px;
	padding-top: 15px;
	padding-bottom: 15px;
	margin-bottom: 5px;
}
.copyright {
	color: inherit;
	max-width: var(--w_def);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

@media (max-width: 1080px) {
	.f-nav ul {
		grid-template-columns: repeat(2, 1fr);
		justify-content: flex-start;
	}
	.f-nav ul li {
		box-sizing: border-box;
		padding-right: 30px;
	}
	.footer-item01 {
		flex-direction: column;
		flex-wrap: wrap;
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
		align-items: center;
	}
	.f-logo {
		max-width: none;
		width: 100%;
		margin-bottom: 30px;
	}
	.f-nav {
		width: 100%;
	}
	.footer-item02 {
		flex-direction: column;
		flex-wrap: wrap;
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
	}
	.f-address {
		margin-bottom: 60px;
	}
	.f-accessLink {
		width: 100%;
	}
	.copyright {
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
	}
}
@media (max-width: 767px) {
	.f-nav ul {
		grid-template-columns: repeat(1, 1fr);
	}
	.f-address {
		flex-direction: column;
		flex-wrap: wrap;
		max-width: none;
		padding-right: 0;
		box-sizing: border-box;
	}
	.f-address__left {
		margin-right: 0;
		max-width: none;
		width: 100%;
		margin-bottom: 30px;
	}
	.copyright {
		padding-right: 70px;
		text-align: left;
	}
}



/* 
 *　TOP
 */

/* mv */
.mv {
	box-sizing: border-box;
	position: relative;
}
.mv .mv-scroll {
	position: absolute;
	left: 0;
	bottom: 0;
	line-height: 0;
}
.mv .mv-scroll p {
	font-family: var(--font-family-en);
	text-transform: uppercase;
	font-weight: 700;
	transform: rotate(90deg);
	transform-origin: right center;
	line-height: 1;
}
.mv .mv-scroll i {
	border-right: solid 2px var(--color_black);
	height: 105px;
	display: inline-block;
	box-sizing: border-box;
	width: 100%;
	margin-top: 10px;
}
.mv .mv-slider {
	margin-left: 375px;
	margin-left: 19.5vw;
	position: relative;
	z-index: 1;
}
.mv .mv-slider::before {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	background-color: #F2F0E6;
	width: 100%;
	height: 100%;
	z-index: -1;
}
#js-mvSlider .owl-dots {
	margin-top: 0 !important;
	padding-top: 35px;
	padding-bottom: 60px;
}
#js-mvSlider .owl-dots .owl-dot {
	border: solid 2px transparent;
	border-radius: 50%;
	margin: 6px;
	box-sizing: border-box;
}
#js-mvSlider .owl-dots .owl-dot.active {
	border-color: #CF1D1D;
}
#js-mvSlider .owl-dots .owl-dot span {
	width: 7px;
	height: 7px;
	margin: 6px;
	background: var(--color_black);
}
#js-mvSlider .owl-dots .owl-dot span:hover,
#js-mvSlider .owl-dots .owl-dot.active span {
	background: #CF1D1D;
}
.mv .mv-title {
	position: absolute;
	left: 127px;
	bottom: 0;
	background-color: #CF1D1D;
	color: var(--color_white);
	display: grid;
	place-items: center;
	line-height: 1.8;
	z-index: 100;
	font-size: 40px;
	width: 575px;
	height: 490px;
	font-size: 2.1vw;
	width: 30vw;
	height: 25.5vw;
}
@media (max-width: 767px) {
	.mv .mv-scroll {
		display: none !important;
	}
	.mv .mv-slider {
		margin-left: 0;
	}
	.mv .mv-slider::before {
		opacity: 0;
	}
	#js-mvSlider .owl-dots {
		padding-bottom: 0;
		padding-top: 0;
		position: absolute;
		bottom: 10px;
		left: 50%;
		transform: translateX(-50%);
	}
	.mv .mv-title {
		position: static;
		width: 100%;
		height: auto;
		font-size: 5vw;
		line-height: 1.5;
		padding-top: 40px;
		padding-bottom: 40px;
	}
}




/* top-point */
.top-point {
	background-image: url('../img/top/top-point_bg.jpg');
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
	color: var(--color_white);
}
.top-point::before {
	content: '';
	background-color: var(--color_black);
	opacity: .7;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.top-point .con-inner {
	position: relative;
	z-index: 1;
	max-width: var(--w_large);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	min-height: 646px;
	box-sizing: border-box;
	padding: 130px 0 70px;
}
.top-point .con-main {
	display: grid;
	grid-template-columns: repeat(auto-fill, 420px);
	justify-content: space-between;
	margin-right: -20px;
	width: 100%;
	grid-gap: 60px 0;
	counter-reset: top-point-count;
}
.top-point .con-main::after {
	content: '';
	display: block;
	width: 420px;
}
.top-point .con-main dl {
	width: 420px;
	height: 377px;
	box-sizing: border-box;
	display: grid;
	grid-template-rows: 100px auto;
	justify-content: center;
	align-content: center;
	position: relative;
}
.top-point .con-main dl::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 20px;
	top: 0;
	background-image: url('../img/top/top-point_circle.svg');
	background-size: contain;
	background-repeat: no-repeat;
}
.top-point .con-main dl::after {
	counter-increment: top-point-count;
	content: counter(top-point-count,decimal-leading-zero);
	font-size: 42px;
	position: absolute;
	top: 60px;
	left: 50%;
	transform: translateX(-50%);
}
.top-point .con-main dt {
	width: 100%;
	align-self: flex-end;
	text-align: center;
	font-size: 35px;
	line-height: 1.2;
	position: relative;
	z-index: 1;
}
.top-point .con-main dd {
	padding-top: 25px;
	width: 100%;
	text-align: center;
	line-height: 1.4;
	position: relative;
	z-index: 1;
}
@media (max-width: 1280px) {
	.top-point .con-main {
		justify-content: center;
		grid-gap: 60px 60px;
	}
}
@media (max-width: 767px) {
	.top-point .con-inner {
		padding-top: 90px;
		padding-bottom: 90px;
	}
	.top-point .con-main::after {
		display: none;
	}
	.top-point .con-inner {
		overflow: hidden;
	}
	.top-point .con-main {
		grid-template-columns: repeat(auto-fill, calc(100vw - 20px));
		margin-right: 0;
	}
	.top-point .con-main dl {
		width: 100%;
		height: 100vw;
		grid-template-rows: 28vw auto;
	}
	.top-point .con-main dl::before {
		left: -10px;
		width: calc(100vw + 12vw);
		height: calc(100vw + 12vw);
		opacity: .17;
	}
	.top-point .con-main dl::after {
		font-size: 12vw;
		top: 15vw;
	}
	.top-point .con-main dt {
		font-size: 10vw;
	}
	.top-point .con-main dd {
		font-size: 4.5vw;
		padding-top: 5vw;
	}
}


/* top-processing */
.top-processing {
	padding-bottom: var(--h-top-article);
}
.top-processing .con-m-list {
	max-width: var(--w_def);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}
.top-processing .con-header {
	margin-bottom: 170px;
}
.top-processing .con-m-list__box {
	display: flex;
	align-items: flex-start;
	position: relative;
	min-height: 422px;
	padding-top: 40px;
}
.top-processing .con-m-list__box + .con-m-list__box {
	margin-top: 200px;
}
.top-processing .con-m-list__box::before {
	content: '';
	position: absolute;
	top: 0;
	width: 422px;
	height: 422px;
	background-size: cover;
	background-repeat: no-repeat;
}
.top-processing .con-m-list__box:nth-of-type(odd)::before {
	left: -200px;
}
.top-processing .con-m-list__box:nth-of-type(even)::before {
	right: 300px;
}
.top-processing .con-m-list__box:nth-of-type(1)::before {
	background-image: url('../img/top/top-processing_deco01.svg');
}
.top-processing .con-m-list__box:nth-of-type(2)::before {
	background-image: url('../img/top/top-processing_deco02.svg');
}
.top-processing .con-m-list__box:nth-of-type(3)::before {
	background-image: url('../img/top/top-processing_deco03.svg');
}
.top-processing .con-m-list__box:nth-of-type(4)::before {
	background-image: url('../img/top/top-processing_deco04.svg');
}
.top-processing .con-m-list__box:nth-of-type(5)::before {
	background-image: url('../img/top/top-processing_deco05.svg');
}
.top-processing .con-m-list__box:nth-of-type(6)::before {
	background-image: url('../img/top/top-processing_deco06.svg');
}
.top-processing .con-m-list__box .type-image {
	width: 785px;
	flex-shrink: 0;
	position: relative;
}
.top-processing .con-m-list__box:nth-of-type(odd) .type-image {
	margin-right: -200px;
	margin-left: 100px;
}
.top-processing .con-m-list__box:nth-of-type(even) .type-image {
	order: -1;
	margin-left: -200px;
	margin-right: 100px;
}
.top-processing .con-m-list__box .type-image::before {
	content: '';
	position: absolute;
	clip-path: polygon(0 0, calc(100% - 90px) 0, 100% 100%, 90px 100%);
	top: -40px;
	width: 100%;
	height: 100%;
	transform: scale(.838);
}
.top-processing .con-m-list__box:nth-of-type(odd) .type-image::before {
	left: -40px;
	transform-origin: left top;
}
.top-processing .con-m-list__box:nth-of-type(even) .type-image::before {
	right: -40px;
	transform-origin: right center;
	transform: scale(.838,-1);
}
.top-processing .con-m-list__box:nth-of-type(1) .type-image::before {
	background-color: #58D9D5;
}
.top-processing .con-m-list__box:nth-of-type(2) .type-image::before {
	background-color: #D8D852;
}
.top-processing .con-m-list__box:nth-of-type(3) .type-image::before {
	background-color: #DA5858;
}
.top-processing .con-m-list__box:nth-of-type(4) .type-image::before {
	background-color: #3B87E5;
}
.top-processing .con-m-list__box:nth-of-type(5) .type-image::before {
	background-color: #D687E0;
}
.top-processing .con-m-list__box:nth-of-type(6) .type-image::before {
	background-color: #FF78BD;
}
.top-processing .con-m-list__box .type-image img {
	position: relative;
	z-index: 2;
}
.top-processing .con-m-list__box .type-desc {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
	margin-top: -40px;
}
.top-processing .con-m-list__box .type-desc::before {
	content: '';
	font-size: 160px;
	background-size: contain;
	background-repeat: no-repeat;
	height: 115px;
	width: 183px;
	margin-bottom: 45px;
}
.top-processing .con-m-list__box:nth-of-type(1) .type-desc::before {
	background-image: url('../img/top/top-processing_num01.svg');
}
.top-processing .con-m-list__box:nth-of-type(2) .type-desc::before {
	background-image: url('../img/top/top-processing_num02.svg');
}
.top-processing .con-m-list__box:nth-of-type(3) .type-desc::before {
	background-image: url('../img/top/top-processing_num03.svg');
}
.top-processing .con-m-list__box:nth-of-type(4) .type-desc::before {
	background-image: url('../img/top/top-processing_num04.svg');
}
.top-processing .con-m-list__box:nth-of-type(5) .type-desc::before {
	background-image: url('../img/top/top-processing_num05.svg');
}
.top-processing .con-m-list__box:nth-of-type(6) .type-desc::before {
	background-image: url('../img/top/top-processing_num06.svg');
}
.top-processing .con-m-list__title {
	font-size: 53px;
	font-weight: 400;
	position: relative;
	width: 100%;
}
.top-processing .con-m-list__box:nth-of-type(1) .type-desc::before {
	color: #58D9D5;
}
.top-processing .con-m-list__box:nth-of-type(2) .type-desc::before {
	color: #D8D852;
}
.top-processing .con-m-list__box:nth-of-type(3) .type-desc::before {
	color: #DA5858;
}
.top-processing .con-m-list__box:nth-of-type(4) .type-desc::before {
	color: #3B87E5;
}
.top-processing .con-m-list__box:nth-of-type(5) .type-desc::before {
	color: #D687E0;
}
.top-processing .con-m-list__box:nth-of-type(6) .type-desc::before {
	color: #FF78BD;
}
.top-processing .con-m-list__desc {
	margin-top: 40px;
}
.top-processing .con-m-list__desc p {
	font-size: 20px;
}
@keyframes kf_top-processing01_odd {
  from {
	  opacity: 0;
	  transform: translateX(100px);
  }
  to {
	  opacity: 1;
	  transform: translateX(0);
  }
}
@keyframes kf_top-processing01_even {
  from {
	  opacity: 0;
	  transform: translateX(-100px);
  }
  to {
	  opacity: 1;
	  transform: translateX(0);
  }
}
.top-processing .con-m-list__box .type-image img {
	opacity: 0;
}
.top-processing .con-m-list__box:nth-of-type(odd) .type-image[data-scroll-action='true'] img {
	animation-name: kf_top-processing01_odd;
	animation-duration: .5s;
	animation-fill-mode: forwards;
}
.top-processing .con-m-list__box:nth-of-type(even) .type-image[data-scroll-action='true'] img {
	animation-name: kf_top-processing01_even;
	animation-duration: .5s;
	animation-fill-mode: forwards;
}
@media (max-width: 1080px) {
	.top-processing .con-inner {
		overflow-x: hidden;
	}
	.top-processing .con-m-list__box {
		flex-direction: column;
	}
	.top-processing .con-m-list__box .type-desc {
		order: -1;
		margin-bottom: 120px;
		justify-content: center;
		margin-left: var(--sp-margin);
		margin-right: var(--sp-margin);
	}
	.top-processing .con-m-list__title {
		text-align: center;
		font-size: 45px;
	}
	.top-processing .con-m-list__box::before {
		left: 0 !important;
		right: 0 !important;
		margin: 0 auto;
		top: -80px;
	}
	.top-processing .con-m-list__box .type-image {
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100%;
		box-sizing: border-box;
	}
	.top-processing .con-m-list__box .type-image img {
		box-sizing: border-box;
	}
	.top-processing .con-m-list__box:nth-of-type(odd) .type-image img {
		padding-left: 40px;
	}
	.top-processing .con-m-list__box:nth-of-type(even) .type-image img {
		padding-right: 40px;
	}
	.top-processing .con-m-list__box:nth-of-type(odd) .type-image::before {
		left: 0;
	}
	.top-processing .con-m-list__box:nth-of-type(even) .type-image::before {
		right: 0;
	}
}
@media (max-width: 767px) {
	.top-processing .con-header {
		margin-bottom: 60px;
	}
	.top-processing .con-m-list__title {
		font-size: 30px;
	}
	.top-processing .con-m-list__box + .con-m-list__box {
		margin-top: 170px;
	}
	.top-processing .con-m-list__box::before {
		height: 76vw;
		width: 76vw;
	}
	.top-processing .con-m-list__box .type-desc::before {
		transform: scale(.7);
		margin-bottom: 20px;
	}
	.top-processing .con-m-list__desc {
		margin-top: 20px;
	}
	.top-processing .con-m-list__desc p {
		font-size: 18px;
	}
	.top-processing .con-m-list__box:nth-of-type(odd) .type-image img {
		padding-left: var(--sp-margin);
		padding-right: var(--sp-margin);
	}
	.top-processing .con-m-list__box:nth-of-type(even) .type-image img {
		padding-left: var(--sp-margin);
		padding-right: var(--sp-margin);
	}
	.top-processing .con-m-list__box .type-image::before {
		top: -20px;
		clip-path: polygon(0 0, calc(100% - 10vw) 0, 100% 100%, 10vw 100%);
	}
	.top-processing .con-m-list__box:nth-of-type(odd) .type-image::before {
		left: 20px;
		transform: scale(.775);
	}
	.top-processing .con-m-list__box:nth-of-type(even) .type-image::before {
		right: 20px;
		transform: scale(.775,-1);
	}
}



/* top-trial */
.top-trial .con-inner {
	background-color: #AE0A0A;
	color: var(--color_white);
	position: relative;
	padding-top: var(--h-top-article);
	padding-bottom: calc(var(--h-top-article) * 2);
	margin-top: -1px;
	clip-path: polygon(0 var(--h-top-article), 100% 0, 100% calc(100% - var(--h-top-article)), 0 100%);
}
.top-trial .con-inner::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background-image: url('../img/top/top-trial_bg.png');
	background-size: contain;
	background-repeat: no-repeat;
	width: 956px;
	height: 532px;
	z-index: -2;
}
.top-trial .parts-ttl01[data-en]::before {
	opacity: .15;
}
.top-trial .con-header {
	margin-bottom: 170px;
}
.top-trial .con-main {
	max-width: var(--w_large);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}
.top-trial .con-main .con-m-intro {
	box-sizing: border-box;
}
.top-trial .con-main .con-m-intro__box {
	display: flex;
	align-items: flex-start;
	justify-content: center;
}
.top-trial .con-main .con-m-intro__box-child.type-desc {
	/*
	padding-right: 10px;
	width: 52%;
	*/
	box-sizing: border-box;
}
.top-trial .con-main .con-m-intro__box-child.type-image {
	width: 48%;
}
.top-trial .con-main .con-m-intro__desc p {
	font-size: 30px;
	line-height: 90px;
	letter-spacing: 0;
	font-weight: 700;
	text-align: center;
}
.top-trial .con-main .con-m-intro__desc p strong {
	font-size: 52px;
	color: #AE0A0A;
	padding: 20px 30px;
	position: relative;
	z-index: 1;
}
.top-trial .con-main .con-m-intro__desc p strong::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color_white);
	z-index: -1;
}
.top-trial .con-footer {
	max-width: var(--w_def);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	margin-top: 190px;
}
.top-trial .con-footer .con-f-contact__upper {
	text-align: center;
}
.top-trial .con-footer .con-f-contact__upper p {
	font-size: 28px;
	font-weight: 700;
	position: relative;
	box-sizing: border-box;
	padding-left: 60px;
	padding-right: 60px;
	display: inline-block;
}
.top-trial .con-footer .con-f-contact__upper p::before {
	content: '';
	border-top: solid 3px;
	width: 50px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: rotate(50deg) translateY(-50%);
}
.top-trial .con-footer .con-f-contact__upper p::after {
	content: '';
	border-top: solid 3px;
	width: 50px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: scale(1,-1) rotate(50deg) translateY(-50%);
}
.top-trial .con-footer .con-f-contact__btn p {
	text-align: center;
	font-size: 41px;
	letter-spacing: 0.09em;
	margin-top: 30px;
	position: relative;
	z-index: 1;
}
.top-trial .con-footer .con-f-contact__btn p::after {
	max-width: 754px;
	box-sizing: border-box;
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	margin-top: 18px;
	margin-left: 13px;
	width: 100%;
	height: 100%;
	clip-path: polygon(20px 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
	background-color: #5B0000;
	z-index: -22;
}
.top-trial .con-footer .con-f-contact__btn p a {
	max-width: 754px;
	width: 100%;
	box-sizing: border-box;
	color: #AE0A0A;
	text-decoration: none;
	background-color: var(--color_white);
	padding: 20px 130px 20px 250px;
	clip-path: polygon(20px 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
	min-height: 160px;
	background-image: url('../img/top/top-trial_btn-bg.png');
	background-size: auto 100%;
	background-repeat: no-repeat;
	background-position: center right;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	z-index: 1;
}
.top-trial .con-footer .con-f-contact__btn p a::before {
	content: '';
	position: absolute;
	left: 120px;
	top: 0;
	width: 105px;
	height: 100%;
	background-image: url('../img/icon/icon-contact_red.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}
@keyframes kf_top-trial01 {
	from {
		width: 0;
	}
	to {
		width: 100%;
	}
}
.top-trial .con-main .con-m-intro__desc p strong::before {
	width: 0;
}
.top-trial .con-main .con-m-intro__box[data-scroll-action="true"] .con-m-intro__desc p strong::before {
	animation-name: kf_top-trial01;
	animation-duration: .4s;
	animation-fill-mode: forwards;
	animation-timing-function: cubic-bezier(.77,.02,.94,.8);
}
@media (max-width: 1400px) {
	.top-trial .con-main .con-m-intro {
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
	}
	.top-trial .con-main .con-m-intro__box-child {
		width: 100% !important;
		max-width: 700px;
	}
	.top-trial .con-main .con-m-intro__box-child.type-desc {
		padding-bottom: 60px;
		padding-right: 0;
	}
	.top-trial .con-main .con-m-intro__box {
		flex-direction: column;
		align-items: center;
	}
}
@media (max-width: 767px) {
	.top-trial .con-header {
		margin-bottom: 60px;
	}
	.top-trial .con-inner::after {
		opacity: 0;
	}
	.top-trial .con-main .con-m-intro__desc p {
		font-size: 4vw;
		line-height: 12vw;
	}
	.top-trial .con-main .con-m-intro__desc p strong {
		font-size: inherit;
		padding: 3vw;
	}
	.top-trial .con-footer {
		margin-top: 80px;
	}
	.top-trial .con-footer .con-f-contact__upper p {
		font-size: 20px;
	}
	.top-trial .con-footer .con-f-contact__btn p {
		font-size: 24px;
		font-weight: 700;
	}
	.top-trial .con-footer .con-f-contact__btn p::after {
		width: calc(100% - 13px * 2);
	}
	.top-trial .con-footer .con-f-contact__btn p a {
		width: calc(100% - 13px * 2);
		padding-right: 30px;
		padding-left: 100px;
		min-height: 120px;
	}
	.top-trial .con-footer .con-f-contact__btn p a::before {
		left: 30px;
		width: 70px;
	}
}




/* top-about */
.top-about .con-inner {
	background-color: var(--color_black);
	color: var(--color_white);
	position: relative;
	padding-top: var(--h-top-article);
	padding-bottom: calc(var(--h-top-article) * 2);
	margin-top: calc(-1 * var(--h-top-article) - 1px);
	clip-path: polygon(0 var(--h-top-article), 100% 0, 100% calc(100% - var(--h-top-article)), 0 100%);
}
.top-about .con-inner::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background-image: url('../img/top/top-about_bg.jpg');
	background-size: contain;
	background-repeat: no-repeat;
	width: 935px;
	height: 307px;
	z-index: -2;
}
.top-about .parts-ttl01[data-en]::before {
	opacity: .18;
}
.top-about .con-header {
	margin-bottom: 170px;
}
.top-about .con-h-desc {
	max-width: var(--w_def);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.top-about .con-h-desc p {
	font-size: 20px;
	font-weight: 700;
	line-height: 2;
}
.top-about .con-m-intro {
	max-width: var(--w_def);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}
.top-about .con-m-intro__box {
	position: relative;
}
.top-about .con-m-intro__box + .con-m-intro__box {
	margin-top: 170px;
}
.top-about .con-m-intro__box-child.type-desc {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex-wrap: wrap;
	position: relative;
}
.top-about .con-m-intro__box-child.type-desc[data-label]::before {
	content: attr(data-label);
	font-family: var(--font-family-en);
	color: #58D9D5;
	padding-left: 60px;
	font-size: 20px;
	text-transform: uppercase;
}
.top-about .con-m-intro__box-child.type-desc[data-label]::after {
	content: '';
	position: absolute;
	height: 1px;
	width: 55px;
	border-top: solid 3px #58D9D5;
	left: 0;
	top: 8px;
	box-sizing: border-box;
}
.top-about .con-m-intro__title {
	font-size: 48px;
	font-weight: 400;
	background-color: var(--color_white);
	color: var(--color_black);
	padding: 5px 25px;
	box-sizing: border-box;
	margin-top: 15px;
}
.top-about .con-m-intro__desc {
	margin-top: 90px;
	min-height: 600px;
	max-width: 690px;
	width: 100%;
	display: flex;
	align-items: center;
}
.top-about .con-m-intro__desc-inner {
	background-color: var(--color_black);
	color: var(--color_white);
	box-sizing: border-box;
	padding: 65px 35px;
}
.top-about .con-m-intro__desc p {
	line-height: 2.5;
	font-size: 20px;
}
.top-about .con-m-intro__box-child.type-image {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
	position: absolute;
	width: 1078px;
	right: 0;
	bottom: 0;
	z-index: -1;
}
.top-about .con-m-intro__box-child.type-image-theory {
	position: relative;
	margin-top: 150px;
}
.top-about .con-m-intro__box-child.type-image-theory .con-m-intro__image {
	max-width: 540px;
	margin-right: auto;
	margin-left: auto;
	padding-left: 360px;
	padding-right: 420px;
}
.top-about .con-m-intro__point {
	color: #58D9D5;
}
.top-about .con-m-intro__point li {
	position: absolute;
	font-size: 20px;
	line-height: 2;
	text-align: justify;
}
.top-about .con-m-intro__point li:nth-of-type(1) {
	left: 0;
	top: 0;
	width: 360px;
}
.top-about .con-m-intro__point li:nth-of-type(1)::before {
	content: '';
	position: absolute;
	border-top: solid 3px #58D9D5;
	left: 380px;
	top: 18px;
	width: 250px;
	height: 1px;
	z-index: -1;
}
.top-about .con-m-intro__point li:nth-of-type(2) {
	position: absolute;
	right: 0;
	top: 80px;
	width: 320px;
}
.top-about .con-m-intro__point li:nth-of-type(2)::before {
	content: '';
	position: absolute;
	border-right: solid 3px #58D9D5;
	border-bottom: solid 3px #58D9D5;
	right: 180px;
	top: calc(100% + 18px);
	width: 268px;
	height: 133px;
	z-index: -1;
}
.top-about .con-m-list {
	max-width: var(--w_def);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	margin-top: 220px;
}
.top-about .con-m-list__box-inner {
	display: flex;
	align-items: flex-start;
	text-decoration: none;
	color: inherit;
}
.top-about .con-m-list__box + .con-m-list__box {
	margin-top: calc(90px + 80px);
}
.top-about .con-m-list__box-child {
	flex: 1;
}
.top-about .con-m-list__box-child.type-desc {
	margin-top: -80px;
	position: relative;
	z-index: 1;
}
.top-about .con-m-list__box:nth-of-type(odd) .con-m-list__box-child.type-desc .con-m-list__box-child-inner  {
	margin-right: -35px;
}
.top-about .con-m-list__box:nth-of-type(even) .con-m-list__box-child.type-desc .con-m-list__box-child-inner {
	margin-left: -35px;
}
.top-about .con-m-list__box-child.type-desc[data-label]::before {
	content: attr(data-label);
	font-family: var(--font-family-en);
	color: #58D9D5;
	padding-left: 60px;
	font-size: 20px;
	text-transform: uppercase;
}
.top-about .con-m-list__box-child.type-desc[data-label]::after {
	content: '';
	position: absolute;
	height: 1px;
	width: 55px;
	border-top: solid 3px #58D9D5;
	left: 0;
	top: 8px;
	box-sizing: border-box;
	z-index: 2;
}
.top-about .con-m-list__box-child.type-desc .con-m-list__box-child-inner {
	padding: 35px;
	box-sizing: border-box;
	background-color: var(--color_black);
	color: var(--color_white);
	margin-top: 160px;
}
.top-about .con-m-list__box-child.type-desc .con-m-list__box-child-inner::before {
	content: '';
	position: absolute;
	top: 40px;
	font-weight: 700;
	background-size: contain;
	background-repeat: no-repeat;
	width: 160px;
	height: 89px;
}
.top-about .con-m-list__box:nth-of-type(1) .con-m-list__box-child.type-desc .con-m-list__box-child-inner::before {
	background-image: url('../img/top/top-about_num01.svg');
}
.top-about .con-m-list__box:nth-of-type(2) .con-m-list__box-child.type-desc .con-m-list__box-child-inner::before {
	background-image: url('../img/top/top-about_num02.svg');
}
.top-about .con-m-list__box:nth-of-type(3) .con-m-list__box-child.type-desc .con-m-list__box-child-inner::before {
	background-image: url('../img/top/top-about_num03.svg');
}
.top-about .con-m-list__box-child.type-image {
	position: relative;
}
.top-about .con-m-list__box-child.type-image::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background:repeating-linear-gradient(
		-45deg,
		var(--color_black),
		var(--color_black) 3px,
		rgba(255,255,255,0) 0,
		rgba(255,255,255,0) 6px
	);
	transition-property: opacity;
	transition-timing-function: ease-in-out;
	transition-duration: .3s;
}
.top-about .con-m-list__box-inner:hover .con-m-list__box-child.type-image::before {
	opacity: 0;
}
.top-about .con-m-list__box:nth-of-type(odd) .con-m-list__box-child.type-image {
	order: -1;
	margin-right: -100px;
}
.top-about .con-m-list__box:nth-of-type(even) .con-m-list__box-child.type-image {
	margin-left: -100px;
}
.top-about .con-m-list__title {
	font-size: 48px;
	font-weight: 400;
	margin-bottom: 25px;
	line-height: 1.2;
}
.top-about .con-m-list__desc p {
	font-size: 20px;
	line-height: 1.6;
}

@media (max-width: 1360px) {
	.top-about .con-m-intro__box-child.type-image-theory {
		padding-top: 250px;
		padding-bottom: 340px;
		margin-top: 60px;
	}
	.top-about .con-m-intro__box-child.type-image-theory .con-m-intro__image {
		padding-left: var(--sp-margin);
		padding-right: var(--sp-margin);
	}
	.top-about .con-m-intro__point li:nth-of-type(1) {
		left: 50%;
		transform: translateX(-50%);
		margin-left: -40px;
	}
	.top-about .con-m-intro__point li:nth-of-type(1)::before {
		border-top: none;
		border-left: solid 3px #58D9D5;
		border-bottom: solid 3px #58D9D5;
		left: 90px;
		top: calc(100% + 20px);
		width: 90px;
		height: 90px;
	}
	.top-about .con-m-intro__point li:nth-of-type(2) {
		top: auto;
		bottom: 0;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		margin-left: 100px;
	}
	.top-about .con-m-intro__point li:nth-of-type(2)::before {
		border-right: solid 3px #58D9D5;
		border-bottom: none;
		left: auto;
		right: 65px;
		top: auto;
		bottom: calc(100% + 20px);
		width: 1px;
		height: 90px;
	}
	.top-about .con-m-intro__box-child.type-image {
		margin-left: 0;
		margin-right: 0;
		position: static;
		width: 100%;
		margin-top: 60px;
		/*
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
		box-sizing: border-box;
		*/
	}
	.top-about .con-m-intro__desc {
		min-height: 0;
		max-width: 100%;
		width: 100%;
		display: flex;
		align-items: center;
	}
	.top-about .con-m-intro__desc p {
		line-height: 2;
	}
	.top-about .con-m-intro__desc-inner {
		padding: 0 var(--sp-margin);
	}
	.top-about .con-m-list__box-child.type-image {
		order: 1 !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
	.top-about .con-m-list__box-child.type-desc .con-m-list__box-child-inner {
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
	.top-about .con-m-list__desc p {
		line-height: 2;
	}
}
@media (max-width: 1080px) {
	.top-about .con-h-desc {
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
		text-align: left;
	}
}
@media (max-width: 767px) {
	.top-about .con-m-intro__title {
		font-size: 30px;
		padding: 5px 20px;
	}
	.top-about .con-m-intro__box + .con-m-intro__box {
		margin-top: 80px;
	}
	.top-about .con-m-intro__desc p {
		  font-size: 18px;
	}
	.top-about .con-m-list__box + .con-m-list__box {
	  margin-top: calc(80px + 80px);
	}
	.top-about .con-m-list__box-inner {
		flex-direction: column;
	}
	.top-about .con-m-list__box-child.type-desc .con-m-list__box-child-inner {
		padding: 0 var(--sp-margin);
	}
	.top-about .con-m-list__box-child.type-image {
		margin-top: 60px;
	}
	.top-about .con-m-list__title {
		font-size: 45px;
		line-height: 1.4;
	}
	.top-about .con-header {
		margin-bottom: 60px;
	}
	.top-about .con-m-list__box-child.type-desc .con-m-list__box-child-inner::before {
		transform: scale(.7);
		transform-origin: left center;
	}
	.top-about .con-m-list__desc p {
		  font-size: 18px;
	}
}
@media (max-width: 580px) {
	.top-about .con-m-intro__box-child.type-image-theory {
		padding-top: 55vw;
		padding-bottom: 64vw;
	}
	.top-about .con-m-list__box-child.type-image::before {
		display: none;
	}
	.top-about .con-m-intro__point li:nth-of-type(1) {
		left: var(--sp-margin);
		transform: none;
		margin-left: 0;
		width: 75vw;
		font-size: 4vw;
	}
	.top-about .con-m-intro__point li:nth-of-type(1)::before {
		width: 22vw;
		height: 22vw;
		left: 16vw;
	}
	.top-about .con-m-intro__point li:nth-of-type(2) {
		bottom: 0;
		right: var(--sp-margin);
		left: auto;
		transform: none;
		margin-left: 0;
		width: 75vw;
		font-size: 4vw;
	}
	.top-about .con-m-intro__point li:nth-of-type(2)::before {
		height: 22vw;
		right: 12.5vw;
	}
	.top-about .con-m-intro__point li:nth-of-type(2) br {
		display: none;
	}
}



/* top-material */
.top-material {
	position: relative;
}
.top-material::before {
	content: '';
	position: absolute;
	top: 35px;
	left: 115px;
	background-image: url('../img/top/top-material_deco.png');
	background-size: contain;
	background-repeat: no-repeat;
	width: 495px;
	height: 231px;
	z-index: 2;
}
.top-material .con-inner {
	/*
	padding-top: var(--h-top-article);
	*/
	margin-top: calc(-1 * var(--h-top-article) - 1px);
	position: relative;
	z-index: 1;
}
.top-material .con-inner::after {
	content: '';
	position: absolute;
	top: 1px;
	left: 0;
	background-image: url('../img/top/top-material_bg.jpg');
	background-size: 937px auto;
	background-repeat: no-repeat;
	background-position: right top;
	width: 100%;
	height: 100%;
	z-index: -2;
	clip-path: polygon(0 var(--h-top-article), 100% 0, 100% calc(100% - var(--h-top-article)), 0 100%);
}
.top-material .con-header {
	margin-bottom: 170px;
	padding-top: var(--h-top-article);
}
.top-material .con-m-intro {
	max-width: var(--w_def);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}
.top-material .con-m-intro__title[data-label]::before {
	content: attr(data-label);
	color: #DA5858;
	font-size: 25px;
	font-weight: 700;
	font-family: var(--font-family-en);
}
.top-material .con-m-intro__title {
	margin-bottom: 40px;
	font-size: 60px;
	font-weight: 400;
	display: flex;
	flex-direction: column;
	width: 50%;
	line-height: 1.2;
}
.top-material .con-m-intro__sec + .con-m-intro__sec {
	margin-top: 150px;
}
.top-material .con-m-intro__sec:nth-of-type(even) .con-m-intro__title {
	margin-left: auto;
}
.top-material .con-m-intro__box {
	display: flex;
}
.top-material .con-m-intro__box-child.type-desc {
	width: 50%;
}
.top-material .con-m-intro__box-child.type-catch {
	width: 50%;
	padding-left: 60px;
	box-sizing: border-box;
}
.top-material .con-m-intro__sec:nth-of-type(even) .con-m-intro__box-child.type-catch {
	order: -1;
	padding-left: 0;
	padding-right: 60px;
}
.top-material .con-m-intro__desc {
	margin-top: 30px;
}
.top-material .con-m-intro__desc p {
	font-size: 18px;
	line-height: 2;
}
.top-material .con-m-intro__desc p strong {
	font-weight: inherit;
	color: #DA5858;
}
.top-material .con-m-intro__catch {
	margin-bottom: 45px;
}
.top-material .con-m-intro__catch ul {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.top-material .con-m-intro__catch ul li {
	/*
	display: inline-block;
	margin-right: 15px;
	*/
	font-size: 48px;
	color: #fff;
	margin-bottom: 30px;
	padding: 4px 8px;
	line-height: 1.2;
	position: relative;
	z-index: 1;
}
.top-material .con-m-intro__catch ul li::before {
	content: '';
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #DA5858;
}
.top-material .con-m-list {
	max-width: var(--w_def);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}
.top-material .con-m-list {
	margin-top: 170px;
}
.top-material .con-m-list__headline {
	font-size: 34px;
	text-align: center;
	font-weight: 400;
	margin-bottom: 40px;
}
.top-material .con-m-list__box-wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 40px;
}
.top-material .con-m-list__box {
	background-color: var(--color_black);
	color: var(--color_white);
	padding: 30px 40px 0 40px;
	box-sizing: border-box;
	display: grid;
	grid-template-rows: auto 140px;
}
.top-material .con-m-list__box-child.type-image {
	order: -1;
	margin-bottom: 20px;
}
.top-material .con-m-list__title {
	font-size: 30px;
	font-weight: 400;
}
.top-material .con-m-list__desc {
	padding-top: 10px;
}
.top-material .con-m-list__desc p {
	line-height: 1.6;
}
@keyframes kf_top-material01 {
	from {
		width: 0;
	}
	to {
		width: 100%;
	}
}
.top-material .con-m-intro__catch ul li::before {
	width: 0;
}
.top-material .con-m-intro__catch[data-scroll-action="true"] ul li::before {
	animation-name: kf_top-material01;
	animation-duration: .4s;
	animation-fill-mode: forwards;
	animation-timing-function: cubic-bezier(.77,.02,.94,.8);
}
@keyframes kf_top-material02_odd {
  from {
	  opacity: 0;
	  transform: translateX(100px);
  }
  to {
	  opacity: 1;
	  transform: translateX(0);
  }
}
@keyframes kf_top-material02_even {
  from {
	  opacity: 0;
	  transform: translateX(-100px);
  }
  to {
	  opacity: 1;
	  transform: translateX(0);
  }
}
.top-material .con-m-intro__catch-image img {
	opacity: 0;
}
.top-material .con-m-intro__sec:nth-of-type(odd) .con-m-intro__catch-image[data-scroll-action='true'] img {
	animation-name: kf_top-material02_odd;
	animation-duration: .5s;
	animation-fill-mode: forwards;
}
.top-material .con-m-intro__sec:nth-of-type(even) .con-m-intro__catch-image[data-scroll-action='true'] img {
	animation-name: kf_top-material02_even;
	animation-duration: .5s;
	animation-fill-mode: forwards;
}

@media (max-width: 1080px) {
	.top-material::before {
		transform: scale(.8);
		left: 4vw;
		transform-origin: left center;
	}
	.top-material .con-m-intro__box {
		flex-direction: column;
		margin-right: var(--sp-margin);
		margin-left: var(--sp-margin);
	}
	.top-material .con-m-intro__box + .con-m-intro__desc {
		margin-right: var(--sp-margin);
		margin-left: var(--sp-margin);
	}
	.top-material .con-m-intro__title {
		width: 100%;
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
		box-sizing: border-box;
		font-size: 45px;
	}
	.top-material .con-m-intro__box-child {
		width: 100% !important;
	}
	.top-material .con-m-intro__box-child.type-catch {
		padding-left: 0 !important;
		order: -1;
		margin-bottom: 30px;
	}
	.top-material .con-m-intro__sec:nth-of-type(even) .con-m-intro__box-child.type-catch {
		padding-right: 0 !important;
	}
	.top-material .con-m-list__box-wrap {
		grid-template-columns: repeat(2, 1fr);
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
	}
}
@media (max-width: 767px) {
	.top-material::before {
		transform: scale(.5);
		top: -80px;
	}
	.top-material .con-header {
		margin-bottom: 60px;
	}
	.top-material .con-m-intro__sec + .con-m-intro__sec {
		margin-top: 80px;
	}
	.top-material .con-m-list {
		margin-top: 120px;
	}
	.top-material .con-m-intro__title {
		font-size: 40px;
	}
	.top-material .con-m-intro__catch ul li {
		font-size: 24px;
		margin-bottom: 16px;
		margin-right: 8px;
	}
	.top-material .con-m-list__box-wrap {
		grid-template-columns: repeat(1, 1fr);
	}
}



/* top-facility */
.top-facility {
	position: relative;
	margin-top: calc(-1 * var(--h-top-article) - 70px);
}
.top-facility::before {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 260px;
	background-color: var(--color_white);
	max-width: 1475px;
	z-index: 1;
}
.top-facility .con-inner {
	color: var(--color_white);
	padding-top: var(--h-top-article);
	padding-bottom: calc(var(--h-top-article) * 2);
	margin-top: calc(-1 * var(--h-top-article) - 1px);
	clip-path: polygon(0 var(--h-top-article), 100% 0, 100% calc(100% - var(--h-top-article)), 0 100%);
	background-image: url('../img/top/top-facility_bg.jpg');
	background-repeat: no-repeat;
	background-size: cover;
}
.top-facility .con-header {
	position: relative;
	z-index: 10;
}
.top-facility .con-main {
	position: relative;
	z-index: 10;
}
.top-facility .con-m-list {
	max-width: var(--w_def);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}
.top-facility .con-m-list + .con-m-list {
	margin-top: 170px;
}
.top-facility .layout-type01 .con-m-list__headline {
	font-size: 61px;
	font-weight: 400;
	text-align: center;
	margin-bottom: 90px;
	color: #D8D852;
}
.top-facility .layout-type01 .con-m-list__box-wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 40px 70px;
	align-items: flex-start;
}
.top-facility .layout-type01 .con-m-list__box {
	background-color: var(--color_white);
	color: var(--color_black);
}
.top-facility .layout-type01 .con-m-list__box-child.type-desc {
	box-sizing: border-box;
	padding: 15px 10px 10px 25px;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: flex-start;
}
.top-facility .layout-type01 .con-m-list__label {
	padding: 5px 15px;
	box-sizing: border-box;
	border: solid 1px;
	font-weight: 700;
}
.top-facility .layout-type01 .con-m-list__label p {
	line-height: 1.4;
}
.top-facility .layout-type01 .con-m-list__title {
	font-size: 29px;
	font-weight: 700;
	margin-top: 10px;
}
.top-facility .layout-type01 .con-m-list__count {
	align-self: flex-end;
	display: flex;
	align-items: center;
	margin-top: 30px;
}
.top-facility .layout-type01 .con-m-list__count p {
	font-size: 21px;
	font-weight: 700;
}
.top-facility .layout-type01 .con-m-list__count .type-num {
	font-size: 20px;
	font-weight: 700;
	min-width: 90px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color_black);
	color: var(--color_white);
	padding-right: 10px;
	line-height: 1.2;
	margin-left: 20px;
	position: relative;
}
.top-facility .layout-type01 .con-m-list__count .type-num strong {
	font-size: 44px;
	font-weight: 400;
	color: #D8D852;
	padding-right: 5px;
}
.top-facility .layout-type01 .con-m-list__count .type-num span {
	position: absolute;
	right: 7px;
	bottom:7px;
}
.top-facility .layout-type02 .con-m-list__headline {
	font-size: 40px;
	font-weight: 400;
	color: #D8D852;
	margin-bottom: 60px;
}
.top-facility .layout-type02 .con-m-list__box-wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 60px 40px;
	align-items: flex-start;
}
.top-facility .layout-type02 .con-m-list__box {
	display: grid;
	grid-template-columns: 180px 1fr;
	grid-gap: 0 20px;
}
.top-facility .layout-type02 .con-m-list__box-child.type-desc {
	display: grid;
	width: 100%;
	grid-template-rows: auto auto 1fr;
}
.top-facility .layout-type02 .con-m-list__label p {
	line-height: 1.4;
	padding: 5px 10px;
	box-sizing: border-box;
	border: solid 1px;
	font-size: 18px;
	display: inline-block;
}
.top-facility .layout-type02 .con-m-list__title {
	font-size: 28px;
	margin-top: 15px;
	line-height: 1.2;
}
.top-facility .layout-type02 .con-m-list__count {
	display: flex;
	align-items: flex-end;
	padding-top: 15px;
	box-sizing: border-box;
}
.top-facility .layout-type02 .con-m-list__count .type-num {
	padding-left: 1em;
	box-sizing: border-box;
	color: #D8D852;
}
.top-facility .layout-type03 .con-m-list__headline {
	font-size: 40px;
	font-weight: 400;
	text-align: center;
	margin-bottom: 60px;
}
.top-facility .layout-type03 .con-m-list__box-wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 10px;
}
.top-facility .layout-type03 .con-m-list__box {
	background-color: var(--color_white);
	color: var(--color_black);
	display: grid;
	grid-template-columns: 80px 1fr 90px;
	align-items: center;
	min-height: 60px;
}
.top-facility .layout-type03 .con-m-list__title {
	padding-left: 30px;
	box-sizing: border-box;
	font-weight: 400;
	padding-top: 5px;
	padding-bottom: 5px;
}
.top-facility .layout-type03 .con-m-list__label {
	align-self: stretch;
	display: flex;
	align-items: center;
	background-color: #E3E3DD;
	justify-content: center;
}
.top-facility .layout-type03 .con-m-list__count {
	box-sizing: border-box;
	padding-right: 20px;
	text-align: center;
}
.top-facility .layout-type03 .con-m-list__count p {
	padding-top: 5px;
	padding-bottom: 5px;
	box-sizing: border-box;
	background-color: var(--color_black);
	color: var(--color_white);
}
.top-facility .con-m-list__f-opt {
	margin-top: 110px;
}
.top-facility .con-m-list__f-opt-sec {
	border: solid 3px;
	padding: 60px 65px 50px;
	box-sizing: border-box;
	position: relative;
	background-color: var(--color_black);
}
.top-facility .con-m-list__f-opt-sec.type-no-border {
	border: none !important;
}
.top-facility .con-m-list__f-opt-headline {
	position: absolute;
	left: 0;
	top: 0;
	min-width: 450px;
	padding: 5px 10px;
	box-sizing: border-box;
	line-height: 1.2;
	font-size: 30px;
	background-color: var(--color_white);
	color: var(--color_black);
	text-align: center;
}
.top-facility .con-m-list__f-opt-title {
	font-size: 30px;
	text-align: center;
	margin-bottom: 10px;
}
.con-m-list__f-opt-video {
	position: relative;
	padding-top: 28.125%;
	padding-bottom: 28.125%;
	margin-top: 20px;
}
.con-m-list__f-opt-video iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}




/* old */
.top-facility .con-m-list__f-opt ol {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	grid-gap: 55px;
}
.top-facility .con-m-list__f-opt ol li {
	position: relative;
}
.top-facility .con-m-list__f-opt ol figure {
	position: relative;
}
.top-facility .con-m-list__f-opt ol li + li figure::before {
	content: '';
	position: absolute;
	left: -40px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	height: 48px;
	width: 26px;
	background-color: #D8D852;
	top: 50%;
	transform: translateY(-50%);
}
.top-facility .con-m-list__f-opt ol p {
	color: #D8D852;
	font-weight: 700;
	font-size: 22px;
	margin-bottom: 10px;
}


@media (min-width: 1081px) {
	.top-facility .layout-type01 .con-m-list__box-wrap .con-m-list__box:nth-of-type(3n-1) {
		margin-top: 60px;
	}
	.top-facility .layout-type01 .con-m-list__box-wrap .con-m-list__box:nth-of-type(3n) {
		margin-top: 120px;
	}
}
@media (max-width: 1080px) {
	.top-facility .layout-type01 .con-m-list__headline {
		font-size: 45px;
	}
	.top-facility .layout-type02 .con-m-list__headline {
		font-size: 40px;
		text-align: center;
	}
	.top-facility .layout-type01 .con-m-list__box-wrap {
		grid-template-columns: repeat(2, 1fr);
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
	}
	.top-facility .layout-type02 .con-m-list__box-wrap {
		grid-template-columns: repeat(2, 1fr);
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
	}
	.top-facility .layout-type03 .con-m-list__box-wrap {
		grid-template-columns: repeat(1, 1fr);
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
	}
	.top-facility .con-m-list__f-opt {
		box-sizing: border-box;
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
	}
	.top-facility .layout-type01 .con-m-list__box-wrap .con-m-list__box:nth-of-type(2n) {
		margin-top: 60px;
	}
	.top-facility .con-m-list__f-opt ol p {
		font-size: 18px;
	}
}
@keyframes kf_top-facility01_type01 {
  from {
	  opacity: 0;
	  transform: translateY(100px);
  }
  to {
	  opacity: 1;
	  transform: translateY(0);
  }
}
.top-facility .layout-type01 .con-m-list__box {
	opacity: 0;
}
.top-facility .layout-type01 .con-m-list__box-wrap[data-scroll-action="true"] .con-m-list__box {
	animation-name: kf_top-facility01_type01;
	animation-duration: .5s;
	animation-fill-mode: forwards;
}
@media (max-width: 980px) {
	.top-facility .layout-type02 .con-m-list__box-wrap {
		grid-template-columns: repeat(1, 1fr);
	}
	.top-facility .con-m-list__f-opt-sec {
		padding-left: 20px;
		padding-right: 20px;
	}
	.top-facility .con-m-list__f-opt ol {
		grid-template-columns: repeat(1,1fr);
		justify-items: center;
		grid-gap: 55px;
	}
	.top-facility .con-m-list__f-opt ol li {
		display: flex;
		flex-direction: column-reverse;
	}
	.top-facility .con-m-list__f-opt ol li + li figure::before {
		top: -60px;
		left: 50%;
		transform: translateX(-50%) rotate(90deg);
	}
}
@media (max-width: 767px) {
	.top-facility .con-m-list + .con-m-list {
		margin-top: 120px;
	}
	.top-facility .layout-type01 .con-m-list__headline {
		font-size: 30px;
		margin-bottom: 40px;
	}
	.top-facility .layout-type02 .con-m-list__headline {
		font-size: 25px;
		margin-bottom: 40px;
	}
	.top-facility .layout-type03 .con-m-list__headline {
		font-size: 30px;
		margin-bottom: 40px;
	}
	.top-facility .con-m-list__f-opt-headline {
		font-size: 25px;
	}
	.top-facility .con-m-list__f-opt-title {
		font-size: 20px;
	}
	.top-facility::before {
		height: var(--h-top-article);
	}
	.top-facility .con-m-list__f-opt-headline {
		min-width: 0;
		width: 100%;
	}
	.top-facility .layout-type01 .con-m-list__box-wrap {
		grid-template-columns: repeat(1, 1fr);
	}
	.top-facility .layout-type01 .con-m-list__box {
		margin-top: 0 !important;
	}
	.top-facility .layout-type01 .con-m-list__title {
		font-size: 22px;
	}
	.top-facility .layout-type02 .con-m-list__title {
		font-size: 20px;
	}
	.top-facility .layout-type02 .con-m-list__box {
		grid-template-columns: 40% 1fr;
	}
	.top-facility .layout-type03 .con-m-list__box {
		grid-template-columns: 1fr 90px;
	}
	.top-facility .layout-type03 .con-m-list__label {
		grid-column: 1 / 3;
		grid-row: 1 / 2;
	}
	.top-facility .layout-type03 .con-m-list__title {
		grid-column: 1 / 2;
		grid-row: 2 / 2;
		padding-top: 15px;
		padding-bottom: 15px;
		padding-left: 10px;
		padding-right: 10px;
	}
	.top-facility .layout-type03 .con-m-list__count {
		grid-column: 2 / 2;
		grid-row: 2 / 2;
		padding-right: 10px;
	}
}




/* wrap-contactLine */
.wrap-contactLine {
	background-color: #CBCBCB;
	padding-top: var(--h-top-article);
	margin-top: calc(-1 * var(--h-top-article) - 1px);
	clip-path: polygon(0 var(--h-top-article), 100% 0, 100% 100%, 0 100%);
	position: relative;
	z-index: 2;
}
.wrap-contactLine .wrap-inner {
	background-color: var(--color_white);
	max-width: 1475px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	margin-top: calc(-1 * var(--h-top-article) - 1px);
}



/* top-compatibley */
.top-compatibley .parts-ttl01[data-en]::before {
	letter-spacing: .1em;
}
.top-compatibley .con-header {
	margin-bottom: 65px;
}
.top-compatibley .con-h-desc {
	max-width: var(--w_def);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.top-compatibley .con-h-desc p {
	font-size: 20px;
	line-height: 2;
}
.top-compatibley .con-main figure {
	text-align: center;
	max-width: 823px;
	margin-left: auto;
	margin-right: auto;
}
@keyframes kf_top-compatibley01 {
	from {
	  opacity: 0;
	  transform: translateY(100px);
	}
	to {
	  opacity: 1;
	  transform: translateX(0);
	}
}
.top-compatibley .con-main figure img {
	opacity: 0;
	text-align: center;
}
.top-compatibley .con-main figure[data-scroll-action="true"] img {
	animation-name: kf_top-compatibley01;
	animation-duration: .5s;
	animation-fill-mode: forwards;
}
@media (max-width: 1080px) {
	.top-compatibley .con-h-desc {
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
	}
	.top-compatibley .con-main {
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
	}
}
@media (max-width: 767px) {
	.top-compatibley .con-h-desc {
		text-align: left;
	}
	.top-compatibley .con-h-desc br {
		display: none;
	}
}



/* top-flow */
.top-flow .con-m-flow {
	max-width: 863px;
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}
.top-flow .con-m-flow ol {
	counter-reset: top-flow-count;
}
.top-flow .con-m-flow ol li {
	background-color: #1D68C5;
	color: #FFEE00;
	padding: 10px 20px 10px 110px;
	box-sizing: border-box;
	position: relative;
	font-size: 18px
	font-weight: 700;
	min-height: 80px;
	display: flex;
	align-items: center;
	width: 100%;
	position: relative;
}
.top-flow .con-m-flow ol li + li {
	margin-top: 48px;
}
.top-flow .con-m-flow ol li + li::before {
	content: '';
	position: absolute;
	content: '';
	clip-path: polygon(100% 0, 50% 100%, 0 0);
	height: 26px;
	width: 50px;
	top: -36px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #AAD0FF;	
}
.top-flow .con-m-flow ol li p {
	line-height: 1.4;
}
.top-flow .con-m-flow ol li i {
	position: absolute;
	height: 55px;
	width: 55px;
	background-color: var(--color_white);
	border-radius: 50%;
	color: #1D68C5;
	text-align: center;
	font-style: normal;
	font-size: 11px;
	line-height: 20px;
	font-family: var(--font-family-en);
	box-sizing: border-box;
	left: 22px;
	top: 50%;
	transform: translateY(-50%);
}
.top-flow .con-m-flow ol li i::before {
	content: 'SETP';
	display: block;
	padding-top: 4px;
}
.top-flow .con-m-flow ol li i::after {
	counter-increment: top-flow-count;
	content: counter(top-flow-count,decimal-leading-zero);
	font-size: 28px;
}
.top-flow .con-m-flow ol li strong {
	font-size: 32px;
	color: var(--color_white);
}
@keyframes kf_top-flow01 {
	from {
	  opacity: 0;
	  transform: translateY(100px);
	}
	to {
	  opacity: 1;
	  transform: translateX(0);
	}
}
.top-flow .con-m-flow {
	opacity: 0;
}
.top-flow .con-m-flow[data-scroll-action="true"] {
	animation-name: kf_top-flow01;
	animation-duration: .5s;
	animation-fill-mode: forwards;
}
@media (max-width: 1080px) {
	.top-flow .con-m-flow ol li strong {
		font-size: 25px;
	}
	.top-flow .con-m-flow {
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
	}
}
@media (max-width: 767px) {
	.top-flow .con-m-flow ol li strong {
		font-size: 22px;
	}
}



/* top-sample */
.top-sample {
	padding-bottom: 65px;
}
.top-sample .con-m-imageList {
	max-width: var(--w_medium);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 80px 70px;
}
.top-sample .con-m-imageList figure {
	line-height: 0;
	border-top: solid 6px #3B87E5;
}
.top-sample .con-m-imageList figure img {
	max-width: none !important;
	width: 100%;
}
@keyframes kf_top-sample01 {
	from {
	  opacity: 0;
	  transform: translateY(100px);
	}
	to {
	  opacity: 1;
	  transform: translateX(0);
	}
}
.top-sample .con-m-imageList figure {
	opacity: 0;
}
.top-sample .con-m-imageList[data-scroll-action="true"] figure {
	animation-name: kf_top-sample01;
	animation-duration: .5s;
	animation-fill-mode: forwards;
}
@media (max-width: 1080px) {
	.top-sample .con-m-imageList {
		grid-template-columns: repeat(2, 1fr);
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
		grid-gap: 40px;
	}
}
@media (max-width: 767px) {
	.top-sample {
		padding-bottom: 0;
	}
	.top-sample .con-m-imageList {
		grid-gap: 20px;
	}
}


/* top-contact */
.top-contact {
	background-color: var(--color_black);
	color: var(--color_white);
	position: relative;
	padding-top: 265px;
	padding-bottom: 500px;
}
.top-contact::before {
	content: '';
	position: absolute;
	top: -1px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 265px;
	clip-path: polygon(0 0, 100% 0, 100% 155px, 50% 100%, 0 155px);
	background-color: var(--color_white);
	max-width: 1475px;
}
.top-contact .con-inner::before,
.top-contact .con-inner::after {
	content: '';
	position: absolute;
	bottom: 15px;
	background-image: url('../img/top/top-contact_deco.svg');
	background-repeat: no-repeat;
	background-size: contain;
	width: 1068px;
	height: 142px;
	background-position: center bottom;
}
.top-contact .con-inner::before {
	right: 50%;
	transform: translateX(200px);
}
.top-contact .con-inner::after {
	left: 50%;
	transform: translateX(630px);
}

.top-contact .parts-ttl01__title {
	font-size: 73px;
}

.top-contact .parts-ttl01[data-en]::before {
	color: #191919;
	opacity: 1;
}

body.site-contact-confirm .con-m-form__flow,
body.site-contact-complete .con-m-form__flow,
body.site-contact-error .con-m-form__flow {
	margin-top: 40px;
}

body.site-contact-confirm .con-m-form,
body.site-contact-complete .con-m-form,
body.site-contact-error .con-m-form,
.top-contact .con-m-form {
	max-width: var(--w_medium);
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}
body.site-contact-confirm .con-m-form__flow,
body.site-contact-complete .con-m-form__flow,
body.site-contact-error .con-m-form__flow,
.top-contact .con-m-form__flow {
	margin-bottom: 40px;
}
body.site-contact-confirm .con-m-form__flow ul,
body.site-contact-complete .con-m-form__flow ul,
body.site-contact-error .con-m-form__flow ul,
.top-contact .con-m-form__flow ul {
	display: flex;
	max-width: 425px;
	width: 100%;
	justify-content: space-between;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}
body.site-contact-confirm .con-m-form__flow ul li,
body.site-contact-complete .con-m-form__flow ul li,
body.site-contact-error .con-m-form__flow ul li,
.top-contact .con-m-form__flow ul li {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	color: var(--color_black);
	background-color: var(--color_white);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
}
body.site-contact-confirm .con-m-form__flow ul li:nth-of-type(2),
body.site-contact-complete .con-m-form__flow ul li:nth-of-type(3),
body.site-contact-error .con-m-form__flow ul li:nth-of-type(1),
body.site-top .top-contact .con-m-form__flow ul li:nth-of-type(1) {
	background-color: #CF1D1D;
	color: var(--color_white);
}
.top-contact .con-m-tel {
	max-width: 590px;
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	border: solid 1px;
	padding-top: 25px;
	padding-bottom: 25px;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 90px;
}
.top-contact .con-m-tel::before {
	content: '';
	max-width: 425px;
	margin-top: 20px;
	margin-bottom: 15px;
	border-top: solid 1px;
	width: 100%;
}
.top-contact .con-m-tel__top {
	order: -1;
}
.top-contact .con-m-tel__top p {
	font-size: 24px;
}
.top-contact .con-m-tel__tel {
	font-size: 23px;
	font-family: var(--font-family-en);
}
.top-contact .con-m-tel__tel a {
	font-size: 50px;
	color: var(--color_white);
	text-decoration: none;
}
.top-contact .con-m-tel__bottom dl {
	display: flex;
}
.top-contact .con-m-tel__bottom dl dt {
	padding-right: 25px;
}
body.site-contact-confirm .con-m-form__flow .con-m-form__header,
body.site-contact-error .con-m-form__flow .con-m-form__header,
.top-contact .con-m-form__header {
	margin-bottom: 60px;
}
body.site-contact-confirm .con-m-form__flow .con-m-form__header p,
body.site-contact-error .con-m-form__flow .con-m-form__header p,
.top-contact .con-m-form__header p {
	font-size: 18px;
	text-align: center;
}
body.site-contact-confirm .con-m-form__desc,
body.site-contact-error .con-m-form__desc,
.top-contact .con-m-form__desc {
	margin-left: 255px;
	margin-bottom: 50px;
}
body.site-contact-confirm .con-m-form__desc p,
body.site-contact-error .con-m-form__desc p,
.top-contact .con-m-form__desc p {
	font-size: 18px;
}
body.site-contact-confirm .con-m-form__desc p .check,
body.site-contact-error .con-m-form__desc p .check,
.top-contact .con-m-form__desc p .check {
	font-size: 12px;
	vertical-align: super;
	margin-right: 15px;
}
body.site-contact-confirm .check,
body.site-contact-error .check,
.top-contact .check {
	color: #CF1D1D;
}
body.site-contact-confirm form table,
body.site-contact-error form table,
.top-contact form table {
	border-collapse: collapse;
	width: 100%;
}
body.site-contact-confirm form table tr,
body.site-contact-error form table tr,
.top-contact form table tr {
	vertical-align: top;
}
body.site-contact-error form table tr + tr td,
body.site-contact-error form table tr + tr th,
.top-contact form table tr + tr td,
.top-contact form table tr + tr th {
	padding-top: 70px;
}
body.site-contact-confirm form table tr + tr td,
body.site-contact-confirm form table tr + tr th {
	padding-top: 20px;
	padding-bottom: 20px;
	border-top: solid 1px #CBCBCB;
}
body.site-contact-confirm form table tr:first-of-type td,
body.site-contact-confirm form table tr:first-of-type th {
	padding-top: 0;
}
body.site-contact-confirm form table th,
body.site-contact-error form table th,
.top-contact form table th {
	width: 255px;
	text-align: left;
	font-weight: 400;
	font-size: 18px;
}
body.site-contact-confirm form table th .check,
body.site-contact-error form table th .check,
.top-contact form table th .check {
	font-size: 12px;
	vertical-align: super;
}
body.site-contact-confirm form table td textarea,
body.site-contact-confirm form table td input[type="email"],
body.site-contact-confirm form table td input[type="tel"],
body.site-contact-confirm form table td input[type="text"],
body.site-contact-error form table td textarea,
body.site-contact-error form table td input[type="email"],
body.site-contact-error form table td input[type="tel"],
body.site-contact-error form table td input[type="text"],
.top-contact form table td textarea,
.top-contact form table td input[type="email"],
.top-contact form table td input[type="tel"],
.top-contact form table td input[type="text"] {
	all: unset;
	padding: 10px 30px;
	background-color: #535353;
	color: #C5C5C5;
	font-size: 20px;
	box-sizing: border-box;
	border-radius: 10px;
	width: 100%;
	margin-top: -20px;
	margin-bottom: -20px;
}
body.site-contact-confirm form table td input[type="email"],
body.site-contact-confirm form table td input[type="tel"],
body.site-contact-confirm form table td input[type="text"],
body.site-contact-error form table td input[type="email"],
body.site-contact-error form table td input[type="tel"],
body.site-contact-error form table td input[type="text"],
.top-contact form table td input[type="email"],
.top-contact form table td input[type="tel"],
.top-contact form table td input[type="text"] {
	line-height: 1.4;
}
body.site-contact-confirm form table td textarea,
body.site-contact-error form table td textarea,
.top-contact form table td textarea {
	line-height: 2;
}
body.site-contact-confirm .mwform-checkbox-field label,
body.site-contact-error .mwform-checkbox-field label,
.top-contact .mwform-checkbox-field label {
	cursor: pointer;
}
body.site-contact-confirm .mwform-checkbox-field input,
body.site-contact-error .mwform-checkbox-field input,
.top-contact .mwform-checkbox-field input {
	display: none;
}
body.site-contact-confirm .mwform-checkbox-field-text,
body.site-contact-error .mwform-checkbox-field-text,
.top-contact .mwform-checkbox-field-text {
	font-size: 24px;
	position: relative;
	box-sizing: border-box;
	padding-left: 30px;
	z-index: 1;
}
body.site-contact-confirm .mwform-checkbox-field-text::before,
body.site-contact-error .mwform-checkbox-field-text::before,
.top-contact .mwform-checkbox-field-text::before {
	content: '';
	position: absolute;
	width: 17px;
	height: 17px;
	box-sizing: border-box;
	border: solid 2px var(--color_white);
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 50%;
}
body.site-contact-confirm .mwform-checkbox-field-text::after,
body.site-contact-error .mwform-checkbox-field-text::after,
.top-contact .mwform-checkbox-field-text::after {
	content: '';
	position: absolute;
	width: 17px;
	height: 17px;
	box-sizing: border-box;
	background-color: #CF1D1D;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 50%;
	z-index: -1;
	opacity: 0;
}
body.site-contact-confirm .mwform-checkbox-field input:checked + .mwform-checkbox-field-text::after,
body.site-contact-error .mwform-checkbox-field input:checked + .mwform-checkbox-field-text::after,
.top-contact .mwform-checkbox-field input:checked + .mwform-checkbox-field-text::after {
	opacity: 1;
}
body.site-contact-confirm .mw_wp_form .horizontal-item + .horizontal-item,
body.site-contact-error .mw_wp_form .horizontal-item + .horizontal-item,
.top-contact .mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 55px;
}
body.site-contact-confirm .con-m-form__btn,
body.site-contact-error .con-m-form__btn,
.top-contact .con-m-form__btn {
	padding-top: 20px;
	margin-top: 100px;
}
body.site-contact-confirm .con-m-form__btn ul,
body.site-contact-error .con-m-form__btn ul,
.top-contact .con-m-form__btn ul {
	display: grid;
	grid-gap: 20px;
	grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
}
body.site-contact-confirm .con-m-form__btn ul li:empty,
body.site-contact-error .con-m-form__btn ul li:empty,
.top-contact .con-m-form__btn ul li:empty {
	display: none;
}
body.site-contact-confirm .con-m-form__btn li button[type="submit"],
body.site-contact-error .con-m-form__btn li button[type="submit"],
.top-contact .con-m-form__btn li button[type="submit"] {
	all: unset;
	padding: 10px;
	background-color: #CF1D1D;
	color: var(--color_white);
	font-size: 30px;
	cursor: pointer;
	box-sizing: border-box;
	text-align: center;
	min-height: 192px;
	border: solid 5px var(--color_white);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}
body.site-contact-confirm .con-m-form__btn li button[type="submit"][name="submitBack"] {
	background-color: #CBCBCB;
	color: var(--color_black);
}
body.site-contact-confirm .con-m-form__btn li button[type="submit"]::after,
body.site-contact-error .con-m-form__btn li button[type="submit"]::after,
.top-contact .con-m-form__btn li button[type="submit"]::after {
	content: '';
	width: 16px;
	height: 24px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	background-color: var(--color_white);
	margin-left: 35px;
}
body.site-contact-confirm .con-m-form__btn li button[type="submit"][name="submitBack"]::after {
	background-color: var(--color_black);
}
body.site-contact-error .mw_wp_form .error {
	padding-top: 30px;
	margin-bottom: -20px;
	color: #CF1D1D;
}
/* スライダー */
.top-contact .con-inner::before,
.top-contact .con-inner::after {
	display: none !important;
}
.top-contact-slider {
	overflow: hidden;
	width: 100%;
	position: absolute;
	bottom: 15px;
	left: 0;
}
@keyframes kf_top-contact_slider {
  from {
	  transform: translateX(0);
  }
  to {
	  /* 1068px(imgW) + 434px(padding) */
	  transform: translateX(-1502px);
  }
}
#js-contactSlider {
	display: flex;
	align-items: center;
	width: max-content;
	animation-name: kf_top-contact_slider;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-fill-mode: forwards;
	animation-duration: 8s;
}
#js-contactSlider div {
	width: 1068px;
}
#js-contactSlider div + div {
	padding-left: 434px;
}
@media (max-width: 1080px) {
	@keyframes kf_top-contact_slider-sp {
	  from {
		  transform: translateX(0);
	  }
	  to {
		  /* 614px(imgW) + 100px(padding) */
		  transform: translateX(-714px);
	  }
	}
	#js-contactSlider {
		display: flex;
		align-items: center;
		width: max-content;
		animation-name: kf_top-contact_slider-sp;
		animation-timing-function: linear;
		animation-iteration-count: infinite;
		animation-fill-mode: forwards;
		animation-duration: 5s;
	}
	#js-contactSlider div {
		width: 614px;
	}
	#js-contactSlider div + div {
		padding-left: 100px;
	}
}
@media (max-width: 1080px) {
	.top-contact .con-inner::before {
		display: none;
	}
	.top-contact .con-inner::after {
		transform: translateX(-50%);
		width: 90vw;
	}
	.top-contact .parts-ttl01__title {
		font-size: 50px;
	}
	.top-contact form table {
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
	}
	.top-contact .con-m-form__btn {
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
		box-sizing: border-box;
	}
	body.site-contact-confirm .mwform-checkbox-field,
	body.site-contact-error .mwform-checkbox-field,
	.top-contact .mwform-checkbox-field {
		display: block;
	}
	body.site-contact-confirm .mw_wp_form .horizontal-item + .horizontal-item,
	body.site-contact-error .mw_wp_form .horizontal-item + .horizontal-item,
	.top-contact .mw_wp_form .horizontal-item + .horizontal-item {
		margin-left: 0 !important;
		margin-top: 15px;
	}
	.top-contact .con-m-tel {
		width: calc(100% - var(--sp-margin)*2);
	}
}
@media (max-width: 767px) {
	.top-contact {
		padding-bottom: 300px;
	}
	body.site-contact-confirm .con-m-form__header,
	body.site-contact-error .con-m-form__header,
	.top-contact .con-m-form__header {
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
		box-sizing: border-box;
	}
	body.site-contact-confirm .con-m-form__flow,
	body.site-contact-complete .con-m-form__flow,
	body.site-contact-error .con-m-form__flow,
	.top-contact .con-m-form__flow {
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
		box-sizing: border-box;
	}
	body.site-contact-confirm .con-m-form__flow ul,
	body.site-contact-complete .con-m-form__flow ul,
	body.site-contact-error .con-m-form__flow ul,
	.top-contact .con-m-form__flow ul {
		justify-content: center;
	}
	body.site-contact-confirm .con-m-form__flow ul li,
	body.site-contact-complete .con-m-form__flow ul li,
	body.site-contact-error .con-m-form__flow ul li,
	.top-contact .con-m-form__flow ul li {
		width: 80px;
		height: 80px;
	}
	body.site-contact-confirm .con-m-form__flow ul li + li,
	body.site-contact-complete .con-m-form__flow ul li + li,
	body.site-contact-error .con-m-form__flow ul li + li,
	.top-contact .con-m-form__flow ul li + li {
		margin-left: 20px;
	}
	body.site-contact-confirm .con-m-form__header p,
	body.site-contact-error .con-m-form__header p,
	.top-contact .con-m-form__header p {
		text-align: left;
	}
	.top-contact .parts-ttl01__title {
		font-size: 35px;
	}
	body.site-contact-confirm .con-m-form__desc,
	body.site-contact-error .con-m-form__desc,
	.top-contact .con-m-form__desc {
		margin-left: 0;
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
		box-sizing: border-box;
		margin-bottom: 20px;
	}
	body.site-contact-confirm form table,
	body.site-contact-confirm form table tbody,
	body.site-contact-confirm form table tr,
	body.site-contact-confirm form table th,
	body.site-contact-confirm form table td,
	body.site-contact-error form table,
	body.site-contact-error form table tbody,
	body.site-contact-error form table tr,
	body.site-contact-error form table th,
	body.site-contact-error form table td,
	.top-contact form table,
	.top-contact form table tbody, 
	.top-contact form table tr,
	.top-contact form table th,
	.top-contact form table td {
		display: block;
		box-sizing: border-box;
		width: 100%;
	}
	body.site-contact-confirm form table td textarea,
	body.site-contact-confirm form table td input[type="email"],
	body.site-contact-confirm form table td input[type="tel"],
	body.site-contact-confirm form table td input[type="text"],
	body.site-contact-error form table td textarea,
	body.site-contact-error form table td input[type="email"],
	body.site-contact-error form table td input[type="tel"],
	body.site-contact-error form table td input[type="text"],
	.top-contact form table td textarea,
	.top-contact form table td input[type="email"],
	.top-contact form table td input[type="tel"],
	.top-contact form table td input[type="text"] {
		margin-top: 0;
		margin-bottom: 0;
		padding: 10px 15px;
		font-size: 18px;
	}
	body.site-contact-error form table tr th,
	.top-contact form table tr th {
		padding-top: 30px !important;
	}
	body.site-contact-confirm form table tr td,
	body.site-contact-error form table tr td,
	.top-contact form table tr td {
		padding-top: 10px !important;
	}
	body.site-contact-confirm .con-m-form__btn li button[type="submit"],
	body.site-contact-error .con-m-form__btn li button[type="submit"],
	.top-contact .con-m-form__btn li button[type="submit"] {
		font-size: 22px;
		min-height: 120px;
	}
	body.site-contact-confirm .mwform-checkbox-field-text,
	body.site-contact-error .mwform-checkbox-field-text,
	.top-contact .mwform-checkbox-field-text {
		font-size: 18px;
	}
	.top-contact .con-m-tel__tel {
		text-align: center;
	}
	.top-contact .con-m-tel__tel a {
		font-size: 30px;
	}
	.top-contact .con-m-tel__bottom dl {
		flex-direction: column;
		width: 100%;
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
		box-sizing: border-box;
	}
	.top-contact .con-m-tel__bottom dl dt {
		padding-right: 0;
	}
	body.site-contact-error .mw_wp_form .error {
		padding-top: 10px;
		margin-bottom: 0;
	}
	body.site-contact-confirm form table tr + tr td {
		border-top: none;
		padding-top: 0;
	}
	body.site-contact-confirm form table tr + tr th {
		padding-bottom: 0;
	}
	body.site-contact-confirm form table tr:first-of-type td {
		padding-bottom: 20px;
	}
	body.site-contact-confirm .con-m-form__btn ul li:nth-of-type(3) {
		order: -1;
	}
}




/* 
 *　ページ
 */
.pageTitle {
	display: grid;
	place-items: center;
	min-height: 250px;
	background-image: linear-gradient(61deg, #277ADF 0%, #1C467A 100%);
	color: var(--color_white);
	box-sizing: border-box;
	padding-right: var(--sp-margin);
	padding-left: var(--sp-margin);
	margin-bottom: 55px;
}
body.site-contact-confirm .pageTitle,
body.site-contact-complete .pageTitle,
body.site-contact-error .pageTitle {
	color: var(--color_black);
	background: var(--color_white);
}
.pageTitle__title {
	font-size: 40px;
}
@media (max-width: 1080px) {
	.pageTitle__title {
		font-size: 35px;
	}
}
@media (max-width: 767px) {
	.pageTitle__title {
		font-size: 30px;
	}
}
.p-contents {
	padding-right: var(--sp-margin);
	padding-left: var(--sp-margin);
	box-sizing: border-box;
}
.p-contents-inner {
	max-width: var(--w_def);
	margin-right: auto;
	margin-left: auto;
	box-sizing: border-box;
	width: 100%;
}

/* エラーページ */
@media (min-width: 1081px) {
	body.site-error-404 .p-contents-inner p {
		text-align: center;
	}
}


/* TOPからのお問い合わせ */
body.site-contact-confirm main,
body.site-contact-complete main,
body.site-contact-error main {
	background-color: var(--color_black);
	color: var(--color_white);
	padding-bottom: 100px;
}
body.site-contact-complete .p-contents-inner p > a {
	color: var(--color_white);
}
@media (min-width: 1081px) {
	body.site-contact-confirm .p-contents-inner > p,
	body.site-contact-complete .p-contents-inner > p,
	body.site-contact-error .p-contents-inner > p {
		text-align: center;
	}
}



/* 
 *　パーツ
 */

/* parts-ttl01 */
.parts-ttl01 {
	position: relative;
	min-height: calc(186px + 155px);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	overflow: hidden;
	box-sizing: border-box;
	padding-top: 155px;
	margin-bottom: 75px;
}
.parts-ttl01[data-en]::before {
	content: attr(data-en);
	position: absolute;
	white-space: nowrap;
	font-size: 186px;
	font-family: var(--font-family-en);
	opacity: .05;
	text-transform: uppercase;
	font-weight: 700;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.parts-ttl01__title {
	font-size: 63px;
	text-align: center;
	padding-bottom: 60px;
	line-height: 1.2;
	position: relative;
	z-index: 1;
	font-weight: 400;
}
.parts-ttl01__title::before {
	content: '';
	border-bottom: solid 2px;
	width: 60px;
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	box-sizing: border-box;
}
.parts-ttl01__title-top {
	font-size: 20px;
	display: block;
	line-height: 1.4;
}
@media (max-width: 1080px) {
	.parts-ttl01__title {
		font-size: 50px;
	}
	.parts-ttl01[data-en]::before {
		font-size: 100px;
		bottom: 40px;
	}
}
@media (max-width: 767px) {
	.parts-ttl01 {
		margin-bottom: 40px;
		min-height: calc(186px + 40px);
		padding-top: 40px;
	}
	.parts-ttl01__title {
		font-size: 35px;
	}
	.parts-ttl01[data-en]::before {
		font-size: 80px;
		bottom: 45px;
	}
}




/* parts-ttl02 */

.parts-ttl02 {
	position: relative;
	z-index: 1;
	min-height: 315px;
	color: var(--color_white);
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-top: 140px;
	margin-bottom: 100px;
}
.parts-ttl02[data-en]::before {
	content: attr(data-en);
	color: #3B87E5;
	background-color: var(--color_white);
	padding: 5px 2px 5px 5px;
	box-sizing: border-box;
	text-transform: uppercase;
	font-family: var(--font-family-en);
	font-weight: 700;
	font-size: 21px;
	letter-spacing: 3px;
	margin-bottom: 30px;
}
.parts-ttl02::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	background-image: linear-gradient(61deg, #277ADF 0%, #1C467A 100%);
	width: 100%;
	height: 100%;
	z-index: -1;
	mix-blend-mode: multiply;
}
.parts-ttl02__bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
}
.parts-ttl02__title {
	font-size: 48px;
	line-height: 1.2;
}
@media (max-width: 1080px) {
	.parts-ttl02 {
		padding-right: var(--sp-margin);
		padding-left: var(--sp-margin);
	}
}
@media (max-width: 767px) {
	.parts-ttl02 {
		margin-bottom: 60px;
	}
	.parts-ttl02__title {
		font-size: 30px;
	}
}



/* parts-pageTop */
.parts-pageTop {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 9998;
}
.parts-pageTop a {
	background-color: var(--color_black);
	border: solid 3px var(--color_white);
	box-sizing: border-box;
	width: 90px;
	height: 90px;
	display: grid;
	place-items: center;
}
.parts-pageTop a:hover {
	opacity: .6;
}
.parts-pageTop a img {
	opacity: 1 !important;
}
@media (max-width: 1080px) {
	.parts-pageTop a {
		width: 60px;
		height: 60px;
	}
	.parts-pageTop a img {
		transform: scale(.7);
	}
}