@charset "UTF-8";

/* ==================================================
shared
================================================== */
/* container
============================== */
.container {
	padding:0 20px;
	clear:both;
}
/* header
============================== */
header .container {
	padding-right:0;
}
#head_logo {
	float:left;
	padding-top:10px;
}
#head_logo #logo {
	margin-bottom:3px;
}
#head_logo #htxt {
	font-size:0.8rem;
}
#head_func {
	float:right;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	align-items: center;
}
/* globalMenuSp
============================== */
.navToggle {
	display:none;
}
.globalMenuSp {
	float:left;
	margin-right:20px;
}
.globalMenuSp ul li {
	display:inline-block;
	vertical-align:top;
	position:relative;
	padding:0 10px 0 30px;
}
.globalMenuSp ul li::before {
	content:"";
	position:absolute;
	top:50%;
	left:0;
	width:15px;
	height:15px;
	margin-top:-8px;
	background: linear-gradient(135deg, #fff, #fff 49%, #000 49%, #000 51%, #fff 51%, #fff);
}
.globalMenuSp ul li a {
	display:block;
	text-decoration:none;
	position:relative;
	color:#000;
}
.globalMenuSp ul li a::after {
    content:"";
    position: absolute;
    width: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: #3f59bf;
    transition: .3s;
}
.globalMenuSp ul li.active a::after,
.globalMenuSp ul li a:hover::after {
	width: 100%;
	left: 0;
}
/* funcMenu */
.funcMenu {
	float:right;
	display: flex;
	flex-wrap: wrap;
}
.funcMenu p {
	float:left;
	width:100px;
	margin:0 0 0 1px;
	display: flex;
	align-items:stretch;
}
.funcMenu p a,
.funcMenu #func_tel span {
	background-color:#3f59bf;
	color:#ffffff;
	padding:60px 3px 5px;
	text-align:center;
	text-decoration:none;
	flex-grow:1;
	min-height:100px;
	background-repeat:no-repeat;
	background-position:center 24px;
	transition: 0.8s;
}
.funcMenu #func_tel span {
	font-family:Arial, Helvetica, sans-serif;
	font-weight:bold;
	font-size:0.85rem;
}
.funcMenu #func_tel span {
	background-image:url(../images/header/tel_icon.png);
}
.funcMenu #func_mail a {
	background-image:url(../images/header/mail_icon.png);
	font-weight:bold;
	font-size:0.75rem;
}
.funcMenu #func_inst a {
	background-image:url(../images/header/inst_icon.png);
}
.funcMenu #func_inst span {
	display:block;
	overflow:hidden;
	text-indent:-9999px;
	white-space:nowrap;
}
.funcMenu p a:hover {
	background-color:#242e81;
}
#head_func_ttl,
#tel_sp {
	display:none;
}
/* main
============================== */
#main {
	max-width:1440px;
	margin:0 auto;
	padding:0 20px 50px;
}
/* pankuzu
============================== */
#pankuzu {
	max-width:1440px;
	margin:0 auto;
	border-top:1px solid #ddd;
	border-bottom:1px solid #ddd;
	font-size:0.8rem;
	padding:20px;
	clear:both;
}
#pankuzu p {
	margin-bottom:0;
}
#pankuzu p a {
	position:relative;
	padding-right:20px;
}
#pankuzu p a::after {
    content: "";
    position: absolute;
    top:50%;
	right:5px;
    width:7px;
    height:7px;
	margin-top:-3px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
/* footer
============================== */
footer {
	background:url(../images/footer/footer_bg.jpg) repeat-x left top;
	padding:150px 0 10px;
	clear:both;
}
#foot_navi {
	background-color:#2a46b7;
	color:#ffffff;
	text-align:center;
	padding:20px 0;
}
#foot_navi ul {
	line-height:1.2;
}
#foot_navi li {
	padding:0 15px;
	line-height:1.2;
	display:inline-block;
	vertical-align:top;
	border-right:1px solid #ffffff;
}
#foot_navi li:first-child {
	border-left:1px solid #ffffff;
}
#foot_navi li a {
	color:#ffffff;
	display:block;
	text-decoration:none;
	position:relative;
}
#foot_navi li a::after {
    content:"";
    position: absolute;
    width: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: #ffffff;
    transition: .3s;
}
#foot_navi li a:hover::after {
	width: 100%;
	left: 0;
}
#foot_main {
	text-align:center;
	padding:10px 0;
}
#foot_logo,
#foot_add {
	display:inline-block;
	vertical-align:top;
}
#foot_logo {
	margin-right:15px;
}
#foot_add {
	padding-top:5px;
}
#foot_add p {
	margin-bottom:5px;
}
#foot_add .add_tel {
	text-align:left;
}
#foot_add .add_tel p {
	display:inline-block;
	vertical-align:top;
	line-height:1.2;
	font-family:Arial, Helvetica, sans-serif;
	margin:0 1em 0 0;
}
#foot_add .add_tel p .ttl {
	display:inline-block;
	text-transform:uppercase;
	background-color:#141c36;
	color:#ffffff;
	padding:1px 5px;
	margin:1px 0.5em 0 0;
	font-size:0.7rem;
}
#foot_add .add_tel .telno a {
	text-decoration:none;
	color:#000;
}
footer address {
	font-size:85.7%;
	font-style:normal;
	text-align:center;
}
/* topcontrol
============================== */
#topcontrol {
	width:140px;
	height:140px;
	z-index:100;
}
#topcontrol p {
	display:block;
	width:140px;
	height:140px;
	background:url(../images/footer/pagetop.png) no-repeat 0 0;
}
#topcontrol p span {
	width:140px;
	height:140px;
	display:block;
	overflow:hidden;
	text-indent:-9999px;
	white-space:nowrap;
}
/* ==================================================
clearfix
================================================== */
.container:after,
footer:after {
	content: ""; 
	display: table;
	clear: both;
}

@media screen and (max-width: 1200px) {
header .container {
	padding-left:10px;
}
#head_logo {
	width:300px;
}
#head_logo #htxt {
	font-size:0.7rem;
}
.globalMenuSp ul li {
	font-size:87.5%;
	padding:0 5px 0 20px;
}
.funcMenu p {
	width:80px;
}
.funcMenu p a,
.funcMenu #func_tel span {
	padding-top:48px;
	min-height:80px;
	background-position:center 18px;
}
.funcMenu #func_tel span {
	font-size:0.6rem;
	-webkit-background-size:18px auto;
	-moz-background-size:18px auto;
	background-size:18px auto;
}
.funcMenu #func_mail a {
	font-size:0.65rem;
	-webkit-background-size:20px auto;
	-moz-background-size:20px auto;
	background-size:20px auto;
}
.funcMenu #func_inst a {
	-webkit-background-size:64px auto;
	-moz-background-size:64px auto;
	background-size:64px auto;
}
}
@media screen and (max-width: 960px) {
#head_logo {
	width:250px;
}
#head_logo #htxt {
	font-size:0.6rem;
}
.globalMenuSp {
	margin-right:10px;
}
.globalMenuSp ul li {
	font-size:81.25%;
	padding:0 5px 0 15px;
}
.funcMenu p {
	width:65px;
}
.funcMenu p a,
.funcMenu #func_tel span {
	padding-top:40px;
	min-height:65px;
	background-position:center 14px;
}
.funcMenu #func_tel span {
	font-size:0.55rem;
}
.funcMenu #func_mail a {
	font-size:0.52rem;
}
.funcMenu #func_inst a {
	-webkit-background-size:55px auto;
	-moz-background-size:55px auto;
	background-size:55px auto;
}
}
