@charset "utf-8";
/* CSS Document */
body{
  display: flex;
  flex-direction: column;
}

#wrapper{
	display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.wf-roundedmplus1c {
  font-family: "M PLUS Rounded 1c";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: rotate(0.001deg);
}

.multi_font{
  font-family: Helvetica,Arial,sans-serif;
}

.zhcn{
font-family: sans-serif,'SimSun';
}

h1 {
  background: url(/parts/img/support/background.png) repeat-x center;
  background-size: cover;
	display: inline-table;
	font-size:1.2em;
	margin:0 auto;
	padding:20px 0;
	text-align:center;
	width:100%;
}
h1 a{
	color: #000000;
	text-decoration:none;
}
h1 span{
  color:#333333;
	font-size:14px;
	font-weight:lighter;
  line-height:0.8em;
}
h2{
	width: 100%;
}

/*なんちゃって改行*/
.br::before {
	content: "\A" ;
	white-space: pre ;
	}

ruby rt {
	bottom: -2px;
	position: relative;
}

dl{
	margin:0 0 40px;
}
dd{
	margin: 0 0 1em 1em;
}

img{
	width: 100%;
}

a[href$=".pdf"]:after {
	background: url(../../img/common/ico_pdf.gif) no-repeat right center;
	content:" ";
  display: inline-block;
  width: 12px;
  height: 12px;
	padding: 0.1em 10px 0.1em 0;
}
nav a[href$=".pdf"]:after {
  background: none;
  content:none;
}

/*==============ヘッダー==============*/
#header_top{
	border-bottom:1px solid #69b0f8;
	margin: 0;
  padding: 0;
}



/*□■□■□■□サブメニュー□■□■□■□*/
.head_menu{
	border-top:1px solid #69b0f8;
	margin: 0 auto;
	padding: 0;
	width: 100%;
}

.head_menu ul{
	display: flex;
	margin: 0;
	padding: 0;
}

.head_menu li{
	background-color: #69b0f8;
	display:block;
	margin: 0 auto;
	width: 50% ;
	padding: 0;
	position: relative;
}
.head_menu li:first-child{
  border-right: solid 2px #ffffff;
}

.head_menu li:hover{
	opacity: 0.5;
}

.head_menu li a{
	color: #ffffff;
	display: block;
	padding: 10px 0 8px;
	text-decoration: none;
	width: 100%;
}

.head_menu span{
	padding: 5px;
	position: absolute;
}

.head_menu div{
	display: block;
	margin: 0 auto;
	width: 160px;
}

[class^="icon"] {
	vertical-align: middle;
	fill: #ffffff;
	opacity: 1;
	position: relative;
}


/*==============言語メニュー==============*/
.language{
	align-content: stretch;
	display:flex;
	flex-direction: row;
	flex-wrap: wrap;
	list-style:none;
	justify-content: space-around;
	padding:0;
}

.language li{
	background-color:#c9e7ff;
	border:1px solid #69b0f8;
	border-radius:5px;
	margin-bottom: 10px;
	min-width:47%;
	position: relative;
	text-align:center;
}

.language li a{
	color:#333;
	display: block;
	font-weight:bold;
	padding: 10px 0;
	text-decoration:none;
	width: 100%;
}

.language li a:hover{
	background-color:#69b0f8;
}

.language li span{
	font-size:11px;
	font-weight:600;}

.language .pc_gohst{
	display: none;
}

/*===========コンテンツ部分===========*/
#contents{
	margin: 0 auto;
	max-width: 1200px;
	min-width: 320px;
	width: 100%;
  flex: 1;
  -webkit-box-flex: 1;
  -ms-flex: 0 1 auto;
  height: 100%;
}

h2{
  text-align: center;
  margin: 40px 0 30px;
}
h2 span{
  position: relative;
  display: inline-block;
  padding: 0 0.5em;
}

h2 span::before, h2 span::after{
  position: absolute;
  top: 50%;
  content: '';
  width: 3em;
  height: 15px;
  background: url(../../img/support/h2_border.png) repeat-x;
/*  background: url(h2_border.png) repeat-x;*/
}

h2 span::before {left: 100%;}
h2 span::after { right: 100%;}


#map{
	border:0;
}

/*▲▼▲▼▲▼各言語コンテンツメニュー▲▼▲▼▲▼*/
nav{
	margin: 20px 0;
}
nav ul{
	align-items: flex-start;
	display: flex;
	flex-wrap:wrap;
	justify-content: space-around;
	padding: 0;
	list-style: none;
	margin: 0;
}

nav li{
	background-color: #c9e7ff;
	border:1px solid #69b0f8;
	border-radius: 5px;
	display: block;
	margin-bottom: 20px;
  width: 100%;
/*  max-width: 480px;*/
}
nav a{
  color: #000000;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
	padding: 15px 0 15px;
	text-decoration: none;
	width: 100%;
}

