
/* CSS Document */

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

contents
=================================================*/

.top-wrapper {
	width: 100%;
	position: relative;
	background: #000;
	z-index: 2;
}

#top-image {
	width: 100%;
	position: relative;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
   overflow: hidden;
	margin: 0 auto;
}
.business #top-image {
	background-image: url("../../business/images/mv_business.webp");
}
.about #top-image {
	background-image: url("../../company/images/company_mv.webp");
}
.contact #top-image {
	background-image: url("../../contact/images/contact_mv.webp");
}
#top-image .top-title {
   width: 90%;
	max-width: 1600px;
	position: relative;
	color: #fff;
	text-align: center;
	margin: 0 auto;
	padding: 17em 0;
	z-index: 3;
}
#top-image .top-title h1 {
   width: 100%;
	position: relative;
	font-size: clamp(4rem, 8vw, 10rem);
	text-align: right;
	font-weight: 500;
   line-height: 1;
	margin: 0 auto;
}
#top-image .top-title h2 {
	font-size: clamp(2.4rem, 3vw, 3.6rem);
	text-align: right;
	line-height: 1.6;
}
#top-image::after {
	content: " ";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 35, 115, .1);
	top: 0;
	left: 0;
	z-index: 1;
}

#top-image .mv-border {
	width: 100%;
	height: 100%;
	position: absolute;
	background-image: url("../../images/page_border.png");
	background-position: right center;
	background-repeat: no-repeat;
	background-size: contain;
	top: 0;
	left: 0;
	z-index: 2;
}

.js-anim .js-flicker-title {
   opacity: 0;
}

.js-flicker-title .char {
   display: inline-block;
   opacity: 0;
}

.js-flicker-title .char.is-on {
   animation: flickerIn 0.5s steps(1, end) forwards;
}

@keyframes flickerIn {
   0%   { opacity: 0; }
   10%  { opacity: 1; }
   20%  { opacity: 0; }
   35%  { opacity: 1; }
   45%  { opacity: 0; }
   60%  { opacity: 1; }
   70%  { opacity: 0.4; }
   85%  { opacity: 1; }
   100% { opacity: 1; }
}

.js-parallax.bg1 {
	overflow: hidden;
	background-image: url("../../images/page_bg1.png");
	background-position: center top;
	background-repeat: repeat-y;
	background-size: contain;
}
.js-parallax.bg2 {
	overflow: hidden;
	background-image: url("../../images/page_bg2.png");
	background-position: center top;
	background-repeat: repeat-y;
	background-size: contain;
}

.business-contents {
	position: relative;
	padding: min(10%, 100px) 0 0;
	z-index: 2;
}
.business-contents section {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
}
#business2 {
	background-color: #f5ede7;
	margin: min(8%, 80px) auto 0;
}
.business-contents section h1 {
   text-align: center;
	letter-spacing: .1em;
   margin-bottom: 3%;
}
.business-contents section h1 span {
   display: block;
   color: #e3030d;
}

.business-contents .business-item {
   position: relative;
   overflow: hidden;
   background-color: #e8f1f5;
   clip-path: polygon(110px 0, 100% 0, calc(100% - 110px) 100%, 0 100%);
   margin: 0 auto;
   padding: 8% 6%;
   min-height: 400px;
}
#business2 .business-item {
	background-color: #f5ede7;
}
.business-contents section dl:nth-of-type(odd) {
	background-color: #FFF;
}
.business-contents .business-item dt {
   position: absolute;
   width: 38%;
   clip-path: polygon(92px 0, 100% 0, calc(100% - 92px) 100%, 0 100%);
	top: 10%;
   bottom: 10%;
   right: 10%;
}

