/* サイト共通 
----------------------------------------------------------------------*/

/* スマホ用フォント */

@media (max-width: 767px) {
  body {
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  }
}

@media (max-width: 767px) {
  h1,h2,h3,h4,h5,h6,
  .yugothic {
    font-family: -apple-system, "Yu Gothic", YuGothic, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif!important;
  }
}

/* グローバルナビ */

#gnav li {
  box-sizing:content-box;
}

/* フッター */

@media (max-width: 767px) {
  #footer {
    padding: 10px 0 40px;
  }
  #footer address {
    margin-bottom: 0.2rem;
  }
}

/* ページトップへ戻るボタン */

.page_top {
  box-sizing: content-box;
  position: fixed;
  bottom: 15px;
  right: 10px;
  padding: 9px 15px;
  color: #fff!important;
  font-size: 14px;
  text-decoration: none!important;
  background-color: #009fff!important;
  text-align: center;
  line-height: 1.0;
  border-radius: 50%;
  opacity: 0.6;
  height: 48px;
  text-shadow: 0 0 5px #999;
}

/* 電話番号リンク：PC ではリンクと見えないように */
/* スマホでは電話番号を大き目に表示 */

@media (min-width: 768px) {
  a[href^="tel"] {
    cursor: default;
    color: #222222;
    text-decoration: none;
  }
}
@media (max-width: 767px) {
  a[href^="tel"] {
    font-size: 1rem; /* 16px */
  }
}

/* リンクの色 */

@media (max-width: 767px) {
  a:hover {
    text-decoration:none;
  }
  a.link-1:hover {
    color: #222222;
  }
  a.link-4:hover {
    color: #4169E1;
  } 
}

/* インデント */

.ind-1em {
  padding-left: 1em;
  text-indent: -1em;
}

.ind-3em {
  padding-left: 3em;
  text-indent: -3em;
}

.p-ind-year-width p {
  padding-left: 5.25em;
  text-indent: -5.25em;
}

/* パディング */

@media (min-width:768px) {
  .pl-md-20 {
    padding-left: 20px!important;
  }
}

/* dl */

dt {
  font-weight: normal;
}

/* 背景色 */
.bg-primary2 {
  /*background-color: cornflowerblue;*/
  /*background: linear-gradient(#7eafff 0%, #6495ed 100%);*/
  background: linear-gradient(#7eafff 0%, #6697ef 100%);
}

/* 折り畳みを表す下向き矢印 */

/* 青系 */

.expand-blue {
  display:inline-block!important;
  width:11px!important;
  height:11px!important;
  border-bottom:3px solid #76CBF7!important;
  border-right:3px solid #76CBF7!important;
  transform:rotate(45deg)!important;
  position:relative!important;
  top:-4px!important;
  left:8px!important;
}

/* 緑系 */

.expand-green {
  display:inline-block!important;
  width:11px!important;
  height:11px!important;
  border-bottom:3px solid darkseagreen!important;
  border-right:3px solid darkseagreen!important;
  transform:rotate(45deg)!important;
  position:relative!important;
  top:-4px!important;
  left:8px!important;
}

/* ピンク系 */

.expand-pink {
  display:inline-block!important;
  width:10px!important;
  height:10px!important;
  border-bottom:3px solid #EA5168!important;
  border-right:3px solid #EA5168!important;
  transform:rotate(45deg)!important;
  position:relative!important;
  top:-3px!important;
  left:8px!important;
}

/* 黒系（小） */

.expand-black {
  display:inline-block!important;
  width:10px!important;
  height:10px!important;
  border-bottom:3px solid black!important;
  border-right:3px solid black!important;
  transform:rotate(45deg)!important;
  position:relative!important;
  top:-3px!important;
  left:8px!important;
}

/* ソーシャルボタン */

.sns-buttons .fb-share-button > span {
  vertical-align: top!important;
}

.twitter-share-button.twitter-share-button-rendered.twitter-tweet-button {
  /*vertical-align: bottom;*/
  vertical-align: top;
}

/* ソースの改行をスマホ用表示で有効にする */

@media (max-width:767px) {
  .ws-pre-line {
    white-space: pre-line;
  }
}

/* サイト共通：ヘッダー
--------------------------------------------------*/

/* ヘッダー 全体 */

@media (max-width: 767px) {
  body.top,
  body.non-top {
    background: none;
    border-top: 5px solid #76CBF7;
  }
  body.top #header,
  body.non-top #header {
    max-width: 100%;
    height: auto!important;
  }
  body.non-top #header {
    border-bottom: 2px solid #8db863;
  }
}

/* ロゴ */

@media (max-width: 767px) {
  body #logo {
    position: static;
  }
  body #logo {
    margin: 20px 0 25px 15px;
    max-width: 78%;
    height: auto;
  }
}

/* ヘッダーリンク */

