@charset "UTF-8";
/*
Theme Name: レスポンシブテンプレート
Theme URI: 
Description: サインズ
Version: 1.0
Author: sains
Author URI: 
*/

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&display=swap');

/******************
画像位置ぞろえ[共通]
******************/

img.aligncenter{
	display: block;
	margin-left: auto;
	margin-right: auto;
}

img.alignright{
	margin-left: auto;
	display:block;
}

img.alignleft{
	text-align: left;
}

/******************
オールクリア[共通]
******************/

body,div,pre,p,blockquote,
form,fieldset,input,textarea,select,option,
dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
table,th,td,embed,object{
	margin: 0;
	padding: 0;
}

body{
	font-family:'Noto Sans JP', sans-serif;
	font-size:96%;
	color:#323232;
	line-height:1.8em;
	-webkit-text-size-adjust: 100%;
	word-break: break-all;
}

img{
	border:none;
	vertical-align:bottom;
	max-width:100%;
	height:auto;
}

li{
	list-style-type:none;	
}

a{
	color:#323232;
	text-decoration:none;
	-webkit-transition: color 0.3s;
	transition: color 0.3s;
}

a:hover{
	color:#3252a3;
}

a img{
    -webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
		outline:none;
	box-shadow: #000 0 0 0;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

a:hover img{
	opacity:0.7;
	-moz-opacity:0.7;
	-webkit-opacity:0.7;
}

table{
	border-collapse:collapse;
	border-color: #333333;
}

th{
	font-weight:500;
}

td{
	vertical-align:top;
}


/******************
汎用[共通]
******************/

.float_left{
	float:left;
}

.float_right{
	float:right;
}

.clear{
	clear:both;
}

.cenclear{
	clear:both;
	text-align:center;
	padding-top:30px;
}

.txt_center{
	text-align:center;
}


/******************
全体[共通]
******************/

#wrapperTop,#wrapper{
	width:100%;
	overflow:hidden;
}


/******************
全体[スマートフォン]
******************/

@media screen and (max-width: 768px) {

body{
	font-size:90%;
}
.sp-none{
	display:none;
}

}

/******************
ヘッダー[PC]
******************/
#headerRight{
	float:right;
}
#headerTel{
	float:left;
	margin-top:18px;
}
#h-tel a{
	color:#004da0;
	font-weight:500;
	font-size:200%;
}
#h-tel span{
	letter-spacing:3px;
}
#h-time{
	color:#004da0;
	font-size:90%;
	padding-left:10px;
}
#headerMail{
	float:left;
	margin-left:20px;
}
#headerMail a{
	height:40px;
	background-color:#009fe8;
	color:#fff;
	text-align:center;
	display:block;
	padding:50px 20px 0;
	font-size:100%;
	font-family: 'Noto Serif JP',serif;
	background-image: url('./images/top/mail.png');
	background-repeat:no-repeat;
	background-position: center 20px;
	background-size: 30px auto;
	transition: .3s;
}
#headerMail a:hover{
	background-color:#00c5e8;
}
#headerMail i{
	font-size:140%;
}
#headerMail span{
	display:block;
}
#headerUpperBox{
	width:1100px;
	height:90px;
	margin: 0 auto;
	position: relative;
}

#headerMenuMainWrap{
	width:1100px;
	margin:0 auto;
}
@media screen and (max-width: 1120px) {
#headerUpperBox, #headerMenuMainWrap{
	width:99%;
	margin-left:1%;
}
#h-tel a{
	font-size:180%;
}
#h-time{
	font-size:80%;
}
}
@media screen and (min-width: 769px) and (max-width: 1120px) {

}
@media screen and (max-width: 768px) {
#headerRight{
	display:none;
}
}

/******************
ヘッダー【トップ＋コンテンツ共通】[PC+タブレット]
******************/

@media print,screen and (min-width: 769px) {
#wrapperTop,#wrapper{
}

#header{
	width:100%;
}

#headerLogo{
	float:left;
	padding:10px 0px 0px 0px;
}
#wrapperTop #headerMainBox{
	width:100%;
	height:70px;
	margin:0 auto;
	clear:both;
	background-color:rgba(0,25,150,0.6);
	position:absolute;
	top:90px;
	left:0;
	right:0;
	z-index:10;
}
#wrapper #headerMainBox{
	width:100%;
	height:70px;
	margin:0 auto;
	clear:both;
	background-color:rgba(0,25,150,0.6);
	position:absolute;
	z-index:10;
}

#wrapperTop .headerMenu{
	width:100%;
}

.headerMenu{

}

.headerMenu ul li{
	float:left;
	position: relative;
	text-align:center;
}

.headerMenu ul li a{
	display:block;
	width:100%;
	padding:20px 0 0;
	font-size:120%;
	font-weight:500;
	color:#fff;
	height:50px;
	transition: .3s;
	letter-spacing:0.1em;
}

.headerMenu ul li span{
	display:block;
}
/*
.headerMenu ul li a:hover{
	color:#004da0;
	background-color:#e6e6e6;
	transition: .3s;
}
*/
.headerMenu ul li:hover > a{
	color:#004da0;
	background-color:#e6e6e6;
	transition: .3s;
}
.headerMenu a:hover{
	text-decoration:none;
}

.headerMenu a.arrow:hover{
	cursor:default;
}

.headerMenu li ul{
	position:absolute;
	z-index:9999;
	top:100%;
	left:0;
	opacity:0;
	top:50%;
	visibility:hidden;
	transition:.5s;
	-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.75);
	-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.75);
	box-shadow:2px 2px 3px 0px rgba(0,0,0,0.75);
	width:185px;
}

.headerMenu li:hover ul{
	top:100%;
	visibility:visible;
	opacity:1;
	width:185px;
}

