@charset "utf-8";

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

@viewport {
  width: device-width;
}


@media screen and (max-width:1200px){
	
body{
	font-size:1.4vw;
}


/*Contents layout
----------------------------------------------------*/
.contents{
	width:94%;
}


/*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);
}

#mv .box_left{
	width:55%;
	margin-right:5%;
	
}

#mv .box_right{
	width:40%;
}

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

#mv .box_left h2{
	font-size:2.8vw;
}

#mv ul li{
	font-size:1.6vw;
}

#mv .box_right p .btn{
	font-size:1.6vw;
}


/*top about
----------------------------------------------------*/
.sec_about .box_left{
	width:94%;
	margin:0 auto;
}

.box_about01 h2{
	font-size:6.0vw;
}

.box_about02 .box_txt h2,
.box_about03 .box_txt h2{
	font-size:2.4vw;
}


/*top service
----------------------------------------------------*/
.mv_service h2{
	font-size:6.0vw;
}

.sec_service dl{
	width:30%;
	margin:0 0 50px 5%;
}


/*top works
----------------------------------------------------*/
.mv_works h2{
	font-size:6.0vw;
}

.sec_works dl{
	width:30%;
	margin:0 0 50px 5%;
}

.sec_works dl dd{
	font-size:1.6vw;
}


/*top voice
----------------------------------------------------*/
.sec_voice h2{
	font-size:6.0vw;
}

.sec_voice .contents div{
	width:48%;
	margin:0 4% 40px 0;
}

.sec_voice .contents div p.name{
	font-size:1.4vw;
}


/*下層
----------------------------------------------------*/
.mid_inner .contents{
	padding:50px;
}

/*Service
----------------------------------------------------*/
.mid_inner .box_service dl dt{
	width:35%;
}

.mid_inner .box_service dl dd .btn{
	display:block;
}

}



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

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size:3.6vw
}
	
.pc{display:none!important;}
.sp{display:block!important;}	


/*sp button
-------------------------------------------------*/
#triggerBox{
    position: fixed;
    top: 10px;
    right: 3vw;
	width: 50px;
	height: 40px;
    z-index: 99999;
}
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 100%;
	height: 100%;
	/*background: linear-gradient(to left top, #15EAB5, #10D86F);*/
	display: block;
}
.menu-trigger span {
    position: absolute;
    left: 12px;
    width: 26px;
    height: 2px;
    background-color: #252525;
}
.menu-trigger span:nth-of-type(1) {
    top: 15px;
}
.menu-trigger span:nth-of-type(2) {
	top: 21px;
}
/*.menu-trigger span:nth-of-type(3) {
	bottom: 18px;
}*/
.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(2px) rotate(-30deg);
	transform: translateY(2px) rotate(-30deg);
}
/*.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}*/
.menu-trigger.active span:nth-of-type(2) {
	-webkit-transform: translateY(-4px) rotate(30deg);
	transform: translateY(-4px) rotate(30deg);
}


/*navigation
-------------------------------------------------*/
#headIn{
	overflow: auto;
	position: fixed;
	width:100%;
	height:100%;
	left: auto;
	top: 60px;
	right: 0px;
    background: rgba(255,255,255,.95);
	/*background:url(../img/bg_mv.jpg) no-repeat center;*/
	background-size:100% 100%;
    -webkit-overflow-scrolling: touch;
    z-index: 10000;
}

@keyframes show{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}

#headIn{
    display: none;
}

#headIn.active{
    display: block;
    animation: show 0.3s linear 0s;
}

header #headIn nav{
	height:100vw;
	margin:auto 0;
	display:flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

header #headIn nav ul{
    padding: 0 5%;
	display:block;
}

#headIn nav ul li{
	margin:0;
	display:block;
}

#headIn nav ul li a{
	padding:1.5em 0;
	font-size:4.4vw;
	text-align:center;
	display:block;
}

#headIn nav ul li:last-child{
	margin-top:1em;
}

#headIn nav ul li:last-child a{
	padding:0.8em 1em;
}

#headIn nav ul li a:before,
#headIn nav ul li:last-child a:after{
	display:none;
}

#headIn nav ul li:last-child a:hover {
  color: #FFF;
}

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


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

#mv .contents{
	height:auto;
	padding:12vw 0;
	display:block;
}

#mv .box_left{
	width:100%;
	margin-right:0;
	text-align:center;
	
}

#mv .box_right{
	width:100%;
}

#mv .box_left p{
	margin:6vw auto 3vw 0;
	font-size:5vw;
	line-height:1.4;
}

#mv .box_left h1{
	margin-bottom:4vw;
}

#mv .box_left h1 img{
	width:80%;
	height:auto;
	margin:0 auto;
}

#mv .box_left h2{
	margin-bottom:6vw;
	font-size:5vw;
}

#mv ul li{
	font-size:4vw;
	display:inline-block;
}

#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:20vw;
}

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

.mask{
	padding:10vw 0;
	background:rgba(0, 0, 0, .7);
	color:#FFF;
}

.sec_about .box_left{
	width:94%;
	margin:0 auto;
}

.box_about01 h2,
.box_about01 h2 span{
	font-size:12vw;
}

.sec_about .box_left div{
	width:100%;
}

.sec_about .box_left div h3{
	font-size:4vw;
}

.box_about02{
	margin-top:0;
	padding:20vw 0 10vw 0;
	background:url(../img/bg_about02.jpg) no-repeat right top / 100% 36vw;
}

.box_about03{
	padding-top:20vw;
	background:url(../img/bg_about03.jpg) no-repeat left -10vw / 100% 36vw;
}

