@charset "utf-8";
/* CSS Document */

/* OUTLINE
-------------------------------------------------------------------------------------------------*/
body {
	min-width: 100%;
	font-size: 12px;
}


/* PC SP
-------------------------------------------------------------------------------------------------*/
.pcOnly {
	display: none!important;
}
.spOnly {
	display: inline-block!important;
}

/* HEADER
-------------------------------------------------------------------------------------------------*/
header {
	width: 100%;
	min-height: 56px;
}
ul#headLink,
header nav {
	display: none;
}
ul#headLink_sp,
ul#footLink_sp,
ul#uMenu_sp {
	display: block;
}
header > div:first-child {
	left: 8px;
	height: 40px;
}
header > div:first-child img {
	width: auto;
	height: 100%;
}
header #headerMenu {
	padding: 16px;
	background: rgba(40,40,40,.9);
}
header ul#language {
	float: none;
	width: 100%;
}
header ul#language > li {
	margin-left: 2%;
	width: 32%;
}
header ul#language > li:first-child {
	margin-left: 0;
}
header ul#language > li > a {
	display: block;
	width: 100%;
	background: #fff;
	padding: .5em;
	text-align: center;
}
header ul#language > li > a:hover,
header ul#language > li > a.active {
	border: 1px solid #7d7dbd;
}
#search{
	width: 100%;
	float: none;
	margin: 0;
	padding: 0 16px 16px 16px;
	background: rgba(40,40,40,.9);
}
	td.gsc-input,
	td.gsc-search-button {
		border: 1px solid #7d7dbd;
	}
header ul#gMenu {
	display: block;
	margin: 0;
	padding: 16px;
	background: rgba(40,40,40,.9);
}
header ul#gMenu > li {
	display: block;
	border-left: none; 
	border-top: 1px solid #ccc;
	text-align: left;
	padding-left: 1em;
}
header ul#gMenu > li:first-child {
	display: block;
}
header ul#gMenu > li:last-child {
	border-right: none;
	border-bottom: 1px solid #ccc; 
}
header ul#gMenu > li > a {
	color: #fff!important;
}
header ul#gMenu > li:hover,
header ul#gMenu > li.active {
	background: rgba(61,60,132,.6);
}
header ul#uMenu_sp {
	width: 100%;
	padding: 16px;
	background: rgba(100,100,100,.9);
}
header ul#uMenu_sp:after,
header ul#headLink_sp:after {
	content: "";
	clear: both;
	display: block;
}
header ul#uMenu_sp > li {
	width: 50%;
	border-bottom: 1px solid #ccc;
}
header ul#uMenu_sp > li a {
	color: #fff;
	padding: .5em 0 .5em 1em;
	display: block;
}
header ul#uMenu_sp > li:first-child{
	width: 100%;
	border-top: 1px solid #ccc;
}
header ul#uMenu_sp > li:nth-last-child(odd){
	float: left;
}
header ul#uMenu_sp > li:nth-last-child(even){
	float: right;
}
header ul#uMenu_sp > li:hover{
	background: rgba(0,0,0,.4);
}
header ul#uMenu_sp > li:hover a{
	color: #fff;
}
header ul#headLink_sp {
	width: 100%;
	padding: 16px 16px 80px!important;
	background: rgba(100,100,100,.9);
}
header ul#headLink_sp > li {
	width: 49%;
	margin-bottom: 4px;
	text-align: center;
	border: 1px solid #fff;
}
header ul#headLink_sp > li:nth-last-child(odd){
	float: left;
}
header ul#headLink_sp > li:nth-last-child(even){
	float: right;
}
header ul#headLink_sp > li a {
	color: #fff!important;
	padding: .5em;
	display: block;
}
header ul#headLink_sp > li:hover {
	background: rgba(0,0,0,.4);
}
/*メニュー部分*/
nav{
	display:none;
	position: absolute;
	top:56px;
	width: 100%;
	height: 100vh;
	padding: 0;
	left: 0;
	font-size: 120%;
	z-index: 20;
}

/*開閉ボタン*/
#nav_toggle{
	display: block;
	width: 32px;
	height: 32px;
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 100;
}
#nav_toggle span{
	display: block;
	height: 3px;
	background: #3d3c84;
	position:absolute;
	width: 100%;
	left: 0;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
}
#topContents #nav_toggle span {
	background: #fff;
}
#nav_toggle span:nth-child(1){
	top:0px;
}
#nav_toggle span:nth-child(2){
	top:12px;
}
#nav_toggle span:nth-child(3){
	top:24px;
}

