@charset "UTF-8";

/*
** COMMON
 */
body{
/*  padding-top: 90px;*/
  padding-top: 70px;
}
#admin{
  padding-top: 0px !important;
}
#admin footer{
  color:#999;
}
body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
}
.pc{display: block;}
.sp{display: none;}
.brpc{display:inline;}
.common--wrapper{
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
  position: relative;
}
.common--inner{
 width: 1100px;
 margin: 0 auto;
 position: relative;
}
/* btn */
.btn__common{
  width: 140px;
  height: 50px;
  display: flex;
  justify-content:center;
  align-items: center;
  background-color: #0550bf;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: .3s;
}
.btn__common.left{
  justify-content:flex-start;
}
.btn__common div{
  font-size: 15px;
  font-weight:500;
  text-align:center;
}
.btn__common.left div{
  padding-left: 30px;
}
.btn__common span{
  font-size: 14px;
  font-weight:500;
}
.btn__common:hover{
  background-color: #003a8f;
}
.btn__common.arrow{
  position: relative;
}
.btn__common.arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5px;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.btn__common.arrow::after{
    width: 0px;
    height: 0px;
    border-left: 7px solid white;
    border-top: 2px solid transparent;
    border-bottom: 2px solid transparent;
}
@media screen and (max-width: 1200px) {
  body{
    padding-top: 60px;
  }
  body#top{
   padding-top: 0px;
  }
  .common--wrapper{
   width: 90%;
   font-size:0.9em;
  }
  .common--inner{
   width: 90%;
   font-size:0.9em;
  }
  .btn__common div{
    font-size: 14px;
  }
  .btn__common span{
    font-size: 12px;
  }
  .pc{display: none;}
  .sp{display: block;}
}
.icon_pdf{
  margin-left: 20px;
}
.icon_pdf a{
  position: relative;
  padding-left: 28px;
  display: inline-block;
}
.icon_pdf a::before{
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 20px;
  height: 19px;
  background: url(../img/common/icon.pdf.png) no-repeat left center;
  background-size: contain;
}
.icon_docs{
  margin-left: 20px;
}
.icon_docs a{
  position: relative;
  padding-left: 28px;
  display: inline-block;
}
.icon_docs a::before{
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 20px;
  height: 19px;
  background: url(../img/common/icon_word.png) no-repeat left center;
  background-size: contain;
}
.icon_xlsx{
  margin-left: 20px;
}
.icon_xlsx a{
  position: relative;
  padding-left: 28px;
  display: inline-block;
}
.icon_xlsx a::before{
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 20px;
  height: 19px;
  background: url(../img/common/icon_xls.svg) no-repeat left center;
  background-size: contain;
}
/*
************************************ HEADER
 */
header{
  background-color:#fff;
  position: fixed;
  z-index: 99;
  width: 100%;
  top: 0;

}
header.fixed{
  background-color: #fff !important;
  transition: .4s;
}
header nav{
/*  height: 90px;*/
  height: 70px;
}
header nav h1{
  display: inline-block;
  width: 48%;
  max-width: 270px;
  margin-right: 225px;
  height: 50px;
}
header nav h1.eng{
  display: inline-block;
  width: 48%;
  max-width: 390px;
  margin-right: 65px;
  height: 50px;
}
header nav h1 img{
  margin-top: 7px;
}
header nav ul.menu{
  display: inline-block;
  padding-top: 20px;
  vertical-align: top;
}
header nav ul.menu > li{
  display: inline-block;
  position: relative;
  margin-right: 0px;
}
header nav ul.menu > li{
  padding-right: 32px;
}
header nav ul.menu > li > a{
  display: inline-block;
  position: relative;
  height: 50px;
  color: #34373d;
  font-weight: bold;
}
header nav ul.menu > li > a:after{
 content: "";
 position: absolute;
 left:50%;
 bottom:0px;
 width: 0;
 height: 6px;
 background-color: #054fbf;
 transition: 0.2s;
}
header nav ul.menu > li > a:hover{
  color: #054fbf;
}
header nav ul.menu > li > a:hover:after{
  left:0px;
  width: 100%;
}
header nav .btn-member{
  position: fixed;
  right: 0;
  top: 0;
}
header nav .btn-member .btn__common{
  height: 70px;
}
header nav #header_menu_member{
  display: none;
}
@media screen and (max-width: 1200px) {
  header nav #header_menu_member{
    display: block;
    padding-bottom: 100px;
  }
  header .common--wrapper{
    width: 100%;
  }
  header nav{
    height: 60px;
  }
  header nav.nav-area h1{
    position: absolute;
    z-index: 992;
    width: 100vw;
    max-width: 100vw;
    height: 60px;
    background-color: #fff;
    margin: 0;
    left: 0;
    top: 0;
  }
  header nav.nav-area h1 img{
    max-width: 211px;
    width: 48%;
    margin-top: 0px;
    padding-left: 20px;
    padding-top: 10px;
  }
  header nav .btn-member{
    position: fixed;
    z-index: 999;
    right: 60px;
  }
  header nav.nav-area.active .btn-member{
    display: none;
  }
  header nav .btn-member .btn__common{
    width: 60px;
    height: 60px;
    font-size: .6rem;
  }
  header nav .btn-member .btn__common div{
    font-size: 10px;
    text-align:center;
    word-break:keep-all;
  }
  header nav .btn-member .btn__common span{
    font-size: 8px;
  }
  header nav ul.menu{
    display: none;
    left: 0;
    z-index: 990;
    width: 100%;
    height: calc(100vh - 80px);
    background-color: #fff;
    margin: 0 auto;
    padding: 80px 0 0;
    overflow-y: scroll;
  }
}
/*言語切り替え=======================
*/
header nav div.lang{
  display: inline-block;
  margin-top: 20px;
  vertical-align: top;
  cursor: pointer;
}
header nav div.lang div{
  position: relative;
  width: 33px;
  border-bottom: 2px solid #0550bf;
}
header nav div.lang div::after{
  position: absolute;
  top: 0;
  bottom: 0;
  right: 4px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 0px;
  height: 0px;
  border-left: 2px solid transparent;
  border-right: 2px solid transparent;
  border-top: 7px solid #0550bf;
}
header nav div.lang div p{
  display: block;
  color: #000;
  font-weight: 500;
}
header nav div.lang div > ul{
  display:none;
}
header nav div.opened div > ul{
  display:block;
  width: 100%;
  position: absolute;
  left: 0;
  top: 22px;
  height: 60px;
  overflow: hidden;
  transition: 0.3s;
}
header nav div.opened div > ul li{
  display: block;
  text-align: center;
}
header nav div.opened div > ul li a{
  display: block;
  background-color: #0550bf;
  color: #fff;
  font-weight: 500;
  padding: 4px 0;
}
header nav div.opened div > ul li a:hover{
  background-color: #003a8f;
}
@media screen and (max-width: 1200px) {
  header nav.nav-area .lang{
    display: none;
  }
  header nav.nav-area.active .lang{
   display: block;
   position: absolute;
   top: 60px;
   right: 45px;
   z-index: 9999;
   padding: 0;
   margin: 0;
   cursor: pointer;
  }
/*=======
*/
  header nav ul.menu > li#header_menu_member{
    width: 100%;
    background-color: #0550bf;
    margin-top: 10px;
  }
  header nav ul.menu > li#header_menu_member > div{
    width: 73%;
    margin: 0 auto;
    padding: 10px 0;
  }
  header nav ul.menu > li#header_menu_member > div p{
    color: #fff;
    font-size: 14px;
    margin-bottom:10px;
  }
  header nav ul.menu > li#header_menu_member > div ol{
    margin-bottom: 38px;
  }
  header nav ul.menu > li#header_menu_member > div ol li{
    border-bottom: 1px solid #9bb9e5;
  }
  header nav ul.menu > li#header_menu_member > div ol li a{
    padding: 5px 0;
    display: inline-block;
    width: 100%;
    color: #fff;
    font-weight: 600;
  }
  header nav ul.menu > li#header_menu_member > div .btn__common{
    background-color: #fff;
    color: #0550bf;
  }
  header nav ul.menu > li#header_menu_member > div .btn__common::after{
    border-left: 7px solid #0550bf;
  }
  header nav ul.menu > li{
    display: block;
    width: 73%;
    margin: 0 auto;
    padding: 0;
    text-align: left;
    border-bottom: 1px solid #cccccc;
    font-size: 13px;
  }
  header nav ul.menu > li > a{
    display: block;
    height: auto;
    padding: 5px 0;
  }
  header nav ul.menu > li > a:hover:after{
    left:0px;
    width: 0;
  }
  header nav .panel {
    width: 60px;
    height: 60px;
    background-color: #fff;
    position: fixed;
    z-index: 999;
    top: 0;
    right: 0;
 }
 .menu-trigger {
   position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   margin: auto;
 }
 .menu-trigger {
   display: inline-block;
   transition: all .4s;
   box-sizing: border-box;
   width: 40px;
   height: 24px;
 }
 .menu-trigger span {
   display: inline-block;
   transition: all .4s;
   box-sizing: border-box;
   position: absolute;
   left: 0;
   right: 0;
   margin: auto;
   width: 65%;
   height: 3px;
   background-color: #34373d;
 }
 .menu-trigger span:nth-of-type(1) {
   top: 0;
 }
 .menu-trigger span:nth-of-type(2) {
   top: 10px;
 }
 .menu-trigger span:nth-of-type(2):after {
   position: absolute;
   top: 0;
   left: 0;
   content: '';
   width: 100%;
   height: 3px;
   background-color: #34373d;
   transition: all .4s;
 }
 .menu-trigger span:nth-of-type(3) {
   bottom: 0; }
 .menu-trigger.active span:nth-of-type(1) {
   transform: translate(50%) scale(0);
   visibility: hidden; }
 .menu-trigger.active span:nth-of-type(2) {
   -webkit-transform: rotate(45deg);
   transform: rotate(45deg); }
 .menu-trigger.active span:nth-of-type(2):after {
   -webkit-transform: rotate(90deg);
   transform: rotate(90deg); }
 .menu-trigger.active span:nth-of-type(3) {
   transform: translate(-50%) scale(0);
   visibility: hidden; }
}

/*
************************************ FOOTER
 */

footer{
 width: 100%;
 position:relative;
 color: #fff;
}
footer .menubg{
  position: absolute;
  right: 50%;
  top: -40px;
  width: 100%;
  background-color: #011b4e;
  height: 60px;
}
footer .foot-top{
  position: relative;
}
footer .foot-wrap{
  background-color:#073a86;
}
footer .foot-wrap .common--inner{
  padding: 45px 0 10px;
}
footer ul.menu{
  position: absolute;
  left: 0;
  top: -40px;
  width: 100%;
  background-color: #011b4e;
  height:60px;
}
footer ul.menu li{
 display: inline-block;
 vertical-align: top;
 padding-top: 15px;
 font-size: 16px;
}
footer ul.menu li:not(:last-child){
 margin-right: 45px;
}
footer ul.menu li a{
 display: block;
 height: 30px;
 color: #fff;
 display: inline-block;
 position: relative;
 transition: .3s;
}
footer ul.menu li a:hover{
  color: #d8dadd;
}
footer ul.menu li a:after{
 content: "";
 position: absolute;
 left:50%;
 bottom:0px;
 width: 0;
 height: 2px;
 background-color: #d8dadd;
 transition: 0.2s;
}
footer ul.menu li a:hover:after{
  left:0px;
  width: 100%;
}
footer .btn__common{
  position: absolute;
  right: 0;
  top: -40px;
  height: 60px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2rem;
  text-align: center;
}
footer ul.other{
 text-align: right;
 font-size: 16px;
}
footer ul.other li{
 display: inline-block;
 vertical-align: top;
}
footer ul.other li:not(:last-child){
 margin-right: 30px;
}
footer ul.other li a{
 display: block;
 color: #fff;
}
footer ul.other li a:hover{
 opacity: 0.6;
}

footer .logo{
 font-size: 30px;
 line-height: 1em;
 margin-top: -.8em;
 margin-bottom: 20px;
 color: #fff !important;
}
footer .copy{
  font-size: 12px;
 text-align: center;
}