.headerMenu ul li ul li{
	position:relative;
	z-index:7000;
	float:none;
	text-align:left;
	width:100%;
	margin:0;
}

.headerMenu ul li ul li a{
	display:block;
	padding:15px 5px 15px 25px;
	background-color: rgba(255,255,255,0.9);
	position:relative;
	border-bottom:1px dotted #ccc;
	width:155px;
	color:#004da0;
	height:auto;
	font-size:95%;
}
.headerMenu ul li ul li a::before{
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	top: 27px;
	left: 8px;
	width: 8px;
	height: 6px;
	border-top: 1px solid #3252a3;
	-webkit-transform: rotate(30deg);
	transform: rotate(30deg);
	transition: .3s;
}
.headerMenu ul li ul li a::after{
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	top: 25px;
	left: 8px;
	width: 8px;
	height: 6px;
	border-bottom: 1px solid #3252a3;
	-webkit-transform: rotate(-30deg);
	transform: rotate(-30deg);
	transition: .3s;
}

.headerMenu ul li ul li a:hover{
	background-color: #e3e3e3;
}

.sphInquiryBox{
	display:none;
}
}

.headerMenu ul li{
	width:14.66%;
	margin:0 1%;
}


/******************
ヘッダー[スマートフォン]
******************/

@media screen and (max-width: 768px) {

body.headerMenuActive{
	position:fixed;
	width: 100%;
	height: 100%;
}

#wrapperTop,#wrapper{
	padding-top:67px;
}

#header{
	height:65px;
	z-index:2;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	transition: .3s;
	background-color:white;
	box-shadow:1px 1px 2px #ccc;
}

#headerLogo{
	padding:7px 0px 0px 10px;
	float:left;
	width:220px;
}

#hMenuBtnWrap {
	position:absolute;
	z-index:5500;
	top:2px;
	right:5px;
	width:55px;
	height:55px;
	cursor:pointer;
	-webkit-transition:opacity .2s ease .3s, top 0s ease .3s;
	-moz-transition:opacity .2s ease .3s, top 0s ease .3s;
	-ms-transition:opacity .2s ease .3s, top 0s ease .3s;
	transition:opacity .2s ease .3s, top 0s ease .3s;
	
}

#hMenuBtnWrap .hMenuBtnBox {
	padding:10px 11px 10px 8px;
	-webkit-transition:all .3s ease;
	-moz-transition:all .3s ease;
	-ms-transition:all .3s ease;
	transition:all .3s ease;
}

.hMenuBtnBox:after,
.hMenuBtnBox:before,
.hMenuBtnBox div.hMenuBtnMiddle:before {
	content:'';
	display:block;
	width:15px;
	height:2px;
	margin:2px 0;
	background-color:#92959E;
	-webkit-transition:all .25s ease;
	-moz-transition:all .25s ease;
	-ms-transition:all .25s ease;
	transition:all .25s ease;
	outline:1px solid transparent;
}

#header .morph-menu-active{
	position:fixed;
}

#header .morph-menu-active .hMenuBtnBox:after,
#header .morph-menu-active .hMenuBtnBox:before,
#header .morph-menu-active .hMenuBtnBox div.hMenuBtnMiddle:before {
	background-color:#fff;
}

#headerMenuWrap {
	position:relative;
	top:70px;
	width:100%;
	margin:0;
	padding:5px 0 20px 0;
	-webkit-transform:translate3d(0,0,0);
	-webkit-transition:all .2s ease;
	-moz-transition:all .2s ease;
	-ms-transition:all .2s ease;
	transition:all .2s ease;
}

#header .morph-menu-active{
	padding-top:7px;
}

.headerMenu{
	 width:100%;
	 height:100%;
}
.headerMenu ul li{
	margin:0;
}

#wrapperTop #header .headerMenu ul li,
#wrapper #header .headerMenu ul li{
	width:auto;
	text-align:left;
	overflow:hidden !important;
	float:none;
	height:auto;
}

#wrapperTop #header .headerMenu ul li a,
#wrapper #header .headerMenu ul li a{
	width:auto;
	font-size:4vw;
	line-height:2em;
	font-weight:500;
	margin:0;
	padding:9px 0 9px 21px;
	display:block;
	text-decoration:none;
	text-indent:0;
	height:auto;
	color:#535353;
	border-top:1px solid #cccccc;
}

#wrapperTop #header .headerMenu ul li:last-child a,
#wrapper #header .headerMenu ul li:last-child a{
	border-bottom:1px solid #cccccc;
}

#wrapperTop #header .headerMenu ul li ul li:last-child a,
#wrapper #header .headerMenu ul li ul li:last-child a{
	border-bottom:none;
}

.headerMenu ul li ul{
	display:none;
}

#wrapperTop #header .headerMenu ul li ul li a,
#wrapper #header .headerMenu ul li ul li a{
	padding-left:40px;
}

#wrapperTop #header .headerMenu p a,
#wrapper #header .headerMenu p a{
	text-indent:0;
	padding:0;
}

.headerMenu ul li.border a {
	padding-bottom:19px;
	margin-bottom:8px;
}

.headerMenu a li {
	font-size:16px;
	width:40px;
	margin-left:-8px;
	text-align:center;
	display:inline-block;
}

.headerMenu ul li a {
	opacity:0;
	-webkit-transform:translateX(30px);
	-moz-transform:translateX(30px);
	transform:translateX(30px);
	position:relative;
}

#header .headerMenuWrap-active .headerMenu ul li a {
	opacity:1;
	-webkit-transform:translateX(0);
	-moz-transform:translateX(0);
	transform:translateX(0);
}

.headerMenu ul li a.spToggle::before{
	content:'';
	right:22px;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	transform: rotate(135deg);
	background-color:transparent;
	top: 0px;
	bottom: 7px;
	width:10px;
	height:10px;
	border-top:3px solid #9398a3;
	border-right:3px solid #9398a3;
	left:auto;
	position:absolute;
	margin: auto;
	vertical-align:middle;
}

