@charset "utf-8";
/* CSS Document */

/*
---------------------------------------------
	TOP common
---------------------------------------------
*/
@font-face {
	font-family: "optima";
	src: url("../fonts/OptimaLTPro-Roman.otf") format("opentype");
  }
  
  @font-face {
	font-family: "optima-med";
	src: url("../fonts/OptimaLTPro-Medium.otf") format("opentype");
  }
  
  @font-face {
	font-family: "optima-demi";
	src: url("../fonts/OptimaLTPro-DemiBold.otf") format("opentype");
  }
  
  @font-face {
	font-family: "optima-bold";
	src: url("../fonts/OptimaLTPro-Bold.otf") format("opentype");
  }
  
  @font-face {
	font-family: "optima-black";
	src: url("../fonts/OptimaLTPro-Black.otf") format("opentype");
  }
  
  
@font-face {
	font-family: "hiragino-mincho-pro";
	src: url("../fonts/hiragino-mincho-pro.otf") format("otf");
  }
  @font-face {
	font-family: "hiragino-mincho-pro";
	src: url("../fonts/hiragino-mincho-pro.woff") format("woff");
  }  

section{
	margin-top: 0em!important;
}
body{
	font-family: 'Noto Serif JP', serif;
	color: #000;

}
h1{
	font-size: 48px;
}
h2{
	font-size: 36px;
	line-height: 160%;
	letter-spacing: 2px;
	font-weight: 700;
}
h3{
	font-size: 24px;
	line-height: 160%;
	letter-spacing: 2px;
	font-weight: 700;
}
h4{
	font-size: 20px;
	line-height: 160%;
	letter-spacing: 2px;
}
p{
	font-size: 16px;
	line-height: 180%;
	letter-spacing:2px;
	font-weight: 300;
}
@media(max-width:768px){
	h1{
		font-size: 28px;
	}
	h2{
		font-size: 24px;
	}
	h3{
		font-size: 20px;
	}
	h4{
		font-size: 18px;
	}
	p{
		font-size: 14px;
	}
}

