@charset "utf-8";
/* CSS Document */
/* ver1.0 */

@font-face {
    font-family:'geomanistregular';
    src: url('../font/geomanist-regular-webfont.eot');
    src: url('../font/geomanist-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('../font/geomanist-regular-webfont.woff2') format('woff2'),
         url('../font/geomanist-regular-webfont.woff') format('woff'),
         url('../font/geomanist-regular-webfont.ttf') format('truetype'),
         url('../font/geomanist-regular-webfont.svg#geomanistregular') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}

html{ 
    height: 100%;
} 

body {
	color: #383838;
	font-family:YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
/*	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
*/	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 1px;
	height: 100%;
	min-width: 100%;
        overflow-x: hidden;
	word-wrap: break-word;
	word-break:break-all;
}

body > .container {
	height: auto;
}

.wrapper {
	margin: 0 auto;
	margin: 0 auto;
	min-width: 100%;
	padding: 0 5%;
	box-sizing: border-box;
}

.wrapper-middle {
	margin: 0 9%;
	width: 82%;
}

a {
	color: #333;
}

#js-gnav-layer {
	display: none;
}

/* --------------------------------------------------------- 
  Header
---------------------------------------------------------- */

.header {
	margin: 0 auto;
	height: 73px;
	background: #2D3033;
}

.logo {
    margin: 12px 0 10px 8px;
    float: left;
    width: 100%;
}

.logo_screen {
	display: block;
}

.logo_print {
	display: none;
}

.logo img{
	width: 250px;
}

.logo_en {
	width: 220px !important;
}

.header-list {
	margin: 0;
	float: right;
}

.header-list li {
	padding: 0 9px 2px 9px;
	font-size: 10px;
	float: left;
	list-style: none; 
}

.header-list li a {
	text-decoration: none;
	color: #fff;
}

.header-list li:before {
    position: relative;
    top: 4px; 
    left: -5px;
	background-size: 13px;
	display: inline-block;
	height: 13px;
	width:13px;
}

.head-inner, #Gnav {
	display: none;
}

.header-contact, .header-languages {
	background: url(../img/dot_height.png) no-repeat right center;
}
.header-corporate {
	margin-top: 2px;
	background: url(../img/dot_height.png) no-repeat right center;
}
.header-languages:before {
	content: "";
	background: url(../svg/icon_earth_wh.svg) no-repeat center center;
}

.header-contact:before {
	content: "";
	background: url(../svg/icon_mail_wh.svg) no-repeat center center;
}

.header-search {
	margin: 6px 0 5px 0;
	background: url(../svg/icon_search_wh.svg) no-repeat center center;
	background-size: 13px;
	cursor: pointer;
	display: inline-block;
	float: left;
	height: 13px;
	width:13px;
}

/*-------------
    検索
-------------*/
div#search-box {
	float:left;
	width:230px;
    position:relative;
	z-index: 100;
	display: none;
}

.menu-btn {
	background: #007bbd;
	border-radius: 2px;
	color: #fff;
	font-size: 11px;
	padding: 3px 5px 3px 5px;
	position: absolute;
	right: 12px;
	top: 12px;
	text-decoration: none;
}
/*-------------------------
googleカスタム検索入力
--------------------------*/
#gsc{
    width:210px;
    margin:0 auto;
    position:relative;
}
#gsc .gsc-control-cse, 
#gsc .gsc-control-cse-ja,
#gsc .gsib_a{
    margin:0 !important;
    padding:0 !important;
}
/* テキスト入力フォームとボタンの位置 */
#gsc table.gsc-search-box td,
#gsc table.gsc-search-box input {
    vertical-align:top !important;
}
/* テキスト入力フォーム */
#gsc input[type="text"]{
    border: 1px solid #999 !important;
	padding-left:3px !important;
    height:25px !important;
	font-size:90%;
}
#gsc input[type="text"]:focus {
    border: 1px solid #999 !important;
	padding-left:3px !important;
    outline: 0;  /*safariの自動フォーカスを切る */
	font-size:90%;
}
/* テキスト入力フォームの影を消す */
#gsc #gsc-iw-id1{
    border:none !important;
}
/* テキスト入力フォームの背景画像位置調整 */
#gsc #gs_tti0 input{
    background-position:5px 5px !important;
}
/* ボタンの色 */
#gsc input.gsc-search-button {
	background: #c1c1c1 !important;
	background: -ms-linear-gradient(top, #999 0%,#999 100%); /* IE10+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#999', endColorstr='#999',GradientType=0 ); /* IE6-9 */
	border: 1px solid #999 !important;
}
/* ボタンの位置調整と角丸消し */
#gsc .gsc-search-button{
    margin:0 0 0 -16px !important;
    border-radius:0;
}
/* 入力時に出る「×」ボタンの位置調整 */
#gsc .gsib_b a{
    position:absolute;
    top:3px;
    left:120px;
}
/* 入力時に出る×ボタン -- Firefox位置調整 -- */
#gsc .gsib_b span{
        box-sizing: border-box;
   -moz-box-sizing: border-box;
        padding:2px 0 0 0;
}
.gsst_a .gscb_a {
	color:#0E8592 !important;
}

