@charset "UTF-8";

html,
body {
	line-height: 2;
	font-size: 62.5%;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	color: #FFFFFF;
	font-style: normal;
	width: 100%;
	height: auto
}

html {
	overflow-x: hidden;
	background: #000000;
}

body {
	opacity: 0;
}

body:before {
	content: '';
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: url("../img/top/top_bg.png") no-repeat center top;
	background-size: cover;
	z-index: -1;
}

#contact:before,
#privacy:before {
	display: none;
}

@media screen and (max-width:768px) {
	body:before {
		background-size: 200% auto;
	}
}

body.loaded {
	opacity: 1;
}

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

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

.disable {
	pointer-events: none;
}

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

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

.inner {
	position: relative;
}

body>header {
	background: rgba(0, 0, 0, 1);
	z-index: 999;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	transition: 0.3s ease-out;
}

body.scrolled>header {
	background: rgba(0, 0, 0, 0.9);
}

body {
	padding-top: 120px;
}

body.scrolled {
	padding-top: 100px;
}

body.sp {
	padding-top: 80px;
}

body>header .header-inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px;
	height: 120px;
	display: flex;
	position: relative;
	justify-content: space-between;
	align-items: center;
}

body.scrolled>header .header-inner {
	height: 100px;
}

body header .header-inner a {
	color: #FFFFFF;
	text-decoration: none;
}

body>header .header-inner>h1 {
	position: relative;
	display: block;
	width: 190px;
	margin-top: -8px;
}

body>header .header-inner>h1>a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}

body>header .header-inner>h1>a span {
	font-size: 1.4rem;
	line-height: 1;
	font-weight: 400;
	letter-spacing: 0.02em;
	position: relative;
	display: block;
	width: 100%;
	margin-bottom: 7px;
}

body>header .header-inner>h1 img {
	width: 100%;
	display: block;
}

body>header .header-inner>nav.pc-header_nav {
	margin-top: 3px;
}

body>header .header-inner>nav>ul {
	font-size: 1.6rem;
	display: flex;
	align-items: center;
}

body>header .header-inner>nav>ul>li {
	margin: 0 20px;
}

body>header .header-inner>nav>ul>li>a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding-bottom: 3px;
}

body>header .header-inner>nav>ul>li>a:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: 0;
	background: #FFFFFF;
	transform: scale(0, 1);
	transform-origin: right center;
	transition: transform 0.3s ease-out;
}

body>header .header-inner>nav>ul>li>a[target="_blank"]:after {
	background: url("../img/common/icon-link.png") no-repeat center;
	background-size: contain;
	content: '';
	position: relative;
	display: block;
	width: 18px;
	height: 18px;
	margin-left: 5px;
}

body>header .header-inner>.pc-headr_btn {
	display: flex;
	align-items: center;
	justify-content: center;
}

body>header .header-inner>.pc-headr_btn>li:nth-child(1) {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-right: 30px;
}

body>header .header-inner>.pc-headr_btn>li:nth-child(1)>a {
	font-size: 2.2rem;
	cursor: default;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	line-height: 1.4;
}

body>header .header-inner>.pc-headr_btn>li:nth-child(1)>a:before {
	content: '';
	background: url("../img/common/icon-tel_w.svg") no-repeat center;
	background-size: contain;
	position: relative;
	display: block;
	width: 18px;
	height: 18px;
	margin-right: 5px;
}

body>header .header-inner>.pc-headr_btn>li:nth-child(1)>p {
	font-size: 1.4rem;
}

body>header .header-inner>.pc-headr_btn>li:nth-child(2)>a {
	width: 100px;
	height: 80px;
	background: #FF7300;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #000000;
	overflow: hidden;
}

body>header .header-inner>.pc-headr_btn>li:nth-child(2)>a:before {
	content: '';
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background: #FFFFFF;
	transition-duration: .3s;
	transform: translateX(-100%);
}

body>header .header-inner>.pc-headr_btn>li:nth-child(2)>a>span {
	position: relative;
	display: block;
	font-size: 1.4rem;
	line-height: 1;
}

body>header .header-inner>.pc-headr_btn>li:nth-child(2)>a>span:before {
	content: '';
	background: url("../img/common/icon-mail.svg") no-repeat center;
	background-size: contain;
	position: relative;
	display: block;
	width: 30px;
	height: 25px;
	margin: 0 auto 5px;
	transition-duration: .3s;
}

body>header .header-inner .sp-header_nav {
	position: fixed;
	display: block;
	visibility: hidden;
	transition-duration: .35s;
	transform-origin: center top;
	transform: scale(1, 0);
	pointer-events: none;
	opacity: 0;
}

.fixed-bottom_btns {
	position: fixed;
	display: flex;
	width: 320px;
	right: 0;
	bottom: 0;
	z-index: 999;
	height: 80px;
}

.fixed-bottom_btns>a {
	justify-content: flex-start;
	align-items: center;
	text-decoration: none;
}

.fixed-bottom_btns>a:last-child {
	font-size: 1.8rem;
	font-weight: 600;
	color: #FFFFFF;
	background: #2D94C8;
	width: 100%;
	height: 100%;
	padding: 0 10px 0 0;
	line-height: 1.4;
	overflow: hidden;
	position: relative;
}

.fixed-bottom_btns>a:last-child>img {
	width: auto;
	height: 100%;
	margin-right: 10px;
}

.fixed-bottom_btns>a:last-child:before,
.fixed-bottom_btns>a:last-child:after {
	content: '';
}

.fixed-bottom_btns>a:last-child:before {
	position: absolute;
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #b5e7ff;
	pointer-events: none;
}

.fixed-bottom_btns>a:last-child:after {
	background: url("../img/common/icon-arrow_w.svg") no-repeat center center;
	background-size: contain;
	width: 8px;
	height: 16px;
	position: relative;
	display: block;
	margin-left: auto;
}

@keyframes shinyshiny {
	0% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0;
	}

	1% {
		-webkit-transform: scale(2) rotate(45deg);
		opacity: 0.5;
	}

	30% {
		-webkit-transform: scale(4) rotate(45deg);
		opacity: 1;
	}

	80% {
		-webkit-transform: scale(50) rotate(45deg);
		opacity: 0;
	}

	100% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0;
	}
}

section {
	padding-top: 150px;
	padding-bottom: 150px;
}

.top-area {
	padding: 200px 0 300px;
	overflow: hidden;
}

.top-area h2 {
	flex-direction: column;
	max-width: 730px;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

.top-area h2>span {
	position: relative;
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.top-area h2>span>img {
	display: block;
	transform: translateY(110%);
}

.top-area h2>span:nth-child(1) {
	margin-bottom: 40px;
}

.top-area h2>span:nth-child(1)>img {
	width: 90%;
}

.loaded .top-area h2>span:nth-child(1)>img {
	animation: indexTopTitle 0.8s cubic-bezier(.73, 0, .83, 1) 0.3s forwards;
}

.top-area h2>span:nth-child(2) {
	margin-bottom: 60px;
}

.top-area h2>span:nth-child(2)>img {
	width: 100%;
}

.loaded .top-area h2>span:nth-child(2)>img {
	animation: indexTopTitle 0.8s cubic-bezier(.73, 0, .83, 1) 0.8s forwards;
}

body#index {
	opacity: 1;
	pointer-events: none;
}

body#index>* {
	opacity: 0;
}

body#index #loading {
	content: '';
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 99999;
	display: block;
	background: #FF7300;
	top: 0;
	left: 0;
	opacity: 1;
	transition: 0.35s cubic-bezier(.73, 0, .83, 1);
	transform: scale(1, 0);
	transform-origin: center top;
	pointer-events: none;
}

body#index.indexAnimed #loading {
	display: none;
}

body#index.indexAnime1 #loading {
	transform: scale(1, 1);
}

body#index.indexAnime2 #loading {
	transform: scale(1, 1);
	transform-origin: center bottom;
}

body#index.loaded #loading {
	transform: scale(1, 0);
}

body#index.loaded {
	pointer-events: all;
}

body#index.loaded>* {
	opacity: 1;
}

@keyframes indexTopTitle {
	0% {
		transform: translateY(110%);
	}

	100% {
		transform: translateY(0%);
	}
}

.top-area .inner {
	z-index: 1;
}

.explanation {
	font-size: 1.8rem;
	line-height: 3;
	text-align: center;
}

#index .explanation {
	opacity: 0;
	transition: 1s 1s;
}

#index.indexAnime3 .explanation {
	opacity: 1;
}

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

.top-area .top-img01 {
	width: 36%;
	height: auto;
	left: -9%;
	top: 6%;
	z-index: 1;
	transition: 2.0s 0.3s;
}

.top-area .top-img01,
.top-area .top-img04,
.top-area .top-img05 {
	transform-origin: center center;
	transform: scale(2) translateX(-200%) rotate(180deg);
}

.top-area .top-img02,
.top-area .top-img03,
.top-area .top-img06 {
	transform-origin: center center;
	transform: scale(2) translateX(200%) rotate(-180deg);
}

.indexAnime3 .top-area .top-img01,
.indexAnime3 .top-area .top-img02,
.indexAnime3 .top-area .top-img03,
.indexAnime3 .top-area .top-img04,
.indexAnime3 .top-area .top-img05,
.indexAnime3 .top-area .top-img06 {
	transform: scale(1) translateX(0%) rotate(0deg);
}

.indexAnimed .top-area .top-img01 {
	animation: randomFloat1 52s ease-in-out infinite;
}

