@charset "utf-8";
/* CSS Document */
@import url("reset.css");
@import url("layout.css");
/* --------------------------------------------------------- container*/
/* ------------------------------ wrapper */
#wrapper {}
/* ------------------------------ s_nav*/
#s_nav {
  position: fixed;
  z-index: 100;
}
#s_nav .inner {}
#s_nav .inner ul {
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
  display: table;
  table-layout: fixed;
}
#s_nav .inner ul li {
  border-right: 1px dotted #eee;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  height: auto;
  background-color: rgba(54, 146, 201, 0.9);
  transition: .4s;
}
#s_nav .inner ul li a {
  display: block;
  padding: 15px 0;
}
#s_nav .inner ul li a span {
  padding: 0 22px 0 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.0em;
  color: #fff;
  font-family: 'NotoSans JP';
  background-image: url("../img/icon_s_nav.png");
  background-position: 100% center;
  background-repeat: no-repeat;
}
#s_nav .inner ul li:hover {
  background-color: rgba(54, 146, 201, 0.8);
}
/* ----------------------------------------------- main*/
main {
  position: relative;
  background-color: transparent;
  z-index: 1;
  padding: 60px 0 0 0;
}
main::before {
  content: "";
  position: absolute;
  z-index: 10;
  top: 0;
  left: -30px;
  width: 150px;
  height: 300px;
  background-image: url("../img/bg_main_01.png");
  background-repeat: no-repeat;
  background-position: -200px -40px;
}
main::after {
  content: "";
  position: absolute;
  z-index: 100;
  top: -200px;
  right: 0;
  width: 140px;
  height: 500px;
  background-image: url("../img/bg_main_01.png");
  background-repeat: no-repeat;
  background-position: 0 0px;
}
/* ------------------------------ pagetitle*/
#pagetitle {
  background-color: #EFF6FB;
  width: calc(100% - 60px);
  margin: 30px auto;
  padding: 40px 60px;
}
#pagetitle h1, #pagetitle p {
  font-size: 40px;
  margin: 0;
  padding: 24px 0;
  position: relative;
  z-index: 100;
}
/* ------------------------------ breadcrumb */
#breadcrumb {
  width: calc(100% - 60px);
  text-align: left;
  margin: 0 auto;
  padding: 0 300px 0 0;
}
#breadcrumb li {
  display: inline-block;
  margin: 0px;
  padding: 0px;
  list-style: none;
  font-size: 12px;
}
#breadcrumb li a, #breadcrumb li span {
  position: relative;
  display: inline-block;
  padding-right: 15px;
  margin-right: 10px;
}
#breadcrumb li a::before, #breadcrumb li span::before {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  content: "";
  margin: auto;
  vertical-align: middle;
  width: 3px;
  height: 3px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: .4s;
}
/* ------------------------------ main > contents*/
#main {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#main .contents {
  width: 100%;
  /*min-width: 560px;*/
  margin: 0 auto;
  padding: 20px 40px 200px 40px;
  -webkit-flex-grow: 1;
  flex-grow: 1;
}
/* ------------------------------ h*/
#main h1 {
  font-size: 31px;
  line-height: 1.5em;
  margin: 40px 0 30px 0;
  padding: .5em .75em;
  background-color: #EFF6FB;
  border-radius: 6px;
  color: #111;
  clear: both;
}
/**/
#main h2 {
  font-size: 27px;
  line-height: 1.5em;
  color: #26668C;
  margin: 30px 0;
  padding-bottom: .4em;
  border-bottom: 5px solid #EFF6FB;
  clear: both;
}
#main h2 a {
  font-size: 27px;
  color: #26668C;
  text-decoration: none;
}
#main h2 span {
  color: #26668C;
  font-size: 75%;
  padding: 0 0 0 10px;
  display: inline-block;
}
/**/
#main h3 {
  display: table;
  margin: 30px 0;
  padding: 0 5px;
  font-size: 25px;
  line-height: 1.5em;
  color: #26668C;
  background-color: #EFF6FB;
  clear: both;
}
#main h3 a {
  font-size: 25px;
  color: #26668C;
  text-decoration: none;
}
#main h3 span {
  color: #26668C;
  font-size: 75%;
  padding: 0 0 0 10px;
  display: inline-block;
}
/**/
#main h4 {
  margin: 20px 0;
  color: #26668C;
  font-size: 23px;
  clear: both;
}
#main h4 a {
  color: #26668C;
  font-size: 23px;
  text-decoration: none;
}
#main h4 span {
  color: #26668C;
  font-size: 75%;
  padding: 0 0 0 10px;
  display: inline-block;
}
#main h5 {
  margin: 20px 0;
  font-size: 19px;
  font-weight: normal;
  color: #777;
  clear: both;
}
#main h5 a {
  font-size: 19px;
  font-weight: normal;
  text-decoration: none;
}
#main h5 span {
  font-size: 75%;
  font-weight: normal;
  padding: 0 0 0 10px;
  display: inline-block;
}
/**/
#main h6 {
  margin: 20px 0;
  font-size: 17px;
  font-weight: bold;
  clear: both;
}
#main h6 a {
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
}
#main h6 span {
  font-size: 75%;
  font-weight: normal;
  padding: 0 0 0 10px;
  display: inline-block;
}
/* ------------------------------ MT文字サイズアイコン対応用*/
#main em {
  font-size: 150% !important;
  font-style: normal;
  font-weight: bold;
}
/* ------------------------------ 少し小さめの文字*/
#main span.s {
  font-size: 80% !important;
}
/* ------------------------------ img*/
#main figure {
  margin: 0;
  padding: 0;
}
#main img {
  max-width: 100%;
  height: auto;
}
/* --------------------------------------------------------- table*/
#main table {
  width: 100% !important;
  margin: 40px 0;
  border-collapse: collapse;
  border: 1px solid #CDCDCD;
}
#main table th, #main table td {
  padding: 10px 15px;
  border: 1px solid #CDCDCD;
  font-size: 90%;
}
#main table th {
  background-color: #EFF6FB;
}
#main table td {
  background-color: #fff;
  width: auto !important;
}
#main table th p, #main table td p {
  margin: 0;
  padding: 0;
}
/**/
#main h2 + table {
  margin: 10px 0 40px 0;
}
#main h3 + table {
  margin: 10px 0 40px 0;
}
#main h4 + table {
  margin: 30px 0 40px 0;
}
/* ------------------------------ table（団体の規模及び事業概況調）*/
#main table.status {
  width: 100% !important;
  margin: 40px 0;
  border-collapse: collapse;
  border: 1px solid #CDCDCD;
}
#main table.status th, #main table.status td {
  padding: 10px 6px;
  border: 1px solid #CDCDCD;
  font-size: 85%;
}
#main table.status th {
  background-color: #EFF6FB;
}
#main table.status td {
  width: auto !important;
}
#main table.status th p, #main table.status td p {
  margin: 0;
  padding: 0;
}
/* ------------------------------ table（枠なし）*/
#main table.layout {
  width: 100% !important;
  margin: 0;
  border-collapse: collapse;
  border: none;
}
#main table.layout th, #main table.layout td {
  padding: 0;
  border: none;
  font-size: 100%;
  vertical-align: top;
  text-align: left;
  background-color: transparent;
}
#main table.layout th {
  font-weight: bold;
  width: 25% !important;
}
#main table.layout td {
  width: auto !important;
}
#main table.layout th p, #main table.layout td p {
  margin: 0;
  padding: 0;
}
#main table.layout th ul, #main table.layout td ul {
  margin: 0;
  padding: 0;
}
/* ------------------------------ table（th幅固定）*/
#main table.table {
  width: 100% !important;
}
#main table.table th {
  width: 20% !important;
}
/* ------------------------------ table（セル余白少な目）*/
#main table.small th, #main table.small td {
  padding: 4px 8px;
}
/* ------------------------------ table*/
#main table.flex {
  table-layout: fixed !important;
}
/* ------------------------------ table（近畿支部）*/
#main table.table_kinki td {
  text-align: center;
}
/* ------------------------------ li*/
#main ul {}
#main ol, #main ul {
  /*margin: 0 0 0 40px;*/
}
#main ol.brakets {
  /*margin: 0 0 0 3em;*/
}
#main ol.brakets li {
  list-style-type: none;
  counter-increment: cnt;
}
#main ol.brakets li::before {
  content: "("counter(cnt) ")";
  display: inline-block;
  margin-left: -2em;
  width: 2em;
}
/* ------------------------------ li　1）2）*/
#main ol.paren {
  padding: 0 0 0 2em;
  margin: 0;
}
#main ol.paren li {
  list-style-type: none;
  list-style-position: inside;
  counter-increment: cnt;
}
#main ol.paren li:before {
  margin: 0 0 0 -26px;
  display: marker;
  content: counter(cnt) "）";
}
/* ------------------------------ li（均等幅で折り返す）*/
#main ul.wrap {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
#main ul.wrap li {
  width: 33%;
}
@media screen and (min-width: 1440px) {
  #main ul.wrap li {
    width: 20%;
  }
}
#main ul.wrap li a {}
/* ------------------------------ li（折り返さない）*/
#main ul.no_wrap {
  list-style: none;
  margin: 0;
  padding: 0;
}
/* ------------------------------ li（アイコンつき、リンクありの場合）*/
#main ul.list {}
#main ul.list li a {
  position: relative;
}
#main ul.list li a::after {
  display: block;
  content: '';
  position: absolute;
  top: 47%;
  right: -12px;
  width: 4px;
  height: 4px;
  border-right: 1px solid #468FC4;
  border-bottom: 1px solid #468FC4;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}
