@charset "utf-8";
/* CSS Document */
/* 基本レイアウト
================================================== */

html {
  font-size: 62.5%;
}

body {
  color: #222;
  font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, verdana, sans-serif;
  font-size: 1.6em;
  line-height: 1.5;
  background-color: #FFF;
  counter-reset: cntStar;
}

#skipNav {
  position: absolute;
}

#skipNav a:focus,
#skipNav a:active {
  display: block;
  height: auto;
  width: 15em;
  top: 5px;
  left: 5px;
  clip: auto;
  z-index: 1000;
  font-size: 1.8rem;
  padding: 5px;
  background-color: #FFF;
  border: #CCC solid 1px;
  text-align: center;
}

#wrap,
.inner {
  max-width: 1220px;
  margin: 0 auto 30px;
  padding: 0 10px;
  box-sizing: border-box;
}

#header,
#newHeader {
  display: table;
  width: 100%;
  table-layout: fixed;
}

#logo {
  display: table-cell;
  width: 50%;
}

#logo a {
  display: inline-block;
  max-width: 250px;
  padding: 5px 0;
}

#logo a img {
  vertical-align: middle;
}

#hNav {
  display: table-cell;
  text-align: right;
  vertical-align: middle;
}

#hNav ul {
  display: inline-block;
}

#hNav ul li {
  display: inline-block;
  margin-right: 15px;
}

#hNav ul a {
  display: inline-block;
}

#hSearch {
  display: none;
}

#hSearch input {
  -webkit-appearance: none;
  appearance: none;
  width: 150px;
  height: 1.8em;
  background-color: transparent;
  background-image: none;
  border: 1px solid #CCC;
  border-radius: 3px 0 0 3px;
  font-size: 1.6rem;
  padding: 0.2em 0.5em;
  box-sizing: border-box;
  vertical-align: bottom;
}

#hSearch button {
  -webkit-appearance: none;
  appearance: none;
  display: inline-block;
  border: none;
  height: 1.8em;
  width: 1.8em;
  border-radius: 0 3px 3px 0;
  background: #CCC;
  padding: 4px 3px;
  font-size: 1.6rem;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  vertical-align: bottom;
}

#hSearch button img {
  width: 20px;
}

#gNav {
  position: relative;
}

#gNav > ul {
  display: table;
  margin: 0 180px 20px 0;
}

#gNav > ul > li {
  display: table-cell;
  vertical-align: middle;
}

#gNav > ul a {
  display: inline-block;
  margin-right: 2px;
  padding: 5px 10px 3px;
  color: #444;
  font-weight: bold;
  border-bottom: #FFF solid 3px;
  transition: border linear 0.2s;
}

#gNav > ul a:hover,
#home [data-nav="home"] a,
#vision [data-nav="vision"] a,
#publica [data-nav="publica"] a,
#about [data-nav="about"] a {
  border-bottom-color: #666;
}

#hSns {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
}

#gFooter {
  position: relative;
  background-color: #DDD;
  padding: 10px 0;
}

#toTop {
  position: absolute;
  top: -150px;
  right: 5%;
}

#toTop img {
  width: 180px;
}

#fNav {
  display: -webkit-flex;
  display: flex;
  flex-flow: wrap;
  flex-direction: column;
  height: 17em;
  overflow: hidden;
}

#fNav section {
  width: 33.3%;
  padding: 10px;
  box-sizing: border-box;
}

#fNav h2 {
  margin-bottom: 5px;
  border-bottom: #666 solid 1px;
  font-size: 1.4rem;
}

#fNav ul {
  margin-left: 15px;
  list-style: disc;
}

#fNav ul li {
  font-size: 1.4rem;
}

.column2 {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
}

.column2 > article {
  flex: 1 0 60%;
  max-width: 720px;
  margin-right: 20px;
}

.column2 > aside {
  flex: 1 0 34%;
  max-width: 390px;
  width: 34%;
  padding-bottom: 130px;
}

.imgTxtBox {
  display: table;
  width: 100%;
  table-layout: fixed;
  box-sizing: border-box;
}

/* 汎用
================================================== */

.sub {
  font-size: 80%;
}

.exLink {
  display: inline-block;
  font-weight: normal;
  font-size: 1.2rem;
  color: #666;
}

.radius {
  border-radius: 10px;
}

.disc {
  list-style: disc;
  margin: 0 0 1em 1em;
}

.disc .disc {
  list-style: circle;
}

.circledNum {
  counter-reset: circle-counter;
  list-style: none;
  margin-bottom: 1em;
}

.circledNum > li {
  line-height: 1.5;
  padding: 0 0 0.5em 1.5em;
  position: relative;
}

.circledNum > li::before {
  content: counter(circle-counter);
  counter-increment: circle-counter;
  border: 1px solid #666;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 1.3em;
  width: 1.3em;
  font-size: 80%;
  line-height: 1.5;
  position: absolute;
  top: 0.2em;
  left: 0;
}

.alphabetNum {
  counter-reset: alphabet-counter;
  list-style: none;
  margin-bottom: 1em;
}

.alphabetNum > li {
  line-height: 1.5;
  padding: 0 0 0.5em 2em;
  position: relative;
}

.alphabetNum > li::before {
  content: "("counter(alphabet-counter, lower-alpha)")";
  counter-increment: alphabet-counter;
  position: absolute;
  top: -0.1em;
  left: 0;
}

.alphabetNum2 {
  counter-reset: alphabet-counter;
  list-style: none;
  margin-bottom: 1em;
}

.alphabetNum2 > li {
  line-height: 1.5;
  padding: 0 0 0.5em 1.5em;
  position: relative;
}

.alphabetNum2 > li::before {
  content: counter(alphabet-counter, lower-alpha)")";
  counter-increment: alphabet-counter;
  position: absolute;
  top: -0.1em;
  left: 0;
}

.romanNum {
  list-style-type: upper-roman;
  margin-left: 2.5em;
}

.romanNum > li {
  padding-bottom: 0.5em;
  position: relative;
}

.card {
  display: inline-block;
  padding: 10px;
  background-color: #eaf1f4;
  transition: background linear 0.2s;
  box-sizing: border-box;
}

.card:hover {
  background-color: #daeffa;
}

.simpleBox {
  border: solid 1px #CCC;
  padding: 15px;
}

.simpleBox p:last-child {
  margin-bottom: 0;
}

.attnBox {
  border: #da6fa1 solid 2px;
  padding: 15px;
}

.attnBox p:last-child {
  margin-bottom: 0;
}

.attn {
  color: #db0000;
}

.twoColumn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.twoColumn > section {
  width: 48%;
  margin-bottom: 1em;
}

.btn {
  display: inline-block;
  border: none;
  margin: 0 auto 1em;
  padding: 9px 15px;
  border-bottom: #ccc solid 2px;
  background-color: #eaf1f4;
  text-align: center;
  cursor: pointer;
  transition: background linear 0.2s;
}

a.btn {
  color: #112ec5;
}

.btn:hover {
  background-color: #daeffa;
}

.btn.wide {
  display: block;
  width: 80%;
  font-size: 1.6rem;
}

.btn.attn {
  min-width: 300px;
  background-color: #0780bb;
  border-color: #0780bb;
  border-bottom-color: #23607d;
  border-radius: 5px;
  color: #FFF;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
}

.btnList > ul > li {
  display: inline-block;
}

