@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700');

/* ========================================================
	template.css => テンプレート用CSS
======================================================== */
html,body{
    width: 100%;
    overflow-x: hidden;
}
html {
	font-size: 62.5%;
}
body {
	background-color: #fff;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.7;
	letter-spacing: 0.07em;
	color: #000000;
	font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	-webkit-text-size-adjust: 100%;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.7;
}
a {
	text-decoration: none;
	-webkit-transition: color 0.15s, background-color 0.15s, background-image 0.15s, border 0.15s, opacity 0.15s;
	-o-transition: color 0.15s, background-color 0.15s, background-image 0.15s, border 0.15s, opacity 0.15s;
	transition: color 0.15s, background-color 0.15s, background-image 0.15s, border 0.15s, opacity 0.15s;
	color: #231815;
}
a:hover {
}
a.a_reverse,
.a_reverse a {
	text-decoration: none;
}
a.a_reverse[href]:hover,
.a_reverse a[href]:hover {
	text-decoration: underline;
}

#container a {
	color:#003396;
	text-decoration: none;
}
#container a:hover {
	text-decoration: underline;
}


label {
	cursor: pointer;
}
input, select, textarea, button {
	margin: 0;
	vertical-align: middle;
	font-family: inherit;
	outline: none;
	font-size: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

button {
	cursor: pointer;
}
iframe {
	vertical-align: middle;
}
img {
	max-width: 100%;
	height: auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
@media screen and (max-width: 768px) {
	img {
		max-width: 100%;
		height: auto;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	iframe {
		max-width: 100%;
		height: 200px;
	}
}



/* pc / sp
============================================================================================================ */
.sp,
.sps {
	display: none !important;
}
@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	img.sp, span.sp, br.sp, em.sp, strong.sp {
		display: inline !important;
	}
}
@media screen and (max-width: 370px) {
	.sps {
		display: block !important;
	}
	img.sps, spsan.sps, br.sps, em.sps, strong.sps {
		display: inline !important;
	}
}


/* sp
============================================================================================================ */
@media screen and (max-width: 768px) {
	*[data-label] img {
		display: none;
	}
	*[data-label]:before {
		content: attr(data-label);
	}
	*[data-label-r]:after {
		content: attr(data-label-r);
	}
	.sp_mincho {
		font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	}
}

/* font-size
============================================================================================================ */
.fz_s {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.5;
}
.fz_m {
}
.fz_l {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.6;
}
.fz_ll {
}
@media screen and (max-width: 768px) {
	.fz_s {
		font-size: 1.1rem;
	}
	.fz_l {
		font-size: 1.5rem;
	}
}


/* ヘッダー
============================================================================================================ */
#header {
	position: fixed;
	width: 100%;
	color: #212121;
	z-index: 100;
	background: #fff;
	-webkit-transition: background 0.3s;
	-o-transition: background 0.3s;
	transition: background 0.3s;
	height: 90px;
	border-bottom: 1px solid #ccc;
}
/*#header:hover {
	background: #fff;
}
#header.open {
	background: rgba(0,0,0,0.66);
}*/
#header .logo {
	float: left;
	padding: 18px 0 0 30px;
	font-size: 20px;
	font-size: 2rem;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
	position: relative;
	z-index: 5;
}
#header .logo img {
	width: 252px;
	height: 51px;
	vertical-align: bottom;
}
#header .head_r {
	float: right;
	margin-top: 20px;
}
#header .head_r ul li{
	display: inline-block;
	margin-left: 25px;
}
#header .head_r ul li a {
	position: relative;
	display: block;
	padding: 0 0 0 16px;
	vertical-align: middle;
	text-decoration: none;
	font-size: 13px;
	font-size: 1.3rem;
}
#header .head_r ul li a:before,
#header .head_r ul li a:after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
#header .head_r ul li a:before{
	width: 10px;
	height: 10px;
	background: #ffffff;
}
#header .head_r ul li a:after{
	left: 2px;
	width: 3px;
	height: 3px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#header .head_r ul li a:hover {
	text-decoration: underline;
}

@media screen and (min-width:640px) and ( max-width:768px){
	/*#header {
		height: 70px;
		border-bottom: none;
		-webkit-box-shadow: 0px 5px 5px rgba(0,0,0,0.13);
		-moz-box-shadow: 0px 5px 5px rgba(0,0,0,0.13);
		-ms-box-shadow: 0px 5px 5px rgba(0,0,0,0.13);
		box-shadow: 0px 5px 5px rgba(0,0,0,0.13);
	}
	#header .logo {
		padding-top: 15px !important;
		padding-right: 50px !important;
		padding-bottom: 0 !important;
		padding-left: 10px !important;
	}
	#header .logo img {
		max-height: 40px !important;
		width: auto;
	}*/
}
	

@media screen and (max-width: 768px) {
	#header {
		position: fixed;
		height: 70px;
		border-bottom: 0;
		-webkit-box-shadow: 0px 5px 5px rgba(0,0,0,0.13);
		-moz-box-shadow: 0px 5px 5px rgba(0,0,0,0.13);
		-ms-box-shadow: 0px 5px 5px rgba(0,0,0,0.13);
		box-shadow: 0px 5px 5px rgba(0,0,0,0.13);
	}
	/*#header.open {
		background: #000;
		position: fixed;
	}*/
	#header .head {
		padding: 0;
		height: 45px;
		
	}
	#header .logo {
		display: block;
		position: relative;
		float: none;
		z-index: 5;
		width: auto;
		padding-top: 13px;
		padding-right: 50px;
		padding-bottom: 0;
		padding-left: 10px;
		font-size: 15px;
		font-size: 1.5rem;
		text-align: left;
	}
	#header .logo span {
		padding-top: 5px;
	}
	#header .logo img {
		max-height: 40px;
		width: auto;
	}
	#header .head_r {
		float: none;
		margin-top: 0;
		margin-right: 0;
		position: fixed;
		top: 15px;
		right: 53px;
		z-index: 6;
	}

	#header nav div > ul.s_nav a {
		font-size: 1.2rem !important;
	}


}
/* nav
------------------------------------------------------------- */

