@charset "UTF-8";
/*==========================================
 common
==========================================*/
/*------------------------------------------
　*reset
------------------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, ol, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, abbr, address, em, img, small, strong, sub, sup, var, b, i, a, article, aside, canvas, details, figcaption, figure, header, hgroup, menu, nav, section, summary, footer,
time, audio, video  {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	font-size: 100%;
}
a {
	text-decoration: none;
	-webkit-text-decoration-skip: objects;
}
a:hover, a:focus {
	text-decoration: none;
	outline-width: 0;
}
ol, ul {list-style: none;}

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
	vertical-align: top;
}
hr {height: 0;}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	border: none;
	vertical-align: top;
	font-size: 0;
	line-height: 0;
}
address, em, img, small, strong {
	font-style: normal;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}
* {
	box-sizing: border-box;
}

/*form -----------------------------------*/
button,
option,
select,
textarea,
input[type="button"],
input[type="submit"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="text"],
input[type="select"],
input[type="option"]
/*input[type="checkbox"]*/ {
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;

	border-radius: 0;
	border: none;
	outline: 0;
	margin: 0;
	background: #fff;
}

/* デフォルトのradio、checkboxは非表示 */
/*
input[type=radio],
input[type=checkbox] {
	display: none;
}
*/
/* for firefox */
select {
	text-indent: 0.01px;
	text-overflow: '';
}
/* for ie10 ie11 */
select::-ms-expand {
	display: none;
}


/*------------------------------------------
 *Font
------------------------------------------*/
@font-face {
	font-family: "mplusM";
	src: url("../fonts/mplus-1p-medium.eot") format('eot'),
			 url("../fonts/mplus-1p-medium.woff") format('woff'),
			 url("../fonts/mplus-1p-medium.ttf")  format('truetype');
}
@font-face {
	font-family: "mplusR";
	src: url("../fonts/mplus-1p-regular.eot") format('eot'),
			 url("../fonts/mplus-1p-regular.woff") format('woff'),
			 url("../fonts/mplus-1p-regular.ttf")  format('truetype');
}
.fontMedium {font-family: "mplusM";}
.fontRegular {font-family: "mplusR";}


/*------------------------------------------
 *base
------------------------------------------*/
html {
	height: 100%;
	font-size: 62.5%;
}
body {
	min-height: 100%;
	/*font-family: 'mplusR', sans-serif;*/
	font-family: Arial, “游ゴシック”, YuGothic, “ヒラギノ角ゴ ProN W3”, “Hiragino Kaku Gothic ProN”, “メイリオ”, Meiryo, sans-serif;
	color: #333;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.6;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
}
body.body_overlay{
	overflow: hidden!important;
}

#mainContent {
	flex: 1;
}
.contentsIn {
	width: 1030px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 15px;
}
.img-responsive {
	display: block;
	max-width: 100%;
	height: auto;
}
.fbox {
	display:-ms-flexbox;
	display:-webkit-box;
	display:flex;
	align-items:flex-start;
}
.clear {
	clear: both;
}


/* link ---------------------------------*/
a {
	color: #333;
}
/*
a:hover,
a:active,
a:focus {
	color: #888;
	text-decoration: none;
}
*/

@media screen and (max-width: 960px) {
	body {
		min-width: 100%;
	}
	.contentsIn {
		width: 100%;
		padding: 0 6vw;
	}
}

@media screen and (max-width: 960px) {
	.onlyPC {display: none;}
}
@media screen and (min-width: 961px) {
	.onlyMobile {display: none;}
}
@media screen and (min-width: 601px) {
	.onlyMobile2 {display: none;}
	a[href^="tel:"]{pointer-events: none;}
}

/*==========================================
 *headder
==========================================*/
/*header area ----------------------------*/
#header {
	width: 100%;
	position: fixed;
	z-index: 100;
	transition: .5s;
	font-family: 'mplusR', sans-serif;
}
.header-cont {
	width: 1030px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 15px;
}

@media screen and (min-width: 961px) { /*PC*/
	#header {
		/*padding-top: 16px;*/
		height:120px;
		background-color: #fff;
	}
	.header-cont {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}