table.gsc-search-box {
	margin-bottom: 0 !important;
}

form.gsc-search-box {
	margin-bottom: 0 !important;
	height: 15px;
}

.cse .gsc-control-cse, .gsc-control-cse {
	padding: 0 !important;
}

table.gsc-search-box td {
	padding: 0 !important;
}

.gsc-input-box {
	height: 20px!important;
}

.cse .gsc-search-button input.gsc-search-button-v2, input.gsc-search-button-v2 {
	width: auto !important;
    height: 10px !important;
    min-width: 0px !important;
    padding: 6px 20px !important;
    margin-top: 0 !important;
	margin-left: 3px !important;
}

input.gsc-input {
	font-size: 14px !important;
}

.gsc-input {
    background: none !important;
}

input.gsc-input::-webkit-input-placeholder {
	color: #fff !important;
}
input.gsc-input:-ms-input-placeholder {
	color: #fff !important;
}
input.gsc-input::-moz-placeholder {
	color: #fff !important;
}

/*------------------------------
googleカスタム検索入力(ここまで)
-------------------------------*/

/* --------------------------------------------------------- 
  main
---------------------------------------------------------- */

.main {
	margin: 0 auto;
	clear: both;
	height: 100%;
	width: 100%;
}

.main-2colmun {
	margin: 0 auto;
	padding: 0 3%;
	box-sizing:border-box;
	clear: both;
	height: 100%;
	width: 100%;
}

.main-left, .main-left, .side-right, .side-right {
	float: none;
	width: 100%;
}

.main-left {
	background: #fff;
}

.main-right {
	background: #fff;
}

.main-wrapper {
	margin: 5% 3%;
	font-size: 14px;
	line-height: 1.7;
}
.side-menu aside{
	background: #f3f5f6;
}

.main-side {
	background: #fff;
	float: right;
	width: 72%;
}

.main-img img{
	width: 100%;
}

/**/
.top-area {
	padding: 20px 0 0 0;
}

.top-area-p {
	padding: 0 25px;
}

.top-area-box {
	margin: 5%;
	float: left;
	width: 40%;
}

/*--- topic-path ---*/
.topic-path {
	padding: 8px 0 0 0;
	margin: 0 auto;
	font-size: 10px;
	width: 90%;
}

.topic-path a {
	text-decoration: none;
}

/*--- top-right ---*/
.top-right {
	padding: 0 0 10px 0;
	float: right;
}

.readspeaker {
        margin-right: 20px;
        display: inline-block;
        flat: left;
}

.top-right .print{
	padding: 0 20px;
	background: url(../img/icon_print.png) left center no-repeat;
	color: #000;
	font-size: 11px;
	float: right;
	text-decoration: none;
        display: none;
}

/*--- h1 ---*/

.main-visual {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    color: #FFF;
    text-align: center;
    font-weight: bold;
    font-size: 15px;
	height: 100px;
    line-height: 1.7;
    z-index: 110;
    top: 0;
}

.main-visual-inner {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    position: relative;
    z-index: 5;
    top: 20%;
}

.main-h1 {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	font-size: 17px;
	text-shadow: 0px 0px 5px rgba(255,255,255,0.5);
}

.head-area {
	padding: 0px 50px 20px 50px;
	border-bottom: 5px solid #0075c2;

}

.main-h1-content {
	font-size: 18px;
	text-align: center;
	font-weight: bold;
}

.corporate-main-img {
	background: url(../img/main-img_corporate.jpg) 50% 50% no-repeat;
	background-size: auto;
}

.csr-main-img {
	background: url(../img/main-img_csr.jpg) 50% 50% no-repeat;
	background-size: cover;
}

.main-text {
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
    font-size: 10px;
    font-weight: normal;
}

.side-content {
	margin: auto 2%;
}

.side-content .h3-deco {
	margin-left :5px;
}

/* --------------------------------------------------------- 
  footer
---------------------------------------------------------- */
.footer:before {
	content:"";
	background: url(../img/footer_bg_gr.png) left top repeat-x;
	display:inline-block;
	position: relative;
	top: -30px;
	width:100%;
	height:30px;
	z-index: 50;
}

.footer {
	margin-top: 50px;
	background: #2D3033;
	color: #f5f5f5;
}


.footer-sns-area {
	margin: 0 0 30px 0;
	width: 100%;
}

.sns {
	margin-right: 10px;
	float: right;
}

.sns li {
    margin: 0 8px;
    float: left;
}

.sns li a {
	display: block;
    height: 18px;
    width: 18px;
}