.headerMenu ul li a.open::before{
	-webkit-transform: rotate(315deg);
	-moz-transform: rotate(315deg);
	-ms-transform: rotate(315deg);
	-o-transform: rotate(315deg);
	transform: rotate(315deg);
	top: 7px;
	bottom: 0px;
}

#header .headerMenuWrap-active .headerMenu ul li:nth-child(1) a {
	-webkit-transition:opacity .3s ease .2s, -webkit-transform .5s ease .2s;
	-moz-transition:opacity .3s ease .2s, -moz-transform .5s ease .2s;
	transition:opacity .3s ease .2s, transform .5s ease .2s;
}

#header .headerMenuWrap-active .headerMenu ul li:nth-child(2) a {
	-webkit-transition:opacity .3s ease .25s, -webkit-transform .5s ease .25s;
	-moz-transition:opacity .3s ease .25s, -moz-transform .5s ease .25s;
	transition:opacity .3s ease .25s, transform .5s ease .25s;
}

#header .headerMenuWrap-active .headerMenu ul li:nth-child(3) a {
	-webkit-transition:opacity .3s ease .3s, -webkit-transform .5s ease .3s;
	-moz-transition:opacity .3s ease .3s, -moz-transform .5s ease .3s;
	transition:opacity .3s ease .3s, transform .5s ease .3s;
}

#header .headerMenuWrap-active .headerMenu ul li:nth-child(4) a {
	-webkit-transition:opacity .3s ease .35s, -webkit-transform .5s ease .35s;
	-moz-transition:opacity .3s ease .35s, -moz-transform .5s ease .35s;
	transition:opacity .3s ease .35s, transform .5s ease .35s;
}

#header .headerMenuWrap-active .headerMenu ul li:nth-child(5) a {
	-webkit-transition:opacity .3s ease .4s, -webkit-transform .5s ease .4s;
	-moz-transition:opacity .3s ease .4s, -moz-transform .5s ease .4s;
	transition:opacity .3s ease .4s, transform .5s ease .4s;
}

#header .headerMenuWrap-active .headerMenu ul li:nth-child(6) a {
	-webkit-transition:opacity .3s ease .45s, -webkit-transform .5s ease .45s;
	-moz-transition:opacity .3s ease .45s, -moz-transform .5s ease .45s;
	transition:opacity .3s ease .45s, transform .5s ease .45s;
}

#header .headerMenuWrap-active .headerMenu ul li:nth-child(7) a {
	-webkit-transition:opacity .3s ease .5s, -webkit-transform .5s ease .5s;
	-moz-transition:opacity .3s ease .5s, -moz-transform .5s ease .5s;
	transition:opacity .3s ease .5s, transform .5s ease .5s;
}

#header .headerMenuWrap-active .headerMenu ul li:nth-child(8) a {
	-webkit-transition:opacity .3s ease .55s, -webkit-transform .5s ease .55s;
	-moz-transition:opacity .3s ease .55s, -moz-transform .5s ease .55s;
	transition:opacity .3s ease .55s, transform .5s ease .55s;
}

#header .headerMenuWrap-active .headerMenu ul li:nth-child(9) a {
	-webkit-transition:opacity .3s ease .6s, -webkit-transform .5s ease .6s;
	-moz-transition:opacity .3s ease .6s, -moz-transform .5s ease .6s;
	transition:opacity .3s ease .6s, transform .5s ease .6s;
}

#header .headerMenuWrap-active .headerMenu ul li:nth-child(10) a {
	-webkit-transition:opacity .3s ease .65s, -webkit-transform .5s ease .65s;
	-moz-transition:opacity .3s ease .65s, -moz-transform .5s ease .65s;
	transition:opacity .3s ease .65s, transform .5s ease .65s;
}

#header .headerMenuWrap-active .headerMenu ul li:nth-child(11) a {
	-webkit-transition:opacity .3s ease .7s, -webkit-transform .5s ease .7s;
	-moz-transition:opacity .3s ease .7s, -moz-transform .5s ease .7s;
	transition:opacity .3s ease .7s, transform .5s ease .7s;
}

#header .headerMenuWrap-active .headerMenu ul li:nth-child(12) a {
	-webkit-transition:opacity .3s ease .75s, -webkit-transform .5s ease .75s;
	-moz-transition:opacity .3s ease .75s, -moz-transform .5s ease .75s;
	transition:opacity .3s ease .75s, transform .5s ease .75s;
}

#header .headerMenuWrap-active .headerMenu ul li:nth-child(13) a {
	-webkit-transition:opacity .3s ease .8s, -webkit-transform .5s ease .8s;
	-moz-transition:opacity .3s ease .8s, -moz-transform .5s ease .8s;
	transition:opacity .3s ease .8s, transform .5s ease .8s;
}

#header .headerMenuWrap-active .headerMenu ul li:nth-child(14) a {
	-webkit-transition:opacity .3s ease .85s, -webkit-transform .5s ease .85s;
	-moz-transition:opacity .3s ease .85s, -moz-transform .5s ease .85s;
	transition:opacity .3s ease .85s, transform .5s ease .85s;
}

#header .headerMenuWrap-active .headerMenu ul li:nth-child(15) a {
	-webkit-transition:opacity .3s ease .9s, -webkit-transform .5s ease .9s;
	-moz-transition:opacity .3s ease .9s, -moz-transform .5s ease .9s;
	transition:opacity .3s ease .9s, transform .5s ease .9s;
}

.headerMenu .menu {
	list-style:none;
	margin:0;
	padding:0;
}

.headerMenu .menu li {
	position:relative;
	margin:0;
	padding:0;
	border:none;
	z-index:auto;
}