#main ul.list li a {}
/* -------------------------------------li（大文字英）*/
#main ul.upper {
  list-style-type: upper-alpha;
}
/* -------------------------------------li（小文字英）*/
#main ul.lower {
  list-style-type: lower-latin;
}
/* ------------------------------ アンカーリンク */
#main .anq {
  position: relative;
  top: -70px;
  display: block;
}
/* ------------------------------ アンカーリンク（別ページ）*/
#main .anq:target {
  -webkit-animation: modify 0.1s;
  animation: modify 0.1s;
}
/* ------------------------------ a*/
#main a {
  text-decoration: underline;
}
/* ------------------------------ btn*/
#main .btn {
  width: 80%;
  margin: 30px 0;
  padding: 0;
  /*  top: -85px;
  left: 180px;*/
  position: relative;
  background-color: #008ECC;
  border-radius: 100vh;
  background-image: linear-gradient(60deg, #68AFD9 0%, #468FC4 100%);
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1));
}
#main .btn a {
  width: 100%;
  text-decoration: none;
  display: block;
  font-size: 17px;
  line-height: 1.7;
  color: #fff;
  padding: 20px 40px 20px 25px;
}
@media screen and (min-width: 1440px) {
  #main .btn {
    width: 60%;
  }
}
#main .btn:hover {
  background-color: rgba(0, 142, 204, 0.8);
}
#main .btn::after {
  display: block;
  content: '';
  position: absolute;
  top: 46%;
  right: 24px;
  width: 6px;
  height: 6px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}
#main .btn:hover::after {
  right: 15px;
}
/**/
#main .btn + .btn {
  margin: 0 0 30px 0;
}
/* ------------------------------ btn_s*/
#main .btn_s {
  width: 40%;
  margin: 30px 0;
  padding: 0;
  position: relative;
  background-color: #008ECC;
  border-radius: 100vh;
  background-image: linear-gradient(60deg, #68AFD9 0%, #468FC4 100%);
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1));
}
#main .btn_s a {
  width: 100%;
  text-decoration: none;
  display: block;
  font-size: 15px;
  line-height: 1.5;
  color: #fff;
  padding: 14px 30px 14px 20px;
}
@media screen and (min-width: 1440px) {
  #main .btn_s {
    width: 25%;
  }
}
#main .btn_s:hover {
  background-color: rgba(0, 142, 204, 0.8);
}
#main .btn_s::after {
  display: block;
  content: '';
  position: absolute;
  top: 46%;
  right: 24px;
  width: 6px;
  height: 6px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}
#main .btn_s:hover::after {
  right: 20px;
}
/**/
#main .btn_s + .btn_s {
  margin: 0 0 30px 0;
}
/* ------------------------------ btn_link*/
#main .contents .btn_link a {
  display: table;
  background-color: rgba(98, 170, 214, 0.2);
  padding: 5px 80px 5px 20px;
  text-decoration: none;
  border: 1px solid #eee;
  position: relative;
  color: #468FC4;
  font-weight: bold;
}
#main .contents .btn_link a::after {
  display: block;
  content: '';
  position: absolute;
  top: 45%;
  right: 20px;
  width: 4px;
  height: 4px;
  border-right: 1px solid #468FC4;
  border-bottom: 1px solid #468FC4;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
  padding: 0;
  background: none; /*ファイルアイコン非表示*/
}
#main .contents .btn_link a:hover {
  background-color: rgba(98, 170, 214, 0.2);
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1);
  border: 1px solid #ccc;
}
/* ------------------------------ テキストリンク　*/
#main .pagelink a {
  position: relative;
  padding: 0 0 0 20px;
}
#main .pagelink a::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin: 0 5px;
  top: 40%;
  left: 0;
  border-top: 1px solid #26668C;
  border-right: 1px solid #26668C;
  transform: rotate(45deg);
}
/* ------------------------------ テキストリンク（ページ右上）*/
#main .pagelink_top {
  text-align: right;
}
#main .pagelink_top a {
  position: relative;
  padding: 0 0 0 20px;
  font-size: 90%;
  color: #26668C;
}
#main .pagelink_top a::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin: 0 5px;
  top: 35%;
  left: 0;
  border-top: 1px solid #26668C;
  border-right: 1px solid #26668C;
  transform: rotate(45deg);
}
/* ------------------------------ -------------------- ボタン*/
/* ------------------------------ btn_dl*/
#main .btn_dl {
  width: 100%;
  margin: 30px 0;
  padding: 0;
  position: relative;
  border: 1px solid #ddd;
  background-color: #fff;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.05));
  transition: .4s;
}
#main .btn_dl a {
  width: 100%;
  text-decoration: none;
  display: block;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.7;
  color: #222;
  padding: 20px 40px 20px 20px;
}
#main .btn_dl a {
  width: 100%;
  text-decoration: none;
  display: block;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.7;
  color: #222;
  padding: 20px 40px 20px 20px;
}
#main .btn_dl a[href$=".pdf"]::after, 
#main .btn_dl a[href$=".doc"]::after, 
#main .btn_dl a[href$=".docx"]::after, 
#main .btn_dl a[href$=".xls"]::after, 
#main .btn_dl a[href$=".xlsx"]::after, 
#main .btn_dl a[href$=".ppt"]::after {
  padding: 0;
  width: 18px;
  height: 20px;
  background-position: 100% 2px;
  margin: 0;
  padding: 0;
}
/*#main .btn_member a[href$=".pdf"]::after, 
#main .btn_member a[href$=".doc"]::after, 
#main .btn_member a[href$=".docx"]::after, 
#main .btn_member a[href$=".xls"]::after, 
#main .btn_member a[href$=".xlsx"]::after, 
#main .btn_member a[href$=".ppt"]::after {
  padding: 0;
  width: 18px;
  height: 20px;
  background-position: 100% 2px;
  margin: 0;
  padding: 0;
}*/
#main .btn_dl a span {
  font-size: 13px;
  line-height: 1.3;
  font-weight: bold;
}
@media screen and (min-width: 1440px) {
  #main .btn_dl {
    width: 80%;
  }
}
#main .btn_dl:hover {
  background-color: #eee;
  filter: none;
}
#main .btn_dl::after {
  display: block;
  content: '';
  position: absolute;
  top: 44%;
  right: 20px;
  width: 6px;
  height: 6px;
  border-right: 1px solid #666;
  border-bottom: 1px solid #666;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}
#main .btn_dl:hover::after {
  right: 15px;
}
/**/
#main .btn_dl + .btn_dl {
  margin: 0 0 30px 0;
}
/* ------------------------------ btn_member*/
#main .btn_member {
  width: 100%;
  margin: 30px 0;
  padding: 0;
  position: relative;
  border: 1px solid rgba(0, 170, 131, 0.4);
  background-color: #fff;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.05));
  transition: .4s;
}
#main .btn_member a {
  width: 100%;
  text-decoration: none;
  display: block;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.7;
  color: #222;
  padding: 20px 40px 20px 40px;
  position: relative;
}
/*icon*/
#main .btn_member a::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 18px;
  left: 20px;
  top: 38%;
  background-image: url("../img/login/icon_btn_pass.png");
  background-repeat: no-repeat;
}
#main .btn_member a span {
  font-size: 13px;
  line-height: 1.3;
  font-weight: bold;
}
@media screen and (min-width: 1440px) {
  #main .btn_member {
    width: 80%;
  }
}
#main .btn_member:hover {
  background-color: rgba(0, 170, 131, 0.1);
  filter: none;
}
#main .btn_member::after {
  display: block;
  content: '';
  position: absolute;
  top: 46%;
  right: 20px;
  width: 6px;
  height: 6px;
  border-right: 1px solid #00AA83;
  border-bottom: 1px solid #00AA83;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}