.sns-fb a{
	background: url(../svg/icon_fb.svg) no-repeat center center;
	background-size: 18px;
}

.sns-tw a{
	background: url(../svg/icon_tw.svg) no-repeat center center;
	background-size: 18px;
}

.sns-gp a{
	background: url(../svg/icon_gp.svg) no-repeat center center;
	background-size: 18px;
}

.sns-line a{
	background: url(../svg/icon_line.svg) no-repeat center center;
	background-size: 18px;
	height: 32px;
	width: 32px;
}

.sns-in a{
	background: url(../svg/icon_in.svg) no-repeat center center;
	background-size: 18px;
	height: 32px;
	width: 32px;
}

.sns-yt a{
	background: url(../svg/icon_yt.svg) no-repeat center center;
	background-size: 18px;
	height: 32px;
	width: 32px;
}

.fill {
	fill: #fff;
}


.footer-sitemap {
	margin: 43px auto 20px auto;
	width: 95%;
}

.footer-sitemap:after {
	  content: ""; 
	  display: block; 
	  clear: both;
	}

.footer-sitemap ul{
	margin-bottom: 20px;
	display: none;
}

.footer-sitemap li{
	margin: 5px 0 0 5px ;
	margin-top: 5px;
	font-size: 13px;
}

.footer-sitemap li a{
	color: #fff;
	text-decoration: none;
}

.footer-2col{
	padding: 0 2%;
	float:left;
	width: 100%;
}

.footer-2col-ul {
	float: left;
	width: 50%;
	min-height: 300px;	
}

.footer-col{
	padding: 0 2%;
	float: left;
	width: 100%;
}

.fotter-title {
	padding: 0 5px 8px 5px;
	margin-bottom: 0px;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
}

.fotter-title a {
	color: #fff;
	text-decoration: none;
}

.footer-sub {
	font-size: 13px !important;
	font-weight: bold;
}

.footer-sub:before {
	margin-right: 3px;
	content: "?";
}

.footer-bottom {
	margin: 0 auto;
	clear: both;
	font-size: 13px;
	width: 100%;
	text-align: center;
}

.footer-bottom-link {
	padding: 20px 0;
	margin: 0 auto 30px auto;
	border-top: 1px solid #dcdcdc;
	border-bottom: 1px solid #dcdcdc;
	width: 90%;
}

.footer-bottom ul {
	padding: 0;
	margin: 0 auto;
}

.footer-bottom li {
	margin: 0 10px;
	float: left;
}
.footer-bottom li a{
	color: #fff;
	text-decoration: none;
}

.footer-logo {
	clear: both;
	text-align: center;
	margin-bottom: 25px;
        width: 80px;    
	display: inline-block;
}

.footer-logo_print {
	display: none;
}

.copyright {
	padding-bottom: 40px;
	font-size: 15px;
	text-align: center;
}


/*--- page-top ---*/
.gotop{
	padding-top:10px;
    width: 40px;
    height: 40px;
    display: block;
	background:url(../img/pagetop.png) no-repeat;
	margin-bottom:5px;
	text-decoration: none;
    position: fixed;
    right: 0;
    bottom: 15px;
	z-index:200;
}

/* --------------------------------------------------------- 
  news
---------------------------------------------------------- */
.news h2 {
	margin: 7px 0 10px 8px;
	float: left;
	font-family: 'geomanistregular';
    -ms-font-feature-settings: "normal";
	font-weight: bold;
	font-size: 20px;
	letter-spacing: 0px;
}
.news h2 span.h2-en {
	display: none;
}

.news h2 span.h2-jp {
	padding: 8px 0 0 0;
	display: block;
	float: right;
	font-family:  YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 1px;	
}

.news h2:before {
	content: "";
    position: relative;
	display: inline-block;
	height: 25px;
	width:25px;
	background-size: 25px 25px;
    top: 8px;
    left: -5px;
}

.h2-news:before {
	background: url(../svg/icon_airplane.svg) no-repeat left center;
}

.h2-info:before {
	background: url(../svg/icon_info.svg) no-repeat left center;
}

.news-detail {
	margin-bottom: 15px;
	border-top : 1px solid #ececec;
	clear: both;
}

.news-detail li {
	padding: 10px;
	background: url(../img/dot_width.png) no-repeat left bottom;
	box-sizing: border-box;
}

.news-detail li a {
	display: block;
	height: 100%;
	text-decoration: none;
	width: 100%;
}

.news-detail li a:after {
  content: ""; 
  display: block; 
  clear: both;
}

.news-date {
    color: #007bbd;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.7px;
	padding: 0 0 0 0;
}

.news-title {
	margin-top: 1px;
	color: #555;
	font-size: 12px;
	font-weight: bold;
}

.news-text {
	margin-top: 5px;
	color: #777;
	font-size: 12px;
}