@media screen and (max-width: 768px) {
	/* open */
	#header.open .nav_btn:before {
		opacity: 0;
	}
	#header.open .nav_btn a:before {
		-webkit-transform: translateY(0) rotate(45deg);
		-ms-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}
	#header.open .nav_btn a:after {
		-webkit-transform: translateY(0) rotate(-45deg);
		-ms-transform: translateY(0) rotate(-45deg);
		transform: translateY(0) rotate(-45deg);
	}
	#header.open nav {
		height: 100%;
		opacity: 1;
	}
	#header nav .has_snav > a:before {
		-webkit-transform: translateY(3px);
		-ms-transform: translateY(3px);
		-o-transform: translateY(3px);
		transform: translateY(3px);
	}
	#header nav .has_snav > a.open:before {
		-webkit-transform: translateY(0) rotate(180deg);
		-ms-transform: translateY(0) rotate(180deg);
		transform: translateY(0) rotate(180deg);
	}
	#header nav .has_snav > a.open:after {
		display:none;
	}
}




/* copyright
------------------------------------------------------------- */
.copyright {
	clear: both;
	display: block;
	font-size: 11px;
	font-size: 1.1rem;
	text-align: center;
	color: #fff;
	background: #222222;
	padding: 1.5em 1em;
}
@media screen and (max-width: 768px) {
	.copyright {
		display: block;
		font-size: 1.0rem;
		text-align: center;
		height: 50px;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
	}
}





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

	コンテンツ

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

/* topic_path
============================================================================================================ */
.topic_path{
	font-size: 12px;
	font-size: 1.2rem;
	height: 50px;
	text-align: left;
	background: url(../images/bg_title_2022.png) no-repeat #d0eeff;
	background-size: 1280px;
	background-position: center top -110px;
	overflow: hidden;
    -webkit-transition: all .3s ease;
         -o-transition: all .3s ease;
            transition: all .3s ease;
}
.topic_path ul{
	width: 96%;
	margin: 1.65em auto 0 auto;
}
.topic_path li{
	display: inline-block;
}
.topic_path li a:after{
	content:">";
	margin-left: 5px;
}
.topic_path li a {
	color: #000 !important;
	text-decoration: none !important;
}
.topic_path #icon_home {
	width: 13px;
	height: 12px;
	position: relative;
	bottom: -2px;
}
@media screen and (max-width: 1200px) {
	.topic_path{
		background-size: 1146px;
		background-position: center top -110px;
	}	
	.topic_path ul{
		width: 92%;
		margin: 1.65em auto 0 auto;
	}	
}
@media screen and (max-width: 1146px) {
	.topic_path{
		background-size: 1024px;
		background-position: center top -100px;
	}	
}
@media screen and (max-width: 1024px) {
	.topic_path{
		background-size: 950px;
		background-position: center top -90px;
	}	
}
@media screen and (max-width: 768px) {
	.topic_path{
		display: none;
		font-size: 10px;
		font-size: 1.0rem;
	}
}


/* footer
============================================================================================================ */
#footer{
	background: url(../images/bg_footer.jpg) no-repeat #f2f5f7;
	background-size: 100% auto;
	background-position: center bottom 51px;
	font-size: 13px;
	font-size: 1.3rem;
	color: #333333;
	position: relative;
}
#footer .footer_area {
	width: 1160px;
	margin: 0 auto;
	padding: 60px 0;
	display: table;
	line-height: 1.5;
}
#footer .footer_area .campus {
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.5;
}
#footer .footer_area .campus a:hover {
	opacity: 0.7;
}
#footer .footer_col01,
#footer .footer_col02,
#footer .footer_col03,
#footer .footer_col04 {
	display: table-cell;
	border-left: 1px solid #bec8d0;
	padding-left: 30px;
	padding-bottom: 1em;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
#footer .footer_col01 {
	width: 26%;
}
#footer .footer_col02 {
	width: 26%;
}
#footer .footer_col03 {
	width: 25%;
}
#footer .footer_col04 {
	width: 23%;
}
#footer .footer_navi_course {
	margin-top: 3em;
}
#footer .footer_navi_course li {
	font-size: 13px;
	font-size: 1.3rem;
	color: #333333;
	margin-bottom: 1.5em;
}
#footer .footer_navi_course li span {
	font-weight: bold;
	float: left;
}
#footer .footer_navi_course li ul {
	margin-left: 7em;
}
#footer .footer_navi_course li ul li {
	margin-bottom: 0;
}

#footer .footer_navi_course a,
#footer .footer_navi a,
#footer .footer_navi_b a{
	color: #333333 !important;
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	text-decoration: none;
}
#footer .footer_navi_course a:hover,
#footer .footer_navi a:hover,
#footer .footer_navi_b a:hover{
	opacity: 0.7;
}
#footer .footer_navi{
		
}
#footer .footer_navi li {
	margin-bottom: 0.75em;
	position: relative;
}
#footer .footer_col01 .footer_navi li,
#footer .footer_col02 .footer_navi li{
	margin-bottom: 0;
}
#footer .footer_col01 .footer_navi a,
#footer .footer_col02 .footer_navi a{
	font-size: 13px;
	font-size: 1.3rem;
}
#footer .footer_navi li.blank a:after {
	content: "";
	display: inline-block;
	background: url(../../common/images/icon_blank.svg);
	background-size: 12px 12px;
	height: 12px;
	width: 12px;
	margin-left: 5px;
	position: relative;
	top: 1px;
}

#footer .footer_navi_b {
	float: right;
	margin-top: 15px;
	margin-bottom: 10px;
	width: 50%;
	text-align: right;
}
#footer .footer_navi_b li {
	display: inline-block;
	margin: 0 1em;
}
#footer .footer_navi_b li a {
	font-size: 12px;
	font-size: 1.2rem;
}