.btnList > ul > li > a {
  display: inline-block;
  padding: 9px 10px;
  border: #CCC solid 1px;
  border-radius: 5px;
  background-color: #FFF;
  text-align: center;
  transition: background linear 0.2s;
}

.btnList > ul > li > a:hover {
  background-color: #fcecf4;
}

.icon {
  display: inline-block;
  margin-left: 3px;
  padding: 0 2px;
  border: #CCC solid 1px;
  background-color: #FFF;
  font-size: 1.2rem;
  text-align: center;
  vertical-align: middle;
  border-radius: 2px;
}

.icon.pdf {
  color: #f41f05;
}

.arrowNext,
.arrowPrev {
  position: relative;
  display: inline-block;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
}

.arrowNext {
  padding-right: 30px;
}

.arrowPrev {
  padding-left: 30px;
}

.arrowNext::before,
.arrowNext::after,
.arrowPrev::before,
.arrowPrev::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.arrowNext::before,
.arrowPrev::before {
  width: 6px;
  height: 6px;
  border-top: 3px solid #357798;
  border-right: 3px solid #357798;
}

.arrowNext::before {
  right: 10px;
  transform: rotate(45deg);
}

.arrowPrev::before {
  left: 10px;
  transform: rotate(-135deg);
}

a.emLink,
.emLink a,
article.basic h2.underline,
#wrap a.underline {
  color: #26556d;
}

a.emLink:hover {
  text-decoration: underline;
}

.underline {
  text-decoration: underline;
}

.hoverBG a:hover,
a.hoverBG:hover{
  background-color: #fcecf4;
}

a[role="presentation"]:hover {
  background-color: inherit!important;
}

.highlight {
  background-color: #FFF9C4;
}

.grid {
  display: -ms-grid;
  display: grid;
}

.imgBox a {
  display: block;
  width: 100%;
  height: 100%;
  transition: background linear 0.2s;
}

.imgBox a:hover {
  background-color: #fcecf4;
}

.imgBox .imgArea {
  position: relative;
  width: 100%;
  height: 240px;
  background: #EEE;
  overflow: hidden;
}

.imgBox .imgArea img {
  position: absolute;
  top:50%;
  left:50%;
  width: auto;
  height: auto;
  min-height: 100%;
  max-width: inherit;
  transition: transform .3s ease-out;
  transform: scale(1.02) translate(-50%,-50%);
  transform-origin: 0 0;
  object-fit: cover;
}

.ie .imgBox .imgArea img {
  max-width: inherit!important;
  height: inherit!important;
}

.imgBox .txtArea {
  padding: 10px;
  font-size: 1.4rem;
}

.imgBox h2 {
  margin-bottom: 5px;
  font-size: 1.8rem;
}

article .imgBox a:hover .imgArea img {
  transform: scale(1.1) translate(-50%,-50%);
}

.listBox > ul > li {
  border-bottom: #FFF solid 10px;
  box-sizing: border-box;
}

.listBox > ul > li:last-child {
  border-bottom: none;
}

.listBox > ul > li > a,
.imgSideBox > a {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.listBox .imgArea,
.imgSideBox .imgArea {
  display: table-cell;
  width: 100px;
  padding: 10px;
  vertical-align: middle;
}

.articleList .listBox .imgArea,
.articleList .imgSideBox .imgArea {
  width: 140px;
}

.listBox .imgArea img,
.imgSideBox .imgArea img {
  vertical-align: bottom;
}

.listBox .txtArea,
.imgSideBox .txtArea {
  display: table-cell;
  padding: 10px 15px;
  vertical-align: middle;
}

.listBox.side .txtArea {
  padding: 10px 10px 10px 5px;
}

.imgSideBox.rightImg .txtArea {
  padding: 10px 10px 10px 0;
}

.listBox h2,
.imgSideBox h2 {
  font-size: 1.8rem;
}

.listBox h3,
.imgSideBox h3 {
  font-size: 1.6rem;
}

.listBox .txtArea ul,
.imgSideBox .txtArea ul {
  list-style: disc;
  margin-left: 15px;
}

.listBox .txtArea ul li,
.listBox .txtArea p,
.imgSideBox .txtArea ul li,
.imgSideBox .txtArea p {
  font-size: 1.4rem;
}

.articleList > ul > li > a {
  display: block;
  padding: 10px 5px;
  border-bottom: #DDD solid 1px;
  background-color: #FFF;
  box-sizing: border-box;
  transition: background linear 0.2s;
}

.articleList .head,
.articleList .subTitle {
  font-weight: bold;
}

.articleList h2.category {
  margin-bottom: 0;
  font-size: 1.4rem;
  color: #222;
  font-weight: normal;
}

.articleList h2.category::before {
  opacity: 0.7;
}

.articleList > ul > li:first-child > a {
  /*border-top: #DDD solid 1px;*/
}

.articleList > ul > li > a:hover {
  background-color: #fcecf4;
}

.articleList .imgArea {
  padding: 0;
  text-align: center;
}

.articleList .imgArea .imgWrap {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  width: 140px;
  height: 105px;
  background-color: #DDD;
  outline: 1px solid #CCC;
  outline-offset: -1px;
}

#wrap .articleList .imgArea .imgWrap img {
  object-fit: cover;
  height: 100%;
}

.ie #wrap .articleList .imgArea .imgWrap {
  display: block;
  overflow: hidden;
}

.ie #wrap .articleList .imgArea .imgWrap img {
  position: absolute;
  top: 50%;
  left: 50%;max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%) scale(1.3);
}

.articleList .txtArea:first-child {
  width: 580px;
}

.articleList .listBox .txtArea:first-child {
  width: auto;
}

#backNumber .txtArea,
#latest .txtArea {
  width: 580px;
  padding: 0 10px;
}

#latest .articleList h3,
#backNumber .articleList h3 {
  margin: 0 0 5px 5px;
  font-size: 1.6rem;
}

#latest .articleList .imgArea,
#backNumber .articleList .imgArea {
  height: 90px;
}

[data-page="rdIndex"] #latest h2 {
  display: none;
}

#backNumber .imgSideBox .txtArea ul {
  margin-left: 20px;
}

#backNumberList {
  margin-bottom: 20px;
}

#backNumberList > ul,
#backNumberList > section > div > ul {
  margin-bottom: 30px;
}

[aria-expanded="true"] .moreBtn {
  display: none;
}

.articleList .imgArea img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  vertical-align: middle;
}

.articleList p.category {
  color: #666;
  font-size: 1.2rem;
  margin-bottom: 0.2em;
}

#dlPDF {
  text-align: center;
}

#dlPDF .btn {
  margin-top: 1.5em;
  color: #222;
}

#dlPDF .btn .sub {
  display: inline-block;
}

.articleList ul li p {
  margin-bottom: 0;
}

[data-option="imgFilter"] {
  filter:  sepia(.1) contrast(1.1) /*brightness(1) */saturate(1.05);
}

.imgBox .imgArea img[data-option="contain"],
.imgBox .imgArea img[data-option="top contain"]{
  object-fit: contain;
}

[aria-hidden="true"] {
  display: none;
}

/* 記事
================================================== */

article.basic {
  min-height: 500px;
}

article.basic > section {
  clear: both;
  margin-bottom: 3em;
}

article.basic > section > section {
  margin-bottom: 2em;
}

article.basic > section > section > section {
  margin-bottom: 1.5em;
}

article.basic #info {
  margin-bottom: 0.5em;
}

article.basic #info a,
article.basic #info .category {
  display: inline-block;
  font-size: 1.4rem;
  color: #666;
  margin-right: 0.4em;
}