.headerMenu .menu li span {
	display:inline-block;
	z-index:999;
	cursor:pointer;
    padding-left: 11px;
    color: #575757;
	font-size:11px;
}

.headerMenu .menu li a:hover span {
}

.headerMenu .menu ul {
	list-style:none;
	margin:8px 0 23px 0;
	padding:0;
	display:none;
}

/* MAIN WRAPPER
**************************************************/
/* main wrapper */
#headerMenuMainWrap {
	position:fixed;
	z-index:3500;
	top:0;
	right:0;
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	color:#767676;
	overflow:hidden !important;
	-webkit-transform: translate3d(100%, 0, 0);
	-moz-transform: translate3d(100%, 0, 0);
	-ms-transform: translate3d(100%, 0, 0);
	transform: translate3d(100%, 0, 0);
	-webkit-transition:all .4s cubic-bezier(.37,.15,.32,.94);
	-moz-transition:all .4s cubic-bezier(.37,.15,.32,.94);
	-ms-transition:all .4s cubic-bezier(.37,.15,.32,.94);
	transition:all .4s cubic-bezier(.37,.15,.32,.94);
}

.sphInquiryBox{
	-webkit-transform: translate3d(100%, 0, 0);
	-moz-transform: translate3d(100%, 0, 0);
	-ms-transform: translate3d(100%, 0, 0);
	transform: translate3d(100%, 0, 0);
	-webkit-transition:all .4s cubic-bezier(.37,.15,.32,.94);
	-moz-transition:all .4s cubic-bezier(.37,.15,.32,.94);
	-ms-transition:all .4s cubic-bezier(.37,.15,.32,.94);
	transition:all .4s cubic-bezier(.37,.15,.32,.94);
}

#header .headerMenuMainWrapSp{
	transition-duration:0.5s;
	-webkit-transition-duration:0.5s;
	-moz-transition-duration:0.5s; 
	-o-transition-duration:0.5s;
	-ms-transition-duration:0.5s;
}

#header .headerMenuMainWrap-active ,
#header .headerMenuWrap-active .sphInquiryBox{
	-webkit-transform:translateX(0);
	-moz-transform:translateX(0);
	-ms-transform:translateX(0);
	transform:translateX(0);
}

/* main inner wrapper */
.headerMenuMainBox {
	position:relative;
	width:100%;
	height:100%;
	overflow-y:scroll !important;
	overflow-x:hidden;
	/* smooth scroll on iOS */
	-webkit-transition:all .4s cubic-bezier(.37,.15,.32,.94);
	-moz-transition:all .4s cubic-bezier(.37,.15,.32,.94);
	-ms-transition:all .4s cubic-bezier(.37,.15,.32,.94);
	transition:all .4s cubic-bezier(.37,.15,.32,.94);
	transition-duration:0.5s;
}

/* content inner */
.headerMenuMain {
	/* 100.1% to get around mobile Safari's schrinking address bar conflict */
	height:100.1%;
}

/* give images/videos/embeds max width */
.headerMenuMain img,
.headerMenuMain iframe,
.headerMenuMain object,
.headerMenuMain embed {
	max-width:100%;
	height:auto;
}

/* sidebar background overlay */
#headerMenuBgOverlay {
	position:fixed;
	z-index:2500;
	top:-1000%;
	left:0;
	right:0;
	width:100%;
	/* 110% height to avoid iOS browser scroll mishap */
	height:110%;
	background-color:#000;
	opacity:0;
	display:block;
	-webkit-transition:top 0s ease .35s, opacity .35s ease;
	-moz-transition:top 0s ease .35s, opacity .35s ease;
	-ms-transition:top 0s ease .35s, opacity .35s ease;
	transition:top 0s ease .35s, opacity .35s ease;
}

#header .headerMenuBgOverlay-active {
	top:0;
	opacity:.3;
	-webkit-transition:top 0s ease 0s, opacity .35s ease;
	-moz-transition:top 0s ease 0s, opacity .35s ease;
	-ms-transition:top 0s ease 0s, opacity .35s ease;
	transition:top 0s ease 0s, opacity .35s ease;
}


/* HEADING CONTENT + OVERLAY + IMAGE
**************************************************/
/* joint styles */
.morph-heading-wrapper,
.morph-heading-overlay,
.morph-heading-image {
	position:absolute;
	width:100%;
	height:200px;
	margin:0;
	padding:0;
}

/* heading wrapper */
.morph-heading-wrapper {
	z-index:5000;
	display:table;
}

.morph-heading-inner {
	display:table-cell;
	vertical-align:bottom;
	padding:0 60px 18px 18px;
}

/* heading text */
.morph-heading-text {
	width:100%;
	color:#fff;
	display:block;
	margin:0 0 8px 0;
	
	font-family:'Roboto';
	font-weight:500;
	font-size:15px;
	line-height:15px;
	color:#fff;
}

/* subheading text */
.morph-subheading-text {
	width:100%;
	color:#fff;
	display:block;
	margin:-6px 0 0 0;
	
	font-family:'Roboto';
	font-weight:500;
	font-size:12px;
	line-height:13px;
	color:#D3D3DA;
}

/* heading overlay */
.morph-heading-overlay {
	z-index:4500;
	background-color:#fff;
	opacity:.2;
}

/* heading image */
.morph-heading-image {
	z-index:4000;
	background-size:cover;
	background-repeat:repeat;
}


/*
MISC
**************************************************/
/* if absolute positioning active */
.morph-absolute {
	position:absolute;
}

/*--------------------------------------------------------------
 Morph menu
*/
 
.hMenuBtnBox::after, .hMenuBtnBox::before, .hMenuBtnBox div.hMenuBtnMiddle::before {
    background-color: #92959e;
    content: "";
    display: block;
    height: 2px;
    margin: 8px 0;
    outline: 1px solid transparent;
    -webkit-transition: all 0.25s ease 0s;
    -moz-transition: all 0.25s ease 0s;
    -ms-transition: all 0.25s ease 0s;
    transition: all 0.25s ease 0s;
    width:40px;
}