.news-all-img {
	margin: 0 12px 2px 0;
	float: left;
	width: 28%;
}

.news-all-img img{
	margin-top: 5px;
	width: 100%
}

/*--- news-list ---*/
.news-list {
	padding: 0 6%;
	margin-bottom: 40px;
	clear: both;
}

.news-list div a{
	padding: 25px;
	display: block;
	height: 100%;
	text-decoration: none;
}

.news-list div a:after{
  content: ""; 
  display: block; 
  clear: both;
}

.news-list div{
	background: url(../img/dot_width.png) no-repeat left bottom;
}

.news-date-list {
	margin: 0 15px 0 0;
    color: #007bbd;
	font-size: 14px;
	font-weight: bold;
	line-height: 2;
	padding: 0 0 3px 0;
}

.news-title-list {
	font-size: 15px;
	font-weight: bold;
}

/*--- article ---*/

.head-area-article {
	clear:both;
	padding: 0 0 10px 0;
	border-bottom: 5px solid #0075c2;
}
.head-area-article:after, .head-article:after {
	content: ""; 
	display: block; 
	clear: both;
}
.head-article {
	margin: 0 auto;
	padding: 0 15px;
}

.article-page-date {
	margin: 10px 10px 8px auto;
    color: #0075c2;
    font-size: 14px;
    font-weight: bold;
    text-align: right;
    max-width: 1000px;
}

.main-h1-article {
	padding: 0 5px;
	margin: 5px 0 10px 0;
	font-size: 20px;
	font-weight: bold;
	float: left;
	text-align: left;
	letter-spacing: 0.8px;
	line-height: 1.4;
	max-width: 880px;
}

.article-sub-title {
	margin-left: 5px;
	clear: both;
	font-size: 13px;
	float: left;
}

.article-area {
    padding: 30px 60px 50px 60px;
    background: #fff;
    max-width: 940px;
    margin: 0 auto 50px auto;
	padding: 0 3%;
	box-sizing: border-box;
}

.article-area p {
	margin: 10px 0 15px 5px;
	font-size: 15px;
	line-height: 1.8;
}

.article-area img{
	width: 100% !important;
}

.article-area a img {
}

.article-main {
	float: left;
}

.article-aside {
	box-sizing: border-box;
	float: right;
	width: 220px;
}

.article-aside-content {
	padding: 10px 15px;
	margin-bottom: 25px;
    border: 2px solid #e2e2e2;
}

.article-aside-box {
	padding: 10px 0;
	border-top: 1px dashed #ccc;
	line-height: 1.5;
}


.article-aside h4 {
    padding: 0 0 0 18px;
    background: url(../svg/arrow_bl_rt_min.svg) no-repeat left top 3px;
	color: #555;
	font-size: 12px;
	font-weight: bold;
}


/*--- article-page-list ---*/
.article-page-list {
	padding: 0 5%;
	margin: 0 auto;
	clear: both;
}

.article-page-list div a{
	padding: 10px 0 10px 10px;
	display: block;
	float: left;
	height: 100%;
	text-decoration: none;
}

.article-pdf {
	float: left;
	font-size: 12px;
	text-align: center;
	width: 80px;
}
.article-pdf a{
	padding: 15px 0 !important;
	line-height: 1.5;
}

.article-page-list div a:after, .article-page-list div:after{
	content: ""; 
	display: block; 
	clear: both;
}

.article-page-list div{
	background: url(../img/dot_width.png) no-repeat left bottom;
}

.article-date-list {
	margin: 0 20px 0 0;
    color: #007bbd;
	display:block;
	font-size: 12px;
	float: left;
	font-weight: bold;
	line-height: 2;
}

.article-title-list {
	font-size: 13px;
	font-weight: bold;
    float: left;
}

.article-left-list {
	float: right;
	text-align:right;
	width: 110px;
}

.print-pdf {
	padding: 0 15px !important;
	float: right;
	font-size: 11px;
	text-align: center;
}

.print-pdf img{
	padding-bottom: 2px;
}

/*--- article-contact ---*/

.article-contact {
	margin: 30px auto;
	font-size: 13px;
    line-height: 1.7;
	width: 95%;
}

.article-contact h4 {
	margin: 0 0 25px 0;
	padding: 0 10px;
	border-left: 8px solid #007bbd;
	font-size: 17px;
	font-weight: bold;
}

.article-contact h5 {
	margin: 25px 0 10px 0;
	color :#007bbd;
	font-size: 13px;
	font-weight: bold;
}

.article-contact ul {
	margin: 0 0 20px 0;
}

.article-contact-btn {
    margin: 20px 0 60px 10px;
    padding: 8px 0 8px 50px;
    background: url(../svg/icon_mail_wh.svg) no-repeat left 15px center #007bbd;
    border-radius: 3px;
    color: #fff;
    display: block;
    font-size: 16px;
    text-decoration: none;
	transition: .3s;
    width: 140px;
}