@media (max-width: 767px) {
  body ul#hlinks {
    display:none;
  }
}

/* グローバルナビ */

@media (max-width: 767px) {
  body #gnav {
    display:none;
  }
}

/* トップページ
----------------------------------------------------------------------*/

/* トップページ：ヘッダー
--------------------------------------------------*/

/* ヘッダーメイン画像 */

@media (max-width: 767px) {
  body.top #mission {
    display:none;
  }
  body.top #header #top-image {
    position: relative;
    top: 0;
    left: 0;
  }
  body.top #header #top-image {
    max-width: 100%;
    height: 0!important;
    padding-top: 37.3%;
  }
  body.top #header #top-image a {
    display: block;
    width: 100%;
    height: 100%;
  }
  body.top #header #top-image a img {
    top: 0;
    left: 0;
  }
}

/* トップページ：ページボディ
--------------------------------------------------*/

/* 全体構造 */

@media (max-width: 767px) {
  body.top #pagebody,
  body.top #primary,
  body.top #sidebar {
    max-width: 100%;
  }
  body.top #pagebody {
    padding-bottom: 30px;
    margin-top: 10px;
  }
}

/* トップページ：ページボディ：プライマリー
----------------------------------------*/

/* TOPICS、INFORMATION */

@media (max-width: 767px) {
  body.top.jpn h2 {
    font-size: 1.15rem;
    padding-left: 25px;
    background: url(../images/blt_blue_circle.jpg) 0 2px no-repeat;
    background-size: 20px 20px;
    margin-bottom: 5px;
  }
}

@media (max-width: 767px) {
  body.top #primary ul li span.title {
    max-width: 100%;
    display: block;
    float: none;
  }
}

@media (max-width: 767px) {
  body.top #primary ul#topics li,
  body.top #primary ul#info-sp li {
    display: none;
    font-size: 0.85rem;
  }
  body.top #primary ul#topics li:first-child,
  body.top #primary ul#topics li:nth-child(2),
  body.top #primary ul#info-sp li:first-child {
    display: list-item;
  }
}

@media (max-width: 767px) {
  body.top #primary ul#topics li,
  body.top #primary ul#info   li {
    padding: 0.5em 0 0.6em 0;
  }
}

@media (max-width: 767px) {
  body.top #primary ul li span.date {
    width: 75px;
  }
}

@media (max-width: 767px) {
  body.top #primary ul li span.cat {
    padding: 0;
  }
}

@media (max-width: 767px) {
  body.top #primary ul li span.new {
    padding: 0px 5px 1px 5px;
  }
}
    
@media (max-width: 767px) {
  body.top #primary p.link-backnumber {
    margin: 0.3em 0.5em 1.5em 0;
    font-size: 0.85rem;
    font-weight: normal;
  }
}

/* バナー群（PC用ページ） */

body.top #banners a {
  box-sizing: content-box;
}

/* バナー群（スマホ用ページ） */

body.top .banners-sm {
  max-width: 100%;
}

body.top .banners-sm a {
  display: inline-block;
  width: 49%;
}

/* トップページ：ページボディ：サイドバー
----------------------------------------*/

/* サイドバー全体 */

@media (max-width: 767px) {
  body.top #sidebar {
    /*width: 210px;*/
    width: 100%;
  }
}

/* アイコン付きボックス項目 */

/*@media (max-width: 767px) {
  body.top #sidebar #box-contest {
    background: url(../images/box_contest_icon.png) 0 10px no-repeat;
    height: auto;
  }
  body.top #sidebar #box-contest .title {
    margin-left:65px;
  }
  body.top #sidebar #box-contest .sub-1{
    font-size:100%;
    margin-left:85px;
  }
  body.top #sidebar #box-map {
    background: url(../images/box_map_icon.jpg) 0 0 no-repeat;
  }
  body.top #sidebar #box-lector {
    background: url(../images/box_lector_icon.jpg) 0 0 no-repeat;
  }
  body.top #sidebar #box-publication {
    background: url(../images/box_publication_icon.jpg) 0 0 no-repeat;
  }
  body.top #sidebar .sidebar-item {
    border: 2px solid #e5e5e5;
    padding-left: 0;
  }
  body.top #sidebar a .sidebar-item {
    font-size: 1.2rem;
    font-weight: normal;
  }
}*/

/* 機関誌ニュースレターボックス */

@media (max-width: 767px) {
  body.top #sidebar a #box-newsletter {
    border: 2px solid #e5e5e5;
    font-size: 1rem;
    font-weight: normal;
    padding: 0.5em 0.5em 0.7em;
  }
}

/* 「法人概要」を含むリンク一覧 */

