/*----------------------------------------

    common

----------------------------------------*/
html {
  scroll-behavior: auto;
}

#contents {
  border-top: 1px solid #B3B3B4;
}

#moushikomi {
  scroll-margin-top: 0;
}

/*----------------------------------------

    Content Images

----------------------------------------*/
.content_images {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 990px;
  margin: 0 auto;
}

.content_images picture {
  display: block;
  width: 100%;
  max-width: 100%;
}

.content_images picture a {
  display: block;
  width: 100%;
}

.content_images img {
  display: block;
  width: 100%;
  height: auto;
}

.txt_wrap {
  margin: 0 auto 30px;
  width: 990px;
  font-size: 18px;
}

/*----------------------------------------

    Header

----------------------------------------*/
.header {
  background: #1E1E1E;
  padding: 20px;
  text-align: center;
}
.header a {
  display: block;
  color: #ffffff;
  text-decoration: none;
  font-size: 12px;
}
.header img {
  width: 240px;
  display: block;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .header {
    padding: 9px 20px;
  }
}

/*----------------------------------------

    txt

----------------------------------------*/
h3 {
  margin: 2rem 0;
  padding: .5rem;
  font-size: 25px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  background: #000;
}
h3 span {
  display: inline-block;
  margin: .3em auto.5em;
  padding: .3em;
  font-size: 85%;
  border: 1px solid #fff;
}

h4 {
  position: relative;
  margin: 0 auto 2rem;
  padding: .5rem 1rem;
  width: 300px;
  font-size: 23px;
  font-weight: bold;
  color: #0b3e67;
  text-align: center;
  border: #0b3e67 5px solid;
}
h4:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -165px;
  width: 160px;
  border-top: #0b3e67 5px solid;
}
h4:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 295px;
  width: 160px;
  border-top: #0b3e67 5px solid;
}
.tC {
  text-align: center;
}
div.txt_title {
  margin: 2rem 0;
  padding: 2rem;
  font-size: 18px;
  text-align: center;
  background: #fefec4;
}
div.txt_title h3 {
  font-size: 37px;
  font-weight: bold;
  line-height: 1;
}
div.txt_title h3 span {
  font-size: 24px;
  line-height: 2;
}

/*----------------------------------------

    Footer

----------------------------------------*/
.footer {
  background: #1E1E1E;
  padding: 20px;
  text-align: center;
  margin-top: 60px;
}
.footer a {
  display: block;
  color: #ffffff;
  text-decoration: none;
  font-size: 12px;
}
.footer img {
  width: 240px;
  display: block;
  margin: 0 auto 10px auto;
}
.footer address {
  font-size: 10px;
  font-style: normal;
  color: #ffffff;
  margin-top: 20px;
}

/*----------------------------------------

    SP

----------------------------------------*/
@media screen and (max-width: 768px) {
  #contents {
    padding-top: 64px;
    width: 100%;
  }
  .txt_wrap {
    width: 96%;
    font-size: 100%;
  }
  .txt_wrap figure{
    margin-bottom: 1em;
  }
}

/*PCでは無効（改行しない）*/
.sma{
    display: none;
}

/*スマートフォンでは有効（改行する）*/
@media screen and (max-width:768px) {
    .sma{
        display: block;
    }
}

.content_images .pc-none {
  display: none;
}
.content_images .sp-none {
  display: block;
}

@media screen and (max-width: 1000px) {
  .content_images .pc-none {
    display: block;
  }
  .content_images .sp-none {
    display: none;
  }
}