.article-contact-btn:hover {
	background-color: #28a3e5;
	color: #fff;
}

.article-contact i {
	margin-right: 3px;
    background: url(../svg/icon_mail_min.svg) no-repeat left center;
	display: inline-block;
	height:12px;
	width: 20px;
}

/*--- tab ---*/

#tab-content {
	padding: 0 2%;
	width: 96%
}

.tab-navi {
	margin: 10px 0;
	float: right;
	font-size:11px;
}

.tab-navi a{
	float:left;
}

.tab-nav-all {
	margin: 1px 10px 0 15px;
}

/*--- category ---*/
*[class*="cat-news"] {
    margin-left: 15px;
    display: inline-block;
    color: #000;
    font-size: 10px;
	font-weight: normal;
	line-height: 1.7;
	width: 60px;
    text-align: left;
}

/*
.cat-news-release {
	background: #8fc31f;
}

.cat-news-info {
	background: #00b7ee;
}

.cat-news-ir {
	background: #ff8100;
}
*/

/* --------------------------------------------------------- 
  category-index
---------------------------------------------------------- */
.link-item a {
	padding: 5px 20px;
	margin: 40px 20px 10px 20px;
	border: 1px solid #dfdfdf;
	border-radius: 4px;
	box-sizing: border-box;
	float: left;
	height: 190px;
	width: 360px;
}

.link-item-img {
	margin: 12px 10px 0 0;
	float:left;
}

.link-item p {
	margin: 7px 0 0 0;
	font-size: 13px;
}

.btn-blue-line {
	position: relative;
	display: inline-block;
	padding: .9em 3.6em;
	border: 1px solid #dfdfdf;
	text-decoration: none;
	outline: none;
	transition: all .2s;
}

.btn-blue-line::before,
.btn-blue-line::after {
	position: absolute;
	z-index: 2;
	content: '';
	width: 0;
	height: 0;
	border: 1px solid transparent;
	border-radius: 4px;
}

.btn-blue-line::before {
	top: -1px;
	left: -1px;
}

.btn-blue-line::after {
	bottom: -1px;
	right: -1px;
}

.btn-blue-line:hover {
	color: rgba(0,0,0,0.6);
}

.btn-blue-line:hover::before,
.btn-blue-line:hover::after {
	width: 100%;
	height: 100%;
}

.btn-blue-line:hover::before {
	border-bottom-color: #73bbe0;
	border-left-color: #73bbe0;
	transition: height .2s, width .2s .2s;
}

.btn-blue-line:hover::after {
	border-top-color: #73bbe0;
	border-right-color: #73bbe0;
	transition: height .2s, width .2s .2s;
}

@media screen and (max-width: 1300px){
	
.link-item a{
	padding: 5px 10px;
	margin: 40px 2% 10px 2%;
	box-sizing: border-box;
	max-width: 46%;
}

}


@media screen and (max-width: 800px){
	
.link-item a {
	max-width: none;
	width: 95%;
}
}

/* --------------------------------------------------------- 
  btn
---------------------------------------------------------- */

.btn-std {
	padding: 5px 7px;
	background: #007bbd;
	border-radius: 2px;
	color: #fff;
	display: inline-block;
	text-decoration: none;
}

.btn-simple-right, .btn-simple-bottom {
    padding: 5px 20px 5px 8px;
    margin-right: 0 auto;
    border: 2px solid #dfdfdf;
    border-radius: 1000px;
    display: inline-block;
    font-size: 11px;
    font-weight: bold;
    text-decoration: none;
}

.btn-simple-right{
	background: url(../svg/arrow_bl_rt_min.svg) no-repeat right 10px center;
}

.btn-simple-bottom {
	background: url(../img/arrow_bl_btm_min.png) no-repeat right 5px center;
}


.btn-blue {
	padding: 8px 15px;
	background: #005b97;
	border-radius: 2px;
	color: #fff;
	font-size:12px;
	display: inline-block;
	text-decoration: none;
}

.btn-gray {
	padding: 7px 15px;
	margin: 0 auto;
	background: #323333;
	border-radius: 2px;
	color: #fff;
	font-size:13px;
	text-decoration: none;
	text-align: center;
}

.hr-gray25 {
    margin: 20px 2%;
    background: #dfdfdf;
    display: block;
    height: 15px;
    width: 94%;
}

.btn-wrap {
	margin: 20px auto;
	text-align: center;
	clear: both;
}

/* --------------------------------------------------------- 
  h1-h5
---------------------------------------------------------- */

.h2-normal {
	margin: 18px auto;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	line-height: 0.9;
}

.h2-normal span {
	font-size: 10px;
}

.h3-deco {
	margin: 10px 0;
	float: left;
	font-family: 'geomanistregular';
	font-size: 26px;
}