.box_about02 .box_txt,
.box_about03 .box_txt{
	position:relative;
	float:none;
	width:94%;
	margin:0 auto;
	padding:6vw;
}

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

.box_about02 .box_txt img{
	position:absolute;
	top:54vw;
	left:3%;
	width:60%;
	height:auto;
}

.box_about03 .box_txt img{
	position:absolute;
	bottom:-6vw;
	right:3%;
	width:60%;
	height:auto;
}


/*top service
----------------------------------------------------*/
.sec_service{
	padding-bottom:20vw;
}

.mv_service{
	height:60vw;
	margin-bottom:16vw;
	padding-top:36vw;
	background:url(../img/bg_service.jpg) no-repeat left center / cover;
}

.mv_service h2,
.mv_service h2 span{
	font-size:12vw;
	line-height:1.0;
	display:inline-block;
}

.mv_service p{
	margin-left:0;
	display:block;
}

.sec_service .contents:has(dl){
	display:block;
}

.sec_service dl{
	width:100%;
	margin:0 0 10vw 0;
}

.sec_service dl dt img{
	width:auto;
	height:16vw;
	margin:0 auto 4vw auto;
}

.sec_service dl dd h3{
	margin-bottom:2vw;
	font-size:4vw;
}


/*top works
----------------------------------------------------*/
.sec_works{
	padding-bottom:20vw;
}

.mv_works{
	height:60vw;
	margin-bottom:16vw;
	padding-top:36vw;
	background:url(../img/bg_works.jpg) no-repeat -100vw center / cover;
}

.mv_works h2,
.mv_works h2 span{
	font-size:12vw;
	line-height:1.0;
	display:inline-block;
}

.mv_works p{
	margin-left:0;
	display:block;
}

.sec_works .contents:has(dl){
	display:block;
}

.sec_works dl{
	width:100%;
	margin:0 0 8vw 0;
}

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

.sec_works dl dd{
	padding:4vw;
	font-size:4vw;
}


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

.sec_voice h2,
.sec_voice h2 span{
	font-size:12vw;
	line-height:1.0;
}

.sec_voice h2 + p{
	margin-bottom:10vw;
}

.sec_voice .contents{
	display:block;
}

.sec_voice .contents div{
	width:100%;
	margin:0 0 8vw 0;
	padding:6vw 6vw 4vw 6vw;
}

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

.sec_voice .contents div p{
	margin-bottom:2vw;
}

.sec_voice .contents div p.name{
	font-size:3.4vw;
}


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

.mid_inner .ttl{
	width:100%;
	margin:0 auto 8vw auto;
	padding-top:28vw;
}

.mid_inner .ttl h1{
	padding:4vw 4vw;
	font-size:10vw;
}

.mid_inner .ttl h1 em{
	font-size:10vw;
}

.mid_inner .ttl h1 span{
	padding:0.5em 0 0 0;
	font-size:3.6vw;
	display:block;
}

.mid_inner .contents{
	width:100%;
	padding:6vw;
}

.mid_inner .contents h2{
	margin-bottom:8vw;
	padding-top: 10vw;
	background: url(../img/icon_ttl.png) no-repeat top left;
	font-size: 8vw;
}

.mid_inner .contents h2 span {
  padding: 5px 0 6vw 0;
  font-size: 3.6vw;
}


/*Service
----------------------------------------------------*/
.mid_inner .box_service dl{
	margin:0 0 12vw 0;
	display:block;
}

.mid_inner .box_service dl dt{
	width:100%;
	margin-bottom:3vw;
	font-size:4.0vw;
}

.mid_inner .box_service dl dd{
	width:100%;
	margin-bottom:4vw;
	font-size:3.6vw;
}

.featherlight-content{
	max-width:90%;
	padding:6vw;
}


/*Works
----------------------------------------------------*/
.mid_inner .box_archive dl{
	width:47%;
	margin:0 6% 6% 0;
}

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

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

.mid_inner .box_archive dl dd{
	padding:4vw 0;
}


/*contact
---------------------------------------------------- */
.sec_contact form{
	margin-bottom:12vw;
}

.sec_contact table{
	margin-bottom:4vw;
}

.sec_contact th,td{
	padding:0 0 2vw 0;
	display:block;
}

.sec_contact th{
	padding:4vw 0 2vw 0;
	border:0;
}

.sec_contact .policy{
	height:250px;
	padding:4vw;
	margin-bottom:6vw;
}

.sec_contact .box_kakomi02{
	padding:4vw;
}

.btn_back{
	margin-bottom:4vw;
}


/*sitemap
---------------------------------------------------- */
.ul_sitemap li{
	padding-left:10vw;
	font-size:4vw;
}

.ul_sitemap li::after {
  width: 6vw;
}


/*page top
--------------------------------------------*/
#page-top a{
	display:none;
}


/*footer
----------------------------------------------------*/
footer{
	padding:10vw 0 3vw 0;
	
	/*luxy用設定*/
	padding-bottom:130vw;
}

footer h2{
	width:50%;
	margin:0 auto 4vw auto;
	font-size:3.4vw;
}

footer ul li{
	margin:0 2vw 6vw 2vw;
}

footer .contents div a.btn2{
	position:relative;
	width:118px;
    line-height: 1.0;
	
	
	padding:6px 40px 9px 44px;
	background:linear-gradient(to left top, #15EAB5, #10D86F);
	border-radius:50px;
	color:#FFF;
	border:1px solid #10D86F;
	overflow: hidden;
	z-index: 1;
	transition: color 150ms ease-in-out;
	vertical-align:middle;
	font-size:4.4vw;
}


}