/********************************************************/
/* MAIN BACKGROUND
**************************************************/
/* main background */

#headerMenuBg {
	position:fixed;
	z-index:3400;
	top:0;
	right:0;
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	background-color:#fff;
	display:block;
	-webkit-transform:translateX(100%);
	-moz-transform:translateX(100%);
	-ms-transform:translateX(100%);
	transform:translateX(100%);
	-webkit-transition:all .4s cubic-bezier(.37,.15,.32,.94);
	-moz-transition:all .4s cubic-bezier(.37,.15,.32,.94);
	-ms-transition:all .4s cubic-bezier(.37,.15,.32,.94);
	transition:all .4s cubic-bezier(.37,.15,.32,.94);
	transition-duration:0.5s;
}

#header .headerMenuBgActive {
	-webkit-transform:translateX(0);
	-moz-transform:translateX(0);
	-ms-transform:translateX(0);
	transform:translateX(0);
}

/* menu button */
.hMenuBtnBox:after,
.hMenuBtnBox:before,
.hMenuBtnBox div.hMenuBtnMiddle:before { 
	background-color: #3252a3;
}

/* main menu button hover */
.hMenuBtnBox:hover:after,
.hMenuBtnBox:hover:before,
.hMenuBtnBox:hover div.hMenuBtnMiddle:before { 
	background-color: #3252a3;
}

/* menu button active */
#header .morph-menu-active .hMenuBtnBox:after,
#header .morph-menu-active .hMenuBtnBox:before,
#header .morph-menu-active .hMenuBtnBox div.hMenuBtnMiddle:before { 
	background-color: #3252a3;
}

#header .morph-menu-active .hMenuBtnBox:before {
	margin:2px 0 0 0;
	transform:translateY(17px) rotate(45deg);
	-moz-transform:translateY(17px) rotate(45deg);
	-ms-transform:translateY(17px) rotate(45deg);
	-webkit-transform:translateY(17px) rotate(45deg);
}

/* heading + sub-heading text */
.morph-heading-text { 
	color: #fafafa; 			
}

.morph-subheading-text { 
	color: #fafafa; 	
}

/* menu button animations (-/X) */
/* top bar animation (3 lines) */
#header .morph-menu-active .hMenuBtnBox:before {
	margin:2px 0 0 0;
	transform:translateY(17px) rotate(45deg);
	-moz-transform:translateY(17px) rotate(45deg);
	-ms-transform:translateY(17px) rotate(45deg);
	-webkit-transform:translateY(17px) rotate(45deg);
}

/* bottom bar animation (3 lines) */
#header .morph-menu-active .hMenuBtnBox:after {
	margin:-5px 0 0 0;
	transform:translateY(-3px) rotate(-45deg);
	-moz-transform:translateY(-3px) rotate(-45deg);
	-ms-transform:translateY(-3px) rotate(-45deg);
	-webkit-transform:translateY(-3px) rotate(-45deg);
}

/* middle bar fade out (3 lines) */
#header .morph-menu-active div.hMenuBtnMiddle:before {
	opacity:0;
	-webkit-transition:all .15s ease;
	-moz-transition:all .15s ease;
	-ms-transition:all .15s ease;
	transition:all .15s ease;
}

#headerMenuWrap {
	top: 60px;
}
	
#header .morph-menu-active .hMenuBtnBox:before{
	margin:2px 0 0;
	transform:translateY(11px) rotate(45deg);
	-moz-transform:translateY(11px) rotate(45deg);
	-ms-transform:translateY(11px) rotate(45deg);
	-webkit-transform:translateY(11px) rotate(45deg);
}

#headerMenuMainWrap {
	transition-duration:0s;
	-webkit-transition-duration:0s;
	-moz-transition-duration:0s; 
	-o-transition-duration:0s;
	-ms-transition-duration:0s;
}

.sphInquiryBox{
	width:90%;
	max-width:300px;
	margin:40px auto 0;
	padding:10px 10px 0;
	clear:both;
	overflow:hidden;
	border: 1px solid #808080;
	border-radius: 6px;
}

.sphInquiryTtl{
	text-align:center;
	font-size:120%;
	font-weight:500;
	padding:5px 0;
	color:#3252a3;
	border-bottom:2px solid #3252a3;
}

.sphTel a{
	text-align:center;
	margin:20px auto;
	font-size:140%;
	font-weight:bold;
	letter-spacing:0.1em;
	color:#323232;
	display:block;
}

.sphContact a{
	width:200px;
	text-align:center;
	margin:10px auto 30px;
	padding:10px !important;
	background-color:#338ba3;
	color:#fff;
	display:block;
	font-size:105%;
}
.sphContact a:hover{
	opacity:0.7;
	-moz-opacity:0.7;
	-webkit-opacity:0.7;
}
.spIcon p{
	width:46%;
	margin:0 2%;
	float:left;
	text-align:center;
}

a .hmSubTitle{
	color:#3252a3;
	padding-left:7px;
	font-size:3vw;
}

}

