@charset "UTF-8";
* {
    margin: 0;
    padding: 0;
}
body{
	
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	-webkit-user-select: none;
		   -moz-user-select: none;
		    -ms-user-select: none;
		        user-select: none;
}
#wrap{
	padding:10px;
}
a{
	color:#000;
	text-decoration:none;
}
a img:hover{
	opacity:0.8;
}
.group{
	margin:40px 0;
}
ul li{
	list-style:none;
}
img{
	width:100%;
}
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

.block{
	max-width:1000px;
	width:100%;
	margin:auto;
}
.inner{
	margin:auto;
	width:90%;
}
hr.solid{

	border:solid 0.5px;
	margin:10px 0;
}
p.info-tit{
	font-size:16px;
	line-height:3em;
	text-align:center;
	color:#ff6c00;
	font-weight:bold;
}
p.typea{
	font-size:16px;
	line-height:1.5em;
	margin:5px 0;
}
p.maintext{
	font-size:16px;
	line-height:2em;
	text-align:center;
}
p.subtext{
	font-size:16px;
	text-align:justify;
	line-height:1.8em;
	margin:30px;
}
p.text{
	font-size:14px;
	text-align:justify;
}
h3{
	text-align:center;
	text-decoration:underline;
	font-family: "antiquarian",sans-serif;
	font-size:48px;
}/*　英語のカテゴリータイトル　*/
h2{
	font-size:30px;
	text-align:center;
	line-height:2.5em;
	letter-spacing:.2em;
}/*　サブページ　メインコピー　*/
p.category{
	font-weight:bold;
	margin:35px 0;
	font-size:25px;
	padding: 0.4em 0.5em;/*文字の上下 左右の余白*/
	color: #000;/*文字色*/
	background: #efefef;/*背景色*/
	border-left: solid 5px #2e3180;/*左線*/
}
span.yellow{
	background: linear-gradient(transparent 70%, #ffff00 70%);
}
hr{

	border-top: 2px dashed #999;
}

img.catch{
	width:100%;
	max-width:150px;
	margin:auto;
	display:block;
}
/*　サブページ　サイトトップへ戻る　*/
.button {
  display: block;
  margin:20px auto;
  width: 200px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
  background-color: #2e3180;
  color: #fff;
}
.button:hover {
  background-color: #59b1eb;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
/*	アイコン*/
i.icon{
	margin:auto;
	display: block;
	width:1em;
	text-align:center;
}
/* ===============header.php=============== */
#head1{
	position:relative;
	min-height:25px;
}
h5{
	color:#777;
	font-size:13px;
	text-align:right;
	float:left;
	position:absolute; 
	right:130px;
}
	/* ===============header.php 言語ナビ=============== */
	nav#language-nav{
		float:left;
		position:absolute; 
		right:10px;
	}
	#language-nav ul{
	  margin:0;
	  padding:0;
	}
	#language-nav ul li {
	  list-style: none;
	  margin:0;
	  padding:0;
	  font-size:12px;
	  float: left;
	  position: relative;
	  width: 100px;/*親メニューの幅*/
	  height: 20px;/*親メニューの高さ*/
	  background:#2e318f;/*親メニューの背景色*/
	  color: #fff;/*親メニューの文字色*/
	  text-align:center;
	  font-weight:bold;
	}
	#language-nav ul li a.lang:after {
	      content: "▼" ;
		  font-size:80%;
	}
	#language-nav ul li a {
	  color: #fff;
	  display: block;
	  text-decoration: none;
	}
	#language-nav ul li:hover, #language-nav ul li a:hover {
	  background:#656bb7;/*ホバー時の親メニューの背景色*/
	  color:#fff;/*ホバー時の親メニューの文字色*/
	}
	#language-nav ul li ul {
	  position: absolute;
	  top: 20px;/*親メニューの高さと同じにする*/
	  width: 100px;
	  z-index: 100;
	}
	#language-nav ul li ul li {
	  visibility: hidden;
	  overflow: hidden;
	  width: 100px;/*サブメニューの幅*/
	  height: 0;
	  background:#00448e;/*サブメニューの背景色*/
	}
	#language-nav ul li ul li:hover, #language-nav ul li ul li a:hover {
	  background:#5e6e7c;/*ホバー時のサブメニューの背景色*/
	}
	#language-nav ul li:hover ul li, #language-nav ul li a:hover ul li{
	  visibility: visible;
	  overflow: visible;
	  height:20px;/*サブメニューの高さ*/
	  z-index: 10;
	}
	#language-navu * {
	  -webkit-transition: 0.5s;
	  -moz-transition: 0.5s;
	  -ms-transition: 0.5s;
	  -o-transition: 0.5s;
	  transition: 0.5s;
	}
	/* =============== =============== */