@media (max-width: 767px) {
  body.top #sidebar ul {
    border-top: 1px solid #CCCCCC;
  }
  body.top #sidebar ul li {
    font-size: 1.05rem;
    font-weight: normal;
    border-bottom: 1px solid #CCCCCC;
    background-position: 0 19px;
    padding: 11px 17px 9px;
  }
  body.top #sidebar ul li:last-child {
    padding: 11px 15px 11px;
  }
}

@media (max-width: 767px) {
  body.top #sidebar a .sidebar-item,
  body.top #sidebar a #box-newsletter,
  body.top #sidebar ul li {
    font-family: -apple-system, "Yu Gothic", YuGothic, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif!important;
    font-weight: bold;
  }
}

/* YouTube 動画 */

body.top img.yt-logo {
  width: 35%;
  margin-bottom: 5px;
}

body.top #pagebody p.link-yt-ch {
  text-align: right;
  margin: 0.5em 0.2em 2em 0;
  font-weight: bold;
}
@media (max-width: 767px) {
  body.top #pagebody p.link-yt-ch {
    font-size: 1rem;
    font-weight: normal;
  }
}

/* フッター */

body.top address {
  margin-bottom: 0;
}

/* 非トップページ
----------------------------------------------------------------------*/

body.non-top h1,
body.non-top h2,
body.non-top h3,
body.non-top h4,
body.non-top h5,
body.non-top h6 {
  line-height: 1.6;
}

@media (min-width:768px) {
  body.non-top h3 {
    box-sizing: content-box;
  }
}

body.non-top #primary .primary-inner {
  padding-left: 10px;
  font-size: 85%;
}

body.non-top #primary .primary-inner-2 {
  padding-left: 55px;
  font-size: 85%;
}

body.non-top #primary .primary-inner-4 {
  padding-left: 20px;
  font-size: 85%;
}

body.non-top .tab-stripes td {
  padding: 0.7em 0 0.6em 1em;
}
@media (max-width: 767px) {
  body.non-top .tab-stripes td {
    padding: 0.6em 0 0.6em 1em;
  }
}

body.non-top .tab-stripes-3 td {
  padding: 0.6em 1em 0.5em 3.0em;
  text-indent: -2.0em;
}
@media (max-width: 767px) {
  body.non-top .tab-stripes-3 td {
    padding: 0.5em 1em 0.5em 3.0em;
  }
}

body.non-top #bread {
  box-sizing: content-box;
}

body.non-top h3 {
  background: url(../images/blt_blue_circle.jpg) 0 3px no-repeat;
  padding-bottom: 8px;
  padding-left: 34px;
}

@media (max-width: 767px) {
  body.non-top #pagebody,
  body.non-top #primary,
  body.non-top #secondary {
    max-width: 100%;
  }
  body.non-top #primary {
    min-height: 0;
  }
  body.non-top h2,
  body.non-top h3,
  body.non-top h4 {
    max-width: 100%;
  }
  body.non-top h2 {
    background-size: contain!important;
    height: 0;
    padding-top: 12%;
  }
  body.non-top.topics h2,
  body.non-top.info h2 {
    background-size: contain!important;
    height: 0;
    padding-top: 12.82%;
  }
  body.non-top h3 {
    font-size: 120%;
    margin-left: 0;
    letter-spacing: 0;
  }
  body.non-top #bread {
    max-width: 100%;
    height: auto;
    margin-bottom: 18px;
  }
  body.non-top #primary #primary-inner,
  body.non-top #primary .primary-inner,
  body.non-top #primary #primary-inner-2,
  body.non-top #primary .primary-inner-2,
  body.non-top #primary #primary-inner-4,
  body.non-top #primary .primary-inner-4 {
    padding-left: 0;
  }
  body.non-top .tab-stripes-3 {
    max-width: 100%;
    width: auto;
    margin: 0.5em 0 1.5em 0;
  }
  body.non-top .tab-3 {
    max-width: 100%;
    width: auto;
    margin: 0.5em 0 1.5em 0;
  }
  body.non-top .ml-30 {
    margin-left: 0;
  }
  body.non-top .ml-25em {
    margin-left: 1em;
  }
}

/* secondary
----------------------------------------*/

/* ul#side-nav 用 */

@media (max-width: 767px) {
  body.non-top #secondary {
    width: 100%;
    font-size: 1rem;
  }
  body.non-top #secondary ul#side-nav {
    width: 100%;
    border: 1px solid #CCCCCC;
    border-radius: 10px;
  }
  body.non-top #secondary ul#side-nav li {
    height: 56px;
    line-height: 56px;
    border-bottom: 1px solid #CCCCCC;
    display: block;
    font-weight: bold;
    background: linear-gradient( #ffffff 0%, #f5f5f5 100%);
  }
  body.non-top #secondary ul#side-nav li:first-child {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px; 
  }
  body.non-top #secondary ul#side-nav li:last-child {
    border-bottom: none;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
  }
  body.non-top #secondary ul#side-nav li span {
    padding-top: 0;
  }
  body.non-top #secondary ul#side-nav li.w-line span {
    padding-top: 9px;
    line-height: 1.2;
  }
  body.non-top #secondary ul#side-nav li a,
  body.non-top #secondary ul#side-nav li a:hover {
    display: block;
    width: 100%;
    height: 100%;
    background: none;
  }
  body.non-top #secondary ul#side-nav li a.now {
    background: none;
  }
}

