@charset "utf-8";

@-ms-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.pc{display:block!important;}
.sp{display:none!important;}

img{
	display:block;
}

p{
	margin-bottom:2.5rem;
}


/*header
----------------------------------------------------*/
header{
	position:fixed;
	top:0;
	width:100%;
	height:60px;
	background:#FFF;
	z-index:9;
}

header.fixnavi{
	background:rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(10px);
	transition: 1.5s;
}

header h1{
	width:230px;
	padding:10px 0 10px 20px;
}

header h1 img{
	width:auto;
	height:40px;
	display:block;
}


/*navigation
----------------------------------------------------*/
#headIn{
	position:absolute;
	top:12px;
	right:20px;
	width:calc(100% - 230px);
	text-align:right;
}

#headIn nav ul li{
	margin:0 0.8rem;
	font-size:14px;
	display:inline;
}

#headIn nav ul li a{
	position:relative;
	color:#000;
	text-decoration:none;
	line-height:1.0;
	display:inline-block;
}

#headIn nav ul li:last-child a{
	padding:3px 20px 6px 24px;
	background:linear-gradient(to left top, #FFB057, #FFB057);
	border-radius:50px;
	color:#000;
	border:1px solid #FFB057;
	overflow: hidden;
	z-index: 1;
	transition: color 150ms ease-in-out;
	vertical-align:middle;
}

#headIn nav ul li a:before{
	content: "";
	position: absolute;
	 left: 0;
	bottom: -4px;
	width: 100%;
	height: 2px;
	background: #333;
	transform: scale(0, 1);
	transform-origin: left;
	transition: 0.4s;
}

#headIn nav ul li a:hover:before {
	transform: scale(1);
}

#headIn nav ul li:last-child a:after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 100%;
  background: #FFF;
  z-index: -1;
  transition: width 150ms ease-in-out;
}

#headIn nav ul li:last-child a:hover {
  border:1px solid #FFB057;
  color: #000;
}

#headIn nav ul li:last-child a:hover:after {
  width: 110%;
}


/*Contents layout
----------------------------------------------------*/
section{
	position:relative;
	width:100%;
	display:block;
	clear:both;
}

section:after,
.contents:after,
ul:after,
dl:after{
	visibility: hidden;
	display: block;
	font-size: 0px;
	content: " ";
	clear: both;
	height: 0;
}

.contents{
	position:relative;
	width:1200px;
	margin:0 auto;
}

.path{
	width:100%;
	margin-bottom:30px;
	padding-top:110px;
	font-size:14px;
}

.path ul{
	width:1000px;
	margin:10px auto 60px auto;
	display:block;
}

.path ul li{
	display:inline;
}

.path ul li:before{
	content:" > "
}

.path ul li:first-child:before{
	content:"";
}

.btn{
	padding:10px 40px 10px 15px;
	border:1px solid #CCC;
	background:url(../img/icon_link1.png) no-repeat right 10px center / 6px , rgba(255, 255, 255, 0.7);
	text-align:left;
	text-decoration: none!important;
}


/*top mv
----------------------------------------------------*/
#mv{
	position: -webkit-sticky;/*Safari*/
	position: sticky;
	top:0;
	background:url(../img/bg_mv.jpg) no-repeat center / cover; 
}

#mv .contents{
	height:calc(85vh + 60px);
	padding-top:60px;
	display:flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

#mv .box_left{
	width:550px;
	margin-right:250px;
	
}

#mv .box_right{
	width:400px;
}

#mv .box_left p{
	margin-bottom:20px;
	font-family:'Poppins', sans-serif;
	font-size:30px;
	color:#FFF;
}

#mv .box_left h1{
	margin-bottom:20px;
}

#mv .box_left h1 img{
	width:100%;
	height:auto;
}

#mv .box_left h2{
	font-size:30px;
	font-weight:bold;
	color:#252525;
	line-height:1.4;
}

#mv ul li{
	font-family:'Poppins', sans-serif;
	font-size:18px;
	font-weight:bold;
	line-height:3;
	color:#252525;
}

#mv ul li span{
	padding:5px 10px;
	background:#FFF;
}

#mv .box_right p{
	margin:10px 0 0 0;
}

