/* --------------------------------------------------------
*font
-------------------------------------------------------- */
@font-face { font-family: 'Noto Serif Japanese'; src: url(/common/font/NotoSerifCJKjp-Regular+.woff) format("woff"); font-weight: normal; }

@font-face { font-family: 'Noto Sans Japanese'; src: url(/common/font/NotoSansCJKjp-Medium+.woff) format("woff"); font-weight: normal; }

/* ===================================================================
CSS information
index.css
=================================================================== */
/* #visualSection
=================================================================== */
#visualSection { width: 100%; position: relative; overflow: hidden; }

.visualSection-popup { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; z-index: 101; opacity: 0; transition: 1.0s; }

.visualSection-popup.on { opacity: 1; }

.visualSection-popup.off { display: none; }

.visualSection-popup-img { position: relative; background: #fff; border: 10px solid #fff; }

.visualSection-popup-close { position: absolute; right: -20px; top: -20px; cursor: pointer; }

@media only screen and (max-width: 767px) { #visualSection { width: 100%; position: relative; overflow: initial; }
  .visualSection-popup { padding: 150px 50px; -webkit-box-orient: vertical; -webkit-box-direction: reverse; flex-flow: column-reverse nowrap; }
  .visualSection-popup-img { top: 20px; width: 80%; } }

#slide { z-index: 0; width: 100%; height: 704px; }

#slideIn { position: relative; width: 100%; }

#slideContent li { opacity: 0; position: absolute; top: 0px; left: 50%; margin: 0 0 0 -50%; z-index: 8; width: 100%; height: 704px; background: url() center no-repeat; }

#slideContent #slide0 { background-image: url(../img/index/visual_01.jpg); }

#slideContent #slide1 { background-image: url(../img/index/visual_02.jpg); }

#slideContent #slide2 { background-image: url(../img/index/visual_03.jpg); }

#slideContent #slide3 { background-image: url(../img/index/visual_04.jpg); }

#slideContent #slide4 { background-image: url(../img/index/visual_05.jpg); }

#slideContent li span { display: block; position: absolute; top: 0px; left: 50%; width: 1000px; margin: 0 0 0 -500px; z-index: 100; }

#slideContent .text01 { position: absolute; z-index: 14; }

#slideContent #slide0 .text01 { top: 160px; left: 250px; }

#slideContent #slide1 .text01 { top: 120px; right: 80px; }

#slideContent #slide2 .text01 { top: 160px; left: 200px; }

#slideContent #slide3 .text01 { top: 160px; left: 140px; }

#slideContent #slide4 .text01 { top: 160px; left: 250px; }

#slideContent li .wireBg { /*background:url(../img/share/bg_09.png?v=3);*/ width: 100%; height: 100%; position: absolute; top: 0px; left: 50%; margin: 0 0 0 -50%; }

@media only screen and (max-width: 767px) { #slide { height: 70vh; }
  #slideContent li { height: 70vh; background-size: cover; }
  #slideContent li span { width: 100%; margin: 0 0 0 -50%; height: 100%; }
  #slideContent .text01 { width: 26%; }
  #slideContent #slide0 .text01 { top: 7%; left: 15%; }
  #slideContent #slide1 .text01 { top: 4%; right: 8%; }
  #slideContent #slide2 .text01 { top: 7%; left: 10%; }
  #slideContent #slide3 .text01 { top: 7%; left: 8%; }
  #slideContent #slide4 .text01 { top: 7%; left: 10%; } }

#slideNavi { position: absolute; width: 1000px; left: 50%; top: 305px; margin: 0 0 0 -500px; z-index: 100; }

#slideNavi ul { position: relative; margin: 0 auto; }

#slideNavi li { position: absolute; width: 55px; height: 58px; display: block; background: url(../img/index/btn_arrow_01_off.png) no-repeat; text-indent: -9999px; cursor: pointer; }

#slideNavi #slidePrevBtn { left: 0px; background-position: 0px 0; }

#slideNavi #slideNextBtn { right: 0px; background-position: -55px 0; }

@media only screen and (max-width: 767px) { #slideNavi { width: 100%; margin: 0 auto; left: 0; top: 50%; display: none; } }

/* #middle
=================================================================== */
#middle { width: 100%; margin: 0 auto; background: rgba(0, 0, 0, 0.6); position: absolute; left: 0; bottom: 0; z-index: 10; }

#topicsSection { width: 1000px; margin: 0 auto; height: 43px; display: -webkit-box; display: flex; -webkit-box-align: start; align-items: flex-start; overflow: hidden; }

#topicsSection .text01 { font-family: 'Noto Sans Japanese', sans-serif; color: #fff; padding-top: 8px; }

@media only screen and (max-width: 767px) { #topicsSection .text01 { font-family: sans-serif; } }

#topicsSection #topicsLists li { width: 810px; }

#topicsSection #topicsLists li:hover dd { text-decoration: underline; }

#topicsSection #topicsLists li:hover dt { background: url(../img/share/icon_arrow_03.svg) no-repeat 20px 8px; background-size: 7px 7px; }

#topicsSection #topicsLists li a { display: block; padding: 10px 0 6px 0; font-size: 86%; letter-spacing: 1px; color: #fff; }

#topicsSection #topicsLists dt { float: left; padding: 0 24px 0 35px; background: url(../img/share/icon_arrow_03.svg) no-repeat 20px 8px; background-size: 7px 7px; }

#topicsSection #topicsLists dd { float: left; }

.topicsSection-moreSp { display: none; }

@media only screen and (max-width: 767px) { #topicsSection { width: 100%; height: auto; margin: 0 !important; display: block; position: relative; padding: 8px 14px; }
  #topicsSection .text01 { font-weight: bold; }
  #topicsSection #topicsLists li { width: 100%; }
  #topicsSection #topicsLists li:not(:first-child) { display: none; }
  #topicsSection #topicsLists li a { padding-right: 30px; position: relative; display: block; letter-spacing: 0; }
  #topicsSection #topicsLists li a:after { content: ""; width: 14px; height: 18px; background: url("/common/img/share/ico_arrow01_r_wh.svg") center no-repeat; background-size: contain; display: block; position: absolute; right: 0; top: 50%; margin-top: -9px; }
  #topicsSection #topicsLists dt { padding: 0; margin: 0; background: none; float: none; }
  #topicsSection #topicsLists dd { float: none; }
  #topicsSection .text02 { display: none; }
  .topicsSection-moreSp { font-weight: bold; font-size: 1rem; display: block; position: absolute; right: 0; top: 0; background: #fff; letter-spacing: 0.3em; }
  .topicsSection-moreSp a { text-decoration: none; padding: 7px 26px; padding-left: 32px; display: block; }
  .topicsSection-moreSp a:before { content: ""; display: block; border: 4px solid transparent; border-left-color: #009344; position: absolute; left: 10px; top: 50%; margin-top: -4px; } }

/* #container
=================================================================== */
#container { width: 100%; padding: 39px 0 40px 0; }

.home-blogSec { padding: 30px 0; }

.home-blogSec.item-csr { background: #F6F6F6; }

.home-blogSec-head { margin: 0 auto; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: flex; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: center; align-items: center; margin-bottom: 30px; }

.home-blogSec-head-h { font-weight: bold; font-size: 20px; }

.home-blogSec-head-link { background: rgba(0, 0, 0, 0.6); text-decoration: none; float: right; vertical-align: middle; color: #FFF !important; text-decoration: none; display: block; text-align: center; position: relative; padding: 8px 16px; }

.home-bnrSec { padding: 40px 0; }

.home-bnrSec-links { display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: flex; -webkit-box-pack: justify; justify-content: space-between; margin: 0 auto; margin-bottom: 10px; }

.home-bnrSec-links-txts { display: none; }

.home-bnrSec-clear01 { display: -webkit-box; display: flex; -webkit-box-pack: justify; justify-content: space-between; }

.home-bnrSec-sdgs { width: 32.4%; }

.mod-library { background: #626262; padding: 14px 20px; width: 66.2%; height: 120px; }

.mod-library-txt { color: #FFF; letter-spacing: 0.05em; text-align: center; margin-bottom: 0.5em; }

.mod-library-list { display: -webkit-box; display: flex; -webkit-box-pack: center; justify-content: center; }

.mod-library-list-item { width: 247px; }

.mod-library-list-item:not(:last-child) { margin-right: 20px; }

#naviSection { width: 1001px; }

@media only screen and (max-width: 767px) { #container { padding: 0; }
  .home-blogSec { padding-top: 20px; padding-bottom: 20px; }
  .home-blogSec.item-topics { background: #616161; }
  .home-blogSec.item-csr { background: #F6F6F6; }
  .home-blogSec-head { margin-bottom: 1em; }
  .item-topics .home-blogSec-head-h { color: #fff; }
  .home-bnrSec-links { flex-wrap: wrap; width: auto; }
  .home-bnrSec-links-item { width: 50%; position: relative; }
  .home-bnrSec-links-item a { display: block; }
  .home-bnrSec-links-item .spOnly { display: inline; width: 100%; }
  .home-bnrSec-links-item.size-l { width: 100%; margin-bottom: 10px; padding: 0 15px; text-align: center; }
  .home-bnrSec-links-txts { font-family: YuMincho, "Yu Mincho", 'Hiragino Mincho ProN', 'MS P Mincho', 'MS Mincho', serif; display: block; position: absolute; left: 0; bottom: 0; width: 100%; color: #fff; background: linear-gradient(to bottom, transparent 0%, transparent 1%, black 100%); font-size: 1rem; padding: 6px; padding-top: 50px; line-height: 1.3; } }

@media only screen and (max-width: 767px) and (max-width: 767px) { .home-bnrSec-links-txts { font-family: serif; } }

@media only screen and (max-width: 767px) { .home-bnrSec-links-txts small { font-size: 0.7em; }
  .home-bnrSec-links-txts-in { position: relative; }
  .home-bnrSec-links-txts-in:after { content: ""; width: 14px; height: 18px; background: url("/common/img/share/ico_arrow01_r_gn.svg") center no-repeat; background-size: contain; display: block; position: absolute; right: -5px; top: 50%; margin-top: -9px; }
  .home-bnrSec-clear01 { display: block; }
  .home-bnrSec-sdgs { width: auto; margin-bottom: 20px; padding: 0 15px; }
  .mod-library { padding: 30px 20px; width: auto; height: auto; }
  .mod-library-txt { text-align: center; margin-bottom: 15px; }
  .mod-library-list { display: block; text-align: center; }
  .mod-library-list-item { width: auto; }
  .mod-library-list-item:nth-child(1) { margin-right: 0px; margin-bottom: 15px; }
  #naviSection { width: auto; } }