.business-contents .business-item dt img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.business-contents .business-item dd {
   width: 46%;
   margin: 0;
   padding-left: 90px;
}
.business-contents dl:nth-of-type(odd) dt {
   right: auto;
   left: 10%;
	
}
.business-contents dl:nth-of-type(odd) dd {
   margin-left: auto;
   padding-left: 0;
   padding-right: 90px;
}
.business-contents .business-item dd h2 {
   color: #e3030d;
}
.business-contents .business-item dd h3 {
   margin-top: .6em;
}
.business-contents .business-item dd p {
   margin-top: 1em;
}


.about-contents {
	position: relative;
	z-index: 2;
}
.about-contents section {
	width: 90%;
	max-width: 1200px;
	overflow: hidden;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin: min(8%, 80px) auto 0;
	
}
.about-contents section h1 {
	width: 250px;
   height: 250px;
   display: grid;
   place-content: center;
	color: #FFF;
	text-align: center;
	font-size: clamp(1.8rem, 2.4vw, 2.8rem);
	line-height: 1.8;
	background: linear-gradient(0deg, #e35705, #e3030d);
}
.about-contents section .inner {
	flex: 1;
	padding-left: min(8%, 80px);
}
.about-contents section .inner ul {
	width: 100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
.about-contents section .inner ul li {
	width: 48%;
	text-align: center;
	background-color: #eaeaea;
	padding: 2.5em 1em;
}
.about-contents section .inner ul li p {
	margin-top: 1em;
}
.about-contents section .inner ul li .button {
	margin: 1em auto 0;
}
.about-contents section .award h2 {
	text-align: center;
	font-size: clamp(1.6rem, 2.4vw, 2.4rem);
  	line-height: 1.6;
	border-top: 3px solid #e2050c;
	border-bottom: 3px solid #e2050c;
	padding: .8em 1em;
}
.about-contents section .award p {
	margin-top: 1em;
}

@media only screen and (min-width:1px) and (max-width: 768px) {
	
	#top-image {
		margin: 60px auto 0;
	}
	#top-image .top-title {
		width: 90%;
		max-width: 1600px;
		position: relative;
		color: #fff;
		text-align: center;
		margin: 0 auto;
		padding: 9em 0;
		z-index: 3;
	}
	.js-parallax.bg1 {
		display: none;
	}
	.js-parallax.bg2 {
		display: none;
	}
	.business-contents .business-item {
		clip-path: none;
		margin: 0 auto;
		padding: 8% 6%;
		min-height: 400px;
	}
	.business-contents .business-item dt {
		position: relative;
		width: 100%;
		clip-path: none;
		top: 0;
		bottom: 0;
		right: 0;
	}

	.business-contents .business-item dd {
		width: 100%;
		margin: 2em 0 0;
		padding-left: 0;
	}
	.business-contents dl:nth-of-type(odd) dt {
		right: auto;
		left: 0;

	}
	.business-contents dl:nth-of-type(odd) dd {
		margin-left: auto;
		padding-left: 0;
		padding-right: 0;
	}
	
	.about-contents {
		position: relative;
		z-index: 2;
	}
	.about-contents section {
		flex-direction: column;
	}
	.about-contents section h1 {
		width: 100%;
		height: initial;
		height: auto;
		display: block;
		margin-bottom: 2em;
		padding: .8em 1em;
	}
	.about-contents section .inner {
		width: 100%;
		padding-left: 0;
	}
	.about-contents section .inner ul {
		width: 100%;
		flex-direction: column;
	}
	.about-contents section .inner ul li {
		width: 100%;
		text-align: center;
	}
	.about-contents section .inner ul li:nth-of-type(n+2) {
		margin-top: 2em;
	}
	.about-contents section .award h2 {
		text-align: center;
		font-size: clamp(1.6rem, 2.4vw, 2.4rem);
		line-height: 1.6;
		border-top: 3px solid #e2050c;
		border-bottom: 3px solid #e2050c;
		padding: .8em 1em;
	}
	.about-contents section .award p {
		margin-top: 1em;
	}
}

@media only screen and (min-width:1px) and (max-width: 568px) {
	
}
	
@media only screen and (min-width:1px) and (max-width: 480px) {
	
}