.h3-deco span.deco-en {
	display: none;
}

.h3-deco span.deco-jp {
	padding: 0 ;
	display: block;
	float: right;
	font-family:  YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
	font-weight: bold;
}

.h3-std-ja {
	margin: 20px 0;
	float: left;
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
	font-size: 22px;
}

.h3-side-nav {
	padding: 0 2px;
	margin: 25px 15%;
	color: #000;
	font-size: 21px;
}

.h4-arrow-blue {
	padding: 7px 0 5px 25px;
	background: url(../svg/arrow_bl_rt.svg) no-repeat left center;
	font-size: 15px;
	font-weight: bold;
}


/*--- default-page ---*/

.h2-std {
	padding: 0 0 3px 1px;
	margin-top: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #979899;
	color: #323333;
	clear: both;
	font-size: 15px;
	font-weight: bold;	
}

.h3-std {
	margin: 30px 0 20px 0;
	padding: 2px 8px;
	background: #323333;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
}
.h4-std {
	margin: 30px 0 10px 0;
	padding: 1px 6px;
	background-color: #f6f6f6;
	background-position: left bottom;
	border-bottom: 1px dotted #666;
	color: #444;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.7;
}


/* --------------------------------------------------------- 
  tabel
---------------------------------------------------------- */

/*--- news-table ---*/
.h3-table {
	margin: 40px 0 15px 0;
	font-size: 18px;
	font-weight: bold;	
}


/* --------------------------------------------------------- 
  tabel
---------------------------------------------------------- */
.tbl-std {
	margin: 10px 0;
	border-top: 2px solid #ececec;
}

.tbl-std th,
.tbl-std td {
	padding: 7px 0;
	background: url(../img/dot_width.png) no-repeat left bottom;
	border-top: none;
	font-size: 13px;
}

table.tbl-std {
	margin-left:10px !important;
	display: block;
	max-width: 95%;
	overflow-x: auto;
	table-layout: fixed;
}

table.tbl-std th,table.tbl-std td {
	white-space: nowrap !important;
}

.tbl-std th, .tbl-normal th {
	padding-right: 20px;
	color: #007bbd;
	font-weight: bold;
	vertical-align: top;
}

table.tbl-std ::-webkit-scrollbar {
  height: 5px;
}

table.tbl-std ::-webkit-scrollbar-track {
  border-radius: 5px;
  background: #eee;
}

table.tbl-std ::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #666;
}

.tbl-normal {
	margin: 0;
	border-top: 2px solid #ececec;
	width:100% ;
}

.tbl-normal th,
.tbl-normal td {
	padding: 7px 0;
	background: url(../img/dot_width.png) no-repeat left bottom;
	width: 100% ;
	display: block;
	border-top: none;
}

.tbl-col {
	margin: 0 0 50px 0;
	border-top: 1px solid #ddd;
}

.tbl-col th, .tbl-col td{
	padding: 15px 10px;
	border-bottom: 1px solid #ddd;
}

.tbl-col th{
	padding-right: 20px;
	color: #007bbd;
	font-weight: bold;
}

.tbl-std-border {
	margin: 0 0 50px 0;
	border: 2px solid #ececec;
}

.tbl-std-border th, .tbl-std-border td {
	padding: 15px 10px;
	border: 1px solid #ececec;
}

.tbl-std-border th {
	padding-right: 20px;
	vertical-align: top;
	transition: .2s;
}

.tbl-th-light-aqua {
	margin: 0 0 50px 0;
	clear: both;
	width: 100%;
}

.tbl-th-light-aqua th {
	background: #F0F6FC;
}

.tbl-th-light-aqua th, .tbl-th-light-aqua td{
	padding: 15px 10px;
	border: 1px solid #ececec;
	vertical-align: top;
}

table.tbl-slide {
	margin-left:10px !important;
	display: block;
	max-width: 95%;
	overflow-x: auto;
	table-layout: fixed;
}

table.tbl-slide th,table.tbl-slide td {
	white-space: nowrap !important;
}


table.tbl-slide th, table.tbl-slide td {
	margin: 0;
	padding: 8px 10px;
	border-collapse: collapse;
	border-spacing:0;
	font-size: 13px !important;
}


/* --------------------------------------------------------- 
  ul
---------------------------------------------------------- */

/* ul-std */
.ul-std {
	margin-left: 30px;
	margin-bottom: 30px;
	list-style-type: disc;
	font-size: 14px;
}

.ul-std li{
	margin-bottom: 5px;
}

/* ul-arrow-gy */

.ul-arrow-gy {
	margin: 0 0 20px 0;
}

.ul-arrow-gy li{
	padding: 3px 15px;
	background: url(../img/arrow_min_gy_rt.png) no-repeat left center;
}

/* ul-file */
.ul-file li{
	margin: 3px 0;
	padding: 2px 20px 0 20px;
}

