@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Pacifico);

/* reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
q:before,q:after{content:'';}
object,embed{vertical-align:top;}
legend{display:none;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
img,abbr,acronym,fieldset{border:0;}

body{
	font: 14px/1.9 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
	font-weight: 300;
	-webkit-text-size-adjust:100%;
	overflow-x: hidden;
	color: #000;
	background: #fff;
}

a{
	color: #0066ff;
	text-decoration: none;
}

a:hover, .active{
  /*text-decoration: underline;*/
  border-bottom: 1px solid #000;
}

a:active, a:focus,input:active, input:focus{outline:0;}


/* ヘッダー
------------------------------------------------------------*/
#header{
	text-align: center;
}

#header h1{
	padding-top: 20px;
}


#mainnav{
    width: 100%;
    z-index: 50;
    text-align: center;
    background-image: url(../img/topbg.png);
    background-size: contain;
    background-repeat: no-repeat;
    height: 180px;
}



#mainnav a{
	color: #000;
}

#mainImg{
	position: relative;
  overflow: hidden;
  width: 100%;
  height: 528px;

/*  margin-top: 121px; */

}

#mainImg img{
	position: absolute;
  left: 50%;
	max-width: 1280px;
  width: 1280px;
  height: 528px;
  margin-left: -640px;
}


/* フッター
------------------------------------------------------------*/
#footer{
	clear: both;
	padding: 50px 10px 50px 0;
	text-align: center;
	font-size: 12px;
	margin-bottom: 100px;
}


/* 共通
------------------------------------------------------------*/


.contw{
  width: 100% !important;
}


img{
	max-width: 100%;
	height: auto;
}

section{
	clear:both;
/*margin-top: -121px;*/ /* 固定ナビの高さ分のネガティブマージン */
padding-top: 121px; /* 打ち消し用のパディング */
/*	padding-top: 70px;*/
}

#sec00{
	clear:both;
margin-top: 60px;
padding-top: -60px;
}

#sec00 h2{
margin-bottom: 0px;
}

#sec00 p.box1{
margin-top: 15px;
margin-bottom: 15px;
}

#sec00 h3{
margin-top: 10px;
margin-bottom: 10px;
}

.alcen{
	text-align: center;
}


section h2{
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	/*margin: 0 auto 40px;*/
	font-size: 22px;
	font-weight:normal;
	text-align: center;
	background: url(../images/borderBlack.png) repeat-x 0 50%;
	background-size: 1px 1px;
}

section h2 span {
	background: #fff;
	padding: 0 80px;
}

.inner{
	width: 94%;
	margin: 0 auto;
	padding-bottom: 50px;
}

.innerS{
	text-align: center;
	width: 60%;
	margin: 0 auto;
	padding-bottom: 40px;
}
.innerC{
	text-align: center;
}

.innerB{
	margin: 0 auto;;
}



.stin{
padding-bottom: 10px;
}


/* SEC02 Gallery
------------------------------------------------------------*/


#gallery li{
	float: left;
	width: calc(100%/3);
	line-height: 0;
}

#gallery img{
	width: 100%;
	height: auto;
}


/* SEC03 PROJECT
------------------------------------------------------------*/
#sec03 img{
	width: 100%;
	margin-bottom: 30px;
}


/* SEC04 BRAND
------------------------------------------------------------*/
.col3 img{
	display: block;
	margin: 0 auto 5px;
}

.col3 li{
	line-height: 2.0;
}

.col3 .img{
	padding: 80px 50px;
	margin-bottom: 40px;
	line-height: 0 !important;
	background: #f6f6f6;
}

#sec04_02{
	background: url(../images/bgSec04.jpg) no-repeat 100% 100% fixed;
	background-size: cover;
	-webkit-background-size: cover;
	text-align: center;
	padding: 220px 20px;
}

#sec04_02 img{
	width: auto;
}


		.gaiyou {
    		/*width: 650px;*/
    		margin: 0 auto;
		}
		
		.gaiyou strong {
			font-family:HG行書体;
			font-size:24px;
		}
		
		.gaiyou dl {
    		margin: 40px 0 0;
		}
		
		.gaiyou dl dt {
			width: 130px;
			padding: 20px 0;
			color: #0C59B8;
			float: left;
		}
		
		.gaiyou dl dd {
			padding: 20px 0 20px 130px;
			border-bottom: 1px solid #eee;
			color: #666;
		}
		
		dl {
			display: block;
			-webkit-margin-before: 1em;
			-webkit-margin-after: 1em;
			-webkit-margin-start: 0px;
			-webkit-margin-end: 0px;
		}
		
		dt {
    		display: block;
		}
		
		dd {
			display: block;
			-webkit-margin-start: 40px;
			vertical-align: top;
		}