#mv .box_right p .btn{
	font-size:14px;
	font-weight:bold;
	font-family:'Poppins', sans-serif;
}


/*top about
----------------------------------------------------*/
.sec_about{
	padding-bottom:150px;
	background:#FFF;
}

.box_about01{
	margin-bottom:150px;
	background:url(../img/bg_about01.jpg) no-repeat center / cover;
}

.mask{
	padding:50px 0;
	background:linear-gradient(to right, #252525, rgba(37, 37, 37, 0.5) 50%, rgba(255, 255, 255, 0) 70% );
	color:#FFF;
}

.sec_about .box_left{
	width:1200px;
	margin:0 auto;
}

.box_about01 h2{
	font-size:60px;
	font-family:'Poppins', sans-serif;
}

.box_about01 h2 span{
	color:#FF8A00;
}

.sec_about .box_left div{
	width:500px;
}

.sec_about .box_left div h3{
	font-weight:bold;
}

.box_about02{
	margin-top:120px;
	padding-top:50px;
	background:url(../img/bg_about02.jpg) no-repeat top right / 60% 280px;
}

.box_about03{
	padding-top:50px;
	background:url(../img/bg_about03.jpg) no-repeat top left / 60% 280px;
}

.box_about02 .box_txt{
	position:relative;
	float:left;
	width:600px;
	margin:0 0 0 50px;
	padding:40px;
	background:#FFF;
}

.box_about03 .box_txt{
	position:relative;
	float:right;
	width:600px;
	margin:0 50px 0 0;
	padding:40px;
	background:#FFF;
}

.box_about02 .box_txt h2,
.box_about03 .box_txt h2{
	margin-bottom:10px;
	font-size:24px;
}

.box_about02 .box_txt img{
	position:absolute;
	top:-50px;
	left:-50px;
	width:370px;
	height:auto;
}

.box_about03 .box_txt img{
	position:absolute;
	bottom:-30px;
	right:-50px;
	width:325px;
	height:auto;
}


/*top service
----------------------------------------------------*/
.sec_service{
	padding-bottom:100px;
	background:#FFF;
}

.mv_service{
	height:300px;
	margin-bottom:80px;
	padding-top:190px;
	background:url(../img/bg_service.jpg) no-repeat center center / cover;
}

.mv_service h2{
	font-size:60px;
	font-family:'Poppins', sans-serif;
	color:#FFF;
	display:inline-block;
}

.mv_service h2 span{
	color:#FF8A00;
}

.mv_service p{
	margin-left:1em;
	color:#FFF;
	display:inline-block;
}

.sec_service .contents:has(dl){
	display:flex;
	justify-content: center;
	flex-wrap: wrap;
}

.sec_service dl{
	width:370px;
	margin:0 0 50px 45px;
}

.sec_service dl:first-child{
	margin:0;
}

.sec_service dl dt img{
	width:auto;
	height:80px;
	margin:0 auto 30px auto;
}

.sec_service dl dd h3{
	margin-bottom:10px;
	font-size:18px;
}


/*top works
----------------------------------------------------*/
.sec_works{
	padding-bottom:100px;
	background:#EFEFEF;
}

.mv_works{
	height:300px;
	margin-bottom:80px;
	padding-top:190px;
	background:url(../img/bg_works.jpg) no-repeat center center / cover;
}

.mv_works h2{
	font-size:60px;
	font-family:'Poppins', sans-serif;
	color:#FFF;
	display:inline-block;
}

.mv_works h2 span{
	color:#FF8A00;
}

.mv_works p{
	margin-left:1em;
	color:#FFF;
	display:inline-block;
}

.sec_works .contents:has(dl){
	display:flex;
	justify-content: center;
	flex-wrap: wrap;
}

.sec_works dl{
	width:370px;
	margin:0 0 50px 45px;
}

.sec_works dl:first-child{
	margin:0;
}

.sec_works dl dt img{
	width:100%;
	height:auto;
	margin:0 auto;
}

.sec_works dl dd{
	padding:18px;
	background:#FFF;
	font-size:18px;
}


/*top voice
----------------------------------------------------*/
.sec_voice{
	padding:80px 0 100px 0;
	background:url(../img/bg_voice.jpg) no-repeat center top / cover;
}

.sec_voice h2{
	font-size:60px;
	font-family:'Poppins', sans-serif;
	line-height:1.4;
	color:#FFF;
	text-align:center;
}

.sec_voice h2 span{
	color:#FF8A00;
}

.sec_voice h2 + p{
	margin-bottom:50px;
	color:#FFF;
	text-align:center;
}

.sec_voice .contents{
	display:flex;
	flex-wrap: wrap;
}

.sec_voice .contents div{
	width:580px;
	margin:0 40px 40px 0;
	padding:30px 30px 20px 30px;
	background:#FFF;
}

.sec_voice .contents div:nth-of-type(2n){
	margin:0 0 40px 0;
}

.sec_voice .contents div.w100{
	width: 100%;
	margin:0 0 40px 0;	
}

.sec_voice .contents div p{
	margin-bottom:10px;
}

.sec_voice .contents div p.name{
	font-size:14px;
	text-align:right;
	color:#999;
}

.sec_voice .contents div a{
	text-decoration: underline;
	color: #000;
}



/*下層
----------------------------------------------------*/
.mid{
	background:url(../img/bg_contents.png) no-repeat left top / 90%;
}

.mid_inner{	
	-webkit-animation-duration:1.5s;
	-ms-animation-duration:1.5s;
	animation-duration:1.5s;
	-webkit-animation-name: mid_inner;
	-ms-animation-name: mid_inner;
	animation-name: mid_inner;
}

@keyframes mid_inner {
	0% { opacity: 1; background:url(../img/bg_contents_mask.png) no-repeat 0 top / 90%; }
	100% { opacity: 1; background:url(../img/bg_contents_mask.png) no-repeat 0 -1500px / 90%; }
}

.mid_inner .ttl{
	width:1200px;
	margin:0 auto 40px auto;
	padding-top:160px;
}

.mid_inner .ttl h1{
	margin:0;
	padding:10px 20px;
	background:#333/*#FF8A00*/;
	color:#FFF;
	font-family: 'Poppins', sans-serif;
	font-size:60px;
	line-height:1.0;
	display:inline-block;
}

.mid_inner .ttl h1 em{
	font-style: normal;
	color: #FF8A00;
}

.mid_inner .ttl h1 span{
	padding-left:1em;
	font-family: "Noto Sans JP";
	font-size:16px;
}

.mid_inner .contents{
	padding:80px;
	background:rgba(255, 255, 255, .8);
}

.mid_inner .contents h2{
	margin-bottom:40px;
	/*padding-top:60px;
	font-size:30px;
	clear:both;*/
	
	padding-top: 55px;
	background: url(../img/icon_ttl.png) no-repeat top left;
	font-size: 40px;
	letter-spacing: 0.3rem;
	color: #000;
}

.mid_inner .contents h2 span {
  padding: 5px 0 30px 0;
  font-size: 16px;
  display: block;
}

/*.mid_inner .contents h2:nth-of-type(1){
	padding-top:0;
}*/



/*Service
----------------------------------------------------*/
/*.mid_inner .box_service dl{
	float:left;
	width:46%;
	margin:0 8% 8% 0;
}

.mid_inner .box_service dl:nth-of-type(2n){
	margin-right:0;
}

.mid_inner .box_service dl dt{
	margin-bottom:20px;
	font-size:18px;
	color:#000;
	line-height:1.2;
}*/

.mid_inner .box_service dl{
	margin:0 0 8% 0;
	display:flex;
}

.mid_inner .box_service dl dt{
	width:40%;
	margin-bottom:20px;
	font-size:18px;
	color:#000;
	line-height:1.2;
}

.mid_inner .box_service dl dd{
	width:60%;
	margin-bottom:20px;
	font-size:18px;
}


.mid_inner .box_service dl dt{
	padding-left:90px;
	min-height:70px;
	display:flex;
	/*justify-content: center;*/
	align-items: center;
}

.mid_inner .box_service dl dt.menu01{ background:url(../img/icon_service04.png) no-repeat left center / 70px; }
.mid_inner .box_service dl dt.menu02{ background:url(../img/icon_service05.png) no-repeat left center / 70px; }
.mid_inner .box_service dl dt.menu03{ background:url(../img/icon_service06.png) no-repeat left center / 70px; }
.mid_inner .box_service dl dt.menu04{ background:url(../img/icon_service07.png) no-repeat left center / 70px; }
.mid_inner .box_service dl dt.menu05{ background:url(../img/icon_service08.png) no-repeat left center / 70px; }
.mid_inner .box_service dl dt.menu06{ background:url(../img/icon_service09.png) no-repeat left center / 70px; }
.mid_inner .box_service dl dt.menu07{ background:url(../img/icon_service10.png) no-repeat left center / 70px; }
.mid_inner .box_service dl dt.menu08{ background:url(../img/icon_service11.png) no-repeat left center / 70px; }
.mid_inner .box_service dl dt.menu09{ background:url(../img/icon_service12.png) no-repeat left center / 70px; }

.lightbox{
	display:none;
}

.featherlight-content{
	max-width:800px;
	padding:50px;
}

.mid_inner .box_service a{
	color:#000;
	text-decoration: underline;
}


/*Works
----------------------------------------------------*/
.mid_inner .box_archive dl{
	float:left;
	width:30%;
	margin:0 5% 5% 0;
	padding:0;
	background:#FFF;
	border-left:0;
	text-align:center;
	box-shadow:0 5px 5px #EEE;
}

.mid_inner .box_archive dl:nth-of-type(3n){
	margin-right:0;
}

.mid_inner .box_archive dl img{
	width:100%;
	height:auto;
}

.mid_inner .box_archive dl dd{
	padding:20px 0;
}


/*contact
---------------------------------------------------- */
.sec_contact form{
	margin-bottom:60px;
}

.sec_contact table{
	width:100%;
	margin-bottom:20px;
}

.sec_contact th,td{
	padding:15px 0;
	/*border-bottom:1px solid #CCC;*/
	text-align:left;
	vertical-align:top;
}

.sec_contact th{
	font-weight:normal;
}

input,
textarea,
select{
	width:100%;
	padding:10px;
	border:1px solid #CCC;
	border-radius:5px;
}

.sec_contact .cap{
	color: #847559;
    font-size: 0.8em;
}

.sec_contact .btn_submit{
	width:340px;
	height:80px;
	border:0px;
	background:url(../img/btn_send.png);
	cursor:pointer;
}

.sec_contact .policy{
	width:100%;
	height:150px;
	padding:20px;
	margin-bottom:30px;
	background:#FFF;
	border:1px solid #CCC;
	overflow:auto;
	overflow-y:scroll;
	box-sizing:border-box;
}

.sec_contact .box_kakomi02{
	padding:30px;
	background:#F5F4F1;
}

.btn_confirm{
	position: relative;
	width:250px;
	margin:0 10px;
	padding:10px 0 12px 0;
	background:linear-gradient(to left, #FFB057, #FFB057);
	border-radius:50px;
	font-family: "Noto Sans JP";
	font-size:20px;
	font-weight:bold;
	color:#000;
	text-align:center;
	display:block;
	border:2px solid #FFB057;
	overflow: hidden;
	z-index: 1;
	transition: color 150ms ease-in-out;
	cursor:pointer;
	display:inline-block;
}

.btn_back{
	position: relative;
	width:250px;
	padding:10px 0 12px 0;
	padding:10px 0;
	background:linear-gradient(to left, #757575, #757575);
	border-radius:50px;
	font-family: "Noto Sans JP";
	font-size:20px;
	font-weight:bold;
	color:#FFF;
	text-align:center;
	display:block;
	border:2px solid #FFF;
	overflow: hidden;
	z-index: 1;
	transition: color 150ms ease-in-out;
	cursor:pointer;
	display:inline-block;
}

.btn_confirm:hover,
.btn_back:hover{
	opacity:0.7;
}

.error-form{
	border:2px solid #D90000;
}

.error{
	color:#D90000;
}


/*sitemap
---------------------------------------------------- */
.ul_sitemap li{
	position:relative;
	margin-bottom:1.5em;
	padding-left:50px;
	font-size:20px;
}

.ul_sitemap li::after {
  position: absolute;
  top: 50%;
  left: 0;
  content: "";
  width: 30px;
  height: 3px;
  background: #FFCC00;
  display: block;
}






/*page top
--------------------------------------------*/
#page-top{
	position: fixed;
	right: 2%;
	z-index:999;
}

#page-top a{
	width:50px;
	height:50px;
	padding-top:18px;
	background:#FFF;
	display:block;
}

#page-top a:hover{
	opacity:0.70;
	filter: alpha(opacity=70);
}

