@charset "UTF-8";


/*-----------------------------------------------------------
	ヘッダー
-----------------------------------------------------------*/
header{
	background-color: #fff;
	box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.1);
	background: linear-gradient(30deg, rgba(0,125,75,.8), rgba(0,125,75,0) 65%),
            linear-gradient(150deg, rgba(0,255,255,.8), rgba(0,255,255,0) 65%),
            linear-gradient(270deg, rgba(0,0,255,.8), rgba(0,0,255,0) 65%);
}
.commonHeader{
	width: 100%;
	/*height: 54px;*/
	font-size: 14px;
	text-decoration: none;
	color: #333;
	padding: 10px 0;
}

@media only screen and (max-width: 1024px) {
.commonHeader{
	/*position:fixed;*/
	width: 100%;
	/*height: 40px;*/
	z-index: 9999999;
}
}
.commonHeader .contentBox{
	display: flex;
	align-items: center;
}
/*グローバルナビゲーションより下の囲み*/
@media only screen and (max-width: 1024px) {
#container{
	position:absolute;
	left:0;
	top:40px;
}
}
.commonHeader a{
	color:#fff;
	font-size:16px;
}

.commonHeader .logo{
	font-weight: bold;
	width: 140px;
	/*width: 240px;*/
	/*height: 36px;*/
}
@media only screen and (max-width: 1024px) {
.commonHeader .logo{
	width: 90px;
}
}
.commonHeader .logo img{
	width: 100%;
	height: auto
}
.hContent .hNavLeft{
	display: flex;
	-webkit-box-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	align-items: center;
	height: 100%;
	white-space: nowrap;
	flex: 0 0 auto;
}
.commonHeader{
	/*background-color:#333;*/

}
.commonHeader a{
	
}

.commonHeader .contentBox{
	display: flex;
	justify-content: space-between;
}
.commonHeader ul.h-nav{
	display: flex;
	justify-content: flex-end;
}
.commonHeader ul.h-nav li{
	font-size: 12px;
	position: relative;
	display: flex;
}
.commonHeader ul.h-nav li a{
	color: #fff;
	text-decoration: none;
	padding: 4px 16px;
}
.commonHeader ul.h-nav li a:hover{
	text-decoration: underline;

}
.commonHeader ul.h-nav li:not(:last-child) > a::after{
    content: "";
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 0px;
    height: 14px;
    border-right: 1px solid #666;
}






/*--トップタイトル--*/
.main-ttl{
	padding:80px 0;
    text-align: center;
	font-size:200%;
    font-family: 'Kiwi Maru', serif;
}



/*-----------------------------------------------------------
	検索
-----------------------------------------------------------*/
.headerSearchForm{
	display: flex;
	-webkit-box-pack: end;
	justify-content:flex-end;
	align-items: center;
	flex: 1 1 auto;
}
@media only screen and (max-width: 1024px) {
.headerSearchForm{
	margin-right:36px;
}
}
@media only screen and (max-width: 640px) {
.headerSearchForm{
	display:none;
}
}

.hSearchInner{
	display: flex;
	margin-right:15px;
}
.hSearchInner .hSearchBox{
	position: relative;
	/*border: 1px solid #ccc;*/
	display: block;
	padding: 0px 10px;
	border-radius:4px 0 0 4px;
	-webkit-border-radius:4px 0 0 4px;
	-moz-border-radius:4px 0 0 4px;
	width: 400px;
	overflow: hidden;
	margin-right:-1px;
}
@media only screen and (max-width: 1024px) {
.hSearchInner .hSearchBox{
	width: 360px;
}
}
.hSearchInner .hSearchBox input[type="search"]{
	-webkit-appearance: none;
	position: absolute;
	top:0;
	left:0;
	border:none;
	width:100%;
	padding: 0 0.5em;
	background:#f6f6f6;
}
.hSearchInner .hSearchBox input[type="search"]:focus{
	-webkit-appearance: none;
	outline: 0;
}
.hSearchInner select{
	-webkit-appearance: none;
	width: 70px;
	border: 1px solid #319dd0;
	margin-right:-1px;
}
.hSearchInner input[type="submit"]{
	-webkit-appearance: none;
	cursor: pointer;
	font-family: FontAwesome;
	border: none;
	background: #319dd0;
	color: #fff;
	width: 3.5em;
	outline : none;
	border-radius:0 4px 4px 0;
	-webkit-border-radius:0 4px 4px 0;
	-moz-border-radius:0 4px 4px 0;
}