/*メイン画像*/
#topImg, #swiperWrap{
	position:relative;
}
#mainImg{
	width:1280px;
	margin:10px auto 0;
	clear:both;
}
.slideImg1{
	background-image: url('./images/top/main1.jpg');
	background-repeat: no-repeat;
	width: 1920px;
	padding-top:42%;
	background-size: 100% auto;
}
.slideImg2{
	background-image: url('./images/top/main2.jpg');
	background-repeat: no-repeat;
	width: 1920px;
	padding-top:42%;
	background-size: 100% auto;
}
.slideImg3{
	background-image: url('./images/top/main3.jpg');
	background-repeat: no-repeat;
	width: 1920px;
	padding-top:42%;
	background-size: 100% auto;
}
#topTxt{
	position:absolute;
	top:45%;
	left:0;
	right:0;
	text-align:center;
	margin:0 auto;
	font-size:2.5vw;
	font-weight:bold;
	color:#fff;
	letter-spacing:0.1em;
	z-index:10;
	text-shadow: 1px 1px 1px #000;
}
#topRecruit{
	position:absolute;
	bottom:40px;
	right:10%;
	z-index:10;
}
@media screen and (max-width: 1120px) {
#topTxt{
	font-size:4vw;
}
#topRecruit{
	bottom:4%;
	right:2%;
}
}
@media screen and (max-width: 768px) {
#topRecruit{
	display:none;
}
#topTxt{
	font-size:5vw;
}
.slideImg1{
	background-image: url('./images/top/main1-sp.jpg');
	padding-top:60%;
}
.slideImg2{
	background-image: url('./images/top/main2-sp.jpg');
	padding-top:60%;
}
.slideImg3{
	background-image: url('./images/top/main3-sp.jpg');
	padding-top:60%;
}
}
/*トップ*/
#bgBox1{
	background-image: url('./images/top/top-img1.jpg');
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding-top:23%;
	position:relative;
}
#bgBox2{
	background-image: url('./images/top/top-img2.jpg');
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding-top:23%;
	position:relative;
}
#bgBox3{
	background-image: url('./images/top/bg-img.jpg');
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding-top:60%;
	position:relative;
	margin-top: 60px;
}
.subBox{
	position:absolute;
	top:33%;
	left:0;
	right:0;
}
.subBox2{
	position:absolute;
	top:14%;
	left:0;
	right:0;
}
.subImg, .subImg2{
	text-align:center;
	margin:0 auto;
}
.subTxt{
	text-align:center;
	color:#fff;
	font-size:140%;
	margin:20px auto 0;
}
.subTitle{
	font-style:oblique;
	font-weight:bold;
	font-size:300%;
	color:#fff;
	margin:60px auto 40px;
	text-align:center;
	line-height:100%;
}
.topLinkBox{
	margin:30px auto 0;
}
.topLinkBox .md-en{
	color:#004da0;
	font-size:85%;
	font-weight:bold;
	text-align:center;
}
.topLinkBox .midashi-h2{
	position: relative;
	margin: 0 auto;
	width: 270px;
}
.topLinkBox .midashi-h2 a{
	display: block;
	padding: 16px 0 18px 0;
	background-color: #004da0;
	color: #fff;
	font-weight: 500;
	border-radius:30px;
	text-align:center;
	background-size: 200% 100%;
	background-image: -webkit-linear-gradient(left, transparent 50%, rgba(0, 142, 255, 1) 50%);
	background-image: linear-gradient(to right, transparent 50%, rgba(0, 142, 255, 1) 50%);
	-webkit-transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
	transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
}
.topLinkBox .midashi-h2 a::before {
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	top: 26px;
	right: 25px;
	width: 16px;
	height: 10px;
	border-top: 2px solid #fff;
	-webkit-transform: rotate(30deg);
	transform: rotate(30deg);
	transition: .3s;
}
.topLinkBox .midashi-h2 a::after {
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	top: 25px;
	right: 25px;
	width: 16px;
	height: 10px;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(-30deg);
	transform: rotate(-30deg);
	transition: .3s;
}
.topLinkBox .midashi-h2 a:hover {
	background-color: #008eff;
	background-position: -100% 100%;
}
.topLinkBox2{
	margin:100px auto 0;
}
.topLinkBox2 .md-en{
	color:#fff;
	font-size:85%;
	font-weight:bold;
	text-align:center;
}
.topLinkBox2 .midashi-h2{
	position: relative;
	margin: 0 auto;
	width: 270px;
}
.topLinkBox2 .midashi-h2 a{
	display: block;
	padding: 15px 0 17px 0;
	background-color: #fff;
	color: #008eff;
	font-weight: 500;
	border-radius:30px;
	text-align:center;
	border:1px solid #fff;
	background-size: 200% 100%;
	background-image: -webkit-linear-gradient(left, transparent 50%, rgba(0, 77, 160, 1) 50%);
	background-image: linear-gradient(to right, transparent 50%, rgba(0, 77, 160, 1) 50%);
	-webkit-transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
	transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;

}
.topLinkBox2 .midashi-h2 a::before {
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	top: 26px;
	right: 25px;
	width: 16px;
	height: 10px;
	border-top: 2px solid #008eff;
	-webkit-transform: rotate(30deg);
	transform: rotate(30deg);
	transition: .3s;
}
.topLinkBox2 .midashi-h2 a::after {
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	top: 25px;
	right: 25px;
	width: 16px;
	height: 10px;
	border-bottom: 2px solid #008eff;
	-webkit-transform: rotate(-30deg);
	transform: rotate(-30deg);
	transition: .3s;
}
.topLinkBox2 .midashi-h2 a:hover::before {
	border-top: 2px solid #fff;
}
.topLinkBox2 .midashi-h2 a:hover::after {
	border-bottom: 2px solid #fff;

}
.topLinkBox2 .midashi-h2 a:hover {
	background-color: #004da0;
	background-position: -100% 100%;
	color:#fff;
}
.topTxt{
	margin:60px auto;
	color:#004da0;
	font-size:200%;
	font-weight:500;
	text-align:center;
	line-height:180%;
	letter-spacing:0.2em;
}
#companyBox{
	clear:both;
	margin:40px auto;
}
#companyBox .midashi-h2{
	color:#009fe8;
	font-size:240%;
	font-weight:bold;
	text-align:center;
	letter-spacing:0.1em;
	font-style:oblique;
}
#companyBox .midashi-h2 .md-jp{
	color:#323232;
	font-size:14px;
	font-weight:500;
	display:block;
	font-style:normal;
}
#topAdd{
	width:980px;
	margin:0 auto;
	background-color:#f7f7f7;
	padding:60px 0;
	overflow:hidden;
}
#addLeft{
	float:left;
	width:38%;
	margin-left:6%;
}
#addRight{
	float:right;
	width:48%;
	margin-right:6%;
}
#top-add{
	line-height:1.4em;
}
#top-tel{
	font-size:110%;
	font-weight:500;
}
#top-business{
	font-size:110%;
	margin-top:20px;
}
#top-link{
	position: relative;
	margin: 60px 0 0;
	width: 270px;
}
#top-link a{
	display: block;
	padding: 10px 0 10px 20px;
	background-color: #009fe8;
	color: #fff;
	font-weight: 500;
	text-align:center;
	transition: .5s;
}
#top-link a:hover{
	background-color:#004da0;
}
#top-link a::before {
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	top: 21px;
	left: 80px;
	width: 12px;
	height: 8px;
	border-top: 2px solid #fff;
	-webkit-transform: rotate(30deg);
	transform: rotate(30deg);
	transition: .3s;
}
#top-link a::after {
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	top: 19px;
	left: 80px;
	width: 12px;
	height: 8px;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(-30deg);
	transform: rotate(-30deg);
	transition: .3s;
}
.ggmap{
	clear:both;
	position: relative;
	padding-bottom: 60%;
	height: 0;
	overflow: hidden;
	border:1px solid #cccccc;
	width:auto;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 99.9%;
	height: 99.9%;
}
#f-contact{
	clear:both;
	position: relative;
	margin: 100px auto 80px;
	width: 370px;
}
#f-contact a{
	display: block;
	padding: 40px 0 40px 60px;
	background-color: #009fe8;
	color: #fff;
	font-weight: 500;
	text-align:center;
	font-size:110%;
	background-image: url('./images/top/mail.png');
	background-repeat:no-repeat;
	background-position: 70px 40px;
	background-size: 45px 30px;
	transition: .3s;
}
#f-contact a:hover{
	background-color:#004da0;
}
@media screen and (max-width: 1120px) {
#topRecruit{
	bottom:4%;
	right:2%;
}
.topLinkBox2{
	margin:40px auto 0;
}
#topAdd{
	width:90%;
}
}
@media screen and (min-width: 961px) and (max-width: 1400px) {
#bgBox3{
	background-size: cover;
	padding-top: 80%;
}
}
@media screen and (min-width: 769px) and (max-width: 960px) {
#bgBox1, #bgBox2{
	background-size:cover;
	background-position:center top;
	padding-top: 30%;
}
#bgBox3{
	background-size: cover;
	background-position:center top;
	padding-top: 100%;
}
.subBox2{
	top:6%;
}
.topTxt{
	font-size:3vw;
}
#addLeft{
	float: none;
	width:100%;
	width: 320px;
	margin:0 auto 40px;
}
#addRight{
	float: none;
	width: 90%;
	margin:0 5%;
}
#top-link{
	margin:20px auto 0;
}
}
@media screen and (max-width: 768px) {
#companyBox .midashi-h2{
	font-size:200%;
}
.topLinkBox .midashi-h2{
	position: relative;
	margin: 0 auto;
	width: 200px;
	font-size:120%;
}
.topLinkBox .midashi-h2 a{
	padding: 10px 0 12px 0;
}
.topLinkBox .midashi-h2 a::before {
	top: 20px;
	width:12px;
}
.topLinkBox .midashi-h2 a::after {
	top: 17px;
	width:12px;
}
.topLinkBox2 .midashi-h2{
	position: relative;
	margin: 0 auto;
	width: 200px;
	font-size:120%;
}
.topLinkBox2 .midashi-h2 a{
	padding: 10px 0 12px 0;
}
.topLinkBox2 .midashi-h2 a::before {
	top: 20px;
	width:12px;
}
.topLinkBox2 .midashi-h2 a::after {
	top: 17px;
	width:12px;
}
#topAdd{
	width:96%;
	padding:20px 0;
}
#addLeft{
	float: none;
	width:100%;
	max-width: 320px;
	margin:0 auto 40px;
}
#addLeft p br{
	display:none;
}
#addRight{
	float: none;
	width: 90%;
	margin:0 5%;
}
#top-link{
	margin:20px auto 0;
}
.subImg, .subImg2{
	max-width:280px;
}
}
@media screen and (min-width: 641px) and (max-width: 768px) {
#bgBox3{
	background-size: cover;
	background-position:center top;
	padding-top: 90%;
}
}
@media screen and (min-width: 481px) and (max-width: 640px) {
#bgBox3{
	background-size: cover;
	background-position:center top;
	padding-top: 120%;
}
}
@media screen and (min-width: 481px) and (max-width: 768px) {
.topTxt{
	font-size:4vw;
}
#bgBox1, #bgBox2{
	background-size:cover;
	background-position:center top;
	padding-top: 40%;
}
.subBox2{
	top:6%;
}
.subTitle{
	margin:20px auto 10px;
}
.subTxt{
	padding:0 1%;
	font-size:3vw;
}
.topLinkBox2{
	margin:20px auto;
}
.subImg2{
	width:90%;
	max-width:200px;
}
}
@media screen and (max-width: 480px) {
#topTxt{
	font-size:5vw;
	top:40%;
}
.topTxt{
	font-size:4vw;
	margin:30px auto;
}
#bgBox1, #bgBox2{
	background-size:cover;
	background-position:center top;
	padding-top: 45%;
}
#bgBox3{
	background-size: cover;
	background-position:center top;
	padding-top: 140%;
}
.subBox{
	top:20%;
}
.subImg{
	width:90%;
	max-width:160px;
}
.subImg2{
	width:90%;
	max-width:160px;
}
.subTxt{
	font-size:4vw;
	padding:0 2%;
	line-height:1.4em;
}
.subTxt br{
	display:none;
}
.subBox2{
	top:6%;
}
.subTitle{
	font-size:9vw;
	margin:20px auto 10px;
}
.topLinkBox2{
	margin:20px auto 0;
}
#f-contact{
	width:96%;
}
#f-contact a{
	padding: 30px 0 30px 20%;
	background-position: 15% 30px;
}
}
/******************
コンテンツボックス[共通]
******************/