article.basic #info + .side {
  max-width: 20%;
  margin-bottom: 1em;
}

article.basic > .head,
article.basic > header .head {
  margin-bottom: 0;
  font-size: 2rem;
  font-weight: bold;
  color: #6a2746;
}

article.basic h1 {
  font-size: 2.8rem;
  margin-bottom: 15px;
  border-bottom: #da6fa1 solid 2px;
}

article.basic section h1 {
  font-size: 2.4rem;
}

article.basic h2 {
  position: relative;
  margin-bottom: 0.5em;
  padding-left: 1.1em;
  font-size: 2rem;
  color: #3f182a;
}

article.basic h2::before {
  position: absolute;
  left: 0.1em;
  top: 0.3em;
  content: "";
  height: 0.7em;
  width: 0.7em;
  background-color: #da6fa1;
}

article.basic h2.subTitle::before {
  display: none;
}

article.basic h1 + h2 {
  position: relative;
  padding-left: 0;
}

article.basic h1 + h2 + .name {
  margin-top: 1em;
}

article.basic h2 a {
  color: #26556d;
  text-decoration: underline;
}

article.basic h3 {
  color: #9f3b6a;
  font-size: 1.8rem;
  margin-bottom: 0.5em;
}

article.basic a h3 {
  color: #173341;
  margin-bottom: 0;
}

article.basic h4 {
  font-size: 1.7rem;
  color: #222;
  border-bottom: #CCC solid 2px;
  margin-bottom: 0.5em;
}

article.basic figure {
  margin-bottom: 3em;
  font-size: 1.4rem;
  text-align: center;
}

article.basic figure.side {
  float: right;
  padding: 0 0 10px 15px;
  background-color: #FFF;
}

article.basic figure.tableImg {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

article.basic figure.tableImg img {
  order: 2;
}

article.basic figure.tableImg figcaption {
  width: 100%;
  order: 1;
  /*font-size: 1.6rem;*/
  font-weight: bold;
}

article.basic figure.tableImg figcaption a,
article.basic .tableArea caption a {
  color: #112ec5;
}

article.basic .imgList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

article.basic .imgList > li {
  width: 49%;
}

article.basic .imgList.column3 > li {
  width: 32%;
}

article.basic .imgList.column3 > li:last-child:nth-child(5) {
  margin-right: auto;
  margin-left: 2%;
}

article.basic .imgList > li figure {
  margin-bottom: 1em;
}

article.basic p {
  margin-bottom: 1em;
}

main article.basic .marginBottom {
  margin-bottom: 1em;
}

main article.basic .marginBottomNone {
  margin-bottom: 0;
}

article.basic .indent {
  text-indent: 2em;
}

article.basic .rightBox {
  display: flex;
}

article.basic .rightBox > div {
  margin-left: auto;
}

article.basic p.name {
  text-align: right;
  font-weight: bold;
}

article.basic .profile {
  padding: 1em;
  font-size: 80%;
}

article.basic p.name .sub {
  display: inline-block;
}

article.basic p.name a {
  display: inline-block;
  margin-left: 1.5em;
}

article.basic p.name a:first-child {
  display: inline-block;
  margin-left: 0;
}


article.basic p a,
article.basic figcaption a{
  color: #112ec5;
}

article.basic .sideBySide {
  display: table;
  width: 100%;
  table-layout: fixed;
  margin-bottom: 1em;
}

article.basic .sideBySide > figure {
  display: table-cell;
  width: 50%;
  vertical-align: top;
}

article.basic .sideBySide > figure:first-child {
  padding-right: 2%;
}

article.basic .sideBySide > figure:last-child {
  padding-left: 2%;
}

article.basic .tableArea {
  text-align: center;
  margin-bottom: 3em;
}

article.basic table.alignCenter th,
article.basic table.alignCenter td {
  text-align: center;
}

article.basic table.alignCenter th.alignLeft,
article.basic table.alignCenter td.alignLeft {
  text-align: left;
}

article.basic table {
  margin: 0 auto 0.5em;
  border: #CCC solid 1px;
  min-width: 80%;
}

article.basic caption {
  font-weight: bold;
  margin-bottom: 0.5em;
}

article.basic table th {
  background-color: #eaf1f4;
}

article.basic table th,
article.basic table td {
  padding: 10px;
  border: #CCC solid 1px;
  text-align: left;
}

article.basic table.wide {
  width: 100%;
}

article.basic table.fontSizeS th,
article.basic table.fontSizeS td {
  padding: 5px;
  font-size: 1.2rem;
}

article.basic table.half th,
article.basic table.half td {
  width: 50%;
}

article.basic .formula {
  display: table;
}

article.basic .formula > span {
  display: table-cell;
  vertical-align: middle;
}

.wordBreak {
  display: inline-block;
  word-wrap: break-word;
  overflow-wrap : break-word;
  max-width: 100%;
}

table .wordBreak {
  max-width: 150px;
}

.note,
.reference {
  transition: background linear 0.5s;
}

.noteArea {
  margin-bottom: 2em;
  padding: 1px;
  background-color: #EEE;
}

article.basic .noteArea h2 {
  margin: 0;
  padding: 10px 5px 0;
  font-size: 1.6rem;
  color: #444;
}

article.basic h2.normal {
  padding-left: 0;
}

article.basic .noteArea h2::before,
article.basic h2.normal::before {
  content: none;
}

article.basic .noteArea .member p {
  font-size: 1.2rem;
  padding: 5px;
}

article.basic .noteArea .member table {
  border: none;
  margin: 0 0 0.5em;
}

article.basic .noteArea .member th,
article.basic .noteArea .member td {
  border: none;
  border-bottom: #ccc solid 1px;
  padding: 5px 5px 5px 0;
  font-size: 1.2rem;
}

.noteArea .list_parentheses {
  padding: 0 0 0 2em;
  margin: 0;
}

.member .imgTxtBox {
  padding: 10px;
}

.member .imgArea  {
  display: table-cell;
  width: 20%;
  max-width: 90px;
  padding-right: 10px;
  vertical-align: top;
}

.member .txtArea  {
  display: table-cell;
  vertical-align: top;
}


.member + .member  {
  border-bottom: #999 solid 1px;
}

.noteArea li {
  position: relative;
  list-style-type:none;
  counter-increment: cnt;
  font-size: 1.2rem;
}

.noteArea li a {
  display: inline-block;
  padding-left: 2.5em;
  margin: 10px 10px 16px 0.5em;
  overflow-wrap: anywhere;
}

.noteArea li::before {
  position: absolute;
  top: 10px;
  left: 7px;
  content: "(" counter(cnt) ") ";
  margin-right: 0.3em;
  color: #112ec5;
  pointer-events: none;
}

.noteArea .braces li::before {
  content: counter(cnt) ") ";
  margin-right: 0.1em;
}

.noteArea .star li::before {
  counter-increment: cntStar;
  content: "*" counter(cntStar) ;
  margin-right: 0.1em;
}

.sub .starL li {
  position: relative;
  list-style-type:none;
  margin-bottom: 0.5em;
  text-indent: -2.2em;
  margin-left: 2em;
}

.sub .starL li::before {
  counter-increment: cntStar;
  content: "＊" counter(cntStar) ;
  margin-right: 0.5em;
}

.paren li {
  position: relative;
  list-style-type:none;
  counter-increment: cntParen;
  padding: 0 0 0.5em 2.5em;
}

.paren li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "("counter(cntParen)")";
}