#main .btn_member:hover::after {
  right: 15px;
}
/**/
#main .btn_member + .btn_member {
  margin: 0 0 30px 0;
}
/* ------------------------------ youtube埋め込み　*/
#main .youtube {
  width: 100%;
  max-width: 840px;
  aspect-ratio: 16 / 9;
}
#main .youtube iframe {
  width: 100%;
  height: 100%;
}
/* ------------------------------ 動画アイコン　*/
#main a.icon_movie {}
#main a.icon_movie::after {
  display: inline-block;
  content: "";
  width: 19px;
  height: 19px;
  padding-right: 8px;
  margin-bottom: -4px;
  background-repeat: no-repeat;
  background-position: center;
  text-indent: 100%;
  background-image: url("../img/icon_movie.png");
  background-size: contain;
}
/* ------------------------------ 囲み枠01　*/
#main .text_box {
  width: 100%;
  border: 4px solid rgba(54, 146, 201, 0.2);
  margin: 30px auto;
  padding: 30px 40px;
  text-align: left;
}
#main .text_box p {
  margin: 0;
  padding: 0;
}
#main .text_box h3 {
  margin: 0 0 20px 0;
  color: #26668C;
  font-size: 18px;
  font-weight: bold;
}
#main .text_box h4 {
  margin: 0 0 10px 0;
  font-size: 18px;
  font-weight: bold;
}
/* ------------------------------ 囲み枠02　*/
#main .lead_box {
  width: 100%;
  margin: 30px auto;
  padding: 30px 40px;
  background-color: #F5F5F5;
  text-align: left;
}
#main .lead_box h3 {
  margin: 0 0 20px 0;
  color: #26668C;
  font-size: 18px;
  font-weight: bold;
}
#main .lead_box h4 {
  margin: 0 0 10px 0;
  font-size: 19px;
  font-weight: bold;
}
#main .lead_box h5 {
  display: inline-block;
  margin: 10px 0;
  font-size: 17px;
  font-weight: bold;
  background-color: #fff;
}
#main .lead_box h6 {
  display: inline-block;
  margin: 10px 0;
  font-size: 16px;
  font-weight: bold;
  color: #468FC4;
  border-bottom: 1px solid #468FC4;
}
/* ------------------------------ 囲み枠03　*/
#main .info_box {
  width: 100%;
  border: 4px solid rgba(255, 40, 47, 0.1);
  margin: 30px auto;
  padding: 30px 40px;
  text-align: left;
}
#main .info_box p {
  margin: 0;
  padding: 0;
}
#main .info_box h3 {
  margin: 0 0 20px 0;
  color: #26668C;
  font-size: 18px;
  font-weight: bold;
}
#main .info_box h4 {
  margin: 0 0 10px 0;
  font-size: 18px;
  font-weight: bold;
}
/* ————————————————————————————————————————————————————————————————————— side_nav*/
aside {
  width: 290px !important;
  position: relative;
  top: -130px;
  z-index: 100000;
  right: 0;
  margin: 0;
}
#side_nav {
  width: 270px;
  margin: 0 20px 0 0;
  background-color: #68AFD9;
  background-image: linear-gradient(to top, #68AFD9 5%, #468FC4 100%);
}
/* ------------------------------ 追従*/
#side_nav {
  position: -webkit-sticky;
  position: sticky;
  top: 80px;
}
/**/
#side_nav .side_top {
  position: relative;
  margin: 0;
  padding: 0;
}
#side_nav .side_top::before {
  position: absolute;
  content: "";
  top: 35px;
  left: 20px;
  display: inline-block;
  width: 22px;
  height: 22px;
  text-align: center;
  line-height: 22px;
  border-radius: 50%;
  border: solid 1px #fff;
}
/**/
#side_nav .side_top a {
  position: relative;
}
#side_nav .side_top a:before, #side_nav .side_top a:after {
  content: '';
  display: block;
  position: absolute;
  background: #fff;
  /*height: 1px;
  background: #fff;*/
}
#side_nav .side_top a:before {
  top: 48px;
  width: 10px;
  height: 1px;
  left: -3px;
  transform: translate(30px, 0px);
  border: none;
}
#side_nav .side_top a:after {
  top: 48px;
  left: 1px;
  width: 6px;
  height: 1px;
  transform-origin: right center;
  transform: translate(30px, 0px) rotate(45deg);
}
#side_nav .side_top a {
  text-decoration: none;
  display: block;
  padding: 30px 20px 30px 56px;
  position: relative;
  font-size: 18px;
  color: #fff;
}
/**/
#side_nav ul {
  list-style: none;
  margin: 0;
  padding: 0 0 30px 0;
}
#side_nav ul li {
  position: relative;
  width: calc(100% - 60px);
  margin: 0 auto;
  padding: 8px 0 8px 12px;
  line-height: 1.0em !important;
}
#side_nav ul li::after {
  display: block;
  content: '';
  position: absolute;
  top: 20px;
  left: -5px;
  width: 4px;
  height: 4px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#side_nav ul li a {
  color: #fff;
  font-size: 14px;
  text-decoration: none;
}
#side_nav ul li a:hover {
  text-decoration: underline;
}
#side_nav ul li a[href$=".pdf"]::after {
  display: none;
}
/* ------------------------------ 区切り線*/
#side_nav ul li.top {
  border-top: 1px dotted #fff;
  margin-top: 15px;
  padding-top: 25px;
}
#side_nav ul li.top::after {
  top: 35px;
}
/* ------------------------------ サブ*/
#side_nav ul li ul {
  list-style: none;
  margin: 18px -5px 5px -15px;
  padding: 10px;
  background-color: rgba(56, 126, 177, 0.5);
}
#side_nav ul li ul li {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 4px 0 4px 8px;
  line-height: 1.0em !important;
}
#side_nav ul li ul li::after {
  display: none;
}
#side_nav ul li ul li a {
  color: #fff;
  font-size: 13px;
  text-decoration: none;
}
/* ------------------------------ サブ*/
#side_nav ul.sub {
  list-style: none;
  margin: 0 -5px;
  padding: 0 10px;
  background-color: transparent;
}
#side_nav ul.sub li {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 4px 0 4px 8px;
  line-height: 1.0em !important;
}
#side_nav ul.sub li::after {
  display: none;
}
#side_nav ul li a {
  color: #fff;
  font-size: 13px;
  text-decoration: none;
}
/* ----------------------------------------------- banner */
#banner {
  background-color: #F5F5F5;
}
#banner .inner {
  padding: 80px 0;
  text-align: center;
}
#banner .inner ul {
  list-style: none;
  width: auto;
  width: 1380px;
  margin: 0 auto;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#banner .inner ul li {
  margin: 10px;
}
#banner .inner ul li a {}
#banner .inner ul li a img {
  max-width: 440px;
  height: auto;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.15));
}
@media screen and (max-width: 1692px) {
  #banner .inner ul {
    width: 920px;
  }
}
/* ————————————————————————————————————————————————————————————————————— ログイン方法案内（ページ下固定）*/
#main .contents .howto {
  width: 100%;
  margin: 60px auto;
  text-align: left;
  background-color: #fff;
  border: 1px solid #D6D6D6;
}
#main .contents .howto h2 {
  background-color: #E0EEF8;
  font-size: 21px;
  margin: 0;
  padding: 16px 40px;
  font-weight: bold;
  border-bottom: none;
}
#main .contents .howto .inner {
  padding: 20px 40px 40px 40px;
  font-size: 15px;
}
#main .contents .howto .inner h3 {
  font-size: 16px;
  color: #26668C;
  font-weight: bold;
  background-color: transparent;
}
#main .contents .howto .inner h3:nth-of-type(1) {
  background-image: url("../img/icon_name_bl.png");
  background-repeat: no-repeat;
  background-position: left 4px;
  padding: 0 0 0 26px;
}
#main .contents .howto .inner h3:nth-of-type(2) {
  background-image: url("../img/icon_pass_bl.png");
  background-repeat: no-repeat;
  background-position: 2px 4px;
  padding: 0 0 0 26px;
}
#main .contents .howto .inner ul {}
#main .contents .howto .inner li {
  color: #26668C;
  font-size: 16px;
  font-weight: bold;
}
#main .contents .howto .inner table {
  border: 1px solid #CDCDCD;
  border-collapse: collapse;
  width: 100%;
  margin: 0;
}
#main .contents .howto .inner table th, #main .contents .howto .inner table td {
  border: 1px solid #CDCDCD;
  padding: 10px 16px;
}
#main .contents .howto .inner table th {
  background-color: #EFF6FB;
  text-align: center;
}
#main .contents .howto .inner table td {
  background-color: #fff;
}
/* ————————————————————————————————————————————————————————————————————— お知らせ、お知らせ一覧*/
#main .news_wrap {
  display: block;
  margin: 0 0 20px 0;
  border-top: 1px solid rgba(76, 90, 99, 0.2);
}
#main .news_wrap .box {
  border-right: 1px solid rgba(76, 90, 99, 0.2);
  border-left: 1px solid rgba(76, 90, 99, 0.2);
  border-bottom: 1px solid rgba(76, 90, 99, 0.2);
  width: 100%;
  transition: .4s;
}
#main .news_wrap .box:hover {
  background-color: rgba(98, 170, 214, 0.2);
}
#main .news_wrap .box a {
  display: block;
  text-decoration: none;
}
#main .news_wrap .box a:hover dd {
  opacity: 1;
  color: #26668C;
}
#main .news_wrap .box dl {
  width: calc(100% - 40px);
  margin: 0 auto;
  padding: 20px 0;
}
#main .news_wrap .box:hover {
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1);
}
#main .news_wrap .box dl dt {
  color: #666666;
  margin: 0 0 20px 0;
  padding: 0;
  font-size: 17px;
}
a[href$=".pdf"]::after {
  background-image: url(../img/pdf.svg);
}
#main .news_wrap .box a[href$=".pdf"]::after, #main .news_wrap .box a[href$=".doc"]::after, #main .news_wrap .box a[href$=".docx"]::after, #main .news_wrap .box a[href$=".xls"]::after, #main .news_wrap .box a[href$=".xlsx"]::after {
  display: none;
}
#main .news_wrap .box a[href$=".pdf"] dl dd:after, #main .news_wrap .box a[href$=".doc"] dl dd:after, #main .news_wrap .box a[href$=".docx"] dl dd:after, #main .news_wrap .box a[href$=".xls"] dl dd:after, #main .news_wrap .box a[href$=".xlsx"] dl dd:after {
  display: inline-block;
  content: "";
  width: 16px;
  height: 20px;
  padding-right: 16px;
  background-image: url(../img/pdf.svg);
  background-repeat: no-repeat;
  background-position: center;
  text-indent: 100%;
}
/*日付*/
#main .news_wrap .box dl dt .post_date {
  color: #666666;
  margin: 0 10px 0 0;
  padding: 0;
  font-size: 18px;
}
/*new*/
#main .news_wrap .box dl dt span.new {
  display: inline-block;
  line-height: 1.0em;
  border-radius: 4px;
  margin: 0 10px 0 0;
  padding: 0;
  font-size: 100%;
  color: #FF5B5E;
  background-color: transparent;
}
/* ------------------------------ アイコン*/
#main .news_wrap .box dl dt span {
  color: #fff;
  display: inline-block;
  font-size: 13px;
  line-height: 1.0em;
  border-radius: 4px;
  margin: 0 10px 0 0;
  padding: 6px 10px;
  background-color: #468FC4;
}
/*海外*/
#main .news_wrap .box dl dt span.overseas {
  background-color: #6993D1;
}
/*学会*/
#main .news_wrap .box dl dt span.jrs {
  background-color: #68910F;
}
/*関連*/
#main .news_wrap .box dl dt span.related {
  background-color: #de7cb2;
}
/*厚生労働省*/
#main .news_wrap .box dl dt span.mhlw {
  background-color: #1e61d0;
}
/**/
#main .news_wrap .box dl dd {
  margin: 0;
  padding: 0;
  font-weight: bold;
  line-height: 1.8em;
}
/* ————————————————————————————————————————————————————————————————————— 新型コロナウイルス感染症 （COVID-19）／ステートメント・報告書等／呼吸器QA/報告*/
#main .contents .list_wrap {}
#main .contents .list_wrap ul {
  border-top: 1px solid #ccc;
  list-style: none;
  margin: 0;
  padding: 0;
}
#main .contents .list_wrap ul li {
  border-right: 1px solid rgba(76, 90, 99, 0.2);
  border-left: 1px solid rgba(76, 90, 99, 0.2);
  border-bottom: 1px solid rgba(76, 90, 99, 0.2);
  width: 100%;
  padding: 0;
  transition: .4s;
}
#main .contents .list_wrap ul li:hover {
  background-color: rgba(98, 170, 214, 0.2);
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1);
}
#main .contents .list_wrap ul li a {
  display: block;
  text-decoration: none;
  padding: 13px 20px;
  font-size: 100%;
  font-weight: bold;
}
#main .contents .list_wrap ul li a:hover {
  opacity: 1;
  color: #26668C;
}
/* ------------------------------ new*/
#main .contents .list_wrap ul li span.new {
  display: inline-block;
  line-height: 1.0em;
  border-radius: 4px;
  margin: 0 10px 0 0;
  padding: 0;
  font-size: 100%;
  font-weight: normal;
  color: #FF5B5E;
  background-color: transparent;
}
/* ------------------------------ 日付*/
#main .contents .list_wrap ul li .post_date {
  border-radius: 4px;
  margin: 0 20px 0 0;
  padding: 0;
  font-size: 110%;
  font-weight: normal;
  color: #666;
  background-color: transparent;
  text-align: left;
}
/* ------------------------------ アイコン*/
#main .contents .list_wrap span {
  color: #fff;
  display: inline-block;
  font-size: 13px;
  line-height: 1.0em;
  border-radius: 4px;
  margin: 0 10px 0 0;
  padding: 6px 10px;
  background-color: #468FC4;
  /*  text-align: center;
  margin: 0 0 0 4px;
  padding: 3px 6px;
  font-size: 10px;
  font-weight: bold;
  line-height: 1.0;
  background-color: #ccc;
  color: #fff;
  white-space: nowrap*/
}
/* ------------------------------ 閲覧フリー*/
/*#main .contents .list_wrap .free {
  background-color: #ed8210;
}*/
/* ------------------------------ 学会直販*/
/*#main .contents .list_wrap .direct {
  background-color: #468FC4;
}*/
/* ————————————————————————————————————————————————————————————————————— 記事*/
#main .entry {
  text-align: right;
  color: #666666;
  margin: 0 0 80px 0;
  padding: 0;
  font-size: 16px;
}
/* ------------------------------ アイコン*/
#main .entry span {
  color: #fff;
  display: inline-block;
  font-size: 13px;
  line-height: 1.0em;
  border-radius: 4px;
  margin: 0 10px 0 0;
  padding: 6px 10px;
  background-color: #468FC4;
}
/*海外*/
#main .entry span.overseas {
  background-color: #6993D1;
}
/*学会*/
#main .entry span.jrs {
  background-color: #68910F;
}
/*関連*/
#main .entry span.related {
  background-color: #de7cb2;
}
/*厚生労働省*/
#main .entry span.mhlw {
  background-color: #1e61d0;
}
/*NEW*/
#main .entry span.new {
  display: inline-block;
  line-height: 1.0em;
  border-radius: 4px;
  margin: 0;
  padding: 0;
  font-size: 100%;
  color: #FF5B5E;
  background-color: transparent;
}
/* ————————————————————————————————————————————————————————————————————— ページ分割（共通）*/
#main .pager {
  margin: 40px auto;
  padding: 0;
  text-align: center;
}
#main .pager li {
  display: inline;
  list-style: none;
}
#main .pager a {
  display: inline-block;
  border: 1px solid rgba(76, 90, 99, 0.2);
  padding: 4px 8px;
  text-decoration: none;
}
#main .pager span {
  display: inline-block;
  padding: 4px 8px;
  background-color: #F5F5F5;
}
/* ————————————————————————————————————————————————————————————————————— インデックスナビ（共通）*/
#main .index_nav {
  margin: 20px 0 40px 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#main .index_nav .menu {
  width: calc(50% - 20px);
  margin: 0 10px 10px 10px;
}
#main .index_nav .menu:hover {
  /*border: 2px solid #468FC4;*/
}
@media screen and (min-width: 1440px) {
  #main .index_nav .menu {
    width: calc(33% - 20px);
  }
}
#main .index_nav .menu h2 {
  position: relative;
  font-size: 19px;
  font-weight: bold;
  margin: 20px 0;
  padding: 15px 30px 15px 20px;
  background-color: #EFF6FB;
  border-radius: 6px;
  color: #111;
  clear: both;
  border: none;
}
#main .index_nav .menu h2 a {
  display: block;
  font-size: 19px;
  font-weight: bold;
  margin: 0;
  padding: 0;
  border-radius: 6px;
  color: #111;
  clear: both;
  border: none;
}
#main .index_nav .menu h2::after {
  display: block;
  content: '';
  position: absolute;
  top: 44%;
  right: 20px;
  width: 6px;
  height: 6px;
  border-right: 2px solid #222;
  border-bottom: 2px solid #222;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}