#contents{
	width:100%;
	max-width:1920px;
	overflow:hidden;
	margin:0 auto;
	clear:both;
	position:relative;
	z-index:1;
}
#wrapperTop #main{
	width:100%;
	max-width:1920px;
	margin:0 auto;
}
@media screen and (max-width: 1120px) {
#wrapperTop #main{
	width:100%;
}
.headerMenu ul li a{
	font-size:100%;
}
}
/*お知らせ*/
#topInfoWrap{
	margin:80px auto 0;
	background-color:#004da0;
	padding:60px 0;
}
#topInfoMidashi{
	color:#fff;
	font-size:220%;
	font-weight:bold;
	text-align:center;
	font-style:oblique;
	border:none;
	margin:0 auto;
}
#topInfoMidashi::after{
	background:none;
}
#topInfoMidashi span{
	font-size:14px;
	font-weight:500;
	display:block;
	font-style:normal;
}
#topInfoBox{
	width:700px;
	margin:20px auto 0;
	clear:both;
	background-color: rgba(255,255,255,0.9);
	padding:60px 40px 40px;
}
#topInfoBox ul{
	overflow:hidden;
}
#topInfoBox ul li{
	padding:2% 0;
	border-bottom:1px dotted #323232;
	overflow:hidden;
	font-size:110%;
}
.infoDate{
	float:left;
	width:auto;
	padding:0 0 0 6%;
	display:block;
	font-weight:500;
	letter-spacing:0.1em;
}
.infoTitle{
	float:left;
	width:68%;
	padding:0 2% 0 4%;
	display:block;
}
.topInfoMore{
	clear:both;
	text-align:center;
	margin:50px auto 0;
	width:260px;
}
.topInfoMore a{
	font-size:90%;
	font-weight:normal;
	position:relative;
	color:#fff;
	background-color:#009fe8;
	padding:10px;
	display:block;
	transition: .3s;
}
.topInfoMore a:hover{
	background-color:#004da0;
}
@media screen and (max-width: 768px) {
#topInfoMidashi{
	width:80%;
	max-width:240px;
	margin:0 auto 20px;
}
#topInfoWrap{
	margin:40px auto 80px;
}
#topInfoBox{
	width:90%;
	padding:40px 4%;
}
.infoDate{
	float:none;
	padding:0 0 0 2%;
}
.infoTitle{
	float:none;
	width:94%;
	padding:4px 2% 0 4%;
}
}