/* ※追加 */
.member-list {
  padding: 10px;
  margin-bottom: 2em;
}

.member-list ul{
	display: flex;
  	justify-content: flex-start;
	flex-wrap: wrap;
}

.member-list li{
	background-color: #EEE;
	text-align: center;
	color: #9f3b6a;
	font-weight: bold;
	width: 170px;
	box-sizing: border-box;
	padding: 1em;
	margin-bottom: 1em;
	margin-right: 0.2em;
}

.member-intro {
  padding: 10px;
  margin-bottom: 2em;
  background-color: #EEE;
}

.member-title{
	color: #222;
	font-size: 80%;
}

.box-event {
	display: flex;
        justify-content: space-around;
	flex-wrap: wrap;
}

.box-event .event{
        width: 46%;
        min-width: 290px;
	background-color: #eee;
	position: relative;
	min-height: 300px;
	margin-bottom: 1em;
	padding: 10px;
}

.box-event .event h2{
	margin-bottom: 0.5em;
	padding: 2px 8px 0;
  border-radius: 16px;
	font-size: 2rem;
	color: #FFFFFF;
	text-align: center;
}

.box-event .event h2::before {
  position: static;
  left: 0;
  top: 0;
  content: none;
  height: auto;
  width: auto;
  background-color: transparent;
}

.imgalignbtm{
	width: 100%;
	margin-bottom: -40px;
}

/* タイトル色 */
article.basic .blue h2 {background-color: #005BAC;}
article.basic .blue h3 {color: #005BAC;}
article.basic .blue h3 span {color: #fff; background-color: #005BAC;}
article.basic .blue figcaption {color: #005BAC;}

article.basic .green h2 {background-color: #0e8905;}
article.basic .green h3 {color: #0e8905;}
article.basic .green h3 span {color: #fff; background-color: #0e8905;}
article.basic .green figcaption {color: #0e8905;}

article.basic .lblue h2 {background-color: #017fb0;}
article.basic .lblue h3 {color: #017fb0;}
article.basic .lblue h3 span {color: #fff; background-color: #017fb0;}
article.basic .lblue figcaption {color: #017fb0;}

article.basic .orange h2 {background-color: #cf4a11;}
article.basic .orange h3 {color: #cf4a11;}
article.basic .orange h3 span {color: #fff; background-color: #cf4a11;}
article.basic .orange figcaption {color: #cf4a11;}

article.basic .purple h2 {background-color: #7E318E;}
article.basic .purple h3 {color: #7E318E;}
article.basic .purple h3 span {color: #fff; background-color: #7E318E;}
article.basic .purple figcaption {color: #7E318E;}

article.basic .brown h2 {background-color: #8A3B2C;}
article.basic .brown h3 {color: #8A3B2C;}
article.basic .brown h3 span {color: #fff; background-color: #8A3B2C;}
article.basic .brown figcaption {color: #8A3B2C;}

article.basic .pink h2 {background-color: #E4007F;}
article.basic .pink h3 {color: #E4007F;}
article.basic .pink h3 span {color: #fff; background-color: #E4007F;}
article.basic .pink figcaption {color: #E4007F;}

article.basic .salmon h2 {background-color: #e40f65;}
article.basic .salmon h3 {color: #e40f65;}
article.basic .salmon h3 span {color: #fff; background-color: #e40f65;}
article.basic .salmon figcaption {color: #e40f65;}
/* 展示一覧 */
article.basic .event-article h2 {
  margin: 1em auto;
  padding: 2px 8px 0;
  border-radius: 15px;
  text-align: center;
  color: #fff;
  letter-spacing: 2px;
}
article.basic .event-article h2::before {
	position: static;
  left: 0;
  top: 0;
  content: none;
  height: auto;
  width: auto;
  background-color: transparent;
}

article.basic .event-article h3 span {
  display: inline-block;
  margin-right: 0.5em;
  padding: 2px 2px 0;
  line-height: 1;
}
article.basic .event-article figcaption {
  font-weight: bold;
}
/* ／※追加 */


#relationArea {
  border-top: #EEE solid 1px;
  padding-top: 1em;
}

#relationArea li a {
  font-size: 1.8rem;
  font-weight: bold;
}

#fSns {
  display: none;
  clear: both;
  text-align: center;
}

#pNavBottom ul {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#pNavBottom ul li {
  width: 32%;
}

#pNavBottom #indexBtn {
  display: table;
  width: 100%;
  table-layout: fixed;
}

#indexBtn > span {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

#pNavBottom ul a {
  display: block;
  height: 100%;
}

#pNavBottom ul a .sub {
  color: #26556d;
}

/* サイド
================================================== */

aside.basic > section {
  margin-bottom: 1em;
  background-color: #eaf1f4;
}

aside.basic a {
  transition: background linear 0.2s;
}

#wrap aside.basic a:hover {
  background-color: #daeffa;
}

aside.basic h1 {
  background-color: #d1e4ee;
}

aside.basic h1 a {
  display: block;
  padding: 10px;
}

#sNav a,
.sNavLine a {
  display: block;
  padding: 10px;
  border-bottom: #DDD solid 1px;
}

#sNav a[aria-selected="true"] {
  background-color: #ecf7fc;
  color: #26556d;
  font-weight: bold;
}

#sNav .level2 a {
  padding-left: 3em;
  position: relative;
}

#sNav .level2 a::before {
  position: absolute;
  left: 1.8em;
  top: 1em;
  content: "";
  height: 0.5em;
  width: 0.5em;
  background-color: #777;
}

#sNav .level2Head a {
  padding-bottom: 0;
}

#sNav .level2Head a,
#sNav .level2:not(.last) a {
  border-bottom: none;
}

#sNav .level2Head:hover + li a {
  background-color: #daeffa;
}

.sNavLine .title {
  font-size: 1.6rem;
}

.sNavLine .subTitle {
  display: block;
  margin-top: 0.25em;
}

#sNav .title,
#sNav .subTitle {
  display: inline-block;
}

#sNav ol li {
  position: relative;
}

#sNav ol {
  counter-reset: section;
  list-style-type: none;
}

#sNav ol h2 {
  position: relative;
  width: 100%;
  font-size: 1.6rem;
  font-weight: normal;
}

#sNav ol h2 a {
  padding-left: 2em;
  padding-right: 30px;
  box-sizing: border-box;
}

.triangle[aria-expanded]::after {
  content: "▼";
  color: #357798;
  font-size: 1.4rem;
  transition: transform 0.5s;
}

.triangle[aria-expanded="true"]::after {
  content: "▲";
}

#sNav .triangle[aria-expanded]::after {
  position: absolute;
  top: auto;
  bottom: auto;
  right: 10px;
  margin: auto;
}

#sNav ol li ol {
  width: 100%;
  background-color: #FFF;
}

#sNav ol li ol li a {
  padding-left: 3.2em;
  box-sizing: border-box;
}

#sNav ol li::before {
  position: absolute;
  counter-increment: section;
  content : counters(section, '-') '. ';
  z-index: 1;
}

#sNav > ol > li::before {
  left: 0.5em;
  top: 0.55em;
  font-size: 1.6rem;
  font-weight: normal;
}

#sNav ol li ol li::before {
  left: 0.7em;
  top: 0.75em;
  font-size: 1.4rem;
  font-weight: normal;
}

#sNav > ol > li {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#publicaPDF a {
  background-color: #d1e4ee;
}

#publicaPDF .imgArea {
  width: 75px;
}

#sideNews > li {
  border-bottom: #FFF solid 15px;
}

#sideNews > li:last-child {
  border-bottom: none;
}

#twitterArea .imgTxtBox {
  width: 100%;
  background-color: #EEE;
}

#twitterArea a {
  display: block;
}

#twitterArea .imgTxtBox a {
  background-color: #d1e4ee;
}

