/* ---------------------------------
 mixin
--------------------------------- */
/*alt*/
/*bg*/
/*flex*/
/* ---------------------------------
 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;
  }
}

.wrapper {
  background: url(../images/common/bg_ptn01.jpg) repeat center top;
}

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

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

.header_inner h1 {
  text-indent: -9999px;
  display: block;
  overflow: hidden;
}

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

.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 {
  color: #52402b;
  letter-spacing: 0.05rem;
  line-height: 1.8;
  text-align: justify;
}

.main_inner {
  width: 90%;
  max-width: 620px;
  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_ptn02.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: #9a7559;
  border-radius: 50px;
  font-size: 1.7rem;
  color: #fff;
  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_ptn02.jpg) repeat center top;
}

#bottom h3 {
  text-indent: -9999px;
  display: block;
  overflow: hidden;
  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.7);
  border-radius: 10px;
  display: table;
  filter: drop-shadow(3px 3px 3px rgba(127, 199, 79, 0.8));
}

#bottom a ul.new li:nth-of-type(2)::before {
  content: 'NEW';
  width: 45px;
  margin-right: 7px;
  margin-bottom: 3px;
  padding: 5px 4px 3px;
  background: #e97a25;
  border-radius: 3px;
  font-size: 13px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #fff;
  display: inline-block;
  position: relative;
  top: -1px;
}

#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: #469f00;
}

#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 #header {
  width: 100%;
  height: 400px;
  background: url(../images/report/bg_header.png) repeat-x center bottom;
}

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

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

#second.report #detail .block.title.tit02 {
  border-top: #52402b 1px dashed;
  margin-top: 3%;
  padding-top: 6%;
}

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

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

#second.report #detail .block:nth-of-type(1) h3,
#second.report #detail .block.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 .block:nth-of-type(1) h3 span,
#second.report #detail .block.title h3 span {
  font-size: 2rem;
  color: #469f00;
}

#second.report #detail .block:nth-of-type(1) h3 small,
#second.report #detail .block.title 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 .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 ul {
  margin-top: 5%;
  text-indent: -1em;
  padding-left: 1em;
}

#second.report #detail .block ul li {
  margin-top: 1%;
}

#second.report #detail .block ul li:nth-of-type(1) {
  margin-top: 0;
}

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

#second.report #detail .block .photo p img {
  width: 95%;
  max-width: 575px;
  height: auto;
  border: #fff 4px solid;
  filter: drop-shadow(3px 3px 3px rgba(207, 222, 158, 0.8));
}

#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 #bottom .app {
  padding: 0 0 3%;
}

/* for SP
========================================== */
@media only screen and (max-width: 600px) {
  /* header
  ========================================== */
  #header {
    height: 0;
    margin-top: 8%;
    padding-top: 85%;
    background-size: cover;
    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.new li:nth-of-type(2)::before {
    content: 'NEW';
    width: 35px;
    margin-right: 7px;
    margin-bottom: 3px;
    padding: 4px 4px 3px;
    font-size: 2.2vw;
  }
  #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 #header {
    height: 0;
    padding-top: 60%;
    background-size: cover;
    position: relative;
  }
  #second.report #detail {
    margin: -20% 0 0;
    padding: 0 0 10%;
    background-size: 50%;
  }
  #second.report #detail .block:nth-of-type(1) h3,
  #second.report #detail .block.title h3 {
    padding: 0 2% 2%;
    font-size: 3.5vw;
  }
  #second.report #detail .block:nth-of-type(1) h3 span,
  #second.report #detail .block.title h3 span {
    font-size: 3vw;
  }
  #second.report #detail .block:nth-of-type(1) h3 small,
  #second.report #detail .block.title h3 span {
    font-size: 2.4vw;
  }
  #second.report #detail .block .photo p img {
    border: #fff 3px solid;
    filter: drop-shadow(2px 2px 2px rgba(207, 222, 158, 0.8));
  }
  #second.report #detail .block .photo p span {
    font-size: 2vw;
  }
}

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