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

★汎用モジュールクラスを格納

-------------------------------------------------------

build:2018-01
lastupdate:2018-01
version:1.1
author:om

-------------------------------------------------------

★目次
00.header
01.footer
02.content
03.about us
04.service
05.works
06.news
07.contact


---------------------------------------------------- */
img{
	pointer-events: none;
}

@media screen and (max-width: 767px) {
    img {
		-webkit-touch-callout:none;
		-webkit-user-select:none;
		-moz-touch-callout:none;
		-moz-user-select:none;
		touch-callout:none;
		user-select:none;
	}
}

/* ■00.header
--------------------------------------------------- */
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 50px;
  height: 22px;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #333;
  border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 10px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
	transform: translateY(10px) rotate(-45deg);
  }
  .menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
  }
  .menu-trigger.active span:nth-of-type(3) {
	transform: translateY(-10px) rotate(45deg);
  }

.drawer button { display: none; }
.drawer-hamburger{ width: 26px; }
.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-nav,
.drawer--right.drawer-open .drawer-navbar .drawer-hamburger{
	position: fixed;
	top: 35px;
	right: 20px;
	bottom: 0;
	z-index: 1000;
	overflow-y: hidden;
}
.btn_menu{ width: 26px; height: 48px; }
.btn_menu img{ width: 100%; }

.drawer-overlay{ background: none; }

.drawer-hamburger:hover { opacity: 0.6; }
.drawer-nav{ background: #fff no-repeat 0 0 / 100% auto; height: 100%; }
.drawer-nav h2{
	width: 80%;
	margin: 30px auto 10px;
}
.drawer-nav h2 img{ width: 100%; }
.drawer-nav .list{
	padding-top: 100px;
	width: 100%;
	margin: auto;
}
.drawer-nav .list li{ 
	margin-top: 40px;
 }
 .drawer-nav .list li:first-child { margin-top: 0; }
.drawer-nav .list li a{
	font-size: 16px;
	color: #000;
	text-decoration: none;
	display: block;
	padding: 0px;
	transition:all 0.4s ease-in-out;
	-webkit-transition:all 0.4s ease-in-out;
	display: block;
}

.drawer-nav .list li a .consul-mini{
	font-size: 80%;
	color: #1a1a1a;
}

.drawer-nav .list li a:hover{ opacity: 0.6; }
.drawer-nav .list li a span{
	display: block;
	color: #017659;
	font-size: 80%;
}

.drawer-nav dl{ max-width: 80%; margin: auto; }
.drawer-nav dt{
	font-size: 15px;
	text-align: center;
	margin: 20px 0 10px;
}
.drawer-nav dd{ font-size: 13px; margin-bottom: 5px; }
.drawer-nav dd a{
	background: url(../img/ico_arrow.png) no-repeat left center / 4px auto;
	padding-left: 15px;
	color: #000;
}

.drawer-nav.drawer-menu{
	height: 100%;
}

header {
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	z-index: 101;
	transition: .5s;
}
header.is-fixed {
	background: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,0.15);
}