/* ul.side-nav-list 用 */

@media (max-width: 767px) {
  body.non-top.news #secondary {
    width: 100%;
    font-size: 1rem;
  }
  body.non-top.news #secondary ul.side-nav-list {
    width: 100%;
    border: 1px solid #CCCCCC;
    border-radius: 10px;
  }
  body.non-top.news #secondary ul.side-nav-list li {
    height: 56px;
    line-height: 56px;
    border-bottom: 1px solid #CCCCCC;
    display: block;
    font-weight: bold;
    background: linear-gradient( #ffffff 0%, #f5f5f5 100%);
  }
  body.non-top.news #secondary ul.side-nav-list li:first-child {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px; 
  }
  body.non-top.news #secondary ul.side-nav-list li:last-child {
    border-bottom: none;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
  }
  /*body.non-top.news #secondary ul.side-nav-list li span {
    padding-top: 0;
  }
  body.non-top.news #secondary ul.side-nav-list li.w-line span {
    padding-top: 9px;
    line-height: 1.2;
  }*/
  body.non-top.news #secondary ul.side-nav-list li a,
  body.non-top.news #secondary ul.side-nav-list li a:hover {
    display: block;
    width: 100%;
    height: 100%;
    background: none;
    
    padding-top: 0;
    margin-left: 14px;
    line-height: 56px;
  }
  body.non-top.news #secondary ul.side-nav-list li a.now {
    background: none;
  }
}

@media (max-width: 767px) {
  body.non-top.news #primary {
    margin-bottom: 30px;
  }
  body.non-top.news #secondary h4 {
    margin-bottom: 5px;
  }
  body.non-top.news #secondary ul.side-nav-list:first-of-type {
    margin-bottom: 30px;
  }
  body.non-top.news #secondary ul.side-nav-list:nth-of-type(2) {
    margin-bottom: 0;
  }
}

/* activity
----------------------------------------*/

@media (min-width:768px) {
  body.activity #primary h4.h4-activity-sub {
    box-sizing: content-box;
  }
}

/* activity: index.html 
------------------------------*/

body.activity #primary #p-intro-activity {
  margin-left: 0;
}

body.activity #primary .intro-activity div {
  box-sizing: content-box;
}

@media (max-width:767px) {
/*  body.activity #primary #intro-research,
  body.activity #primary #intro-newsletter,
  body.activity #primary #intro-seminar {
    background-color:rgba(255,255,255,0.8);
    background-blend-mode:lighten;
  }*/
  body.activity #primary #intro-research,
  body.activity #primary #intro-newsletter,
  body.activity #primary #intro-seminar {
    background-size: 40px auto;
    background-position: 0px 0px;
  }
  body.activity #primary #intro-research h3,
  body.activity #primary #intro-newsletter h3,
  body.activity #primary #intro-seminar h3 {
    padding: 3px 6px;
    margin: 0 0 0 54px;
    width: calc(100% - 65px);
  }
  body.activity #primary #intro-research h3 {
    border: 2px solid #8EC21E;
  }
  body.activity #primary #intro-newsletter h3 {
    border: 2px solid #F29600;
    position: relative;
    top: 3px;
  }
  body.activity #primary #intro-seminar h3 {
    border: 2px solid #E8536A;
    position: relative;
    top: 4px;
  }

  body.activity #primary .intro-activity div {
    padding-left: 0;
    max-width: 100%;
  }
  #p-intro-activity {
    margin-left: 0;
  }
  body.activity #primary h4:not(.h4-activity-sub) {
    line-height: 1.4;
  }
  ul.ul-activity-sub {
    margin-bottom: 1rem;
  }
  body.activity #primary .intro-activity img {
    float: none;
    display: block;
    margin: 0 auto;
  }
}

/* activity: research.html 
------------------------------*/

@media (max-width:767px) {
  body.activity #primary h4.h4-activity-sub.blt-green-circle {
    background: url(../images/blt_green_circle.jpg) 0 2px no-repeat;
  }
}

/* activity: seminar.html 
------------------------------*/

@media (max-width:767px) {
  body.activity #primary h4.h4-activity-sub.blt-pink-circle  {
    background: url(../images/blt_pink_circle.jpg) 0 2px no-repeat;
  }
  body.activity #primary .tab-3 th {
    width: 7em;
  }
}

/* activity: contest.html 
------------------------------*/