/* logo ----------------------------------*/
	#header .logo a {
		width: 198px;
		height: 120px;
	}
	#header .logo img {
		position: static;
		max-width: 198px;
		padding-top: 16px;
		-webkit-transform: none;
		transform: none;
	}

	/*contactarea for PC ---------------*/
	.gNav-pc {
		margin-top: 16px;
	}
	.gNav-pc ul {
		text-align: right;
	}
	.gNav-pc .phone {
		font-size: 3.8rem;
		color: #0da7d1;
		line-height: 1;
	}
	.gNav-pc .phone i {
		margin-right: 4px;
	}

	.gNav-pc .mail a {
		margin-top: 8px;
		padding: 0.4rem 2rem;
		color: #fff;
		font-size: 2rem;
		background-color: #0da7d1;
		border: solid 1px #0da7d1;
		display: inline-block;
		transition: 0.5s;
	}
	.gNav-pc .mail a:hover {
		color: #3cabe3;
		background-color: #fff;
		border: solid 1px #0da7d1;
		opacity: 1;
	}
	.gNav-pc .mail i {
		margin-left: 8px;
	}

	/*transform*/
	#header.transform {
		padding-top: 0;
		background: rgba(255, 255, 255, 0.8);
		height: 80px;
		/*transition: .5s;*/
		box-shadow: 0 0 5px rgba(51, 51, 51, 0.2);
	}

	#header.transform .logo a {
		height: 80px;
		margin-top: 6px;
	}
	#header.transform .logo img{
		padding-top: 8px;
		max-width: 144px;
	}

	#header.transform .gNav-pc {
		margin-top: 4px;
	}
	#header.transform .gNav-pc ul li {
		float: left;
	}
	#header.transform .gNav-pc .phone {
		margin: 20px 16px 0 0;
		font-size: 3.2rem;
	}
	#header.transform .gNav-pc .mail a {
		margin-top: 16px;
		padding: 0.4rem 2rem;
		font-size: 1.8rem;
	}

	/* globalNavigation for PC --------------*/
	.gnav-mobile {
		display: none;
	}
}


	/* globalNavigation for Moblie ------------*/
@media screen and (max-width: 960px) {
	.gNav-pc {
		display: none;
	}

	#header {
		height: 60px;
		position: fixed;
	}
	.header-cont {
		padding: 0;
	}

	/* logo ----------------------------------*/
	#header .logo {
		width: 100%;
		top: 0;
		left: 0;
		right: 0;
		font-size: 2.4rem;
		line-height: 1.4;
		background-color: #fff;

		position: fixed;
		z-index: 101;
	}
	#header .logo a {
		width: 110px;
		max-width: 100%;
		height: 60px; /*バック高さ*/
		margin-left: 4vw;
		padding: 4px 0 0;
		display: block;
		text-align: left;
	}

	/* contact -------------------------------*/
	header .head_contact{
		position: fixed;
		top: 6px;
		right: 62px;
		width: 106px;
		z-index: 102;
	}

	header .head_contact a.phone,
	header .head_contact a.mail{
		width: 52px;
		color: #0da7d1;
		font-size: 1.4rem;
		text-align: center;
		display: block;
		transition: 0.5s;

	}
	header .head_contact a i {
		display: block;
	}
	header .head_contact a.phone:hover,
	header .head_contact a.mail:hover {
		opacity: 0.6;
	}

	/* Navigation ----------------------------*/
	/* bar icon -*/
	#header .navbar {
		top: 0px;
		right: 0px;
		width: 60px;
		height: 60px; /*高さ*/
		background: #0da7d1;
		position: fixed;
		z-index: 104;
		transition: background-color .5s ease-in-out;
		cursor: pointer;
	}
	#header .navbar:after {
		bottom: 6px;
		left: 50%;
		color: #fff;
		line-height: 1;
		font-size: 1.2rem;
		content: "MENU";
		letter-spacing: 1px;
		display: inline-block;
		position: absolute;
		-webkit-transform: translate(-50%,0);
		transform: translate(-50%,0);
	}
	#header .active .navbar:after {
		content: "CLOSE";
		color: #fff;
	}
	#header .navbar .navbar_line {
		height: 26px;
		left: 50%;
		top: 10px;
		width: 40px;
		position: absolute;
		-webkit-transform: translate(-50%,0);
		transform: translate(-50%,0);
	}
	#header .navbar_line span{
		width: 100%;
		height: 4px;
		background: #fff;
		display: block;
		position: absolute;
		transition:transform .3s;
		border-radius: 2px;
	}
	#header .navbar_line-center{
		top: 11px;
	}
	#header .navbar_line-bottom{
		bottom: 0;
	}
	#header .active .navbar_line-top{
		top: 12px;
		background: #fff;
		transform: rotate(45deg);
	}
	#header .active .navbar_line-center{
		transform:scaleX(0);
	}
	#header .active .navbar_line-bottom {
		bottom: 10px;
		background: #fff;
		transform: rotate(135deg);
	}

	/*navigation contents*/
	#header .mob_nav {
		overflow: auto;
		width: 100%;
		height: 100%;
		top: 0;
		padding: 0 6vw;
		background: rgba(255, 255, 255, 0.8);
		display: none;
		position: fixed;
		z-index: 103;
	}
	#header .mob_nav-inner {
		width: 100%;
		margin: 0 auto;
		margin-top: 80px; /*高さ 上部白バー*/
		/*padding-top: 20px; 上部アキ*/
	}
	#header .mob_nav-inner a {
		line-height: 1;
	}

	#header .mob_nav-content1 {
		margin-bottom: 40px;
	}
	#header .mob_nav-content1 li a {
		margin-bottom: 16px;
		padding: 16px;
		color: #0da7d1;
		text-align: center;
		background-color: #fff;
		border: solid 1px #0da7d1;
		/*position: relative;*/
		display: block;
	}
	#header .mob_nav-content1 li a:hover {
		color: #fff;
		background-color: #0da7d1;
	}

	#header .mob_nav-content2 {
		background: rgba(13, 167, 209, 0.8);
		margin-bottom: 40px;
	}
	#header .mob_nav-content2 li a {
		padding: 16px;
		color: #fff;
		text-align: center;
		border-bottom: dotted 1px #8cd1e8;
		display: block;
	}
	#header .mob_nav-content2 li a:hover {
		background: rgba(255, 255, 255, 0.7);
		color: #0da7d1;
	}
}