.ul-excel {
	background: url(../img/icon_excel.png) no-repeat left center;
}

.ul-pdf {
	background: url(../img/icon_pdf.png) no-repeat left center;
}

/* ul-std */
.ul-fl-lt li{
	float: left;
	margin-right: 15px;	
}

/* --------------------------------------------------------- 
  ol
---------------------------------------------------------- */

/* ol-std */
.ol-std {
	margin-left: 30px;
	margin-bottom: 30px;
	list-style-type:decimal;
	font-size: 14px;
}

.ol-std li{
	margin-bottom:10px;
}


/* --------------------------------------------------------- 
  dl
---------------------------------------------------------- */

dl {
	font-size: 14px;
}

.dl-arrow-gy dt{
	padding: 3px 0;
	font-weight: bold;
}

.dl-arrow-gy dd{
	padding: 3px 15px;
	background: url(../img/arrow_min_gy_rt.png) no-repeat left center;
}

dl.dl-standard {
	margin:3px 0 5px 10px;
}

dl.dl-standard dt {
	color:#1A4771;
	font-size:110%;
	font-weight:bold;
}

dl.dl-standard dd {
	margin-left:1em;
	margin-bottom:10px;
}

dl.dl-standard-col-navy {
	margin:3px 40px 5px 40px;
}

dl.dl-standard-col-navy dt {
	color:#039;
	font-size:110%;
	font-weight:bold;
}

dl.dl-standard-col-navy dd {
	margin-left:1em;
	margin-bottom:10px;
}
/* --------------------------------------------------------- 
  page-relate
---------------------------------------------------------- */

.page-relate {
	margin: 100px 10px 50px 10px;
	border: 4px solid #ececec;	
	min-height: 140px;
}

.page-relate h4 {
	padding: 10px 10px 0 15px;
	color: #0075c2;
	font-size: 18px;
	font-weight: bold;
}

.page-relate ul {
	padding: 20px;
}

.page-relate ul li {
	margin-bottom: 5px;
	padding: 0 0 0 20px;
	background: url(../svg/arrow_bl_rt_min.svg) no-repeat left center;
}

.page-relate a{
	text-decoration: none;
}

/* --------------------------------------------------------- 
  banner 
---------------------------------------------------------- */

.banner {
	clear: both;
}

.banner li {
	padding: 0 1.5%;
	margin-bottom: 10px;
	box-sizing: border-box;
	float: left;
	width: 50%;
}

.banner li img{
	width: 100%;	
}

*[class*="banner-info"] h4{
	padding: 6px 0px 4px 10px;
	color: #fff;
	font-size: 78%;
	font-weight: bold;
	float: left;
	line-height: 13px;
}

*[class*="banner-info"] h5{
	padding: 2px 10px;
	color: #fff;
    font-family: "Yu Gothic","YuGothic","メイリオ","Meiryo","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro";
	font-size: 13px;
	font-weight: bold;
	float: left;
}

@media all and (-ms-high-contrast:none){
	*[class*="banner-info"] h5{
	  padding: 15px 15px 10px 15px;
	}
}

*[class*="banner-info"] a{
	color: #000;
	text-decoration: none;
}

.cat-banner{
	padding: 0 10px ;
    margin: 6px 0;
	border-left: 1px solid #fff;
	color: #fff;
	display: block;
	float: right;
	font-size: 10px;
}

*[class*="banner-info"] p{
	clear: both;
	padding: 6px 10px;
	background: #fff;
	border: 1px solid #efefef;
	border-radius: 0 0 2px 2px; 
	font-size: 10px;
}

.banner-info-red header{
	border-radius: 2px 2px 0 0; 
	background: #ef3021;
}

.banner-info-green header{
	border-radius: 2px 2px 0 0; 
	background: #5fb124;
}

.banner-info-blue header{
	border-radius: 2px 2px 0 0; 
	background: #007bbd;
}


/*--- box ---*/

/* box */

.box {
	padding: 10px 15px;
	border: 1px solid #dfdfdf;
}

.box-50-lt {
	float: left;
	width: 50%;
}

.box-50-rt {
	float: right;
	width: 50%;
}

.box-75-lt {
	float: left;
	width: 75%;
}

.box-25-rt {
	float: right;
	width: 25%;
}

.box-25-lt {
	float: left;
	width: 25%;
}

.box-75-rt {
	float: right;
	width: 75%;
}

.box-detail-90-lt {
	margin: 0 5%;
	width: 90%;
}

.box-detail-90-rt {
	margin: 0 5%;
	width: 90%;
}

.box-detail-95-lt {
	margin-right: 5%;
	width: 95%;
}

.box-detail-95-rt {
	margin-left: 5%;
	width: 95%;
}

box-blue-h3 {
    padding: 3px 5px;
    font-size: 12px;
}
.box-blue-h4 {
	padding: 5px  0;
	font-size: 15px;
	font-weight: bold;
}