#footer .footer_area_b {
	border-top: 1px solid #bec8d0;
	padding: 30px;
}
#footer .footer_area_b .logo {
	width: 233px;
	height: 47px;
	float: left;
	margin-right: 50px;
}
#footer .footer_social {
	float: left;
	margin-top: 5px;
}
#footer .footer_social li {
	display: inline-block;
	vertical-align: middle;
	margin-right: 19px;
}
#footer .footer_social li:first-child {
	margin-right: 21px;
}
#footer .footer_social li:nth-child(3) {
	margin-right: 17px;
}
#footer .footer_social li a {
	display: block;
}
#footer .footer_social li a:hover {
	opacity: 0.8;
}
#footer .footer_social #icon_facebook {
	width: 15px;
	height: 28px;
}
#footer .footer_social #icon_insta {
	width: 28px;
	height: 28px;
}
#footer .footer_social #icon_line {
	width: 31px;
	height: 30px;
}
#footer .footer_social #icon_youtube {
	width: 26px;
	height: 31px;
}
#footer .footer_social #icon_twitter {
	width: 33px;
	height: 27px;
}
#footer .footer_area_b:after{
	content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0; overflow: hidden;
}
#footer .link_btn_f {
	margin-top: 1.5em;
}
#footer .link_btn_f a {
	display: block;
	background: #001133;
	color: #fff;
	text-align: center;
	padding: 0.8em 1em;
	font-size: 14px;
	font-size: 1.4rem;
	position: relative;
}
#footer .link_btn_f a:after {
	position: absolute;
	content: "";
	vertical-align: middle;
	right: 12px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#footer .link_btn_f a:hover {
	opacity: 0.8;
}

@media screen and (max-width: 1200px) {
	#footer .footer_area {
		width: 94%;
		margin: 0 auto;
	}
	#footer .footer_navi_b {
		width: 65%;
	}
	#footer .footer_area_b .logo {
		float: none;
	}
	#footer .footer_social {
		float: left;
		margin-top: 25px;
		text-align: center;
	}
}
@media screen and (max-width: 768px) {
	#footer{
		font-size: 12px;
		font-size: 1.2rem;
		background-size: auto 600px;
		background-position: left 27% bottom 47px;
	}
	#footer .footer_area {
		width: 90%;
		padding: 30px 0 30px;
		display: block;
		line-height: 2.0;
	}
	#footer .footer_area .campus {
		font-size: 14px;
		font-size: 1.4rem;
	}
	#footer .footer_col01,
	#footer .footer_col02,
	#footer .footer_col03,
	#footer .footer_col04 {
		display: block;
		border-left: none;
		padding-left: 0;
	}
	#footer .footer_col01 {
		width: 100%;
		margin-bottom: 25px;
	}
	#footer .footer_col02 {
		width: 100%;
		margin-bottom: 25px;
	}
	#footer .footer_col03 {
		width: 100%;
	}
	#footer .footer_col03 .footer_navi li {
		float: left;
		width: 50%;
	}
	#footer .footer_col03 .footer_navi:after {
		content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0; overflow: hidden;
	}
	#footer .footer_col04 {
		display: none;
	}
	#footer .footer_navi{
		margin-top: 1em;	
	}
	#footer .footer_navi_course li ul li {
		display: inline-block;
		margin-right: 2em;
		font-size: 12px;
		font-size: 1.2rem;
	}
	#footer .footer_navi_course a,
	#footer .footer_navi a,
	#footer .footer_navi_b a{
		font-size: 12px;
		font-size: 1.2rem;
	}
	#footer .footer_col01 .footer_navi li,
	#footer .footer_col02 .footer_navi li{
		display: inline-block;
		margin-right: 2em;
	}
	#footer .footer_col01 .footer_navi a,
	#footer .footer_col02 .footer_navi a{
		font-size: 12px;
		font-size: 1.2rem;
	}
	#footer .footer_navi_b {
		float: none;
		right: inherit;
		margin: 0;
		width: auto;
		text-align: left;
	}
	#footer .footer_navi_b li {
		float: left;
		width: 50%;
		display: block;
		margin: 0 0 0.75em;
	}
	#footer .footer_navi_b:after {
		content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0; overflow: hidden;
	}
	
	#footer .footer_area_b {
		border-top: none;
		padding: 0;
		width: 90%;
		margin: 0 auto;
	}
	#footer .footer_area_b .logo {
		width: 210px;
		height: 43px;
		float: none;
		margin: 50px auto 0;
		padding-right: 7px;
	}
	#footer .footer_social {
		float: none;
		margin-top: 25px;
		margin-bottom: 30px;
		text-align: center;
	}
	#footer .footer_social li {
		display: inline-block;
		vertical-align: middle;
		margin-right: 19px;
	}
	#footer .footer_social li:last-child {
		margin-right: 0;
	}
	
}



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

	モジュール

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

/* table
============================================================================================================ */
table.basic {
	width: 100%;
	line-height: 1.6;
	table-layout: fixed;
}
table.basic th,
table.basic td {
	padding: 0.8em 1em;
	word-wrap:break-word;
	border-right: 3px solid #EEF2F5;
}
table.basic th {
	padding: 0.6em 1em;
}
table.basic th {
	background: #001133;
	color: #fff;
	text-align: center;
}
table.basic.basic_v th {
	border-bottom: 3px solid #EEF2F5;
}
table.basic tr th:last-child,
table.basic tr td:last-child{
	border-right: none;
}
table.basic td {
	background: #fff;
	border-bottom: 3px solid #EEF2F5;
}
table.basic.col4 th,
table.basic.col4 td {
	width: 25%;
}
table.basic th.bg_blue,
table.basic td.bg_blue {
	background: #D0E0E7;
	color: #000;
}


table.basic02 {
	width: 100%;
	line-height: 1.6;
}
table.basic02 th,
table.basic02 td {
	padding: 1em;
	word-wrap:break-word;
}
table.basic02 th {
	border-bottom: 3px solid #fff;
	background: #001133;
	color: #fff;
	text-align: center;
}
table.basic02 th.bg_blue {
	background: #003399;
}
table.basic02 th.bg_gray {
	background: #EAEAEA;
	color: #000;
	text-align: center;
	border-right: 3px solid #fff;
	width: 15%;
}
table.basic02 tr th:last-child,
table.basic02 tr td:last-child{
	border-right: none;
}
table.basic02 td {
	background: #F2F2F2;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
}

table.basic03 {
	width: 100%;
	line-height: 1.6;
	border-top: 2px solid #E5E5E5;
	border-left: 2px solid #E5E5E5;
}
table.basic03 th,
table.basic03 td {
	padding: 1em;
	word-wrap:break-word;
}
table.basic03 th {
	border-bottom: 2px solid #E5E5E5;
	border-right: 2px solid #E5E5E5;
	background: #fff;
	text-align: center;
	width: 15%;
}
table.basic03 td {
	background: #fff;
	border-right: 2px solid #E5E5E5;
	border-bottom: 2px solid #E5E5E5;
}
@media screen and (max-width: 768px) {
	table.basic {
		width: 100%;
		table-layout:auto;
	}
	.scroll{
		overflow: auto;
		white-space: nowrap;
	}
	/*.scroll::-webkit-scrollbar{
	 	height: 5px;
	}
	.scroll::-webkit-scrollbar-track{
	 	background: #F1F1F1;
	}
	.scroll::-webkit-scrollbar-thumb {
	 	background: #BCBCBC;
	}*/
	.scroll{-webkit-overflow-scrolling:touch;}
}