@media (min-width:768px) {
  .w-md-350 {
    width:350px;
  }
}

@media (max-width:767px) {
  body.activity #primary h4.h4-activity-sub.blt-navyblue-circle {
    background: url(../images/blt_navyblue_circle.jpg) 0 2px no-repeat;
  }
}

body.activity.contest .icon {
  position: relative;
  top: -2px;
}

/* activity: publicity.html 
------------------------------*/

@media (max-width:767px) {
  body.non-top p.p-ml-30 {
    margin-left: 0;
  }
}


/* profile
----------------------------------------*/

/* profile: outline.html 
------------------------------*/

body.profile #primary dl#org-outline dt {
  width: 125px;
}

body.profile #primary dl#org-outline dd img#chart-org {
  float: none;
}
body.profile #primary dl#org-outline dd #guest-researcher {
  float: none;
}

body.profile #primary dl#org-outline dd #guest-researcher p {
  position: relative;
  left: -5px;
  color: #4169E1;
  margin-top: 0;
  margin-bottom: 0.5em;
}

dl#org-outline dd ol {
  list-style: decimal;
  margin-left: 1.5em;
}

body.profile #primary dl#org-outline dd .icon {
  top: -2px;
}

@media (max-width:767px) {
  body.profile #primary dl#org-outline dt {
    background: url(../images/blt_blue_circle_s.jpg) 3px 5px no-repeat;
  }
  body.profile #primary dl#org-outline dd {
    max-width: 100%;
  }
}

/* profile: message.html 
------------------------------*/

@media (max-width:767px) {
  body.profile #primary #msg-body {
    max-width: 100%;
  }
  body.profile #primary #msg-pic-sp {
    width: 134px;
    float: left;
    margin-right: 0.85rem;
  }
}
    
    
/* profile: history.html 
------------------------------*/

@media (max-width:767px) {
  .chronicle {
    margin-top: -15px;
    margin-bottom: 20px;
  }
  .chronicle table tr td:first-child {
    padding: 0.8em 0 0.5em 0.5em;
    width: 7em;
  }
}

/* profile: disclosure.html 
------------------------------*/

body.profile #primary .ul-disclosure li {
  background: url(../images/blt_blue_circle_s.jpg) 3px 4px no-repeat;
}

body.profile #primary .ul-disclosure li ul li .icon {
  top: -2px;
}

@media (max-width:767px) {
  body.profile #primary .col-disclosure {
  max-width: 100%;
  }
  body.profile #primary .ul-disclosure li ul {
    margin-left: 30px;
  }
}

/* profile: location.html 
------------------------------*/

@media (max-width:767px) {
  body.profile #primary #maps {
    margin-left: 0;
    max-width: 100%;
    float: none;
  }
  body.non-top.profile iframe {
    max-width: 100%;
  }
  body.profile #primary #addr-and-pic {
  max-width: 100%;
  float: none;
  margin-top: 10px;
  margin-bottom: 20px;
  }
}

/* profile: privacy.html 
------------------------------*/

ul#sns-policy-art3 {
  margin: 1em 0 2em;
}

ul#sns-policy-art3 li {
  padding-left: 2em;
  text-indent: -2em;
}

/* support
----------------------------------------*/

/* support: donation.html 
------------------------------*/

ol#donate-rule li {
  padding-left: 3em;
  text-indent: -3em;
}

ul#donate-post {
  margin-left: 2em;
}

ul#donate-post li {
  padding-left: 5em;
  text-indent: -5em;
}

ul#donate-bank {
  margin-left: 2em;
  margin-bottom: 20px;
}

ul#donate-bank li {
  padding-left: 4em;
  text-indent: -4em;
}

/* seminar: koushihaken.html
----------------------------------------*/

body.non-top.lector .icon {
  position: relative;
  top: -2px;
}

body.non-top.lector table.tab-2 tr:first-child th:first-child,
body.non-top.lector table.tab-2 tr:first-child th:nth-child(2) {
  width: 220px;
}

@media (max-width:767px) {
  body.non-top.lector table.tab-2 tr:first-child th:first-child,
  body.non-top.lector table.tab-2 tr:first-child th:nth-child(2) {
    width: 30%;
  }
}

body.non-top.lector #primary .div-lecture-inq {
  margin-left: 2em;
  margin-right: 2em;
  font-size: 90%;
  overflow: hidden;
}
body.non-top.lector #primary .div-lecture-inq .doc-link {
  float: left;
  width: 18em;
}
body.non-top.lector #primary .div-lecture-inq .doc-desc {
  float: left;
  width: 40em;
}

/* newsletter
----------------------------------------*/

/* newsletter: index.html 
------------------------------*/

@media (max-width:767px) {
  body.newsletter #primary {
    margin-bottom: 30px;
  }
  body.newsletter #primary #newsletter-lead-2 h4 {
    padding-left: 0;
  }
}