#main .index_nav .menu p {
  margin: 0;
  padding: 0 15px 20px 15px;
  font-size: 14px;
}
#main .index_nav .menu ul {
  width: 100%;
  margin: 0 auto 20px auto;
  padding: 0;
}
#main .index_nav .menu ol {
  margin: 0 0 0 40px;
  padding: 0;
}
#main .index_nav .menu ul li {
  font-size: 14px;
  margin: 0;
  padding: 8px 24px 8px 16px;
  display: block;
  border-bottom: 1px dotted #468FC4;
  position: relative;
}
#main .index_nav .menu ol li {
  font-size: 14px;
  margin: 0;
}
#main .index_nav .menu ul li:first-child {}
#main .index_nav .menu ul li::after {
  display: block;
  content: '';
  position: absolute;
  top: 45%;
  right: 16px;
  width: 4px;
  height: 4px;
  border-right: 1px solid #468FC4;
  border-bottom: 1px solid #468FC4;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}
#main .index_nav .menu ul li:hover {
  background-color: rgba(98, 170, 214, 0.1);
}
#main .index_nav .menu ul li a {
  text-decoration: none;
  display: block;
  font-size: 14px;
}
#main .index_nav .menu ul li a::after {
  display: none;
}
/* ————————————————————————————————————————————————————————————————————— ページ上リンク*/
#main .page_menu {
  margin: 40px auto;
}
#main .page_menu ul {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#main .page_menu ul li {
  width: 33.3%;
  border-right: 2px solid #fcfcfc;
  border-bottom: 2px solid #fcfcfc;
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  text-align: center;
  transition: .4s;
  background-color: #F0F0F0;
  /*border-radius: 100vh;*/
}
@media screen and (min-width: 1440px) {
  #main .page_menu ul li {
    width: 25%;
  }
}
#main .page_menu ul li:hover {
  background-color: rgba(98, 170, 214, 0.6);
}
#main .page_menu ul li::after {
  display: block;
  content: '';
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  margin: auto;
  width: 2px;
  height: 2px;
  border-right: 1px solid #468FC4;
  border-bottom: 1px solid #468FC4;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: .4s;
}
#main .page_menu ul li:hover::after {
  bottom: 6px;
}
#main .page_menu ul li a {
  width: 100%;
  text-align: center;
  padding: 12px 10px 13px 10px;
  display: block;
  text-decoration: none;
  font-size: 13px;
}
#main .page_menu ul li a:hover {
  color: #000;
}
@media screen and (min-width: 1440px) {
  #main .page_menu ul li a {
    font-size: 14px;
  }
}
/* ————————————————————————————————————————————————————————————————————— アコーディオン（FAQ共通）*/
/* ------------------------------ 共通：新専門医制度*/
#main .faq {
  margin: 20px 0;
}
/**/
#main .faq .accordion-trigger {
  display: block;
  position: relative;
  width: 100%;
  padding: 10px 35px 10px 55px;
  cursor: pointer;
  font-size: 110%;
}
#main .faq .accordion-trigger::before {
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  content: "";
  margin: auto;
  vertical-align: middle;
  width: 6px;
  height: 6px;
  font-weight: bold;
  border-top: 2px solid #ccc;
  border-right: 2px solid #ccc;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  transition: .4s;
}
#main .faq .accordion-trigger.is-opened::before {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
#main .faq .accordion-trigger::after {
  position: absolute;
  top: 12px;
  left: 10px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #468FC4;
  content: "Q";
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  text-align: center;
  line-height: 30px;
}
#main .faq .accordion-trigger .number {
  color: #468FC4;
  font-size: 17px;
  font-weight: bold;
  margin: 0 5px 0 0;
}
#main .faq .accordion-trigger strong {
  color: #e60012;
}
#main .faq .accordion-target { /*dt*/
  overflow: hidden;
  display: none;
  position: relative;
  /**/
  background-color: #f1f3f4;
  border-top: 2px solid #e3e8e9;
  margin: 0px 0px 10px 0px;
  padding: 20px 30px 20px 60px;
}
#main .faq .accordion-target::after {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 30px;
  height: 30px;
  content: "A.";
  color: #468FC4;
  font-size: 17px;
  font-weight: bold;
  font-family: Arial, Helvetica, sans-serif;
  text-align: center;
  line-height: 30px;
}
#main .faq .accordion-target h3, #main .faq .accordion-target h4, #main .faq .accordion-target h5 { /*dt*/
  font-size: 17px;
  font-weight: bold;
  margin: 10px 0;
}
#main .faq .accordion-target .lead_box { /*dt*/
  background-color: #fff;
}
/* ————————————————————————————————————————————————————————————————————— アコーディオン（論文）*/
#main .treatise {
  margin: 20px 0;
}
/**/
#main .treatise .accordion-trigger {
  display: block;
  position: relative;
  width: 100%;
  padding: 10px 45px 10px 20px;
  /*border-top: 2px solid #e3e8e9;*/
  border-bottom: 1px solid #e3e8e9;
  background-color: #fff;
  cursor: pointer;
}
#main .treatise .accordion-trigger::before {
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  content: "";
  margin: auto;
  vertical-align: middle;
  width: 6px;
  height: 6px;
  font-weight: bold;
  border-top: 2px solid #ccc;
  border-right: 2px solid #ccc;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  transition: .4s;
}
#main .treatise .accordion-trigger.is-opened::before {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
#main .treatise .accordion-trigger span {
  background-color: #999;
  color: #fff;
  margin: 0 10px 0 0;
  padding: 2px 6px;
  font-size: 12px;
  border-radius: 3px;
}
#main .treatise .accordion-target { /*dt*/
  overflow: hidden;
  display: none;
  position: relative;
  /**/
  background-color: #f1f3f4;
  border-top: 2px solid #e3e8e9;
  margin: 0px 0px 10px 0px;
  padding: 20px 30px;
  font-size: 95%;
}
#main .treatise .accordion-target table {
  margin: 10px 0;
}
/* ————————————————————————————————————————————————————————————————————— 学会について*/
/* ------------------------------ 理事長就任挨拶*/
#main .message {}
#main .message .photo img {
  width: 240px;
  height: auto;
  margin: 0 0 20px 30px !important;
}
/* ------------------------------ 会則*/
#main .rules h6 {
  margin: 20px 0 5px 0;
  font-size: 17px;
  font-weight: bold;
}
#main .rules ol {
  margin: 0;
  padding: 0 0 0 16px;
}
/**/
#main .organization img {
  width: 100%;
  max-width: 800px;
  height: auto;
}
/* ————————————————————————————————————————————————————————————————————— 専門医制度*/
#main .contents .specialist_flow {
  width: 100%;
  border: none;
}
#main .contents .specialist_flow th, #main .contents .specialist_flow td {
  background-color: transparent;
  border: none;
  font-size: 15px;
  line-height: 1.5em;
}
/*1列目*/
#main .contents .specialist_flow tr td:nth-of-type(1) {
  width: 25%;
  text-align: center;
  padding: 12px 0;
}
/*2列目*/
#main .contents .specialist_flow tr td:nth-of-type(2) {
  text-align: center;
  width: 20%;
}
/**/
#main .contents .specialist_flow tr td:nth-of-type(2) .sinsei {
  display: block;
  width: 100%;
  background-color: #468FC4;
  color: #fff;
  font-weight: bold;
  padding: 4px 0;
}
#main .contents .specialist_flow tr td:nth-of-type(2) .gakkai {
  display: block;
  width: 100%;
  background-color: #00AA83;
  color: #fff;
  font-weight: bold;
  padding: 4px 0;
}
/* ------------------------------ 矢印*/
#main .contents .specialist_flow tr td .arrow {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin: 0 10px;
  border-bottom: 3px solid #333;
  border-right: 3px solid #333;
  transform: rotate(45deg);
}
/*3列目*/
#main .contents .specialist_flow tr td:nth-of-type(3) {
  padding: 12px 0 12px 20px;
}
@media screen and (min-width: 1440px) {
  /*1列目*/
  #main .contents .specialist_flow tr td:nth-of-type(1) {
    width: 15%;
  }
  /*2列目*/
  #main .contents .specialist_flow tr td:nth-of-type(2) {
    width: 15%;
  }
  /*3列目*/
  #main .contents .specialist_flow tr td:nth-of-type(3) {
    padding: 12px 0 12px 40px;
  }
}
/* ------------------------------ 専門医*/
#main .contents .tani {}
#main .contents .tani td:nth-of-type(2), #main .contents .tani td:nth-of-type(3) {
  width: 20% !important;
  text-align: center;
}
/* ------------------------------ 日本呼吸器学会指定　国際学会*/
#main .contents .gakkai {
  table-layout: fixed !important;
}
/* ------------------------------ 研修カリキュラム*/
#main .box .icon {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  font-size: 85%;
}
#main .box .icon li {
  white-space: nowrap;
  margin: 0 20px 0 0;
}
#main .box .icon li span, #main .contents .curriculum span {
  color: #fff;
  display: inline-block;
  font-size: 13px;
  line-height: 1.0em;
  border-radius: 4px;
  margin: 0 10px 0 0;
  padding: 6px 10px;
}
#main .contents .naika {
  background-color: #3474a3;
}
#main .contents .geka {
  background-color: #c4468f;
}
/**/
#main .contents .curriculum th, #main .contents .curriculum td {
  padding: 5px 10px;
}
#main .curriculum th {
  font-weight: bold;
}
/* ————————————————————————————————————————————————————————————————————— 学会誌・出版物*/
/* ------------------------------ 学会誌*/
#main h2.publication {
  margin: 40px 0 0 0;
}
#main h2.publication span {
  font-size: 18px;
  padding: 0;
}
#main .contents .books_top {
  margin: 20px 0 40px 0 !important;
}
/**/
#main .contents figure.book {
  text-align: center;
}
#main .contents figure.book img {
  width: 152px;
  height: auto;
  margin: 0;
  transition: .4s;
  border: 1px solid #ccc;
}
#main .contents figure.book img a:hover {
  background-color: rgba(98, 170, 214, 0.2);
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1);
}
/*その他出版物*/
#main .contents .other {}
/*#main .contents figure.book img {
  width: 150px;
  height: auto;
}*/
#main .contents .other table {
  font-size: 95%;
}
/*Newsletter*/
#main .newsletter {
  margin: 40px 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
}
#main .newsletter figure {
  width: 150px;
  min-width: 150px;
  margin: 0 auto;
}
#main .newsletter figure img {
  border: 1px solid #ccc;
}
#main .newsletter .comment {
  width: 100%;
  margin: 0 0 0 40px;
}
#main .contents_list {}
#main .contents_list h4, #main .contents_list h4 a {
  font-size: 27px;
  line-height: 1.2em;
  padding: 10px 0;
}
#main .contents_list h5, #main .contents_list h5 a {
  font-size: 15px;
  font-weight: normal;
  color: #777;
  margin: 0;
  padding: 40px 0 20px 0;
  border-bottom: 1px solid #ddd;
}
#main .contents_list h6, #main .contents_list h6 a {
  font-size: 21px;
  font-weight: normal;
  margin: 0;
  padding: 10px 0;
}
#main .contents_list a {
  line-height: 1.2em;
  color: #468FC4;
  text-decoration: none;
  padding: 0;
  display: block;
}
/* ------------------------------ 呼吸器学用語集*/
.glossary_top {
  position: relative;
  background-image: linear-gradient(60deg, #468FC4 0%, #68AFD9 100%);
  padding: 10px 0;
  outline: 10px solid rgba(255, 255, 255, 0.4);
  outline-offset: -10px;
}
.glossary_top::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  z-index: 1;
  background-image: url("../../publication/img/publication_gloss_back.png");
  background-repeat: no-repeat;
  background-position: center top;
}
.glossary_top p {
  position: relative;
  z-index: 10;
  text-align: center;
  font-size: 44px;
  color: #fff;
}
.glossary_top span {
  font-size: 28px;
  line-height: 1.0em;
  border: 1px solid #fff;
  border-radius: 100vh;
  margin: 0 0 0 20px;
  padding: 2px 40px;
  color: #fff;
}
/* ————————————————————————————————————————————————————————————————————— 教育・研究*/
/* ------------------------------ ガイドライン*/
#main .contents .books {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#main .contents .books .box {
  margin: 20px 20px 0 0;
  padding: 40px 0 20px 0;
  text-align: center;
  width: 46.5%;
  margin: 20px 20px 0 0;
  padding: 40px 0 20px 0;
  text-align: center;
  position: relative;
  border: 1px solid #ccc;
  transition: .4s;
}
#main .contents .books .box:hover {
  background-color: rgba(98, 170, 214, 0.2);
}
#main .contents .books .box a {
  display: block;
  text-decoration: none;
}
@media screen and (min-width: 1600px) {
  #main .contents .books .box {
    width: 22%;
  }
}
#main .contents .books .ribbon {
  position: absolute;
  z-index: 1;
  top: 0px;
  right: 0px;
  width: 120px;
  height: 180px;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