header .inner {
	width: 90%;
	padding: 20px 0;
	max-width: 1200px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header .logo {
	max-width:  230px;
	transition: .5s;
}
header.is-fixed .logo {
	max-width:  170px;
}
header .logo img {
	width: 100%;
}
header nav {
	width: 60%;
	max-width: 540px;
}
header .nav__list {
	display: flex;
	justify-content: space-between;
}
header .nav__list li a {
	text-decoration: none;
	color: #444;
	transition: .5s;
}
header .nav__list li a:hover {
	opacity: .6;
}
header .nav__list li img {
	max-width: 30px;
}
/* ■01.footer
--------------------------------------------------- */


/* ■02.mainimg
--------------------------------------------------- */

.mainimg .innar{
	max-width: 1200px;
	width: 90%;
	margin: auto;
	position: relative;
	z-index: 100;
}
.mainimg img { width: 100%; }
.mainimg .info_box {
	max-width: 50%;
	padding-top: 160px;
}
.mainimg .info_box .catch {
	margin-bottom: 40px;
}
.mainimg .info_box .catch.pc_none{ max-width: 592px; }
.mainimg .info_box .catch.sp_none{}
.mainimg .box {
	padding: 25px 30px;
	background: rgba(255, 255, 255,0.75);
	border: solid 1px #ccc;
}
.mainimg h3 { max-width: 85px; margin-bottom: 20px; }
.mainimg dl { font-size: 13px; }
.mainimg dt { font-weight: bold; }
.mainimg a { color: #000; }
.mainimg a:hover{ text-decoration: none; }

.mainimg .scroll{
	width: 63px;
	height: 54px;
	position: absolute;
	bottom: 10px;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 100;
}

.mainimg { position:relative; background-color: #FFF; }
.mainimg ul.slide li{
	position: relative;
	overflow: hidden;
	width: 100%;
	text-align: center;
}
.mainimg ul.slide{ width: 100%; }
.mainimg ul.slide li span img.Opening__img{
	max-width: inherit;
	width: 100%;
	height: auto;
}

@media screen and (max-width: 1199px) {
	.mainimg header nav {
		display: none;
	}
}

/* ■08.footer
--------------------------------------------------- */
footer{
	text-align: center;
	background: #333;
	color: #fff;
	padding: 10px;
}
footer address{ font-style: normal; }

.confilm_bg{ background: url(../img/contact_bg.gif) repeat; }
.form_kani{
	padding: 60px 0;
	width: 90%;
	margin: auto;
}
.form_kani .logo{ max-width: 270px; margin: auto; margin-bottom: 40px; }
.form_kani .logo img{ width: 100%; }
.form_kani h2{ margin-bottom: 20px; font-weight: bold; }
.form_kani .btntop{ max-width: 425px; margin: 30px auto; }
.form_kani .btntop img{ width: 100%; }

/* ■02.横幅1120px以上（PC用）スクロールバー対策で+20pxを指定する
--------------------------------------------------- */
@media screen and (min-width:1120px) {
	/* ▼PC用================================================================== */

	.sp_none{ display: none; }
	.pc_none{ display: block; }

	/* ■01.header
	--------------------------------------------------- */

	/* ■06.contact
	--------------------------------------------------- */

	.flow_form:after{content:""; display:block; clear:both;}
	.flow_form{display:inline-block;} 
	.flow_form{display:block;}
	.flow_form{ width: 60%; margin: 0 auto; }
	.flow_form li{ 
		display: inline-block;
		width: 180px;
		float: left;
		margin-left: 30px;
	}
	.flow_form li:first-child{ margin-left: 0; }

	/* form */

	#formwrap dl dd.item_content{　display:table-cell; padding: 3px; }

	.form_txt{ text-align: center; }

	/* 住所_conf */
	.address_conf dt { display: inline; margin-right: 10px; }
	.address_conf dd { display: inline-block; width: auto; }


	


	/* ▲PC用================================================================== */
}


/* ■03.横幅768px以上、1119px以下（Tab用）スクロールバー対策で+20pxを指定する
--------------------------------------------------- */
@media screen and (min-width:768px) and (max-width:1119px) {
	/* ▼Tab用================================================================= */

	.sp_none{ display: none; }
	.pc_none{ display: block; }

	/* ■00.header
	--------------------------------------------------- */

	
	.drawer button {
		display: block;
	}
	header nav { display: none; }.drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-nav, .drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
		left: auto !important;
		right: 20px !important;
		z-index: 200;
	}
	.drawer--right .drawer-hamburger{
		height: 22px;
		width: 26px;
		padding: 11px;
	}
	.drawer--right.drawer-open .drawer-nav {
		top: 0!important;
		right: 0 !important;
		box-shadow: 0 0 40px 40px rgba(0,0,0,0.2);
		z-index: 199;
	}
	.btn_menu{ width: 100%; height: auto; }
	.drawer-nav {
		/* width: calc(80% - 80px);
		padding: 0 40px; */
	}
	.drawer-menu {
		padding: 0 40px;
	}
	.drawer-nav li{ line-height: 16px; font-size: 90%; }
	.drawer-nav li a{ text-align: left; }
	.drawer-nav li a span{ font-size: 60%; }
	.drawer-nav dt{ margin: 10px 0; }
	.drawer__contact {
		margin-top: 40px;
	}
	.drawer__contact a {
		display: block;
		color: #fff;
		text-decoration: none;
		background: #424242;
		width: 100%;
		text-align: center;
		padding: 12px 0;
	}
	.drawer__contact a img {
		position: relative;
		top: -4px;
		max-width: 20px;
		margin-right: 10px;
	}
	.drawer__logo { 
		border-top: solid 1px #ccc;
		padding-top: 40px;
		margin-top: 40px;
	 }
	.drawer__logo a { display: block; }
	.drawer__logo a img {
		width: 100%;
	}
	/* ■01.mainimg
	--------------------------------------------------- */

	.mainimg { background-position: bottom right 43%; }
	.mainimg .info_box { max-width: 70%; }

	/* ▲Tab用================================================================= */
}

/* ■04.横幅767px以下（SP用）
--------------------------------------------------- */
@media screen and (min-width:0px) and (max-width:767px) {
	/* ▼SP用================================================================ */

	.sp_none{ display: block; }
	.pc_none{ display: none; }


	/* ■00.header
	--------------------------------------------------- */
	
	header nav { display: none; }
	.drawer button {
		display: block;
	}
	.drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-nav, .drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
		left: auto !important;
		right: 20px !important;
		z-index: 200;
	}
	.drawer--right .drawer-hamburger{
		height: 22px;
		width: 26px;
		padding: 11px;
	}
	.drawer--right.drawer-open .drawer-nav {
		top: 0!important;
		right: 0 !important;
		box-shadow: 0 0 40px 40px rgba(0,0,0,0.2);
		z-index: 199;
	}
	.btn_menu{ width: 100%; height: auto; }
	.drawer-nav {
		/* width: calc(80% - 80px);
		padding: 0 40px; */
	}
	.drawer-menu {
		padding: 0 40px;
	}
	.drawer-nav li{ line-height: 16px; font-size: 90%; }
	.drawer-nav li a{ text-align: left; }
	.drawer-nav li a span{ font-size: 60%; }
	.drawer-nav dt{ margin: 10px 0; }
	.drawer__contact {
		margin-top: 40px;
	}
	.drawer__contact a {
		display: block;
		color: #fff;
		text-decoration: none;
		background: #424242;
		width: 100%;
		text-align: center;
		padding: 12px 0;
	}
	.drawer__contact a img {
		position: relative;
		top: -4px;
		max-width: 20px;
		margin-right: 10px;
	}
	.drawer__logo { 
		border-top: solid 1px #ccc;
		padding-top: 40px;
		margin-top: 40px;
	 }
	.drawer__logo a { display: block; }
	.drawer__logo a img {
		width: 100%;
	}
/*	.drawer_close{ margin: 10px auto; }*/

	
	/* ■01.mainimg
	--------------------------------------------------- */

	.mainimg {  }
	.mainimg .logo{ width: 70%; right: 20px; }
	.mainimg .info_box { max-width: 60% ;margin-left: 20px; padding-top: 120px; }
	.mainimg .scroll{ width: 43px; height: 34px; }
	.mainimg dl:nth-child(4) { display: none; }
	

	/* ▲SP用================================================================ */
}

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

		/* 送信ボタン cssタイプ */
		.sendarea tr td{ text-align:center; }
		select{ height:1.8em; }
	}