table.border_none td,
table.border_none th{
	padding-bottom: 20px;
}

table.form {
	width: 100%;
	border: 1px solid #231815;
	line-height: 1.6;
	table-layout: fixed;
}
table.form th,
table.form td {
	padding: 0.8em 1em;
	border-bottom: 1px dashed #231815;
	word-wrap:break-word;
}
table.form tr:nth-child(odd) td {
	background:#efefef;
}
table.form th {
	background:#efefef;
	border-right: 1px solid #231815;
}

table.basic.border_c th,
table.basic.border_c td{
	border: 1px solid #231815 !important;
}
table.form input[type=text],
table.form input[type=tel],
table.form select,
table.form textarea {
	max-width: 100%;
	padding: .4em;
	border: 1px solid #aaaaaa;
	font-size: 14px;
	font-size: 1.4rem;
}
table.form input.size01 {
	width: 80%;
}
table.form input.size02 {
	width: 150px;
}
table.form input.size03 {
	width: 320px;
}
table.form input.size04 {
	width: 85px;
}
table.form textarea.size01 {
	width: 100%;
	height: 160px;
}
table .w10 {width: 10%;}
table .w15 {width: 15%;}
table .w20 {width: 20%;}
table .w25 {width: 25%;}
table .w30 {width: 30%;}
table .w35 {width: 35%;}
table .w40 {width: 40%;}
table .w45 {width: 45%;}
table .w50 {width: 50%;}

@media screen and (max-width: 768px) {



}


/* link
============================================================================================================ */
/*a.blank {
	padding: 3px 26px 3px 0;
	background: url(../images/parts/ico_blank.png) 100% no-repeat;
}
a.pdf {
	padding: 3px 22px 3px 0;
	background: url(../images/parts/ico_pdf.png) 100% no-repeat;
}

@media screen and (max-width: 768px) {
	a.blank {
		background-image: url(../images/parts/ico_blank_sp.png);
		-webkit-background-size: 16px;
		background-size: 16px;
	}
	a.pdf {
		background-image: url(../images/parts/ico_pdf_sp.png);
		-webkit-background-size: 16px;
		background-size: 16px;
	}
}*/



/* li
============================================================================================================ */
/* square
------------------------------------------------------------- */
ul.square li {
	position: relative;
	padding-left: 1em;
}
ul.square li:before {
	content: "■";
	position: absolute;
	left: 0;
}

/* circle
------------------------------------------------------------- */
ul.circle li {
	position: relative;
	padding-left: 1em;
}
ul.circle li:before {
	content: "●";
	position: absolute;
	left: 0;
}

/* asterisk
------------------------------------------------------------- */
ul.asterisk li {
	position: relative;
	padding-left: 1em;
	margin-bottom: 5px;
}
ul.asterisk li:before {
	content: "＊";
	position: absolute;
	left: 0;
}


/* disc
------------------------------------------------------------- */
ul.disc li {
	position: relative;
	padding-left: 1em;
}
ul.disc li:before {
	content: "・";
	position: absolute;
	left: 0;
}

/* notes
------------------------------------------------------------- */
ul.notes li {
	position: relative;
	padding-left: 1em;
}
ul.notes li:before {
	content: "※";
	position: absolute;
	left: 0;
}

/* decimal
------------------------------------------------------------- */
ol.decimal {
	list-style-type: decimal;
}
ol.decimal li {
	margin-left: 2em;
}

/* parentheses
------------------------------------------------------------- */
ol.parentheses li {
	position: relative;
	padding-left: 2em;
}
ol.parentheses li .num {
	position: absolute;
	left: 0;
}



/* img
============================================================================================================ */
@media screen and (max-width: 768px) {
	.sp_img50p img {
		max-width: 50%;
	}
}


/* img.radius
============================================================================================================ */
img.radius {
	border-radius: ;
}


/* .page_top
============================================================================================================ */
.page_top{
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 10;
}
.page_top a{
	display: block;
	background: #001133;
	width: 60px;
	height: 60px;
	position: relative;
}
.page_top a:hover{
	opacity: 0.8;
}
.page_top a:after {
	position: absolute;
	content: "";
	vertical-align: middle;
	right: 0;
	left: 0;
	top: 5px;
	bottom: 0;
	margin: auto;
	width: 14px;
	height: 14px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
	.page_top a{
		width: 50px;
		height: 50px;
	}
}

/* nav
------------------------------------------------------------- */
#header nav {
	/*float: right;*/
	z-index: 100;
	position: fixed;
	height: -webkit-calc(100% - 90px);
	height: calc(100% - 90px);
	top: 90px;
	right: 0;
	width: 540px;
	pointer-events: none;
}
#header.open nav > div {
	opacity: 1;
	visibility:visible;
	width: 520px;
	float: right;
}
#header nav > div {
	width: 0;
	position: relative;
	opacity: 0;
	visibility:hidden;
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	transition: opacity 0.3s;
	height: 100%;
}
#header nav > div > div {
	/*margin-top: 91px;*/
	overflow-y: auto;
	height: auto;
	max-height: 100%;
	pointer-events: auto;
}
#header nav > div > div ul,
#header nav > div > div div {
	pointer-events: auto;
}
#header nav > div > div:after {
	content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0; overflow: hidden;
}
/*#header nav .nav_l {
	background: #192A4C;
	float: left;
	width: 260px;
}
#header nav .nav_l a:hover {
	background: #394A6C;
}*/
/*#header nav .nav_r {
	background: #444444;
	float: left;
	width: 260px;
}
#header nav .nav_r a:hover {
	background: #646464;
}*/

#header nav .global  {
	padding: 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