.top-area .top-img02 {
	width: 21%;
	height: auto;
	left: 79%;
	top: 0;
	z-index: 1;
	transition: 2.0s ease-out 0.1s;
}

.indexAnimed .top-area .top-img02 {
	animation: randomFloat2 57s ease-in-out infinite;
}

.top-area .top-img03 {
	width: 43%;
	height: auto;
	left: 69%;
	top: 38%;
	z-index: 1;
	transition: 2.0s ease-out 0.3s;
}

.indexAnimed .top-area .top-img03 {
	animation: randomFloat3 62s ease-in-out infinite;
}

.top-area .top-img04 {
	width: 37%;
	height: auto;
	left: -10%;
	top: 69%;
	z-index: 1;
	transition: 2.0s ease-out 0.5s;
}

.indexAnimed .top-area .top-img04 {
	animation: randomFloat4 70s ease-in-out infinite;
}

.top-area .top-img05 {
	width: 26%;
	height: auto;
	left: 2%;
	top: 35%;
	opacity: 0.75;
	transition: 2.0s ease-out 0.7s;
}

.indexAnimed .top-area .top-img05 {
	animation: randomFloat5 64s ease-in-out infinite;
}

.top-area .top-img06 {
	width: 31%;
	height: auto;
	left: 55%;
	top: 33%;
	opacity: 0.6;
	transition: 2.0s ease-out 0.1s;
}

.indexAnimed .top-area .top-img06 {
	animation: randomFloat6 67s ease-in-out infinite;
}

#index .rows2.effect-img {
	align-items: center;
}

@keyframes randomFloat1 {
	0% {
		transform: translate(0%, 0%) rotate(0deg);
	}

	15% {
		transform: translate(-8%, -12%) rotate(-2deg);
	}

	32% {
		transform: translate(10%, 8%) rotate(3deg);
	}

	48% {
		transform: translate(-6%, 12%) rotate(-1deg);
	}

	65% {
		transform: translate(12%, -10%) rotate(2deg);
	}

	80% {
		transform: translate(-4%, 6%) rotate(-3deg);
	}

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

@keyframes randomFloat2 {
	0% {
		transform: translate(0%, 0%) rotate(0deg);
	}

	18% {
		transform: translate(12%, -10%) rotate(2deg);
	}

	36% {
		transform: translate(-6%, 6%) rotate(-2deg);
	}

	54% {
		transform: translate(8%, 14%) rotate(1deg);
	}

	72% {
		transform: translate(-10%, -8%) rotate(-3deg);
	}

	90% {
		transform: translate(6%, -4%) rotate(2deg);
	}

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

@keyframes randomFloat3 {
	0% {
		transform: translate(0%, 0%) rotate(0deg);
	}

	12% {
		transform: translate(-10%, 6%) rotate(-1deg);
	}

	29% {
		transform: translate(8%, -12%) rotate(3deg);
	}

	47% {
		transform: translate(-4%, 10%) rotate(-2deg);
	}

	66% {
		transform: translate(12%, 8%) rotate(2deg);
	}

	85% {
		transform: translate(-8%, -4%) rotate(-3deg);
	}

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

@keyframes randomFloat4 {
	0% {
		transform: translate(0%, 0%) rotate(0deg);
	}

	20% {
		transform: translate(6%, -8%) rotate(2deg);
	}

	38% {
		transform: translate(-12%, 10%) rotate(-2deg);
	}

	56% {
		transform: translate(10%, 4%) rotate(1deg);
	}

	74% {
		transform: translate(-6%, -12%) rotate(-3deg);
	}

	92% {
		transform: translate(8%, 6%) rotate(2deg);
	}

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

@keyframes randomFloat5 {
	0% {
		transform: translate(0%, 0%) rotate(0deg);
	}

	17% {
		transform: translate(-6%, 12%) rotate(-2deg);
	}

	34% {
		transform: translate(10%, -8%) rotate(2deg);
	}

	51% {
		transform: translate(-12%, 6%) rotate(-1deg);
	}

	68% {
		transform: translate(8%, 10%) rotate(3deg);
	}

	85% {
		transform: translate(-10%, -4%) rotate(-3deg);
	}

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

@keyframes randomFloat6 {
	0% {
		transform: translate(0%, 0%) rotate(0deg);
	}

	14% {
		transform: translate(8%, 10%) rotate(1deg);
	}

	31% {
		transform: translate(-12%, -6%) rotate(-2deg);
	}

	49% {
		transform: translate(6%, 12%) rotate(2deg);
	}

	67% {
		transform: translate(-8%, -10%) rotate(-3deg);
	}

	84% {
		transform: translate(10%, 4%) rotate(3deg);
	}

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

.marquee {
	width: 100%;
	overflow: hidden;
	opacity: 0.3;
	position: relative;
	padding-top: 40px;
	padding-bottom: 10px;
}

.marquee__inner {
	display: block;
	animation: marquee-left 32s linear infinite;
	background: url('../img/top/loop_text.svg') repeat-x;
	background-size: auto 100% !important;
	height: 111px;
}

@keyframes marquee-left {
	0% {
		background-position: 0 0;
	}

	100% {
		background-position: -1139px 0;
	}
}

@keyframes marquee-left-sp {
	0% {
		background-position: 0 0;
	}

	100% {
		background-position: -981px 0;
	}
}

section.orange {
	width: calc(100% - 30px);
	background: #FF7300;
	margin-left: auto;
	margin-right: auto;
	overflow-x: hidden;
}

.bg-loop {
	width: 100vw;
	height: 340px;
	background: url('../img/top/slide-img.png') repeat-x;
	background-size: auto 100% !important;
	background-position: 0 0;
	animation: bgLoopRight 23s linear infinite;
	position: relative;
	overflow: hidden;
}

#news .bg-loop {
	margin-top: 75px;
	height: 394px;
	background: url('../img/top/slide-img01.png') repeat-x;
	animation: bgLoopRight2 23s linear infinite;
}

.bg-loop.reverse {
	animation-direction: reverse;
}

.strengths {
	padding-top: 0;
	padding-bottom: 0;
}

.strengths .inner>h3 {
	line-height: 1.6;
	margin: 90px auto 40px;
	color: #000000;
	text-align: center;
}

.strengths .list-area.rows3 {
	justify-content: flex-start;
	color: #000000;
	text-align: left;
	padding: 0 0 70px;
	flex-wrap: wrap;
}

.strengths .list-area.rows3>div {
	width: calc(33.3% - 11px);
	margin-right: 16.5px;
	background: #000000;
	color: #FFFFFF;
	padding: 30px;
	margin-bottom: 16.5px;
	opacity: 0;
	transform: translateY(50px);
}

#processing-options .flexBlock>.rel {
	opacity: 0;
	transform: translateY(70px);
}

#processing-options .flexBlock.effect-scroll>.rel,
.strengths .list-area.rows3.effect-scroll>div {
	opacity: 1;
	transform: translateY(0px);
}

#processing-options .flexBlock.effect-scroll>.rel:nth-child(1),
.strengths .list-area.rows3>div:nth-child(1) {
	transition: 0.5s cubic-bezier(.73, 0, .83, 1);
}

#processing-options .flexBlock.effect-scroll>.rel:nth-child(2),
.strengths .list-area.rows3>div:nth-child(2) {
	transition: 0.5s cubic-bezier(.73, 0, .83, 1) 0.2s;
}

#processing-options .flexBlock.effect-scroll>.rel:nth-child(3),
.strengths .list-area.rows3>div:nth-child(3) {
	transition: 0.5s cubic-bezier(.73, 0, .83, 1) 0.4s;
}

#processing-options .flexBlock.effect-scroll>.rel:nth-child(4),
.strengths .list-area.rows3>div:nth-child(4) {
	transition: 0.5s cubic-bezier(.73, 0, .83, 1) 0.6s;
}

#processing-options .flexBlock.effect-scroll>.rel:nth-child(5),
.strengths .list-area.rows3>div:nth-child(5) {
	transition: 0.5s cubic-bezier(.73, 0, .83, 1) 0.8s;
}

#processing-options .flexBlock.effect-scroll>.rel:nth-child(6),
.strengths .list-area.rows3>div:nth-child(6) {
	transition: 0.5s cubic-bezier(.73, 0, .83, 1) 1s;
}

#processing-options .flexBlock.effect-scroll>.rel:nth-child(7) {
	transition: 0.5s cubic-bezier(.73, 0, .83, 1) 1.2s;
}

.strengths .list-area.rows3>div:nth-child(3n) {
	margin-right: 0;
}

.strengths .list-area.rows3>div h4.title {
	margin-bottom: 20px;
	line-height: 1.6;
}

.strengths .list-area.rows3>div h4.title>.flexBlock {
	align-items: center;
	justify-content: flex-start;
	color: #FF7300;
	font-size: 2.0rem;
	margin-bottom: 10px;
}

.strengths .list-area.rows3>div h4.title>.flexBlock>:nth-child(1) {
	margin-right: 10px;
}

.strengths .list-area.rows3>div h4.title>.flexBlock>:last-child {
	margin-left: auto;
}

.strengths .list-area.rows3>div h4.title>span {
	font-size: 2.8rem;
}

section h3 {
	font-size: 4.0rem;
	font-weight: 700;
}

#company section h3 {
	font-size: 3.0rem;
	line-height: 1.6;
}

.internal-links .text,
section .text {
	font-size: 1.6rem;
}

#contact .internal-links .text {
	text-align: center;
}

.s3#contact .internal-links .text {
	display: none;
}