@media screen and (max-width: 600px) { /*スマートフォン	*/
	#header .logo {
		font-size: 1.9rem;
		line-height: 1.4;
	}
}


/*==========================================
 *main navigation
==========================================*/
@media screen and (min-width: 961px) { /*PC*/
	.menu {
		width: 1030px;
		max-width: 100%;
		margin: 0 auto 80px;
		padding: 0 15px;
		overflow: hidden;
	}
	.menu ul {
		width: 100%;
	}
	.menu ul li {
		width: 32%;
		float: left;
		font-size: 2.1rem;
		font-family: 'mplusR', sans-serif;
	}
	.menu ul li:not(:last-child) {
		margin-right: 2%;
	}
	.menu ul li a {
		padding: 12px 0 !important;
	}
}

@media screen and (max-width: 960px) { /*PC*/
	.menu {
		display: none;
	}
}

/*==========================================
 *footer
==========================================*/
footer {
	background-color: #0099cc;
	color: #fff;
	font-size: 1.6rem;
}
footer a {
	color: #fff;
	transition: all 0.5s;
}
footer a:hover,
footer a:focus {
	color: #eee;
	text-decoration: none;
}

/*footer Navigation ----------------------*/
footer .foot-nav {
	border-bottom: solid 1px #8cd1e8;
}
footer .foot-nav .contentsIn {
	position: relative;
}
footer .foot-nav nav a {
	margin-right: 40px;
}
footer .foot-nav nav a:hover {
	opacity: 0.8;
}

footer .foot-nav nav ul {
	padding: 1.4em 0;
}
footer .foot-nav nav ul li {
	display: inline-block;
}

/*footer　Contents -----------------------*/
footer .foot-cont {
	margin: 60px 0 40px;
}
footer .foot-cont h2 {
	margin-bottom: 24px;
}

footer .foot-cont .btnarea .meil i,
footer .foot-cont .btnarea .phone i {
	margin-right: 8px;
}
footer .foot-cont .btnarea .meil a,
footer .foot-cont .btnarea .phone a {
	/*width: 300px;*/
	width: 100%;
	margin-bottom: 20px;
	padding: 32px 10px;
	color: #fff;
	border: solid 2px #fff;
	font-size: 2.1rem;
	font-family: "mplusR", sans-serif;
	text-align: center;
	display: block;
}
footer .foot-cont .btnarea .meil a:hover,
footer .foot-cont .btnarea .phone a:hover {
	color: #3cabe3;
	background: rgba(255, 255, 255, 0.9);
}


@media screen and (min-width: 961px) { /*PC*/
	/*footer　Contents -----------------------*/
	footer .foot-cont .foot-main {
		width: 230px
	}
	footer .foot-cont .btnarea {
		width: 640px;
		display: -webkit-flex;
		display: flex;
	}
	footer .foot-cont .btnarea div {
		width: 46%;
	}
	footer .foot-cont .btnarea .meil {
		margin-right: 8%;
	}
}

@media screen and (max-width: 960px) { /*タブレット以下	*/
	footer {
		font-family: 'mplusR', sans-serif;
	}

	/*footer Navigation ----------------------*/
	footer .foot-nav {
		display: none;
	}

	/*footer　Contents -----------------------*/
	footer .foot-cont .foot-main {
		width: 28vw;
		margin-right: 40px;
	}
	footer .foot-cont .btnarea {
		width: 54vw;
	}
}

@media screen and (min-width:601px) { /*タブレット以上*/
	footer .foot-cont .fbox {
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		justify-content: space-between;
	}
}

@media screen and (max-width: 600px) { /*スマートフォン	*/
	/*footer　Contents -----------------------*/
	footer .foot-cont .fbox {
		-ms-flex-wrap: wrap-reverse;
		flex-wrap: wrap-reverse;
	}

	footer .foot-cont .foot-main {
		width: 100%;
		text-align: center;
	}
	footer .foot-cont .btnarea {
		width: 100%;
		margin-bottom: 24px;
	}
}

/*------------------------------------------
 *page top
------------------------------------------*/
#pageTop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 1.2rem;
}
#pageTop a {
	width: 42px;
	height: 42px;
	padding-top: 2px;
	background: #222;
	text-align: center;
	text-decoration: none;
	color: #fff;
	display: block;
	border-radius: 50%;
}
#pageTop a:hover {
	text-decoration: none;
	background: #666;
}
.pt_arrw {
		font-size: 2.8rem;
}

/*==========================================
 *Contents
==========================================*/
@media screen and (max-width: 600px) { /*スマートフォン	*/
	footer .foot-nav {
		display: none;
	}
}