.team{
    padding-bottom: 15px;
}

a.btn_02 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 40%;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #27acd9;
	background: #ea5664;
	color: #fff;
	transition: 0.5s;
text-shadow: none;
}
a.btn_02:hover {
	color: #27acd9;
	background: #fff;
}

.syoku {
    padding-right: 0px !important;
    padding-left: 0px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}
.syokunaka {
    padding-right: 15px !important;
    padding-left: 15px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

@media only screen and (max-width: 768px){
.syoku {
    padding-right: 15px !important;
    padding-left: 15px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}
.oubobtn{
 margin: 0 auto;
}
a.btn_02{
    width: 100%;
}
.kakou1{
    padding-left: 15px;
    padding-right: 15px;
}
}



/* SEC05 COMPANY
------------------------------------------------------------*/
#sec05 p{
	margin-bottom: 5px;
}

.col2 li{
	display: inline-block;
	width: 100%;
	margin: 20px 0;
}

#sns img{
	padding: 35px 10px 5px 0;
}

#sns a:hover img{
	opacity: .8;
}

#map{
	position: relative;
	padding-bottom: 75%;
	height: 0;
	overflow: hidden;
	z-index: 0;
}

#map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	border: 0;
}


    .stimg{
    padding-right: 5px !important;
    padding-left: 5px !important;
}



/* RESPONSIVE 設定
------------------------------------------------------------*/

@media only screen and (min-width: 1200px){
	.inner{
		width: 1024px;
	}
}

@media only screen and (min-width: 800px){
	body{
		font-size:14px;
	}
	
  a#menu{
		display:none;
	}	

	.panel{
		display:block !important;
		/*padding-top: 80px;*/
	}

	#mainnav li{
		display: inline-block;
		padding: 5px 25px;
		font-size: 15px;
	}
	
	
	/* SEC03 PROJECT
	-----------------*/
	.col3{
		text-align: center;
	}

	.col3 li{
		display: inline-block;
		width: 28%;
		padding: 0 2.5% 50px;
		margin-bottom: 0;
		vertical-align: top;
		text-align: left;
	}
	
  #footer{
		padding: 30px 10px 70px 0;
	}
}


@media only screen and (min-width: 641px){
	.col2 li{
		width: 60%;
		vertical-align: top;
	}
	.col2 li:first-child{
		width: 35%;
		padding-right: 4%;
	}
}

#sec04_03{
display: none;
}

@media only screen and (max-width: 960px){
	.innerS{
		text-align: center;
		width: 94%;
		/*padding-bottom: 70px;*/
	}
	.innerC{
	text-align: center;
	}
	.col3 li{
		line-height: 1.7;
	}
	.col3 img{
		margin: 0 auto;
	}
	.col3 .img{
		padding: 30px;
		margin-bottom: 20px;
	}
	#gallery li{
		float: none;
		width: 100%;
	}
	#map iframe{
		width: 96% !important;
		left: 2%;
	}
	#sec04_02{
		padding: 50px 20px;
		background-image: url(../images/bgSec04_2.jpg);
		background-attachment: fixed;
		background-repeat: no-repeat;
		background-size: cover;
		-webkit-background-size: cover;
		text-align: center;
	}

_::-webkit-full-page-media, _:future, :root #sec04_02{
display: none;
}

.iphone #sec04_02{
display: none;
}

/*
_::-webkit-full-page-media, _:future, :root #sec04_03{
display: block;
}
*/
	.is-fixed {
		
	}
}