/******************
フッター(中部)[共通]
******************/

#footer{
	clear:both;
	width:100%;
	background-color:#f7f7f7;
	padding:0 0 10px;
	overflow:hidden;
	margin:0 auto;
	border-top:40px solid #004da0;
}

#footerMain{
	width:1000px;
	margin:0 auto;
}
#footerLeft{
	float:left;
	width:40%;
	color:#646464;
	margin-right:6%;
	margin-left:2%;
	margin-top:40px;
}
#footerRight{
	float:left;
	width:131px;
	margin-top:20px;
}
#cp-name{
	font-size:140%;
	font-weight:500;
}
#f-add{
	line-height:1.4em;
}
#footerMenu{
	float:right;
	margin-top:40px;
	margin-right:2%;
}
#footerMenu ul li{
	margin:5px;
}
#footerMenu ul li a{
	display:block;
}
#copyRight{
	clear:both;
	text-align:right;
	padding:20px 10px 0 0;
}

#pageTopBtn{
	clear:both;
	z-index:9000;
	display:block;
	position: fixed;
	bottom: 70px;
	right: 30px;
}

@media screen and (max-width: 1120px) {
#footerMain{
	width:100%;
}
}

/******************
フッター[スマホ]
******************/

@media screen and (max-width: 768px) {
#footerLeft{
	float:none;
	width:220px;
	margin:20px auto;
}
#cp-name, #f-add{
	text-align:center;
}
#footerRight{
	float:none;
	margin:0 auto;
}
#footerMenu{
	clear:both;
	float:none;
	margin:0;
	padding-top:20px;
	overflow:hidden;
}
#footerMenu ul li{
	width:50%;
	float:left;
	border-top:1px solid #323232;
	border-bottom:1px solid #323232;
	box-sizing:border-box;
}
#footerMenu ul li{
	display:block;
	padding:10px;
	text-align:center;
	font-size:80%;
	margin:0;
}
#footerMenu ul li:first-child{
	border-right:1px solid #323232;
}
#copyRight{
	float:none;
	text-align:center;
	font-size:80%;
	clear:both;
	padding:20px 10px 0;
}
#pageTopBtn{
	bottom: 5px;
	right: 0;
	width:50px;
}
}
@media screen and (max-width: 480px) {
#footerLeft{
	float:none;
	width:220px;
	margin:20px auto;
}
#footerRight{
	width:90px;
	float:none;
	margin:0 auto;
}
}

@media print{

body{
	width:1160px;
}

#wrapperTop,#wrapper{
	padding-top:0;
}

#header{
	position: relative;
}

}

@page{
	margin: 16mm 10mm;
}

@-moz-document url-prefix(){
@page{
	margin: auto;
}
}

@media screen and (-webkit-min-device-pixel-ratio:0){
@page{
	margin: auto;
}
}

@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}