section h3 small {
	font-size: 2.0rem;
	font-weight: 500;
}

.strengths .list-area.rows3 h3.title>.flexBlock>img {
	width: auto;
	height: 33px;
}

@keyframes bgLoopRight {
	0% {
		background-position: 0 0;
	}

	100% {
		background-position: 2031px 0;
	}
}

@keyframes bgLoopRight2 {
	0% {
		background-position: 0 0;
	}

	100% {
		background-position: 2412px 0;
	}
}

@keyframes bgLoopRightSp {
	0% {
		background-position: 0 0;
	}

	100% {
		background-position: 1386px 0;
	}
}

@keyframes bgLoopRight2Sp {
	0% {
		background-position: 0 0;
	}

	100% {
		background-position: 1543px 0;
	}
}

section>.inner>.flexBlock.rows2 {
	margin-bottom: 150px;
}

section>.inner>.flexBlock:last-child,
section>.inner>.flexBlock.rows2:last-child {
	margin-bottom: 0px !important;
}

section .flexBlock.rows2>div {
	width: 50%;
}

#index section .flexBlock.rows2>div.text {
	width: calc(50% - 120px);
	z-index: 1;
}

section .flexBlock.rows2>.text .marker {
	background: linear-gradient(transparent 10%, #FF7300 10%);
	color: #FFFFFF;
}

section .flexBlock.rows2>.text h3 {
	margin-bottom: 30px;
}

section .flexBlock.rows2>.text h3>small {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 10px;
}

section .flexBlock.rows2>.text h3>small>img {
	margin-right: 15px;
	margin-bottom: 7px;
}

section .flexBlock.rows2>.text h3>span img {
	max-width: 100%;
	display: block;
}

section .flexBlock.rows2>.text>a.btn {
	width: 220px;
	height: 60px;
	font-size: 1.8rem;
	color: #000000;
	background: #FFFFFF;
	border-radius: 30px;
	margin-top: 70px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding-left: 30px;
	padding-right: 30px;
	text-decoration: none;
	line-height: 1;
	overflow: hidden;
}

section .flexBlock.rows2>.text>a.btn:before {
	content: '';
	aspect-ratio: 1 / 2;
	width: 10px;
	height: auto;
	background: url("../img/common/icon-arrow.svg") no-repeat center center;
	background-size: contain;
	margin-right: 20px;
}

section .flexBlock.rows2>.text>a.btn>span {
	padding-bottom: 3px;
}

section .flexBlock.rows2>.text>a.btn>span,
section .flexBlock.rows2>.text>a.btn:before {
	z-index: 1;
	position: relative;
	display: block;
}

section .flexBlock.rows2>.text>a.btn:after {
	content: '';
	position: absolute;
	display: block;
	width: 110%;
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	left: 0;
	top: 50%;
	transform: translate(-110%, -50%);
	background: #FF7300;
	transition-duration: .35s;
	z-index: 0;
}

.blue {
	background: #9DD3ED;
	color: #000000;
}

.white {
	background: #FFFFFF;
	color: #000000;
}

.top-sdgs .flexBlock.rows2>.text h3>span>img {
	width: 100%;
	max-width: 450px;
	margin-top: 15px;
}

#news>.inner>.flexBlock {
	border-top: 2px solid #FFFFFF;
	margin-bottom: 80px;
}

#news>.inner>.flexBlock>:nth-child(1) {
	width: 32%;
	padding-top: 30px;
}

#news>.inner>.flexBlock>:nth-child(2) {
	width: 68%;
	font-size: 1.6rem;
}

#news>.inner>.flexBlock>:nth-child(2)>li {
	padding: 30px 0;
	border-bottom: rgba(255, 255, 255, 0.5) 1px solid;
}

#news>.inner>.flexBlock>:nth-child(2)>li>:nth-child(1) {
	width: 200px;
}

#news>.inner>.flexBlock>:nth-child(2)>li>:nth-child(2) {
	width: calc(100% - 200px);
}

.bottom-area {
	padding-top: 35px;
	padding-bottom: 35px;
	color: #000000;
}

.bottom-area>.inner>.flexBlock>:nth-child(2)>a:before {
	content: '';
	width: 35px;
	height: 35px;
	position: relative;
	display: block;
	background: url("../img/common/icon-tel_b.svg") no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

.bottom-area>.inner>.flexBlock>:nth-child(2) {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.bottom-area>.inner>.flexBlock>:nth-child(2)>a {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 4.3rem;
	color: #000000;
	text-decoration: none;
	line-height: 1.1;
}

.bottom-area>.inner>.flexBlock>:nth-child(2)>p {
	font-size: 1.8rem;
	text-align: center;
}

.bottom-area>.inner>.flexBlock>:nth-child(3) {
	width: 340px;
	height: 80px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFFFFF;
	background: #000000;
	border-radius: 40px;
	font-size: 2.0rem;
	text-decoration: none;
	overflow: hidden;
	transition-duration: .35s;
}

.bottom-area>.inner>.flexBlock>:nth-child(3):before {
	content: '';
	aspect-ratio: 1 / 2;
	width: 10px;
	height: auto;
	margin-right: 15px;
	background: url("../img/common/icon-arrow_w.svg") no-repeat;
	background-size: contain !important;
}

.bottom-area>.inner>.flexBlock>:nth-child(3):before,
.bottom-area>.inner>.flexBlock>:nth-child(3)>span {
	position: relative;
	display: block;
	z-index: 1;
}

.bottom-area>.inner>.flexBlock>:nth-child(3):after {
	content: '';
	position: absolute;
	display: block;
	width: 110%;
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	left: 0;
	top: 50%;
	transform: translate(-110%, -50%);
	background: #FFFFFF;
	transition-duration: .35s;
	z-index: 0;
}

section.footer {
	padding: 110px 0 0;
	background: #000000;
}

section.footer>.inner {
	max-width: 1200px;
}

section.footer>.inner h2>a>img {
	width: 270px;
}

section.footer>.inner h2+p {
	margin-top: 40px;
	letter-spacing: 0.1em;
	font-weight: 400;
}

section.footer>.inner>.flexBlock>.rel {
	width: 50%;
	justify-content: flex-end;
}

.footer_nav {
	display: flex;
}

.footer_nav a {
	color: #FFFFFF;
	font-size: 1.6rem;
	text-decoration: none;
	display: flex;
	position: relative;
	align-items: center;
	justify-content: flex-start;
}

.footer_nav ul li {
	margin-bottom: 23px;
	display: flex;
	justify-content: flex-start;
}

.footer_nav ul li:last-child {
	margin-bottom: 0;
}

.btn-modal {
	display: flex;
	position: relative;
	justify-content: flex-start;
	margin-top: 30px;
}

.btn-modal>span {
	display: flex;
	position: relative;
	cursor: pointer;
	font-size: 1.8rem;
}

.btn-modal>span:before,
.footer_nav a:before {
	content: '';
	aspect-ratio: 1 / 2;
	width: 9px;
	height: auto;
	background: url("../img/common/icon-arrow_w.svg") no-repeat center;
	background-size: contain !important;
	margin-right: 10px;
	position: relative;
	display: block;
}

.btn-modal>span:before {
	background: url("../img/common/icon-arrow.svg") no-repeat center;
}

.btn-modal>span:after,
.footer_nav ul li>a:after {
	content: '';
	position: absolute;
	width: calc(100% - 18px);
	height: 1px;
	left: 18px;
	bottom: 0;
	background: #FFFFFF;
	transform: scale(0, 1);
	transform-origin: right center;
	transition: transform 0.3s ease-out;
}

.btn-modal>span:after {
	background: #000000;
}

.footer_nav ul:last-child li:last-child>img {
	width: 200px;
}

.footer_nav>ul {
	width: auto
}

.footer_nav>ul:nth-child(1) {
	width: 46%;
}

.footer_nav>ul:nth-child(2) {
	justify-content: space-between;
	display: flex;
	flex-direction: column;
}

footer {
	padding: 50px 0 120px;
	background: #000000;
}

footer>.inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 1.4rem;
}

footer>.inner a {
	color: #FFFFFF;
	display: block;
	position: relative;
}

footer>.inner a:after {
	content: '';
	position: absolute;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: 0;
	background: #FFFFFF;
	transform: scale(0, 1);
	transform-origin: right center;
	transition: transform 0.3s ease-out;
}

.kv-area {
	padding-top: 0;
	color: #000000;
}

#interview.kv-area {
	background: #FFFFFF;
}

#interview.kv-area>.img>.abs {
	top: -7px;
	left: 0;
	opacity: 0;
	transition: 0s;
}

#interview.kv-area>.img>.kv-layer-01 {
	transition: 0.5s ease-in-out 0s;
}

#interview.kv-area>.img>.kv-layer-02 {
	transition: 0.5s ease-in-out 0.3s;
}

#interview.kv-area>.img>.kv-layer-03 {
	transition: 0.5s ease-in-out 0.6s;
}

#interview.kv-area>.img>.kv-layer-04 {
	transition: 0.5s ease-in-out 0.9s;
}

#interview.kv-area>.img>.kv-layer-05 {
	transition: 0.5s ease-in-out 1.2s;
}

.anim-start #interview.kv-area>.img>.abs {
	opacity: 1;
	top: 0;
}

#interview.kv-area>.img>.kv-layer-img {
	opacity: 1 !important;
	transition: none !important;
	top: 0 !important;
}

.kv-area>.img {
	margin-bottom: 40px;
}

.kv-area>.img img {
	width: 100%;
}