footer #totop{
  width: 60px;
  height: 160px;
  display: block;
  position: absolute;
  z-index: 30;
  right: 0px;
  bottom: 5px;
  transition: 0.5s;
  text-align: center;
}
footer #totop span{
  margin-right: -4px;
  margin-top: 100px;
  color: #0550bf;
  font-size: 12px;
  font-weight: bold;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
footer #totop span::after{
  position: absolute;
  top: 0px;
  left: 50%;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 1px;
  height: 90px;
  background: #0550bf;
}
footer #totop.active{
  position: fixed;
  bottom: 0;
  top: inherit;
}
footer #totop::before,
footer #totop::after{
    position: absolute;
    top: 0px;
    left: 50%;
    margin: auto;
    content: "";
    vertical-align: middle;
}
footer #totop::before{
    width: 16px;
    height: 16px;
    top: 2px;
    left: calc(50% - 5px);
    border-top: 1px solid #0550bf;
    -webkit-transform: rotate(-60deg);
    transform: rotate(-60deg);
}
footer #totop::after{
    width: 16px;
    height: 16px;
    top: 2px;
    left: calc(50% - 10px);
    border-top: 1px solid #0550bf;
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
}

@media screen and (max-width: 1200px) {
  footer{
    text-align: center;
  }
  footer .foot-top{
    padding-right: 60px;

  }
  footer .foot-top .common--inner {
    width: 100%;
    margin-bottom: -40px;
  }
  footer .foot-wrap .common--inner {
    padding: 100px 0 40px;
  }
  footer .menubg{
    display: none;
  }
  footer ul.menu{
    position: static;
    height: auto;
  }
  footer ul.menu li{
   display: block;
   padding-top: 0px;
   text-align: left;
  }
  footer ul.menu li:not(:last-child){
   margin-right: 0px;
   border-bottom: 1px solid #575a60;
  }
  footer ul.menu li a{
   width: 90%;
   height: auto;
   padding: 20px 0 20px 10%;
  }
  footer ul.menu li a:hover:after{
    width: 0;
  }
  footer .btn__common{
    width: 90%;
    height: 80px;
    position: static;
    margin-bottom: 0px;
    padding-left: 10%;
    font-weight: 600;
    justify-content:flex-start;
  }
  footer ul.other{
   text-align: center;
   margin-bottom: 40px;
  }
  footer ul.other li:not(:last-child){
   margin-right: 18px;
  }
  footer .logo{
    font-size: 30px;
    margin-top: 0;
    margin-bottom: 40px;
  }
  footer .copy{
   opacity: .5;
  }
  footer #totop{
    bottom: 45px;
  }
}

/*
************************************ CONTENTS
 */

.content-underlayer{
  padding: 40px 0 80px;
}
.content-underlayer h3.member{
  color: #011b4e;
  font-weight: 600;
  font-size: 30px;
  line-height: 1em;
  border-bottom: 6px solid #011b4e;
  padding-bottom: 8px;
  margin-bottom: 20px;
}
.content-underlayer h3.member small{
  font-size: 18px;
  font-weight:600;
  color:#ab1f1f;
}
/* Popup Window */
#popup-download,
#popup-download-add,
.popup-download-ind {
  position: relative;
  background: #FFF;
  padding: 6.6% 8%;
  width: auto;
  max-width: 700px;
  margin: 20px auto;
}
#popup-download p,
#popup-download-add p,
.popup-download-ind p {
  font-size: 18px;
  margin-bottom: 40px;
}
#popup-download .form_wrap,
#popup-download-add .form_wrap,
.popup-download-ind .form_wrap {
  margin-bottom: 35px;
}
#popup-download .form_wrap input,
#popup-download-add .form_wrap input,
.popup-download-ind .form_wrap input {
  background-color: #f4f4f4;
  width: calc(100% - 24px);
  padding: 14px 12px;
  border:solid 1px #666;
}
#popup-download form .btn__common,
#popup-download-add form .btn__common,
.popup-download-ind form .btn__common {
  margin: 0 auto;
}
#popup-download form input[type="submit"],
#popup-download-add form input[type="submit"],
.popup-download-ind form input[type="submit"] {
  width: 100%;
  height: 100%;
  font-size: 1.0em;
  display: block;
  border: none;
  outline: 0;
  cursor: pointer;
  color: #fff;
  background: none;
  font-weight: 600;
}

/* keyvisual */
.main__keyvisual{
  position: relative;
  text-align: center;
  color: #fff;
  height: 300px;
  margin-bottom: 40px;
}
.main__keyvisual::before{
  content: "";
  position: absolute;
  left: 0;
  bottom: -30px;
  width: calc(50% - 480px);
  min-width: 5%;
  height: 150px;
  background-color: #011b4e;
}
.main__keyvisual .common--inner{
  height: 100%;
}
.main__keyvisual h2{
  position: absolute;
  left: 0;
  bottom: -30px;
  height: 150px;
  padding-right: 166px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: left;
  font-size: 30px;
  font-weight: 600;
  background-color: #011b4e;
}

/*パンくずリスト*/
.breadcrumbs{
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
.breadcrumbs li{
  display: inline-block;
  font-size: 12px;
  margin-right: 10px;
}
.breadcrumbs li a{
  color: #34373d;
}
.breadcrumbs li:not(:last-child)::after{
  content: ">";
  padding-left: 10px;
}

/*ページング*/
.paging {
  display: block;
  width:100%;
  margin-top: 30px;
}
.pagination{
  display: flex;
  gap:10px;
  justify-content: center;
  text-align: center;
  letter-spacing: -.4em;
}
.page-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height:40px;
  border: solid 1px #ccc;
  padding: 0;
}
.page-item [aria-label="pagination.previous"],
.page-item [aria-label="pagination.next"] {
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: #0550BF;
  width: 40px;
  height:40px;
}

.page-item:first-child .page-link,
.page-item:last-child .page-link {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  font-size: 2.0rem;
  font-weight: 600;
  color: #ffffff;
  width: 100%;
  height: 100%;
  line-height: 1.2em;
}
.page-item .page-link {
  display: block;
  font-size: 1.2rem;
  font-weight: 600;
  align-self: center;
  justify-self: center;
  letter-spacing: 0.05em;
  width: 100%;
  height: auto;
  color:#333333;
}
.page-item.active,
.page-item.active .page-link,
.page-item.active:hover,
.page-item.active:hover .page-link {
  color: #fff;
  text-decoration: none;
  background: #5297fd;
}
.page-item:hover,
.page-item .page-link:hover,
.page-item:hover .page-link {
  color: #fff;
  text-decoration: none;
  background: #0550BF;
}
.page-item:first-child:hover,
.page-item:last-child:hover,
.page-item:first-child:hover .page-link,
.page-item:last-child:hover .page-link {
  color: #0267ff;
  text-decoration: none;
  background: #b2d1ff;
}
.page-item.disabled[aria-disabled][aria-label="pagination.previous"],
.page-item.disabled[aria-disabled][aria-label="pagination.next"],
.page-item.disabled[aria-disabled] .page-link[aria-hidden] {
  display: none;
}

/* お知らせ */
section#news{
  padding: 90px 0;
  background-color: #f7f7f7;
}
section#news h2{
  margin-bottom: 40px;
}
section#news ul.list{
  text-align: center;
}
section#news ul.list li{
  display: inline-block;
  width: 347px;
  height:220px;
  border: 1px solid #cccccc;
  transition: .3s;
  position: relative;
  margin-bottom: 25px;
  text-align: left;
  float:left;
}
section#news ul.list li:not(:nth-of-type(3n)){
  margin-right: 26px;
  vertical-align: top;
}
section#news ul.list li a{
  display: block;
  padding: 30px 30px 25px;
  transition: .3s;
  color: #000;
}
section#news ul.list li a:hover{
  display: block;
  background-color: #e9f2ff;
}

.news_searchbox {
  display: flex;
  flex-flow: row;
  margin-bottom: 3em;
  justify-self: center;
  width: 70%;
}
.search_window {
  width: calc(100% - 140px);
  height: 50px;
  display: block;
  padding: 1em;
  border: solid 1px #ccc;
}
.btn__common.search {
  width: 140px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #0550bf;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: .3s;
}
@media screen and (max-width: 640px) {
  .news_searchbox {
    display: flex;
    flex-flow: row;
    margin-bottom: 3em;
    justify-self: center;
    width: 100%;
  }
  .search_window {
    width: calc(100% - 60px);
    height: 40px;
    display: block;
    padding: 1em;
    border: solid 1px #ccc;
  }
  .btn__common.search {
    width: 60px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #0550bf;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: .3s;
  }
  .pagination {
    display: flex;
    gap: 3px;
    justify-content: center;
    text-align: center;
    letter-spacing: -.4em;
  }
}


#news_detail .immaj,
section#news ul.list li .immaj{
  display: inline-block;
  position: absolute;
  right: 0;
  top: 0;
  background:#0550bf url("../img/common/icon.key.png")right 10px center no-repeat;
  background-size: 13px;
  color: #fff;
  padding: 4px 30px 4px 8px;
}
#news_detail .member,
section#news ul.list li .member{
  display: inline-block;
  position: absolute;
  right: 0;
  top: 0;
  background:#00a0e9 url("../img/common/icon.key.png")right 10px center no-repeat;
  background-size: 13px;
  color: #fff;
  padding: 4px 30px 4px 8px;
}
#news_detail .public,
section#news ul.list li .public{
  display: inline-block;
  position: absolute;
  right: 0;
  top: 0;
  background:#009f8a url("../img/common/icon.unlock.png")right 10px center no-repeat;
  background-size: 13px;
  color: #fff;
  padding: 4px 30px 4px 8px;
}
section#news ul.list li .cat{
  position: relative;
  font-size: 12px;
  line-height: 1rem;
  margin-bottom: 10px;
  padding-left: 20px;
}
body#news_detail .headline dt p.topic::after,
section#news ul.list li .topic::after{
  content: "";
  position:absolute;
  left: 0;
  top: calc(50% - 1px);
  width: 15px;
  height: 5px;
  background-color: #BF0550;
}
body#news_detail .headline dt p.notice::after,
section#news ul.list li .notice::after{
  content: "";
  position:absolute;
  left: 0;
  top: calc(50% - 1px);
  width: 15px;
  height: 5px;
  background-color: #05BF50;
}
body#news_detail .headline dt p.press::after,
section#news ul.list li .press::after{
  content: "";
  position:absolute;
  left: 0;
  top: calc(50% - 1px);
  width: 15px;
  height: 5px;
  background-color: #0550BF;
}
body#news_detail .contents{
  display:block;
  padding: 35px 36px;
}
body#news_detail .contents a{
  font-size:1.0em;
  color:#07598E;
  display:inline-block;
}
body#news_detail hr{
  display:inline-block;
  width:100%;
  height:1px;
  border:solid 1px #bcddff;
  background:#bcddff;
}

body#news_detail .contents table th,
body#news_detail .contents table td{
  padding:5px;
  border:solid 1px #bcddff
}
body#news_detail .contents table th{
  font-weight:bold;
  background:#cceeff;
}

section#news ul.list li dt{
  display:inline-block;
  height:40px;
  min-width:280px;
  font-size: 18px;
  font-weight: 600;
  line-height: 22px;
  padding-bottom: 18px;
  margin-bottom: 20px;
  border-bottom: 1px solid #cccccc;
}
section#news ul.list li dd{
  display:inline-block;
  height:40px;
  width:100%;
  font-size: 12px;
  margin-bottom: 15px;
  color: #5b6069;
}
section#news ul.list li .date{
  font-size: 10px;
}

/* 会員専用メニュー */

section.menu_member{
  /* margin-bottom: 25px; */
  position: fixed !important;
  top: 70px;
  display: block;
  z-index: 999;
  /* padding: 0px !important; */
  width: 1100px;
}
section.menu_member p{
    display: block;
    width:1100px;
    background: #011b4e;
    color: #fff;
    padding: 3px 0 3px 0;
    text-indent: 5px;
    font-size: 0.8rem;
}
section.menu_member ul{
  letter-spacing: -.4em;
  width: 1100px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-items: center;
}
section.menu_member li{
  display: block;
  width: calc(1101px / 7);
  height: 55px;
  letter-spacing: normal;
  padding: 0;
  margin: 0;
}
section.menu_member li:lang(en){
  display: block;
  width: calc(1101px / 6);
  height: 55px;
  letter-spacing: normal;
  padding: 0;
  margin: 0;
}
section.menu_member li a{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(100% - 20px);
  height: 100%;
  padding: 0 10px;
  background-color: #0550bf;
  text-align: center;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
}
section.menu_member li span.btnblank{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(100% - 20px);
  height: 100%;
  padding: 0 10px;
  background-color: #1a4a93;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
}
section.menu_member li.active a,
section.menu_member li a:hover{
  background-color: #003a8f;
}
section.menu_member li.active a::after,
section.menu_member li a:hover::after{
  position: absolute;
  content: "";
  bottom: 1px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #fff;
}