#header nav .global > li {
	position: relative;
	/*flex-grow: 1;*/
	z-index: 2;
	/*width: 260px;*/
	width: 50%;
}
#header nav .global > li:after,
#header nav .nav_l p a:after,
#header nav .nav_r p a:after{
	position: absolute;
	content: "";
	vertical-align: middle;
	right: 15px;
	bottom: 0;
	top: 0;
	margin: auto;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#header nav .global > li > a {
	position: relative;
	display: block;
	text-align: left;
	text-decoration: none;
	line-height: 1.5;
	color: #fff;
	padding: 1em 1.5em;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
#header nav .global.nav_blue > li:first-child a,
#header nav .global.nav_blue > li:nth-child(2) a {
	padding-top: 1.4em;
}

#header nav .global.nav_s {
	display: none;
}
#header nav .nav_blue{
	background: #192A4C;
}
#header nav .nav_blue a:hover {
	background: #394A6C;
}

#header nav .nav_orange{
	background: #ffaf50;
}
#header nav .nav_orange a:hover {
	background: #ffbf60;
}
#header nav .nav_orange a {
	color: #000 !important;
}

#header nav .nav_gray{
	background: #808080;
}
#header nav .nav_gray a{
	text-shadow: #444 0 0 3px;
}
#header nav .nav_gray a:hover {
	background: #777;
}
#header nav .nav_bottom {
	background: #444;
	position: relative;
}
#header nav .nav_bottom:after {
	content: "";
	background: #2F669B;
	width: 100px;
	height: 100px;
	position: absolute;
	right: 0;
	top: 50%;
}
#header nav .nav_bottom li:first-child {
	background: #616161;
}
#header nav .nav_bottom li:first-child a {
	text-shadow: #333 0 0 3px;
}
#header nav .nav_bottom li:first-child a:hover {
	background: #565656;
}
#header nav .nav_bottom li:nth-child(2) {
	background: #444;
}
#header nav .nav_bottom li:nth-child(2) a:hover {
	background: #333;
}
#header nav .nav_bottom li:nth-child(3) {
	display: none;
}
@media screen and (max-width: 768px) {
 #header nav .nav_bottom li:nth-child(3) {
	 display: block;
	 background: #192A4C;
	 width: 520px;
 }
 #header nav .nav_bottom li:nth-child(3) a:hover {
	 background: #394A6C;
 }
}
#header nav .nav_bottom li:nth-child(4) {
	background: #2F669B;
	width: 520px;
}
#header nav .nav_bottom li:nth-child(4) a:hover {
	background: #2d70ae;
}

#header nav .nav_bottom li:nth-child(4) span {
	position: relative;
}
#header nav .nav_bottom li:nth-child(4) span:before,
#header nav .nav_bottom li:nth-child(4) span:after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: -13px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
#header nav .nav_bottom li:nth-child(4) span:after{
	right: -12px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	top: -2px;
}
#header nav .nav_bottom li:nth-child(4) span:before{
	width: 12px;
	height: 1px;
	background: #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

#header nav .nav_l p a {
	display: block;
	background: #235BD8;
	color: #fff;
	padding: 1em 1.5em;
	position: relative;
}
#header nav .nav_l p a:hover {
	background: #235BD8;
}
#header nav .nav_r p a {
	display: block;
	background: #777777;
	color: #fff;
	padding: 1em 1.5em;
	position: relative;
}
#header nav .global a,
#header nav .nav_l p a,
#header nav .nav_r p a{
	font-size: 14px;
	font-size: 1.4rem;
}
#header nav .global .line_p a {
	border-left: 4px solid #B126D3;
}
#header nav .global .line_y a {
	border-left: 4px solid #FFDE00;
}

#header nav .global .has_snav.showed ul {
	overflow: visible;
	height: auto;
}
#header nav .global .has_snav.open li a {
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
	opacity: 1;
}
#header nav .global ul li a {
	min-width: 175px;
	display: block;
	padding: 10px 20px 10px 25px;
	background: #f8f6f2 url(../images/head/snav_arrow.png) no-repeat 10px 50%;
	border-bottom: 1px solid #eae4da;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: left;
	white-space: nowrap;
	text-decoration: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transform-origin: 0 0;
	-moz-transform-origin: 0 0;
	-ms-transform-origin: 0 0;
	-o-transform-origin: 0 0;
	transform-origin: 0 0;
	-webkit-transition: all 0.15s;
	-o-transition: all 0.15s;
	transition: all 0.15s;
	-webkit-transform: scale(1, 0);
	-ms-transform: scale(1, 0);
	transform: scale(1, 0);
	opacity: 1;
}
#header nav .global ul li a:hover,
#header nav .global ul li.current a {
	background-color: #F1EDE5;
	
}

/*#header nav .hover,
#header nav .global > .current > a:before {
	position: absolute;
	bottom: -10px;
	height: 3px;
	background-color: #ffffff;
}
#header nav .global > .current > a:before {
	content: "";
	left: 0px;
	right: 0px;
}
#header nav .hover {
	-webkit-transition: height 0.1s ease;
	-o-transition: height 0.1s ease;
	transition: height 0.1s ease;
	height: 0;
}
#header nav .hover.mov {
	-webkit-transition: all 0.3s ease, height 0.15s ease;
	-o-transition: all 0.3s ease, height 0.15s ease;
	transition: all 0.3s ease, height 0.15s ease;
	height: 3px;
}*/
#header nav a:hover {
	opacity: 0.8;
}

#header ul.navi_area {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 10;
	padding: 0 14px;
	border-left: 1px solid #DDDDDD;
}
#header ul.navi_area:after {
	content: "";
	display: block;
	height: 4px;
	width: 100%;
	background: #000;
	position: absolute;
	bottom: -4px;
	left: 0;
}
#header ul.navi_area li {
	height: 90px;
	margin: 0 14px;
	float: left;
	position: relative;
}
#header ul.navi_area li a,
#header ul.navi_area li span{
	display: table-cell;
	height: 90px;
	vertical-align: middle;
	color: #000;
	cursor: pointer;
}
#header ul.navi_area li svg {
	width: 30px;
	height: 28px;
	fill: currentColor;
}
#header ul.navi_area li:hover svg {
	width: 30px;
	height: 28px;
	fill: #666;
}
/*#header .nav_btn {
	position: absolute;
	display: block;
	right: 0;
	top: 0;
	z-index: 10;
}*/
#header ul.navi_area li.nav_btn a {
	display: block;
}
#header ul.navi_area li.nav_btn:hover {
	opacity: 0.6;
}
#header .nav_btn a {
	position: relative;
	display: block;
	width: 30px;
	height: 90px;
	z-index: 2;
}
#header .nav_btn:before,
#header .nav_btn a:before,
#header .nav_btn a:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 2px;
	margin-top: -2px;
	background-color: #000;
	-webkit-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}
