@charset "UTF-8";
/* ===========================================================

	Title: global.css
	Created: 2018-02-15
	サイトの共通部分のスタイルを編集。
	推奨プレフィックス「global-」

=========================================================== */
/*
	Header
		Header brand
		Header function
	Global Navigation
	Main
	Breadcrumb
	Contents
	Sub Navigation
	Footer
	
=========================================================== */

/* ===========================================================

	Header

=========================================================== */

.global-header {
	display: block; padding: 0; margin: 0;
	background-color: rgba(255,255,255,1.00);
	position: fixed; top: 0; left: 0;
	width: 100%;
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.10);
	z-index: 1000;
}
.is_general .global-header { height: 80px; padding: 0 0; }
.is_member .global-header { height: 120px; padding: 0 0; }

.global-header__inner {
	display: block; padding: 0; margin: 0 auto;
	width: 1200px; position: relative;
}
.is_general .global-header__inner { height: 80px; }
.is_member .global-header__inner { height: 120px; }

/* -----------------------------------------------------------
	Header brand
----------------------------------------------------------- */
.global-header__brand {
	display: block; padding: 0; margin: 0;
	position: absolute; top: 0; left: 0;
}
.global-header__brand a {
	display: block; padding: 0; margin: 0;
}
.is_general .global-header__brand a { padding: 20px 0; }
.is_member .global-header__brand a { padding: 20px 0 10px 0; }
.global-header__brand img {
	width: auto; height: 40px; vertical-align: baseline;
}



/* -----------------------------------------------------------
	Header function
----------------------------------------------------------- */
.global-header__function {
	display: block; padding: 20px 0 0 0; margin: 0; float: right;
}
.global-header__function ul {
	display: flex; padding: 0; margin: 0 -1px;
}
.global-header__function li {
	display: block; padding: 0 1px; margin: 0;
}
.global-header__function a {
	display: block; padding: 5px 0; margin: 0;
	text-align: center; color: #fff;
	font-size: 1.2rem; line-height: 20px;
	width: 120px; font-weight: bold;
}
.global-header__function--admin a {
	background-color: rgba(102,102,102,1.00);
}
.global-header__function--admin a:hover {
	background-color: rgba(102,102,102,0.80);
}
.global-header__function--logout a {
	background-color: rgba(0,85,161,1.00);
}
.global-header__function--logout a:hover {
	background-color: rgba(0,85,161,0.80);
}




/* ===========================================================

	Global Navigation

=========================================================== */

.global-navigation {
	display: block; padding: 0; margin: 0; position: absolute;
}
.is_member .global-navigation { bottom: 0; left: 0; width: 100%; }
.is_general .global-navigation { top: 0; right: 0; }



.global-navigation__main_inner {
	display: flex; padding: 0; margin: 0;
}



.global-navigation dl {
	display: block; padding: 0; margin: 0;
	position: relative;
}
.is_member .global-navigation dl { padding: 10px 0; width: 20%; }
.is_general .global-navigation dl { width: 160px; }



.global-navigation__main dt {
	display: block; padding: 0; margin: 0;
	position: relative; z-index: 5;
}
.is_general .global-navigation__main dt {
	border-left: solid 1px #ddd; font-size: 1.4rem; text-align: center;
}
.is_general .global-navigation__main dl:last-child dt {
	border-right: solid 1px #ddd;
}
.is_member .global-navigation__main dt::before,
.is_member .global-navigation__main dt::after {
	display: block; padding: 0; margin: 0;
	position: absolute; width: 1px; height: 20px;
	background-color: #ddd;
}
.is_member .global-navigation__main dt::before,
.is_member .global-navigation__main dl:last-child dt::after { top: 10px; content: ""; }
.is_member .global-navigation__main dt::before { left: 0; }
.is_member .global-navigation__main dl:last-child dt::after { right: 0; }



.global-navigation__main dt a {
	display: block; margin: 0; position: relative;
}
.is_member .global-navigation__main dt a {
	padding: 0 1.0em;
	line-height: 40px;
	text-align: center;
}
.is_general .global-navigation__main dt a {
	padding: 20px 1.0em;
	line-height: 40px;
}

.global-navigation__main dt a:hover { color: rgba(0,85,161,1.00); }
.is_member .global-navigation__main dl:hover dt a {
	background-color: rgba(0,85,161,1.00); color: #fff;
}