#page-top a img{
	width:20px;
	height:auto;
	margin:auto;
	display:block;
}

.page-top2 a{
	margin-top:-110px;
}


/*cookie
--------------------------------------------*/
.cookie-consent {
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	bottom: 0;
	width: 100%;
	font-size: 12px;
	color: #fff;
	background: rgba(0,0,0,.7);
	padding: 1.2em;
	padding-left:5.5em;
	box-sizing: border-box;
	visibility: hidden;
	z-index:3;
}

.cookie-consent.is-show {
	visibility: visible;
}

.cookie-agree,
.cookie-reject {
	width:9em;
	color: #fff;
	background: dodgerblue;
	padding: .5em 0;
	margin-left: 20px;
	text-align:center;
}

.cookie-reject {
	width:9em;
	color: dodgerblue;
	background: #FFF;
	padding: .5em 0;
	margin-left: 20px;
}

.cookie-consent a{
	color:#FFF;
	text-decoration:underline;
}

.cookie-consent .close{
	position:absolute;
	left:20px;
	padding:0 6px;
	border:1px solid #FFF;
	cursor:pointer;
}

.cookie-consent .close:hover{
	background:#FFF;
	color:#000;
}

.cookie-agree:hover,
.cookie-reject:hover {
	cursor: pointer;
}
/* パッと消える */
.cc-hide1 {
	display: none;
}
/* ゆっくり消える */
.cc-hide2 {
	animation: hide 1s linear 0s;
	animation-fill-mode: forwards;
}