@media (max-width:767px) {
  body.non-top #secondary ul#side-nav li.w-line span span.adjust-1 span.adjust-2 {
    font-size: 100%;
  }
}


/* newsletter: backnumber.html 
------------------------------*/

body.newsletter #tab-backnum td div {
  box-sizing: content-box;
}
    
@media (max-width:767px) {
  body.newsletter #tab-backnum {
    max-width: 100%;
    width: auto;
  }
  body.newsletter #tab-backnum td {
    width: auto;
  }
}

/* newsletter: nlxxx.html 
------------------------------*/

@media (max-width:767px) {
  body.newsletter #primary #newsletter-lead-2 h4 #newsletter-no {
    margin-top: 0;
  }
}

/* newsletter: subscription.html
------------------------------*/

body.newsletter #tab-subsc th {
  box-sizing: content-box;
}

@media (max-width:767px) {
  body.newsletter #tab-subsc {
    margin-top: 0;
    margin-bottom: 0;
  }
  body.newsletter #tab-subsc th {
    width: 35%;
    padding: 1em 0.7em 1em 0em;
    padding-left: 2.5em;
    text-indent: -2.5em;
  }
}

/* publication
----------------------------------------*/

/* publication: index.html 
------------------------------*/

@media (max-width:767px) {
  body.publication #primary {
    margin-bottom: 30px;
  }
  body.publication #primary .book-info img {
    width: 20%;
    margin-left: 0;
    margin-right: 0;
  }
  body.publication #primary .book-info .book-info-text {
    padding-left: 25%;
  }
  body.publication #primary dl#publication-inquiry {
    padding: 1.5em;
  }
  body.publication #primary dl#publication-inquiry dt {
    padding-left: 0;
    margin-bottom: 0.5em;
  }
  body.publication #primary dl#publication-inquiry dd {
    width: auto;
    white-space: pre-line;
  }
  body.publication #primary dl#publication-inquiry dd a[href^="tel"] {
    font-size: 1.03rem;
  }
}

/* publication: hyouji.html 
------------------------------*/

@media (max-width:767px) {
  body.publication #tab-hyouji {
    margin: 1em 0;
  }
}

/* publication: 個別出版物.html 
------------------------------*/

body.publication #primary .book-selected {
  margin-top: 50px;
}
@media (max-width:767px) {
  body.publication #primary .book-selected {
    margin-top: 0;
  }
}

/* link: index.html
----------------------------------------*/

body.non-top.link h3 {
  padding-top: 15px;
  background: url(../images/blt_blue_circle.jpg) 0 18px no-repeat;
}

@media (max-width:767px) {
  body.non-top.link #primary .primary-inner-3 {
    padding-left: 10px;
  }
}

/* TOPICS、INFORMATION
----------------------------------------*/

body.non-top.topics .icon,
body.non-top.info .icon {
  position: relative;
  top: -2px;
}

@media (max-width: 767px) {
  body.non-top.topics h3,
  body.non-top.info h3 {
    background: url(../images/blt_blue_circle.jpg) 0 3px no-repeat;
  }
  body.news.topics #primary ul li span.date,
  body.news.info #primary ul li span.date {
    width: 75px;
  }
  body.news.topics #primary span.cat, 
  body.news.info #primary span.cat {
    padding: 0;
  }
  body.topics #primary ul li span.title,
  body.info #primary ul li span.title {
    max-width: 100%;
    display: block;
    float: none;
  }
  body.news.topics #primary ul#topics li,
  body.news.info #primary ul#info li {
    padding: 0.5em 0 0.6em 0;
    border-bottom: 1px dashed #CCCCCC;
  }
}

/* お問い合わせフォーム
----------------------------------------*/

@media (min-width:768px) {
  body.non-top.inquiry form {
    width: 97%;
  }
}

body.non-top.inquiry .odd {
  background-color: #EEEEEE;
}

body.non-top.inquiry .form-control-sm {
  border: 1px solid rgb(206, 212, 218);
}

@media (min-width:768px) {
  body.non-top.inquiry form {
    font-size: 90%;
  }
}

body.non-top.inquiry .formgroup.form-row label:first-child {
  font-weight: bold;
}

body.non-top.inquiry .formgroup.form-row label:first-child span:first-child {
  color: red;
}

body.non-top.inquiry .formgroup.form-row {
  padding: 0.6em;
}
body.non-top.inquiry .formgroup.form-row:nth-child(3) {
  padding-bottom: 0;
}
body.non-top.inquiry .formgroup.form-row:nth-child(4) {
  padding-top: 0;
}

body.non-top.inquiry.confirm .formgroup.form-row:nth-child(3) {
  padding-bottom: 0.6em;
}
body.non-top.inquiry.confirm .formgroup.form-row:nth-child(4) {
  padding-top: 0.6em;
}

