/* ---------------------------------
 mixin
--------------------------------- */
/*alt*/
/*flex*/
/*
  MediaQuery Type = Parts Unit
  0 < size
  @media only screen and (max-width: 600px)
  @media only screen and (min-width: 601px)
  @media only screen and (min-width: 601px) and (max-width: 992px)
  @media only screen and (max-width: 992px)
  @media only screen and (min-width: 993px)
  @media only screen and (min-width: 993px)
*/
.ntv-wrapper {
  background: #fbfdfa;
}

@media only screen and (min-width: 993px) {
  .wrapper a {
    transition: opacity .1s ease;
  }
  .wrapper a:hover {
    opacity: 0.6;
  }
  .wrapper [id^="ntv_setAD"] a:hover {
    opacity: 1;
  }
}

#top #header h1 {
  text-indent: -9999px;
  display: block;
  overflow: hidden;
  padding-top: 27.25926%;
  background: url(../images/common/h1.png) no-repeat center top;
  background-size: contain;
  display: block;
  line-height: 0;
}

/* header
========================================== */
#header {
  width: 100%;
  height: 490px;
  margin-top: 50px;
  background: url(../images/top/bg_header.png) repeat-x center bottom;
  position: relative;
}

.header_inner {
  width: 100%;
  max-width: 675px;
  margin: 0 auto;
}

.header_inner h2 {
  text-indent: -9999px;
  display: block;
  overflow: hidden;
  margin: 6% 0 0;
  padding-top: 27.55556%;
  background: url(../images/top/h2_header.png) no-repeat center top;
  background-size: contain;
  display: block;
  line-height: 0;
}

/* main
========================================== */
#main {
  background: url(../images/common/bg_main.gif) repeat top center;
  color: #4f6171;
  letter-spacing: 0.05rem;
  line-height: 1.8;
  text-align: justify;
}

.main_inner {
  width: 90%;
  max-width: 620px;
  padding-top: 80px;
  margin: 0 auto;
  font-size: 1.6rem;
}

.app {
  padding: 5% 0;
  text-align: center;
  font-size: 1.3rem;
}

.app img {
  width: 100%;
  max-width: 410px;
  height: auto;
}

.siblings {
  padding: 3% 0;
  text-align: center;
}

.siblings img {
  width: 88%;
  max-width: 435px;
  height: auto;
}

/* about
========================================== */
#about {
  margin: -65px 0 0;
  padding: 0 0 6%;
  background: url(../images/common/border.png) repeat-x center bottom;
}

#about .block {
  padding: 2.5% 0;
}

#about .block:nth-of-type(1) h3 {
  text-indent: -9999px;
  display: block;
  overflow: hidden;
  margin-bottom: 3%;
  padding-top: 5.32258%;
  background: url(../images/top/tit01_about.png) no-repeat left top;
  background-size: contain;
  line-height: 0;
}

#about .block:nth-of-type(1) p {
  font-size: 1.7rem;
  line-height: 2;
  letter-spacing: 0.01rem;
}

#about .block:nth-of-type(1) p span {
  font-weight: bold;
  padding-bottom: 1%;
  background: url(../images/top/line_about.png) repeat-x left bottom;
}

#about .block:nth-of-type(2) h4 {
  text-indent: -9999px;
  display: block;
  overflow: hidden;
  margin-bottom: 3%;
  padding-top: 3.87097%;
  background: url(../images/top/tit02_about.png) no-repeat left top;
  background-size: contain;
  line-height: 0;
}

#about .block:nth-of-type(2) ul {
  padding-left: 4%;
}

#about .block:nth-of-type(2) ul li {
  list-style: disc outside;
}

#about .block:nth-of-type(2) p {
  margin: 2% 0 4%;
  font-size: 1.4rem;
  text-indent: -1em;
  padding-left: 1em;
  letter-spacing: 0.05rem;
}

#about .block:nth-of-type(2) dl dt {
  width: 20%;
  max-width: 90px;
  margin: 2.5% 0 0;
  padding: 1.2%;
  background: #f3ed8b;
  border-radius: 50px;
  font-size: 1.7rem;
  color: #585858;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}

#about .block:nth-of-type(2) dl dd {
  padding: 2% 0 0;
}

#about .block:nth-of-type(3) h4 {
  text-indent: -9999px;
  display: block;
  overflow: hidden;
  margin-bottom: 3%;
  padding-top: 3.87097%;
  background: url(../images/top/tit03_about.png) no-repeat left top;
  background-size: contain;
  height: 0;
}

/* bottom
========================================== */
#bottom {
  padding: 0 0 4%;
  background: url(../images/common/bg_bottom.gif) repeat center top;
}

#bottom h3 {
  text-indent: -9999px;
  display: block;
  overflow: hidden;
  margin-top: -6%;
  margin-bottom: 6%;
  padding-top: 5.80645%;
  background: url(../images/top/tit_bottom.png) no-repeat center top;
  background-size: contain;
  line-height: 0;
}