/*開閉ボタンopen時*/
.open #nav_toggle span:nth-child(1) {
	top: 12px;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	transform: rotate(135deg);
}
.open #nav_toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}
.open #nav_toggle span:nth-child(3) {
	top: 12px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	transform: rotate(-135deg);
}


/* FOOTER
-------------------------------------------------------------------------------------------------*/
footer > div {
	width: 100%;
	padding: 8px 16px;
	display: block;
}
footer > div > div {
	display: block;
}
footer > div > div:last-child {
	display: none;
}
ul#footLink_sp {
	display: flex;
	justify-content: space-between;
}
ul#footLink_sp li:first-child,
ul#footLink_sp li:nth-child(2) {
	flex-basis:10%;
	font-size: 2.6em;
}
ul#footLink_sp li:nth-child(3),
ul#footLink_sp li:last-child {
	flex-basis:36%;
	align-self: center;
	text-align: center;
	border: 1px solid #fff;
	padding: .3em;
}
footer > div > div p.sns {
	display: none;
}
a.pagetop {
	right: 16px;
	bottom: 16px;
	width: 40px;
	height: 40px;
	padding: 4px 0 0;
}
.copyright {
	text-align: center;
}


/* TITLE
-------------------------------------------------------------------------------------------------*/
#cateTtl {
	height: auto;
}
#cateTtl > div:last-child {
	position: relative;
	width: 100%;
	height: 160px;
	background-position: center;
	left: 0;
}
#cateTtl .cateTtl {
	position: relative;
	width: 100%;
	height: auto;
	left: 0;
}
#cateTtl .cateTtl > div {
	padding: 8px;
}
#pageTtl02 .pageTtl {
	width: 86%;
	padding: 16px;
	background: rgba(255,255,255,.9);
}
#pageTtl02 .mask {
	padding-bottom: 16px;
}
#pageTtl02 .pageTtl p.ttlEn {
	font-size:200%;
}
#pageTtl02 .pageTtl > h1.ttl {
	font-size:160%;
	padding: .3em 0;
}
.pageTtl03 > h1 {
	width: 96%;
	padding: 0 0 16px 0;
}
.pageTtl03 > p.parent {
	width: 96%;
	padding: 8px 0 0 0;
	font-size: 120%;
}

/* PANKUZU
-------------------------------------------------------------------------------------------------*/
ul#pankuzu {
	width:98%;
}


/* CONTENTS
-------------------------------------------------------------------------------------------------*/
.Contents {
	width: 94%;
	padding-top: 16px;
	overflow: hidden;
}
.wrapper {
	width: 96%;
	padding: 24px 0;
	overflow: hidden;
}
h1{
	font-size: 180%;
}
h2 {
	font-size: 150%;
}
h3 {
	font-size: 130%;
}
h4 {
	font-size: 115%;
}
h5 {
	font-size: 110%;
}
h6 {
	font-size: 105%;
}

/* OTHER
-------------------------------------------------------------------------------------------------*/
/* page link */
#pageList {
	width: 96%;
	margin: 32px auto;
	padding: 8px 8px 16px;
}
#pageList > ul {
	display:block;
	margin-top: 8px;
}
#pageList > ul > li > a,
#pageList > ul > li > p {
	margin: 1px 8px 0;
}

/* relation link */
#relationLink {
	padding: 24px 0;
}
#relationLink > p {
	font-size:230%;
}
#relationLink > h2{
	font-size:115%;
}
#relationLink > ul {
	width: 96%;
}
#relationLink > ul > li {
	width: 49%;
	float: left;
	margin-right: 0!important;
}
#relationLink > ul > li:nth-child(even){
	float: right;
}


/* TOP PAGE
-------------------------------------------------------------------------------------------------*/
/* slider */
.topSlider {
	height: calc(32vh );
}

/* emergency */
#emergency > div {
	width: 100%!important;
}
#emergency > div > div {
	width: 98%!important;
}
#emergency > div > div > h2 {
	width: 100%!important;
	display: block;
	padding: 12px 0 0 4px!important;
	line-height: 1;
}
#emergency > div > div > div {
	width: 100%;
	display: block;
	padding: 8px 0 6px 4px;
}
/*#emergency > div > div > div > div#tickerbox > ul dd {
	width: 13em;
}
@media screen and (max-width: 320px) {
	#emergency > div > div > div > div#tickerbox > ul dd {
		width: 11em;
	}
}*/
#emergency > div > p {
	width: 15%;
}
#emergency > div > p:hover {
	background: rgba(255,255,255,.8);
}
#emergency > div > p > a {
	color:#3d3c84;
	font-weight: bold;
}