#twitterArea .imgArea,
#twitterArea .txtArea {
  display: table-cell;
  padding: 10px;
  vertical-align: middle;
  font-size: 1.4rem;
}

#twitterArea .imgArea span {
  display: inline-block;
  width: 74px;
  height: 74px;
  border: #FFF solid 2px;
  border-radius: 50%;
  box-sizing: border-box;
}

#twitterArea h2 {
  font-size: 1.8rem;
}

#loadTweet {
  overflow: hidden;
  max-height: 280px;
}

#loadTweet p {
  font-size: 1.4rem;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
}

#loadTweet a {
  padding: 10px;
  transition: background linear 0.2s;
}

#loadTweet a:hover {
  background-color: #daeffa;
}

#loadTweet li {
  font-size: 1.4rem;
}

article #loadTweet li {
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
  border-bottom: #CCC solid 1px;
}

#moreTweet li:last-child {
  border: none;
}

#loadTweet .date {
  display: inline-block;
  margin-bottom: 0.5em;
}

/* 研究内容
================================================== */

#vision[data-page="index"] .articleList .imgArea {
  max-width: 220px;
  width: 30%;
}

#vision[data-page="index"] .articleList .txtArea:first-child {
  padding: 10px;
}

#vision[data-page="index"] .articleList .txtArea:first-child span {
  font-size: 110%;
}

#vision[data-page="index"] .articleList:nth-child(6) h2 {
  padding-top: 1em;
}

#vision[data-page="index"] .articleList:nth-child(6) a {
  padding-left: 0;
}

#vision[data-page="index"] article.basic > section {
  margin-bottom: 2em;
}

#vision[data-page="detail"] article > h1 {
  margin-bottom: 0.3em;
}

#vision[data-page="detail"] article > h1 + p {
  color: #9f3b6a;
}

#vision[data-page="detail"] article section .disc li {
  margin-bottom: 1em;
}

#vision section > section > figure {
  max-width: 580px;
  margin: 0 auto 2em;
}

#vision section > section > figure img {
  outline: 1px solid #CCC;
  outline-offset: -1px;
}

#sideMovie li:not(:last-child) {
  border-bottom: #FFF solid 10px;
}


/* 刊行物
================================================== */
#publica .column2 > article {
  /*max-width: 760px;*/
}

#thisList {
  min-height: 30em;
}

#publicaList > ul {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#publicaList > ul > li {
  width: 49%;
  margin-bottom: 15px;
}

#publicaList > ul > li > a {
  padding: 10px 5px;
  background-color: #f7f0f3;
  height: 100%;
  box-sizing: border-box;
  transition: background linear 0.2s;
}

#publicaList > ul > li > a:hover {
  background-color: #fcecf4;
}

#publicaList h2 {
  margin: 0 0 0 5px;
}

#publicaList [data-id="rd"] p:first-child {
  margin-bottom: 0;
}

#publicaList h3 {
  font-size: 1.6rem;
}

#publicaList .txtArea {
  vertical-align: top;
}

#publicaList .imgArea img {
  outline: 1px solid #CCC;
  outline-offset: -1px;
}

#moreBackNumber.btnList ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1em;
}

#moreBackNumber.btnList li {
  display: block;
  width: 23%;
  margin: 0 1% 10px;
}

[data-page="dayoriIndex"] #moreBackNumber li {
  width: 31%;
  margin: 0 1% 10px;
}

#moreBackNumber.btnList li a {
  display: block;
  padding: 9px 5px;
}

#relatedArea h1 {
  padding: 10px;
}

#relatedArea ul a {
  display: table;
  width: 100%;
  padding: 0;
}

#relatedArea ul .imgArea {
  text-align: right;
  width: 70px;
}

#relatedArea ul .imgWrap {
  display: table-cell;
  height: 70px;
  width: 70px;
  text-align: center;
  vertical-align: middle;
  background-color: #DDD;
}

#relatedArea ul .imgWrap img {
  width: auto;
  height: auto;
  max-width: 70px;
  max-height: 70px;
}

#imgHead {
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 0.5em;
  padding: 10px;
  box-sizing: border-box;
  opacity: 0;
}

[data-year] #imgHead {
  opacity: 1;
}

#imgHead img {
  vertical-align: middle;
}

#imgHead h1 {
  border-bottom: none;
  margin-bottom: 0;
}

#imgHead h2::before {
  display: none;
}

/* 技研だより */
[data-page="dayoriIndex"] #imgHead {
  align-items: center;
}

[data-page="dayoriIndex"] #imgHead .imgArea {
  max-width: 160px;
  width: 40%;
  box-sizing: border-box;
}

[data-page="dayoriIndex"] #imgHead .txtArea {
  margin-left: auto;
  text-align: right;
  max-width: 300px;
  width: 55%;
}

[data-page="dayoriIndex"] #imgHead h2 {
  display: inline-block;
  margin: 0 0 0 auto;
  padding: 5px 10px;
  vertical-align: middle;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.1;
}

/* R＆D */
[data-page="rdIndex"] #imgHead {
  padding: 0;
  background-size: cover;
}

[data-page="rdIndex"] #imgHead .imgArea {
  max-width: 130px;
  width: 40%;
}

[data-page="rdIndex"] #imgHead .txtArea {
  padding: 10px 1em 0 0;
  line-height: 1.2;
}

[data-page="rdIndex"] #imgHead h2 {
  color: #222;
}

[data-page="rdIndex"] #imgHead h2 strong {
  display: inline-block;
  margin-top: 0.2em;
  font-size: 2rem;
  line-height: 1.1;
}

[data-page="rdIndex"] .articleList .txtArea {
  padding: 0 1em 0 0;
}

[data-page="rdIndex"] #latest li a strong,
[data-page="rdIndex"] #backNumber li a strong {
  display: inline-block;
  margin-left: 2em;
  font-size: 1.8rem;
  color: #173341;
}

[data-page="rdIndex"] #backNumber ul {
  margin-bottom: 20px;
}

[data-page="rdIndex"] #moreBackNumber[aria-hidden="false"] {
  margin-top: -20px;
}

[data-page="rdIndex"] #moreBackNumber h2:first-child {
  display: none;
}

[data-page="rdIndex"][data-year="2010"] #imgHead h2 > .sub {
  color: #004EA2;
}

[data-page="rdIndex"][data-year="2011"] #imgHead h2 > .sub {
  color: #354F75;
}

[data-page="rdIndex"][data-year="2012"] #imgHead h2 > .sub {
  color: #003B82;
}

[data-page="rdIndex"][data-year="2013"] #imgHead h2 > .sub {
  color: #5A2300;
}

[data-page="rdIndex"][data-year="2014"] #imgHead h2 > .sub {
  color: #991512;
}

[data-page="rdIndex"][data-year="2015"] #imgHead h2 > .sub {
  color: #172A88;
}

[data-page="rdIndex"][data-year="2016"] #imgHead h2 > .sub {
  color: #0B3388;
}

[data-page="rdIndex"][data-year="2017"] #imgHead h2 > .sub {
  color: #11755A;
}