/* 会員 カテゴリ */
.category_member p{
  display: block;
  width: calc(100% - 6px);
  background: #011b4e;
  color: #fff;
  padding: 3px;
  text-indent: 5px;
  font-size: 0.8rem;
}
.category_member ul li{
  margin-bottom: 1px;
}
.category_member ul li a{
  background-color: #0550bf;
  display: inline-block;
  width: calc(100% - 24px);
  padding: 14px 12px;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}
.category_member ul li a:hover{
  background-color: #003a8f;
}
.category_member ul li a.invaliddoc{
  background-color: #0c6885;
  display: inline-block;
  width: calc(100% - 24px);
  padding: 14px 12px;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}
.category_member ul li a.invaliddoc:hover{
  background-color: #0e658f;
}

@media screen and (max-width: 1200px) {
  .content-underlayer{
    padding: 55px 0 70px;
  }
  .content-underlayer h3.member{
    font-size: 20px;
  }
  .main__keyvisual::before{
    bottom: -30px;
    height: 150px;
  }
  .main__keyvisual h2{
    bottom: -30px;
    height: 150px;
    padding-right: 126px;
    font-size: 24px;
  }
  #popup-download p{
    font-size: 16px;
    margin-bottom: 20px
  }

  section#news ul.list{
   display:inline;
   margin:0;
  }

  section#news ul.list li{
    display: block;
    width: 100%;
    margin-bottom: 5%;
  }
  section#news ul.list li:not(:last-child){
    margin-right: 0px;
  }

  section#news ul.list li dt{
    display:inherit;
    height:auto;
    min-width:100%;
    font-size: 18px;
    font-weight: 600;
    line-height: 22px;
    padding-bottom: 18px;
    margin-bottom: 20px;
    border-bottom: 1px solid #cccccc;
  }
  section#news ul.list li dd{
    display:inherit;
    height:auto;
    font-size: 12px;
    margin-bottom: 20px;
    color: #5b6069;
  }

}
@media screen and (max-width: 1200px) {
  section.menu_member{
    display: none;
  }

}

/*
********************************************** TOP
 */

body#top{
 padding-top: 0px;
}
#top header{
  background-color:inherit;
}

#top section h2{
  font-size: 30px;
  font-weight: bold;
  line-height: 1em;
}
/* キービジュアル */
#top_keyvisual{
  position: relative;
  width: 100vw;
  height: 100vh;
  background-position:center top;
  background-size: cover;
  background-repeat: no-repeat;
  justify-content: center;
  align-items: center;
  text-align: left;
}
#top_keyvisual div{
 top: 0px;
}
#top_keyvisual .common--inner{
  padding-top: 80px;
}

#top_keyvisual p{
  color: #fff;
  font-size: 30px;
  font-weight: 600;
  margin-bottom: 60px;
  text-shadow: 3px 3px 10px #001133;
  padding-top:70px;
}
#top_keyvisual .btn__common{
  width: 240px;
  padding: 22px 0;
}
@media screen and (max-width: 1200px) {
  #top_keyvisual{
    display: block;
  }
  #top_keyvisual p{
    font-size: 18px;
    line-height: 42px;
  }
  #top_keyvisual .common--inner{
    width: 82%;
    position: static;
    padding-top: 90px;

  }
  #top_keyvisual .btn__common{
    width: 140px;
    padding: 12px 0;
    margin: 0 auto;
    position: absolute;
    left: 20px;
    bottom: 20px;
  }
}

/* 協会概要、会長挨拶、加盟会社一覧 */
#top section#about{
  background: url("../img/top/bg_about.jpg")left bottom no-repeat;
  padding: 114px 0 154px;
  background-color: #e9f2ff;
}
#top section#about .common--wrapper{
  padding: 30px 0 100px;
}
#top section#about .common--wrapper:nth-of-type(1){
  background: url("../img/top/img_bg_association.jpg")right bottom no-repeat;
}
#top section#about .common--wrapper:nth-of-type(2){
  background: url("../img/top/img_bg_chairman.jpg")right bottom no-repeat;
}
#top section#about .common--wrapper:nth-of-type(3){
  background: url("../img/top/img_bg_member.jpg")right bottom no-repeat;
}
#top section#about .detail{
  width: 450px;
  max-width: 100%;
  padding-top: 40px;
  background-color: #fff;
}
#top section#about .detail dl{
  padding: 0 60px;
}
#top section#about .detail dt{
  font-size: 30px;
  font-weight: 600;
  line-height: 1rem;
  margin-bottom: 35px;
}
#top section#about .detail dd{
  font-size: 16px;
  line-height: 28px;
  margin-bottom: 90px;
}
#top section#about .detail .btn__common{
  float: right;
}

@media screen and (max-width: 950px) {
  #top section#about{
    padding: 75px 0 350px;
  }
  #top section#about .common--wrapper{
    padding: 0 0 43%;
    margin-bottom: 6%;
  }
  #top section#about .common--inner{
    width: 100%;
    margin-left: -5.5%;
  }
  #top section#about .common--wrapper:nth-of-type(1){
    background-size:contain;
  }
  #top section#about .common--wrapper:nth-of-type(2){
    background-size:contain;
  }
  #top section#about .common--wrapper:nth-of-type(3){
    background-size:contain;
  }
  #top section#about .detail dd {
    margin-bottom: 14%;
  }
}


/* アクセス */
#top section#access{
  padding: 0 0 135px;
}
#top section#access .left{
  width: 72%;
  float: left;
  margin-top: -45px;
}
#top section#access .ggmap {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

#top section#access .ggmap iframe,
#top section#access .ggmap object,
#top section#access .ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#top section#access .right{
  width: calc(28% - 50px);
  float: right;
  padding-left: 50px;
  padding-top: 54px;
}
#top section#access .right h2{
  margin-bottom: 48px;
}
#top section#access .right dt{
  font-size: 20px;
  line-height: 1.5rem;
  margin-bottom: 20px;
}
#top section#access .right dt span{
  font-size: 14px;
  line-height: 1.0rem;
  margin-bottom: 30px;
}
#top section#access .right dd p,
#top section#access .right dd ul{
  font-size: 14px;
  margin-bottom: 25px;
}
#top section#access ul lt{
  margin-left: -20px;
}
#top section#access ul.access li{
  list-style:disc;
}
@media screen and (max-width: 950px) {
  #top section#access{
    padding: 54px 0;
  }
  #top section#access .right h2{
   margin-bottom: 20px;
   font-size:20px;
  }
  #top section#access .right dt{
   font-size: 16px;
   line-height: 1rem;
   margin-bottom: 10px;
  }
  #top section#access .left{
    width: 100%;
    float:none;
    margin-top: 0;
  }
  #top section#access .right{
    width: 100%;
    float:none;
    padding: 0px;
  }
  #top section#access ul lt{
   margin-left: 0px;
  }
  #top section#access ul.access li{
    display: block;
   list-style:disc;
   margin-left:10px;
  }
  #top section#access ul.access li:before{
   content:"・";
  }
  #top section h2,
  #top section#about .detail dt{
    font-size:2.0rem;
  }
  #top section#about .detail dl{
    padding: 0 20px;
  }
}


/*
********************************************** 協会概要
 */

body#association .main__keyvisual{
 background:url("../img/association/img_keyvisual.jpg")center no-repeat;
}
body#association .common--inner section.menu_member{
  padding:0px;
}

body#association .common--inner section{
  position: relative;
  padding: 30px 0 50px;
}
body#association .inner-menu section{
  position: relative;
}
body#association .common--inner section h3{
/*  width: 62%;*/
  font-size: 30px;
  font-weight: 600;
  border: none;
  background-color: #e9f2ff;
  padding: 8px 20px;
  color: #34373d;
  margin-bottom:30px;
}
body#association .common--inner section .annotation{
  padding-top: 10px;
  text-align: right;
}

body#association .common--inner section #publication{
  display:inline-block;
}
body#association .common--inner section #publication a img.thumbnail{
  position:relative;
  max-width:420px;
  margin:10px 0px 10px 20px;
  border:solid 1px #ccc;
  float:left;
}
body#association .common--inner section #publication p{
  position:relative;
  display:inline-block;
  padding:10px 0px 10px 20px;
  width:50%;
  font-size:18px;
}

/* 協会について */
body#association .common--inner div.movarea{
	display:block;
	width:100%;
	text-align:center;
	padding-bottom: 50px;
}
  body#association .common--inner div.movarea iframe{
    display:inline-block;
    width:560px;
    height:315px;
    text-align:center;
}
body#association .common--inner section:nth-child(1) iframe{
  display:inline-block;
}
body#association .common--inner section:nth-child(1) dl{
  position: relative;
  letter-spacing: -.4em;
  padding-bottom: 30px;
  margin-bottom: 35px;
}
body#association .common--inner section:nth-child(1) dl::before,
body#association .common--inner section:nth-child(1) dl::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #34373d;
}
body#association .common--inner section:nth-child(1) dl::before{
  width: 100%;
  height: 1px;
}
body#association .common--inner section:nth-child(1) dl::after{
  bottom: -2px;
  width: 27%;
  height: 5px;
}

body#association .common--inner section:nth-child(1) dt{
  width: calc(28%);
  display: inline-block;
  font-size: 18px;
  font-weight: 600;
  letter-spacing:normal;
  vertical-align: top;
}
body#association .common--inner section:nth-child(1) dt span{
  font-size: 14px;
  font-weight: 500;
  padding-left: 10px;
}
body#association .common--inner section:nth-child(1) dd{
  width: calc(72% - 25px);
  padding-left: 25px;
  display: inline-block;
  font-size: 18px;
  letter-spacing:normal;
}

@media screen and (max-width: 1200px) {

  body#association .common--inner div.movarea{
    display:block;
    text-align:center;
    padding-bottom: 50px;
  }
  body#association .common--inner div.movarea iframe{
    display: inline-block;
    width: 280px;
    text-align: center;
    height: auto;
  }

  body#association .common--inner section #publication p {
    width: 90%;
    font-size: 14px;
    padding: 10px 0;
  }
  body#association .common--inner section #publication a img.thumbnail{
    display: inline-block;
    position: relative;
    max-width: 90%;
    margin: 0;
    border: solid 1px #ccc;
  }
  body#association .common--inner section{
    padding: 30px 0 30px;
  }
  body#association .common--inner section h3{
    font-size: 24px;
    padding-bottom: 12px;
  }
  body#association .common--inner section:nth-child(1) dt,
  body#association .common--inner section:nth-child(1) dd{
    font-size: 14px;
  }
  body#association .common--inner section:nth-child(1) dt span{
    display: block;
    padding-left: 0;
  }
  body#association .common--inner section:nth-child(1) dd{
    width: calc(72% - 15px);
    padding-left: 15px;
  }
}

/*役員*/

body#association .common--inner section:nth-child(2) table{
  width: 100%;
  table-layout:fixed;
}
body#association .common--inner section:nth-child(2) table td{
  font-size: 16px;
  padding: 10px 10px 10px 10px;
  background-color: #fff;
  border: 2px solid #9AC2E4;
}
body#association .common--inner section:nth-child(2) table td:nth-of-type(1){
  width: 20%;
  text-align:center;
}
body#association .common--inner section:nth-child(2) table td:nth-of-type(2){
  width: 44%;
}

@media screen and (max-width: 1200px) {
  body#association .common--inner section:nth-child(2) table{
    width: 95%;
    table-layout:fixed;
  }
  body#association .common--inner section:nth-child(2) table td{
    font-size: 14px;
    padding: 10px 10px 10px 15px;
  }
  body#association .common--inner section:nth-child(2) table td:nth-of-type(1){
    width: 17%;
    text-align:center;
  }
  body#association .common--inner section:nth-child(2) table td:nth-of-type(2){
    width: 30%;
  }
}