#header .nav_btn a:before {
	-webkit-transform: translateY(-9px);
	-ms-transform: translateY(-9px);
	-o-transform: translateY(-9px);
	transform: translateY(-9px);
}
#header .nav_btn a:after {
	-webkit-transform: translateY(9px);
	-ms-transform: translateY(9px);
	-o-transform: translateY(9px);
	transform: translateY(9px);
}

/* search */
#header .search_box {
	
}
#header .search_box > div {
	position: absolute;
	right: 0;
	top: 91px;
	opacity: 0;
	visibility:hidden;
	padding: 20px;
	display: block;
	background: #444444;
	-webkit-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
	z-index: 110;
}
#header .search_box.open  {
	display: block;
}
#header .search_box.open > div {
	opacity: 1;
	visibility:visible;
}


 
#search_area .gsc-control-cse { padding: 0;background: none;border:none; }
 
/* テキストボックスに文字入力したときに出る「×」マークの位置調整用の指定 */
#search_area .gsc-search-box { position: relative;margin-bottom: 0; }
 
#search_area .gsc-search-box tr,
#search_area .gsc-search-box td { display: block; }

/* テキストボックス背景のバグ修正（色の同化） */
#search_area .gsc-search-box .gsc-input-box { background-color: #444; }
 
/* テキストボックスの親要素。width指定しつつfloatで左寄せ */
#search_area .gsc-search-box td.gsc-input,
#search_area .gsc-search-box td.gsc-input .gstl_50 {
	box-sizing: border-box;
	width: 500px !important;
	padding: 0 !important;
	margin-right: 10px;
	/*height: 50px;*/
	vertical-align: top;
	float: left;
}
 
#search_area .gsc-search-box .gsib_a {
	padding: 0;
	border: 0;
	width: 500px;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
 
/* テキストボックスのデザイン設定 */
#search_area .gsc-search-box input#gsc-i-id1 {
	height: 2em !important;
	padding: 0.3em 1em !important;
	border-radius: 13px;
	-moz-border-radius: 13px;
	-webkit-border-radius: 13px;
	background-position: 5px center !important;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
/* テキストボックス背景のバグ修正 */
@media screen and (max-width: 768px) {
 #search_area .gsc-search-box input#gsc-i-id1 {
  top: -10px;
  position: relative;
 }
}

#search_area .gsc-search-box td#gs_tti51 { margin-bottom: 5px; }
 
/* ボタンの親要素。width指定しつつfloatで左寄せ */
#search_area .gsc-search-box td.gsc-search-button {
	float: left;
	width: 25px;
}
 
/* テキストボックスに文字入力したときに出る「×」マークの位置調整 */
#search_area .gsc-search-box .gsib_b {
	position: absolute;
	width: 20px;
	top: -1px;
	right: 50px;
}
 
/* デフォルトで設定されている(疑似的な)テキストボックスの
デザイン設定を解除 */
#search_area .gsc-search-box .gsc-input-box,
#search_area .gsc-search-box .gsc-input-box-hover,
#search_area .gsc-search-box .gsc-input-box-focus {
	border: none !important;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
	box-shadow: none !important;
}
 
/* 検索ボタンの背景をボタンのように見せかける */
#search_area .gsc-search-box .gsc-search-button {
	position: relative;
	cursor: pointer;
}
 
/* 検索ボタンの背景部分にテキストを表示させる */
/*#search_area .gsc-search-box .gsc-search-button:before {
	position: absolute;
	top: 35%;
	left: 30%;
	content: '検索' !important;
	color: #FFF;
	font-size: 16px;
}*/
 
/* 検索ボタンを透明化し背景のみを表示させる */
#search_area .gsc-search-box button.gsc-search-button-v2,
#search_area .gsc-search-box button.gsc-search-button {
	border: 0px;
	padding: 0;
    width: 25px;
    height: 25px;
    background: url(../images/icon_search.svg) no-repeat #444444;
}
#search_area .gsc-search-box button.gsc-search-button-v2 svg,
#search_area .gsc-search-box button.gsc-search-button svg {
	display: none;
}

/*#header .search_box .input_area input {
	padding: 0.5em 1em;
	border: 0;
	width: 500px;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
#header .search_box .input_area {
	float: left;
}
#header .search_box .btn {
	float: left;
	margin-left: 15px;
}
#header .search_box .btn input {
    border: 0px;
    width: 25px;
    height: 25px;
    background: url(../images/icon_search.svg);
}
#header .search_box .btn input:hover {
    cursor: pointer;
}*/

/* open */
#header.open .nav_btn:before {
	opacity: 0;
}
#header.open .nav_btn a:before {
	-webkit-transform: translateY(0) rotate(45deg);
	-ms-transform: translateY(0) rotate(45deg);
	transform: translateY(0) rotate(45deg);
}
#header.open .nav_btn a:after {
	-webkit-transform: translateY(0) rotate(-45deg);
	-ms-transform: translateY(0) rotate(-45deg);
	transform: translateY(0) rotate(-45deg);
}

/*@media screen and (min-width:640px) and ( max-width:768px){
	#header ul.navi_area {
		height: 70px;
		padding: 0;
		border-left: none;
	}
	#header ul.navi_area:after {
		content: none;
	}
	#header ul.navi_area li{
		height: 70px;
		margin: 0 12px !important;
	}
	#header ul.navi_area li a,
	#header ul.navi_area li span{
		height: 70px;
	}
}*/