.official-logo,nav#global-nav,.sns-logo,.sns-logo ul li{
	float:left;
}
.official-logo{
	max-width:300px;
	width:100%;
	margin-right:0px;	
}
nav#global-nav li {
  display: inline-block;
  font-size: 13px;
  margin:15px;
}  
nav#global-nav a:hover{
	color:#666;
	text-decoration:underline;
}
.sns-logo ul li{
	width:20px;
	margin:15px 2px;
}


/* ===============　フッター　サイトマップ　=============== */

#access{
	margin-top:20px;
}
nav.sitemap {
	text-align: center;
}
nav.sitemap li {
  display: inline-block;
  font-size: 12px;
  margin:0 10px;
} 
.border{
	border-left: 1px solid #333;
	border-right: 1px solid #333;
	padding:0 20px;
} 

.footer-logo,.footer-info,.footer-tel{
	width:28%;
	margin:40px 1%;
	float:left;
}

p.footer-copy{
	font-size:10px;
	text-align:right;
	color:#777;
}
span.tel{
	font-size:25px;
}

#pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
}
 
#pageTop a {
  display: block;
  z-index: 999;
  padding-top:5px;
  border-radius: 30px;
  width: 35px;
  height: 30px;
  background-color: #333;
  opacity:0.7;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
}
 
#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}



/* =======================　モバイル　======================= */
.mobile,#mobile-head,.mobile_button{
	display:none;
}
.m_visual{
	display:none;
}
@media screen and (max-width:1030px){
	.mobile{
		display:block;
	}
	.official-logo{
		margin:0 10px;	
	}
}

@media screen and (max-width:934px){
	/* ===============　header =============== */
	.official-logo{
		margin:auto;
		width:100%;
		float:none;
	}
	header #head1 h5,.sns-logo{
		display:none;
	}
	nav#global-nav  {
	  text-align:center;
	  float:none;
	} 
	
}
@media screen and (max-width:591px){
	nav#global-nav li {
	  display: inline-block;
	  font-size: 13px;
	  margin: 8px;
	}  
	
}


@media screen and (max-width:500px) { 
	.m_visual{
		display:block;
	}
	.visual{
		display:none;
	}
	/* ===============　ヘッダー　=============== */
	#top-head{
		display:none;
	}
	#mobile-head{
		display:block;
	}
	
	/* ===============　フッター　サイトマップ　=============== */
	nav.sitemap  {
		margin:15px 0;
	    line-height:1.5em;
	} 
	nav.sitemap li {
	  display: inline-block;
	  font-size: 12px;
	  margin:0 5px;
	} 
	.footer-logo,.footer-info,.footer-tel{
		width:100%;
		margin:5px 0;
		float:left;
		padding:0 20px;
	}
	.border{
		border-right:none;
		border-left:none;
		border-top: 1px solid #333;
		border-bottom: 1px solid #333;
		
	} 
	p.footer-copy{
		font-size:10px;
		text-align:center;
		color:#777;
	}

}

@media (930px <= width <= 1050px) {
	.sns-logo{
		display: none;
	}
}