/* 目的 */
body#association .common--inner section:nth-child(3){
  counter-reset: list_number 0;
}
body#association .common--inner section:nth-child(3) p{
  font-size: 24px;
  font-weight: 600;
}
@media screen and (max-width: 1200px) {
  body#association .common--inner section:nth-child(3) p{
    font-size: 18px;
  }
}

/* 主たる活動 */
body#association .common--inner section:nth-child(4){
  counter-reset: list_number 0;
}
body#association .common--inner section:nth-child(4) li{
  position: relative;
  height:60px;
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 10px;
  padding-left: 80px;
}
body#association .common--inner section:nth-child(4) li:last-child{
  margin-top: 10px;
}
body#association .common--inner section:nth-child(4) li::before{
  counter-increment: list_number 1;
  content: counter(list_number) "";
  position: absolute;
  left: 0;
  width: 60px;
  height: 60px;
  text-align: center;
  font-size: 36px;
  line-height: 60px;
  color: #fff;
  background-color: #83b3f6;
}

@media screen and (max-width: 1200px) {
  body#association .common--inner section:nth-child(4) li{
    height: 120px;
    font-size: 16px;
    padding-left: 70px;
  }
  body#association .common--inner section:nth-child(4) li::before{
    top: 0;
    width: 50px;
    height: 50px;
    font-size: 28px;
    line-height: 50px;
  }
}

/* 海外事務所 */
body#association .common--inner section:nth-child(5) .subttl{
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 28px;
}
body#association .common--inner section:nth-child(5) table{
  width: 100%;
  table-layout:fixed;
}
body#association .common--inner section:nth-child(5) table tr{
  border-bottom: 2px solid #e9f2ff;
}
body#association .common--inner section:nth-child(5) table td{
  font-size: 16px;
  padding: 10px 20px 10px 25px;
  background-color: #fff;
  border: 2px solid #9AC2E4;
  vertical-align: top;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
body#association .common--inner section:nth-child(5) table td:nth-child(1){
  width: 26%;
  font-weight: 600;
}

@media screen and (max-width: 1200px) {
  body#association .common--inner section:nth-child(5) table{
    width: 95%;
    table-layout:fixed;
  }
  body#association .common--inner section:nth-child(5) .subttl{
    font-size: 18px;
    margin-bottom: 22px;
  }
  body#association .common--inner section:nth-child(5) table td{
    font-size: 14px;
  }

}

/*
********************************************** 会長挨拶
 */
body#greeting section#greeting{
  background-color: #fff;
  padding: 0;
}
body#greeting .main__keyvisual{
  background:url("../img/greeting/img_keyvisual.jpg")center no-repeat;
}
body#greeting #CEO_photo{
	display:inline-block;
	width:320px;
	height:460px;
	float:right;
	margin:30px;
}
body#greeting #CEO_photo .photo,
body#greeting #CEO_photo .sig{
	width:320px;
}

body#greeting section#greeting p{
	font-size:1.1rem;
	line-height:1.8rem;
	letter-spacing:0.05em;
	padding:15px;
}
p.textR{
	display:inline-block;
	width:100%;
	font-size:1.3em !important;
	text-align:right;
	margin-top:20px;
}

@media screen and (max-width: 1200px) {

  body#greeting #CEO_photo{
    float:none;
    width: 90%;
  }
  body#greeting #CEO_photo .photo {
    max-width: 90%;
    margin-left: calc(45% - 140px);
    min-width: 280px;
  }
  p.textR{
	width:90%;
  }
  body#greeting section#greeting p{
    font-size:1.1rem;
    line-height:1.8rem;
    letter-spacing:0.05em;
    padding:15px;
    width:90%;
  }
}
/*
********************************************** お知らせ
 */

body#news section#news{
  background-color: #fff;
  padding: 0;
}
body#news .main__keyvisual{
  background:url("../img/news/img_keyvisual.jpg")center no-repeat;
}

body#news_detail .main__keyvisual{
  background:url("../img/news/img_keyvisual.jpg")center no-repeat;
}
body#news_detail .headline{
  border: 1px solid #cccccc;
  margin-bottom: 35px;
  padding: 35px 36px;
}
body#news_detail .headline .member{
  display: inline-block;
  position: absolute;
  right: 0;
  top: 0;
  background:#0550bf url("../img/common/icon.key.png")right 10px center no-repeat;
  background-size: 13px;
  color: #fff;
  padding: 4px 30px 4px 12px;
}
body#news_detail .headline dt{
  margin-bottom: 25px;
}
body#news_detail .headline dt p{
  display: inline-block;
  margin-right: 30px;
  font-size: 14px;
  line-height: 1rem;
}
body#news_detail .headline dt .cat{
  position: relative;
  padding-left: 44px;
}

body#news_detail .headline dd{
  font-size: 22px;
  font-weight: 600;
}
body#news_detail .contents div{
  margin-bottom: 30px;
}
body#news_detail .contents p{
  font-size: 16px;
  line-height: 32px;
}
body#news_detail .contents img{
/*  width: 100%;*/
}
body#news_detail .contents .two__column{
  letter-spacing: -.4em;
}
body#news_detail .contents .two__column p{
  display: inline-block;
  width: 440px;
  vertical-align: top;
  letter-spacing: normal;
}
body#news_detail .contents .two__column p:first-of-type{
  margin-right: 50px;
}

@media screen and (max-width: 1200px) {
  body#news_detail .contents .two__column p{
    width: 100%;
  }
  body#news_detail .contents .two__column p:first-of-type{
    margin-right: 0px;
    margin-bottom: 30px;
  }
  body#news_detail .contents img{
    width: 100%;
  }
}

/*
********************************************** 会員ログイン
 */

body#login .main__keyvisual{
 background:url("../img/common/img_keyvisual_login.jpg")center no-repeat;
}
body#login h3{
  border-bottom: 1px solid #cccccc;
  color: #34373d;
  font-size: 24px;
  line-height: 1em;
  padding-bottom: 16px;
  margin-bottom: 40px;
  font-weight: 600;
}
body#login input[type="submit"]{
  width: 100%;
  height: 100%;
  font-size: 1.0em;
  display: block;
  border: none;
  outline: 0;
  cursor: pointer;
  color: #fff;
  background: none;
  font-weight: 600;
}
body#login form .form_wrap{
  border: 1px solid #999;
  padding: 30px 4% 60px 3%;
  margin-bottom: 40px;
  background: #f5faff;
}
body#login form .form_list:nth-of-type(1){
  margin-bottom: 38px;
}
body#login form .form_list label{
  display: inline-block;
  width: 20%;
  font-size: 18px;
  font-weight: 600;
}
body#login form .form_list input{
  display: inline-block;
/*  background-color: #f4f4f4;*/
  width: 75%;
  height: 40px;
  padding: 0 2%;
  font-size: 18px;
  border:solid 1px #666;
}
body#login form .btn__common{
  margin: 0 auto;
  top:35px;
}

@media screen and (max-width: 1200px) {
  body#login form .form_list label{
    width: 90%;
    font-size: 16px;
  }
  body#login form .form_list input{
    width: 90%;
    height: 40px;
    font-size: 16px;
  }
}

/*
********************************************** 会員/IMMAJ会員トップ
 */

body#member_top .main__keyvisual{
 background:url("../img/member/img_keyvisual.jpg")center no-repeat;
}
body#member_top section#news{
  background-color:inherit;
  padding: 0;
  margin-bottom: 70px;
}
body#member_top section#schedule li:nth-of-type(1){
  border-top: 1px solid #cccccc;
}
body#member_top section#schedule li{
  border-bottom: 1px solid #cccccc;

}
body#member_top section#schedule li a{
  display: inline-block;
  width: 100%;
  padding: 28px 0;
}
body#member_top section#schedule li a:hover{
  background-color: #e9f2ff;
}
body#member_top section#schedule li span{
  display: inline-block;
  padding: 0 3%;
  font-size: 10px;
  color: #000;
  line-height: 28px;
  vertical-align: top;
}
body#member_top section#schedule li p{
  display: inline-block;
  width: 88%;
  font-size: 18px;
  color: #000;
  font-weight: 600;
}

@media screen and (max-width: 1200px) {
  body#member_top section#schedule li a{
    width: 95%;
    padding: 28px 2.5%;
  }
  body#member_top section#schedule li span{
    display: block;
    padding: 0;
  }
  body#member_top section#schedule li p{
    display: block;
    width: 100%;
  }
}

/*
********************************************** 会員/ECDIS Manual紹介
*/

body#ecdisapp .main__keyvisual{
background:url("../img/member/img_keyvisual.jpg")center no-repeat;
}
body#ecdisapp section.contents > div{
  float: left;
}
body#ecdisapp section.contents > div:nth-of-type(1){
  width: 75%;
}
body#ecdisapp section.contents > div:nth-of-type(1) h4{
  font-size: 22px;
  font-weight: 600;
  line-height: 1em;
  padding-bottom: 14px;
  border-bottom: 1px solid #cccccc;
  margin-bottom: 35px;
  padding-top: 45px;
}
body#ecdisapp section.contents > div:nth-of-type(1) p{
  font-size: 16px;
  line-height: 2em;
}
body#ecdisapp section.contents > div:nth-of-type(1) img{
  width: 100%
}
body#ecdisapp section.contents > div:nth-of-type(1) .constitution{
  letter-spacing: -.4em;
  padding-top: 35px;
}
body#ecdisapp section.contents > div:nth-of-type(1) .constitution dl{
  display: inline-block;
  letter-spacing: normal;
  width: 46.8%;
  margin-bottom: 25px;
}
body#ecdisapp section.contents > div:nth-of-type(1) .constitution dl:nth-child(odd){
  margin-right: 6.4%;
}
body#ecdisapp section.contents > div:nth-of-type(1) .constitution dl dt{
  margin-bottom: 10px;
}


body#ecdisapp section.contents > div:nth-of-type(2){
  width: calc(25% - 60px);
  padding-left: 60px;
}
body#ecdisapp section.contents > div:nth-of-type(2) .app{
  border: 1px solid #0550bf;
}
body#ecdisapp section.contents > div:nth-of-type(2) .app h4{
  background-color: #073a86;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  line-height: 1em;
  padding: 12px 0;
}
body#ecdisapp section.contents > div:nth-of-type(2) .app img{
  width: 100%;
}
body#ecdisapp section.contents > div:nth-of-type(2) .app > div{
  padding: 30px 11.5%;
}
body#ecdisapp section.contents > div:nth-of-type(2) .app dl{
  padding-top: 35px;
}
body#ecdisapp section.contents > div:nth-of-type(2) .app dl dt{
  position: relative;
  font-size: 14px;
  margin-bottom: 18px;
}
body#ecdisapp section.contents > div:nth-of-type(2) .app dl dt span{
  background-color: #fff;
  padding-right: 4px;
}
body#ecdisapp section.contents > div:nth-of-type(2) .app dl dt::before{
  content: "";
  position: absolute;
  top: 50%;
  z-index: -1;
  width: 100%;
  height: 1px;
  background-color: #ccc;
}
body#ecdisapp section.contents > div:nth-of-type(2) .app dl dd li:nth-child(1){
  margin-bottom: 20px;
}
body#ecdisapp section.contents > div:nth-of-type(2) .app dl dd li:nth-child(2){
  padding: 0 10%;
}
body#ecdisapp section.contents > div:nth-of-type(2) .app dl dd li.manuallnk{
  display:inline-block;
  width:152px;
  background-color: #000;
  padding:5px;
  text-align:center;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
body#ecdisapp section.contents > div:nth-of-type(2) .app dl dd li.icon_pdf{
  margin-left:0px !important;
}
body#ecdisapp section.contents > div:nth-of-type(2) .app dl dd li.manuallnk a{
  color:#fff;
  font-size:13px;
  font-weight:600;
}
@media screen and (max-width: 1200px) {
  body#ecdisapp section.contents > div{
    float: left;
  }
  body#ecdisapp section.contents > div:nth-of-type(1){
    width: 100%;
  }
  body#ecdisapp section.contents > div:nth-of-type(2){
    width: 100%;
    padding-left: 0px;
  }
  body#ecdisapp section.contents > div:nth-of-type(1) .constitution dl{
    display: block;
    width: 100%;
  }
 body#ecdisapp section.contents > div:nth-of-type(2) .app dl dd li.manuallnk{
   width:100%;
 }
}