.kv-area h2 {
	max-width: 600px;
	width: 100%;
	margin: 0 auto 30px;
}

.kv-area h2>img {
	width: 100%;
}

.kv-area p {
	max-width: 800px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.internal-links {
	padding-bottom: 30px;
	background: #000000;
	padding-top: 40px;
}

.internal-links h2 {
	font-size: 4.0rem;
	text-align: center;
	margin: 0px auto 50px;
}

.internal-links>.inner>.flexBlock {
	justify-content: center;
	align-items: center;
}

.internal-links>.inner>.flexBlock>li>a {
	color: #FFFFFF;
	font-size: 1.6rem;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.internal-links>.inner>.flexBlock>li {
	margin-right: 40px;
}

.internal-links>.inner>.flexBlock>li>a:before {
	content: '';
	background: url("../img/common/icon-arrow_w.svg") no-repeat center center;
	background-size: contain;
	width: 8px;
	height: 16px;
	position: relative;
	display: block;
	transform: rotate(90deg);
	margin-right: 15px;
}

.internal-links>.inner>.flexBlock>li>a:after {
	content: '';
	position: absolute;
	width: calc(100% - 18px);
	height: 1px;
	left: 18px;
	bottom: 0;
	background: #FFFFFF;
	transform: scale(0, 1);
	transform-origin: right center;
	transition: transform 0.3s ease-out;
}

.slant-area>.inner {
	z-index: 1;
}

.slant-area:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: #F5F8FA;
	transform: skewY(-5deg) translateY(-90px);
	z-index: 0;
}

.slant-area:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: #F5F8FA;
	transform: skewY(5deg) translateY(90px);
	z-index: 0;
}

.only-top.slant-area:after {
	display: none;
}

#company .slant-area {
	background-color: #F5F8FA;
	color: #000000;
	padding-top: 80px;
	padding-bottom: 80px;
	z-index: 1;
}

#company .slant-area .text .text {
	color: #2C2C2C;
}

.vertical-text {
	writing-mode: vertical-rl;
	text-orientation: mixed;
	letter-spacing: 0.1em;
	line-height: 1.6;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
}

#company .flexBlock.rows2-1 {
	justify-content: flex-end;
	flex-direction: row-reverse;
	align-items: flex-end;
}

#company .flexBlock.rows2-1>.has2 {
	display: flex;
	flex-direction: row-reverse;
	padding-right: 15%;
	width: 50%;
}

#company .flexBlock.rows2-1>.has1 {
	padding-left: 15%;
	padding-right: 5%;
	width: 50%;
}

#company .flexBlock.rows2-1 .vertical-text {
	display: flex;
	height: 360px;
	margin-left: 30px;
}

#company .flexBlock.rows2-1 .vertical-text small {
	margin-bottom: 15px;
}

#company section>.inner>.flexBlock {
	margin-bottom: 100px;
}

#company .slant-area+section.white {
	padding-top: 250px;
	padding-bottom: 250px;
}

#company .flexBlock.w6-4>.has1,
#company .flexBlock.w4-6> :nth-child(1) {
	width: 42%;
}

#company .flexBlock.w6-4>.has2,
#company .flexBlock.w4-6> :nth-child(2) {
	width: 58%;
}

#company .flexBlock.rows2-1.w6-4>.has2 {
	padding-right: 0;
}

#company .flexBlock.img45,
#company .flexBlock.img35 {
	align-items: center;
}

#company .flexBlock.img45>.img {
	width: 45%;
}

#company .flexBlock.img45>.text {
	width: calc(100% - 45% - 80px);
}

#company .flexBlock.img35>.img {
	width: 35%;
}

#company .flexBlock.img35>.text {
	width: calc(100% - 35% - 140px);
}

#company .pl14 {
	padding-left: 14%;
}

#company .pr7 {
	padding-right: 7%;
}

#company .interview-summary {
	background-color: #F5F8FA;
	padding-top: 100px;
	z-index: 2;
}

#company .interview-summary>.inner {
	background: #FF7300;
	padding: 80px;
	color: #000000;
}

#company .interview-summary>.inner>.flexBlock>.text {
	width: calc(100% - 400px);
}

#company .interview-summary>.inner>.flexBlock>.text h3 {
	margin-bottom: 30px;
}

#company .interview-summary>.inner>.flexBlock>.img {
	width: 320px;
	position: relative;
}

#company .interview-summary>.inner>.flexBlock>.img>img {
	position: relative;
	display: block;
	margin-top: -180px;
}

#history .inner,
#company-profile .inner {
	padding-top: 50px;
	border-top: 2px solid #FFFFFF;
}

#company section#history h3,
#company section#company-profile h3 {
	font-size: 4.0rem;
}

#company section#history>.inner>.flexBlock> :nth-child(1),
#company section#company-profile>.inner>.flexBlock> :nth-child(1) {
	width: 33%;
}

#company section#history>.inner>.flexBlock> :nth-child(2),
#company section#company-profile>.inner>.flexBlock> :nth-child(2) {
	width: 67%;
}

#company section#history>.inner>.flexBlock>.list>.flexBlock {
	justify-content: flex-start;
	padding-bottom: 35px;
}

#company section#company-profile>.inner>.flexBlock>.list>.flexBlock {
	justify-content: flex-start;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	padding-bottom: 30px;
	margin-bottom: 30px;
}

#company section#history>.inner>.flexBlock>.list>.flexBlock>:nth-child(1) {
	color: #FF7300;
	font-family: "Manrope", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	width: 25%;
	font-size: 3.0rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

#company section#history>.inner>.flexBlock>.list>.flexBlock>:nth-child(1):before,
#company section#history>.inner>.flexBlock>.list>.flexBlock>:nth-child(1):after {
	content: '';
	display: block;
}

#company section#history>.inner>.flexBlock>.list>.flexBlock>:nth-child(1):before {
	position: relative;
	width: 30px;
	height: 30px;
	margin-right: 18px;
	background: #000000;
	border: 10px solid #FF7300;
	border-radius: 50%;
	z-index: 1;
}

#company section#history>.inner>.flexBlock>.list>.flexBlock>:nth-child(1):after {
	left: 14px;
	top: 0;
	width: 2px;
	height: 100%;
	background: #FF7300;
	position: absolute;
}

#company section#company-profile>.inner>.flexBlock>.list>.flexBlock>:nth-child(1) {
	font-weight: 700;
	width: 25%;
	letter-spacing: 0.2em;
}

#company section#history>.inner>.flexBlock>.list>.flexBlock>:nth-child(2),
#company section#company-profile>.inner>.flexBlock>.list>.flexBlock>:nth-child(2) {
	width: 75%;
}

.map-responsive {
	position: relative;
	width: 100%;
	height: 400px;
	overflow: hidden;
}

.map-responsive iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

#photo-gallery .kv-area,
#overview .kv-area {
	color: #FFFFFF;
}

#overview section.contents {
	padding-top: 0;
	padding-bottom: 20px;
}

#overview section.contents>.inner {
	padding-top: 40px;
	border-top: 2px solid #FFFFFF;
}

#overview section.contents h3 {
	margin-bottom: 30px;
}

#photo-gallery section.contents h3,
#overview #facilities h3 {
	margin-bottom: 20px;
}

section.contents h4 {
	font-size: 2.0rem;
	margin-bottom: 40px;
}

#processing-options .flexBlock {
	flex-wrap: wrap;
	justify-content: flex-start;
}

#processing-options .flexBlock>.rel {
	width: calc(25% - 20px);
	margin-right: 20px;
	font-size: 1.6rem;
	margin-bottom: 50px;
}

#processing-options .flexBlock>.rel:nth-child(4n) {
	margin-right: 0;
}

#processing-options .flexBlock>.rel>img {
	width: 100%;
	height: auto;
	margin-bottom: 5px;
}

.accordion {
	min-height: 60px;
	width: 100%;
	background: #FFFFFF;
	padding: 12px 30px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	color: #000000;
	font-size: 1.8rem;
	cursor: pointer;
	margin-bottom: 8px;
}

.accordion:after {
	content: "";
	width: 8px;
	height: 16px;
	background: url("../img/common/icon-arrow.svg") no-repeat center center;
	background-size: contain;
	transform: rotate(90deg);
	transition: transform 0.3s ease-out;
	margin-left: auto;
}

.active .accordion:after {
	transform: rotate(270deg);
}

.table {
	position: relative;
	flex-direction: column;
}

.table>div {
	min-height: 60px;
	width: 100%;
	font-size: 1.6rem;
	font-weight: 400;
}

.table>:nth-child(2n + 1)>span {
	background: #272727;
}

.table>.table-header {
	font-size: 1.8rem;
	font-weight: 500;
	color: #000000;
}

.table>.flexBlock {
	justify-content: flex-start;
}

.table>.flexBlock>span {
	position: relative;
	display: block;
	margin-right: 8px;
	padding: 12px 30px;
	text-align: left;
}

.table>.table-header>span {
	text-align: center;
	background: #FFFFFF;
}

.table>.flexBlock>span:last-child {
	margin-right: 0;
}

.horizontal-scrollarea .icon_hint {
	top: 15%;
	left: 50%;
	width: 90px;
	height: 61px;
	margin-left: -45px;
	margin-top: -30px;
	display: none;
	animation: moveRightToLeft 1.5s linear infinite;
}

.horizontal-scrollarea .icon_hint>img {
	width: 100%;
}

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

	10% {
		opacity: 1;
	}

	90% {
		opacity: 1;
	}

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

.horizontal-scrollarea {
	width: 100%;
}