@media screen and (max-width: 768px) {
	#header ul.navi_area {
		height: 70px;
		padding: 0;
		border-left: none;
	}
	#header ul.navi_area:after {
		content: none;
	}
	#header ul.navi_area li{
		height: 70px;
		margin: 0 1.7vw;
		display: none;
	}
	#header ul.navi_area li.nav_btn{
		display: block;
		margin: 0 15px;
	}
	#header ul.navi_area li a,
	#header ul.navi_area li span{
		height: 70px;
	}
	#header .nav_btn {
		/*position: absolute;*/
		position: fixed;
		right: 0;
		top: 0;
		z-index: 10;
	}
	#header .nav_btn a {
		position: relative;
		display: block;
		width: 29px;
		height: 70px;
		z-index: 2;
	}
	#header .nav_btn:before,
	#header .nav_btn a:before,
	#header .nav_btn a:after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 50%;
		height: 2px;
		margin-top: -2px;
		background-color: #000;
		-webkit-transition: all 0.2s;
		-o-transition: all 0.2s;
		transition: all 0.2s;
	}
	#header .nav_btn a:before {
		-webkit-transform: translateY(-9px);
		-ms-transform: translateY(-9px);
		-o-transform: translateY(-9px);
		transform: translateY(-9px);
	}
	#header .nav_btn a:after {
		-webkit-transform: translateY(9px);
		-ms-transform: translateY(9px);
		-o-transform: translateY(9px);
		transform: translateY(9px);
	}
	
	/* search */
	#header.open .search_box > div {
		opacity: 1;
		visibility:visible;
	}
	#header .search_box > div {
		top: 70px;
		width: 100%;
		height: 65px;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
	}
	
	#search_area .gsc-search-box td.gsc-input {
		width: -webkit-calc(100% - 40px) !important;
		width: -moz-calc(100% - 40px) !important;
		width: calc(100% - 40px) !important;
	}
	#search_area .gsc-search-box td.gsc-input .gstl_50 {
		width: 100% !important;
	}
	#search_area .gsc-search-box .gsib_a {
		width: 100% !important;
	}
	/*#header .search_box .input_area {
		width: -webkit-calc(100% - 40px);
		width: -moz-calc(100% - 40px);
		width: calc(100% - 40px);
	}
	#header .search_box .input_area input {
		width: 100%;
	}*/

	/* open */
	#header.open .nav_btn:before {
		opacity: 0;
	}
	#header.open .nav_btn a:before {
		-webkit-transform: translateY(0) rotate(45deg);
		-ms-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}
	#header.open .nav_btn a:after {
		-webkit-transform: translateY(0) rotate(-45deg);
		-ms-transform: translateY(0) rotate(-45deg);
		transform: translateY(0) rotate(-45deg);
	}


	#header nav {
		position: fixed;
		top: 70px;
		/*left: 0;*/
		right: 0;
		height: 0;
		padding-top: 0;
		padding-right: 0;
		padding-left: 0;
		opacity: 0;
		overflow: hidden;
		/*background: #FCFCFC;*/
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
		-webkit-transition: height 0.3s, opacity 0.3s;
		-o-transition: height 0.3s, opacity 0.3s;
		transition: height 0.3s, opacity 0.3s;
		width: 100%;
		
	}
	
	#header nav .hover,
	#header nav .global .current a:before {
		display: none;
	}
	#header nav > div {
		height: 100%;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}
	#header nav > div > div {
		height: 100%;
		overflow-y: auto;
		padding-right: 0;
		margin-top: 0;
	}

	#header nav .global {
		/*display: block;*/
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		padding: 0;
		margin: 0;
		float: none;
	}
	
	#header nav .global li {
		width: 50%;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
	}
	#header nav .global li:nth-child(odd) {
		border-right: 1px solid #666;
	}
	#header nav .global.nav_orange li {
		border-bottom: 1px solid #ca893b;
	}
	#header nav .global.nav_blue li {
		border-bottom: 1px solid #394A6C;
	}
	#header nav .global.nav_gray li {
		border-bottom: 1px solid #666;
	}
	#header nav .global > li:after,
	#header nav .nav_l p a:after,
	#header nav .nav_r p a:after{
		content: none;
	}
	#header nav .global.nav_s {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		background: #444444;
		border-top: 1px solid #555;
	}
	#header nav .global #snavi-location {
		width: 30px;
		height: 28px;
		fill: #fff;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 10px;
		margin: auto;
	}
	#header nav .global #snavi-request {
		width: 30px;
		height: 28px;
		fill: #fff;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 10px;
		margin: auto;
	}
	#header nav div > ul a {
		position: relative;
		height: auto !important;
		display: block;
		padding: 1em 0.75em 1em 0.75em !important;
		text-align: left !important;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
		text-decoration: none;
	}
	#header nav div > ul a .en {
		display: none;
	}
	#header.open nav > div {
		width: 100%;
	}
	#header nav .nav_l,
	#header nav .nav_r{
		width: 50%;
	}
	#header nav .global a, #header nav .nav_l p a, #header nav .nav_r p a {
		font-size: 13px;
		font-size: 1.3rem;
	}
	#header nav .nav_bottom {
		background: none;
		position: relative;
	}
	#header nav .nav_bottom:after {
		content: none;
	}
	#header nav .nav_bottom li:nth-child(3),
 #header nav .nav_bottom li:nth-child(4) {
		width: 100%;
	}
	
	/* open */
	#header.open nav {
		/*height: 100%;
		height: auto;*/
		opacity: 1;
		top: 70px;
		height: -webkit-calc(100% - 70px);
		height: -moz-calc(100% - 70px);
		height: calc(100% - 70px);
	}
	#header nav .global{
		border-left: none;
	}
	#header nav .global ul li a {
		-webkit-transform: scale(1);
		-ms-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
	#header nav .global .showed ul {
		overflow: visible;
		height: auto;
	}
	
	/*
	#header nav .global .has_snav > span {
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		width: 50px;
		height: 50px;
		background: #F0F7F6;
		
	}

	#header nav .global .has_snav > span:before,
	#header nav .global .has_snav > span:after {
		content: "";
		display: block;
		position: absolute;
		left: auto;
		bottom: auto;
		right: 20px;
		top: 50%;
		width: 12px;
		height: 2px;
		margin-top: 0;
		background-color: #212121;
		-webkit-transition: all 0.2s;
		-o-transition: all 0.2s;
		transition: all 0.2s;
	}
	#header nav .has_snav > span:before {
		-webkit-transform: translateY(-3px);
		-ms-transform: translateY(-3px);
		-o-transform: translateY(-3px);
		transform: translateY(-3px);
	}
	#header nav .has_snav > span:after {
		-webkit-transform: translateY(3px);
		-ms-transform: translateY(3px);
		-o-transform: translateY(3px);
		transform: translateY(3px);
	}
	#header nav .has_snav > span.open:before {
		-webkit-transform: translateY(0) rotate(45deg);
		-ms-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}
	#header nav .has_snav > span.open:after {
		-webkit-transform: translateY(0) rotate(-45deg);
		-ms-transform: translateY(0) rotate(-45deg);
		transform: translateY(0) rotate(-45deg);
	}
	*/
	

	/*#header nav .global > li::before {
	  display: block;
	  content: '';
	  position: absolute;
	}
	#header nav .global > li::before {
	  z-index: 2;
	  top: 2.2em;
	  left: 1.4em;
	  width: 5px;
	  height: 5px;
	  border-top: 1px solid #ffffff;
	}*/
}
@media screen and (min-width: 769px) {
	#header nav .global .has_snav ul {
		height: 0 !important;
	}
	#header nav .global .has_snav.showed ul {
		height: auto !important;
	}
}

