@charset "UTF-8";
/* CSS Document */
/* ヘッダー
------------------------------------------------------------*/
/*#head{
	position: relative;
    overflow:hidden;
    width:100%;
    height:568px;
}

#head img{
    position:absolute;
    left:50%;
    width:1280px;
    height:568px;
    margin-left:-640px;
}
#header {
	background: #fff;
}*/
/*#head nav{
	background: #fff;
	overflow: hidden;
}*/
#head h1 img {
	/*font-size: 40px;
	font-family: 'Pacifico', cursive;
	margin-bottom: 20px;
	font-weight: normal;*/
	float: left;
	/*margin-top: 20px;
	margin-left: 20px;*/
	padding: 20px 0 20px 20px;
}
#mainnav nav ul {
	float: left;
}
h2 {
	font-size: 20px;
	font-weight: normal;
}
/*#main_img {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 600px;
}*/
#main_img {
	/*position: absolute;*/
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 600px;
	background: url("../img/main1.jpg") top center no-repeat;
	background-size: cover;
	z-index: 100;
}
#slogan {
	position: absolute;
	top: 60%;
	width: 100%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	color: #fff;
	line-height: 1.2;
	text-align: center;
}
#slogan h2 {
	font-size: 40px;
	font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
	margin-bottom: 20px;
	font-weight: normal;
	color: #fff;
	text-shadow: #000 1px 0 10px;
	letter-spacing: 3px;
}
#slogan p {
	font-size: 15px;
	font-weight: normal;
	color: #fff;
	margin-bottom: 20px;
	text-shadow: #000 1px 0 10px;
	font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
}
/*フッター*/
#footer {
	padding: 50px 0 0 0;
	overflow: hidden;
	width: 100%;
	margin: auto;
}
#foot_in {
	width: 80%;
	margin: auto;
}
#footer img {
	float: left;
	margin-bottom: 50px;
}
#footer p.add {
	float: right;
}
#footer ul {
	clear: both;
	margin: 0 auto 50px auto;
}
#footer ul li a {
	float: left;
	margin-right: 20px;
	display: block;
}
#footer ul li a::before {
	font-family: FontAwesome;
	content: '\f0da';
	margin-right: 5px;
	color: #ccc;
}
#footer .copy {
	clear: both;
	background: #cccccc;
	color: #333333;
	font-size: 80%;
	padding: 20px 0;
	text-align: center;
}
/*ページトップへ*/
#page_top {
	width: 50px;
	height: 50px;
	position: fixed;
	right: 0;
	bottom: -50px;
	right: 20px;
	background: #1a1a82;
	/*opacity: 0.6;*/
	border-radius: 50%;
}
#page_top a {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	text-decoration: none;
}
#page_top a::before {
	font-family: FontAwesome;
	content: '\f0d8';
	font-size: 25px;
	color: #fff;
	position: absolute;
	width: 25px;
	height: 25px;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}