[data-page="rdIndex"][data-year="2018"] #imgHead h2 > .sub {
  color: #9B1C03;
}

[data-page="rdIndex"][data-year="2019"] #imgHead h2 > .sub {
 /* color: #5F67AE;*/
	color: #4F57BE;
}

[data-page="rdIndex"][data-year="2020"] #imgHead h2 > .sub {
  color: #bb3c0c;
}

[data-page="rdIndex"][data-year="2010"] #imgHead {
  background: #F5D7E2 url("../../publica/rd/img/logo_bg_2010.png");
}

[data-page="rdIndex"][data-year="2011"] #imgHead {
  background: #D0E39A url("../../publica/rd/img/logo_bg_2011.png");
}

[data-page="rdIndex"][data-year="2012"] #imgHead {
  background: #ECF2FA url("../../publica/rd/img/logo_bg_2012.png");
}

[data-page="rdIndex"][data-year="2013"] #imgHead {
  background: #FFF5B7 url("../../publica/rd/img/logo_bg_2013.png");
}

[data-page="rdIndex"][data-year="2014"] #imgHead {
  background: #FEF8F9 url("../../publica/rd/img/logo_bg_2014.png");
}

[data-page="rdIndex"][data-year="2015"] #imgHead {
  background: #E3E7E9 url("../../publica/rd/img/logo_bg_2015.png");
}

[data-page="rdIndex"][data-year="2016"] #imgHead {
  background: #C6E7F1 url("../../publica/rd/img/logo_bg_2016.png");
}

[data-page="rdIndex"][data-year="2017"] #imgHead {
  background: #FEFCCF url("../../publica/rd/img/logo_bg_2017.png");
}

[data-page="rdIndex"][data-year="2018"] #imgHead {
  background: #F8D7D6 url("../../publica/rd/img/logo_bg_2018.png");
}

[data-page="rdIndex"][data-year="2019"] #imgHead {
  background: #E5DFEF url("../../publica/rd/img/logo_bg_2019.png");
}

[data-page="rdIndex"][data-year="2020"] #imgHead {
  background: #fef5f3 url("../../publica/rd/img/logo_bg_2020.png");
}

/* Broadcast Technology */
[data-page="btIndex"] #imgHead {
  padding: 10px;
  background: url("../../publica/bt/img/logo_bg.png") repeat-x right center;
  background-size: auto 100%;
}

[data-page="btIndex"] #imgHead .txtArea {
  margin-left: auto;
}


[data-page="btIndex"] #imgHead .imgArea {
  width: 60%;
  max-width: 380px;
  min-width: 240px;
  line-height: 1;
}

[data-page="btIndex"] #imgHead h2 {
  margin-bottom: 0;
}

[data-page="btIndex"] #imgHead p.sub {
  text-align: right;
  margin-bottom: 0;
}

/* 年報 */
[data-page="annualIndex"] #imgHead {
  padding: 10px;
}

[data-page="annualIndex"] #imgHead h1 {
  width: 40%;
  max-width: 180px;
  min-width: 120px;
}

[data-page="annualIndex"] #imgHead #pYear {
  margin: 0 0 0 3%;
  font-family: 'arial narrow';
  font-size: 3.5rem;
  font-weight: normal;
  text-shadow: 0px 0px 2px #FFF;
}

[data-page="annualIndex"] article.basic p a {
  color: #26556d;
}

[data-page="annualIndex"] article.basic h2 a {
  text-decoration: none;
}

[data-page="annualIndex"] article section {
  margin-bottom: 1em;
}

[data-page="annualIndex"] article.basic figure {
  margin-bottom: 1em;
}

[data-page="annualIndex"] article > section {
  margin-left: 10px;
  margin-bottom: 1.5em;
}

[data-page="annualIndex"] .index p {
  font-size: 2rem;
  font-weight: bold;
}

#annualHeadList {
  padding-top: 1em;
  border-bottom: #DDD solid 1px;
}

#annualFootList {
  padding-top: 1em;
  border-top: #DDD solid 1px;
}

#annualList ol li {
  position: relative;
}

#annualList ol {
  counter-reset: section;
  list-style-type: none;
}

#annualList ol li ol li {
  font-size: 1.8rem;
  font-weight: bold;
}

#annualList ol li ol {
  margin-bottom: 1.5em;
}

#annualList ol li::before {
  position: absolute;
  counter-increment: section;
  content : counters(section, '-') '. ';
}

#annualList > ol > li::before {
  left: 0;
  top: 0;
  font-size: 2rem;
  font-weight: bold;
}

#annualList ol li ol li::before {
  left: 0.3em;
  top: 0.5em;
  font-size: 1.4rem;
  font-weight: normal;
}

#annualList > ol > li {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

#annualList h2 {
  width: 100%;
  margin-bottom: 10px;
  padding-left: 1.3em;
}

#annualList h2::before {
  content: none;
}

#annualList h2 .subTitle {
  display: inline-block;
}

#annualList h2 .subTitle::before {
  content: " - ";
}

#annualList [aria-controls]::before {
  display: inline-block;
  content: "・・・";
  color: #222;
}

[lang="en"] #annualList [aria-controls]::before {
  content: "..";
}

#annualList [aria-expanded="true"] [aria-controls] {
  display: none;
}

#annualList .txtArea {
  width: 60%;
}

#annualList .imgArea {
  width: 38%;
}

#annualList .imgArea img {
  line-height: 1;
}

#annualList .txtArea li a {
  display: block;
  border-bottom: #DDD solid 1px;
  padding: 0.25em 0.25em 0.25em 2.5em;
  transition: background linear 0.2s;
}


/* 研究史 */

[data-page="kenkyushiIndex"] #imgHead {
  min-height: auto;
  background: url("../../publica/kenkyushi/img/logo_bg.png") repeat-x right center;
}

[data-page="kenkyushiIndex"] #imgHead h1 {
  padding: 0.3vmin 0.5vmin;
}

[data-page="kenkyushiIndex"] article > section {
  margin-bottom: 1.5em;
}

[data-page="kenkyushiIndex"] #moreBackNumber {
  margin-top: 3em;
}

[data-page="kenkyushiIndex"] #moreBackNumber.btnList li {
  width: 45%;
  max-width: 220px;
}

#kenkyushiHeadList ul,
#kenkyushiFootList ul {
  display: flex;
  flex-wrap: wrap;
}

#kenkyushiList li {
  position: relative;
  margin: 0 4% 0 2%;
  font-size: 2rem;
  font-weight: bold;
}

#kenkyushiHeadList li,
#kenkyushiFootList li {
  position: relative;
  display: inline-block;
  width: 45%;
  margin: 0 2%;
  min-width: 280px;
}

#kenkyushiHeadList li a,
#kenkyushiFootList li a,
#kenkyushiList li a {
  padding-right: 3em;
  box-sizing: border-box;
  height: 100%;
}
#kenkyushiHeadList li .pdf,
#kenkyushiFootList li .pdf,
#kenkyushiList li .pdf {
  position: absolute;
  top: 1em;
  right: 0.5em;
}

/* 技研とは
================================================== */
#about .side {
  float: right;
  max-width: 200px;
  width: 40%;
  margin-left: 15px;
}

#about .text {
  max-width: 200px;
  width: 40%;
  vertical-align: bottom;
}

#history th,
#history td {
  vertical-align: top;
}

#futureVisionArea {
  margin: 1em auto 0.5em;
  min-width: 80%;
  max-width: 660px;
}