@media only screen and (max-width: 799px){
	#header{
		position: fixed;
		width: 100%;
		z-index: 500;
	}
	
	#headerWrap{
		position: relative;
		width: 100%;
		height: 70px;
		background: #fff;
		border-bottom: 1px solid #ccc;
	}
	
	#header h1{
		padding-top: 10px;
	}
	
	#header h1 img{
		margin-top: 3px;
		max-height: 45px;
		width: auto !important;
	}

  a#menu{
  	display: inline-block;
  	/*position: fixed;
  	width: 40px;
  	height: 40px;*/
  	margin: 30px;
	}

	#menuBtn{
  	display: block;
  	position: absolute;
  	/*top: 60%;
  	left: 50%;*/
  	width: 18px;
  	height: 2px;
  	margin: -1px 0 0 -7px;
  	background: #000;
  	transition: .2s;
	}

	#menuBtn:before, #menuBtn:after{
  	display: block;
  	content: "";
  	position: absolute;
  	top: 50%;
  	left: 0;
  	width: 18px;
  	height: 2px;
  	background: #000;
  	transition: .3s;
	}

	#menuBtn:before{
  	margin-top: -7px;
	}

	#menuBtn:after{
  	margin-top: 5px;
	}

	a#menu .close{
  	background: transparent;
	}

	a#menu .close:before, a#menu .close:after{
  	margin-top: 0;
	}

	a#menu .close:before{
  	transform: rotate(-45deg);
  	-webkit-transform: rotate(-45deg);
	}

	a#menu .close:after{
  	transform: rotate(-135deg);
  	-webkit-transform: rotate(-135deg);
	}

	.panel{
		width: 100%;
		display: none;
		overflow: hidden;
		position: relative;
		left: 0;
		top: 0;
		z-index: 100;
	}

	#mainnav{
		position: absolute;
		top: 0;
		width: 100%;
		text-align: right;
		z-index:500;
		height: unset;
		background-image: url(../img/topbg_sp.png);
		background-size: auto;
	}
	#mainnav p{
		margin-bottom: 0px;
	}

	#mainnav ul{
		border-bottom: 1px solid #ccc;
		background: #fff;
		text-align: left;
	}

	#mainnav li a{
		position: relative;
		display:block;
		padding:15px 25px;
		border-bottom: 1px solid #ccc;
		color: #000;
		font-weight: 400;
	}

	#mainnav li:first-child{

		display:none;

	}

	#mainnav li a:before{
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 5px;
		width: 6px;
		height: 6px;
		margin: -4px 0 0 0;
		border-top: solid 2px #000;
		border-right: solid 2px #000;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	#mainImg{
		padding-top: 60px;
		z-index: -100;
	}
	.col3 li{
		margin: 50px auto 0 auto;
		display: block;
	}
	section{
		padding-top: 10px;
	}
	section h2{
		margin: 0 auto 20px;
	}
	section h2 span {
		padding: 0 30px;
	}

.is-fixed {
  position: fixed;
  top: -10px;
  left: 0;
  z-index: 2;
  width: 100%;
  background-color:rgba(255,255,255,0.0);
}


}


.box1 {
    padding: 0.5em 1em;
   /* margin: 2em 0; */
    font-weight: bold;
    border: solid 3px #000000;
}



/* フォーム */

.forma{
	margin-bottom: -80px;
	z-index: 10;
	margin-top: 48px;
}
.forma input{
	border-radius:4px;
	padding-top:10px;
	padding-bottom:10px;
	border:0px;
	font-family: 'Roboto', 'sans-serif';
	font-weight: 300;
	font-size:13px;
	color:#555555;
	background:#ededed;
}
input:focus{
	//border:0;
	outline:none;
}
textarea:focus{
	//border:0;
	outline:none;
}
.name{
	margin-bottom:20px;
	margin-right: 10px;
	width:30%;
}
.name1{
	margin-bottom:20px;
	margin-right: 1%;
	width:32.6% !important;
}
.name2{
	margin-bottom:20px;
	margin-right: 0;
	width:32.6% !important;
}
.Email{
	margin-bottom:20px;
	width:403px;
}
.Subject{
	margin-bottom:20px;
	/*max-width: 816px;*/
}

textarea {
	border-radius:4px;
	padding-top:10px;
	padding-bottom:20px;
	border:0px;
	font-family: 'Roboto', 'sans-serif';
	font-weight: 300;
	font-size:13px;
	color:#555555;
	background:#ededed;
	border:none;
	height: 353px;
    resize: none;
	margin-top:10px;
   }

.Message{
	margin-top:10px;
   }

.forma input:focus, .forma textarea:focus{
	background:#dfdfdf;
	border:0;
}
.forma .cBtn a{
	font-family: 'Roboto', 'sans-serif';
	font-weight: 700;
	font-size:13px;
	color:#fff;
}

.forma .cBtn ul{
	margin-left: -15px;
	margin-top: 6px;
	padding-left:0;
	margin-bottom: 0;
}
.forma .cBtn ul i{
	padding-right: 10px;
}
.forma .cBtn .clear , .cBtn .send{
	margin-bottom: 0;
	margin-top: 4px;
	padding: 10px;
	padding-right: 17px;
	padding-left: 17px
	
}
.forma .cBtn .clear  a, .cBtn .send a{
	font-family: 'Roboto', 'sans-serif';
	font-weight: 700;
}
.forma .cBtn .send{
	box-shadow: 0px 2px 0px 0px #179abf;
	background:#1fcdff ;
}
.forma .cBtn .send:hover{
	background:#2f2f2f;
	box-shadow: 0px 2px 0px 0px #000 ;
}