nav a:hover{
	background-color: #9ed1ff;
}


nav svg{
	opacity: 1;
	vertical-align: bottom;
}

nav div{
	padding: 5px 5px;
	max-width: 250px;
}

.japanese .long{
  max-width: 210px;
}

nav .ruby{
	padding: 0 5px;
}
nav .ghost_banner{
  display: none;
  padding: 15px 0;
  height: 35px;
}



.jp{
  background-color: #ffe1c9;
  border: 1px solid #f8b169;
}
.jp a:hover{
  background-color: #f8b169;
}

/*ボックス全体*/
.accbox{
	margin:0;
	padding: 0;
	width: 100%;/*最大幅*/
}
/*ラベル*/
label {
	/*background-color: #DEDEF0;*/
	/*border: #4F64AE 2px solid;*/
	color :#69b0f8;
	cursor :pointer;
	display: block;
	font-weight: bold;
	margin: 0;
	padding : 15px 20px 18px 10px;
	text-align: right;
	width: 100%;
}

/*ハンバーガーメニューアイコン(押す前)*/
.hamburger{
	display: inline-block;
	width: 35px;
	vertical-align: super;
}
.hamburger span{
	background: #69b0f8;
  border-radius: 3px;
  content: '';
  cursor: pointer;
  display: block;
  height: 3px;/*線の太さ*/
	padding: 2px 5px;
	position: absolute;
  width: 30px;/*長さ*/
}
.hamburger span{
	transition: 0.3s;
	transform: rotate(0deg);
}
.hamburger .top{
	transform: translateY(-10px);
}
.hamburger .bottom{
	transform: translateY(10px);
}

/*ラベルホバー時*/
.accbox label:hover {
	mix-blend-mode:multiply;
	background-color: #c9e7ff;
}

/*チェックは隠す*/
.accbox input {
	display: none;
}
/*中身を非表示にしておく*/
.accshow ul{
	display: none;
	height: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha( opacity=0 )";
}

/*クリックで中身表示*/
#label:checked + .accshow ul{
	height: auto;
	padding: 5px;
	display:block;
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	width: 100%;
}

/*▲▼▲▼▲▼メイン▼▲▼▲▼*/


.main{
	padding: 0 10px;
}

/*▲▼▲▼▲▼dt・dd横並び▲▼▲▼▲▼*/
.no_teigi dt{
	display: initial;
	float: left;
	vertical-align: middle;
}

.no_teigi dd{
	display: table;
	vertical-align: middle;
}


/*▲▼▲▼▲▼flex-2box▲▼▲▼▲▼*/
.col_2{
	margin: 0 0 20px;
}
.col_2 ul{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content :space-around;
	margin: 0;
	list-style: none;
	padding: 0;
}
.col_2 li{
	margin: 0 0 1.8em;
	list-style: none;
}

/*▲▼▲▼▲▼お知らせ▲▼▲▼▲▼*/
.boxIn {
	padding: 5px 10px 10px;
}
.clearfix {
	overflow: hidden;
	width: 100%;
}
#infoList dt, .infoDl dt {
	display:block;
	font-weight: bold;
	padding: 5px 20px 0px 0px;
}
#infoList dd, .infoDl dd {
	padding: 5px 0px 20px;
	margin: 0px;
}


/*▲▼▲▼▲▼リンク▲▼▲▼▲▼*/
.lang{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content:flex-start;
		margin-top: 10px;
	}

.lang img{
	height: 35px;
	margin: 0 0 10px 1em;
	vertical-align: middle;
	width: 35px;
}

.link dt{
	margin:15px 0 5px;
}
.link dd{
	margin-bottom: 5px;
}


.go_top_set{
	display: block;
	margin: 20px auto 0;
	max-width: 1200px;
	width: 100%;
}
.go_top{
	background-color: #69b0f8;
	border-radius: 5px;
	float: right;
	height: 40px;
	scroll-behavior: smooth;
	text-align: center;
	width: 40px;
}
.go_top a{
	color: #ffffff;
	display: block;
	height: 100%;
	text-decoration: none;
}


/*===========フッター部分=============*/
#foot_area{
	background-color: #EEEEEE;
	bottom: 0;
	margin: 20px auto 0;
	width: 100%;
}

footer{
	color: #666666;
	font-size:14px;
	padding: 20px 0;
	text-align: center;
}




/*コロナウイルス対策*/
.coronavirus{
  display: flex;
  list-style:none;
  flex-wrap: wrap;
  justify-content:space-around;
  margin:20px 0 0;
  padding: 0;
}

.coronavirus li{
  margin: 0;
  padding: 0;
  width: 97%;
}
.coronavirus img{
  max-width: 100%;
}
.coronavirus a[href$=".pdf"]:after {
	background: none;
	content:" ";
  display: inline-block;
  width: 0px;
  height: 0px;
	padding: 0.1em 10px 0.1em 0;
}