.horizontal-scrollarea .table {
	white-space: nowrap;
	min-width: 860px;
}

.table.row2>div>span:nth-child(1) {
	width: 32%;
}

.table.row2>div>span:nth-child(2) {
	width: 68%;
}

.table.row5>div>span {
	width: 22%;
}

.table.row4>div>span:nth-child(4) {
	width: 13%;
	text-align: center;
}

.table.row4>div>span {
	width: 29%;
}

#overview #materials {
	margin-bottom: 100px;
}

.table.row5>div>span:nth-child(4) {
	width: 16%;
	text-align: center;
}

#facilities {
	margin-bottom: 160px;
}

#facilities hr {
	margin: 70px auto 20px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	position: relative;
	display: block;
	width: 100%;
}

#photo-gallery section.contents {
	padding-top: 0px;
}

#photo-gallery section.contents>.inner>.flexBlock>span img {
	width: 100%;
	display: block;
}

#photo-gallery section.contents>.inner>.flexBlock span {
	position: relative;
	display: block;
}

#photo-gallery section.contents>.inner>.flexBlock>span {
	margin-right: 24px;
}

#photo-gallery section.contents>.inner>.flexBlock.effect-img>span img {
	opacity: 0;
}

#photo-gallery section.contents>.inner>.flexBlock.effect-img .overlay-orange:after {
	content: '';
	width: 100%;
	height: 100%;
	background: #FF7300;
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	pointer-events: none;
	transform: scale(1, 0);
	transform-origin: center bottom;
}

#photo-gallery section.contents>.inner>.flexBlock.effect-scroll .overlay-orange:after {
	animation: effectimgAnim 0.3s cubic-bezier(.73, 0, .83, 1) forwards;
}

#photo-gallery section.contents>.inner>.flexBlock.effect-scroll .overlay-orange.effect-img-show img {
	opacity: 1;
}

.center-top:after {
	transform-origin: center top !important;
}

#photo-gallery section.contents>.inner>.flexBlock.effect-img .overlay-orange.effect-img-show:after {
	transform: scale(1, 0);
	transform-origin: center top;
	animation: effectimgAnimReverse 0.3s cubic-bezier(.73, 0, .83, 1) forwards;
}

#photo-gallery section.contents>.inner>.flexBlock.effect-img .overlay-orange {
	overflow: hidden;
}

#photo-gallery section.contents>.inner>.flexBlock>span.flexBlock:after {
	display: none;
}

#photo-gallery section.contents>.inner>.flexBlock>span:last-child {
	margin-right: 0;
}

#photo-gallery section.contents>.inner>.flexBlock.has2>.flexBlock {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

#photo-gallery section.contents>.inner>.flexBlock {
	margin-bottom: 24px;
}

#photo-gallery .kv-area {
	padding-bottom: 24px;
}

#contact #form {
	padding-top: 40px;
}

#contact #form .inner {
	background: #FFFFFF;
	padding: 80px 75px;
}

#contact .steps {
	display: flex;
	width: 100%;
	height: 64px;
	margin-bottom: 70px;
}

#contact .steps li {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 33.3%;
	background: #373737;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.5);
	text-align: center;
	font-size: 1.8rem;
}

#contact .steps li:before,
#contact .steps li:after {
	content: "";
	position: absolute;
	top: 0;
	height: 100%;
	z-index: 10;
}

#contact .steps li:after {
	right: -24px;
	width: 24px;
	background-color: #373737;
	clip-path: polygon(0 0, 0 100%, 100% 50%);
}

#contact .steps li:before {
	right: -26px;
	width: 26px;
	background-color: #FFFFFF;
	clip-path: polygon(0 0, 0 100%, 2px 100%, 100% 50%, 2px 0);
}

#contact .steps li:last-child:before,
#contact .steps li:last-child:after {
	display: none !important;
}

.s1#contact .steps li:nth-child(1),
.s2#contact .steps li:nth-child(2),
.s3#contact .steps li:nth-child(3) {
	color: #000000;
}

.s1#contact .steps li:nth-child(1):after,
.s2#contact .steps li:nth-child(2):after {
	background-color: #FF7300;
}

.s1#contact .steps li:nth-child(1),
.s2#contact .steps li:nth-child(2),
.s3#contact .steps li:nth-child(3) {
	background: #FF7300
}

#form_body>.flexBlock.hasInput {
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-start;
}

#form_body>.flexBlock.hasInput>:nth-child(1)>:nth-child(1) {
	height: 26px;
	width: 45px;
	font-size: 1.4rem;
	color: #FFFFFF;
	background: #B3B3B3;
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	text-align: center;
}

#form_body>.flexBlock.hasInput>:nth-child(1)>:nth-child(1).required {
	background: #E00101;
}

#form_body>.flexBlock.hasInput>:nth-child(1)>:nth-child(2) {
	font-size: 1.6rem;
	color: #000000;
	padding-left: 10px;
	width: calc(100% - 45px);
}

#form_body>.flexBlock.hasInput>:nth-child(1) {
	width: 33%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 52px;
}

#form_body>.flexBlock.hasInput>:last-child {
	width: 100%;
	font-size: 1.8rem;
}

#form_body>.flexBlock.hasInput {
	margin-bottom: 30px;
}

#form_body>.flexBlock.hasInput>:last-child>input {
	background: #FAFAFA;
	border: 1px solid #B3B3B3;
	width: 100%;
	padding: 7px 20px;
}

#form_body>.flexBlock.hasInput textarea {
	background: #FAFAFA;
	border: 1px solid #B3B3B3;
	width: 100%;
	padding: 7px 20px;
	height: 300px;
	resize: none;
}

#form_body>.flexBlock.hasChk {
	flex-direction: column;
	color: #000000;
	justify-content: center;
	align-items: center;
	text-align: center;
}

#form_body>.flexBlock.hasChk>div,
#form_body>.flexBlock.hasChk>p {
	width: 100%;
	position: relative;
	display: block;
	background: none;
	margin-bottom: 35px;
}

#form_body>.flexBlock.hasChk a {
	color: #FF7300;
	text-decoration: underline;
}

.contact-success>.btns,
#form_body>.btns {
	justify-content: center;
	align-items: center;
	display: flex;
	margin-top: 15px;
}

.s2 #form_body .step1.btns,
.s3 #form_body .step1.btns,
#form_body .step2.btns {
	display: none;
}

#form_body .step1.btns,
.s2 #form_body .step2.btns {
	display: flex;
}

.contact-success>.btns .btnArrow,
#form_body .btns .btnArrow {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 1.8rem;
	line-height: 1;
	width: 220px;
	height: 56px;
	border-radius: 28px;
	padding: 0 20px;
	cursor: pointer;
	overflow: hidden;
	color: #FF7300;
	border: 2px solid #FF7300;
}

.contact-success>.btns .btnArrow>span,
#form_body .btns .btnArrow>span {
	position: relative;
}

.contact-success>.btns .btnArrow:after,
.contact-success>.btns .btnArrow:before,
#form_body .btns .btnArrow:after,
#form_body .btns .btnArrow:before {
	content: '';
	display: block;
	position: absolute;
}

.contact-success>.btns .btnArrow:after,
#form_body .btns .btnArrow:after {
	right: 20px;
	background-size: contain !important;
	aspect-ratio: 1 / 2;
	width: 10px;
	height: auto;
	background: url("../img/common/icon-arrow_orange.svg") no-repeat center center;
}

.contact-success>.btns .btnArrow:before,
#form_body .btns .btnArrow:before {
	width: 110%;
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	left: 0;
	top: 50%;
	transform: translate(-110%, -50%);
	background: #FF7300;
	transition-duration: .35s;
	z-index: 0;
}

.contact-success>.btns .btnArrow.gray,
#form_body .btns .btnArrow.gray {
	color: #000000;
	border: 2px solid #000000;
	margin-right: 25px;
}

.contact-success>.btns .btnArrow.gray {
	margin-right: 0;
}

.contact-success>.btns .btnArrow.gray:before,
#form_body .btns .btnArrow.gray:before {
	background: #000000;
}

.contact-success>.btns .btnArrow.gray:after,
#form_body .btns .btnArrow.gray:after {
	background: url("../img/common/icon-arrow.svg") no-repeat center center;
	transform: rotate(180deg);
	transform-origin: center center;
	left: 20px;
	right: auto;
}

.s2 section#form #form_body input,
.s2 section#form #form_body textarea {
	pointer-events: none;
	height: auto;
	background: transparent;
	border: 1px solid transparent;
}

.s2 section#form #form_body input::placeholder,
.s2 section#form #form_body textarea::placeholder {
	opacity: 0;
}

.s2 #form_body>.flexBlock.hasInput {
	align-items: flex-start;
}

.s2 #form_body>.flexBlock.hasInput>:last-child {
	width: 67%;
	margin-top: 0;
}

.s3 #form_body {
	display: none;
}

.contact-success {
	display: none !important;
}

.s3 .contact-success {
	display: flex !important;
	text-align: center;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: #000000;
}

.contact-success h3 {
	font-size: 2.0rem;
	margin-bottom: 10px;
}

.contact-success p {
	font-size: 1.6rem;
	margin-bottom: 70px;
}

#privacy section.contents {
	padding-top: 0;
}

#privacy section.contents hr {
	border: none;
	border-top: 1px solid #FFFFFF;
	margin: 40px auto;
}

#privacy section.contents h3 {
	font-size: 2.0rem;
	margin-bottom: 15px;
}

#privacy section.contents a {
	color: #FF7300;
	text-decoration: underline;
}