.hSearchInner .hSearchBox,
.hSearchInner .hSearchBox input[type="search"],
.hSearchInner select,
.hSearchInner input[type="submit"]{
	height: 36px;
}
@media only screen and (max-width: 1024px) {
.hSearchInner .hSearchBox,
.hSearchInner .hSearchBox input[type="search"],
.hSearchInner select,
.hSearchInner input[type="submit"]{
	height: 28px;
}
}





/*-----------------------------------------------------------
	スマホメニュー
-----------------------------------------------------------*/
/*スマホメニューボタン*/
#sp-menu-btn{
	display:none;
	position: fixed;
	right:0;
	top:0;
	z-index: 9999999;
	width: 40px;
	height: 40px;
	color: #fff;
	cursor: pointer;
	background-color: #319dd0;
}
@media only screen and (max-width: 1024px) {
#sp-menu-btn{
	display:block;
}
}
#sp-menu-btn span{
	position: absolute;
	height: 4%;
	width: 50%;
	background: #fff;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#sp-menu-btn span:nth-child(1){
	top: 28%;
	left:25%;
}
#sp-menu-btn span:nth-child(2){
	top: 48%;
	left:25%;
}

#sp-menu-btn span:nth-child(3){
	top: 68%;
	left:25%;
}
/*切り替えアニメーション*/
#sp-menu-btn.active span:nth-child(1){
	top: 48%;
	-webkit-transform: rotate(-315deg);
	-moz-transform: rotate(-315deg);
	transform: rotate(-315deg);
}
#sp-menu-btn.active span:nth-child(2){
	width: 0;
	left: 50%;
}
#sp-menu-btn.active span:nth-child(3){
	top: 48%;
	-webkit-transform: rotate(-225deg);
	-moz-transform: rotate(-225deg);
	transform: rotate(-225deg);
}

/*プルダウンメニュー*/
#sp-menu{
	z-index: 999999;
	display:none;
}
@media only screen and (max-width: 1024px) {
#sp-menu{
	display:block;
}
}
#sp-menu .menu{
	z-index: 999999;
	position: fixed;
	left: 0;
	top:0;
	/*top: 40px;*/
	padding-top:40px;
	display: none;
	background-color:rgba(255,255,255,0.85);
	width: 100%;
	height: 100%;
}

#sp-menu .menu li a{
	display: block;
	width: 100%;
	font-size:80%;
	text-align: center;
	color: #333;
	text-decoration:none;
	border-bottom:dotted 1px #319dd0;
	padding: 16px 0;
}
#sp-menu .menu li a:hover{
	background-color: #f9f9f9;
}


/*-----------------------------------------------------------
	グローバルナビゲーション
-----------------------------------------------------------*/
.gNav{
	width: 100%;
	/*border-top:solid 1px #f9f9f9;*/
	/*border-bottom:solid 1px #f9f9f9;*/
	/*background:#319dd0;
	background: linear-gradient(0deg,#1770c1,#319dd0);*/
	background-color:#FFF;
}
@media only screen and (max-width: 1024px) {
.gNav{
	overflow-x: scroll;
	overflow-y: hidden;
}
.gNav::-webkit-scrollbar{
    width: 0;
    height: 0;
}
.gNav::-webkit-scrollbar-thumb{
    background: transparent;
}
.gNav::-webkit-scrollbar-track{
    background: transparent;
}
}
.gNav > ul{
	display: flex;
	align-items: center;
	justify-content: center;
	/*flex-wrap: wrap;*/
}
@media only screen and (max-width: 1024px) {
.gNav > ul{
	overflow: auto;
    margin: 0;
	display: table;
    overflow-x: scroll;
    white-space: nowrap;
}
}