/* nav_quick */
.nav_quick {
	clear: both;
}
.nav_quick > div {
	display: none;
}
.nav_quick.open > div {
	display: block;
	border-bottom: 1px solid #000;
}
.nav_quick > div ul li a{
	font-size: 14px;
	font-size: 1.4rem;
	color: #fff;
	padding: 0.5em 1.5em;
	display: block;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.nav_quick > div ul {
	float: left;
	background: #222582;
	width: 50%;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.nav_quick > div ul {
	padding-bottom: 1em;
}
.nav_quick > div ul li span.small {
	font-size: 12px;
	font-size: 1.2rem;
}
.nav_quick > div ul li span {
	position: relative;
}
.nav_quick > div ul li span:before,
.nav_quick > div ul li span:after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: -13px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.nav_quick > div ul li span:after{
	right: -12px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	top: -2px;
}
.nav_quick > div ul li span:before{
	width: 12px;
	height: 1px;
	background: #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.nav_quick > p {
	position: relative;
	background: #222582;
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 1em 1.5em;
	cursor: pointer;
}
.nav_quick > p:before,
.nav_quick > p:after {
	content: "";
	display: inline-block;
	position: absolute;
    right: 15px;
    width: 15px;
	height: 2px;
    background-color: #fff;
	transition: all .4s;
}
.nav_quick > p:before {
    top: 25px;
	transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
}
.nav_quick > p:after {
    top: 25px;
	transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
}
/*＋、－切り替え*/
.nav_quick > p.open:before {
	display:none;
}
.nav_quick > p.open:after {
	top: 25px;
	transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}
@media screen and (max-width: 768px) {
	.nav_quick > div ul {
		padding-bottom: 0;
	}
	.nav_quick > div ul li {
		border-top: 1px solid #0d106e;
	}
	.nav_quick > div ul + ul {
		border-left: 1px solid #0d106e;
	}
}


@media screen and (min-device-width:768px) and ( max-device-width:1366px) {
	#header nav .global a,
	.nav_quick > p,
	.nav_quick > div ul li a {
		font-size: 17px !important;
		font-size: 1.7rem !important;
	}
}

/* transition */
#header.fixed .logo img,
#header.fixed nav .global,
#header nav .global > li > a{
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
}


/*object-fit-img*/
.ofi {
  object-fit: cover;
  font-family: 'object-fit: cover;'
}
.ofi_contain {
  object-fit: contain;
  font-family: 'object-fit: contain;'
}

/*container*/
#container {
	position: relative;
	font-size: 15px;
	font-size: 1.5rem;
	margin: 0 auto;
	padding-top: 91px;
}
@media screen and (max-width: 768px) {
	#container {
		position: relative;
		font-size: 14px;
		font-size: 1.4rem;
		margin: 0 auto;
		padding-top: 70px;
	}
}

/*nav_right*/
.nav_right {
	position: fixed;
	z-index: 10;
	right: 0;
	bottom: 15%;
	font-size: 17px;
	font-size: 1.7rem;
	-webkit-box-shadow: 0px 0px 2px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 0px 2px rgba(0,0,0,0.2);
	-ms-box-shadow: 0px 0px 2px rgba(0,0,0,0.2);
	box-shadow: 0px 0px 2px rgba(0,0,0,0.2);
}
.nav_right li:first-child {
	background: #fff;
	height: 195px;
}
.nav_right li {
	background: #FFDE00;
	display: block;
	width: 60px;
	height: 160px;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.nav_right li a {
	display: block;
	padding: 1.5em 1.0em 0;
	-ms-writing-mode: tb-rl;
 	writing-mode: vertical-rl;
	height: 160px;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.nav_right li:first-child a {
	height: 195px;
}
.nav_right li a:hover {
	opacity: 0.8;
}
.nav_right li #icon_zyuken {
	width: 22px;
	height: 21px;
	margin-top: 10px;
}
.nav_right li #icon_siryou {
	width: 21px;
	height: 25px;
	margin-top: 10px;
}
@media screen and (max-width: 768px) {
	.nav_right {
		position: fixed;
		right: 0;
		bottom: 0;
		width: 100%;
		font-size: 15px;
		font-size: 1.5rem;
		display: flex;
	}
	.nav_right li:first-child {
		height: 55px;
		background: #003399;
	}
	.nav_right li {
		width: 50%;
		height: 55px;
		display: table;
	}
	.nav_right li a {
		display: table-cell;
		padding: 0 25px 0 20px;
		vertical-align: middle;
		-ms-writing-mode:inherit;
		writing-mode: inherit;
		text-align: center;
		height: 55px;
		position: relative;
	}
	.nav_right li:first-child a {
		height: 55px;
		color: #fff;
	}
	.nav_right li #icon_zyuken {
		width: 22px;
		height: 21px;
		position: absolute;
		right: 10px;
		top: 0;
		margin-top: 18px;
		fill: #fff;
	}
	.nav_right li #icon_siryou {
		width: 21px;
		height: 25px;
		position: absolute;
		right: 10px;
		top: 0;
		margin-top: 16px;
	}
}

/* fadein */
.fadein {
    opacity : 0.0;
    transform : translate(0, 70px);
    transition : all 700ms;
}
.scrollin {
    opacity : 1;
	transform : translate(0, 0);
}

/* image border */
.img_border {
 border: solid 1px #ccc;
}