/*ボタンの変化*/
#sec01 .vision p a {
	width: 30%;
	text-align: center;
	display: block;
	background: #fff;
	margin: auto;
	padding: 20px 0!important;
	border-radius: 100px;
	box-shadow: 0 0 8px #0057bf;
	color: #3e8bff;
}
#sec01 .vision p a.btn-link {
	position: relative;
	top: 0;
	background-color: #fff;
	transition: background-color 0.2s;
}
#sec01 .vision p .btn-link:hover {
	background-color: #1a1a82;
	color: #fff;
}
#sec01 .vision p .btn-link:active {
	background-color: #fff;
}
/* 共通
------------------------------------------------------------*/
h1, h2 {
	/*font-family: 'Josefin Sans', 'Noto Sans JP', serif;*/
}
/*img {
	width: 100%;
	height: auto;
}*/
section {
	clear: both;
}
section img {
	width: 100%;
	height: auto;
}
section h2 {
	font-size: 22px;
	font-weight: normal;
	text-align: center;
}
.inner {
	width: 94%;
	margin: 0 auto;
	padding-bottom: 50px;
}
.col2 li {
	display: inline-block;
	width: 100%;
	margin: 20px 0 20px 0;
}
.blue {
	color: #3e8bff;
}
#wrapper {
	overflow: hidden;
}
/* SEC01 GREETING
------------------------------------------------------------*/
.vision {
	width: 85%;/*85*/
	margin: 30px auto 40px auto;
	padding: 50px 20px 30px 20px;
	background: url("../img/index_concept.jpg") no-repeat center;
	background-size: cover;
	font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
}
.vision h2, #sec02 h2 {
	color: #3e8bff;
	margin-bottom: 30px;
}
.vision h2 span, #sec02 h2 span {
	font-size: 60%;
	color: #666;
}
.vision h3 {
	color: #3e8bff;
	margin-bottom: 30px;
	text-align: center;
	font-size: 20px;
}
.vision p {
	margin-bottom: 30px;
	color: #666;
	text-align: center;
}
/*.vision p a{
	text-align: center;
	display: block;
	width: 300px;
	background: #fff;
	margin: auto;
	padding: 15px 0!important;
	border-radius: 100px;
	box-shadow: 0 0 8px #999;
	color: #3e8bff;
}*/
/* SEC02 MESSAGE
------------------------------------------------------------*/
.wrap {
	clear: both;
	width: 100%;
	background: #e7f2ff;
}
.bg {
	line-height: 0;
}
.txt h2 {
	padding: 0 0 20px !important;
}
.vMid h3 {
	color: #3e8bff;
	font-weight: bold;
	font-size: 26px;
	margin-bottom: 20px;
	letter-spacing: 2px;
}
.vMid h3 span {
	font-size: 50%;
	color: #fff;
	background: #3e8bff;
	padding: 5px 8px;
	border-radius: 50px;
	font-weight: normal;
	vertical-align: middle;
}
.vMid p {
	color: #666666;
	letter-spacing: 1px;
	text-align: justify;
}
.vMid p a {
	text-align: center;
	display: block;
	width: 200px;
	background: #fff;
	margin: auto;
	padding: 5px 0!important;
	border-radius: 100px;
	box-shadow: 0 0 8px #999;
	color: #3e8bff;
	margin-top: 20px;
}
.vMid p a.btn-link {
	position: relative;
	top: 0;
	background-color: #fff;
	transition: background-color 0.2s;
}
.vMid p .btn-link:hover {
	background-color: #1a1a82;
	color: #fff;
}
.vMid p .btn-link:active {
	background-color: #fff;
}
p.product_1 {
	color: #3e8bff;
	margin-bottom: 10px;
	letter-spacing: 1px;
	font-size: 120%;
}
#sec02 {
	font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
}
/* SEC03 
------------------------------------------------------------*/
.col3 li {
	margin: 50px 0;
}
.col3 img {
	/*max-width: 325px;*/
	display: block;
	margin: 0 auto 20px;
}

ul.col3 img{
	display: flex;
}





