@charset "utf-8";

*{
    margin: 0px;
	padding: 0px;
}

img{border: 0;}

a {outline: none;}

ul,ol { list-style-type: none;}

A:link{color:#2f3640;text-decoration:underline}
A:visited{color: #2f3640;text-decoration:none;}
A:active{color:#2f3640;text-decoration:none;}
A:hover{color:#2f3640;text-decoration:none;}

::selection{
	background: #14abe3;
	color: #fff;
}
::-moz-selection{
	background: #14abe3;
	color: #fff;
}

table{
	border-collapse:collapse;
}


input{
	font-family: noto-sans-cjk-jp,sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
	font-size: 100%;
	font-style: normal;
	font-weight: 400;
}

body{
	font-family: noto-sans-cjk-jp,sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	line-height: 1.5;
	overflow-x:hidden;
}

.wrapper{
	margin: 0 auto;
	width: 98%;
	max-width: 1200px;
	text-align:left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
#container{
	text-align: left;
}


/* ページスクロールボタン */
#topcontrol{
	z-index: 200;
	right: 10px !important;
	bottom: 70px;
}


#topcontrol span{
	display: none;
}

@media screen and (min-width: 980px) {
	#topcontrol span{
		display: none;
	}
	.sp{
		display: none;
	}
	tr.sp,
	th.sp,
	td.sp{
		display: none;
	}
}
@media screen and (max-width: 979px) {
body{
	font-size: 14px;
}
	#container{
		min-width: auto;
		max-width: initial;
        overflow: hidden;
	}
	.sp{
		display: none;
	}
}
@media screen and (max-width: 768px){
	.sp{
		display: block;
	}
	tr.sp,
	th.sp,
	td.sp{
		display: block;
	}
	.pc{
		display: none;
	}
	tr.pc,
	th.pc,
	td.pc{
		display: none;
	}
	#topcontrol img{
		width: 50px !important;
		height: auto !important;
	}
}


/*header
************************************************************************************/
header{
	width: 100%;
	margin: auto;
}
#header{
	width: 100%;
	height: 95px;
	position: relative;
	background: #171c60;
	color: #FFF;
}
header #header .sitename{
	position: absolute;
	padding: 0 0 0 20px;
	left: 0;
	top: 0;
	line-height: 95px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	z-index: 10;
}
header #header .sitename img{
	max-width: 100%;
	max-height: 60px;
	width: auto;
	height: auto;
	vertical-align: middle;
}
header #header #gnav{
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
header #header #gnav ul{
	display: table;
}
header #header #gnav ul li{
	padding: 0 1em;
	display: table-cell;
	vertical-align: middle;
}
header #header #gnav ul li a{
	text-decoration: none;
	color: #FFF;
	position: relative;
	display: inline-block;
	-webkit-transition: .3s;
	-moz-transition: all .3s;
	-o-transition: all .3s;
	transition: all .3s;
	text-decoration: none;
}
header #header #gnav ul li a::after{
	position: absolute;
	bottom: 0;
	left: 50%;
	content: '';
	width: 0;
	height: 1px;
	background-color: #FFF;
	-webkit-transition: .3s;
	-moz-transition: all .3s;
	-o-transition: all .3s;
	transition: all .3s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
header #header #gnav ul li a:hover::after{
	width: 100%;
}
header.navi.fixed{
    position: fixed !important;
    top: 0;
    left: 0;
	right: 0;
	margin: auto;
	z-index: 99999;
	display: block;
}
@media screen and (max-width: 768px){
header #header #gnav{
	display: none;
}

#header{
	height: 70px;
	border-bottom: 1px solid #FFF;
}
header #header .sitename{
	position: absolute;
	padding: 0 80px 0 10px;
	line-height: 70px;
	width: 100%;
	font-size: 0;
}
header #header .sitename img{
	max-height: 50px;
}
}

/*************************************************************************************/
footer{
	background: #FFF;
	width: 100%;
	padding: 20px 0;
	text-align: center;
	font-size: 0.813em;
}

/*footer incontents
----------------------------------------------------------------------*/
.footer-content .titlebox h1{
	font-size: 3em;
	font-weight: 700;
}
.footer-content .titlebox .sub{
	font-size: 1.125em;
	font-weight: 700;
}

.footer-content .btn a{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 1em 2em;
	background: #fff600;
    color: #000;
    font-size: 1em;
	margin-top: 1em;
	margin-bottom: 1em;
	width: 300px;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
}

.footer-content .btn a:hover {
    animation: anima-button-030 1s;
}

@keyframes anima-button-030 {
    0% {
        box-shadow: 0 0 0 0 rgb(255 246 0 / 50%);
    }
    100% {
        box-shadow: 0 0 0 1.2em rgb(0 0 0 / 0%);
    }
}

.footer-content .btn a img{
	vertical-align: middle;
	margin: 0 1em;
}

.footer-content #about{
	padding: 60px 0 80px 0;
	background: #171c60;
	color: #FFF;
}
.footer-content #about .titlebox h1{
	text-align: center;
	color: #FFF;
	padding: 0 1em;
}
.footer-content #about .titlebox h1:before,
.footer-content #about .titlebox h1:after{
	content: "";
	display: inline-block;
	background:  url("../../img/common/title_line.svg") no-repeat center center;
	width: 60px;
	height: 60px;
	padding: 0 1em;
	vertical-align: middle;
}

.footer-content #about .container{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	align-items: stretch;
	column-gap: 50px;
	row-gap: 50px;
	margin-top: 60px;
}

.footer-content #about .container .gmap iframe{
	width: 100%;
	height: 500px;
}

.footer-content #about .container .data table{
	width: 100%;
	margin: 0 auto 30px;
	border-collapse:collapse;
	border-top: 1px solid #FFF;
}

.footer-content #about .container .data table th{
	padding: 1em;
	text-align: left;
	border-bottom: 1px solid #FFF;
}

.footer-content #about .container .data table td{
	padding: 1em;
	text-align: left;
	border-bottom: 1px solid #FFF;
}
.footer-content #about .container .data .bn img{
	max-width: 100%;
	height: auto;
	display: block;
	margin: auto;
}

/*contact
----------------------------------------------------------------------*/
.footer-content #contact{
	padding: 60px 0 80px 0;
	background: url("../../img/toppage/contact_bg.jpg") no-repeat;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	color: #FFF;
}
.footer-content #contact .wrapper{
	text-align: center;
}
.footer-content #contact .titlebox{
	margin-bottom: 30px;
}
.footer-content #contact h1,
.footer-content #contact .sub{
	color: #FFF;
}


.footer-content #contact .phonebox{
	background: url("../../img/common/ico_tel.svg") no-repeat left top;
	padding: 0 0 30px 40px;
	text-align: left;
	display: inline-block;
	font-weight: 700;
}
.footer-content #contact .phonebox .phonenumber{
	font-size: 2.25em;
}

#contact .phonebox .phonenumber a{
	color: #FFF;
}
.footer-content #contact .btn a{
	margin: auto;
}
@media screen and (max-width: 768px){
.footer-content #contact .phonebox{
	background: url("../../img/common/ico_tel.svg") no-repeat left .6em;
}
}

@media screen and (min-width: 980px) {
/*pc*/
}
@media screen and (max-width: 979px) {
/*tablet*/
}
@media screen and (max-width: 768px){
/*smart phone*/
}
@media screen and (max-width: 620px) {
/*sp*/
}
@media screen and (max-width: 480px){
}