.cntr{
	max-width: 1120px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
@media(max-width:768px){
	.cntr{
		padding-left:25px ;
		padding-right: 25px;
	}
}

.mv-section{
	width: 100%;
    background-image: url(../img/mv.jpg);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
	background-position: center center;
	height: 780px;
}
.mv-line{
	border-left: 2px solid #fff;
	margin-left: 90px;
	height: 200px;
}
.mv-text{
	color: #fff;
	max-width: 864px;
	width: 100%;
}
.mv-text h1{
	font-size: 64px;
	font-weight: 500;
	padding: 40px 0;
	letter-spacing: 2px;
}
.mv-text h2{
	font-weight: 500;
	padding-bottom: 40px;
	line-height: 160%;
	letter-spacing: 2px;
}
.mv-text p{
	font-weight: 300;
	line-height: 180%;
}
.btn{
	text-align: center;
}
.btn a{
	display: inline-block;
	font-weight: 600;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
	position: relative;
}
.sp-block{
	display: none;
}
@media(max-width:768px){
	.mv-line{
		height: 110px;
		margin-left: 25px;
	}
	.mv-section{
		height: auto;
	}
	.mv-text h1{
		font-size: 24px;
		padding-top: 20px;
		padding-bottom: 10px;
		letter-spacing: 0;
	}
	.mv-text h2{
		font-size: 16px;	
	}
	.mv-text p{
		padding-bottom: 30px;
	}
	.sp-block{
		display: block;
	}
}
/* ==========
com
========== */
.company-section{
	padding: 120px 0;
}

.company-box{
	display: flex;
	padding-bottom: 80px;
	justify-content: center;
	/* animation-name: fadeup;
    animation-duration: 2s;
    animation-iteration-count: 1; */

}
/* @keyframes fadeup {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
	} */
	/*アニメーション要素のスタイル*/
/*下からフェードイン*/
.fade-in-bottom {
	opacity: 0;
	animation-name: fadein-bottom;
	animation-duration: 10s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
 }
 @keyframes fadein-bottom {
	0% {
	   opacity: 0;
	   transform: translateY(20px);
	}
	100% {
	   opacity: 1;
	   transform: translateY(0);
	}
 }
.company-box-txt{
	width: 50%;
	box-shadow: 2px 2px 20px rgba(0, 0, 0, 0.25);
	padding: 30px;
	z-index: 2;
	background-color: #fff;
	margin-left: 40px;
	margin-bottom: 80px;

}
.company-box-txt_title h3{
	padding: 30px 0;
	font-weight: 600;
	letter-spacing: 4px;
}
.company-box-txt_title p{
	font-weight: 400;
	color: #f08b0b;
	font-family: "optima";
	letter-spacing: 1px;
}
.company-box-img{
	width: 50%;
	margin-left: -50px;
    z-index: 1;
	margin-top: 40px;
}
.company-box-img img{
	width: 100%;
}
.company-box-img img{
	width: 100%;
}
.company-box-txt_dd p{
	 font-weight: 300;
	 line-height: 180%;
}
.company-section .cntr .btn a{
	max-width: 526px;
    width: 100%;
    background-image: url(../img/btn.jpg);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: rgba(0,0,0,0.4);
    background-blend-mode: darken;
    padding: 30px;
    color: #fff;
    outline: 1px solid #fff;
    outline-offset: -4px;
    position: relative;
	font-weight: 600;
	letter-spacing: 2px;
}
.company-section .cntr .btn a::after{
	content: "";
	background-image: url(../img/arrow.svg);
	position: absolute;
	width: 16px;
	height: 16px;
	top: 35px;
	right: 50px;
}
.company-section .cntr .btn a:hover{
	background-color: #fff;
	color: #000;
	border: 1px solid #000;
	background-image: none;
	padding:29px
}
.company-section .cntr .btn a:hover::after{
	content: "";
	background-image: url(../img/arrow-hover.svg);
	position: absolute;
}
.pc-block{
	display: block;
}
@media(max-width:768px){
	.company-section{
		padding: 40px 0 45px 0;
	}
	.company-box{
		flex-direction: column;
		padding-bottom: 40px;
	}
	.company-box-txt{
		order: 2;
		width: 100%;
		margin-left: 0;
		margin-bottom: 0;
		padding: 0;
		box-shadow: none;

	}
	.company-box-img{
		width: 100%;
		margin-left: 0;
		margin-top: 0;
	}
	.company-box-img img{
		width: 100%;
	}
	.pc-block{
		display: none;
	}
	.company-box-txt_title p{
		font-size: 14px;
	}
	.company-box-txt_title h3{
		font-size: 20px;
		padding: 5px 0 40px 0;
	}
	.company-section .cntr .btn a{
		padding: 20px;
		font-size: 12px;
	}
	.company-section .cntr .btn a::after{
		top: 22px;
		right: 20px;
	}
}
/* =======
explanation
======= */

.explanation-section{
	background-image: url(../img/expbg.jpg);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
	background-position: center center;	
	color: #fff;
}
.exp-box{
	max-width: 680px;
	width: 100%;
	margin:0 auto;
	padding-top: 160px;
	padding-bottom: 160px;
}
.exp-box-title h2{
	position: relative;
	padding-bottom: 80px;
	font-weight: 600;
	line-height: 180%;
	letter-spacing: 4px;
}
.exp-box-title h2::before{
	content:"Concept";
	color: #fff;
	position: absolute;
	background-color: #333333;
	font-size:16px;
	font-weight: 700;
	margin-left: -22%;
	padding: 40px 20px;
	line-height: 40px;
	bottom: 35%;
	letter-spacing: 4px;
	font-family: "optima";
}
.exp-box p{
	font-weight: 500;
}
@media(max-width:768px){
	.exp-box{
		padding-top: 75px;
		padding-bottom: 30px;
	}
	.exp-box-title h2{
		font-size: 20px;
		padding-bottom:20px ;

	}
	.exp-box-title h2::before{
		top: -25px;
		font-size: 14px;
		margin-left: 0;
		padding: 0;
		line-height: 160%;
		bottom: auto;
		letter-spacing: 2px;
		background-color: transparent;
	}
}


/* ===========
title
=========== */
.section-title{
	text-align: center;
}
.section-title p{
	font-family: 'Optima';
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 160%;
	align-items: center;
	text-align: center;
	letter-spacing: 1px;
	color: #F08B0B;
}
.section-title h3{
	font-weight: 600;
}
.section-title h2{
	font-weight: 600;
	line-height: 160%;
	/* letter-spacing: 0.02em; */
	letter-spacing: 4px;
}
.section-title h2 span{
	color: #F08B0B;
}
.sec-title h3{
	letter-spacing: 0.02em!important;
}
.sec-title h2{
	letter-spacing: 0.02em!important;
}
.voice-title h2,.works-title h2{
	letter-spacing: 2px!important;
}

@media(max-width:768px){
	.section-title p{
		font-size: 14px;
	}
	.sec-title h2{
		font-size: 20px;
	}
	.voice-title p{
		font-size: 16px;
	}
	.section-title h2{
		font-size: 20px;
	}
}
/* =============
reason
============= */
.reason-section{
	padding: 120px 0;
}
.reason-box{
	display:flex;
	padding: 80px 30px 0 30px;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: center;

}
.reason-box::after {
	display: block;
	content:"";
	width: 47%;
	}
.reason-box-item{
	width: 47%;
	border: 1px solid #d3d3d3;
	padding: 30px;
}
.reason-box-item_title{
	display: flex;
	align-items: center;
}
.reason-box-item_title-num{
	border-radius: 50%;
	background-color: #333333;
	text-align: center;
	color: #fff;
	position: relative;
	display: inline-block;
	width: 80px;
	height: 80px;
}
.reason-box-item_title-num-txt{
	position: absolute;
	display: inline-block;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width :80px;
	text-align:center;
	font-family: "optima";
	letter-spacing: 1px;
}
.reason-box-item_title .reason-box-item_title-num span{
	font-size: 24px;
}
.reason-box-item_title-dd{
	padding-left: 20px;
	width: calc(100% - 80px);
}
.reason-box-item_title-dd h3{
	font-weight: 600;
	line-height: 180%;
    letter-spacing: 2px;
}
.reason-box-item_title-dd h3 span{
	color: #F08B0B;
}
.reason-box-item_detail{
	padding-top: 20px;
}
.reason-box-item_detail p{
	font-weight: 300;

}

.img-section img{
	width: 100%;
}
@media(max-width:768px){
	.reason-section{
		padding: 40px 0;
	}
	.reason-box{
		padding: 40px 0 0 0;
		flex-direction: column;
		gap: 20px;
	}
	.reason-box-item{
		width: 100%;
		padding: 20px;
	}
	.reason-box-item_title-num-txt{
		font-size: 12px;
	}
	.reason-box-item_title .reason-box-item_title-num span{
		font-size: 20px;
	}
	.reason-box-item_title-dd h3{
		font-size: 18px;
	}
	.reason-box-item_title-dd{
		padding-left: 5px;
		width: calc(100% - 60px);
	}
	.reason-box-item_title-num{
		width: 60px;
		height: 60px;
	}
	.reason-box-item_title-num-txt{
		width: 60px;
	}

}
/* ===========
voice
=========== */
.voice-section{
	padding:120px 0;
}
.voice-box{
	display: flex;
	gap: 33px;
	padding-top: 65px;
}
.voice-box-list{
	width: 33%;
	padding: 20px;
	border: 1px solid #000;
	display: flex;
	flex-direction: column;
}
.voice-box-list-img{
	max-width: 210px;
	width: 100%;
	margin: 0 auto;
}
.voice-box-list-img img{
	width: 100%;
}
.voice-box-list-txt{
	flex-grow: 1;
}
.voice-box-list-txt .voice-box-list-txt-title h3{
	font-weight: 600;
	padding-bottom: 20px;
	text-align: center;
}
.voice-box-list-txt-dd{
	flex-grow: 1;
}
.voice-box-list-txt-link{
	text-align: right;
	padding-top: 10px;
	letter-spacing: 1px;
    line-height: 180%;
	font-size: 12px;
	font-weight: 500;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
@media(max-width:768px){
	.voice-section{
		padding: 40px 0;
	}
	.voice-box{
		padding-top:40px ;
		flex-direction: column;
		gap: 20px;
	}
	.voice-box-list{
		width: 100%;
	}
	.voice-box-list-txt .voice-box-list-txt-title h3{
		font-size: 18px;
	}

	.voice-box-list-txt-link{
		padding-top: 50px;
	}
}

/* ===================
details
================== */
.detail-section{
	background-image: url(../img/detailbg.jpg);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
	background-position: center center;
} 
.detail-line{
	border-left: 2px solid #fff;
    margin-left: 90px;
    height: 160px;
}
.detail-box{
	display: flex;
	gap: 30px;
	color: #fff;
	padding-top: 60px;
}
.detail-box-txt{
	width: 50%;
}
.detail-box-txt h2{
	padding-bottom: 40px;
	line-height: 180%;
	font-weight: 600;
}
.detail-box-txt h2 span{
	font-size: 24px;
}
.detail-box-txt p{
	font-weight: 300;
}
.detail-box-img{
	width: 50%;
}
.detail-box-img img{
	width: 100%;
}

.detail-section .cntr .btn{
	padding:80px  0;
}
.detail-section .cntr .btn a{
	max-width: 526px;
	width: 100%;
	background-image: url(../img/btn.jpg);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
	background-position: center center;
	background-color: rgba(0,0,0,0.4);
    background-blend-mode: darken;
	padding: 30px;
	color: #fff;
	outline: 1px solid #fff;
    outline-offset: -4px;	
	position: relative;
	letter-spacing: 2px;
}
.detail-section .cntr .btn a::after{
	content: "";
	background-image: url(../img/arrow.svg);
	position: absolute;
	width: 16px;
	height: 16px;
	top: 35px;
	right: 50px;
}
.detail-section .cntr .btn a:hover{
	background-color: #fff;
	color: #000;
	border: 1px solid #000;
	background-image: none;
	padding:29px;
}
.detail-section .cntr .btn a:hover::after{
	content: "";
	background-image: url(../img/arrow-hover.svg);
	position: absolute;
}
@media(max-width:768px){
	.detail-line{
		height: 60px;
		margin-left: 25px;
	}
	.detail-box{
		padding-top: 20px;
		flex-direction: column;
	}
	.detail-box-txt{
		width: 100%;
	}
	.detail-box-img{
		width: 100%;
	}
	.detail-box-txt h2 span{
		font-size: 14px;
	}
	.detail-box-txt h2{
		font-size: 20px;
		padding-bottom: 20px;
	}
	.detail-box-txt img{
		width: 100%;
	}
	.detail-box-txt p{
		padding-top: 20px;
	}
	.detail-section .cntr .btn{
		padding: 40px 0;
	}
	.detail-section .cntr .btn a{
		padding: 20px;
		font-size: 12px;
	}
	.detail-section .cntr .btn a::after{
		top: 22px;
		right: 40px;
	}

}
/* ==========
feature
========== */

.feature-section{
	padding:120px 0;
}
.feature-box{
	padding-top:60px;
	max-width: 930px;
	width: 100%;
	margin: 0 auto;
}

.feature-box dl dt{
	font-size: 24px;
	border-bottom: 1px solid #000;
	width: 448px;
	position: relative;
	letter-spacing: 2px;
    line-height: 160%;
    font-weight: 600;
	font-family: "hiragino-mincho-pro";
}

.feature-box dl dt::after{
	position: absolute;
	content: "";
	width: 160px;
	border-bottom: 1px solid #F08B0B;
	bottom: -1px;
	left: 0;
}
.feature-box dl dd{
	padding-top: 20px;
	padding-bottom: 60px;
	font-weight: 300;
    line-height: 180%;
    letter-spacing: 2px;
}
.feature-box p{
	text-align: right;
	position: relative;
	margin-right: 40px;
	font-weight: 600;
    letter-spacing: 1px;
}
.feature-box p::after{
	content: "";
	background-image: url(../img/arrow-hover.svg);
	position: absolute;
	width: 16px;
	height: 16px;
	top: 6px;
	right: -30px;
}
.feature-box dl dd a{
	text-decoration: underline;
}
@media(max-width:768px){
	.feature-section{
		padding: 40px 0;
	}
	.feature-box{
		padding-top:20px ;
	}
	.feature-box dl dt{
		font-size: 18px;
		width: 100%;
	}
	.feature-box dl dt::after{
		width: 30%;
	}
	.feature-box dl dd{
		font-size: 14px;
		padding-bottom: 40px;
	}
	.feature-box p{
		padding-left: calc(100% - 196px);
		text-align: left;
		font-size: 12px;
	}
	.feature-box p::after{
		top: 25px;
	}
	.feature-box a{
		text-decoration: none;
	}

}

/* =============
works
============= */
.works-section{
	background-image: url(../img/worksbg.jpg);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
	background-position: center center;	
	padding: 120px 0;
}
.works-box{
	display: flex;
	gap: 30px;
	padding-top: 80px;
}
.works-box-item{
	width: 33%;

}
.works-box-item_title h3{
	color: #fff;
	background-color: #000;
	text-align: center;
	font-weight: 600;
}
.works-box-item_img{
	padding-top: 40px;
	padding-bottom: 20px;
}
.works-txt{
	max-width: 992px;
	width: 100%;
	margin: 0 auto;
}
.works-link{
	padding-top: 40px;
}
.works-section .cntr .works-link p{
	text-align: right;
	position: relative;
	letter-spacing: 1px;
    font-weight: 600;
	margin-right: 40px;
}
.works-section .cntr .works-link p::after{
	content: "";
	background-image: url(../img/arrow-hover.svg);
	position: absolute;
	width: 16px;
	height: 16px;
	top: 6px;
	right: -30px;
}
.works-txt a{
	text-decoration: underline;
}
@media(max-width:768px){
	.works-section{
		padding: 40px 0;
	}
	.works-box{
		flex-direction: column;
		padding-top: 40px;
		gap: 20px;
	}
	.works-box-item{
		width: 100%;
	}
	.works-box-item_img{
		padding-top: 20px;
	}
	.works-box-item_img img{
		width: 100%;
	}
	.works-txt p{
		font-size: 12px;
	}
	.works-section .cntr .works-link{
		padding-right: 0;
	}
	.works-section .cntr .works-link p{
		padding-left: calc(100% - 170px);
    	text-align: left;
    	font-size: 12px;
		margin-right: 40px;
	}
	.works-section .cntr .works-link p::after{
		top:25px ;
	}
	.works-txt a{
		text-decoration: none;
	}
}