#privacy section.contents dl {
	margin-top: 20px;
	display: flex;
	position: relative;
	flex-wrap: wrap;
}

#privacy section.contents dl>dt {
	width: 40px;
}

#privacy section.contents dl>dd {
	width: calc(100% - 42px);
}

.top-recruit {
	background: #E5E0DB;
	color: #000000;
}

.lb-bg {
	display: none;
	position: fixed;
	z-index: 99999;
	background: rgba(0, 0, 0, 0.9);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.lb {
	max-width: 600px;
	width: calc(100% - 160px);
	height: calc(100% - 160px);
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 99999;
	display: none;
}

.lb>.img {
	position: relative;
	overflow: hidden;
	overflow-y: auto;
	width: 100%;
	height: 100%;
}

.lb>.img>img {
	position: relative;
	display: block;
	width: 100%;
}

.lb>.btn-close {
	width: 80px;
	height: 80px;
	position: fixed;
	display: block;
	top: -80px;
	right: 0;
	cursor: pointer;
}

.lb>.btn-close>span {
	width: 50px;
	height: 2px;
	position: absolute;
	display: block;
	z-index: 9;
	background: #FFFFFF;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	transform-origin: center center;
	transition: 0.3s ease-out;
}

.lb>.btn-close>span:nth-child(1) {
	transform: rotate(195deg);
}

.lb>.btn-close>span:nth-child(2) {
	transform: rotate(-195deg);
}

.horizontal-scrollarea {
	overflow-x: scroll;
	scrollbar-color: transparent transparent;
	/* Firefoxで非表示 */
	-ms-overflow-style: none !important;
	/* IE/Edgeで非表示 */
	padding-bottom: 70px;
}

.horizontal-scrollarea::-webkit-scrollbar {
	display: none !important;
}

.simplebar-scrollbar::before {
	background: #FF8826;
	border-radius: 0;
	height: 3px !important;
	margin-left: 0px;
	margin-top: 0px;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
}

.simplebar-scrollbar.simplebar-visible::before {
	opacity: 1;
}

.simplebar-track {
	background: rgba(255, 255, 255, 0.3);
	height: 3px !important;
	display: none;
}

.effect-img.flexBlock>.text>h3 {
	overflow: hidden;
}

.effect-img.flexBlock>.text>h3 span {
	position: relative;
	display: block;
	transition: 0.8s cubic-bezier(.73, 0, .83, 1);
	transform: translateY(110%);
	will-change: transform;
}

.effect-img.flexBlock>.text>h3 span img {
	will-change: transform;
}

.effect-img.flexBlock>.text>.text {
	transition: 0.5s linear 0.7s;
	transform: translateY(50%);
	opacity: 0;
}

.effect-img.effect-scroll.flexBlock>.text>.text {
	transform: translateY(0%);
	opacity: 1;
}

.effect-img.effect-scroll.flexBlock>.text>h3 span {
	transform: translateY(0%);
}

.effect-img.flexBlock>.img {
	position: relative;
	display: block;
}

.img.border-radius {
	border-radius: 50%;
	overflow: hidden;
}

.effect-img.flexBlock>.img>img {
	opacity: 0;
	transition: 0.1s;
}

.effect-img.flexBlock>.img:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #FF7300;
	transform: scale(1, 0);
	z-index: 1;
	transform-origin: center bottom;
}

.effect-scroll.effect-img.flexBlock>.img:after {
	animation: effectimgAnim 0.3s cubic-bezier(.73, 0, .83, 1) 0.9s forwards;
}

.effect-scroll.effect-img.flexBlock>.img.effect-img-show:after {
	transform-origin: center top;
	animation: effectimgAnimReverse 0.3s cubic-bezier(.73, 0, .83, 1) forwards;
}

.effect-scroll.effect-img.flexBlock>.img.effect-img-show>img {
	opacity: 1;
}

@keyframes effectimgAnim {
	0% {
		transform: scale(1, 0);
	}

	100% {
		transform: scale(1, 1);
	}
}

@keyframes effectimgAnimReverse {
	0% {
		transform: scale(1, 1);
	}

	100% {
		transform: scale(1, 0);
	}
}

@media screen and (min-width:769px) {
	.lb>.btn-close:hover>span:nth-child(1) {
		transform: rotate(215deg);
	}

	.lb>.btn-close:hover>span:nth-child(2) {
		transform: rotate(-215deg);
	}

	.btn-modal:hover>span:after,
	footer>.inner a:hover:after,
	.internal-links>.inner>.flexBlock>li>a:hover:after,
	.footer_nav ul li>a:hover:after,
	body>header .header-inner>nav>ul>li>a:hover:before {
		transition: transform 0.3s ease-out;
		transform: scale(1, 1);
		transform-origin: left center;
	}

	body>header .header-inner>.pc-headr_btn>li:nth-child(2)>a:hover:before {
		transform: translateX(0%);
	}

	body>header .header-inner>.pc-headr_btn>li:nth-child(2)>a:hover>span:before {
		transform: scale(1.2, 1.2);
	}

	.fixed-bottom_btns>a:last-child:hover:before {
		animation: shinyshiny 2s ease-in-out infinite;
	}

	.contact-success>.btns .btnArrow:hover:before,
	#form_body .btns .btnArrow:hover:before,
	.bottom-area>.inner>.flexBlock>:nth-child(3):hover:after,
	section .flexBlock.rows2>.text>a.btn:hover:after {
		transform: translate(0%, -50%);
	}

	.bottom-area>.inner>.flexBlock>:nth-child(3):hover:before {
		background: url("../img/common/icon-arrow.svg") no-repeat;
	}

	.bottom-area>.inner>.flexBlock>:nth-child(3):hover {
		color: #000000;
	}

	.contact-success>.btns .btnArrow:hover,
	#form_body .btns .btnArrow:hover {
		color: #FFFFFF !important;
	}

	.contact-success>.btns .btnArrow:hover:after,
	#form_body .btns .btnArrow:hover:after {
		background: url("../img/common/icon-arrow_w.svg") no-repeat center center !important;
	}
}

@media screen and (max-width:1045px) {
	body>header .header-inner>nav>ul>li {
		margin: 0 10px;
	}
}

@media screen and (max-width:980px) {
	body>header .header-inner {
		padding: 0 15px;
	}

	body>header .header-inner>nav>ul {
		font-size: 1.4rem;
	}

	body>header .header-inner>h1 {
		width: 130px;
	}

	body>header .header-inner>h1>a span {
		font-size: 0.95rem;
	}

	body>header .header-inner>.pc-headr_btn>li:nth-child(1)>a {
		font-size: 2.0rem;
	}

	body>header .header-inner>.pc-headr_btn>li:nth-child(1)>p {
		font-size: 1.2rem;
	}

	body>header .header-inner>.pc-headr_btn>li:nth-child(1) {
		margin-right: 10px;
	}

	body>header .header-inner>.pc-headr_btn>li:nth-child(2)>a {
		width: 80px;
		height: 70px;
	}

	body>header .header-inner>.pc-headr_btn>li:nth-child(2)>a>span {
		font-size: 1.2rem;
	}

	body>header .header-inner>nav>ul>li {
		margin: 0 10px;
	}

	section {
		padding-left: 15px;
		padding-right: 15px;
	}

	#interview.kv-area {
		padding-left: 0;
		padding-right: 0;
	}

	#photo-gallery .kv-area {
		padding-left: 0;
		padding-right: 0;
	}

	section.orange {
		padding-left: 0px;
		padding-right: 0px;
		width: calc(100% - 16px);
	}

	section .flexBlock.rows2>.text:nth-child(1) {
		padding-right: 40px;
	}

	section .flexBlock.rows2>.text:nth-child(2) {
		padding-left: 40px;
	}

	.bottom-area .inner>.flexBlock {
		flex-direction: column;
		align-items: center;
	}

	.bottom-area .inner>.flexBlock>:last-child {
		margin-top: 15px;
	}

	.strengths .list-area.rows3 {
		padding-left: 8px;
		padding-right: 8px;
	}

	.strengths .list-area.rows3>div {
		margin-right: 30px;
		width: calc(33.3% - 20px);
	}

	.table>div {
		font-size: 1.4rem;
	}

	.table>.flexBlock>span {
		padding: 12px 20px;
	}
}

@media screen and (max-width:860px) {
	.simplebar-track {
		display: block;
	}
}

@media screen and (max-width:810px) {
	body>header .header-inner>nav>ul>li {
		margin: 0 5px;
	}
}