#main .contents .books .ribbon span {
  display: inline-block;
  position: absolute;
  padding: 8px 0 6px 0;
  left: 18px;
  top: 12px;
  width: 160px;
  text-align: center;
  font-size: 10px;
  font-weight: bold;
  line-height: 1.0;
  background-color: #ccc;
  color: #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  white-space: nowrap
}
/* ------------------------------ 複数（2個）あった場合*/
#main .contents .books .ribbon span:nth-child(2) {
  display: inline-block;
  position: absolute;
  padding: 6px 0 8px 0;
  left: -5px;
  top: 30px;
  width: 160px;
  text-align: center;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.0;
  background-color: #ccc;
  color: #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  white-space: nowrap
}
/* ------------------------------ 閲覧フリー*/
#main .contents .books .ribbon .free {
  background-color: #ed8210 !important;
}
/* ------------------------------ 学会直販*/
#main .contents .books .ribbon .direct {
  background-color: #468FC4 !important;
}
/**/
#main .contents .books div {
  margin: 0;
  padding: 0;
}
#main .contents .books div h4 {
  margin: 0 auto;
  padding: 10px 15px;
  text-align: left;
  font-size: 14px;
  line-height: 1.4;
}
#main .contents .books div figure {
  margin: 0;
  padding: 0;
}
#main .contents .books div figure img {
  width: 150px;
  height: auto;
}
/* ------------------------------ ガイドライン記事*/
#main .contents .books_info {
  margin: 40px 0;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