/* universal menu */
ul#uMenu {
	display: none;
}

/* entrance information */
h2.topH2 {
	font-size: 220%;
	margin-bottom: .3em;
}
h2.topH2 > span {
	font-size: 60%;
}
ul#entrance {
	display:block;
	margin: 16px auto 32px;
}
ul#entrance > li {
	padding: 24px 0;
}
ul#entrance > li > a {
	width: 70%;
	padding: 48px 0 16px 0;
	font-size: 120%;
}
ul#entrance > li > a::after {
	top: 16px;
	font-size: 200%;
}


/* FIRST LEVEL CATEGORY
-------------------------------------------------------------------------------------------------*/
#FirstLevCT > a {
	margin-top: -72px;
}
#FirstLevCT > a:first-child {
	margin-top: 0;
}
#FirstLevCT > a > dl {
	position: relative;
	min-height: 0;
	display: block;
}
#FirstLevCT > a > dl > dt {
	height: 160px;
}
#FirstLevCT > a > dl > dd {
	position: relative;
	top: -88px;
	margin: 0 auto;
	width: 90%;
	background: rgba(255,255,255,.8);
	border: 1px solid #ccccec;
}
#FirstLevCT > a > dl > dd > div {
	width: 100%;
	padding: 16px;
}
#FirstLevCT > a > dl > dd > div > h2 {
	font-size: 200%;
}
#FirstLevCT > a > dl > dd > div > i {
	font-size: 2em;
}
#FirstLevCT > a:hover > dl > dd {
	background: rgba(61,60,132,.9);
}

/* SECOND LEVEL CATEGORY
-------------------------------------------------------------------------------------------------*/
ul#SecondLevCT,
ul#ThirdLevCT {
	width: 96%;
	margin: 20px auto 0;
}
#exception {
	width: 96%;
	margin: 24px auto 0;
	padding: 16px 8px;
}

/* SLIDE
-------------------------------------------------------------------------------------------------*/
div.slide {
	max-width: 496px;
	width: 100%;
	margin: 0 auto;
}
div.swiper-container {
	padding: 20px 0;
}
li.swiper-slide dl {
	max-width: 244px;
	width: 100%;
}
li.swiper-slide dl > dt {
	max-width: 244px;
	width: 100%;
	height: auto!important;
padding-top:72.1%;
}
li.swiper-slide dl > dt > img {
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:auto;
}
li.swiper-slide dl > dd {
	padding: 8px;
}
.swiper-button-prev::after,
.swiper-button-next::after {
	font-size: 2em;
	width: 2em;
	height: 2em;
	line-height: 2em;
	opacity: .8;
}


/* NEWS
-------------------------------------------------------------------------------------------------*/
ul.NewsList {
	width: 96%;
	margin: 16px auto;
}
ul.paging {
	width: 96%;
	margin: 16px auto 24px;
}


/* FAQ
-------------------------------------------------------------------------------------------------*/
.faq > h2.question {
	font-size: 120%;
	padding: 0 0 0 32px;
}
.faq > h2.question::before,
.faq > div.answer::before {
	top:0;
	width: 24px;
	height: 24px;
	border-radius: 12px;
	font-size: 22px;
}
.faq > div.answer {
	padding: 0 0 1em 32px;
	margin: 16px 0 20px;
}


/* COMMON
-------------------------------------------------------------------------------------------------*/
/* TEXT */
.fs40 { font-size:1.8em; }
.fs32 { font-size:1.5em; }
.fs24 { font-size:1.3em; }
.fs20 { font-size:1.2em; }
.fs16 { font-size:1.1em; }


/* BACKGROUND */
.bg_grid { background-size: 10%; }
.bg_grid:after {
	border-top: 12px solid #aaa;
	border-left: 12px solid #aaa;
	border-bottom: 12px solid #f8f8f8;
	border-right: 12px solid #f8f8f8
}
/* COLUMN */
.column,
.column_leftL,
.column_rightL {
	display: block;
}
.column_leftL > div,
.column_rightL > div {
	flex-basis:100%!important;
}

/* ANCHOR LINK */
ul.aLink > li {
	flex-basis:calc(100% / 2);
}
/* IE11 */
_:-ms-fullscreen, :root ul.aLink > li {
	flex-basis:calc(94% / 2);
}


/* MARGIN / PADDING*/
.mar_l4{ margin-left:2px!important; }
.mar_l8{ margin-left:4px!important; }
.mar_l12{ margin-left:6px!important; }
.mar_l16{ margin-left:8px!important; }
.mar_l22{ margin-left:11px!important; }
.mar_l24{ margin-left:12px!important; }
.mar_l32{ margin-left:16px!important; }
.mar_l40{ margin-left:20px!important; }
.mar_l48{ margin-left:24px!important; }
.mar_l56{ margin-left:28px!important; }