#bottom a {
  display: block;
}

#bottom a ul {
  display: flex;
  width: 100%;
  margin: 0 0 4%;
  padding: 1% 3%;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 10px;
  display: table;
  filter: drop-shadow(3px 3px 3px rgba(34, 159, 182, 0.6));
}

#bottom a ul li {
  padding: 2% 0;
  display: table-cell;
  vertical-align: middle;
  box-sizing: border-box;
  font-weight: bold;
}

#bottom a ul li:nth-of-type(1) {
  width: 28%;
  line-height: 0;
}

#bottom a ul li:nth-of-type(1) img {
  width: 100%;
  max-width: 164px;
  height: auto;
}

#bottom a ul li:nth-of-type(2) {
  width: 72%;
  padding: 2% 0 2% 3%;
  font-size: 1.7rem;
  line-height: 1.5;
  letter-spacing: 0;
}

#bottom a ul li:nth-of-type(2) span {
  font-size: 1.6rem;
  color: #0f7e9c;
  position: relative;
}

#bottom a ul li:nth-of-type(2) span.new::before {
  content: '';
  width: 12%;
  padding-top: 4.5%;
  background: url(../images/top/new.png) no-repeat left top;
  background-size: contain;
  display: inline-block;
  position: relative;
  top: 0.1em;
}

#bottom a ul li:nth-of-type(2) small {
  font-size: 1.5rem;
}

#bottom .other {
  padding: 2% 0 0;
}

#bottom .other ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

#bottom .other ul li {
  width: 50%;
  padding: 1%;
  line-height: 1;
}

#bottom .other ul li:nth-of-type(odd) {
  text-align: right;
}

/* report
========================================== */
#second.report {
  /* header
  ========================================== */
  /* detail
  ========================================== */
}

#second.report #main.month #detail .txt p {
  font-size: 1.8rem;
}

#second.report #main.month #detail .txt p:nth-of-type(n+2) {
  margin-top: 5%;
}

#second.report #header {
  width: 100%;
  height: 250px;
  background: url(../images/report/bg_header.png) repeat-x center bottom;
}

#second.report #header h1 {
  text-indent: -9999px;
  display: block;
  overflow: hidden;
}

#second.report #header h1 a {
  padding-top: 27.25926%;
  background: url(../images/common/h1.png) no-repeat center top;
  background-size: contain;
  display: block;
  line-height: 0;
}

#second.report #detail {
  margin: -30px 0 0;
  padding: 0 0 7%;
  background: url(../images/common/border.png) repeat-x center bottom;
}

#second.report #detail .title {
  width: 100%;
  margin-bottom: 3%;
  display: table;
}

#second.report #detail .title.tit02 {
  padding-top: 40px;
  margin-top: 30px;
  border-top: #000 1px dashed;
}

#second.report #detail .title .icon {
  width: 10%;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

#second.report #detail .title .icon img {
  width: 100%;
  max-width: 62px;
  height: auto;
}

#second.report #detail .title h3 {
  padding: 0 2% 1%;
  display: table-cell;
  vertical-align: middle;
  font-size: 2.3rem;
  font-weight: bold;
  line-height: 1.5;
}

#second.report #detail .title h3 span {
  font-size: 2rem;
  color: #0f7e9c;
}

#second.report #detail .title h3 small {
  font-size: 1.8rem;
}

#second.report #detail .block:nth-of-type(1) {
  width: 100%;
  margin-bottom: 3%;
  display: table;
}

#second.report #detail .block:nth-of-type(1) .icon {
  width: 10%;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

#second.report #detail .block:nth-of-type(1) .icon img {
  width: 100%;
  max-width: 62px;
  height: auto;
}

#second.report #detail .block:nth-of-type(1) h3 {
  padding: 0 2% 1%;
  display: table-cell;
  vertical-align: middle;
  font-size: 2.3rem;
  font-weight: bold;
  line-height: 1.5;
}

#second.report #detail .block:nth-of-type(1) h3 span {
  font-size: 2rem;
  color: #0f7e9c;
}

#second.report #detail .block:nth-of-type(1) h3 small {
  font-size: 1.8rem;
}

#second.report #detail .block .box {
  padding: 3% 0;
}

#second.report #detail .block .txt p:nth-of-type(n+2) {
  margin-top: 5%;
}

#second.report #detail .block .txt.name {
  padding: 3% 0 1.5%;
  font-size: 1.8rem;
  font-weight: bold;
  border-bottom: #000 1px dashed;
}

#second.report #detail .block .txt.name span {
  color: #0f7e9c;
}

#second.report #detail .block .txt ul.voice {
  padding: 2% 0 0;
}

#second.report #detail .block .txt ul.voice li {
  text-indent: -1em;
  padding: 0 0 1% 1em;
}

#second.report #detail .block .author {
  text-align: right;
}

#second.report #detail .block .photo {
  text-align: center;
}

#second.report #detail .block .photo p {
  line-height: 1;
}