#main .contents .books_info figure {
  width: 200px;
  margin: 0 20px;
}
#main .contents .books_info figure img {
  width: 150px;
  margin: 0;
  transition: .4s;
}
#main .contents .books_info figure img:hover {
  background-color: rgba(98, 170, 214, 0.2);
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1);
}
/**/
#main .contents .books_info table {
  width: 100%;
  max-width: 400px;
}
@media screen and (min-width: 1440px) {
  #main .contents .books_info table {
    max-width: 60%;
  }
}
/* ------------------------------ インターネット・サーベイ共通（activities、member、i-survey_copd）*/
#main .contents .i-nav {
  width: 100%;
}
#main .contents .i-nav ul {
  list-style-type: none;
  margin: 20px 0 40px 0;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#main .contents .i-nav ul li {
  width: calc(50% - 30px);
  margin: 15px;
  text-align: left;
}
@media screen and (min-width: 1440px) {
  #main .contents .i-nav ul li {
    width: calc(33% - 20px);
    margin: 10px;
  }
}
#main .contents .i-nav ul li a {
  background-color: #fff;
  display: block;
  border: 3px solid #C5DBEB;
  border-radius: 5px;
  margin: 0;
  padding: 16px 0 16px 48px;
  font-size: 15px;
  font-weight: bold;
  color: #468FC4;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15);
  background-image: url("../img/login/icon_input.png");
  background-repeat: no-repeat;
  background-position: 16px center;
  text-decoration: none;
}
@media screen and (min-width: 1440px) {
  #main .contents .i-nav ul li a {
    font-size: 18px;
  }
}
#main .contents .i-nav ul li a:hover {
  box-shadow: none;
}
/*アイコン*/
#main .contents .i-nav ul li.about a {
  background-image: url("../img/icon_about.png");
}
#main .contents .i-nav ul li.qa a {
  background-image: url("../img/icon_qa.png");
}
#main .contents .i-nav ul li.use a {
  background-image: url("../img/icon_use.png");
}
#main .contents .i-nav ul li.entry a {
  background-image: url("../img/icon_entry.png");
}
#main .contents .i-nav ul li.revision a {
  background-image: url("../img/icon_revision.png");
}
#main .contents .i-nav ul li.dl a {
  background-image: url("../img/icon_dl.png");
}
#main .contents .i-nav ul li.data a {
  background-image: url("../img/icon_data.png");
}
#main .contents .i-nav ul li.report a {
  background-image: url("../img/icon_report.png");
}
/*----------集計*/
/*登録件数エリア*/
#main .contents .summary_area p, #main .contents .counter p {
  font-weight: bold;
  font-size: 16px;
  margin: 20px 0;
  padding: 20px 0;
  border: none !important;
}
#main .contents .summary_area p span, #main .contents .counter p span {
  font-weight: bold;
  font-size: 24px;
  margin: 0 8px;
}
@media screen and (max-width: 959px) {
  #main .contents .summary_area p, #main .contents .counter p {
    font-size: 14px;
    padding: 0;
  }
  #main .contents .summary_area p span, #main .contents .counter p span {
    font-size: 22px;
  }
}
/**/
#main .contents .summary_area .inner, #main .contents .counter .inner {
  margin: 20px 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  align-items: flex-start;
}
/**/
#main .contents .summary_area .summary_table, #main .contents .summary_table {
  /*width: 48% !important;*/
  margin: 0 0 40px 0;
}
@media screen and (max-width: 959px) {
  #main .contents .summary_area .summary_table, #main .contents .summary_table {
    width: 100% !important;
    margin: 0 0 20px 0;
  }
}
#main .contents .summary_area .summary_table th, #main .contents .summary_area .summary_table td, #main .contents .summary_table th, #main .contents .summary_table td {
  padding: 10px 15px;
  border: 1px solid #CDCDCD;
  font-size: 100%;
  text-align: left;
}
/**/
#main .contents .summary_area .summary_table thead th, #main .contents .summary_table thead th {
  background-color: #528ECA;
  color: #fff;
  text-align: center;
  vertical-align: middle;
}
#main .contents .summary_area .summary_table thead th:first-child, #main .contents .summary_table thead th:first-child {
  text-align: left;
}
/**/
#main .contents .summary_area .summary_table tbody th, #main .contents .summary_table tbody th {
  vertical-align: top;
}
#main .contents .summary_area .summary_table tbody td, #main .contents .summary_table tbody td {
  width: 10% !important;
  min-width: 80px;
  text-align: right;
}
/* ------------------------------ eラーニング*/
/* ————————————————————————————————————————————————————————————————————— 市民のみなさまへ*/
/* ------------------------------ 呼吸器の病気*/
#main .contents .disease {
  margin: 60px 0;
  position: relative;
  padding: 30px 40px;
}
#main .contents .disease:before, #main .contents .disease:after {
  content: '';
  width: 20px;
  height: 30px;
  position: absolute;
  display: inline-block;
}
#main .contents .disease:before {
  border-left: solid 1px #000;
  border-top: solid 1px #000;
  top: 0;
  left: 0;
}
#main .contents .disease:after {
  border-right: solid 1px #000;
  border-bottom: solid 1px #000;
  bottom: 0;
  right: 0;
}
/**/
#main .contents .disease h2 {
  display: block;
  margin: 0;
  padding: 0;
  background-color: transparent;
  font-size: 40px;
  border-bottom: none;
  color: #222;
}
#main .contents .disease .ruby {
  margin: 0;
  padding: 0 0 0 10px;
  color: #26668C;
}
/* ------------------------------ 呼吸器Ｑ＆Ａ　*/
#main .contents .question {
  width: 100%;
  margin: 50px auto;
  background-color: rgba(104, 175, 217, 0.5);
  border-radius: 15px;
  padding: 30px 35px;
  position: relative;
  z-index: 0;
}
#main .contents .question:before {
  border: 1px solid #fff;
  border-radius: 10px;
  content: '';
  display: block;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  margin: 6px;
  z-index: -1;
}
#main .contents .question h2 {
  border: none;
  font-size: 20px;
  font-weight: bold;
  color: #333;
  /*color: #26668C;*/
  margin: 0;
  padding: 0;
}
/* ------------------------------ 禁煙のすすめ*/
/* ------------------------------ table（依存度チェック）*/
#main table.check {
  width: 100% !important;
  margin: 40px 0;
  border-collapse: collapse;
  border: 1px solid #CDCDCD;
}
#main table.check th, #main table.check td {
  padding: 10px 6px;
  border: 1px solid #CDCDCD;
}
#main table.check th {
  background-color: transparent;
}
#main table.check td {
  width: 20% !important;
  text-align: center;
}
#main table.check th p, #main table.check td p {
  margin: 0;
  padding: 0;
}
/* ------------------------------ table（受動喫煙による健康への影響）*/
#main table.passive {
  width: 100% !important;
  border-collapse: collapse;
  border: 1px solid #ccc;
  background-color: #fff;
}
#main table.passive th, #main table.passive td {
  padding: 10px 6px;
  border: 1px solid #ccc;
}
#main table.passive th {
  background-color: rgba(204, 204, 204, 0.4);
  font-weight: bold;
}
#main table.passive td {
  text-align: center;
  background-color: transparent;
}
#main table.passive th p, #main table.passive td p {
  margin: 0;
  padding: 0;
}
/* ------------------------------ 行・列の色*/
#main table.passive tr:nth-child(5) {
  background-color: rgba(232, 84, 80, 0.2) !important;
}
#main table.passive tr:nth-child(6) {
  background-color: rgba(232, 84, 80, 0.2) !important;
}
#main table.passive td:nth-of-type(1) {
  width: 20% !important;
  position: relative;
  z-index: 10;
  background-color: rgba(204, 204, 204, 0.5) !important;
}
/* ------------------------------ table（喫煙と各種の癌との因果関係）*/
#main table.affects {
  width: 100% !important;
  border-collapse: collapse;
  background-color: #fff;
  border: 1px solid #ccc;
}
#main table.affects th, #main table.affects td {
  padding: 10px 6px;
  border: 1px solid #ccc;
}
#main table.affects th {
  background-color: transparent;
  font-weight: bold;
}
#main table.affects td {
  text-align: center;
  background-color: transparent;
}
#main table.affects th p, #main table.affects td p {
  margin: 0;
  padding: 0;
}
/* ------------------------------ 行・列の色*/
#main table.affects tr:nth-child(1) {
  background-color: rgba(232, 84, 80, 0.7) !important;
}
#main table.affects tr:nth-child(3) {
  background-color: rgba(232, 84, 80, 0.6) !important;
}
#main table.affects tr:nth-child(5) {
  background-color: rgba(232, 84, 80, 0.5) !important;
}
#main table.affects tr:nth-child(7) {
  background-color: rgba(232, 84, 80, 0.4) !important;
}
#main table.affects tr:nth-child(9) {
  background-color: rgba(232, 84, 80, 0.3) !important;
}
#main table.affects tr:nth-child(11) {
  background-color: rgba(232, 84, 80, 0.2) !important;
}
/* ------------------------------ 啓発冊子*/
#main .booklet {
  margin: 40px 0;
}
#main .booklet figure {
  width: 250px;
  margin: 0 auto;
}
#main .booklet figure img {
  border: 1px solid #ccc;
}
#main .booklet .comment {
  width: 100%;
  margin: 0;
}
@media screen and (min-width: 1440px) {
  #main .booklet {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
  }
  #main .booklet .comment {
    margin: 0 0 0 40px;
  }
}
/* ————————————————————————————————————————————————————————————————————— 学術講演会・地方会*/
#main .contents .education tr td:nth-of-type(1) {
  width: 30% !important;
  text-align: center;
}
/* ------------------------------ 開催記録*/
#main .contents .record {
  font-size: 95%;
}
#main .contents .record th, #main .contents .record td {
  padding: 10px;
}
#main .contents .record tr td:nth-of-type(1), #main .contents .record tr td:nth-of-type(3) {
  text-align: center;
}
#main .contents .record tr td:last-of-type {
  text-align: center;
}
/* ------------------------------ 開催記録アーカイブ*/
#main .contents .archive {
  font-size: 95%;
}
#main .contents .archive th, #main .contents .archive td {
  padding: 10px;
}
#main .contents .archive tr td:nth-of-type(1), #main .contents .archive tr td:nth-of-type(3) {
  text-align: center;
}
@media screen and (min-width: 1440px) {
  /* ------------------------------ 開催記録*/
  #main .contents .record {
    font-size: 100%;
  }
  /* ------------------------------ 開催記録アーカイブ*/
  #main .contents .archive {
    font-size: 100%;
  }
}
/* ————————————————————————————————————————————————————————————————————— COVID-19 FAQ広場*/
#main .faq_wrap {
  display: block;
  margin: 0 0 20px 0;
  border-top: 1px solid rgba(76, 90, 99, 0.2);
}
#main .faq_wrap .box {
  border-right: 1px solid rgba(76, 90, 99, 0.2);
  border-left: 1px solid rgba(76, 90, 99, 0.2);
  border-bottom: 1px solid rgba(76, 90, 99, 0.2);
  width: 100%;
  transition: .4s;
}
#main .faq_wrap .box:hover {
  background-color: rgba(98, 170, 214, 0.2);
}
#main .faq_wrap .box a {
  text-decoration: none;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