/*
********************************************** 会員/会員向けFAQ
*/

body#faq .main__keyvisual{
  background:url("../img/member/img_keyvisual.jpg")center no-repeat;
}

/**/
body#faq section.contents > div{
  float: right;
}

body#faq section.contents > div:nth-of-type(1){
  width: calc(25% - 60px);
  padding-left: 60px;
  margin-bottom: 40px;
}
/*20200608 */

body#faq section.contents > div:nth-of-type(1){
/*	position: fixed;*/
  position: -webkit-sticky;
  position: sticky;
	top: 190px;
	right: 100px;
}

body#faq section.contents > div:nth-of-type(2){
  width: 75%;
}
body#faq section.contents .category{
  margin-bottom: 50px;
}
body#faq section.contents .category h4{
  font-size: 22px;
  font-weight: 600;
  line-height: 1em;
  padding-bottom: 14px;
  margin-bottom: 36px;
  border-bottom: 1px solid #ccc;
}

body#faq section.contents .category .question{
  border: 1px solid #cccccc;
  border-top: none;
}
body#faq section.contents .category .question:nth-of-type(1){
  border-top: 1px solid #cccccc;
}
body#faq section.contents .category .question .button{
  padding: 30px 80px 30px 60px;
  cursor: pointer;
  position: relative;
  text-align: left;
}
body#faq section.contents .category .question .button span.ttl{
  font-size: 16px;
  font-weight: bold;
  position: relative;
  display: block;
}
body#faq section.contents .category .question .button span.ttl::before{
  content: "Q";
  color: #34373d;
  position: absolute;
  left: -30px;
  top: -6px;
  font-size: 24px;
}
body#faq section.contents .category .question .answer{
  background-color: #f4f4f4;
  padding: 30px 35px 30px 80px;
  text-align: left;
}
/*add*/
body#faq section.contents .category .question .answer table{
  border: solid 1px #ccc;
  border-collapse: collapse;
}
body#faq section.contents .category .question .answer table th{
  background-color: #cce5ff;
  border:solid 1px #ccc;
  padding: 5px;
  text-align: center;
  word-break: keep-all;
}
body#faq section.contents .category .question .answer table td{
  background-color: #fcfcfc;
  border:solid 1px #ccc;
  padding: 5px;
  text-align: left;
}
/*add*/

body#faq section.contents .category .question .answer span{
  font-size: 14px;
  position: relative;
}
body#faq section.contents .category .question .answer span::before{
  content: "A";
  position: absolute;
  left: -22px;
  top: -4px;
  font-size: 18px;
}
body#faq section.contents .category .question .answer img{
  margin:10px auto;
}
body#faq section.contents .category .question .icon{
  position: absolute;
  right: 20px;
  top: calc(50% - 20px);
  width: 40px;
  height: 40px;
  background-color: #0550bf;
  transition: all .4s;
}
body#faq section.contents .category .question .button.active .icon{
  background-color: #d5d8dd;
}
body#faq section.contents .category .question .icon span {
  position: absolute;
  right: 10px;
  top: 7px;
  width: 16px;
  height: 16px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
body#faq section.contents .category .question .button.active .icon span {
  top: 16px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
body#faq section.contents strong.caution {
  color: #e62e2e;
  font-weight: normal;
}

@media screen and (max-width: 1200px) {
  body#faq section.contents > div{
    float:none;
  }
  body#faq section.contents > div:nth-of-type(1){
    width: 100%;
    padding-left: 0px;
  }

  body#faq section.contents > div:nth-of-type(1){
    width: 100%;
    padding-left: 0px;
    position:inherit;
/*20200608*/
  }

  body#faq section.contents > div:nth-of-type(2){
    width: 100%;
  }
}

/*
********************************************** 会員/会則・協約・確認書等
*/
body#agreementold .main__keyvisual,
body#agreement .main__keyvisual{
  background:url("../img/member/img_keyvisual.jpg")center no-repeat;
}
/**/
body#agreementold section.contents > div,
body#agreement section.contents > div{
  float: right;
}
body#agreementold section.contents > div:nth-of-type(1),
body#agreement section.contents > div:nth-of-type(1){
  width: calc(25% - 60px);
  padding-left: 60px;
  margin-bottom: 40px;
}
/*20200608 */
body#agreementold section.contents > div:nth-of-type(1),
body#agreement section.contents > div:nth-of-type(1){
/*	position: fixed;*/
  position: -webkit-sticky;
  position: sticky;
	top: 190px;
	right: 100px;
}
body#agreementold section.contents > div:nth-of-type(2),
body#agreement section.contents > div:nth-of-type(2){
  width: 75%;
}
body#agreementold section.contents .category,
body#agreement section.contents .category{
  padding-bottom: 20px;
}
body#agreementold section.contents .category h4,
body#agreement section.contents .category h4{
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3em;
  padding-bottom: 15px;
  padding-top:10px;
  margin-bottom: 25px;
  border-bottom: 1px solid #cccccc;
}
body#agreementold section.contents .category dl,
body#agreement section.contents .category dl{
  margin-bottom: 30px;
}
body#agreementold section.contents .category dl a,
body#agreement section.contents .category dl a{
  font-size: 16px;
  color: #34373d;
  font-weight: 500;
}
body#agreementold section.contents .category dl a:hover,
body#agreement section.contents .category dl a:hover{
  color: #000;
}
body#agreementold section.contents .category dl dt,
body#agreement section.contents .category dl dt{
  position: relative;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 18px;
  padding-left: 15px;
}
body#agreementold section.contents .category dl dt::before,
body#agreement section.contents .category dl dt::before{
  content: "";
  position: absolute;
  left: 0;
  top:10px;
  width: 10px;
  height: 10px;
  background-color: #34373d;
}
body#agreementold section.contents .category dl dd li,
body#agreement section.contents .category dl dd li{
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 500;
}
body#agreementold section.contents .category dl dd p,
body#agreement section.contents .category dl dd p{
  font-size: 16px;
  margin-left: 18px;
  margin-bottom: 14px;
}

@media screen and (max-width: 1200px) {
  body#agreementold section.contents > div,
  body#agreement section.contents > div{
    float:none;
  }
  body#agreementold section.contents > div:nth-of-type(1),
  body#agreement section.contents > div:nth-of-type(1){
    width: 100%;
    padding-left: 0px;
    position:inherit;/*20200608*/
  }
  body#agreementold section.contents > div:nth-of-type(2),
  body#agreement section.contents > div:nth-of-type(2){
    width: 100%;
  }
  body#agreementold section.contents .category h3,
  body#agreement section.contents .category h3{
    margin-bottom: 20px;
  }
  body#agreementold section.contents .category h4,
  body#agreement section.contents .category h4{
    font-size: 18px;
    font-weight: 600;
    line-height: 1.6em;
    padding-bottom: 15px;
    padding-top:0px;
    margin-bottom: 20px;
    border-bottom: 1px solid #cccccc;
  }
}

/*
********************************************** 会員/Seafarers’Support Fund
*/

body#member_ssf .main__keyvisual{
background:url("../img/member/img_keyvisual.jpg")center no-repeat;
}

/*
********************************************** 会員/IMMAJ/PJMCC会員リスト
*/
body#members .main__keyvisual,
body#memberslist .main__keyvisual{
background:url("../img/member/img_keyvisual.jpg")center no-repeat;
}
body#members section.contents h4,
body#memberslist section.contents h4{
  font-size: 13px;
  font-weight: 600;
  line-height: 1em;
  border-bottom: 1px solid #cccccc;
  padding-bottom: 13px;
  margin-bottom: 30px;
}
body#members section.contents div.membergroup,
body#memberslist section.contents div.membergroup{
  display:block;
  width:calc(100% - 20px);
  font-size:24px;
  color:#fff;
  padding:5px 0px 5px 20px;
  margin:5px 0px 20px 0px;
  background:#003A8F;
}
body#members section.contents div.membergroup span,
body#memberslist section.contents div.membergroup span{
  float: right;
  font-size: 0.6em;
  padding: 10px;
}
body#members section.contents ul {
  margin-bottom: 50px;
  letter-spacing: -.4em;
  display: flex;
  flex-flow: row wrap;
  justify-self: center;
  gap: 10px;
}
body#members section.contents ul li {
  letter-spacing:normal;
  letter-spacing: -.4em;
  display: flex;
  width: calc(50% - 25px);
  letter-spacing: normal;
  height: 32px;
  align-items: center;
}
body#members section.contents ul li p{
  display: block;
  font-size: 15px;
  font-weight: 600;
  padding-left: 20px;
}
body#members section.contents ul li p a {
 color:#111;
 font-weight:600;
}

/*ログイン後ロゴ付きスタイル*/
/*
body#memberslist section.contents ul{
  margin-bottom: 50px;
  letter-spacing: -.4em;
  display: flex;
  flex-flow: row wrap;
  justify-self: center;
  gap: 10px;
}
*/
body#memberslist section.contents ul{
  display: flex;
  flex-flow: row wrap;
  gap: 40px 25px;
  margin: 0 0 50px 25px
}
/*
body#memberslist section.contents ul li{
  letter-spacing:normal;
  letter-spacing: -.4em;
  display: flex;
  width: calc(50% - 25px);
  letter-spacing: normal;
  height: 68px;
  align-items: center;
}
*/

body#memberslist section.contents ul li{
  display: flex;
  width: calc(50% - 45px);
  letter-spacing: normal;
  flex-flow: column-reverse;
  height: calc(60px + 30px);
  border: solid 1px #cccccc;
  padding: 10px 0px 10px 20px;
  align-items: flex-start;
  justify-content: center;
}
/*
body#memberslist section.contents ul li div{
  display: inline-block;
  width: 100px;
  height: 68px;
  vertical-align:middle;
}
*/
body#memberslist section.contents ul li div{
  display: flex;
  width: 100%;
  align-items: center;
  padding: 0 0 0 5px;
}
body#memberslist section.contents ul li div span img{
  max-height:60px;
  max-width: 250px;
}
/*
body#memberslist section.contents ul li div span{
  display: flex;
  justify-content:center;
  align-items: center;
  width: 100%;
  height: 100%;
  border: 1px solid #ccc;
}
body#memberslist section.contents ul li div span img{
  max-height:60px;
}
*/

body#memberslist section.contents ul li p{
  display: block;
  font-size: 14px;
  font-weight: 600;
  margin: 0.5em 0 0 0;
  padding-left: 10px;
}
body#memberslist section.contents ul li p a{
 color:#111;
 font-weight:600;
}

@media screen and (max-width: 1200px) {
  body#members section.contents h4,
  body#memberslist section.contents h4{
    font-size: 13px;
  }
  body#memberslist section.contents ul{
    display: flex;
    flex-flow: row wrap;
    gap: 0px;
    margin: 0 0 20px 0;
  }
  body#members section.contents ul li {
    width: 100%;
  }
  body#memberslist section.contents ul li {
    display: flex;
    width: 100%;
    letter-spacing: normal;
    flex-flow: column-reverse;
    height: calc(60px + 30px);
    border: solid 1px #cccccc;
    align-items: flex-start;
    justify-content: center;
}
  body#members section.contents ul li:not(:last-child),
  body#memberslist section.contents ul li:not(:last-child){
    margin-bottom: 20px;
  }
  body#members section.contents ul li p,
  body#memberslist section.contents ul li p{
    font-size: 14px;
  }
  body#members section.contents ul li p{
  display: block;
  width: 100%;
  padding-left: 20px;
 }
 body#memberslist section.contents ul li p {
  display: block;
  font-size: 14px;
  font-weight: 600;
  padding-left: 10px;
 }
}
@media screen and (max-width:640px){
  body#memberslist section.contents ul{
    display: flex;
    flex-flow: row wrap;
    gap: 0px 25px;
    margin: 0 0 40px 0;
  }
}
/*
********************************************** 会員/教材コンテンツ
*/

body#guidance .main__keyvisual{
 background:url("../img/member/img_keyvisual.jpg")center no-repeat;
}
body#guidance section.maintitle{
  margin-bottom: 30px;
}
body#guidance section.maintitle p{
  font-size: 16px;
  margin-bottom: 10px;
}
body#guidance section.maintitle .btn__common{
  float: left;
  width: 280px;
  vertical-align: top;
  margin-right: 10px;
  margin-bottom: 10px;
}