/*
@media only screen and (max-width: 768px){
.name1{
	margin-bottom:20px;
	margin-right: 1%;
	width:30% !important;
}
}
*/

/* ついてくるメニュー */
.is-fixed {
  position: fixed;
  top: 0px;
  left: 0;
  z-index: 2;
  width: 100%;
  background-color:rgba(255,255,255,0.5);
}



.box3{
text-align: center;
    margin-left: auto;
    margin-right: auto;
    white-space: nowrap;
    display: inline-block;
}

.boxtext{
background-color: #fff;
}




/* スライダー */

@import "bourbon";
/*---- NUMBER OF SLIDE CONFIGURATION ----*/
$num-of-slide: 5;

.wrapper {
    max-width: 60em;
    margin: 1em auto;
    position: relative;
}

/*
input {
    display: none;
}
*/

.inner {
    width: percentage($num-of-slide);
    line-height: 0;
}

article {
    width: percentage(1/$num-of-slide);
    float: left;
    position: relative;

    img {
        width: 100%;
    }
}

/*---- SET UP CONTROL ----*/
.slider-prev-next-control {
    height: 50px;
    position: absolute;
    top: 50%;
    width: 100%;
    @include transform(translateY(-50%));

    label {
        display: none;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: #fff;
        opacity: 0.7;

        &:hover {
            opacity: 1;
        }
    }
}

.slider-dot-control {
    position: absolute;
    width: 100%;
    bottom: 0;
    text-align: center;

    label {
        cursor: pointer;
        border-radius: 5px;
        display: inline-block;
        width: 10px;
        height: 10px;
        background: #bbb;
        @include transition(all 0.3s);

        &:hover {
            background: #ccc;
            border-color: #777;
        }
    }
}

/* Info Box */
.info {
    position: absolute;
    font-style: italic;
    line-height: 20px;
    opacity: 0;
    color: #000;
    text-align: left;
    @include transition(all 1000ms ease-out 600ms);

    h3 {
        color: #fcfff4;
        margin: 0 0 5px;
        font-weight: normal;
        font-size: 1.5em;
        font-style: normal;
    }

    &.top-left {
        top: 30px;
        left: 30px;
    }

    &.top-right {
        top: 30px;
        right: 30px;
    }

    &.bottom-left {
        bottom: 30px;
        left: 30px;
    }

    &.bottom-right {
        bottom: 30px;
        right: 30px;
    }
}

/* Slider Styling */
.slider-wrapper {
    width: 100%;
    overflow: hidden;
    border-radius: 5px;
    box-shadow: 1px 1px 4px #666;
    background: #fff;
    background: #fcfff4;
    @include transform(translateZ(0));
    @include transition(all 500ms ease-out);

    .inner {
        @include transform(translateZ(0));
        @include transition(all 800ms cubic-bezier(0.77, 0, 0.175, 1));
    }
}

/*---- SET POSITION FOR SLIDE ----*/
%bind-prev-next-button {
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
    margin: 0;
    line-height: 38px;
    font-size: 3em;
    display: block;
    color: #777;
}

%bind-next-button {
    @extend %bind-prev-next-button;
    content: "\f105";
    padding-left: 15px;
}

%bind-next-label {
    display: block;
    float: right;
    margin-right: 5px;
}

%bind-prev-label {
    display: block;
    float: left;
    margin-left: 5px;
}

%bind-prev-button {
    @extend %bind-prev-next-button;
    content: "\f104";
    padding-left: 8px;
}

%bind-background-active-dot {
    background: #333;
}

%bind-opacity-info {
    opacity: 1;
}

@for $i from 1 through $num-of-slide {
    #slide#{$i}:checked {
        & ~ .slider-wrapper .inner {
            margin-left: percentage(1 - $i);
        }

        & ~ .slider-dot-control label:nth-child(#{$i}) {
            @extend %bind-background-active-dot;
        }

        & ~ .slider-wrapper article:nth-child(#{$i}) .info {
            @extend %bind-opacity-info;
        }
    }
}

@for $i from 1 through ($num-of-slide - 1) {
    #slide#{$i}:checked {
        & ~ .slider-prev-next-control label:nth-child(#{$i +1}) {
            @extend %bind-next-label;

            &::after {
                @extend %bind-next-button;
            }
        }
    }
}