#second.report #detail .block .photo p:nth-of-type(n+2) {
  margin-top: 3%;
}

#second.report #detail .block .photo p.w40 img {
  width: 40%;
  max-width: 247px;
}

#second.report #detail .block .photo p.w50 img {
  width: 50%;
  max-width: 300px;
}

#second.report #detail .block .photo p.w70 img {
  width: 70%;
  max-width: 375px;
}

#second.report #detail .block .photo p.w80 img {
  width: 80%;
  max-width: 437px;
}

#second.report #detail .block .photo p img {
  width: 100%;
  max-width: 575px;
  height: auto;
  filter: drop-shadow(3px 3px 3px rgba(34, 159, 182, 0.6));
}

#second.report #detail .block .photo p span {
  width: 100%;
  max-width: 575px;
  margin: 0 auto;
  padding: 2% 0 0;
  text-align: right;
  font-size: 1.3rem;
  display: block;
}

#second.report #detail .block .photo p.cap {
  position: relative;
  top: -0.2em;
  font-size: 1.5rem;
}

#second.report #bottom .app {
  margin-top: -22%;
  padding: 0 0 3%;
}

/* for SP
========================================== */
@media only screen and (max-width: 600px) {
  /* header
========================================== */
  #header {
    height: 0;
    margin-top: 8%;
    padding-top: 74%;
    background-size: 220%;
    position: relative;
  }
  .header_inner {
    position: absolute;
    top: 0;
    left: 0;
  }
  .header_inner h1 a {
    margin: 0 5%;
  }
  .header_inner h2 {
    margin: 6% 6% 0;
  }
  /* main
========================================== */
  .main_inner {
    font-size: 2.6vw;
  }
  .app {
    font-size: 2.2vw;
  }
  /* about
========================================== */
  #about {
    padding: 0 0 10%;
    background-size: 50%;
  }
  #about .block:nth-child(1) h3 {
    background-size: cover;
  }
  #about .block:nth-child(1) p {
    font-size: 2.8vw;
  }
  #about .block:nth-child(1) p span {
    font-weight: bold;
  }
  #about .block:nth-child(2) h4 {
    padding-top: 4.61538%;
    background-size: cover;
  }
  #about .block:nth-child(2) p {
    font-size: 2.3vw;
  }
  #about .block:nth-child(2) dl dt {
    width: 20%;
    padding: 1.5%;
    font-size: 2.8vw;
  }
  #about .block:nth-child(2) dl dd {
    padding: 2% 0 3%;
  }
  #about .block:nth-child(3) h4 {
    padding-top: 4.8%;
    background-size: cover;
  }
  /* bottom
========================================== */
  #bottom {
    background-size: 50%;
  }
  #bottom h3 {
    padding-top: 6.42857%;
  }
  #bottom a ul li:nth-of-type(2) {
    padding: 2% 2% 2% 3%;
    font-size: 2.8vw;
  }
  #bottom a ul li:nth-of-type(2) span {
    font-size: 2.5vw;
  }
  #bottom a ul li:nth-of-type(2) small {
    font-size: 2.3vw;
  }
  #bottom .other {
    padding: 3% 0 4%;
  }
  #bottom .other ul li {
    text-align: center;
  }
  #bottom .other ul li:nth-of-type(odd) {
    text-align: center;
  }
  #bottom .other ul li img {
    width: 100%;
    height: auto;
  }
  /* report
========================================== */
  #second.report {
    /* header
  ========================================== */
    /* detail
  ========================================== */
  }
  #second.report #main.month #detail .block.title h3 {
    font-size: 4.2vw !important;
  }
  #second.report #main.month #detail .block.title h3 span {
    font-size: 3.6vw !important;
  }
  #second.report #main.month #detail .block .txt p {
    font-size: 3.4vw;
  }
  #second.report #header {
    height: 0;
    padding-top: 35%;
    background-size: 170%;
    position: relative;
  }
  #second.report #detail {
    margin: -10% 0 0;
    padding: 0 0 12%;
    background-size: 45%;
  }
  #second.report #detail .block .title {
    background: #000;
  }
  #second.report #detail .block:nth-of-type(1) h3 {
    padding: 0 2% 2%;
    font-size: 3.5vw;
  }
  #second.report #detail .block:nth-of-type(1) h3 span {
    font-size: 3vw;
  }
  #second.report #detail .block:nth-of-type(1) h3 small {
    font-size: 2.4vw;
  }
  #second.report #detail .block .photo p img {
    filter: drop-shadow(3px 3px 3px rgba(34, 159, 182, 0.6));
  }
  #second.report #detail .block .photo p span {
    font-size: 2vw;
  }
  #second.report #detail .block .photo p.cap {
    font-size: 2vw;
  }
  #second.report #detail .block .txt.name {
    font-size: 2.4vw;
  }
  #second.report #bottom .app {
    margin-top: -25%;
  }
}

/* for printer
========================================== */
@media print {
  .not_print {
    display: none;
  }
}