.gNav > ul > li{
	position:relative;
	/*width: calc(100% / 5);*/
	/*width: 100%;*/
}
.gNav > ul > li:not(:last-child)::after{
    content: "";
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 0px;
    height: 14px;
    border-right: 1px solid #ddd;
}


@media only screen and (max-width: 1024px) {
.gNav > ul > li{
	display: table-cell;
	width: auto;
}
}
.gNav > ul > li > a{
	position: relative;
	margin:0;
	padding:14px 18px;
	text-align: center;
	display:block;
	text-decoration: none;
	color:#333;
	font-size:14px;
}

@media only screen and (max-width: 1024px) {
.gNav > ul > li > a{
	padding: 8px 14px;
	font-size: 80%;
}
}

.gNav > ul > li > a:hover{
	/*background:#7db4e6;
	background: linear-gradient(0deg,#319dd0,#1770c1);*/
	background-color:#E5F1FF;
}

/*
.gNav > ul > li > a:hover::after,
.gNav > ul > li.current-menu-item > a::after{
    transform: scaleX(1);
}
.gNav > ul > li > a::after{
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    transition: width .35s,height .35s,-webkit-transform .35s;
    transition: transform .35s,width .35s,height .35s;
    transition: transform .35s,width .35s,height .35s,-webkit-transform .35s;
    background:#319dd0;
    width: 100%;
    height: 3px;
    transform: scaleX(0);
    content: "";
}*/

/*下層メニュー*/
.gNav > ul > li > ul{
	display:none;
	font-size:90%;
	position:absolute;
	left:0;
	top:52px;
	z-index:9;
	background-color:#fff;
	border-radius: 8px;
	overflow:hidden;
}

.gNav > ul > li:hover > ul{
	display:block;
	width:100%;
	box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.2);
}

.gNav > ul > li > ul li{
	position:relative;
}
.gNav > ul > li > ul li:not(:last-child):after {
    content: "";
	position:absolute;
	left:50%;
	bottom:0;
    display: block;
    width: 90%;
    height: 1px;
    background: #ddd;
	transform:translate(-50%,0)
}

.gNav > ul > li > ul li a:hover{
	background-color:#f6f6f6;
}
.gNav > ul > li > ul li a{
	display:block;
	padding:10px;
	/*border-bottom:1px solid #ccc;*/
}



/*-----------------------------------------------------------
	パンくずリスト
-----------------------------------------------------------*/
#breadcrumb{
	/*background:#f6f6f6;*/
	background:#e5f8ff;
	color:#319dd0;
}
@media only screen and (max-width: 1024px) {
#breadcrumb{
	overflow-x: scroll;
	overflow-y: hidden;
	width: 100%;
	white-space: nowrap;
}
}
#breadcrumb ul{
	display: flex;
	align-items: center;
	/*flex-wrap: wrap;*/
	font-size:70%;
	padding:8px 8px;
}
@media only screen and (max-width: 1024px) {
#breadcrumb ul{
	font-size:60%;
}
}
#breadcrumb li a{
	color:#319dd0;
	text-decoration:underline;
}
#breadcrumb li:last-child{
	/*color:#319dd0;*/
	color:#666;
	padding-right:1em;
}
#breadcrumb li:not(:last-child):after{
	content:">";
	color:#999;
	margin-left:8px;
	margin-right:8px;
}
#breadcrumb li a:hover{
	text-decoration:underline;
}
#breadcrumb::-webkit-scrollbar{
    width: 0;
    height: 0;
}
#breadcrumb::-webkit-scrollbar-thumb{
    background: transparent;
}
#breadcrumb::-webkit-scrollbar-track{
    background: transparent;
}