.cc-hide3 .cookie-text,
.cc-hide3 .cookie-agree,
.cc-hide3 .cookie-reject {
	animation: hide 1s linear 0s;
	animation-fill-mode: forwards;
}

@keyframes hide {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
		visibility: hidden;
	}
}

.cookie-text-attention{
	position:absolute;
	opacity: 0;
	visibility: hidden;
}

.cc-hide3 .cookie-text-attention{
	opacity: 1;
	animation: visible 1s linear 0s;
	animation-fill-mode: forwards;
}

.cc-hide3 .cookie-text-attention.hide{
	opacity: 0;
	visibility: hidden;
	animation:none;
}

@keyframes visible {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
		visibility: visible;
	}
}


/*footer
----------------------------------------------------*/
footer{
	position:relative;
	padding:50px 0 15px 0;
	background:#333;
	font-family:'Poppins', sans-serif;
	text-align:center;
	z-index:1;
	
	/*luxy用設定*/
	padding-bottom:700px;
}

.mid footer{
	padding-bottom:15px;
}

footer h2{
	width:200px;
	margin:0 auto 20px auto;
	font-size:14px;
}

footer h2 img{
	width:100%;
	height:auto;
	display:block;
}

footer ul li{
	margin:0 10px 30px 10px;
	display:inline-block;
}

footer a{
	color:#FFF!important;
}





#headIn nav ul li:last-child a{
	
}

a.btn2{
	position:relative;
	width:118px;
    line-height: 1.0;
	
	
	padding:3px 20px 6px 24px;
	background:linear-gradient(to left top, #FFB057, #FFB057);
	border-radius:50px;
	color:#000!important;
	border:1px solid #FFB057;
	overflow: hidden;
	z-index: 1;
	transition: color 150ms ease-in-out;
	vertical-align:middle;
}

a.btn2:after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 100%;
  background: #FFF;
  z-index: -1;
  transition: width 150ms ease-in-out;
	border-radius:50px;
}

a.btn2:hover {
  border:1px solid #FFB057;
  color: #000!important;
  opacity:1;
}

a.btn2:hover:after {
  width: 110%;
}

footer .copyright{
	margin-top:50px;
	font-size:12px;
	color:#FFF;
}

.grecaptcha-badge{
    z-index:9999;
}