body#guidance section.contents > div{
  float: left;
}
body#guidance section.contents > div:nth-of-type(1){
  width: 320px;
}
body#guidance section.contents > div:nth-of-type(2){
  width: calc(100% - 320px);
}
body#guidance section.contents .category_guidance{
  width: 100%;
}
body#guidance section.contents .category_guidance p{
  display: block;
  width: calc(100% - 6px);
  background: #011b4e;
  color: #fff;
  padding: 3px;
  text-indent: 5px;
  font-size: 0.8rem;
}
body#guidance section.contents .menu {
  width: 100%;
}
body#guidance section.contents .menu li.active a,
body#guidance section.contents .menu a:hover{
  background-color: #d2e4ff;
}

body#guidance section.contents .menu label {
    display: block;
    margin: 0 0 1px 0;
    padding : 15px;
    font-size: 16px;
    font-weight: 600;
    color :#fff;
    background : #0550bf;
    cursor :pointer;
}
body#guidance section.contents .menu label:hover {
    background : #003a8f;
}
body#guidance section.contents .menu input {
    display: none;
}
body#guidance section.contents .menu ul{
  overflow: hidden;
}

body#guidance section.contents .menu li {
  border-bottom: 1px solid #fff;
  margin-top: -70%;
  transition: all 0.5s ease-out;
}
body#guidance section.contents .menu a {
  display: flex;
  padding: 13px 15px 13px 15px;
  font-size: 13px;
  line-height:1.1rem;
  font-weight: 500;
  color: #34373d;
  background-color: #e9f2ff;
}
body#guidance section.contents .menu a::before{
  position: absolute;
  left: 13px;
  top: 13px;
}
body#guidance section.contents .menu .ac-parent:checked + label + ul > li {
  margin-top: 0;
}
body#guidance section.contents .menu .ac-parent:checked + label{
  background-color: #003a8f;
}

body#guidance section.contents #addmenu .menuitem a{
  display: block;
  margin: 0 0 1px 0;
  padding: 15px;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  background: #0550bf;
  cursor: pointer;
}
body#guidance section.contents #addmenu .menuitem a:hover{
    background : #003a8f;
}

@media screen and (min-width: 480px) {
 body#guidance section.contents .tab_content{
  padding-left: 5.7%;
 }
}
body#guidance section.contents .tab_content h4{
  font-size: 22px;
  font-weight: 600;
  line-height: 1em;
  padding-bottom: 20px;
  margin-bottom: 40px;
  border-bottom: 1px solid #cccccc;
}
body#guidance section.contents .tab_content > div{
  float: left;
  width: 40%;
}
body#guidance section.contents .tab_content > ul{
  float: right;
  width: 58%;
}
body#guidance section.contents .tab_content > ul li{
  margin-bottom: 10px;
}
body#guidance section.contents .tab_content > ul li a{
  font-size: 16px;
  color: #34373d;
  position: relative;
  display: inline-block;
}
body#guidance section.contents .tab_content > ul li a:hover{
  color: #000;
}
body#guidance section.contents .tab_content > ul.arrow{
  margin-bottom: 20px;
}
body#guidance section.contents .tab_content > ul.arrow li a{
  padding-left: 30px;
}
body#guidance section.contents .tab_content > ul.arrow li a::before{
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #0550bf;
  position:absolute;
  left: 0;
  top: 3px;
}
body#guidance section.contents .tab_content > ul.arrow li a:hover::before{
  background-color: #003a8f;
}
body#guidance section.contents .tab_content > ul.arrow li a::after{
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 6px;
  border-color: transparent transparent transparent #fff;
  position:absolute;
  left: 8px;
  top: 10px;
}

body#guidance section.contents .tab_content > ul li a.btn__common {
  width: 100%;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #0550bf;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: .3s;
}
ul.download-btns {
  margin-top:2.0rem;
}

body#guidance section.contents .tab_content > ul li.icon_pdf{
  margin-left: -5px;
}
body#guidance section.contents .tab_content > ul li.icon_pdf a{
  padding-left: 36px;
}
body#guidance section.contents .tab_content > ul li.icon_pdf a::before{
  left: 0;
  top: 2px;
  width: 26px;
  height: 25px;
}

@media screen and (max-width: 1200px) {
  body#guidance section.contents > div:nth-of-type(1){
    width: 40%;
  }
  body#guidance section.contents > div:nth-of-type(2){
    width: 60%;
  }
  body#guidance section.contents .tab_content > div{
    margin-bottom: 20px;
  }
  body#guidance section.contents .tab_content > div,
  body#guidance section.contents .tab_content > ul{
    float:none;
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  body#guidance section.contents > div:nth-of-type(1){
    width: 100%;
  }
  body#guidance section.contents > div:nth-of-type(2){
    width: 100%;
  }
  .tab_content{
  margin-top:20px;
  }
  body section.contents .tab_content{
  padding-left:0%;
  }
}

/*
************************ エンジントラブル教材コンテンツ
 */

body#enginetroubles .main__keyvisual{
 background:url("../img/member/img_keyvisual.jpg")center no-repeat;
}
body#enginetroubles section.maintitle{
  margin-bottom: 30px;
}
body#enginetroubles section.maintitle p{
  font-size: 16px;
  margin-bottom: 10px;
}
body#enginetroubles section.maintitle .btn__common{
  float: left;
  width: 280px;
  vertical-align: top;
  margin-right: 10px;
  margin-bottom: 10px;
}

body#enginetroubles section.contents > div{
  float: left;
}
body#enginetroubles section.contents > div:nth-of-type(1){
  width: 320px;
}
body#enginetroubles section.contents > div:nth-of-type(2){
  width: calc(100% - 320px);
}
body#enginetroubles section.contents .category_guidance{
  width: 100%;
}
body#enginetroubles section.contents .category_guidance p{
  display: block;
  width: calc(100% - 6px);
  background: #011b4e;
  color: #fff;
  padding: 3px;
  text-indent: 5px;
  font-size: 0.8rem;
}
body#enginetroubles section.contents .menu {
  width: 100%;
}
body#enginetroubles section.contents .menu li.active a,
body#enginetroubles section.contents .menu a:hover{
  background-color: #d2e4ff;
}

body#enginetroubles section.contents .menu label {
    display: block;
    margin: 0 0 1px 0;
    padding : 15px;
    font-size: 16px;
    font-weight: 600;
    color :#fff;
    background : #0550bf;
    cursor :pointer;
}
body#enginetroubles section.contents .menu label:hover {
    background : #003a8f;
}
body#enginetroubles section.contents .menu input {
    display: none;
}
body#enginetroubles section.contents .menu ul{
  overflow: hidden;
}

body#enginetroubles section.contents .menu li {
  border-bottom: 1px solid #fff;
  margin-top: -70%;
  transition: all 0.5s ease-out;
}
body#enginetroubles section.contents .menu a {
  display: flex;
  padding: 13px 15px 13px 15px;
  font-size: 13px;
  line-height:1.1rem;
  font-weight: 500;
  color: #34373d;
  background-color: #e9f2ff;
}
body#enginetroubles section.contents .menu a::before{
  position: absolute;
  left: 13px;
  top: 13px;
}
body#enginetroubles section.contents .menu .ac-parent:checked + label + ul > li {
  margin-top: 0;
}
body#enginetroubles section.contents .menu .ac-parent:checked + label
{
  background-color: #003a8f;
}

/*#enginetroubles*/
body section.contents .tab_content{
  padding-left: 5.7%;
}
body section.contents .tab_content h3{
  font-size: 16px;
  font-weight: 600;
  line-height: 1em;
  margin-bottom: 20px;
  padding: 8px 5px 8px 10px;
  background:#0550BF;
  color:#fff;
}
body section.contents .tab_content h4{
  font-size: 22px;
  font-weight: 600;
  line-height: 1em;
  padding-bottom: 20px;
  margin-bottom: 40px;
  border-bottom: 1px solid #cccccc;
}
body section.contents .tab_content dt{
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3em;
  background:#D2E4FF;
  padding: 5px 3px 5px 10px;
  margin-bottom: 10px;
  display:inline-block;
  width:calc(100% - 10px);
}


body section.contents .tab_content dd{
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3em;
}
body section.contents .tab_content dl dd ul{
  float: right;
  width: 100%;
}
body section.contents .tab_content dl dd ul li{
  margin:10px 0 15px 15px;
}
body section.contents .tab_content dl dd ul li a{
  font-size: 16px;
  color: #34373d;
  position: relative;
  display: inline-block;
}
body section.contents .tab_content dl dd ul li a:hover{
  color: #000;
}
body section.contents .tab_content dl dd ul{
  margin-bottom: 20px;
}
body section.contents .tab_content dl dd ul li.icon_pdf{
  margin-bottom: 20px;
}
body section.contents .tab_content dl dd ul li.icon_pdf a{
}
body section.contents .tab_content dl dd ul li.icon_pdf a::before{
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
}
body section.contents .tab_content .icon_pdf span{
  display:inline-block;
  float:right;
}
body section.contents .tab_content .icon_pdf span:before{
  content:"Publish Date：";
}

body section.contents #tabSIText dd a{
 color:#333;
}

@media screen and (max-width: 1200px) {
  body#enginetroubles section.contents > div:nth-of-type(1){
    width: 40%;
  }
  body#enginetroubles section.contents > div:nth-of-type(2){
    width: 60%;
  }
  body#enginetroubles section.contents .tab_content > div{
    margin-bottom: 20px;
  }
  body#enginetroubles section.contents .tab_content > div,
  body#enginetroubles section.contents .tab_content dl dd ul{
    float:none;
    width: 100%;
  }
}

@media screen and (max-width: 480px) {
  body#enginetroubles section.contents > div:nth-of-type(1){
    width: 100%;
  }
  body#enginetroubles section.contents > div:nth-of-type(2){
    width: 100%;
  }
  body#enginetroubles section.contents .tab_content > div{
    margin-bottom: 20px;
  }
  body#enginetroubles section.contents .tab_content > div,
  body#enginetroubles section.contents .tab_content dl dd ul{
    float:none;
    width: 100%;
  }
  .tab_content{
  margin-top:20px;
  }
  body section.contents .tab_content{
  padding-left:0%;
  }
}

/*
********************************************** 海外における教育・研修活動
 */

body#facilities .main__keyvisual{
 background:url("../img/facilities/img_keyvisual.jpg")center no-repeat;
}
body#facilities .common--inner section.menu_member{
  padding:0px;
}
body#facilities .common--inner section{
  position: relative;
  padding: 30px 0 50px;
}
body#facilities .inner-menu section{
  position: relative;
}

body#facilities .common--inner section h3{
/*  width: 62%;*/
  font-size: 26px;
  font-weight: 600;
  border: none;
  background-color: #e9f2ff;
  padding: 8px 20px;
  color: #34373d;
  margin-bottom:20px;
}

body#facilities .common--inner section h4{
  font-size: 22px;
  font-weight: 600;
  border: none;
  background-color: #D3F0FB;
  padding: 8px 20px;
  color: #34373d;
  margin-bottom:20px;
}
body#facilities .content-underlayer h3.nation{
  width: 1060px;
  color: #011b4e;
  font-weight: 600;
  font-size: 30px;
  line-height: 1em;
  background-color: #fff;
  border-bottom: 6px solid #011b4e;
  padding-bottom: 18px;
  margin-bottom: 20px;
}

body#facilities .content-underlayer p.subttl{
  color: #011b4e;
  font-weight: 600;
  font-size: 22px;
  line-height: 1em;
  background-color: #fff;
  padding-bottom: 18px;
  margin-bottom: 30px;
  margin-left: 20px;
}
body#facilities .content-underlayer dd.phot_wrap{
  display:inline-block;
  text-align:center;
}
body#facilities .content-underlayer ul.photo_list{
 list-style:none;
 display:inline-block;
/* width:700px;*/
 width:1060px;
 margin: 30px 20px 30px 20px;
}
body#facilities .content-underlayer ul.photo_list li.topimg{
 width:405px;
}
body#facilities .content-underlayer ul.photo_list li.img{
 width:295px;
}
body#facilities .content-underlayer ul.photo_list li{
 display:inline-block;
 float:left;
 text-align: right;
 margin:10px;
}