@media screen and (max-width:768px) {
	.horizontal-scrollarea .icon_hint {
		display: block;
	}

	.marquee {
		padding-top: 20px;
	}

	.marquee__inner {
		height: 87px;
		animation: marquee-left-sp 32s linear infinite;
	}

	.internal-links h2 {
		font-size: 2.8rem;
		margin: 0px auto 40px;
	}

	.internal-links {
		padding: 30px 30px 10px;
	}

	.internal-links>.inner>.flexBlock {
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.internal-links>.inner>.flexBlock>li>a {
		font-size: 1.4rem;
	}

	.sub .kv-area {
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 100px;
	}

	.sub .kv-area p,
	.sub .kv-area h2 {
		width: calc(100% - 60px)
	}

	.sub .kv-area p {
		text-align: left;
	}

	.slant-area:before {
		transform: skewY(-5deg) translateY(-40px);
	}

	.slant-area:after {
		transform: skewY(5deg) translateY(40px);
	}

	#company .slant-area {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	#photo-gallery section.contents h3,
	#company section h3 {
		font-size: 2.4rem;
	}

	#company .flexBlock.rows2-1 {
		flex-direction: column;
	}

	#company .flexBlock.rows2-1>.has2 {
		padding-right: 0;
		width: 100%;
	}

	#company .flexBlock.rows2-1>.has2>.text {
		margin-left: 10%;
	}

	#company .flexBlock.rows2-1>.has1 {
		padding-left: 0%;
		padding-right: 0%;
		width: 100%;
	}

	#company .slant-area+section.white {
		padding-top: 150px;
		padding-bottom: 150px;
	}

	#company .flexBlock.w4-6> :nth-child(2) {
		width: 100vw;
		margin-left: -24px;
		margin-right: -24px;
	}

	#company .flexBlock.w4-6> :nth-child(1) {
		width: 100%;
	}

	#company .flexBlock.w6-4.pr7.pl14>.has1 {
		width: 70%;
		margin-left: auto;
	}

	#company .pr7,
	#company .pl14 {
		padding-left: 0;
		padding-right: 0;
	}

	#company section>.inner>.flexBlock {
		margin-bottom: 50px;
	}

	#company .flexBlock.w6-4>.has2 {
		width: 100%;
	}

	#company .flexBlock.rows2-1.w6-4>.has2>.img>img {
		width: calc(100% + 24px);
		margin-left: -24px;
	}

	#company .interview-summary>.inner {
		padding: 50px 24px;
	}

	#company .interview-summary>.inner>.flexBlock {
		flex-direction: column-reverse;
	}

	#company .interview-summary>.inner>.flexBlock>.text {
		width: 100%
	}

	#company .interview-summary>.inner>.flexBlock>.img {
		width: 88%;
		max-width: 310px;
		margin: 0 auto 30px;
	}

	#company .interview-summary>.inner>.flexBlock>.img>img {
		margin-top: -35%;
	}

	#company section#company-profile>.inner>.flexBlock {
		flex-direction: column;
	}

	#company section#history>.inner>.flexBlock> :nth-child(1),
	#company section#company-profile>.inner>.flexBlock> :nth-child(1) {
		width: 100%;
	}

	#company section#history>.inner>.flexBlock> :nth-child(2),
	#company section#company-profile>.inner>.flexBlock> :nth-child(2) {
		width: 100%;
	}

	#company section#history h3,
	#company section#company-profile h3 {
		font-size: 2.8rem;
		margin-bottom: 40px;
	}

	#company section#company-profile>.inner>.flexBlock>.list>.flexBlock {
		padding-bottom: 15px;
		margin-bottom: 15px;
	}

	#company section#company-profile>.inner>.flexBlock>.list>.flexBlock> :nth-child(1) {
		width: 29%;
		margin-right: 1%;
	}

	#company section#company-profile>.inner>.flexBlock>.list>.flexBlock> :nth-child(2) {
		width: 70%;
	}

	.map-responsive {
		width: 100vw;
		margin-left: -24px;
		margin-right: -24px;
		height: 190px;
	}

	#history .inner,
	#company-profile .inner {
		padding-top: 30px;
	}

	#company #history {
		padding-top: 0;
	}

	#company section#history>.inner>.flexBlock {
		flex-direction: column;
	}

	#company section#history>.inner>.flexBlock>.list>.flexBlock {
		flex-direction: column;
		padding-bottom: 30px;
	}

	#company section#history>.inner>.flexBlock>.list>.flexBlock> :nth-child(1) {
		font-size: 2.8rem;
		width: 100%;
		margin-bottom: 5px;
	}

	#company section#history>.inner>.flexBlock>.list>.flexBlock> :nth-child(2) {
		width: 100%;
		padding-left: 48px;
	}

	body>header .header-inner {
		height: 80px;
	}

	body>header .header-inner>h1 {
		width: 153px;
		z-index: 9;
		margin-top: 0;
	}

	body>header .header-inner>h1>a span {
		font-size: 1.1rem;
	}

	body>header .header-inner>.pc-header_nav,
	body>header .header-inner>.pc-headr_btn {
		display: none;
	}

	body.open>header .header-inner .sp-header_nav {
		display: block;
		visibility: visible;
		pointer-events: all;
		transform: scale(1, 1);
		opacity: 1;
	}

	body .nav-btn {
		width: 80px;
		height: 80px;
		position: relative;
		display: block;
		z-index: 9;
	}

	body .nav-btn>span {
		position: absolute;
		display: block;
		background: #FFFFFF;
		width: 50px;
		height: 2px;
		left: 0;
		right: 0;
		margin: 0 auto;
		transition: 0.3s ease-out;
		transform-origin: center center;
	}

	body .nav-btn>span:nth-child(1) {
		top: 33px;
	}

	body .nav-btn>span:nth-child(2) {
		bottom: 33px;
	}

	body.open .nav-btn>span:nth-child(1) {
		transform: rotate(195deg) scale(1.2, 1.2);
		top: 39px;
	}

	body.open .nav-btn>span:nth-child(2) {
		transform: rotate(-195deg) scale(1.2, 1.2);
		bottom: 39px;
	}

	.sp-header_nav {
		position: fixed;
		top: 80px;
		left: 0;
		width: 100%;
		height: calc(100% - 80px);
		background: rgba(0, 0, 0, 0.8);
		overflow-x: hidden;
		overflow-y: auto;
	}

	body>header .header-inner>.sp-header_nav>ul {
		flex-direction: column;
		font-size: 1.8rem;
		padding-top: 40px;
		padding: 40px 30px 60px;
	}

	body>header .header-inner>.sp-header_nav>ul>li {
		margin-bottom: 30px;
		width: 100%;
	}

	body>header .header-inner>.sp-header_nav>ul>li>a {
		width: 100%;
		justify-content: space-between;
	}

	body>header .header-inner>.sp-header_nav>ul>li>a:before {
		width: 6px;
		height: 12px;
		background: url("../img/common/icon-arrow_w.svg") no-repeat center;
		background-size: contain;
		order: 2;
		left: auto;
		position: relative;
		bottom: auto;
		transform: scale(1, 1);
	}

	body>header .header-inner>.sp-header_nav>ul>li:last-child>a {
		display: inline-block;
		width: auto;
		font-size: 1.4rem;
		text-decoration: underline;
		padding-top: 10px;
	}

	body>header .header-inner>.sp-header_nav>ul>li:last-child>a:before {
		display: none;
	}

	body>header .header-inner>nav>ul>li>a[target="_blank"]:after {
		margin-right: auto;
	}

	.fixed-bottom_btns {
		width: 100%;
		height: 60px;
	}

	.fixed-bottom_btns>a:nth-child(1),
	.fixed-bottom_btns>a:nth-child(2) {
		width: 60px;
		align-items: center;
		justify-content: center;
	}

	.fixed-bottom_btns>a:nth-child(1) {
		background: #000000;
	}

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

	.fixed-bottom_btns>a:nth-child(3) {
		width: calc(100% - 120px);
		font-size: 1.4rem;
	}

	.fixed-bottom_btns>a:nth-child(3) br {
		display: none;
	}

	.top-area {
		padding: 40px 0 150px;
	}

	.top-area .top-img01 {
		width: 67%;
		left: -9%;
		top: 0;
		margin-bottom: 0px;
		position: relative;
	}

	.top-area .top-img02 {
		width: 37%;
		left: 63%;
		top: 8%;
	}

	.top-area .top-img03 {
		width: 70%;
		left: 46%;
		top: 0;
	}

	.top-area .top-img04 {
		position: relative;
		width: 54%;
		left: 0;
		top: 0;
		margin-top: 30px;
	}

	.top-area .top-img05 {
		width: 39%;
		left: 2%;
		top: 12%;
	}

	.top-area .top-img06 {
		width: 55%;
		left: -10%;
		top: 140vw;
	}

	.top-area h2>span {
		align-items: flex-start;
		justify-content: flex-start;
	}

	.top-area h2>span:nth-child(1) {
		margin-bottom: 20px;
	}

	.top-area h2>span:nth-child(2) {
		margin-bottom: 45px;
	}

	.explanation {
		font-size: 1.6rem;
		text-align: left;
		padding-left: 24px;
		padding-right: 24px;
	}

	.marquee {
		font-size: 6rem;
	}

	.bg-loop {
		height: 232px;
		animation: bgLoopRightSp 23s linear infinite;
	}

	.strengths .list-area.rows3>div h4.title>span {
		font-size: 2.4rem;
	}

	.strengths .list-area.rows3.sp-row1 {
		flex-direction: column;
	}

	.strengths .list-area.rows3.sp-row1>div {
		margin-right: 0px;
		width: 100%;
		margin-bottom: 8px;
		padding: 30px 16px;
	}

	.strengths .list-area.rows3.sp-row1>div:last-child {
		margin-bottom: 0;
	}

	section h3 small {
		font-size: 1.8rem;
	}

	section h3 {
		font-size: 3.0rem;
	}

	.strengths .list-area.rows3 h3.title>.flexBlock>img {
		height: 30px;
	}

	.strengths .list-area.rows3 h3.title>.flexBlock>img.n01 {
		margin-right: 10px;
	}

	section {
		padding: 80px 24px;
	}

	.top-recruit {
		padding-top: 0;
	}

	.internal-links .text,
	section .text {
		font-size: 1.4rem;
	}

	#contact .internal-links .text {
		text-align: left;
	}

	.s2 #form_body>.flexBlock.hasInput>:last-child {
		width: 100%;
	}

	section>.inner>.flexBlock.rows2 {
		flex-direction: column;
		margin-bottom: 80px;
	}

	section .flexBlock.rows2>.text {
		order: 2;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100%;
	}

	#index section .flexBlock.rows2>div.text {
		width: 100%;
	}

	section .flexBlock.rows2>.img {
		width: 100%;
		margin-bottom: 40px;
		order: 1;
	}

	#index section .flexBlock.rows2>.img {
		margin-left: -24px;
		margin-right: -24px;
		width: 100vw;
	}

	#company section .flexBlock.rows2>.text {
		order: 1;
	}

	#company section .flexBlock.rows2>.img {
		order: 2;
		margin-top: 30px;
		margin-bottom: 0;
	}

	section .flexBlock.rows2>.text>a.btn {
		margin: 50px auto 0;
	}

	.top-recruit .flexBlock.rows2>.text h3>span>img {
		margin-left: auto;
		margin-right: auto;
	}

	#news>.inner>.flexBlock {
		flex-direction: column;
		margin-bottom: 50px;
	}

	#news>.inner>.flexBlock> :nth-child(1) {
		width: 100%;
		padding-top: 20px;
	}

	#news>.inner>.flexBlock> :nth-child(2) {
		width: 100%;
		font-size: 1.4rem;
	}

	#news>.inner>.flexBlock> :nth-child(2)>li {
		flex-direction: column;
		padding: 20px 0;
	}

	#news>.inner>.flexBlock> :nth-child(2)>li> :nth-child(1) {
		width: 100%;
		margin-bottom: 3px;
	}

	#news>.inner>.flexBlock> :nth-child(2)>li> :nth-child(2) {
		width: 100%;
	}

	#news .bg-loop {
		height: 252px;
		margin-left: -24px;
		animation: bgLoopRight2Sp 23s linear infinite;
	}

	.bottom-area h3 {
		font-size: 2.8rem;
	}

	.bottom-area>.inner>.flexBlock> :nth-child(2)>a {
		font-size: 3.1rem;
	}

	.bottom-area>.inner>.flexBlock> :nth-child(2)>a:before {
		width: 23px;
		height: 23px;
	}

	.bottom-area>.inner>.flexBlock> :nth-child(2)>p {
		font-size: 1.4rem;
	}

	.bottom-area>.inner>.flexBlock> :nth-child(3) {
		width: 290px;
		height: 65px;
		font-size: 1.8rem;
	}

	section.footer {
		padding: 70px 24px 0;
	}

	.footer>.inner>.flexBlock {
		flex-direction: column;
		align-items: center;
	}

	section.footer>.inner>.flexBlock>.rel {
		width: 100%;
	}

	section.footer>.inner h2>a {
		width: 192px;
		margin-left: auto;
		margin-right: auto;
	}

	section.footer>.inner h2>a>img {
		width: 100%;
	}

	section.footer>.inner h2+p {
		text-align: center;
		margin-top: 30px;
		margin-bottom: 10px;
	}

	section.footer>.inner h2+p+p {
		text-align: center;
		margin-bottom: 30px;
	}

	.footer_nav>ul {
		width: 100%;
	}

	.footer_nav>ul:nth-child(2)>li,
	.footer_nav>ul:nth-child(1) {
		display: none;
	}

	.footer_nav>ul:nth-child(2)>li:last-child {
		display: block;
		width: 200px;
		margin-left: auto;
		margin-right: auto;
	}

	footer {
		padding: 35px 0 90px;
		text-align: center;
	}

	footer>.inner {
		justify-content: center;
	}

	footer>.inner a {
		display: none;
	}

	#overview section.contents h3 {
		font-size: 2.4rem;
	}

	#overview section.contents>.inner {
		padding-top: 25px;
	}

	#processing-options .flexBlock>.rel {
		width: calc(50% - 8px);
		margin-right: 0 !important;
		font-size: 1.4rem;
		margin-bottom: 40px;
	}

	#processing-options .flexBlock {
		justify-content: space-between;
	}

	#overview #facilities h3 {
		font-size: 2.4rem;
		margin-bottom: 20px;
	}

	#overview #facilities h4 {
		font-size: 1.8rem;
		margin-bottom: 23px;
	}

	.table>.table-header {
		font-size: 1.6rem;
	}

	#facilities {
		margin-bottom: 80px;
	}

	#photo-gallery section.contents {
		padding-top: 0;
	}

	#photo-gallery section.contents h4 {
		font-size: 1.8rem;
		margin-bottom: 23px;
	}

	#photo-gallery section.contents>.inner>.flexBlock>div {
		width: 100%;
		margin-bottom: 40px;
	}

	#photo-gallery section.contents>.inner>.flexBlock>div .title {
		font-size: 1.6rem;
		margin: 10px 0;
	}

	#contact #form .inner {
		padding: 60px 15px;
	}

	#contact .steps li {
		font-size: 1.4rem;
		width: 33.3%;
	}

	#contact .steps li>span {
		padding-left: 16px;
	}

	#contact .steps li:nth-child(1)>span {
		padding-left: 0;
	}

	#contact .steps li:last-child {
		width: calc(33.3% + 8px);
	}

	#contact .steps {
		height: 48px;
		margin-bottom: 40px;
	}

	#contact .steps li::before {
		right: -17px;
		width: 17px;
		clip-path: polygon(0 0, 0 100%, 1px 100%, 100% 50%, 1px 0);
	}

	#contact .steps li::after {
		right: -16px;
		width: 16px;
	}

	#form_body>.flexBlock.hasInput> :nth-child(1) {
		width: 100%;
		min-height: 48px;
	}

	#form_body>.flexBlock.hasInput> :nth-child(1)> :nth-child(2) {
		font-size: 1.4rem;
	}

	#form_body>.flexBlock.hasInput> :last-child {
		font-size: 1.6rem;
	}

	#form_body>.flexBlock.hasInput> :last-child>input {
		padding: 7px 15px;
	}

	#form_body>.flexBlock.hasInput {
		margin-bottom: 20px;
	}

	#form_body>.flexBlock.hasInput textarea {
		height: 360px;
	}

	#form_body>.flexBlock.hasChk>div,
	#form_body>.flexBlock.hasChk>p {
		margin-bottom: 20px;
	}

	#form_body>.flexBlock.hasChk>p {
		text-align: left;
	}

	#form_body .btns.step2 .btnArrow {
		font-size: 1.4rem;
		padding: 0 20px 0 10px;
	}

	#form_body .btns.step2 .btnArrow.gray {
		margin-right: 15px;
		padding: 0 10px 0 20px;
	}

	#form_body .btns.step2 .btnArrow:after {
		right: 10px;
	}

	#form_body .btns.step2 .btnArrow.gray:after {
		left: 10px;
	}

	#privacy section.contents h3 {
		font-size: 1.6rem;
	}

	#privacy section.contents hr {
		margin: 30px auto;
	}

	#privacy section.contents dl>dt {
		width: 36px;
	}

	.lb {
		width: calc(100% - 20px);
	}

	#company .flexBlock.img35>.img,
	#company .flexBlock.img35>.text,
	#company .flexBlock.img45>.img,
	#company .flexBlock.img45>.text {
		width: 100%;
	}

	.table.row2>div>span:nth-child(1) {
		width: 45%;
	}

	.table.row2>div>span:nth-child(2) {
		width: 55%;
	}

	.table>.flexBlock>span {
		padding: 12px 15px;
	}

	#photo-gallery section.contents>.inner>.flexBlock>span {
		margin-right: 0px;
		margin-bottom: 24px;
	}

	#photo-gallery section.contents>.inner>.flexBlock {
		flex-direction: column;
	}

	#photo-gallery section.contents>.inner>.flexBlock {
		margin-bottom: 0px;
	}

	#photo-gallery section.contents>.inner>.flexBlock.has2>.flexBlock>span:nth-child(1) {
		margin-bottom: 24px;
	}

	#photo-gallery section.contents>.inner>.flexBlock.has2 .hasPicture {
		margin-left: -24px;
		margin-right: -24px;
	}
}