#main .faq_wrap .box a {}
#main .faq_wrap .box a img {
  max-width: 120px;
  margin: 30px 0 30px 30px;
}
#main .faq_wrap .box dl {
  margin: 0 20px 0 30px;
  padding: 20px 0;
  -webkit-flex-grow: 1;
  flex-grow: 1;
}
#main .faq_wrap .box:hover {
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1);
}
#main .faq_wrap .box dl dt {
  color: #666666;
  margin: 0 0 20px 0;
  padding: 0;
  font-size: 17px;
}
/* ------------------------------ 日付*/
#main .faq_wrap .box dl dt .post_date {
  color: #666666;
  margin: 0 10px 0 0;
  padding: 0;
  font-size: 18px;
}
/* ------------------------------ new*/
#main .faq_wrap span.new {
  display: inline-block;
  line-height: 1.0em;
  border-radius: 4px;
  margin: 0 10px 0 0;
  padding: 0;
  font-size: 100%;
  color: #FF5B5E;
  background-color: transparent;
}
/* ------------------------------ アイコン*/
#main .faq_wrap .box dl dt span {
  color: #fff;
  display: inline-block;
  font-size: 13px;
  line-height: 1.0em;
  border-radius: 4px;
  margin: 0 10px 0 0;
  padding: 6px 10px;
  background-color: #468FC4;
}
/*検査*/
#main .entry span.test, #main .faq_wrap .box dl dt span.test {
  background-color: #28489F;
}
/*治療*/
#main .entry span.treatment, #main .faq_wrap .box dl dt span.treatment {
  background-color: #00A597;
}
/*ワクチン*/
#main .entry span.vaccine, #main .faq_wrap .box dl dt span.vaccine {
  background-color: #EA618F;
}
/*疫学*/
#main .entry span.epidemiology, #main .faq_wrap .box dl dt span.epidemiology {
  background-color: #915DA5;
}
/*感染管理*/
#main .entry span.infection, #main .faq_wrap .box dl dt span.infection {
  background-color: #F59800;
}
/*後遺症*/
#main .entry span.long, #main .faq_wrap .box dl dt span.long {
  background-color: #E85450;
}
/*退院・移動基準*/
#main .entry span.discharge, #main .faq_wrap .box dl dt span.discharge {
  background-color: #36A348;
}
/*病態*/
#main .entry span.clinical, #main .faq_wrap .box dl dt span.clinical {
  background-color: #0073C3;
}
/*呼吸管理*/
#main .entry span.respiratory, #main .faq_wrap .box dl dt span.respiratory {
  background-color: #8EC220;
}
/*変異株*/
#main .entry span.variant, #main .faq_wrap .box dl dt span.variant {
  background-color: #7E0145;
}
/**/
#main .faq_wrap .box dl dt span.new {
  display: inline-block;
  line-height: 1.0em;
  border-radius: 4px;
  margin: 0 10px 0 0;
  padding: 0;
  font-size: 100%;
  color: #FF5B5E;
  background-color: transparent;
}
/**/
#main .faq_wrap .box dl dd {
  margin: 0;
  padding: 0;
  font-weight: bold;
  line-height: 1.8em;
}
#main .faq_wrap .box a:hover dd {
  opacity: 1;
  color: #26668C;
}
/*おおきめのバナー風ボタン*/
/*#main .link_banner {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#main .link_banner .box {
  width: calc(50% - 20px);
  margin: 15px 10px;
  border: 1px solid rgba(38, 102, 140, 0.5);
  background-color: #EFF6FB;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.05));
  transition: .4s;
  position: relative;
}
#main .link_banner .box::after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  top: 48%;
  right: 15px;
  border-top: 2px solid #26668C;
  border-right: 2px solid #26668C;
  transform: rotate(45deg);
}
#main .link_banner .box:hover {
  filter: none;
  border: 1px solid rgba(38, 102, 140, 0.9);
  background-color: #fff;
}
#main .link_banner .box p a {
  display: block;
  text-decoration: none;
  text-align: center;
  font-size: 19px;
  margin: 0;
  padding: 20px 0;
  color: #26668C;
}
#main .link_banner .box p a:hover {}
@media screen and (min-width: 1440px) {
  #main .link_banner .box {
    width: calc(50% - 40px);
    margin: 15px 20px;
  }
  #main .link_banner .box::after {
    width: 6px;
    height: 6px;
    right: 20px;
  }
  #main .link_banner .box p a {
    font-size: 23px;
  }
}*/
/**/
#main .link_banner {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
#main .link_banner .faq_btn {
  width: calc(50% - 20px);
  max-width: 480px;
  margin: 15px 10px;
  /*  border: 1px solid rgba(38, 102, 140, 0.5);*/
  background-image: linear-gradient(-45deg, #468FC4 5%, #68AFD9 100%);
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.2));
  transition: .4s;
  position: relative;
  outline: 1px solid rgba(255, 255, 255, .5);
  outline-offset: -10px;
}
#main .link_banner .faq_btn::before {
  position: absolute;
  content: "";
  width: 80px;
  height: 87px;
  top: 0;
  left: 0;
  background-repeat: no-repeat;
}
#main .link_banner .faq_btn:nth-child(1)::before {
  background-image: url("../img/icon_faq01.png");
}
#main .link_banner .faq_btn:nth-child(2)::before {
  background-image: url("../img/icon_faq02.png");
}
#main .link_banner .faq_btn:nth-child(1) {
  background-image: linear-gradient(-45deg, #00AA83 5%, #83CABE 100%);
}
#main .link_banner .faq_btn:nth-child(2) {
  background-image: linear-gradient(-45deg, #177FC8 5%, #8BBFE3 100%);
}
#main .link_banner .faq_btn::after {
  display: block;
  content: '';
  position: absolute;
  top: 46%;
  right: 30px;
  width: 7px;
  height: 7px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}
#main .link_banner .faq_btn:hover {
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0));
}
#main .link_banner .faq_btn:hover::after {
  right: 28px;
}
#main .link_banner .faq_btn a {
  text-decoration: none;
  font-size: 24px;
  line-height: 1.6em;
  color: #fff;
  display: block;
  padding: 25px 40px;
}
#main .link_banner .faq_btn a .sp {
  display: block !important;
}
@media screen and (max-width: 1560px) {
  #main .link_banner {
    display: block;
    margin: 40px 0;
  }
  #main .link_banner .faq_btn {
    width: 80%;
    max-width: 80%;
  }
  #main .link_banner .faq_btn::after {
    right: 25px;
  }
  #main .link_banner .faq_btn:hover::after {
    right: 23px;
  }
  #main .link_banner .faq_btn a {
    font-size: 20px;
    padding: 30px 40px 30px 30px;
  }
  #main .link_banner .faq_btn a .sp {
    display: none !important;
  }
}
/* ————————————————————————————————————————————————————————————————————— サイトマップ */
#main .sitemap {
  overflow: hidden;
  /* display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;*/
}
#main .sitemap .box {
  width: calc(50% - 30px);
  margin: 20px 15px;
  float: left;
}
@media screen and (min-width: 1440px) {
  #main .sitemap .box {
    width: calc(50% - 40px);
    margin: 20px;
    /*width: calc(33% - 40px);*/
  }
}
#main .sitemap .box .side_top {
  padding: 1rem 2rem;
  border-left: 4px solid #468FC4;
  background-color: #F5F5F5;
}
#main .sitemap .box .side_top a {
  font-size: 17px;
}
/**/
#main .sitemap .box ul {
  list-style: none;
  margin: 0 0 0 15px;
  padding: 0;
}
#main .sitemap .box ul li {
  position: relative;
  font-size: 14px;
  padding: 0 0 0 12px;
}
#main .sitemap .box ul li::after {
  position: absolute;
  content: '';
  width: 7px;
  height: 8px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(70, 143, 196, 0.5);
  border-left: 1px solid rgba(70, 143, 196, 0.5);
  top: 7px;
  left: 0;
}
#main .sitemap .box ul li a {}
/**/
#main .sitemap .box ul li ul {}
#main .sitemap .box ul li ul li {}
#main .sitemap .box ul li ul li a {}
/* ————————————————————————————————————————————————————————————————————— その他 */
/* ------------------------------ 404 Page not found（22.04）*/
#main .notfound h1 {
  text-align: center;
}
#main .notfound .article {
  text-align: center;
  padding: 20px 0 0 0;
}
#main .notfound .btn_s {
  margin: 40px auto;
}
/**/
#main .notfound .notfound_box {
  border: 4px solid rgba(255, 40, 47, 0.1);
  margin: 30px auto;
  padding: 20px;
  width: 100%;
  text-align: center;
}
/**/
#main .notfound .notfound_box figure {
  margin: 0 0 10px 0;
}
#main .notfound .notfound_box figure img {
  margin: 0;
  width: 65px;
  height: auto;
}
/**/
#main .notfound .notfound_box p {
  margin: 0;
  padding: 0;
  color: #FF282F;
  font-size: 105%;
  font-weight: bold;
}
/* ------------------------------ Error！*/
#main .error h1 {
  text-align: center;
}
#main .error .article {
  text-align: center;
  padding: 20px 0;
}
/* ————————————————————————————————————————————————————————————————————— 会員専用*/
#main .container {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#main .container .box_dl {
  margin: 0 20px 20px 0;
  padding: 20px;
  border: 1px solid #ccc;
  transition: .4s;
}
#main .container .box_dl:hover {
  background-color: rgba(98, 170, 214, 0.2);
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1);
}
#main .container .box_dl a {
  display: block;
  padding: 0;
  text-decoration: none;
}
#main .container .box_dl img {
  width: 100%;
  height: 100%;
  max-width: 325px;
  max-height: 185px;
}
/**/
#main .container.logo .box_dl:nth-child(1) img {
  margin: 25px auto;
}
/**/
#main .container.logo .box_dl:nth-child(2) {
  width: 100%;
  max-width: 367px;
}
#main .container.logo .box_dl:nth-child(2) a {
  text-align: center;
}
#main .container.logo .box_dl:nth-child(2) img {
  width: 100%;
  max-width: 100px;
  margin: 20px auto;
}
#main .container .box_dl h3 {
  display: table;
  margin: 10px 0 0 0;
  padding: 0;
  font-size: 22px;
  line-height: 1.5em;
  color: #26668C;
  background-color: transparent;
}
#main .container .box_dl p {
  text-align: left;
}
/**/
#main .container .box_dl .dl {
  text-align: left;
  position: relative;
  margin: 10px 0 0 0;
  padding: 8px 10px;
  color: #26668C;
  background-color: rgba(98, 170, 214, 0.2);
}
#main .container .box_dl .dl::after {
  display: block;
  content: '';
  position: absolute;
  top: 42%;
  right: 15px;
  width: 6px;
  height: 6px;
  border-right: 1px solid #26668C;
  border-bottom: 1px solid #26668C;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}