#futureVisionArea .imgArea {
  max-width: 200px;
  width: 30%;
}

#futureVisionArea a {
  background-color: #eaf1f4;
  transition: background-color linear 0.2s;
}

#futureVisionArea a:hover {
  background-color: #daeffa;
}

/* アクセス
================================================== */

#access article.basic > section,
#access article.basic figure {
  margin-bottom: 2em;
}

#access article.basic .twoColumn {
  margin-top: 1.5em;
}

#access .twoColumn section:nth-child(odd) {
  width: 46%;
}

#access .twoColumn section:nth-child(even) {
  width: 50%;
}

#access article.basic strong {
  font-size: 2rem;
}

#access #busArea h3 {
  border-bottom: solid 2px #CCC;
  padding-left: 25px;
  background: url("../../about/img/icon_bus.gif") no-repeat 0 2px;
}

#access #busArea dt {
  margin-bottom: 0.5em;
  border-bottom: solid 1px #CCC;
  font-weight: bold;
}

#access #busArea dd {
  margin-bottom: 1em;
}

#access #otherInfoArea .imgArea {
  max-width: 140px;
}

#access #otherInfoArea .txtArea {
  vertical-align: top;
}

#access #otherInfoArea .txtArea p {
  font-size: 1.6rem;
}

/* ニュース イベント
================================================== */
#news article .articleList,
#event article .articleList {
  margin-bottom: 2em;
}

#newsList li img,
#eventList li img {
  max-width: 140px;
}

#eventList  [role="presentation"] .txtArea {
  opacity: 0.6;
}

#newsOldList li a {
  position: relative;
  padding-left: 6em;
}

#newsOldList li .date {
  position: absolute;
  font-size: 1.4rem;
  top: 0.8em;
  left: 0.5em;
}

#newsOldList li .subTitle {
  display: inline-block;
  margin-left: 1em;
}

#newsOldList h2 a {
  text-decoration: none;
}

#eventList [aria-hidden] h3 {
  font-size: 1.6rem;
}

/* 技研ラボ
================================================== */
#labo[data-page="index"] article header h1 {
  border-bottom: 1px solid #ccc6bd;
}

#labo[data-page="index"] article header img {
  width: 95%;
  max-width: 400px;
}

#labo[data-page="index"] header + section {
  margin-bottom: 2em;
}

#laboList a {
  margin-bottom: 1em;
  transition: background linear 0.2s;
  border-radius: 10px;
}

#laboList h2 {
  font-size: 2rem;
  margin-bottom: 0;
}

#laboList .subTitle {
  font-size: 1.8rem;
  font-weight: bold;
  color: #444;
}

#laboList p {
  font-size: 1.6rem;
  margin-left: 3px;
}

#laboList h2 + p:not(.subTitle) {
  margin-top: 1em;
}

#laboList li h2 + .sub {
  margin-top: 0;
  margin-left: 1.4em;
  color: #444;
}

#laboList .imgArea {
  width: 166px;
}

#labo article.basic header,
#labo article.basic header figure {
  margin-bottom: 2em;
}

#labo article.basic h1 .sub {
  margin-left: 1em;
  color: #444;
}

#labo article.basic .disc {
  margin: 0 0 1em 1.5em;
}

/* ギャラリー
================================================== */


#gallery #sNav li:first-child {
  /*display: none;*/
}

#gallery[data-page="index"] article > section {
  margin-bottom: 2em;
}

#gallery article header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 1em;
  border-bottom: 1px solid #c9c3ba;
}

#gallery article header h1 {
  margin-bottom: 0;
  border-bottom: none;
}

#gallery article header > div {
  margin-bottom: 10px;
  color: #756955;
}

#gallery article header img {
  max-width: 250px;
}

#gallery article.basic h2 {
  padding-left: 0;
}

#gallery article.basic h2::before {
  display: none;
}

#gallery article ul {
  background-color: #FFF;
}

#gallery article ul p {
  font-size: 1.6rem;
}

#gallery article .imgArea {
  width: 25%;
  min-width: 100px;
}

#gallery article .txtArea h2 {
  font-size: 2rem;
  margin-bottom: 0.25em;
}

#gallery article a h2 {
  color: #26556d;
  text-decoration: underline;
}

#gallery article .txtArea > h2 {
  margin-top: 0.25em;
}

#gallery .attnBox h2 {
  margin-bottom: 0.5em;
  font-size: 1.8rem;
}

#gallery #nowBox {
  padding: 10px;
  background-color: #FFE0B2;
}

#gallery #nowBox h1 {
  margin-top: -5px;
  margin-bottom: 0;
  border-bottom: none;
}

#gallery #nowBox .date {
  margin-bottom: 0.25em;
  font-size: 2rem;
  font-weight: bold;
}

#gallery #schedule h1 {
  margin-bottom: 0.5em;
}

#gallery #schedule .txtArea {
  padding-left: 0;
}

#gallery #schedule li:not(:last-child) {
  border-bottom: solid 1px #CCC;
}

#gallery article .date {
  margin-bottom: 0;
  color: #444;
}

#gallery #schedule .date {
  margin-bottom: 0;
  color: #444;
  font-weight: bold;
}

#gallery .sponsor {
  margin-bottom: 0;
}

#gallery header .sponsor {
  font-size: 2rem;
  font-weight: bold;
}

#gallery aside .now {
  border-bottom: #FFF solid 10px;
}

#gallery aside .now a {
  background-color: #FFE0B2;
}

#gallery aside .now a:hover {
  background-color: #ffebce;
}

#gallery aside .now h1 {
  background-color: inherit;
  font-size: 1.8rem;
  margin-bottom: 0.25em;
}

#gallery aside .now p {
  font-size: 1.6rem;
}

#gallery aside .schedule {
  display: none;
  border-bottom: #FFF solid 10px;
}

#gallery aside .past {
  padding: 10px;
}


/* 動画ライブラリー
================================================== */
#movie[data-page="index"] article .date {
  margin: 0 0 0.5em 20px;
}

#movie[data-page="index"] article section {
  margin-bottom: 1em;
}

#movie[data-page="index"] article h2 {
  margin-bottom: 0;
}

#movie article.basic figure {
    margin-bottom: 0;
}

.tmbList ul {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}

.tmbList ul li {
  width: 30.5%;
  margin: 0 0 20px 2.5%;
}

.tmbList.imgSizeL ul li {
  width: 80%;
  max-width: 480px;
  margin: 0 auto 20px;
}

.tmbList ul li a {
  display: block;
}

.tmbList ul li figcaption {
  font-size: 1.4rem;
  line-height: 1.3;
  text-align: center;
}

.movieArea {
  margin: 0 auto;
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.dokos-embed-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-height: 90px;
  padding-bottom: 56.25%;
  overflow: hidden;
}

.dokos-embed-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#movieSideArea {
  margin-bottom: 1em;
}

#nextMovie img {
  vertical-align: bottom;
}

#nextMovie h2 {
  padding: 10px 10px 0;
  font-size: 1.4rem;
  font-weight: normal;
  color: #26556d;
}

#nextMovie p {
  padding: 0 10px 10px;
  font-size: 1.8rem;
  font-weight: bold;
}



/* アニメーション
================================================== */