/* SEC04 
------------------------------------------------------------*/
#sec04 {
	/*background: url(../img/main1.jpg) no-repeat 100% 100% fixed;*/
	background: #3e8bff;
	/*background-size: cover;
	-webkit-background-size: cover;
	color: #fff;*/
	/*padding: 30px 0;*/
	padding-top: 50px;
}
#sec04 .inner p.foot_contact a {
	text-align: center;
	display: block;
	width: 80%;
	background: #fff;
	margin: auto;
	padding: 20px 0!important;
	border-radius: 100px;
	box-shadow: 0 0 8px #0057bf;
	color: #3e8bff;
}
#sec04 .inner p.foot_contact a.btn-link {
	position: relative;
	top: 0;
	background-color: #fff;
	transition: background-color 0.2s;
}
#sec04 .inner p.foot_contact .btn-link:hover {
	background-color: #feffd9;
}
#sec04 .inner p.foot_contact .btn-link:active {
	background-color: #fff;
}
/* RESPONSIVE 設定
------------------------------------------------------------*/
@media only screen and (min-width: 1200px) {
	#head nav {
		background: #fff;
		overflow: hidden;
	}
	.inner {
		width: 1024px;
		/*padding-bottom: 120px;*/
	}
	section h2 {
		/*padding: 70px 0 20px;*/
	}
	.txt h2 {
		padding: 0 0 20px !important;
	}
}
@media only screen and (min-width: 800px) {
	body {
		font-size: 14px;
	}
	/*#head nav {
		background: #fff;
		overflow: hidden;
	}
	a#menu {
		display: none;
	}
	.panel {
		display: block !important;
	}
	#mainnav {
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 500;
	}
	#mainnav ul {
		text-align: right;
		padding-right: 30px;
	}
	#mainnav li {
		display: inline-block;
		padding: 45px 10px 20px;
		font-size: 14px;
		font-weight: 300;
	}
	#mainnav a {
		color: #000;
	}
	#mainnav.changeNav {
		background: rgba(255, 255, 255, .9);
		border-bottom: 1px solid #d1d1d1;
	}
	#mainnav.changeNav li {
		padding: 20px 10px;
	}*/
	/* SEC01 GREETING
	-----------------*/
	/* SEC02 SERVICE
	-----------------*/
	.txt, .bg {
		width: 50%;
		float: left;
		display: table;
		background: #edf5ff;
	}
	#sec02_02 .txt, #sec02_02 .bg {
		float: right;
	}
	.vMid {
		display: table-cell;
		padding: 0 100px;
		vertical-align: middle;
	}
	/* SEC03
	-----------------*/
	.col3 {
		text-align: center;
	}
	.col3 li {
		display: inline-block;
		width: 30%;
		padding: 0 1.5%;
		margin-bottom: 0;
		vertical-align: top;
		/*text-align: left;*/
	}
}
@media only screen and (min-width: 641px) {
	.col2 li {
		width: 40%;
		padding: 0 3%;
		vertical-align: top;
	}
}
@media only screen and (max-width: 640px) {
	#map iframe {
		width: 96% !important;
		left: 2%;
	}
	.vision p a {
		text-align: center;
		display: block;
		width: 80%;
		background: #fff;
		margin: auto;
		padding: 15px 0!important;
		border-radius: 100px;
		box-shadow: 0 0 8px #999;
		color: #3e8bff;
	}
	#sec01 .vision p a {
		width: 75%;
		text-align: center;
		display: block;
		background: #fff;
		margin: auto;
		padding: 20px 0!important;
		border-radius: 100px;
		box-shadow: 0 0 8px #0057bf;
		color: #3e8bff;
	}
	/*  商品h3のタイトル  */
	.vMid h3 {
		color: #3e8bff;
		font-weight: bold;
		font-size: 24px;
		margin-bottom: 20px;
		text-align: center;
	}
	.vMid h3 span {
		font-size: 70%;
		color: #fff;
		background: #3e8bff;
		padding: 5px 8px;
		border-radius: 5px;
		font-weight: normal;
		vertical-align: middle;
		display: block;
	}
	p.product_1 {
		color: #3e8bff;
		margin-bottom: 10px;
		letter-spacing: 1px;
		font-size: 120%;
		text-align: center;
	}
	/*フッター*/
	#footer {
		padding: 50px 0 0 0;
		overflow: hidden;
		width: 100%;
		margin: auto;
	}
	#footer img {
		float: none;
		margin: 0 auto 20px auto;
		display: block;
	}
	#footer p.add {
		float: none;
		font-size: 90%;
		text-align: center;
		margin-bottom: 20px;
	}
	#footer ul {
		display: none;
	}
	#footer ul li a {
		display: none;
	}
	#footer .copy {
		clear: both;
		background: #cccccc;
		color: #333333;
		font-size: 80%;
		padding: 10px 0;
		text-align: center;
	}
	.none_br {
		display: none;
	}
}
@media only screen and (max-width: 799px) {
	#mainnav h1 img {
		float: left;
		margin-top: 20px;
		margin-left: 20px;
		filter: drop-shadow(0 0 3px white);
	}
	#slogan h2 {
		font-size: 20px;
	}
	#main_img {
		position: relative;
		overflow: hidden;
		width: 100%;
		height: 400px;
		background: url("../img/main1.jpg") top center no-repeat;
		background-size: cover;
	}
	/*a#menu {
		display: inline-block;
		position: relative;
		width: 40px;
		height: 40px;
		margin: 10px;
		z-index: 400;
	}
	#menuBtn {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 18px;
		height: 2px;
		margin: -1px 0 0 -7px;
		background: #fff;
		transition: .2s;
	}
	#menuBtn:before, #menuBtn:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 18px;
		height: 2px;
		background: #fff;
		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;
		right: 0;
		width: 100%;
		text-align: right;
		z-index: 500;
	}
	#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 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);
	}
	.col3 li {
		margin: 20px auto;
		display: block;
		max-width: 100%;
	}*/
}
@media only screen and (max-width: 1199px) {
	/*section h2 {
		padding: 50px 0 20px 0;
	}
	#sec01 h2 {
		padding: 70px 0 20px;
	}*/
	.vMid {
		padding: 0 20px;
	}
}