@media all and (-ms-high-contrast:none){
	.box-blue-h3 {
	  padding: 7px 15px 3px 15px;
	}
}


/* box-2col */

.box-2col {
	border-top: 1px solid #dfdfdf;	
}

.box-2col-detail {
	padding: 0 4% 3% 4%;
	font-size: 11px;
	float: left;
	width: 42%;
}

.box-2col-first {
	background: url(../img/dot_height.png) no-repeat right center;
	/*border-right: 1px dashed #ccc;	*/
}

.box-2col-detail img {
	border-radius: 2px;
	width: 100%;
}

.box-2col-detail p {
	margin: 10px 0;
	color: #777;
}

.box-2col-link {
	display: block;
	height: 100%;
	width: 100%;
	text-decoration: none;
}

.box-2col-link:after, .box-2col:after  {
  content: ""; 
  display: block; 
  clear: both;
}

.box-2col-detail figcaption{
	margin: 15px 0;
}

.note {
	padding: 20px;
	margin: 10px auto !important;
	background: #f1faff;
	border: 1px solid #c2e3f4;
	color: #000;
	width: 85%;
}

.plug-in {
	padding: 20px;
	margin: 70px auto !important;
	background: #f1faff;
	border: 1px solid #c2e3f4;
	color: #000;
	width: 90%;
}

.plug-in h3.h3-std {
	margin-top: 0;
}
.plug-in p {
	font-size: 14px;
}

/*--- select ---*/

.select-list{
  width: 110px;
}

.select-list02 {
	width: 130px;
}

.select-list ,.select-list02 {
	margin: 20px 10px 10px 10px;
	padding: 2px 32px 2px 16px ;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent no-repeat url(../img/arrow_bl_btm.png) center right 10px;    
	border: 2px solid #dfdfdf;
	border-radius: 1000px;
	font-size: 12px;
	line-height: 26px;
	text-align: left;
	color: #000;
	cursor: pointer;
	display: block;
	float: right;
	top: 0;
	white-space: nowrap;
 }

.article-area img.icon_blank {
	width: auto !important;
}


/* img */

.img-2col {
	margin: 0 auto 30px auto;
	clear: both;
}

.img-2col-box {
	float: left;
	padding: 5% 8% 5% 0;
	width: 42%;
}

.img-2col-box img {
	width: 100% !important;
}

.img-4col {
	margin: 0 auto 30px auto;
	clear: both;
	width: 100%;
}

.img-4col-box {
	float: left;
	padding: 1% 2% 1% 0;
	width: 23%;
}

.img-4col-box img {
	width: 100% !important;
}

	
.img-4col-box figcaption {
	margin-top: 10px;
}

.caption {
	margin-top: 10px;
	display: block;
	font-size: 12px;
	text-align: center;
}

.img-center, .img-left{
	margin: 10px 0;
} 

.img-center img, .img-left img{
	max-width: 100%;
} 

.width-100per-sp {
	width: 100% !important;
}



/*--- txt-color ---*/

.col-red {
	color: #ff0000;
}

.col-blue {
	color: #007bbd;
}

.col-normal {
	color:#000 !important;
}

.col-navy {
	color:#039;
}

/*---bg---*/

.bg-light-aqua {
	background:#F0F6FC;	/*-thの水色より少し薄い-*/
}

.bg-aqua {
	background:#CDE1F5;	/*-thの水色より少し濃い-*/
}

.bg-gray {
	background:#EEE !important;
}

.bg-light-gray {
	background:#F5F5F5 !important;
}

.bg-white {
	background:#FFF !important;
}

.bg-yellowgreen {
	background:#D7EABB!important;
}

.bg-light-yellowgreen {
	background: #ECF2E3 !important;
}

/* --------------------------------------------------------- 
  hr
---------------------------------------------------------- */
.hr-white {
	background: #fff;
	border: none;
	clear: both;
	display: block;
	height: 20px;
}
/* --------------------------------------------------------- 
clearfix
---------------------------------------------------------- */

.clearfix:after {
  content: ""; 
  display: block; 
  clear: both;
}


/*sns*/
/******************************
******************************/
.social-area {
	margin: 10px 0 15px auto;
	float:right;
	height: 30px;
}

/******************************
 [ul]要素
******************************/
/* スマホ */
ul.social-button {
	overflow: hidden;
	margin: 0 6px 0 auto;
	padding: 0;
	border: none;
	list-style-type: none;
}
ul.social-button img {
	margin: 0;
	width:20px;
	height:20px;
}

/* デスクトップ */
@media screen and (min-width:480px) {

	ul.social-button{
		float:right;
	}

}

/******************************
 [li]要素
******************************/
ul.social-button li {
	overflow: hidden;
	float: left;
	text-align: center;
	margin: 0 6px;
	padding:0;
	height:20px;
}