body#facilities .content-underlayer ul.list_capton{
 display:inline-block;
 width:90%;
 margin : 10px auto 30px;
}
body#facilities .content-underlayer  dd.frblock ul.list_capton{
 display:inline-block;
 width:100%;
 margin : 0px auto 0px;
}
body#facilities .content-underlayer ul.list_capton lt{
 display:block;
 padding-bottom:20px;
 margin-top:20px;
}
body#facilities .content-underlayer ul.list_capton li{
 display:block;
 padding-left:40px;
 margin-bottom:10px;
 width:100%;
}
body#facilities .content-underlayer  dd.frblock ul.spec_capton{
 display:inline-block;
 width:100%;
 margin-bottom:30px;
}
body#facilities .content-underlayer ul.spec_capton lt{
 display:block;
 padding-left:15px;
 margin-bottom:10px;
 font-weight:600;
}
body#facilities .content-underlayer ul.spec_capton li{
 display:block;
 padding-left:40px;
 float:left;
}
body#facilities .content-underlayer ul.list_capton li:before,
body#facilities .content-underlayer ul.spec_capton li:before{
 content:"■";
 font-size:18px;
 margin-right:10px;
 margin-left: -26px;
 color: #4b9dd9;
}
body#facilities .content-underlayer dd.trainingwrap{
 display: block;
 width: 1060px;
 text-align: center;
}
body#facilities .content-underlayer #training{
  display:inline-block;
  width:960px;
}
body#facilities .content-underlayer #training li{
  float:left;
  display:block;
  width:290px;
  height:170px;
  margin:5px 10px 5px 10px;
  padding: 5px;
}
body#facilities .content-underlayer #training li span{
  display: inline-block;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-shadow: #000 2px 2px 3px;
  margin: 140px 0px 0px 0px;
  text-align: right;
  width: 100%;
}

body#facilities .content-underlayer #training #t01{
  background:url("../img/facilities/P01_brmt.jpg") no-repeat;
  background-size:cover;
}
body#facilities .content-underlayer #training #t02{
  background:url("../img/facilities/P02_ecdi.jpg") no-repeat;
  background-size:cover;
}
body#facilities .content-underlayer #training #t03{
  background:url("../img/facilities/P03_crud.jpg") no-repeat;
  background-size:cover;
}
body#facilities .content-underlayer #training #t04{
  background:url("../img/facilities/P04_wdcp.jpg") no-repeat;
  background-size:cover;
}
body#facilities .content-underlayer #training #t05{
  background:url("../img/facilities/P05_moor.jpg") no-repeat;
  background-size:cover;
}
body#facilities .content-underlayer #training #t06{
  background:url("../img/facilities/P06_ermt.jpg") no-repeat;
  background-size:cover;
}
body#facilities .content-underlayer #training #t07{
  background:url("../img/facilities/P07_meoh.jpg") no-repeat;
  background-size:cover;
}
body#facilities .content-underlayer #training #t08{
  background:url("../img/facilities/P08_bwme.jpg") no-repeat;
  background-size:cover;
}
body#facilities .content-underlayer #training #t09{
  background:url("../img/facilities/P09_msbt.jpg") no-repeat;
  background-size:cover;
}
body#facilities .content-underlayer #training #t10{
  background:url("../img/facilities/P10_refr.jpg") no-repeat;
  background-size:cover;
}
body#facilities .content-underlayer #training #t11{
  background:url("../img/facilities/P11_mosh.jpg") no-repeat;
  background-size:cover;
}
body#facilities .content-underlayer #training #t12{
  background:url("../img/facilities/P12_gall.jpg") no-repeat;
  background-size:cover;
}

body#facilities .content-underlayer p.caption{
 margin: 20px;
}
body#facilities .content-underlayer p.caption a.btn__common{
 font-size:16px;
 width:30%;
 margin:0 auto 0;
 border-radius: 40px;
}
@media screen and (max-width: 960px) {
  body#facilities .content-underlayer p.caption a.btn__common{
  font-size:14px;
  width:100%;
  margin:0 auto 0;
  border-radius: 40px;
  }
}
body#facilities .common--inner dl{
  position: relative;
  padding-bottom: 30px;
}
body#facilities .common--inner section dt{
  display: inline-block;
  width:1080px;
  background:#4B9DD9;
  font-size: 16px;
  font-weight:600;
  color:#fff;
  letter-spacing:normal;
  padding:10px;
  margin:20px 0px 10px 0px;
}
body#facilities .common--inner section dd{
  display: inline-block;
  width:100%;
  font-size: 16px;
  letter-spacing:normal;
}
body#facilities .common--inner section dd.flblock{
  display: inline-block;
  width:35%;
  vertical-align: top;
}
body#facilities .common--inner section dd.frblock{
  display: inline-block;
  width:55%;
  vertical-align: top;
}
 body#facilities .common--inner section p.cont{
  display:inline-block;
  width:90%;
  margin-left:20px;
 }
body#facilities .common--inner div.movarea{
    display:block;
    width:100%;
    text-align:center;
    padding-bottom: 50px;
}
body#facilities .common--inner div.movarea iframe{
    display:inline-block;
    width:560px;
    height:315px;
    text-align:center;
}
body#facilities .common--inner section iframe{
  display:inline-block;
}

@media screen and (max-width: 1200px) {
 body#facilities .common--inner section{
   padding: 30px 10px 30px 0;
 }
 body#facilities .common--inner section h3{
/*   width: 80%;*/
   font-size: 24px;
   padding: 8px 20px 12px 20px;
   margin-bottom:20px;
 }
 body#facilities .common--inner section h4{
   width: 90%;
   padding: 8px 20px 12px 20px;
   margin-bottom:20px;
   font-size: 18px;
   word-break: break-all;
 }
 body#facilities .content-underlayer h3.nation{
   width: 90%;
   padding-bottom: 18px;
   margin-bottom: 20px;
 }
 body#facilities .content-underlayer ul.photo_list{
  list-style:none;
  display:inline-block;
  width:100%;
  margin:0;
 }
 body#facilities .content-underlayer ul.photo_list li{
  display:inline-block;
  float:left;
  width:auto;
  text-align: center;
  margin: 10px 0;
 }
 body#facilities .content-underlayer ul.photo_list li.topimg{
  width:100%;
 }
 body#facilities .content-underlayer ul.photo_list li.img{
  width:100%;
 }


 body#facilities .content-underlayer ul.list_capton{
  width:90%;
  margin : 10px auto 10px;
 }
 body#facilities .content-underlayer  dd.frblock ul.spec_capton{
  display:inline-block;
  width:90%;
  margin : 0px auto 0px;
 }
 body#facilities .content-underlayer ul.list_capton lt{
  padding-bottom:15px;
 }
 body#facilities .content-underlayer ul.spec_capton li,
 body#facilities .content-underlayer ul.list_capton li{
  padding-left:30px;
  margin-bottom:10px;
 }
 body#facilities .content-underlayer ul.spec_capton li:before,
 body#facilities .content-underlayer ul.list_capton li:before{
  content:"■";
  font-size:18px;
  margin-left: -26px;
  margin-right:10px;
  color: #4b9dd9;
 }
 body#facilities .content-underlayer dd.trainingwrap{
  display: block;
  width: 100%;
  text-align: center;
 }
 body#facilities .content-underlayer #training{
  display:inline-block;
  width:100%;
 }
 body#facilities .content-underlayer #training li {
  float:none;
  display:block;
  width: 90%;
  height:170px;
  background-size:100%;
 }
 body#facilities .content-underlayer #training li span{
  display: inline-block;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-shadow: #000 2px 2px 3px;
  margin: 140px 10px 0px 0px;
  text-align:right;
  width:100%;
 }
 body#facilities .common--inner section p.cont{
  text-indent:none;
 }
  body#facilities .common--inner div.movarea{
    display:block;
    width:90%;
    text-align:center;
    padding-bottom: 50px;
  }
  body#facilities .common--inner div.movarea iframe{
    display:inline-block;
    width:280px;
    height:auto;
    text-align:center;
    margin-top: 20px;
  }
  body#facilities .common--inner section dt span{
    display: block;
  }
  body#facilities .common--inner section dt,
  body#facilities .common--inner section dd{
    width: calc(90% + 20px);
    font-size: 14px;
  }
 body#facilities .common--inner section dd.flblock img{
  width:80vw;
 }
 body#facilities .common--inner section dd.flblock{
  display: inline-block;
  width:100%;
  vertical-align: top;
  margin-bottom:30px;
  text-align:center;
 }
 body#facilities .common--inner section dd.frblock{
  display: inline-block;
  width:90%;
  vertical-align: top;
 }
}


/*
********************************************** サイトマップ
*/
body#sitemap .main__keyvisual{
background:url("../img/sitemap/img_keyvisual.jpg")center no-repeat;
}
body#sitemap section.contents h4{
  font-size: 13px;
  font-weight: 600;
  line-height: 1em;
  border-bottom: 1px solid #cccccc;
  padding-bottom: 13px;
  margin-bottom: 30px;
}
body#sitemap section.contents div.maplist{
  text-align:center;
}
body#sitemap section.contents dl{
  display:inline-block;
  width:60%;
  padding:0px;
}
body#sitemap section.contents dd{
  display:inline-block;
  width:45%;
  vertical-align: top;
}
body#sitemap section.contents ul{
  margin-bottom: 50px;
}
body#sitemap section.contents ul lt,
body#sitemap section.contents ul li{
  display: inline-block;
  width: 100%;
  letter-spacing:normal;
  margin-bottom: 10px;
}
body#sitemap section.contents ul li{
  margin-left:20px;
}

body#sitemap section.contents ul lt a,
body#sitemap section.contents ul li a{
 display:block;
 width:200px;
 padding:10px;
 background:#0066cc;
 font-weight:600;
 color:#fff;
 border-radius:5px;
}
body#sitemap section.contents ul lt a:hover,
body#sitemap section.contents ul li a:hover{
 display:block;
 width:200px;
 padding:10px;
 background:#00aacc;
 font-weight:600;
 color:#fff;
 border-radius:5px;
}
body#sitemap section.contents ul lt.nlink{
 display:block;
 width:200px;
 background:#011b4e;
 padding:10px;
 font-size:0.8em;
 font-weight:500;
 color:#fff;
 margin:0 0 20px 20px;
}

@media screen and (max-width: 1200px) {
  body#sitemap section.contents h4{
    font-size: 13px;
  }
  body#sitemap section.contents ul lt,
  body#sitemap section.contents ul li{
    display: block;
    width: 100%;
  }
}


/*
********************************************** MAAP案内
 */

