@charset "UTF-8";

body {
	margin: 0;
	padding: 0;
	/*  Background fallback in case of IE8 & down, or in case video doens't load, such as with slower connections  */
	background-attachment: fixed;
	background-size: cover;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight:500;
	font-size:14px;
	overflow-x:hidden;
	color:#192652;
}

article {
	position:relative;
}

h2, h3, h4 {
	font-weight:normal;
}


a:link {
	opacity:1;
	transition:0.5s;
}

a:hover {
	opacity:0.5;
	transition:0.5s;
}


.inner, .inner02 {
	padding-left:15px;
	padding-right:15px;
	overflow:hidden;
}

img {
	max-width:100%;
}


@media screen and (min-width: 900px) {
	article {
		margin-bottom:70px;
	}
	
	.inner {
		padding-left:0;
		padding-right:0;
	}
	
	.inner02 {
		max-width:1020px;
		margin-left:auto;
		margin-right:auto;
	}
	
	body {
		font-size:16px;
	}
	
	.tb-none {
		display:none;
	}
}


@media screen and (min-width: 900px) {
	.pc-none {
		display:none;
	}
}


/*interval
-------------------------------------------*/
.interval {
	background-size:cover;
	height:150px;
}


/*footer
-------------------------------------------*/



/*ＰＣ版メニュー
-------------------------------------------*/

.pcmenu {
	display:none;
}


@media screen and (min-width: 1150px) {
.pcmenu {
	display:block;
	height:90px;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	z-index: 11;
}

.pc-logo {
	font-weight:normal;
	float:left;
	line-height:1em;
	margin:20px 0 0 30px;
	width:200px;
}

.pc-logo a {
	display:block;
}


.pcmenu ul {
	float:right;
	margin-right:20px;
}

.pcmenu li {
	display:inline-block;
	padding:0 15px 0 15px;
	margin:30px 0 0 0;
	line-height:1em;
}

.pcmenu li:first-child {
	border-left:none;
}

.pcmenu li.sns-btn {
	padding:30px 0 0 20px;
}

.pcmenu li.sns-btn img {
	width:20px;
	vertical-align:middle;
}

.pcmenu a {
	text-decoration:none;
	color:#fff;
}
}

/*スマートフォン版メニュー
-------------------------------------------*/

.menu,
.menu span {
display: inline-block;
-webkit-transition:all .4s;
transition: all .4s;
box-sizing: border-box;
}

.menu {
  position: fixed;
  top: 20px;
  right:  20px;
  width: 25px;
  height: 22px;
  z-index: 10;
	background:none;
	border:none;
}

.menu span {
position: absolute;
left: 0;
width: 100%;
height: 2px;
background-color: #C4B68A;
z-index: 10;
}

.menu span:nth-of-type(1) {
top: 0px;
}

.menu span:nth-of-type(2) {
top: 10px;
}

.menu span:nth-of-type(3) {
bottom: 0px;
}

.menu.active span:nth-of-type(1) {
-webkit-transform: translateY(10px) rotate(45deg);
transform: translateY(10px) rotate(45deg);
}

.menu.active span:nth-of-type(2) {
opacity: 0;
}

.menu.active span:nth-of-type(3) {
-webkit-transform: translateY(-10px) rotate(-45deg);
transform: translateY(-10px) rotate(-45deg);
}

#nav {
position: fixed;
top: 0;
right: 0;
z-index: 10;
width: 100%;
height: 100vh;
opacity: 0;
background: rgba(0, 0, 0, 0.95);
transition: all 0.3s ease-in-out;
visibility:hidden;

}

#nav.active{
right: 0;
opacity: 1;
-moz-transform: translateX(0);
-webkit-transform: translateX(0);
transform: translateX(0);
visibility: visible;
}

#nav ul{
margin:20px 0;
padding:20px 0;
}

#nav ul li{
list-style-type: none;
}

#nav ul li a{
display: inline-block;
padding: 20px 0;
transition: all 0.2s ease-in-out;
text-align: center;
text-decoration: none;
color: #fff;
}
#nav ul li a:hover {
color: #ccc;
}


.sp-logo {
	width:100%;
	width:150px;
	margin:15px 0 0 20px;
	padding-bottom:20px;
	position:absolute;
}

@media screen and (min-width: 1150px) {
	.menu, .sp-logo {
		display:none;
	}
}

/*余白・横幅
---------------------------------------*/
.section {
	padding-left:25px;
	padding-right:25px;
	padding-top:50px;
	margin-left:auto;
	margin-right:auto;
}

@media screen and (min-width: 900px) {
	.section {
		max-width:1050px;
		padding-top:80px;
	}
}



/*見出し
---------------------------------------*/






/*modaal
---------------------------------------*/
.modaal-container {
	max-width:500px;
}

.modaal-container h2 {
	font-size:1.8em;
	text-align:center;
	padding-bottom:15px;
	margin-bottom:30px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	border-bottom:1px solid #fff;
}

