@charset "utf-8";
/* Copyright 2020 FSFIELD All Rights Reserved. */

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

パソコン、スマートフォン（iPhone,Android) 共通

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

/* ------------------------------------------------------------

basic

------------------------------------------------------------ */

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 500;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}

*{font-family: Arial, Yu Gothic, "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}


html{
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body{
	color:#323D46;
	font-weight: 400;
	position: relative;
}

/* ------------------------------------------------------------

shortcodes

------------------------------------------------------------ */

/* font
---------------------------------------------- */
.normal{font-weight: normal !important;}
.bold{font-weight: bold !important;}
.italic{font-style: italic !important;}

/* display
---------------------------------------------- */
.none{display: none !important;}

/* margin
---------------------------------------------- */
.mb_none{margin-bottom: 0 !important;}

/* ------------------------------------------------------------

common

------------------------------------------------------------ */

#wrapper{
	transition: filter .3s;
	overflow: hidden;
}

#wrapper.on{filter: blur(4px);}

.wrap_type01{
	position: relative;
	padding: 0 15px;
	margin-bottom: 60px;
}

.main{padding-top: 30px;}

/* 404ページ
---------------------------------------------- */
.wrap_404{
	padding: 60px 15px;
	line-height: 1.6;
	text-align: center;
}

.ttl_404{margin-bottom: 20px;}

.txt_404{margin-bottom: 20px;}

/* ページタイトル
---------------------------------------------- */
.pagettl_area{
	background: #0E6E9B;
	height: 40.66vw;
	max-height: 220px;
	padding-top: 40px;
}

.pagettl_inner{
	background: url("../img/bg_pagettl_sp01.jpg") no-repeat right bottom;
	background-size: cover;
	padding-left: 20px;
	height: calc(40.66vw - 40px);
	max-height: calc(220px - 40px);
	margin: 0 auto;
	position: relative;
	display:-webkit-flex;
	display:flex;
	-webkit-align-items: center;
	align-items: center;
	color: #FFF;
	text-shadow: 0 0 5px #043f6d;
}

.breadcrumb{
	background: #043C6F;
	width: 100%;
	display: block;
	padding: 12px 10px;
	margin: 0;
	border-radius: 0;
	position: absolute;
	top: -40px;
	left: 0;
}

.breadcrumb ul{
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.68rem;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.breadcrumb ul li{
	background: url("../img/ico_arrow08.png") no-repeat right 0.2em;
	background-size: 5px;
	padding-right: 13px;
	margin-right: 5px;
	text-shadow: 0 0 5px #043f6d;
	display: inline;
}

.breadcrumb ul li:last-of-type{
	background: none;
	padding: 0;
	margin: 0;
}

.breadcrumb ul li a{
	display: inline-block;
	color: #FFF;
}

.breadcrumb ul li a:hover{text-decoration: none;}

.pagettl_area h1{
	font-size: 1.56rem;
	margin: 0;
}

/* ボタン
---------------------------------------------- */
.btn_type01{
    color: #fff;
    background-color: #0E6E9B;
    border-color: #0E6E9B; 
}

.btn_type01:hover {
    color: #0E6E9B;
    background-color: #FFF;
    border-color: #FFF;
}

/* WP記事
---------------------------------------------- */
.eyechatch{
	width: 100%;
	margin-bottom: 40px;
}

.eyechatch img{
	max-width: 100%;
	height: auto;
}

/* WP自由投稿エリア
---------------------------------------------- */
.wp_content{
	width: 100%;
	font-size: 0.87rem;
	line-height: 1.8;
}

.wp_content img{
	max-width: 100%;
	height: 100%;
}

/*--リンク--*/
.wp_content a{
	color: #1289C2;
	text-decoration: underline;
}

.wp_content a:hover{color: #0160BE;}

.wp_content a:visited{color: #999999;}

.wp_content a[target="_blank"],
.wp_content a.external_big[target="_blank"]{
	color: #333;
	text-decoration: none;
}

.wp_content a[target="_blank"]:hover,
.wp_content a.external_big[target="_blank"]:hover{opacity: 0.7;}

.wp_content a[target="_blank"]::after,
.wp_content a.external_big[target="_blank"]::after{
	content: "";
	display: inline-block;
	background-size: contain;
	position: relative;
	left: 5px;
}

.wp_content a[target="_blank"]::after{
	background-image: url("../img/ico_tab03.png");
	width: 10px;
	height: 10px;
}

.wp_content a.external_big[target="_blank"]::after{
	background-image: url("../img/ico_tab02.png");
	width: 13px;
	height: 13px;
}

.wp_content a.link_pdf,
.wp_content a.link_excel,
.wp_content a.link_word{
	display: inline-block;
	color: #333;
	position: relative;
	padding-left: 25px;
}

.wp_content a.link_pdf[target="_blank"]::after,
.wp_content a.link_excel[target="_blank"]::after,
.wp_content a.link_word[target="_blank"]::after{display: none;}

.wp_content a.link_pdf::before,
.wp_content a.link_excel::before,
.wp_content a.link_word::before{
	content: "";
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px;
	width: 18px;
	height: 18px;
	position: absolute;
	top: 0.3em;
	left: 0;
}

.wp_content a.link_pdf::before{background-image: url("../img/ico_pdf01.jpg");}

.wp_content a.link_excel::before{background-image: url("../img/ico_excel01.jpg");}

.wp_content a.link_word::before{background-image: url("../img/ico_word01.jpg");}

.wp_content a.link_pdf:hover,
.wp_content a.link_excel:hover,
.wp_content a.link_word:hover{opacity: 0.7;}

/*--見出し--*/
.wp_content h1{
	font-size: 1.56rem;
	padding-bottom: 20px;
	margin-bottom: 20px;
	position: relative;
}

.wp_content h1::before{
	content: "";
	display: inline-block;
	background: #0D6D9A;
	width: 25px;
	height: 3px;
	position: absolute;
	left: 0;
	bottom: 0;
}

.wp_content h2{
	font-size: 1.12rem;
	font-weight: bold;
	margin-bottom: 18px;
}

.wp_content h3{
	background: #54616B;
	font-size: 1rem;
	color: #FFF;
	padding: 8px 10px;
	margin-bottom: 16px;
}

.wp_content h4{
	font-size: 1rem;
	font-weight: bold;
	border-bottom: 2px solid #54616B;
	color: #323D46;
	padding-bottom: 5px;
	margin-bottom: 16px;
}

.wp_content h5,
.wp_content h6{
	font-size: 1rem;
	font-weight: bold;
	padding-left: 12px;
	margin-bottom: 16px;
	position: relative;
}

.wp_content h5::before,
.wp_content h6::before{
	content: "";
	display: inline-block;
	width: 4px;
	height: 16px;
	position: absolute;
	top: 1px;
	left: 0;
}

.wp_content h5::before{background-color: #0D6D9A;}

.wp_content h6::before{background-color: #A9B0B5;}

/*--リスト--*/
.wp_content .list{
	list-style: none;
	padding: 0;
}

.wp_content .list li{
	position: relative;
	padding-left: 0.9em;
}

.wp_content .list li::before{
	background: #1289C2;
	content: "";
	border-radius: 50%;
	width: 7px;
	height: 7px;
	display: block;
	position: absolute;
	left: 0;
	top: 0.5em;
}

.wp_content .list ul{
	list-style: none;
	padding-inline-start: 15px;
}

.wp_content .list ul li::before{
	border: 1px solid #1289C2;
	background: #FFF;
}

/*--囲み--*/
.wp_content .wrap_dotted{
	border: 1px dotted #AAAAAA;
	padding: 15px;
	margin-bottom: 1rem;
}

.wp_content .wrap_bgcolor{
	background: #F1F2F3;
	padding: 15px;
	margin-bottom: 1rem;
}

/*--アンダーライン--*/
.wp_content .under_dotted{
	display: inline;
	border-bottom: 1px dotted #000000;
}

.wp_content .under_pink{
	display: inline;
	background: linear-gradient(transparent 50%, #FF5BD7 50%);
}

.wp_content .under_blue{
	display: inline;
	background: linear-gradient(transparent 50%, #3EE7FF 50%);
}

.wp_content .under_orange{
	display: inline;
	background: linear-gradient(transparent 50%, #FFBE28 50%);
}

/*--字下げ--*/
.wp_content .indent1em{text-indent: 1em;}

.wp_content .second-indent{
	text-indent: -1em;
	padding-left: 1em;
}

/* ページネーション
---------------------------------------------- */
.wp-pagenavi{
	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	font-size: 1rem;
	margin-top: 40px;
}

.wp-pagenavi .current,
.wp-pagenavi a{
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	width: 40px;
	height: 40px;
}

.wp-pagenavi span.extend{
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: flex-end;
	align-items: flex-end;
}

.wp-pagenavi span.current{color: #999999;}

.wp-pagenavi a{color: #0E6E9B;}

.wp-pagenavi a:hover{
	color: #31AFEC;
	text-decoration: none;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink{
	font-size: 0;
	width: 40px;
	height: 40px;
}

.wp-pagenavi a.previouspostslink{
	background: url("../img/ico_arrow09.png") no-repeat center;
	background-size: 10px;
	transform: scale(-1, 1);
	margin-right: 15px;
}

.wp-pagenavi a.previouspostslink:hover{
	background: url("../img/ico_arrow07.png") no-repeat center;
	background-size: 10px;
	transform: scale(-1, 1);
}

.wp-pagenavi a.nextpostslink{
	background: url("../img/ico_arrow09.png") no-repeat center;
	background-size: 10px;
	margin-left: 15px;
}

.wp-pagenavi a.nextpostslink:hover{
	background: url("../img/ico_arrow07.png") no-repeat center;
	background-size: 10px;
}

.first,
.last,
.pages{display:none !important;}

/* ------------------------------------------------------------

side

------------------------------------------------------------ */

.side{display: none;}


/* ------------------------------------------------------------

header

------------------------------------------------------------ */

.btn_language{
	position: absolute;
	top: 0;
	left: 15px;
	margin: 0;
}

.btn_language a{
	display: inline-block;
	color: #FFF;
	font-size: 0.93rem;
	background: url("../img/ico_earth01.png") no-repeat 0 center;
	background-size: 14px;
	padding: 22px 18px;
}

.btn_language a:hover{text-decoration: none;}

.nav_header{display: none;}

.nav_header ul li a:hover{
	text-decoration: none;
	opacity: 0.7;
}

.header_inner01{
	height: 65px;
	padding: 12px 0 0 15px;
}

.h_logo{
	width: 284px;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}

.h_logo01{
	width: 48.5px;
	margin: 0;
}

.h_logo02{
	width: 230px;
	margin: 0;
}

.h_logo01 img,
.h_logo02 img{width: 100%;}

/*--768pxの切替時にtransitionが効いてしまい一瞬スマホメニューが表示されてしまうためmain_menuをPC用とSP用に分けて回避しています--*/
.main_menu.sp{display: block;}

.main_menu.pc{display: none;}

.main_menu .header_inner02{
	background: rgba(0,0,0,0.8);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1;
	padding: 65px 0 60px;
	overflow-y: scroll;
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s;
}

.main_menu.on .header_inner02{
	opacity: 1;
	pointer-events: auto;
}

/* メニューボタン
---------------------------------------------- */
.btn_menu{
	width: 65px;
	height: 65px;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9999;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	cursor: pointer;
	margin: 0;
}

.btn_menu span{
	display: block;
	width: 29px;
	height: 3px;
	position: relative;
	border-radius: 50px;
	background: #0D6D9A;
	-webkit-transition: transform .3s, opacity .3s, background .3s;
	transition: transform .3s, opacity .3s, background .3s;
}

.btn_menu span::before,
.btn_menu span::after{
	content: "";
	display: block;
	width: 29px;
	height: 3px;
	border-radius: 50px;
	background: #0D6D9A;
	position: absolute;
	right: 0;
	-webkit-transition: transform .3s, opacity .3s, background .3s;
	transition: transform .3s, opacity .3s, background .3s;
}

.btn_menu span::before{top: -8px;}

.btn_menu span::after{top: 8px;}

.btn_menu.on span{
	-webkit-transform:rotate(135deg);
	transform:rotate(135deg);
}

.btn_menu.on span:before{
	-webkit-transform: rotate(90deg) translate3d(7px, 0, 0);
	transform: rotate(90deg) translate3d(7px, 0, 0);
}

.btn_menu.on span:after{opacity: 0;}

.btn_search{display: none;}

.nav_menu01{
	border-top: 1px solid rgba(255,255,255,0.2);
	border-bottom: 1px solid rgba(255,255,255,0.2);
	padding: 45px 0 20px;
	font-size: 0.81rem;
	position: relative;
}

.nav_menu01 ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.nav_menu01 > ul{
	display: -webkit-flex;
	display: flex;
}

.nav_menu01 > ul > li{
	width: 25%;
	height: 100px;
	font-size: 0.81rem;
	line-height: 1.2;
	text-align: center;
}

.nav_menu01 > ul > li:nth-child(1){
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	text-align: left;
}

.nav_menu01 > ul > li:nth-child(2){background: #0E6E9B;}
.nav_menu01 > ul > li:nth-child(3){background: #0B5E8C;}
.nav_menu01 > ul > li:nth-child(4){background: #074E7C;}
.nav_menu01 > ul > li:nth-child(5){background: #043F6D;}

.nav_menu01 > ul > li > a{
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	height: 100%;
	color: #FFF;
}

.nav_menu01 > ul > li > a:hover{text-decoration: none;}

.nav_menu01 > ul > li:nth-child(1) > a{
	display: inline-block;
	color: #FFF;
	padding: 15px;
}

.nav_menu01 ul li .nav_sub_visitor{display: none;}

.nav_menu02 ul{
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.93rem;
}

.nav_menu02 ul .menu_multi{
	padding: 15px 30px;
	border-bottom: 1px solid rgba(255,255,255,0.2);
}

.nav_menu02 ul .menu_multi a{
	color: #A2A3A3;
	display: block;
	padding: 10px 0 10px 18px;
}

.nav_menu02 ul .menu_multi a:hover{
	text-decoration: none;
	color: #FFF;
}

.nav_menu02 ul .menu_multi span{
	position: relative;
	display: block;
	color: #FFF;
}

.nav_menu02 ul .menu_multi span + .nav_sub{margin-top: 10px;}

.nav_menu02 ul .menu_multi .ico{
	display: block;
	background: #FFF;
	width: 13px;
	height: 1px;
	position: absolute;
	top: 10px;
	right: -10px;
	-webkit-transition: transform .3s;
	transition: transform .3s;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.nav_menu02 ul .menu_multi .ico.on{
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

.nav_menu02 ul .menu_multi .ico::before{
	content: "";
	display: block;
	width: 13px;
	height: 1px;
	background: #FFF;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	-webkit-transition: transform .3s;
	transition: transform .3s;
}

.nav_menu02 ul .menu_multi .ico.on::before{
	-webkit-transform: rotate(0);
	transform: rotate(0);
}

.menu_second_level .ttl_menu{
	color: #FFF;
	margin: 15px 0 5px;
	font-size: 0.93rem;
}

.menu_second_level .ttl_menu:hover{color: #FFF;}

.menu_second_level > li a,
.menu_third_level > li a{
	position: relative;
	line-height: 1.4;
}

.menu_second_level > li a::before,
.menu_third_level > li a::before{
	content: "";
	background: #636464;
	width: 10px;
	height: 1px;
	position: absolute;
	top: 18px;
	left: 0;
}

.menu_second_level li:first-of-type .ttl_menu{margin-top: 0;}

.nav_menu03{
	width: 285px;
	padding: 40px 0 25px 20px;
	font-size: 0.75rem;
}

.nav_menu03 ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
}

.nav_menu03 ul li a{
	display: block;
	color: #A2A3A3;
	padding: 0 10px 15px;
}

/*　検索
---------------------------------------------- */
.m_search{padding: 0 30px;}

#search_inner{position: relative;}
	
#search_inner .s-box{
	border: none;
	background: #FFF;
	width: 100%;
	font-size: 1rem;
	line-height: 28px;
	padding: 10px 50px 10px 20px;
	border-radius: 50px;
	outline: none;
}

#search_inner .s-box:focus,
#search_inner .s-btn-area:focus{outline: none;}

#search_inner .s-box::-moz-focus-inner,
#search_inner .s-btn-area::-moz-focus-inner{border: 0;}/* Firefox 点線消す */

#search_inner button{
	background: #0E6E9B url("../img/ico_search01.png") no-repeat center;
	background-size: 17px;
	border: none;
	text-indent: -9999px;
	width: 42px;
	height: 42px;
	cursor: pointer;
	position: absolute;
	top: 19px;
	right: 3px;
	margin-top: -16px;
	padding: 0;
	border-radius: 50px;
}

#search_box{display: none;}

/* ------------------------------------------------------------

footer

------------------------------------------------------------ */

/*--footer_inner01--*/
.footer_inner01{
	background: url("../img/bg_pc01.jpg") repeat 0 0;
	background-size: 375px;
	padding: 55px 30px;
}

.f_btn{
	list-style: none;
	padding: 0;
	margin: 0;
}

.f_btn li{
	text-align: center;
	margin-bottom: 10px;
	line-height: 1;
}

.f_btn li:last-of-type{margin-bottom: 0;}

.f_btn li a{
	display: block;
	background-color: #323D46;
	border: 1px solid #59656F; 
	color: #FFF;
	border-radius: 5px;
	padding: 17px 0;
}

.f_btn li a:hover{
	text-decoration: none;
	border: 1px solid #0E6E9B;
	background: #0E6E9B;
}

.f_btn li a span{
	background-repeat: no-repeat;
	background-position: 0 center;
	background-size: 16px;
	line-height: 22px;
	padding-left: 25px;
}

.f_btn li:nth-child(1) a span{background-image: url("../img/ico_document01.png");}

.f_btn li:nth-child(2) a span{background-image: url("../img/ico_movie01.png");}

/*--footer_inner02--*/
.footer_inner02{
	background: #0E6E9B;
	padding: 60px 15px 10px;
	color: #FFF;
	font-size: 0.81rem;
}

.footer_inner02 .f_item{margin-bottom: 35px;}

.nav_footer01 p{
	font-size: 1.18rem;
	margin-bottom: 5px;
}

.nav_footer01 ul{
	margin: 0;
	padding: 0;
	list-style: none;
	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}

.nav_footer01 ul li{width: 50%;}

.nav_footer01 ul li a{
	display: block;
	color: #87E5F7;
	padding: 10px 0;
}

.nav_footer01 ul li a:hover{
	text-decoration: none;
	color: #FFF;
}

.nav_footer02{font-size: 0.68rem;}

.nav_footer02 ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
}

.nav_footer02 ul li a{
	display: block;
	color: #86E5F7;
	padding: 0 15px 15px;
}

.nav_footer02 ul li a:hover{
	text-decoration: none;
	color: #FFF;
}

.f_bottom{
	font-size: 0.62rem;
	color: #FFF;
	line-height: 1.4;
	text-align: center;
	margin: 0;
}

.footer_inner03{
	padding: 15px 0 10px;
	text-align: center;
}

.f_logo{margin-bottom: 5px;}

.f_logo img{width: 75.5px;}

.f_small{
	text-align: center;
	color: #0E6E9B;
	line-height: 1;
	font-size: 0.62rem;
}

/*　ページトップボタン
---------------------------------------------- */
#pagetop{
	border-top: 1px solid #E4E6E7;
	height: 65px;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	color: #323D46;
	font-size: 0.75rem;
	margin: 0;
}

#pagetop span::before{
	content: "PAGETOP";
	display: inline-block;
	background: url("../img/ico_arrow06.png") no-repeat 0 0;
	background-size: 16px;
	line-height: 16px;
	padding: 1px 0 0 22px;
}

/*---------------------------------
アコーディオンボックス
--------------------------------*/
.acbox{
  width: auto;
  font-size:0px; /* ラベルと開く部分を分離する時は数値を入れる */
  margin:0 10px 10px; /* ボックス全体の位置調整 */
}

.acbox label{
	position: relative;
	display: block;
    font-size: 1rem;
    font-weight: bold;
    border-bottom: 2px solid #54616B;
    color: #323D46;
    padding-bottom: 5px;
    margin-bottom: 16px;
	cursor:pointer;
	padding-right: 30px;
}

.acbox input{
  display: none;
}

.acbox label:after{
  content:"▼"; /* ラベルのアイコン */
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -14px;
}

.acbox input:checked ~ label::after {
  content:"▲"; /* ラベルをクリックした後のアイコン */
}

.acbox div{
  height: 0px;
  overflow: hidden;
  opacity: 0;
  transition: 0.15s; /* 開閉スピードの設定 */
}

.acbox input:checked ~ div{
  height: auto;
  padding: 0 18px; /* 開いた部分の枠内の余白 */
  opacity: 1;
}

.acbox-under{
  font-size: 15px; /* 開いた部分の文字サイズ */
  color: #555555; /* 開いた部分の文字色 */
}


@media (min-width: 576px) {/* 表示領域が576px以上の場合に適用するスタイル */

	
	
}/*--@media--*/



@media (min-width: 768px) {/* 表示領域が768px以上の場合に適用するスタイル */
	
	/* ------------------------------------------------------------

	common

	------------------------------------------------------------ */
	
	#wrapper{
		transition: none;
		pointer-events: auto;
	}
	
	.main{padding: 50px 0 0;}
	
	/* 404ページ
	---------------------------------------------- */
	.wrap_404{padding: 100px 0;}
	
	.ttl_404{margin-bottom: 40px;}
	
	.txt_404{margin-bottom: 40px;}
	
	/* ページタイトル
	---------------------------------------------- */
	.pagettl_area{
		height: 250px;
		max-height: 250px;
		padding-top: 100px;
		position: relative;
	}
	
	.pagettl_area::before{
		content: "";
		display: block;
		background: url("../img/bg_pagettl_pc01.jpg") no-repeat 0 0;
		background-size: 100%;
		width: 957px;
		height: 250px;
		max-height: 250px;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-35.7%);
	}
	
	.pagettl_inner{
		background: none;
		max-width: 1140px;
		height: 150px;
		margin: 0 auto;
		padding: 0 0 0 15px;
		text-shadow: 0 0 10px #043f6d;
	}
	
	.breadcrumb{
		background: none;
		padding: 0 30px 0 0;
		top: 10px;
		left: 15px;
	}
	
	.breadcrumb ul{font-size: 0.75rem;}
	
	.pagettl_area h1{font-size: 2.25rem;}
	
	/* WP自由投稿エリア
	---------------------------------------------- */
	.wp_content{font-size: 0.93rem;}
	
	/*--見出し--*/
	.wp_content h1{font-size: 2.25rem;}
		
	.wp_content h1::before{
		width: 36px;
		height: 3px;
	}
		
	.wp_content h2{font-size: 1.37rem;}
		
	.wp_content h3{font-size: 1.12rem;}
		
	.wp_content h4{font-size: 1.12rem;}
		
	.wp_content h5,
	.wp_content h6{font-size: 1.12rem;}
	
	.wp_content h5::before,
	.wp_content h6::before{
		width: 4px;
		height: 18px;
	}
	
	/*--リスト--*/
	.wp_content .list li::before{
		width: 8px;
		height: 8px;
	}

	/*--囲み--*/
	.wp_content .wrap_dotted{padding: 20px;}

	.wp_content .wrap_bgcolor{padding: 20px;}
	
	/* ------------------------------------------------------------

	header

	------------------------------------------------------------ */
	
	.nav_header{
		display: block;
		background: #54616B;
		font-size: 0.75rem;
		line-height: 1;
		overflow: hidden;
		position: absolute;
		top: 0;
		right: 0;
	}

	.nav_header ul{
		float: right;
		list-style: none;
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-align-items: center;
		align-items: center;
		margin: 0;
		padding: 0;
	}
	
	.nav_header ul li a{
		display: block;
		color: #FFF;
		padding: 11px 16px;
	}
	
	.nav_header ul li.language{
		background: #323D46;
		width: 100px;
	}
	
	.nav_header ul li.language a{padding: 11px 0 11px 18px;}
	
	.nav_header ul li.language span{
		background: url("../img/ico_earth01.png") no-repeat 0 0;
		background-size: 14px;
		padding: 0 0 0 20px;
	}
	
	.nav_header ul li:not(.language){display: none;}
	
	.btn_language{display: none;}

	.header_inner01{
		height: 84px;
		padding: 0 0 0 30px;
	}

	.h_logo{
		padding: 4px 0 0;
		width: 470px;
	}

	.h_logo01{
		width: 80px;
		margin: 0;
	}

	.h_logo02{
		width: 384px;
		margin: 0;
	}

	.h_logo01 img,
	.h_logo02 img{width: 100%;}
	
	/*--768pxの切替時にtransitionが効いてしまい一瞬スマホメニューが表示されてしまうためmain_menuをPC用とSP用に分けて回避しています--*/
	.main_menu.sp{display: none;}
	
	.main_menu.pc{display: block;}
	
	.main_menu .header_inner02{
		background: none;
		width: auto;
		height: auto;
		opacity: 1;
		position: inherit;
		padding: 0;
		transition: none;
		overflow-y: hidden;
		pointer-events: auto;
	}
	
	.btn_search{
		background: #ECF4F7;
		width: 100px;
		height: 50px;
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		cursor: pointer;
		position: absolute;
		top: 34px;
		right: 0;
	}
	
	.btn_search img{width: 23px;}

	.btn_search:hover img{opacity: 0.7;}

	.nav_menu01{display: none;}

	.nav_menu02{
		width: 100%;
		position: absolute;
		top: 84px;
		left: 0;
		z-index: 1;
	}
	
	.nav_menu02::before,
	.nav_menu02::after{
		content: "";
		display: block;
		background: rgba(0, 0, 0, 0.7);
		width: calc((100% - 1140px) * 0.5);
		height: 50px;
		position: absolute;
		top: 0;
	}
	
	.nav_menu02::before{
		right: auto;
		left: 0;
		border-right: 1px solid rgba(255, 255, 255, 0.2);
	}
	
	.nav_menu02::after{
		left: auto;
		right: 0;
	}

	.nav_menu02 > ul{
		max-width: 1140px;
		margin: 0 auto;
		padding: 0;
		display: -webkit-flex;
		display: flex;
		list-style: none;
		position: relative;
	}

	.nav_menu02 ul .menu_multi{
		width: 20%;
		padding: 0;
		cursor: pointer;
		border-bottom: none;
	}
	
	.nav_menu02 ul .menu_multi a{
		color: #8DD6EC;
		display: block;
		line-height: 1.2;
		padding: 17px 15px;
		font-size: 0.87rem;
	}
	
	.nav_menu02 ul .menu_multi span{
		background: rgba(0, 0, 0, 0.7);
		border-right: 1px solid rgba(255, 255, 255, 0.2);
		height: 50px;
		color: #FFF;
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		text-align: center;
		position: relative;		
	}
	
	.nav_menu02 ul .menu_multi span + .nav_sub{margin-top: 0;}
	
	.nav_menu02 ul .menu_multi span::after{
		content: "";
		width: 11px;
		height: 7px;
		display: inline-block;
		background: url("../img/ico_arrow02.png") no-repeat center 0;
		background-size: contain;
		margin-left: 8px;
	}
	
	.nav_menu02 ul .menu_multi span:hover{background: radial-gradient(circle farthest-side at bottom center,rgba(0, 172, 255, 0.7), rgba(0, 0, 0, 0.7));}

	.nav_menu02 ul .menu_multi .ico{display: none;}
	
	.menu_multi:hover .nav_sub{
		opacity: 1;
		pointer-events: auto;
	}
	
	.nav_sub{
		position: absolute;
		top: 50px;
		width: 20%;
		opacity: 0;
		pointer-events: none;
		z-index: 1;
	}
	
	.menu_second_level{
		margin: 0;
		padding: 0;
		list-style: none;
		font-size: 0.87rem;
	}
	
	.menu_second_level .ttl_menu{
		background: #074E7C url("../img/ico_arrow03.png") no-repeat right 10px center;
		background-size: 7px;
		color: #8DD6EC;
		display: block;
		line-height: 1.2;
		padding: 16.5px 15px;
		margin: 0;
	}
	
	.menu_second_level li{
		position: relative;
		background: #074E7C;
		border-bottom: 1px solid #22709C;
	}
	
	.menu_second_level li:last-of-type{border-bottom: none;}

	.menu_second_level li a,
	.menu_third_level li a{position: inherit;}
	
	.menu_second_level > li a::before,
	.menu_third_level > li a::before{display: none;}
	
	.menu_second_level li a[target="_blank"]::after{
		content: "";
		display: inline-block;
		width: 10px;
		height: 10px;
		background: url("../img/ico_tab01.png") no-repeat 0 0;
		background-size: contain;
		position: relative;
		left: 10px;
	}
	
	.menu_third_level{
		margin: 0;
		padding: 0;
		list-style: none;
		position: absolute;
		top: 0;
		left: 100%;
		width: 100%;
		opacity: 0;
		pointer-events: none;
	}
	
	.menu_third_level li{
		background: #043F6D;
		border-bottom: 1px solid #1E608E;
	}
	
	.menu_third_level li:last-of-type{border-bottom: none;}
	
	.menu_third_level li a{
		display: block;
		color: #8BCCE5;
		line-height: 1.2;
		padding: 17px 15px;
	}
	
	.menu_second_level li:hover .menu_third_level{
		opacity: 1;
		pointer-events: auto;
	}
	
	.nav_menu03,
	.btn_menu{display: none;}
	
	.m_search{display: none;}
	
	
	/* ------------------------------------------------------------

	検索

	------------------------------------------------------------ */
	
	#search_box{
		position: fixed;
		top: 0;
		left: 0;
		height: 100vh;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 999;
		opacity: 0;
		transition:opacity .3s;
		pointer-events: none;
	}
	
	#search_box.on{
		opacity: 1;
		pointer-events: auto;
	}
	
	#search_inner{width: 600px;}
	
	#search_inner .s-box{
		line-height: 25px;
		padding: 18px 60px 18px 20px;
	}

	#search_inner button{
		background: #0E6E9B url("../img/ico_search01.png") no-repeat center;
		background-size: 22px;
		width: 55px;
		height: 55px;
	}

	#search_box .btn_close_gs{
		position: fixed;
		top: 31px;
		right: 32px;
		cursor: pointer;
		z-index: 1;
	}
	
	#search_box .overlay{
		background: rgba(0, 0, 0, 0.8);
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
	}
	
	/* ------------------------------------------------------------

	footer

	------------------------------------------------------------ */

	/*--footer_inner01--*/
	.footer_inner01{
		background-attachment: fixed;
		background-size: 1920px;
		padding: 60px 0;
	}
	
	.f_btn{
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
	}
	
	.f_btn li{
		margin: 0;
		width: 350px;
	}
	
	.f_btn li:nth-child(1){margin-right: 30px;}
	
	.f_btn li a{transition: border .3s, background .3s;}
	
	.nav_footer01 p{
		font-size: 1rem;
		margin-bottom: 20px;
	}
	
	.nav_footer01 ul li{
		width: 100%;
		margin-bottom: 15px;
	}
	
	.nav_footer01 ul li:last-child{margin-bottom: 0;}
	
	.nav_footer01 ul li a{padding: 0;}
	
	.nav_footer02{font-size: 0.81rem;}

	.nav_footer02 ul{
		list-style: none;
		margin: 0;
		padding: 0;
		display: inherit;
	}
	
	.nav_footer02 ul li{margin-bottom: 15px;}
	
	.nav_footer02 ul li:last-of-type{margin-bottom: 0;}

	.nav_footer02 ul li a{
		display: block;
		color: #86E5F7;
		padding: 0;
	}
	
	/*--footer_inner02--*/
	.footer_inner02{padding: 100px 0 10px;}
	
	.footer_inner02 .f_inner{margin-bottom: 100px;}
	
	.footer_inner02 .f_item{margin-bottom: 0;}
	
	.footer_inner02 .f_item:nth-child(1){margin-bottom: 50px;}
	
	/* ページトップボタン
	---------------------------------------------- */	
	#pagetop{
		width: 60px;
		height: 60px;
		background: #323d46;
		position: fixed;
		right: 0;
		bottom: 0;
		z-index: 100;
		cursor: pointer;
		opacity: 0;
		pointer-events: none;
		transition: opacity .3s, background .3s;
		margin: 0;
		border: none;
		display: inherit;
	}
	
	#pagetop:hover{background: #0E6E9B;}
		
	#pagetop span{
		position: relative;
		display: block;
	}
	
	#pagetop > span::before,
	#pagetop > span::after{
		content: "";
		display: block;
		width: 60px;
		height: 60px;
		background: url("../img/ico_arrow05.png") no-repeat center;
		background-size: 16px;
		position: absolute;
		top: 0;
		left: 0;
		transition: transform .3s, opacity .3s;
		padding: 0;
		line-height: inherit;
	}
	
	#pagetop > span::after{
		opacity: 0;
		transform: translate3d(0, 15px, 0);
	}
	
	#pagetop:hover > span::before{
		opacity: 0;
		transform: translate3d(0, -15px, 0);
	}
	
	#pagetop:hover > span::after{
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

	#pagetop.pagetop_show{
		opacity: 1;
		pointer-events: auto;
	}
	
	/*---------------------------------
	アコーディオンボックス
	--------------------------------*/
	.acbox label{font-size: 1.12rem;} 
}/*--@media--*/