body#maap .main__keyvisual{
 background:url("../img/member/img_keyvisual.jpg")center no-repeat;
}
body#maap .common--inner section.menu_member{
  padding:0px;
}
body#maap .common--inner section{
  position: relative;
  padding: 30px 0 50px;
}
body#maap .inner-menu section{
  position: relative;
}
body#maap .common--inner section h3{
/*  width: 62%;*/
  font-size: 26px;
  font-weight: 600;
  border: none;
  background-color: #e9f2ff;
  padding: 8px 20px;
  color: #34373d;
  margin-bottom:20px;
}
body#maap .common--inner section h4{
  font-size: 22px;
  font-weight: 600;
  border: none;
  background-color: #D3F0FB;
  padding: 8px 20px;
  color: #34373d;
  margin-bottom:20px;
}
body#maap .content-underlayer p.subttl{
  color: #011b4e;
  font-weight: 600;
  font-size: 22px;
  line-height: 1em;
  background-color: #fff;
  padding-bottom: 18px;
  margin-bottom: 30px;
  margin-left: 20px;
}
body#maap .content-underlayer dd.phot_wrap{
  dispaly:inline-block;
  text-align:center;
}
body#maap .content-underlayer ul.photo_list li{
 display:inline-block;
 float:left;
 text-align: right;
 margin:10px;
}
body#maap .content-underlayer ul.list_capton{
 display:inline-block;
 width:90%;
 margin : 10px auto 30px;
}
body#maap .content-underlayer  dd.frblock ul.list_capton{
 display:inline-block;
 width:100%;
 margin : 0px auto 0px;
}
body#maap .content-underlayer ul.list_capton lt{
 display:block;
 padding-bottom:20px;
 margin-top:20px;
}
body#maap .content-underlayer ul.list_capton li{
 display:block;
 padding-left:40px;
 margin-bottom:10px;
 width:100%;
}
body#maap .content-underlayer  dd.frblock ul.spec_capton{
 display:inline-block;
 width:100%;
 margin-bottom:30px;
}
body#maap .content-underlayer ul.spec_capton lt{
 display:block;
 padding-left:15px;
 margin-bottom:10px;
 font-weight:600;
}
body#maap .content-underlayer ul.spec_capton li{
 padding-left:40px;
 float: left;
}
body#maap .content-underlayer ul.list_capton li:before,
body#maap .content-underlayer ul.spec_capton li:before{
 content:"■";
 font-size:18px;
 margin-right:10px;
 margin-left: -26px;
 color: #4b9dd9;
 float:left;
}
body#maap .content-underlayer p.caption{
 margin: 10px;
}
body#maap .content-underlayer p.caption a{
 font-size:16px;
 color: #4b9dd9;
}
body#maap .common--inner dl{
  position: relative;
  padding-bottom: 30px;
}
body#maap .common--inner section dt{
  display: inline-block;
  width:1080px;
  font-size: 16px;
  font-weight:600;
  color:#111;
  letter-spacing:normal;
  padding:10px;
}
body#maap .common--inner section dd{
  display: inline-block;
  width:100%;
  font-size: 16px;
  letter-spacing:normal;
}
body#maap .common--inner div.movarea{
    display:block;
    width:100%;
    text-align:center;
    padding-bottom: 50px;
}
body#maap .common--inner div.movarea iframe{
    display:inline-block;
    width:560px;
    height:315px;
    text-align:center;
}
body#maap .common--inner section iframe{
  display:inline-block;
}
body#maap .common--inner section dd.flblock{
  display: inline-block;
  width:35%;
  vertical-align: top;
}
body#maap .common--inner section dd.frblock{
  display: inline-block;
  width:55%;
  vertical-align: top;
}
 body#maap .common--inner section p.cont{
  display:inline-block;
  width:90%;
  margin-left:20px;
 }
body#maap .common--inner table.maap{
  width: 99%;
  table-layout:fixed;
  margin: 0 auto;
}
body#maap .common--inner table.maap th{
  width: 30%;
  padding: 10px;
  background: #0550bf;
  color: #fff;
  border: 2px solid #9ac2e4;
}
body#maap .common--inner table.maap td{
  font-size: 16px;
  padding: 10px 10px 10px 10px;
  background-color: #fff;
  border: 2px solid #9AC2E4;
}
body#maap .common--inner table.access{
  width: 99%;
  table-layout:fixed;
  margin: 0px auto 20px;
}
body#maap .common--inner table.access th{
  width: 20%;
  padding: 10px;
  background: #0550bf;
  color: #fff;
  border: 2px solid #9ac2e4;
}
body#maap .common--inner table.access td{
  width: 60%;
  font-size: 16px;
  padding: 10px 10px 10px 10px;
  background-color: #fff;
  border: 2px solid #9AC2E4;
}
body#maap .common--inner dd.map{
  display:block;
  width:100%;
  text-align:center;
}
body#maap .common--inner dd.map img{
  display:inline;
}

@media screen and (max-width: 1200px) {
 body#maap .common--inner section{
   padding: 30px 10px 30px 0;
 }
 body#maap .common--inner section h3{
/*   width: 80%;*/
   font-size: 24px;
   padding: 8px 20px 12px 20px;
   margin-bottom:20px;
 }
 body#maap .common--inner section h4{
   width: 90%;
   padding: 8px 20px 12px 20px;
   margin-bottom:20px;
   font-size: 18px;
 }
 body#maap .content-underlayer h3.nation{
   width: 90%;
   padding-bottom: 18px;
   margin-bottom: 20px;
 }
 body#maap .content-underlayer ul.photo_list{
  list-style:none;
  display:inline-block;
  width:90%;
  margin : 30px auto 30px;
 }
 body#maap .content-underlayer ul.photo_list li{
  float:left;
  width:90%;
  text-align: center;
 }
 body#maap .content-underlayer ul.list_capton{
  width:90%;
  margin : 10px auto 10px;
 }
 body#maap .content-underlayer  dd.frblock ul.spec_capton{
  display:inline-block;
  width:90%;
  margin : 0px auto 0px;
 }
 body#maap .content-underlayer ul.list_capton lt{
  padding-bottom:15px;
 }
 body#maap .content-underlayer ul.spec_capton li,
 body#maap .content-underlayer ul.list_capton li{
  padding-left:30px;
  margin-bottom:10px;
 }
 body#maap .content-underlayer ul.spec_capton li:before,
 body#maap .content-underlayer ul.list_capton li:before{
  content:"■";
  font-size:18px;
  margin-left: -26px;
  margin-right:10px;
  color: #4b9dd9;
 }
 body#maap .content-underlayer dd.trainingwrap{
  display: block;
  width: 100%;
  text-align: center;
 }
 body#maap .content-underlayer #training{
  display:inline-block;
  width:90%;
 }
 body#maap .common--inner section p.cont{
  text-indent:none;
 }
  body#maap .common--inner div.movarea{
    display:block;
    width:90%;
    text-align:center;
    padding-bottom: 50px;
  }
  body#maap .common--inner div.movarea iframe{
    display:inline-block;
    width:280px;
    height:auto;
    text-align:center;
    margin-top: 20px;
  }
  body#maap .common--inner section dt span{
    display: block;
  }
  body#maap .common--inner section dt,
  body#maap .common--inner section dd{
    width: calc(90% + 20px);
    font-size: 14px;
  }
 body#maap .common--inner section dd.flblock img{
  width:80vw;
 }
 body#maap .common--inner section dd.flblock{
  display: inline-block;
  width:100%;
  vertical-align: top;
  margin-bottom:30px;
  text-align:center;
 }
 body#maap .common--inner section dd.frblock{
  display: inline-block;
  width:90%;
  vertical-align: top;
 }
}

/*
********************************************** 会員/recipe
*/

body#recipe .main__keyvisual{
background:url("../img/member/img_keyvisual.jpg")center no-repeat;
}
body#recipe section.contents div{
  margin: 35px 0 50px 0;
}
body#recipe section.contents .contents--wrap{
  margin: 0;
}
body#recipe section.contents > div h4{
  font-size: 22px;
  font-weight: 600;
  line-height: 1em;
  padding-bottom: 14px;
  border-bottom: 1px solid #cccccc;
}
body#recipe section.contents .contents-first dl{
  display:flex;
  margin: 35px 0;
}
body#recipe section.contents .contents-first dd{
  margin-left:40px;
  margin-bottom:40px;
}
body#recipe section.contents > div:nth-of-type(1) dd h4{
  font-size: 22px;
  font-weight: 600;
  line-height: 1em;
  padding-bottom: 14px;
  border-bottom: 1px solid #cccccc;
  margin-bottom: 15px;
  margin-top:20px;
}
body#recipe section.contents > div p{
  font-size: 16px;
  line-height: 2em;
}
body#recipe .countries li img{
    border:solid 1px #ccc;
    margin: 4px 10px 4px 4px;
    display: inline;
    height: 16px;
    width: auto;
}
body#recipe .countries{
    margin:30px;
}
/*ツールダウンロードリンク*/
body#recipe .tool_download{
    display:flex;
    flex-direction: row;
    align-content: center;
    flex-wrap: wrap;
    width: 100%;
    margin:30px;
}
body#recipe .tool_download dd{
    display:inline-block;
    width:30%;
    font-size:16px;
    text-align:center;
}
body#recipe .tool_download dd ul li{
    display:block;
    font-size:16px;
    text-align:left;
}
body#recipe .tool_download dd ul li::before{
  content:"● ";
}

body#recipe .tool_download dd a img{
    margin: 4px 10px 4px 4px;
    display: inline;
    height: 64px;
    width: auto;
}
/*各国レシピリンク*/
body#recipe .recipe_link{
    display:flex;
    flex-direction: row;
    align-content: center;
    flex-wrap: wrap;
    width: 90%;
    margin:30px 30px 30px 100px;
}
body#recipe .recipe_link li{
    display:inline-block;
    width:50%;
    line-height: 40px;
    font-size:16px;
    margin:10px 0;
}
body#recipe .recipe_link li a img{
    border:solid 1px #ccc;
    margin: 4px 10px 4px 4px;
    display: inline;
    height: 32px;
    width: auto;
}

body#recipe li.icon_pdf{
   margin-top:10px;
}

@media screen and (max-width: 1200px) {
  body#recipe section.contents .contents-first dl{
   display:inline-block;
   margin: 35px 0;
  }
  body#recipe section.contents > div{
    float: left;
  }
  body#recipe section.contents > div{
    width: 100%;
  }
  body#recipe section.contents > div dl{
    display: block;
    width: 100%;
  }
  body#recipe .tool_download dd{
    display:inline-block;
    width:100%;
    font-size:16px;
    text-align:center;
  }
  body#recipe .recipe_link{
    display:flex;
    flex-direction: row;
    align-content: center;
    flex-wrap: wrap;
    width: 100%;
    margin:30px;
  }
}

/*
********************************************** ssf
 */

body#ssf .main__keyvisual{
 background:url("../img/member/img_keyvisual.jpg")center no-repeat;
}
body#ssf .common--inner section.menu_member{
  padding:0px;
}
body#ssf .common--inner section{
  position: relative;
  padding: 30px 0 50px;
}
body#ssf .inner-menu section{
  position: relative;
}
body#ssf .common--inner section h3{
/*  width: 62%;*/
  font-size: 26px;
  font-weight: 600;
  border: none;
  background-color: #e9f2ff;
  padding: 8px 20px;
  color: #34373d;
  margin-bottom:20px;
}
body#ssf .common--inner section h4{
  font-size: 22px;
  font-weight: 600;
  border: none;
  background-color: #D3F0FB;
  padding: 8px 20px;
  color: #34373d;
  margin-bottom:20px;
}
body#ssf .content-underlayer p.subttl{
  color: #011b4e;
  font-weight: 600;
  font-size: 22px;
  line-height: 1em;
  background-color: #fff;
  padding-bottom: 18px;
  margin-bottom: 30px;
  margin-left: 20px;
}
body#ssf .content-underlayer p.caption{
 margin: 0px 0px 0px 50px;
}
body#ssf .content-underlayer p.caption a{
 font-size:16px;
 color: #4b9dd9;
}
body#ssf .common--inner dl{
  position: relative;
  padding-bottom: 30px;
}
body#ssf .common--inner section dt{
  display: inline-block;
  width:1080px;
  font-size: 16px;
  font-weight:600;
  color:#111;
  letter-spacing:normal;
  padding:10px;
}
body#ssf .common--inner section dd{
  display: inline-block;
  width:100%;
  font-size: 16px;
  letter-spacing:normal;
}

body#ssf .common--inner section dd ul{
  display: inline-block;
  width:100%;
}

body#ssf .common--inner section dd ul lt{
  width:120px;
  font-size: 16px;
  letter-spacing:normal;
  margin:10px 0px 0px 50px;
  float:left;
}
body#ssf .common--inner section dd ul li{
  width:900px;
  font-size: 16px;
  letter-spacing:normal;
  margin:10px 0px 0px 10px;
  float:left;
}

body#ssf .common--inner section p.cont{
  display:inline-block;
  width:90%;
  margin:0px 0px 30px 20px;
}

@media screen and (max-width: 1200px) {
 body#ssf .common--inner section{
   padding: 30px 10px 30px 0;
 }
 body#ssf .common--inner section h3{
/*   width: 80%;*/
   font-size: 24px;
   padding: 8px 20px 12px 20px;
   margin-bottom:20px;
 }
 body#ssf .common--inner section h4{
   width: 90%;
   padding: 8px 20px 12px 20px;
   margin-bottom:20px;
   font-size: 18px;
 }
 body#ssf .content-underlayer h3.nation{
   width: 90%;
   padding-bottom: 18px;
   margin-bottom: 20px;
 }
 body#ssf .common--inner section p.cont{
  text-indent:none;
 }
  body#ssf .common--inner section dt span{
    display: block;
  }
  body#ssf .common--inner section dt,
  body#ssf .common--inner section dd{
    width: calc(90% + 20px);
    font-size: 14px;
  }
}