.modaal-container ul {
	margin-top:20px;
	list-style:disc;
	margin-left:1.2em;
}

.modaal-noscroll {
	overflow-y: scroll;
}


/*mainv
---------------------------------------*/

#mainv {
	background:url(../img/mainv-bg.jpg) no-repeat center center;
	background-size:cover;
	height:90vw;
	display:table-cell;
	width:100vw;
	vertical-align:middle;
	color:#fff;
}

@media screen and (min-width: 900px) {
	#mainv {
		background:url(../img/mainv-bg.jpg) no-repeat center center;
		background-size:cover;
		height:70vh;
	}
}

#mainv p {
	padding:0 50px;
}


/*service
---------------------------------------*/
#service {
	text-align:left;
	background-size:cover;
}

.service-inner {
	background:rgba(35,26,19,1);
	color:#fff;
	padding:50px 25px 60px 25px;
}

#service a:link, #service a:visited {
	color:#fff;
}

@media screen and (min-width: 900px) {
	.service-box {
		display:table;
		width:100%;
	}
	
	.service-box li {
		display:table-cell;
	}
	
	.service-inner {
		width:62.5%;
	}
	
	.service-inner {
		padding:100px 10% 130px 10%;
	}
	
	.service-box li.pc-only {
		background:url(../img/service-bg-pc.jpg) no-repeat center center;
		background-size:cover;
	}
}


/*works
---------------------------------------*/
#works {
	text-align:left;
	color:#FFF;
}



.works-inner {
	background:rgba(1,20,75,1);
	padding:50px 25px 60px 25px;
}

@media screen and (min-width: 900px) {
	.works-box {
		display:table;
		width:100%;
	}
	
	.works-box li {
		display:table-cell;
	}
	
	.works-inner {
		width:62.5%;
	}
	
	.works-inner {
		padding:100px 10% 130px 10%;
	}
	
	.works-box li.pc-only {
		background:url(../img/works-bg-pc.jpg) no-repeat center center;
		background-size:cover;
	}
}


/*profile
---------------------------------------*/
#profile {
	text-align:left;
	color:#fff;
	background:url(../img/profile-bg-pc.jpg) no-repeat right top;
	background-size:cover;
}


@media screen and (min-width: 900px) {
	#profile {
		text-align:left;
		padding-left:37.5%;
		background:url(../img/profile-bg-pc.jpg) no-repeat left top;
		background-size:cover;
	}
}

.profile-inner {
	background:rgba(35,26,19,0.8);
	padding:50px 25px 60px 25px;
}

@media screen and (min-width: 900px) {
	.profile-inner {
		padding:120px 10% 120px 10%;
	}
}

#profile a:link, #profile a:visited {
	color:#fff;
}

.list-01 li {
	list-style:disc;
	margin-left:20px;
}


/*info
---------------------------------------*/
#info {
	text-align:left;
	background:url(../img/info-bg.jpg) no-repeat left top;
	background-size:cover;
	padding:50px 25px 60px 25px;
}

#info table {
	border-top:1px solid #D4DCE3;
}

#info th {
	font-weight:normal;
	min-width:6em;
}

#info th, #info td {
	padding:10px 0;
	border-bottom:1px solid #D4DCE3;
}

.info-box {
	padding-top:30px;
}

@media screen and (min-width: 900px) {
	#info {
		padding:120px 0;
	}
	
	.info-inner {
		padding-left:80px;
		padding-right:80px;
	}
	
	.info-box {
		width:48%;
		float:right;
		padding-top:60px;
	}
	.info-box:first-child {
		float:left;
	}
	
}


/*access
---------------------------------------*/

.access-inner {
	padding:50px 25px 60px 25px;
}

@media screen and (min-width: 900px) {
	.access-inner {
		padding:120px 80px 50px 80px;
	}
}

@media screen and (max-width: 900px) {
	.sp-mt-15 {
		margin-top:15px;
	}
}

#access iframe {
	width:100%;
	height:500px;
	vertical-align:bottom;
}


/*contact
---------------------------------------*/

#contact{
	padding:50px 0;
	background:url(../img/contact-bg.jpg) no-repeat center top;
	background-size:cover;
	color:#fff;
}

#contact ul {
	margin-left:25px;
	margin-right:25px;
}

#contact li {
	padding:10px 0 0 0;
}


@media screen and (min-width: 900px) {
	#contact {
		padding:120px 80px 100px 80px;
	}
	#contact li {
		display:inline-block;
		padding:0 10px;
	}
}

@media screen and (min-width: 952px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}


/*footer
---------------------------------------*/
#footer {
	padding:30px 0;
}

@media screen and (max-width: 899px) {
	#footer img {
		width:150px;
	}
}


@media screen and (min-width: 900px) {
	#footer {
		padding:80px 0;
	}
}

.footer-nav li {
	display:inline-block;
	padding:0 10px;
}

.copy {
	color:#666;
	font-size:80%;
}