#main .container .box_dl .dl a {
  text-align: left !important;
}
/* ————————————————————————————————————————————————————————————————————— 健康日本21（第三次）*/
#main .kenkou21 {}
/*注釈*/
#main .kenkou21 .note {
  margin: 40px 0;
}
#main .kenkou21 .note p {
  font-size: 80%;
}
/*転載禁止*/
#main .kenkou21 .prohibit {
  margin: 40px 0;
}
#main .kenkou21 .prohibit p {
  color: #E91A23;
  padding: 0 0 0 18px;
  background-image: url("../img/icon_prohibit.png");
  background-size: 13px;
  background-repeat: no-repeat;
  background-position: left 0.6em;
}
/* ------------------------------ 健康日本21とは*/
/*健康増進法第7条*/
#main .kenkou21 .flow01 {
  width: 100%;
  border: 4px solid #e0efc4;
  margin: 60px 0;
  padding: 25px;
  position: relative;
  background-color: #f4f9eb;
}
#main .kenkou21 .flow01::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  bottom: -30px;
  left: 0;
  right: 0;
  margin: auto;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 16px solid #3b99cb;
}
#main .kenkou21 .flow01 dl {
  margin: 0;
  padding: 0;
}
#main .kenkou21 .flow01 dl dt {
  margin: 0;
  padding: 0;
  font-size: 130%;
  font-weight: bold;
  text-align: center;
}
#main .kenkou21 .flow01 dl dd {
  margin: 0;
  padding: 0;
  text-align: center;
}
/**/
#main .kenkou21 .flow02 {
  width: 100%;
  background-color: #F0F0F0;
  margin: 60px 0;
  padding: 25px;
  position: relative;
}
#main .kenkou21 .flow02::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  bottom: -30px;
  left: 0;
  right: 0;
  margin: auto;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 16px solid #3b99cb;
}
#main .kenkou21 .flow02 dl {}
#main .kenkou21 .flow02 dl dt {
  margin: 0 0 20px 0;
  padding: 5px 0;
  width: 100%;
  text-align: center;
  font-size: 140%;
  position: relative;
  display: inline-block;
  background-color: #cce59d;
  border-radius: 5px;
}
#main .kenkou21 .flow02 dl dt::before {
  /*content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 20px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #99CB3B;
  border-radius: 5px;*/
}
#main .kenkou21 .flow02 dl dd {
  margin: 0;
  padding: 0;
}
/*国*/
#main .kenkou21 .flow02 .box01 {
  background-color: #fff;
  border-radius: 11px;
  margin-bottom: 25px;
  padding: 25px;
}
#main .kenkou21 .flow02 .box01 dl {}
#main .kenkou21 .flow02 .box01 dl dt {}
#main .kenkou21 .flow02 .box01 dl dd {
  text-align: center;
}
#main .kenkou21 .flow02 .box01 dl dd span {
  font-size: 120%;
  font-weight: bold;
}
#main .kenkou21 .flow02 .box01 dl dd span.re_l {
  font-size: 140%;
  display: block;
  text-align: center;
  font-weight: bold;
  color: #d43052;
}
/*都道府県市町村*/
#main .kenkou21 .flow02 .box02 {
  background-color: #fff;
  border-radius: 11px;
  padding: 25px;
}
#main .kenkou21 .flow02 .box02 dl {}
#main .kenkou21 .flow02 .box02 dl dt {}
#main .kenkou21 .flow02 .box02 dl dd {}
#main .kenkou21 .flow02 .box02 dl dd span {
  font-size: 110%;
  font-weight: bold;
  padding: 0 5px 0 0;
}
#main .kenkou21 .flow02 .box02 dl dd span.line_red {
  font-size: 100%;
  font-weight: normal;
  padding: 0;
  border-bottom: 2px solid #ef595f;
}
#main .kenkou21 .flow02 .box02 dl dd span.line_gr {
  font-size: 100%;
  font-weight: normal;
  padding: 0;
  border-bottom: 2px solid #8bbb32;
}
/**/
#main .kenkou21 .flow03 {
  width: 100%;
  border: 4px solid #e0efc4;
  margin: 60px 0;
  padding: 25px;
  position: relative;
  background-color: #f4f9eb;
}
#main .kenkou21 .flow03::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  bottom: -30px;
  left: 0;
  right: 0;
  margin: auto;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 16px solid #3b99cb;
}
#main .kenkou21 .flow03 p {
  margin: 0;
  padding: 0;
  font-size: 120%;
  font-weight: bold;
  line-height: 1.6em;
  text-align: center;
}
/**/
#main .kenkou21 .flow_end {
  width: 100%;
  margin: 60px 0;
  padding: 25px;
  position: relative;
  background-color: #f9edf5;
}
#main .kenkou21 .flow_end p {
  margin: 0;
  padding: 0;
  font-size: 140%;
  font-weight: bold;
  color: #cb3b51;
  text-align: center;
}
/**/
/* ------------------------------ 目標（死亡率減少）*/
#main .kenkou21 .copd {
  border-collapse: separate;
  border: none;
  border-spacing: 3px;
}
#main .kenkou21 .copd th, #main .kenkou21 .copd td {
  border: none;
}
#main .kenkou21 .copd th {
  width: 30% !important;
  background-color: #1F8DD0;
  color: #fff;
  font-size: 110%;
  position: relative;
}
#main .kenkou21 .copd th::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 25px 0 25px 12px;
  border-color: transparent transparent transparent #1F8DD0;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: -12px;
}
#main .kenkou21 .copd td {
  background-color: #EFF6FB;
  font-weight: bold;
  font-size: 105%;
  padding: 0 0 0 30px;
}
#main .kenkou21 .copd td span {
  font-size: 170%;
  font-weight: bold;
}
/**/
#main .kenkou21 .bl_l {
  font-size: 150%;
  font-weight: bold;
  padding: 0 2px 0 0;
  color: #1F8DD0;
}
#main .kenkou21 .re_l {
  font-size: 150%;
  font-weight: bold;
  padding: 0 2px 0 0;
  color: #d43052;
}
/* ————————————————————————————————————————————————————————————————————— 委員会報告*/
/* ------------------------------ 女性医師のキャリアパス（一覧）*/
#main .joseiishi_list {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  border-left: 1px solid #ccc;
}
#main .joseiishi_list .box {
  background-color: transparent;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  width: calc(100% / 2);
  transition: .4s;
}
#main .joseiishi_list .box:hover {
  background-color: #fff;
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1);
}
#main .joseiishi_list .box:nth-child(1), #main .joseiishi_list .box:nth-child(2) {
  border-top: 1px solid #ccc;
}
@media screen and (min-width: 1560px) {
  #main .joseiishi_list .box {
    width: calc(100% / 3);
  }
  #main .joseiishi_list .box:nth-child(3) {
    border-top: 1px solid #ccc;
  }
}
#main .joseiishi_list .box a {
  text-decoration: none;
  display: block;
  padding: 30px;
  height: 100%;
}
/**/
#main .joseiishi_list .box a .pict {}
#main .joseiishi_list .box a .pict img {}
/**/
#main .joseiishi_list .box a .thema {
  font-size: 18px;
  color: #4892C5;
  line-height: 1.6em;
}
/**/
#main .joseiishi_list .box a h3 {
  margin: 40px 0 0 0;
  padding: 0;
  background-color: transparent;
  font-size: 17px;
  color: #26668C;
}
/**/
#main .joseiishi_list .box a .text {
  font-size: 13px;
}
/**/
#main .joseiishi_list .box {
  position: relative;
}
#main .joseiishi_list .box::before {
  position: absolute;
  content: "";
  bottom: 20px;
  right: 20px;
  display: inline-block;
  width: 22px;
  height: 22px;
  text-align: center;
  line-height: 22px;
  border-radius: 50%;
  border: solid 1px #4892C5;
}
/**/
#main .joseiishi_list .box a {
  position: relative;
}
#main .joseiishi_list .box a:before, #main .joseiishi_list .box a:after {
  content: '';
  display: block;
  position: absolute;
  background: #4892C5;
}
#main .joseiishi_list .box a:before {
  bottom: 31px;
  right: 57px;
  width: 10px;
  height: 1px;
  transform: translate(30px, 0px);
  border: none;
}
#main .joseiishi_list .box a:after {
  bottom: 31px;
  right: 57px;
  width: 6px;
  height: 1px;
  transform-origin: right center;
  transform: translate(30px, 0px) rotate(45deg);
}
/* ------------------------------ 女性医師のキャリアパス（個別）*/
#main .joseiishi {}
/**/
#main .joseiishi .head {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#main .joseiishi .head .profile {}
#main .joseiishi .head .profile h3 {
  margin: 0;
  padding: 0;
  font-size: 23px;
  border-bottom: 1px solid #53CDC2;
  background-color: transparent;
}
#main .joseiishi .head .profile h3 span {
  font-size: 14px;
  display: block;
  margin: 10px 0 18px 0;
  padding: 0;
  color: #333;
}
#main .joseiishi .head .profile p {
  font-size: 14px;
}
/**/
#main .joseiishi .head .pict {
  position: relative;
  margin: 0 0 0 20px;
}
#main .joseiishi .head .pict::after {
  position: absolute;
  content: "";
  background-image: url("../img/joseiishi_bg.png");
  background-repeat: no-repeat;
  width: 198px;
  height: 208px;
  bottom: -70px;
  left: -100px;
  z-index: -1;
}
#main .joseiishi .head .pict img {
  width: 100%;
  max-width: 380px;
  border-radius: 0 0 0 40px;
}
@media screen and (min-width: 1680px) {
  #main .joseiishi .head .pict img {
    max-width: 600px;
  }
}
/**/
#main .joseiishi .interview {
  margin: 40px 0;
}
#main .joseiishi .interview img {
  width: 100%;
  max-width: 350px;
}
#main .joseiishi .interview .q {
  font-size: 20px;
  position: relative;
  color: #333;
  text-shadow: 0 0 2px #fff;
  margin: 60px 0 40px 0;
}
#main .joseiishi .interview .q:before {
  content: "";
  position: absolute;
  background: rgba(83, 205, 194, 0.2);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  top: 50%;
  left: -15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: -1;
}
#main .joseiishi .interview .a {
  font-size: 14px;
}
/* ------------------------------ 災害時の対応について*/
#main .answer {
  color: #D462AA;
  font-size: 20px;
  padding: 0 10px 0 0;
}
/*5）びまん性肺疾患に関するＱ＆Ａ*/
#main .lead_box.dld .pict {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
}