#slide#{$num-of-slide}:checked ~ .slider-prev-next-control label:nth-child(1) {
    @extend %bind-next-label;

    &::after {
        @extend %bind-next-button;
    }
}

@for $i from 2 through $num-of-slide {
    #slide#{$i}:checked {
        & ~ .slider-prev-next-control label:nth-child(#{$i - 1}) {
            @extend %bind-prev-label;

            &::after {
                @extend %bind-prev-button;
            }
        }
    }
}

#slide#{1}:checked ~ .slider-prev-next-control label:nth-child(#{$num-of-slide}) {
    @extend %bind-prev-label;

    &::after {
        @extend %bind-prev-button;
    }
}

/*---- TABLET ----*/
@media only screen and (max-width: 850px) and (min-width: 480px) {
    .slider-wrapper {
        border-radius: 0;
    }
}



#top{
    background-image: url(../images/bg1.png);
    background-repeat: no-repeat;
    background-size: cover;
	-webkit-background-size: cover;
    background-position: unset;
    background-attachment: fixed;
    text-shadow: 1px 1px 0 #fff,
               -1px 1px 0 #fff,
               1px -1px 0 #fff,
               -1px -1px 0 #fff;
}
    /*background-image: url(../images/bg3.png);*/
/*---- MOBILE----*/
@media only screen and (max-width: 480px) {
    .slider-wrapper {
        border-radius: 0;
    }



    .slider-wrapper .info {
        opacity: 0;
    }
}

@media only screen and (min-width: 850px) {
    body {
        /*padding: 0 80px;*/
    }

    .blcen{
        padding: 0 140px;
    }



}

@media only screen and (max-width: 768px) {
/*
#top{
    background-image: none;
    background-image: url(../images/bg3.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: unset;
    background-attachment: fixed;
	-webkit-background-size: contain;
    text-shadow: 1px 1px 0 #fff,
               -1px 1px 0 #fff,
               1px -1px 0 #fff,
               -1px -1px 0 #fff;
    }
#top{
    background-image:  url(../images/bg3.png);
    background-size: contain;
    }
*/
#top {background:none} /*PC用の背景はオフ*/
body::before {
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
  background:url(../images/bg1.png) center/cover no-repeat; /*fixedをトル！*/
  -webkit-background-size:cover;/*Android4*/
  }

.alcen{
    /*display: none;*/
}

}


.kakou th  {
width: 30%;
text-align: left;
background: #f4f4f4;
padding: 10px;
border: 1px
solid #ddd;
}

.kakou td  {
text-align: left;
padding: 10px;
border: 1px
solid #ddd;
}
 
@media only screen and (max-width:480px){
    .kakou { margin: 0 -10px; }
    .kakou th,
    .kakou td{
    width: 100%;
    display: block;
    border-top: none;
    }
  .kakou tr:first-child th { border-top: 1px solid #ddd; }
}

.kakou1 {
text-align: center;
margin: auto;
}

.kakou1 img{
text-align: center;
margin: auto;
}

.kakou {
text-align: center;
margin: auto;
width: 100%;
}



/*メールフォーム*/

#formWrap {
	width:700px;
	margin:0 auto;
	color:#555;
	line-height:120%;
	font-size:90%;
}
table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
table.formTable td,table.formTable th{
	border:1px solid #ccc;
	padding:10px;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#efefef;
	text-align:left;
}
.soshin{
    margin-top: 30px;
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}


/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
@media screen and (max-width:572px) {
#formWrap {
	width:95%;
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	margin-top:5px;
	border-bottom:0;
}
input[type="text"], textarea {
	/*width:80%;*/
	padding:5px;
	font-size:110%;
	display:block;
}
input[type="submit"], input[type="reset"], input[type="button"] {
	display:block;
	width:100%;
	height:40px;
}
section h2{
	font-size: 15px;
}
.row{
	    display: block;
}

.youtube {
top: 60px;

    margin-bottom: 60px;
    position: relative;
}


}



/*
.boxtext p{
    max-width: 40%;
}
*/

.row{
	display: flex;
	flex-wrap: wrap;
}



#menuWrap{
margin: 0px;
}


.qanda-main{
padding: 0;
}

.pritop {
    margin-top: 8vh;
}

@media only screen and (max-width: 768px){
.pritop {
    margin-top: 15vh;
}
}

/*
@media screen and (max-width:572px) {
.row{
	    display: block;
}
}
*/


/*サファリ

_::-webkit-full-page-media, _:future, :root ＩＤとかクラス {
		 display: block;な感じのスタイル
}

*/