.is_member .global-navigation__main dl.is_select dt a:hover,
.is_member .global-navigation__main dl.is_select dt a { background-color: rgba(0,85,161,0.10); color: rgba(0,85,161,1.00);  }
.is_general .global-navigation__main dl.is_select dt a:hover,
.is_general .global-navigation__main dl.is_select dt a { color: #000; }

.is_general .global-navigation__main dt a::after {
	display: block; padding: 0; margin: 0;
	width: 0; height: 4px; background-color: transparent;
	position: absolute; bottom: 0; right: 50%;
	content: ""; transition: all 0.5s;
}
.is_general .global-navigation__main dt a:hover::after,
.is_general .global-navigation__main dl.is_select dt a:hover::after,
.is_general .global-navigation__main dl.is_select dt a::after,
.is_general .global-navigation__main dl:hover dt a:after {
	margin: 0 -50% 0 0;
	width: 100%; background-color: rgba(0,85,161,1.00);
}
.global-navigation__main dd {
	display: none; padding: 0; margin: 0;
	position: relative; z-index: 4;
}



.global-navigation__main dd {
	display: block; padding: 0 0;
	position: absolute; top: 40px; right: 50%;
	height: 0;
	text-align: center; font-size: 1.4rem;
	transition: all 0.5s;
	overflow: hidden; opacity: 0.0;
	background-color: rgba(255,255,255,0.00);
	box-shadow: 0 0 0 rgba(0,0,0,0.0);
	z-index: 4;
}
.is_general .global-navigation__main dd {
	margin: 0 -100px 0 0; width: 200px;
}
.is_member .global-navigation__main dd {
	margin: 0 -120px 0 0; width: 240px; top: 30px;
}
.global-navigation__main dl:last-child dd {
	margin: 0; right: 0;
}
.global-navigation__main dl:hover dd {
	display: block; height: auto; opacity: 1.0;
	background-color: #fff;
	box-shadow: 0 5px 5px 0 rgba(0,0,0,0.1);
}
.is_general .global-navigation__main dl:hover dd { top: 80px; }
.is_member .global-navigation__main dl:hover dd { top: 50px; }


.global-navigation__main ul {
	display: block; padding: 0 0 0 0; margin: 0;
}
.global-navigation__main li {
	display: block; padding: 0 0 0 0; margin: 0;
	border-bottom: solid 1px #ddd;
}
.global-navigation__main li a {
	display: block; padding: 1.0em 1em; margin: 0;
	line-height: 1.4;
}
.global-navigation__main li a:hover {
	background-color: rgba(0,85,161,0.85); color: #fff;
}



.global-navigation__main dd a.is_current,
.global-navigation__main dd a.is_current:hover {
	background-color: rgba(0,85,161,0.05);
	color: rgba(0,85,161,1.00);
	pointer-events: none;
}


/* ===========================================================

	Main

=========================================================== */

.global-main {
	display: block; padding: 0; margin: 0;
	width: 100%;
}
.is_general .global-main { padding: 80px 0 0 0; }
.is_member .global-main { padding: 120px 0 0 0; }

.global-main__body {
	display: flex; padding: 0; margin: 0 auto; clear: both;
	width: 1200px; justify-content: space-between;
}

/* ===========================================================

	Breadcrumb

=========================================================== */



.global-breadcrumb {
	display: block; padding: 40px 0 60px 0; margin: 0 auto;
	width: 100%; font-size: 1.4rem; text-align: left;
	background-image: linear-gradient(180deg,rgba(0,85,161,0.025) 0%,rgba(0,85,161,0.0) 100%);
}
.global-breadcrumb ul {
	display: flex; padding: 0; margin: 0 auto; clear: both;
	width: 1200px;
}
.global-breadcrumb li {
	display: block; padding: 0; margin: 0;
	position: relative;
}
.global-breadcrumb a {
	display: block; padding: 0; margin: 0;
	text-decoration: none; font-weight: normal;
}
.global-breadcrumb a::after {
	display: inline-block; padding: 0; margin: 0 1.0em;
	content: "\f105"; color: rgba(0,85,161,1.00);
	font-family: FontAwesome;
}
.global-breadcrumb li:last-child a::after {
	display: none;
}


/* ===========================================================

	Contents

=========================================================== */

.global-contents { display: block; padding: 0 0 40px 0; margin: 0; }

.global-contents__inner {
	display: block; padding: 0; margin: 0;
	width: 930px;
}


/* ===========================================================

	contents-title

=========================================================== */

.contents-title {
	display: block; padding: 40px 0; margin: 0 0 30px 0;
	font-size: 2.4rem; font-weight: 700; letter-spacing: 0.10em;
	position: relative;
	border-top: solid 2px rgba(0,0,0,1.00);
	border-bottom: solid 1px #ddd;
}


/* ===========================================================

	Sub Navigation

=========================================================== */

.global-subnavigation { display: block; padding: 0 0 40px 0; margin: 0; }

.global-submenu {
	display: block; padding: 0; margin: 0;
	width: 240px;
}

.global-submenu {
	display: block; padding: 0; margin: 0;
	background-color: #fff;
}
.global-submenu h2 {
	display: block; padding: 0; margin: 0;
	font-size: 1.8rem; line-height: 1.4;
	border-top: solid 2px rgba(0,0,0,1.00);
	border-bottom: solid 1px #ddd;
}
.global-submenu h2 a {
	display: block; padding: 30px 10px; margin: 0;
	text-align: center;
}
.global-submenu dl {
	display: block; padding: 0; margin: 0;
}
.global-submenu dt {
	display: block; padding: 0; margin: 0;
	border-bottom: solid 1px #ddd;
	font-size: 1.6rem;
}
.global-submenu dt a {
	display: block; padding: 1.5em 1em 1.5em 2.0em; margin: 0;
	position: relative;
}
.global-submenu dt a:hover {
	background-color: rgba(0,85,161,0.80);
	color: #fff;
}
.global-submenu dt a::after {
	display: block; padding: 1.5em 0; margin: 0; content: "\f105";
	font-family: FontAwesome; color: rgba(0,85,161,1.00);
	position: absolute; top: 0; left: 1em;
	transition: all 0.5s;
}
.global-submenu dt a:hover::after {
	color: #fff;
}

.global-submenu dt a.is_current,
.global-submenu dt a.is_current:hover {
	background-color: rgba(0,85,161,0.05);
	color: rgba(0,85,161,1.00);
	pointer-events: none;
}
.global-submenu dt a.is_current::after,
.global-submenu dt a.is_current:hover::after {
	color: rgba(0,85,161,1.00);
}


/* ===========================================================

	Footer

=========================================================== */

.global-footer {
	display: block; padding: 0; margin: 0;
	width: 100%;
	background-color: rgba(0,85,161,1.00);
	color: rgba(255,255,255,1.00);
}



.global-footer-sitemap {
	display: block; padding: 0; margin: 0;
	width: 100%;
	background-color: #f1f1f1;
}
.global-footer-sitemap__inner {
	display: block; padding: 35px 0; margin: 0 auto;
	width: 1200px; position: relative;
}

.footer-sitemap {
	display: flex; padding: 0; margin: 0 -1.0em;
}
.footer-sitemap dl {
	display: block; padding: 0 1.0em; margin: 0;
	width: calc(100% / 5);
}
.footer-sitemap dt {
	display: block; padding: 0; margin: 0 0 1.0em 0;
}
.footer-sitemap dt a {
	display: block; padding: 0 0 0 8px; margin: 0;
	border-left: solid 2px rgba(0,85,161,1.00);
}
.footer-sitemap dd {
	display: block; padding: 0 0 0 10px; margin: 0;
}
.footer-sitemap dd a {
	display: block; padding: 0 0 0 1.0em; margin: 0;
	position: relative;
}
.footer-sitemap dd a::after {
	display: block; padding: 0; margin: 0; content: "\f0da";
	font-family: FontAwesome; color: rgba(0,85,161,1.00);
	position: absolute; top: 0; left: 0;
	transition: all 0.5s;
}
.footer-sitemap ul {
	display: block; padding: 0; margin: 0;
	font-size: 1.2rem;
}
.footer-sitemap li {
	display: block; padding: 0; margin: 10px 0 0 0;
}



.global-footer__inner {
	display: flex; padding: 35px 0; margin: 0 auto;
	width: 1200px; position: relative;
	justify-content: space-between;
	align-items: center;
}
.global-footer__nav {
	display: block; padding: 0; margin: 0;
	font-size: 1.4rem;
}
.global-footer__nav ul {
	display: flex; padding: 0; margin: 0;
}
.global-footer__nav li {
	display: block; padding: 0 1.5em; margin: 0;
	border-left: solid 1px rgba(255,255,255,1.00);
}
.global-footer__nav li:first-child {
	padding: 0 1.5em 0 0;
	border-left: none;
}
.global-footer__nav a {
	display: block; padding: 0; margin: 0;
	color: rgba(255,255,255,1.00);
}

.global-copyright {
	display: block; padding: 0; margin: 0;
	font-family: Arial, Helvetica, "sans-serif";
	font-size: 1.2rem;
}