body.non-top.inquiry.confirm .input-data {
  padding: 5px;
}

@media (max-width:767px) {
  body.non-top.inquiry .formgroup.form-row .col-form-label {
    padding-top: 0;
  }
}

body.non-top.inquiry #btns-submit {
  margin-top: 1em;
}
@media (max-width: 767px) {
  body.non-top.inquiry #btns-submit {
    margin-left: 0;
    text-align: center;
  }
}

body.non-top.inquiry #primary-inner-2 table td {
  padding-right: 1em;
}

/* 受賞教材検索
----------------------------------------*/

body.contest.search h2 {
  background: url("../images/hdg_contest_search.jpg") 0 0 no-repeat;
}

/* 検索条件入力 */

.box-search {
  border: 4px solid #78ccf8;
  border-radius: 10px;
  padding: 1em 1.5em;
  width: 60%;
  margin: 20px auto;
  
  position: relative;
}
.box-search .catch {
  margin: 0 0 0 1em;
}
@media (max-width:767px) {
  .box-search {
    padding: 1em 0.5em;
    width: 90%;
  }
  .box-search .catch {
    margin: 0 1.2em;
  }
}

.box-search #collapseContent-search {
  padding: 0em 3em 0em 1em;
}
@media (max-width:767px) {
  .box-search #collapseContent-search {
    padding: 0em 1em;
  }
}

.box-search .link-detail img {
  width: 15px;
  position: relative;
  top: -2px;
}

body.non-top .box-search h4 {
  background: none;
  padding-left: 0;
  font-size: 16px;
  margin-bottom: 0;
}

body.non-top .box-search a h4 {
  color: #333;
}

body.non-top .box-search .ico-loupe {
  width: 20px;
  margin-left: 15px;
}

.box-search .col-md-3 {
  padding-right: 0;
  padding-left: 20px;
}
    
.box-search select {
  font-size:100%;
}

.box-search button {
  width: 5rem;
  font-size:100%;
  padding: .375rem .65rem;
  margin-bottom: 0.5em;
}

.box-search #btns {
  position: relative;
}

.box-search img#chara1 {
  position: absolute;
  bottom: -7px;
  right: -43px;
  width: 48px;
  height: auto;
}
.box-search img#chara2 {
  position: absolute;
  bottom: 2px;
  left: -15px;
  width: 35px;
  height: auto;
}
@media (max-width:767px) {
  .box-search img#chara1 {
    bottom: 0px;
    right: -19px;
    width: 35px;
  }
  .box-search img#chara2 {
    bottom: 6px;
    left: -14px;
    width: 26px;
  }
}

/* 「最新の受賞作品」見出し */

p.hdg-search-index {
  background: url(../images/blt_navyblue_circle.jpg) 0 0 no-repeat;
  font-size: 16px;
  font-weight: bold;
  padding-left: 30px;
}

/* 検索条件・件数 */

body.contest.search .search-cond span,
body.contest.search .search-count span {
  font-weight: bold;
}

body.contest.search .search-cond span {
  /*color: #66A1D9;*/ /* gnav の色 */
  color: #5691C9; /* gnav の色より暗め */
}
body.contest.search .search-cond span:first-of-type {
  color: #333;
}

body.contest.search .search-cond {
  padding-left: 5em;
  text-indent: -5em;
  margin-bottom: -0.5em;
}

/* 検索結果 */

.box-result {
  border: 1px solid #ccc;
  padding:1rem;
  margin-bottom: 1em;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  background-color: #f9f9f9;
}

@media (min-width:767px) {
  .box-result .img-medal {
    /*width: 80%;*/
    width: 55%;
    display: block;
    margin: 10px auto 0;
  }
}
@media (max-width:768px) {
  .box-result .img-medal {
    /*max-width: 40%;*/
    max-width: 25%;
    /*margin-left: 10px;*/
    margin-left: 30px;
  }
}

.box-result .data-items {
  /*margin-bottom: 1em;*/
	margin-bottom: 0;
}

.box-result .data-items div:first-of-type {
  vertical-align: bottom;
}

.box-result .data-items div:first-of-type span:nth-of-type(3) {
  font-size: 120%;
  position: relative;
  top: -3px;
}

.box-result .data-items div span:first-of-type,
.box-result .data-items div span:nth-of-type(2) {
  float: left;
}

.box-result .data-items div span:first-of-type {
  font-weight: bold;
  width: 4em;
}

.box-result .data-items div span:last-of-type {
  display: inline-block;
  width: calc(100% - 5em);
}

.box-result .data-items div span:last-of-type a {
  /*word-break: break-all;*/
  display: inline-block;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;
}
@media (max-width:767px) {
 .box-result .data-items div span:last-of-type a {
   width: 95%;
 }
}