/***********************************************************/
/*PC ハンバーガーメニュー*/
.inner_m {
    width: 90%;
    margin: 0 auto;
}
.inner_m:after {
    content: "";
    clear: both;
    display: block;
}
 
/* header */
#top-head {
    top: -100px;
    position: absolute;
    width: 100%;
    margin: 100px auto 0;
    padding: 30px 0 0;
    /*line-height: 1;*/
    z-index: 999;
	background: #fff;
}
#top-head a,
#top-head {
    /*color: #fff;*/
    text-decoration: none;
}
#top-head .inner_m {
    position: relative;
	margin-bottom: 20px;
}
#top-head .logo {
    float: left;
    font-size: 36px;
}
#global-nav ul {
    list-style: none;
    position: absolute;
    right: 0;
    /*bottom: 0;*/
    font-size: 14px;
}
#global-nav ul li {
    float: left;
}
#global-nav ul li a {
    padding: 0 30px;
}
 
/* Fixed */
#top-head.fixed {
    margin-top: 0;
    top: 0;
    position: fixed;
    padding-top: 10px;
    height: 55px;
    background: #fff;
    background: rgba(255,255,255,.7);
    transition: top 0.65s ease-in;
    -webkit-transition: top 0.65s ease-in;
    -moz-transition: top 0.65s ease-in;
}
#top-head.fixed .logo {
    font-size: 24px;
    color: #333;
}
#top-head.fixed #global-nav ul li a {
    color: #333;
    padding: 0 20px;
}
 
/* Toggle Button */
#nav-toggle {
    display: none;
    position: absolute;
    right: 12px;
    top: 14px;
    width: 34px;
    height: 36px;
    cursor: pointer;
    z-index: 101;
}
#nav-toggle div {
    position: relative;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #666;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
    top: 0;
}
#nav-toggle span:nth-child(2) {
    top: 11px;
}
#nav-toggle span:nth-child(3) {
    top: 22px;
}


/*スマホハンバーガー*/
@media screen and (max-width: 900px) {
    #top-head,
    .inner_m {
        width: 100%;
        padding: 0;
    }
    #top-head {
        top: 0;
        position: fixed;
        margin-top: 0;
    }
    /* Fixed reset */
    #top-head.fixed {
        padding-top: 0;
        background: transparent;
    }
    #mobile-head {
        background: #fff;
        width: 100%;
        height: 56px;
        z-index: 999;
        position: relative;
    }
    #top-head.fixed .logo,
    #top-head .logo {
        position: absolute;
        left: 13px;
        top: 13px;
        color: #333;
        font-size: 26px;
    }
    #global-nav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -500px;
        background: #333;
        width: 100%;
        text-align: center;
        padding: 10px 0;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
    #global-nav ul {
        list-style: none;
        position: static;
        right: 0;
        bottom: 0;
        font-size: 14px;
    }
    #global-nav ul li {
        float: none;
        position: static;
    }
    #top-head #global-nav ul li a,
    #top-head.fixed #global-nav ul li a {
        width: 100%;
        display: block;
        color: #fff;
        padding: 18px 0;
		font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
    }
    #nav-toggle {
        display: block;
    }
    /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 11px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 11px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    /* #global-nav スライドアニメーション */
    .open #global-nav {
        /* #global-nav top + #mobile-head height */
        -moz-transform: translateY(556px);
        -webkit-transform: translateY(556px);
        transform: translateY(556px);
    }
}