.mar_r4{ margin-right:2px!important; }
.mar_r8{ margin-right:4px!important; }
.mar_r12{ margin-right:6px!important; }
.mar_r16{ margin-right:8px!important; }
.mar_r24{ margin-right:12px!important; }
.mar_r32{ margin-right:16px!important; }
.mar_r40{ margin-right:20px!important; }
.mar_r48{ margin-right:24px!important; }
.mar_r56{ margin-right:28px!important; }

.mar_t4{ margin-top:2px!important; }
.mar_t8{ margin-top:4px!important; }
.mar_t12{ margin-top:6px!important; }
.mar_t16{ margin-top:8px!important; }
.mar_t24{ margin-top:12px!important; }
.mar_t32{ margin-top:16px!important; }
.mar_t40{ margin-top:20px!important; }
.mar_t48{ margin-top:24px!important; }
.mar_t56{ margin-top:28px!important; }

.mar_b4{ margin-bottom:2px!important; }
.mar_b8{ margin-bottom:4px!important; }
.mar_b12{ margin-bottom:6px!important; }
.mar_b16{ margin-bottom:8px!important; }
.mar_b24{ margin-bottom:12px!important; }
.mar_b32{ margin-bottom:16px!important; }
.mar_b40{ margin-bottom:20px!important; }
.mar_b48{ margin-bottom:24px!important; }
.mar_b56{ margin-bottom:28px!important; }

.mar_tb16{ margin-top:8px!important; margin-bottom:8px!important; }
.mar_tb24{ margin-top:12px!important; margin-bottom:12px!important; }
.mar_tb40{ margin-top:20px!important; margin-bottom:20px!important; }
.mar_tb48{ margin-top:24px!important; margin-bottom:24px!important; }
.mar_tb56{ margin-top:28px!important; margin-bottom:28px!important; }
.mar_tb64{ margin-top:32px!important; margin-bottom:32px!important; }

.pad_l4{ padding-left:2px!important; }
.pad_l8{ padding-left:4px!important; }
.pad_l12{ padding-left:6px!important; }
.pad_l16{ padding-left:8px!important; }
.pad_l24{ padding-left:12px!important; }
.pad_l32{ padding-left:16px!important; }
.pad_l40{ padding-left:20px!important; }
.pad_l48{ padding-left:24px!important; }
.pad_l56{ padding-left:28px!important; }

.pad_r4{ padding-right:2px!important; }
.pad_r8{ padding-right:4px!important; }
.pad_r12{ padding-right:6px!important; }
.pad_r16{ padding-right:8px!important; }
.pad_r24{ padding-right:12px!important; }
.pad_r32{ padding-right:16px!important; }
.pad_r40{ padding-right:20px!important; }
.pad_r48{ padding-right:24px!important; }
.pad_r56{ padding-right:28px!important; }

.pad_t4{ padding-top:2px!important; }
.pad_t8{ padding-top:4px!important; }
.pad_t12{ padding-top:6px!important; }
.pad_t16{ padding-top:8px!important; }
.pad_t24{ padding-top:12px!important; }
.pad_t32{ padding-top:16px!important; }
.pad_t40{ padding-top:20px!important; }
.pad_t48{ padding-top:24px!important; }
.pad_t56{ padding-top:28px!important; }

.pad_b4{ padding-bottom:2px!important; }
.pad_b8{ padding-bottom:4px!important; }
.pad_b12{ padding-bottom:6px!important; }
.pad_b16{ padding-bottom:8px!important; }
.pad_b24{ padding-bottom:12px!important; }
.pad_b32{ padding-bottom:16px!important; }
.pad_b40{ padding-bottom:20px!important; }
.pad_b48{ padding-bottom:24px!important; }
.pad_b56{ padding-bottom:28px!important; }
.pad_b64{ padding-bottom:32px!important; }

.pad_tb8{ padding-top:4px!important; padding-bottom:4px!important; }
.pad_tb20{ padding-top:10px!important; padding-bottom:10px!important; }
.pad_tb40{ padding-top:20px!important; padding-bottom:20px!important; }
.pad_tb48{ padding-top:24px!important; padding-bottom:24px!important; }
.pad_tb56{ padding-top:28px!important; padding-bottom:28px!important; }
.pad_tb64{ padding-top:32px!important; padding-bottom:32px!important; }

.pad_al8 {padding:4px!important; }
.pad_al16 {padding:8px!important; }



