@charset "UTF-8";

/* Reset */
ul,ol { list-style: none; }
img {
	border:0;
	text-align: center;
	max-width:100%;
	height:auto;
}

/* Common */
* {
	margin:0;
	border:0;
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
	padding-left: 0;
}
html { height:100%;margin:0; padding:0; font-size:10px;}
body {
	margin: 0 auto;
	padding:0;
	text-align:left;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	font-weight: 500;
	font-size:1.0rem;
	color:#000000;
	background:#FFFFFF;
}
@media screen and (max-width: 1200px){
}
.clearboth { padding: 0; clear:both; }
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;  overflow: hidden;/* 隙間対応 */
  font-size: 0.1em;/* 隙間対応 */
  line-height: 0;/* 隙間対応 */
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

a { color:#133480; text-decoration:underline; word-wrap: break-word;}
a:hover{ color:#133480; text-decoration:none;}
.font_red{ color:#FF0000 !important;}
.alc{ text-align:center !important;}

.disnon{ display:none !important;}
.spnon{ display:inherit !important;}
.disnon2{ display:none !important;}
.spnon2{ display:inherit !important;}
	@media screen and  (max-width: 1200px){
	.disnon{ display:inherit !important;}
	.spnon{ display:none !important;}
	img{ max-width:100%; }
	}
	@media screen and  (max-width: 481px){
	.disnon2{ display:inherit !important;}
	.spnon2{ display:none !important;}
	img{ max-width:100%; }
	}

.nav-button {
		display:none;
}
.nav-wrap {
  display: none;
}
 	@media screen and  (max-width: 1200px){
.nav-wrap {
  display: none;
}
.nav-wrap.open {
  display: block;
}

.nav-wrap.close {
  display: none;
}

  .nav-button {
    display: block;
    cursor: pointer;
  }

  .nav-wrap {
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    z-index: 2000;
    background-color: #FFFFFF;
    width: 100%;
    height: 100%;
  }
  .nav-wrapinner {
    display: block;
	margin:0 auto;
    z-index: 10;
	padding:0 0 20px 0;
    width: 100%;
    height: 100%;
	overflow: auto;
	box-sizing:border-box;
	-webkit-overflow-scrolling: touch;
	
  }
.nav-wrapinner .title{display:flex; align-items: center; flex-wrap:wrap; justify-content: flex-start; margin: 0 auto; padding:0 10px; width:100%; box-sizing: border-box;}
.nav-wrapinner .title h2{display:block; margin: 0; padding:0; width:260px;}
.nav-wrapinner .title h3{display:block; margin: 0; padding:0; }
.nav-wrapinner ul{display:block; margin:0; padding:0; color:#FFFFFF; background:#133480 }
.nav-wrapinner ul li{ display:block; margin:0; padding:0; color:#FFFFFF; text-align:center; box-sizing: border-box;}
.nav-wrapinner ul li a{ display:block; padding:14px 0; margin:0;border-bottom:1px solid #FFFFFF; font-size:1.8rem; color:#FFFFFF; font-weight:bold; line-height:150%; text-decoration:none; letter-spacing: 2px; }
.nav-wrapinner ul li ul li ul { display:block; margin:0 0 15px 0; padding:0 0 0 10px; border-left:1px solid #FFFFFF; border-bottom:1px solid #FFFFFF; }
.nav-wrapinner ul li ul li ul li{ display:block; margin:0; padding:0 0 10px 0; }

.nav-wrap.close{}
  /*メニューボタン*/
  .nav-button,
  .nav-button span {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
  }

  .nav-button {
    z-index: 2001;
    width: 64px;
    height: 64px;
    position:fixed; top:0; right:0;
	background: #133480;
	padding:4px;}
  .nav-button.active {
	background: none;}

  .nav-button span {
    position: absolute;
    left: 10px;
    width: calc(100% - 20px);
    height: 3px;
    background-color: #FFFFFF;
    border-radius: 4px;
	color:#FFFFFF;

  }
  .nav-button.transform span {
    position: absolute;
    left: 10px;
    width: calc(100% - 20px);
    height: 3px;
    background-color: #FFFFFF;
    border-radius: 4px;	

  }
  .nav-button.active span {

    background-color: #FFFFFF;
  }

  .nav-button span:nth-of-type(1) {
    top: 12px;
  }

  .nav-button span:nth-of-type(2) {
    top: 24px;
  }

  .nav-button span:nth-of-type(3) {
    top: 36px;
  }

  .nav-button span:nth-of-type(4) {
	height:auto; background: none;
    bottom: 3px;
	text-align: center;
	 font-size:1.1rem;
  }

  .nav-button.active span:nth-of-type(1) {
	 background: #133480;
    -webkit-transform: translateY(12px) rotate(-45deg);
    transform: translateY(12px) rotate(-45deg);
  }

  .nav-button.active span:nth-of-type(2) {
    opacity: 0;
  }

  .nav-button.active span:nth-of-type(3) {
  	background: #133480;
	-webkit-transform: translateY(-11px) rotate(45deg);
    transform: translateY(-11px) rotate(45deg);
  }
  .nav-button.active span:nth-of-type(4) {
	height:auto; background: none;
	color:#133480;
    bottom: 3px;
	text-align: center;
	 font-size:1.1rem;
  }
}
	@media (max-width: 400px){
	.nav-wrapinner .title{display:flex; align-items: center; flex-wrap:wrap; justify-content: flex-start; margin: 0 auto; padding:0 10px; width:100%; box-sizing: border-box;}
	.nav-wrapinner .title h2{display:block; margin: 0; padding:0; width:55%;}
	.nav-wrapinner .title h3{display:block; margin: 0; padding:0; width:20%; }
	}
span.small{font-size: 13px;}
span.annotation{font-size: 12px; vertical-align: top;}
.pl-1{display: block; padding-left: 1em !important;}
.mt-20{margin-top: 20px !important;}
.mt-60{margin-top: 60px !important;}
.mb-20{margin-bottom: 20px !important;}
.mb-60{margin-bottom: 60px !important;}
table , td, th { border-collapse: collapse;}
td.top-dotted {border-top: dotted 1px #cecece !important;}
td.bottom-no {border-bottom: none !important;}

/***************** Header *****************/
header{ display:block; margin:0; padding:0; width:100%; }
#HeaderInner{display:flex; flex-wrap:wrap; justify-content: flex-start;margin: 0 auto; padding:0; width:1000px;}
#HeaderInner h1{display:block; margin: 0; padding:0; width:260px;}
#HeaderInner h3{display:block; margin: 0; padding:26px 0 0 0; }
#HeaderInner a.official{display:block; margin: 0; margin-left:auto; padding:40px 0 0 0; }
header nav{ display:block; margin:0 auto; padding:0 0px 0 0; width:1000px; box-sizing: border-box;}
header nav ul{ display:flex; justify-content: center; flex-wrap:wrap; margin:0; padding:0; width:100%;}
header nav ul li{ display:flex; align-items: center; margin:0; padding:0; height:50px; position: relative;}
header nav ul li a{  display:flex; align-items: center; margin:0; padding:0 30px; color:#000000; text-decoration:none; font-size: 1.8rem; letter-spacing: 1px; box-sizing: border-box; font-weight: bold; height:20px; border-left: 1px dotted #133480;}
header nav ul.en li a{  display:flex; align-items: center; margin:0; padding:0 16px; color:#000000; text-decoration:none; font-size: 1.8rem; letter-spacing: 1px; box-sizing: border-box; font-weight: bold; height:20px; border-left: 1px dotted #133480;}
header nav ul li.is-active a:before, header nav ul li a:hover:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0; /*下線の上下位置調整*/
  display: inline-block;
  width: 60px;
  height: 4px; 
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%);
  background-color: #133480; 
}
header nav ul li.lang{ display:flex; align-items: center; margin:0;  margin-left: auto; padding:0; height:50px; background: #8A87B7; }
header nav ul li.lang a{  display:flex; align-items: center; margin:0; padding:0 30px; color:#FFFFFF; text-decoration:none; font-size: 1.8rem; letter-spacing: 1px; box-sizing: border-box; font-weight: bold; height:20px; border-left: 0;}
header nav ul li.lang.is-active a:before, header nav ul li.lang a:hover:before { display: none;}
header nav ul li.search{ display:flex; align-items: center; margin:0; padding:0; height:50px; background: none; position: relative;}
header nav ul li.search a{  display:flex; align-items: center; margin:0; padding:0;  box-sizing: border-box; font-weight: bold; width:50px; height:50px; border-left: 0; background: url("/g3s/en/common/img/btn_search.jpg") no-repeat center center; text-indent: -9999px;}
form{ position: absolute; top: 50%; left: 50%; transform: translate(-0%,-50%); transition: all 1s; width: 50px; height: 50px;
    box-sizing: border-box; padding: 5px; background:#E8E8E8;
}
input{  position: absolute; top: 0; left: 0; width: 100%; height:50px; line-height: 30px; outline: 0;
     display: none; font-size: 1.3rem; box-sizing: border-box; padding:5px 5px 5px 55px; background:#EFEFEF;
}

.fa{ position: absolute;  top: 0; left: 0; display:flex; align-items: center; margin:0; padding:0;  box-sizing: border-box; font-weight: bold; width:50px; height:50px;
	border-left: 0; background: url("/g3s/en/common/img/btn_search.jpg") no-repeat center center; text-indent: -9999px; }
form:hover{ width: 200px; cursor: pointer; }
form:hover input{ display: block; }
	@media (max-width: 770px){
	header{ display:block; margin:0; padding:0; width:100%; }
	#HeaderInner{display:flex; align-items: center; flex-wrap:wrap; justify-content: flex-start;margin: 0 auto; padding:0 10px; width:100%; box-sizing: border-box;}
	#HeaderInner h3{padding:0; }
	#HeaderInner a.official{display:none; }
	header nav{ display:none;}
	}
	@media (max-width: 400px){
	header{ display:block; margin:0; padding:0; width:100%; }
	#HeaderInner{display:flex; align-items: center; flex-wrap:wrap; justify-content: flex-start;margin: 0 auto; padding:0 10px; width:100%; box-sizing: border-box;}
	#HeaderInner h1{display:block; margin: 0; padding:0; width:55%;}
	#HeaderInner h3{display:block; margin: 0; padding:0; width:20%; }
	#HeaderInner a.official{display:none; }
	header nav{ display:none;}
	}

/***************** Footer *****************/
.returntop{display:block; margin:0 auto; position:fixed; bottom:40px; right: 20px; text-align: right; width:1200px;margin-left:-600px;}
	@media (max-width: 1200px){
	.returntop{display:block; margin:0; position:fixed; bottom:40px; right:20px; text-align: right; width:100%;}
	}

footer{ display:block; margin:0; padding:0; width:100%; background:#F9F9F9; }
#FooterLink{display:block; margin: 0 auto; padding:25px 0 0 0; width:1000px;}
#FooterLink ul{ display:flex; justify-content: center; flex-wrap:wrap; margin:0 0 25px 0; padding:0; width:100%;}
#FooterLink ul li{ display:flex; align-items: center; margin:0; padding:0; height:50px; }
#FooterLink ul li a{  display:flex; align-items: center; margin:0; padding:0 30px; color:#000000; text-decoration:none; font-size: 1.6rem; letter-spacing: 1px; box-sizing: border-box; font-weight: bold; height:20px; border-right: 1px dotted #133480;}
#BlockFooter{display:flex; justify-content: space-between; flex-wrap:wrap; margin: 0 auto; margin-bottom: 20px; padding:0; width:700px;}
#BlockFooterL{display:block; margin: 0 auto; padding:0; width:260px;}
#BlockFooterR{display:block; margin: 0 auto; padding:24px 0 0 0; width:360px;}
#BlockFooterR p{ font-size:1.4rem; font-weight:normal; }
#BlockFooterR a{ color:#133480; font-size:1.4rem; font-weight:normal; text-decoration: underline;}
#FooterCopy{display:block; width:100%; background:#133480; padding:10px 0; text-align: center; color:#FFFFFF; font-size: 1.3rem;}
	@media (max-width: 1000px){
	footer{ display:block; margin:0; padding:25px 0 0 0; width:100%; background:#F9F9F9; }
	#FooterLink{display:none;}
	#BlockFooter{display:block; margin: 0 auto; margin-bottom: 20px; padding:0; width:100%;}
	#BlockFooterL{display:block; margin: 0; padding:0; width:100%; text-align: center;}
	#BlockFooterR{display:block; margin: 0; padding:0; width:100%; text-align: center;}
	#BlockFooterR p{ font-size:1.4rem; font-weight:normal; }
	#BlockFooterR a{ color:#133480; font-size:1.4rem; font-weight:normal; text-decoration: underline;}
	#FooterCopy{display:block; width:100%; background:#133480; padding:10px; text-align: center; color:#FFFFFF; font-size: 1.3rem; box-sizing: border-box;}
	}


/***************** Slider *****************/
#Splash{ display: block; margin:0 auto; margin-bottom: 60px; padding:0; width:100%; position: relative;}
#Splash ul.pc{ display: block; margin:0 0 12px 0; padding:0;}
#Splash ul.sp{ display:none;}
#Splash ul li{ }
	@media (max-width: 1200px){
	#Splash{ display: block; margin:0 auto; margin-bottom: 30px; padding:0; width:100%; position: relative;}
	#Splash ul.pc{ display: block; margin:0 0 12px 0; padding:0;}
	#Splash ul.sp{ display: none;}
}
	@media (max-width: 640px){
	#Splash{ display: block; margin:0 auto; margin-bottom: 30px; padding:0; width:100%; position: relative;}
	#Splash ul.pc{ display:none;}
	#Splash ul.sp{ display: block; margin:0 0 12px 0; padding:0;}
}


/***************** TOP PAGE *****************/
a.scrolldown {
  display: inline-block;
  position: absolute;
  right: 20px;
  bottom: 0;
  z-index: 2;
  padding: 10px 10px 60px;
  overflow: hidden;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
}
a.scrolldown::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 50px;
  background: #fff;
}
a.scrolldown::after {
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
@media screen and (max-width: 640px){
a.scrolldown {
  right: 10px;
  font-size: 12px;
}
}
#BlockBanner01{ display: block; margin:0 auto; margin-bottom:100px; padding:0; width:1000px;}
#BlockBanner01 ul.pc{ display: flex;}
#BlockBanner01 ul.sp{ display: none;}
#BlockBanner01 ul{ display: flex; justify-content: space-between; flex-wrap:wrap; margin:0; padding:0;}
#BlockBanner01 ul li{ display: block; margin:0; padding:0;}
	@media screen and (max-width: 1000px){
	#BlockBanner01{ display: block; margin:0 auto; margin-bottom:50px; padding:0 15px; width:100%; box-sizing: border-box;}
	#BlockBanner01 ul.pc{ display: flex;}
	#BlockBanner01 ul.sp{ display: none;}
	#BlockBanner01 ul{ display: flex; justify-content: center; flex-wrap:wrap; margin:0; padding:0;}
	#BlockBanner01 ul li{ display: block; margin:0 10px 15px 10px; padding:0;}
	}
	@media screen and (max-width: 560px){
	#BlockBanner01{ display: block; margin:0 auto; margin-bottom:50px; padding:0 15px; width:100%; box-sizing:border-box; }
	#BlockBanner01 ul.pc{ display: none;}
	#BlockBanner01 ul.sp{ display: block;}
	#BlockBanner01 ul{ display: block; margin:0 auto; padding:0;}
	#BlockBanner01 ul li{ display: block; margin:0 0 15px 0; padding:0; text-align: center;}
	}

#BlockBanner02 { display:block; margin:0; padding:70px 0; width:100%; background:#FFFFFF; box-sizing:border-box; }
#BlockBanner02 ul{ display:block; margin:0 auto; padding:0 20px; width:1000px; list-style:none; }
#BlockBanner02 ul li{ border:1px solid #CCCCCC; }
#BlockBanner02 ul li:before{
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	height: 3px;
	background: #133480;
  	width: 0;
	transition: .5s all;
}
#BlockBanner02 ul li:hover:before {
	width: 100%;
	transform: scale(1);
}
	@media (max-width: 1000px){
	#BlockBanner02 { display:block; margin:0; padding:20px 0; width:100%; background:#FFFFFF; box-sizing:border-box; }	
	#BlockBanner02 ul{ display:block; margin:0 auto; padding:0 20px; width:100%; list-style:none; text-align:center; }
	#BlockBanner02 ul li{ padding:0 10px; }
	}

#BlockTopics{ display: block; margin:0 auto; padding:0 0 50px 0; width:100%; background: url("/g3s/en/common/img/bg_topics.jpg") repeat-x bottom center;}
#BlockTopics h3{ display: block; margin:0 0 10px 0; padding:0; font-weight: bold; font-size:3.0rem; text-align: center; line-height: 120%;}
#BlockTopics h3 span{ display: block; margin-top: 4px; padding:0; color:#133480; font-weight: bold; font-size:1.4rem; text-align: center;line-height: 120%;}
#BlockTopics .p1{ font-size:1.6rem; text-align: center;padding:0 15px 35px 15px; }
#BlockTopicsInner { display:block; margin:0 auto; padding:0 50px; width:1000px; background:#FFFFFF; }
.tab-button-outer { display: block; }
.tab-select-outer { display: none;  }
#BlockTopicsInner ul{ display:flex; justify-content: center; flex-wrap:wrap; margin:0; padding:0; width:100%; border-bottom: 2px solid #133480;}
#BlockTopicsInner ul li{ display:flex; align-items: center; margin:0; padding:0; height:42px; }
#BlockTopicsInner ul li a{  display:flex; align-items: center; margin:0; padding:0 18px; color:#000000; text-decoration:none; font-size: 1.6rem; letter-spacing: 1px; box-sizing: border-box; font-weight: bold; height:20px; border-left: 1px dotted #133480; position:relative;}
#BlockTopicsInner ul li.list{ display:flex; align-items: center; margin:0; margin-left: auto; padding:0; height:42px; }
#BlockTopicsInner ul li.list a{  display:flex; align-items: center; margin:0; padding:0 30px 0 18px; color:#133480; text-decoration:none; font-size: 1.6rem; letter-spacing: 1px; box-sizing: border-box; font-weight: bold; height:20px; border-left: 0; background: url("/g3s/en/common/img/arrow01.jpg") no-repeat center right;}
#BlockTopicsInner ul li.is-active a:before, #BlockTopics ul li:hover a:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -12px; /*下線の上下位置調整*/
  display: inline-block;
  width: 32px;
  height: 4px; 
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%);
  background-color: #133480; 
}
#BlockTopicsInner ul li.list:hover a:before{  display:none;}
#BlockTopicsInner dl{ display:block; margin:0; padding:28px 0; border-bottom: 2px solid #CECECE;}
#BlockTopicsInner dl:last-child{ display:block; margin:0; padding:28px 0; border-bottom: 0;}
#BlockTopicsInner dl dt{ display:flex; align-items: center; margin:0 0 16px 0; padding:0; font-size: 1.6rem; font-weight: bold; }
#BlockTopicsInner dl dt span{ display:inline-block; margin:0 0 0 10px; padding:2px 2px; min-width:130px; font-size: 1.2rem; font-weight: bold; color:#FFFFFF; letter-spacing: 1px; text-align: center; box-sizing: border-box; }
#BlockTopicsInner dl dt span.cat01{ background: #BB654B; }
#BlockTopicsInner dl dt span.cat02{ background: #D3B42F; }
#BlockTopicsInner dl dt span.cat03{ background: #3389CA; }
#BlockTopicsInner dl dt span.cat04{ background: #8B9150; }
#BlockTopicsInner dl dt span.cat05{ background: #db1971; }
#BlockTopicsInner dl dt span.cat06{ background: #133480; }
#BlockTopicsInner dl dd{ display:block; margin:0; padding:0; font-size: 1.6rem; font-weight: normal; }
	@media (max-width: 1200px){
	#BlockTopics{ display: block; margin:0 auto; padding:0 0 50px 0; width:100%; background: url("/g3s/en/common/img/bg_topics.jpg") repeat-x bottom center;}
	#BlockTopics h3{ display: block; margin:0 0 20px 0; padding:0; font-weight: bold; font-size:3.0rem; text-align: center; line-height: 120%;}
	#BlockTopics h3 span{ display: block;  margin-top: 4px; padding:0; color:#133480; font-weight: bold; font-size:1.4rem; text-align: center;line-height: 120%;}
	#BlockTopicsInner { display:block; margin:0 auto; padding:0 15px; width:100%; background:#FFFFFF; box-sizing: border-box; }
	.tab-button-outer { display: none; }
	.tab-select-outer { display: block;}
		.tab-select-outer select{border:1px solid #133480; width:100%; padding:10px;}
	}

.panel{
  display:none;
}
.panel.is-show{
  display:block;
}




/***************** Contents *****************/
#Container { width:100%; margin: 0 auto; padding:0; text-align:left; }
	@media screen and (max-width: 1200px){
	#Container { width:100%; margin: 0 auto; padding:0; text-align:left; }
	}
#Container2 { width:100%; margin: 0 auto; padding:0; text-align:left; background: url("/g3s/en/common/img/bg_container2.jpg") no-repeat top center; }
	@media screen and (max-width: 900px){
	#Container2 { width:100%; margin: 0 auto; padding:0; text-align:left; }
	}
#Contents{ display: block; margin:0 auto; margin-bottom: 80px; width:900px;}
	@media screen and (max-width: 900px){
	#Contents{ display: block; margin:0 auto; margin-bottom: 80px; width:100%; padding:0 15px;box-sizing: border-box;}
	}

/***************** Title *****************/
#Title { display: flex; align-items: center; width:100%; height:160px; margin: 0 auto; padding:0; background: url("/g3s/en/common/img/bg_title.jpg") no-repeat bottom center #133480; }
#Title h2{ width:100%; margin: 0 auto; padding:0;; text-align: center; color:#FFFFFF; font-size:3.0rem; font-weight:bold; letter-spacing: 2px; }
	@media (max-width: 1000px){
	#Title { display: flex; align-items: center; width:100%; height:120px; margin: 0 auto; padding:0; background: url("/g3s/en/common/img/bg_title.jpg") no-repeat bottom center #133480; }
	#Title h2{ width:100%; margin: 0 auto; padding:0;; text-align: center; color:#FFFFFF; font-size:2.6rem; font-weight:bold; letter-spacing: 2px; }
	}

/***************** Breadcurmb *****************/
#Breadcrumb { display: block; width:900px; margin: 0 auto; padding:20px 0; text-align: right; font-size: 1.4rem; font-weight:normal; box-sizing: border-box; }
#Breadcrumb a{ text-decoration: none; color:#133480; font-weight: bold; }
#Breadcrumb a:hover{ text-decoration: underline; }
	@media screen and (max-width: 900px){
	#Breadcrumb { display: block; width:100%; margin: 0 auto; padding:20px 15px; text-align: right; font-size: 1.4rem; font-weight:normal; box-sizing: border-box; }
	#Breadcrumb a{ text-decoration: none; color:#133480; font-weight: bold; }
	#Breadcrumb a:hover{ text-decoration: underline; }
	}

/***************** Subnav *****************/
#Contents nav{ display:block; background:#F0F0F2; width:100%; margin: 0 0 100px 0; }
#Contents nav ul{ display:flex; justify-content: flex-start; flex-wrap:wrap; width:900px; padding:30px 40px 0 40px; box-sizing: border-box;  }
#Contents nav ul li{ display:block; width:205px; margin-bottom: 30px; }
#Contents nav ul li a{ display:block; padding:0 10px 0 30px; font-size: 1.6rem; color:#133480; font-weight:bold; text-decoration: none; background: url("/g3s/en/common/img/arrow02.jpg") no-repeat top 5px left; }
#Contents nav ul li a:hover{ text-decoration: underline; }
	.anchor-selector-outer{ display: none;}
	@media screen and (max-width: 700px){
	#Contents nav{ display:block; background:#F0F0F2; width:100%; margin: 0 0 50px 0; }
	#Contents nav ul{ display:none; }
	.anchor-selector-outer{ display: block;}
	.anchor-selector-outer select{border:1px solid #133480; width:100%; padding:10px;}
}

#Contents h2{ display:block; margin:0 0 20px 0; padding:0 0 16px 0; color:#000000; font-size:2.4rem; font-weight:bold; position: relative;}
#Contents h2:before {
  content: '';
  position: absolute;
  bottom: 0; /*下線の上下位置調整*/
  display: inline-block;
  width: 120px;
  height: 4px; 
  background-color: #133480; 
}
#Contents h3{ display:block; margin:40px 0 20px 0; padding:0 0 0 14px; color:#000000; font-size:2.0rem; font-weight:bold; border-left:4px solid #133480; line-height: 2.4rem;}
#Contents h4{ display:inline-block; margin:30px 0 10px 0; padding:3px 5px; color:#000000; font-size:2.0rem; font-weight:bold; background:#F0F0F2;}
#Contents h5{ display:inline-block; margin:0 0 14px 0; padding:0; color:#000000; font-size:2.0rem; font-weight:bold; }
#Contents p{ display:block; margin-bottom: 1.6em; padding:0; color:#000000; font-size:1.6rem; font-weight:normal;}
#Contents .p_mb0{ margin-bottom: 0em;}
	@media screen and (max-width: 900px){
	#Contents h2{ display:block; margin:0 0 30px 0; padding:0 0 20px 0; color:#000000; font-size:2.4rem; font-weight:bold; position: relative;}
	#Contents h2:before {
	  content: '';
	  position: absolute;
	  bottom: 0; /*下線の上下位置調整*/
	  display: inline-block;
	  width: 120px;
	  height: 4px; 
	  background-color: #133480; 
	}
	#Contents h3{ display:block; padding:0 0 0 14px; color:#000000; font-size:2.0rem; font-weight:bold; border-left:4px solid #133480; line-height: 2.4rem;}
	#Contents h4{ display:inline-block; padding:3px 5px; color:#000000; font-size:1.8rem; font-weight:bold; background:#F0F0F2;}
	#Contents h5{ display:inline-block; margin:0 0 14px 0; padding:0; color:#000000; font-size:1.6rem; font-weight:bold; }
	#Contents p{ display:block; padding:0; margin: 0; color:#000000; font-size:1.4rem; font-weight:normal;}
	}

.blocktxt { display: block; width:100%;margin: 0 0 100px 0; padding:0; }
.blocktxt ul{ display:block; margin:0; padding:0; box-sizing: border-box; list-style: disc inside; }
.blocktxt ul li{ display:list-item; margin:0 0 10px 0; padding:0 0 0 2.4rem; text-indent:-2.4rem;  color:#000000; font-size:1.6rem; font-weight:normal; }
.blocktxt ul.listlink{ display:inline-block; margin:0; padding:0; box-sizing: border-box; list-style: none; }
.blocktxt ul.listlink li{ display:block; min-height:22px; margin:0 0 15px 0; padding:0 26px 0 0; text-indent:0;  color:#000000; font-size:1.6rem; font-weight:bold; }
.blocktxt ul.listlink li a{ color:#133480;text-decoration: underline;}
.blocktxt ul.listlink li a:hover{ color:#133480;text-decoration: none;}
.external:after { content: ""; background: url("/g3s/en/common/img/icon_external.svg") no-repeat center right; display: inline-block; width: 16px; height: 15px; vertical-align: middle; margin-left: .2em;}
.pdf:after { content: ""; background: url("/g3s/en/common/img/icon_pdf.svg") no-repeat center right; display: inline-block; width: 17px; height: 16px; vertical-align: middle; margin-left: .2em;}
.word:after { content: ""; background: url("/g3s/en/common/img/icon_word.svg") no-repeat center right; display: inline-block; width: 17px; height: 16px; vertical-align: middle; margin-left: .2em;}
.xsl:after { content: ""; background: url("/g3s/en/common/img/icon_xsl.svg") no-repeat center right; display: inline-block; width: 17px; height: 16px; vertical-align: middle; margin-left: .2em;}
	@media screen and (max-width: 900px){
	.blocktxt { display: block; width:100%;margin: 0 0 80px 0; padding:0; }
	.blocktxt ul{ display:block; margin:0; padding:0; box-sizing: border-box; list-style: disc inside; }
	.blocktxt ul li{ display:list-item; margin:0 0 10px 0; padding:0 0 0 2.0rem; text-indent:-2.0rem;  color:#000000; font-size:1.4rem; font-weight:normal; }
	.blocktxt ul.listlink{ display:inline-block; margin:0; padding:0; box-sizing: border-box; list-style: none; }
	.blocktxt ul.listlink li{ display:block; min-height:22px; margin:0 0 15px 0; padding:0 26px 0 0; text-indent:0;  color:#000000; font-size:1.4rem; font-weight:bold; }
	.blocktxt ul.listlink li a{ color:#133480;text-decoration: underline;}
	.blocktxt ul.listlink li a:hover{ color:#133480;text-decoration: none;}
	}

.blocktxt2 { display: flex; justify-content:space-between; flex-wrap:wrap; margin: 0 0 40px 0; padding:0; }
.blocktxt2L { display: block; margin: 0; padding:0; width:540px; }
.blocktxt2R { display: block; margin: 0; padding:0; width:330px; }
	@media screen and (max-width: 900px){
	.blocktxt2 { display: block; margin: 0 0 40px 0; padding:0; }
	.blocktxt2L { display: block; margin: 0 0 20px 0; padding:0; width:100%; }
	.blocktxt2R { display: block; margin: 0; padding:0; width:100%; }
	}
.blocktxt3 {padding-top: 20px;}
.tbl01 { width: 100%;}
.tbl01 tr{ width: 100%;background: #FFFFFF;}
.tbl01 th { padding: 8px 15px; background: #133480; font-weight:bold; font-size:1.6rem; color:#FFFFFF; text-align: center; border: solid 1px #cecece;}
.tbl01 td { padding: 8px 15px; font-size:1.6rem; color:#000000; border-top: solid 1px #cecece; border-bottom: solid 1px #cecece; border-left: solid 1px #cecece;
 border-right: solid 1px #cecece;}
	@media (max-width: 600px){
	.tblwrap { width: 100%; overflow:scroll;}
	.tblwrap table{ width: 600px; overflow:scroll;}
	}

.tbl01_1 th:nth-child(1) {width: 35% !important; }
.tbl01_1 th:nth-child(2) {width: 25% !important; }
.tbl01_1 th:nth-child(3) {width: 15% !important; }
.tbl01_1 th:nth-child(4) {width: 25% !important; }

.tbl01_2 .td1 {width: 25% !important; }
.tbl01_2 .td2 {width: 25%; padding-left: 100px; }
.tbl01_2 .td3 {width: 50% !important; }

.tbl01_3 .td1 {width: 20% !important; }
.tbl01_3 .td2 {width: 80% !important; }

#Contents ol{
    font-size: 1.6rem;
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
}
#Contents ol ol{
  padding-left: 1em;
}
#Contents ol li{
  text-indent: -1.3em;
  padding-left: 1.3em;
}
#Contents ol li:before {
  counter-increment: item;
  content: counter(item)'.';
  padding-right: .5em;
  font-weight: bold;
  color: #133480;
}
/***************** features *****************/
.features #Contents dl,.education #Contents dl{ color: #000000; font-size: 1.6rem; font-weight: normal; margin-bottom: 1.6em;}
.features #Contents dt,.education #Contents dt{ float: left;  font-weight: bold;}
.features #Contents dd,.education #Contents dd{ margin: 0 0 1em 100px;}
.features #Contents td, th ,.education #Contents td,th{width: 30px;}

.panel-group{ display:flex; justify-content: center; flex-wrap:wrap; margin:0; padding:0; width:100%; border-top: 2px solid #133480;min-height: 300px;}