@keyframes fadeIn {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@media screen and (max-width: 1000px) {

  .articleList .txtArea:first-child,
  #backNumber .txtArea,
  #latest .txtArea {
    width: 500px;
  }
  .articleList .imgArea .imgWrap {
    height: 90px;
  }

  /* 動画ライブラリー */
  .tmbList ul li {
    width: 47.5%;
  }

  /* 技研ラボ */

  #laboList .imgArea {
    width: 23%;
  }
}

@media screen and (max-width: 768px) {

  #gNav ul a {
    font-size: 1.4rem;
  }

  .nhksns-guide {
    display: none!important;
  }

  /* 記事 */

  .column2 {
    display: block;
  }

  .column2 > article {
    max-width: inherit;
    margin-right: 0;
  }

  .column2 > aside {
    max-width: inherit;
    width: inherit;
  }

  #hSearch {
    display: none;
  }

  #gNav > ul > a {
    padding: 5px 5px 3px;
  }

  #gNav [data-nav="home"] {
    display: none;
  }

  #pNavBottom ul {
    margin-bottom: 2em;
  }

  #pNavBottom ul li {
    width: 49%;
  }

  #pNavBottom ul li:nth-child(2) {
    display: none;
  }

  #fNav {
    height: 23em;
  }

  #toTop {
    top: -150px;
    right: 0;
    width: 100%;
    text-align: center;
  }

  #fNav section {
    width: 50%;
  }

  #wrap #imgHead {
    min-height: auto;
  }
}

@media screen and (max-width: 568px) {

  #gNav ul {
    margin: 0 0 20px;
    width: 100%;
    text-align: center;
  }

  #gNav ul li {
    width: 25%;
  }

  #gNav ul li a {
    display: block;
    border-bottom-color: #EEE;
    background-color: #EEE;
    padding: 12px 0 9px;
  }

  #hNav ul a {
    font-size: 1.4rem;
    padding: 12px 0;
  }

  #hSns {
    display: none;
    /*
    position: inherit;
    margin-bottom: 10px;
    text-align: right;
    */
  }

  article.basic table th,
  article.basic table td {
    padding: 2vw;
    font-size: 1.2rem;
  }

  [data-page="dayoriIndex"] #moreBackNumber li,
  [data-page="btIndex"] #moreBackNumber li {
    width: 46%;
    margin: 0 2% 5px;
  }

  [data-page="btIndex"] #imgHead h2 {
    font-size: 1.4rem;
  }

  /* 刊行物 */

  #publicaList > ul > li {
    width: 100%;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 480px) {

  #hNav ul li {
    margin: 0 0 0 5px;
  }

  #fNav {
    height: auto;
  }

  #fNav section {
    width: inherit;
  }

  /* 記事 */
  article.basic > .head,
  article.basic > header .head {
    font-size: 1.6rem;
  }

  article.basic h1 {
    font-size: 2rem;
    margin-bottom: 10px;
  }

  article.basic section h1 {
    font-size: 2.4rem;
  }

  article.basic h2 {
    font-size: 1.6rem;
  }

  article.basic a h3 {
    font-size: 1.6rem;
  }

  article.basic .tableArea {
    overflow: auto;
  }

  article.basic .tableArea::-webkit-scrollbar{
    height: 10px;
  }

  article.basic .tableArea::-webkit-scrollbar-track{
    background: #EEE;
  }

  article.basic .tableArea::-webkit-scrollbar-thumb {
    background: #BBB;
  }

  article.basic .tableArea table {
    width: 600px;
  }

  article.basic  .tableArea table.half {
    width: 100%;
  }

  article.basic figure.side {
    width: 40%;
  }

  article.basic .imgList > li {
    width: 100%;
  }

  article.basic .imgList.column3 > li {
    width: 49%;
  }

  article.basic .imgList.column3 > li:last-child {
    margin-left: 0;
  }

  .twoColumn > section {
    width: 100%;
  }

  .listBox .txtArea,
  .imgSideBox .txtArea {
    padding: 8px;
  }

  .articleList .txtArea:first-child {
    width: 67vmin;
    padding-right: 3vmin;
  }

  .articleList .imgSideBox .imgArea {
    width: 20vmin;
  }

  .articleList .imgArea .imgWrap {
    width: 20vmin;
    height: 20vmin;
  }

  .articleList .txtArea:first-child,
  #backNumber .txtArea,
  #latest .txtArea {
    width: 75%;
    padding: 0 10px 0 0;
  }

  #backNumber li a,
  #latest li a {
    padding: 0.5em 0;

  }

  #backNumber .txtArea li,
  #latest .txtArea li {
    font-size: 1.2rem;
  }

  #relationArea li a {
    font-size: 1.6rem;
  }

  /* 刊行物 */
  #imgHead {
    padding: 5px;
    margin-bottom: 5px;
  }

  [data-page="rdIndex"] #imgHead h2 {
    font-size: 1.4rem;
  }

  [data-page="rdIndex"] #imgHead h2 strong {
    font-size: 1.6rem;
  }

  [data-page="btIndex"] #imgHead {
    display: block;
  }

  [data-page="btIndex"] #imgHead h2 {
    padding: 5px 0 0;
  }

  [data-page="btIndex"] #imgHead .txtArea {
    width: 100%;
  }

  [data-page="annualIndex"] article > section {
    margin-left: 0;
  }

  [data-page="annualIndex"] .index p {
    font-size: 1.6rem;
    font-weight: bold;
  }

  #annualList > ol > li {
    display: block;
  }

  #annualList .txtArea {
    width: auto;
  }

  #annualList .imgArea {
    width: auto;
  }

  #annualList > ol > li::before {
    font-size: 1.6rem;
  }

  #annualList ol li ol li {
    font-size: 1.6rem;
  }

  #kenkyushiHeadList li,
  #kenkyushiFootList li {
    font-size: 1.4rem;
    width: 100%;
    min-width: auto;
  }

  #kenkyushiList li {
    margin: 0 2%;
    font-size: 1.6rem;
  }

  /* アクセス */
  #access #busArea .twoColumn section {
    width: 100%;
  }

  /* 技研ラボ */
  #labo article.basic .side {
    padding: 0;
    margin: 0 0 1em;
    width: inherit;
    float: none;
  }

  #laboList a,
  #laboList .table {
    display: block;
    position: relative;
  }

  #laboList .table h2 {
    margin: 1.5em 0;
  }

  #laboList .imgArea {
    position: absolute;
    top: 0;
    right: 0;
    width: 18vw;
    padding: 1vw;
  }

  #laboList h2 {
    font-size: 1.8rem;
    width: 60vw;
    min-height: 9vw;
  }

  #laboList .subTitle,
  #laboList li h2 + .sub {
    font-size: 1.6rem;
    width: 68vw;
    margin-left: 0;
    min-height: 9vw;
  }

  /* ギャラリー */

  #gallery .sponsor {
    font-size: 1.6rem;
  }

  #gallery article .imgSideBox > a {
    display: block;
  }

  #gallery article .imgSideBox > a > div {
    display: block;
  }

  #gallery article .imgArea {
    width: 95%;
    margin: 1em auto 0;
    padding: 10px 0 0;
  }

  #gallery article .txtArea h2 {
    font-size: 1.8rem;
  }

  /* 動画ライブラリー */
  .tmbList ul li {
    width: 90%;
    max-width: 360px;
    margin: 0 auto 1em;
  }

  /* 3か年計画 */
  #sankanen .imgSideBox .romanNum {
    margin: 0.5em 0 0 2.5em;
  }

  #sankanen .imgSideBox .romanNum li {
    font-size: 1.4rem;
  }
}