@media (max-width:767px) {
  .box-result img {
    width: 50%;
    margin-bottom: 1em;
  }
}

.box-result .outline .prize {
  font-weight: bold;
}

.box-result .outline p {
  margin: 0;
}

.box-result ul {
  margin-left: 2em;
}

.box-result ul li {
  list-style: disc;
}

/* 検索結果「もっと見る」*/

body.contest.search a.more {
  display: none;
  width: 120px;
  height: 32px;
  line-height: 32px;
  background-color: #76CBF7;
  color: white;
  text-align: center;
  font-weight: bold;
  margin: 1em auto;
  margin-bottom: 1em;
  border: none;
  border-radius: 16px;
  padding: 0;
  cursor: pointer;
  text-decoration: none;
  outline: none;
  opacity: 1;
  transition: all 0.4s ease 0s;
}
body.contest.search a.more.fadeout {
  opacity: 0;
  height: 0;
  margin-bottom: 0;
}

body.contest.search a.more:first-of-type {
  display: block;
}

/* SmartMenus 
----------------------------------------------------------------------*/

.main-menu-btn {
  /*position: relative;*/
  display: inline-block;
  width: 28px;
  height: 28px;
  text-indent: 28px;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  
  position: absolute;
  top: 20px;
  right: 10px;
}
/* hamburger icon */
.main-menu-btn-icon, .main-menu-btn-icon:before, .main-menu-btn-icon:after {
  position: absolute;
  top: 50%;
  left: 2px;
  height: 2px;
  width: 24px;
  background: #bbb;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}
.main-menu-btn-icon:before {
  content: '';
  top: -7px;
  left: 0;
}
.main-menu-btn-icon:after {
  content: '';
  top: 7px;
  left: 0;
}
/* x icon */
#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon {
  height: 0;
  background: transparent;
}
#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before {
  top: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after {
  top: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
/* hide menu state checkbox (keep it visible to screen readers) */
#main-menu-state {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(1px,1px,1px,1px);
}
/* hide the menu in mobile view */
#main-menu-state:not(:checked) ~ #main-menu {
  display: none;
}
#main-menu-state:checked ~ #main-menu {
  display: block;
}
@media (min-width: 768px) {
  /* hide the button in desktop view */
  .main-menu-btn {
    position: absolute;
    top: -99999px;
  }
  /* always show the menu in desktop view */
  #main-menu-state:not(:checked) ~ #main-menu {
    display: block;
  }
}

/* メニュー項目の調整 */

.sm-mint {
  border-bottom: none;
}

.sm-mint a, 
.sm-mint a:hover, 
.sm-mint a:focus, 
.sm-mint a:active {
  color: #333;
}
.sm-mint ul.l2 a {
  padding-left: 10px;
  padding-right: 10px;
}

.sm-mint ul {
  background: white;
}

.sm-mint a .sub-arrow {
    font: 22px/34px monospace !important;
    background: white;
    border: 0.7px solid #aaa;
    right: 15px;
}

.sm li {
  /*background: linear-gradient( #ffffff 0%, #f5f5f5 100%); #secondary のグラデ */
  background: linear-gradient( #ffffff 0%, #f9f9f9 100%);
}

/* フォント */

/*.sm-mint a, .sm-mint a:hover, .sm-mint a:focus, .sm-mint a:active {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: bold;
}*/

.sm-mint a, .sm-mint a:hover, .sm-mint a:focus, .sm-mint a:active {
  font-family: -apple-system, "Yu Gothic", YuGothic, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
}


/* 英語ページ
----------------------------------------------------------------------*/

body.non-top.eng {
  background: none;
  border-top: 5px solid #76CBF7;
}

body.eng #logo {
  /*top: 35px;*/
  top: 30px;
}

body.eng #header {
  /*height: 140px;*/
  height: 102px; /* 140 - 38 */
}

/* ロゴ */

@media (max-width: 767px) {
  body.eng #logo {
    position: static;
  }
  body.eng #logo {
    /*margin: 20px 0 25px 15px;*/
    margin: 24.3px 0 29.4px 15px;
    max-width: 78%;
    height: auto;
  }
  body.eng h2 {
    margin-top: 18px;
    margin-bottom: 16px;
  }
}

@media (max-width: 767px) {
  body.profile.eng #primary {
    margin-bottom: 30px;
  }
}

/* 英語ページ: outline.html 
------------------------------*/

body.profile.eng #primary dl#org-outline ul.list-activity {
  list-style: lower-roman;
  margin-left: 1.2em;
}

@media (max-width: 767px) {
  body.profile.eng #primary dl#org-outline dd img#chart-org {
    margin-top: 7px;
  }
  body.profile.eng #primary dl#org-outline dd #guest-researcher {
    max-width: 100%;
    width: auto;
  }
}