@media (min-width: 768px) and (max-width: 1110px) {/* 表示領域が768px以上1100px以下の場合に適用するスタイル */
	
	/* ------------------------------------------------------------

	header

	------------------------------------------------------------ */
	
	.header_inner01{padding-left: 15px;}
	
	.h_logo{
		width: 420px;
		padding: 4px 0 0;
	}
	
	.h_logo02{width: 335px;}
	
	
}/*--@media--*/


@media (min-width: 992px) {/* 表示領域が992px以上の場合に適用するスタイル */
	
	
	.wrap_type01{margin-bottom: 120px;}

	/* ------------------------------------------------------------

	side

	------------------------------------------------------------ */

	.side{
		display: block;
		margin-top: -50px;
	}
	
	.side ul li.first_level > a{
		background: #38434C;
		font-size: 1rem;
		line-height: 1;
		padding: 17px 15px;
		color: #FFF;
		margin: 0;
		position: relative;
		pointer-events: none;
	}
	
	.side ul{
		list-style: none;
		padding: 0;
		margin: 0;
		font-size: 0.87rem;
	}
	
	.side .list_side01{border-bottom: 1px solid #E4E6E7;}

	.side ul li{
		border-bottom: 1px solid #E4E6E7;
		position: relative;
	}
	
	.side ul li:last-of-type{border-bottom: none;}

	.side ul li a{
		display: block;
		color: #333;
		padding: 15px 0 15px 8px;
	}
	
	.side ul li.second_level > a{
		font-weight: bold;
		border-bottom: 1px solid #E4E6E7;
		pointer-events: none;
	}
	
	.side ul li a:hover{
		text-decoration: none;
		opacity: 0.7;
	}
	
	.side ul li a[target="_blank"]::after{
		content: "";
		background-image: url("../img/ico_tab03.png");
		width: 10px;
		height: 10px;
		display: inline-block;
		background-size: contain;
		position: relative;
		left: 8px;
	}	
	
	/* ------------------------------------------------------------

	header

	------------------------------------------------------------ */
	
	.btn_search{right: 0;}
	
	.nav_menu01{
		position: absolute;
		top: 34px;
		right: 0;
		width: 500px;
		padding: 0;
		border: none;
	}

	.nav_menu01 > ul > li{
		width: 100px;
		height: 50px;
		position: relative;
	}

	.nav_menu01 > ul > li:nth-child(1){
		background: #FFF;
		width: 100px;
		height: 50px;
		position: inherit;
		text-align: inherit;
	}

	.nav_menu01 > ul > li:nth-child(2):hover{background: radial-gradient(circle at bottom center ,#1BADD8, #0E6E9B);}
	.nav_menu01 > ul > li:nth-child(3):hover{background: radial-gradient(circle at bottom center ,#1699CB, #0B5E8C);}
	.nav_menu01 > ul > li:nth-child(4):hover{background: radial-gradient(circle at bottom center ,#0E84BC, #074E7C);}
	.nav_menu01 > ul > li:nth-child(5):hover{background: radial-gradient(circle at bottom center ,#086EAB, #043F6D);}

	.nav_menu01 > ul > li:nth-child(1) > a{
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		color: #0D6D9A;
		padding: 0;
	}
	
	.nav_menu01 ul li .nav_sub_visitor{
		display: block;
		opacity: 0;
		pointer-events: none;
		position: absolute;
		top: 50px;
		left: 0;
		z-index: 2;
		width: 130%;
	}
	
	.nav_menu01 ul li:last-of-type .nav_sub_visitor{
		left: auto;
		right: 0;
	}
	
	.nav_menu01 > ul > li:hover .nav_sub_visitor{
		opacity: 1;
		pointer-events: auto;
	}
	
	.nav_menu01 ul li .nav_sub_visitor ul li,
	.nav_menu01 ul li .nav_sub_visitor ul li:nth-child(1){
		width: 100%;
		height: auto;
		border-bottom: 1px solid #22709C;
	}
	
	.nav_menu01 ul li .nav_sub_visitor ul li:last-of-type{border-bottom: none;}
	
	.nav_menu01 ul li .nav_sub_visitor ul li a{
		display: block;
		background: #074E7C;
		padding: 15px 10px;
		color: #8DD6EC;
	}
	
	.nav_menu01 ul li .nav_sub_visitor ul li a:hover{
		text-decoration: none;
		color: #FFF;
	}

	.nav_menu01 ul li:nth-child(1) span{
		position: relative;
		padding-bottom: 17px;
	}

	.nav_menu01 ul li:nth-child(1) span::before{
		content: "";
		display: block;
		width: 29px;
		height: 7px;
		background: url("../img/ico_arrow01.png") no-repeat 0 0;
		background-size: 29px;
		position: absolute;
		left: 50%;
		bottom: 0;
		margin-left: -15px;
	}
	
	/* ------------------------------------------------------------

	footer

	------------------------------------------------------------ */
	
	/*--footer_inner02--*/
	.footer_inner02 .f_item{margin-bottom: 0;}

	.footer_inner02 .f_item:first-child{margin-bottom: 0;}
	
	
}/*--@media--*/


@media (min-width: 1040px) {/* 表示領域が1040px以上の場合に適用するスタイル */
	/* ------------------------------------------------------------

	header

	------------------------------------------------------------ */
	.nav_header ul{width: 600px;}
	
	.nav_header ul li:not(.language){display: block;}
	
	
	/* ページタイトル
	---------------------------------------------- */
	.pagettl_inner{padding: 0 0 0 30px;}

	.breadcrumb{left: 30px;}
	
	.btn_search{right: 500px;}
	
	.nav_menu01{display: block;}
	
	
}/*--@media--*/


@media (min-width: 1111px) {/* 表示領域が1111px以上の場合に適用するスタイル */
	
	/* ページタイトル
	---------------------------------------------- */
	.pagettl_inner{padding: 0 0 0 30px;}

	.breadcrumb{left: 30px;}
	
	
}/*--@media--*/


@media (min-width: 1200px) {/* 表示領域が1200px以上の場合に適用するスタイル */

	/* ページタイトル
	---------------------------------------------- */
	.pagettl_inner{padding: 0;}

	.breadcrumb{left: 0;}
	
	
}/*--@media--*/