@media screen and (max-width:356px) {
	.fixed-bottom_btns>a:nth-child(3) {
		padding: 0 10px 0 0;
	}
}

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

.pc-only {
	display: block;
}

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

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

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

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

	.sp-only {
		display: block;
	}

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

.simplebar-content-wrapper {
	scrollbar-width: auto;
	-ms-overflow-style: auto;
}

.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
	display: initial;
	width: initial;
	height: initial;
}
/* 25.07.30 追加 */
.footer_nav>ul:nth-child(1) li:last-child{
	align-items: center;
	column-gap: 5px;
}
.footer_nav>ul:nth-child(1) li:last-child:after{
	background: url("../img/common/icon-link.png") no-repeat center;
	background-size: contain;
	content: '';
	position: relative;
	display: block;
	width: 16px;
	height: 16px;
	margin-left: 5px;
}
section p.text{
	letter-spacing: 0.1em;
}
#privacy section.contents a::after{
	background: url("../img/common/icon-link_orange.png") no-repeat center;
	background-size: contain;
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	vertical-align: -2px;
}
.kv-area p{
	width: calc(100% - 60px);
}
#privacy .inner{
	max-width: 960px;
}
#privacy .internal-links{
	width: calc(100% - 60px);
	margin: 0 auto;
}
#company section#history>.inner>.flexBlock>.list>.flexBlock>:nth-child(1):before{
	flex-shrink: 0;
}
#company section#history>.inner>.flexBlock>.list>.flexBlock{
	column-gap: 30px;
}