@charset "UTF-8";
a.link_bnr {
  display: block; }
  a.link_bnr:hover {
    opacity: .7;
    transition: .5s; }

p, h4 {
  font-family: "Noto Serif JP W3", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
  text-align: left; }

figure img {
  width: 100%;
  height: auto; }
figure figcaption {
  text-align: right;
  display: block;
  font-size: 12px;
  padding: 5px 0;
  width: 100%; }
figure.imgCaption {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  position: relative; }
  figure.imgCaption img {
    display: block;
    width: 100%; }
  figure.imgCaption figcaption {
    position: absolute;
    bottom: 5px;
    right: 10px;
    padding: 0 0;
    display: block;
    color: #fff !important;
    text-shadow: 1px 1px 3px #000,-1px -1px 3px #000,-1px -1px 3px #000,-1px -1px 3px #000;
    font-size: 11px;
    line-height: 14px;
    font-family: "Noto Serif JP W3", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif; }
    figure.imgCaption figcaption.left {
      right: inherit;
      left: 10px;
      text-align: left; }
    figure.imgCaption figcaption.black {
      color: #000 !important;
      text-shadow: 1px 1px 3px #fff,-1px -1px 3px #fff,-1px -1px 3px #fff,-1px -1px 3px #fff; }
    figure.imgCaption figcaption.no-shadow {
      text-shadow: 1px 1px 3px transparent,-1px -1px 3px transparent,-1px -1px 3px transparent,-1px -1px 3px transparent; }

h4.section-box-ttl {
  width: 100%;
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.15em; }
  h4.section-box-ttl > span {
    font-size: 10px; }
  h4.section-box-ttl.mt50 {
    margin-top: 50px; }

p.section-box-txt {
  width: 100%;
  margin-top: 10px;
  font-size: 14px;
  line-height: 30px;
  letter-spacing: 0.08em; }

#contents {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  width: 100vw; }
  #contents #main #mainView {
    width: 100%;
    position: relative;
    z-index: 10; }
    #contents #main #mainView .slideItem .baseimg {
      position: relative; }
      #contents #main #mainView .slideItem .baseimg .imgCaption {
        position: absolute;
        bottom: 2%;
        right: 2%;
        font-size: 11px;
        line-height: 15px;
        letter-spacing: 0.03em;
        color: #fff;
        font-family: "Noto Serif JP W3", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
        /*text-shadow: 1px 1px 3px #000,-1px -1px 3px #000,-1px -1px 3px #000,-1px -1px 3px #000;*/ }
        #contents #main #mainView .slideItem .baseimg .imgCaption.top-right {
          bottom: initial;
          top: 2%; }
        #contents #main #mainView .slideItem .baseimg .imgCaption.bottom-left {
          right: initial;
          left: 2%; }
  #contents #main article {
    padding-bottom: 120px; }
    #contents #main article.pb0 {
      padding-bottom: 0; }
  #contents #main article.bg-bage, #contents #main section.bg-bage {
    background-color: #fff;
    background-image: url(../img/bg/bg-white.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top left; }
    #contents #main article.bg-bage p, #contents #main article.bg-bage h4, #contents #main section.bg-bage p, #contents #main section.bg-bage h4 {
      color: #231815; }
  #contents #main article.bg-green, #contents #main section.bg-green {
    background-color: #224322; }
    #contents #main article.bg-green p, #contents #main article.bg-green h4, #contents #main section.bg-green p, #contents #main section.bg-green h4 {
      color: #fff; }
  #contents #main article.bg-gray, #contents #main section.bg-gray {
    background-color: #ccc8c6; }
    #contents #main article.bg-gray p, #contents #main article.bg-gray h4, #contents #main section.bg-gray p, #contents #main section.bg-gray h4 {
      color: #231815; }
  #contents #main article .footer-btn-list, #contents #main section .footer-btn-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
    #contents #main article .footer-btn-list > a, #contents #main section .footer-btn-list > a {
      position: relative;
      display: block;
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain; }
      #contents #main article .footer-btn-list > a > img, #contents #main section .footer-btn-list > a > img {
        position: relative;
        z-index: 3; }
      #contents #main article .footer-btn-list > a.bg01, #contents #main section .footer-btn-list > a.bg01 {
        background-image: url(../img/top/footer-btn-bg01.jpg); }
      #contents #main article .footer-btn-list > a.bg02, #contents #main section .footer-btn-list > a.bg02 {
        background-image: url(../img/top/footer-btn-bg02.jpg); }
      #contents #main article .footer-btn-list > a.bg03, #contents #main section .footer-btn-list > a.bg03 {
        background-image: url(../img/top/footer-btn-bg03.jpg); }
      #contents #main article .footer-btn-list > a.bg04, #contents #main section .footer-btn-list > a.bg04 {
        background-image: url(../img/top/footer-btn-bg04.jpg); }
      #contents #main article .footer-btn-list > a.bg05, #contents #main section .footer-btn-list > a.bg05 {
        background-image: url(../img/top/footer-btn-bg05.jpg); }
      #contents #main article .footer-btn-list > a.off, #contents #main section .footer-btn-list > a.off {
        pointer-events: none; }
      #contents #main article .footer-btn-list > a:before, #contents #main section .footer-btn-list > a:before {
        content: '';
        display: block;
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(71, 60, 56, 0.7);
        mix-blend-mode: multiply; }
      #contents #main article .footer-btn-list > a:hover:before, #contents #main article .footer-btn-list > a:active:before, #contents #main section .footer-btn-list > a:hover:before, #contents #main section .footer-btn-list > a:active:before {
        background-color: rgba(71, 60, 56, 0);
        transition: .7s; }
  #contents #main article .section-header, #contents #main section .section-header {
    width: 100%;
    position: relative; }
    #contents #main article .section-header > h3, #contents #main section .section-header > h3 {
      display: none; }
    #contents #main article .section-header-caption, #contents #main section .section-header-caption {
      position: absolute;
      color: #fff !important;
      bottom: 2%;
      right: 2%;
      font-size: 11px;
      line-height: 15px;
      letter-spacing: 0.03em;
      color: #fff;
      font-family: "Noto Serif JP W3", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif; }
      #contents #main article .section-header-caption.top-right, #contents #main section .section-header-caption.top-right {
        bottom: initial;
        top: 2%; }
      #contents #main article .section-header-caption.bottom-left, #contents #main section .section-header-caption.bottom-left {
        right: initial;
        left: 2%; }
  #contents #main article .content-detail, #contents #main section .content-detail {
    width: 98%;
    margin: 0 auto; }
    #contents #main article .content-detail a.btn-nextpage, #contents #main section .content-detail a.btn-nextpage {
      width: 80%;
      margin: 40px auto;
      display: block; }
      #contents #main article .content-detail a.btn-nextpage:hover, #contents #main section .content-detail a.btn-nextpage:hover {
        opacity: .7;
        transition: .5s; }
      #contents #main article .content-detail a.btn-nextpage.off, #contents #main section .content-detail a.btn-nextpage.off {
        pointer-events: none; }
    #contents #main article .content-detail .quality-box-img, #contents #main section .content-detail .quality-box-img {
      width: 80%;
      max-width: 654px;
      margin: 20px auto;
      display: block; }
    #contents #main article .content-detail .quality-box-txt, #contents #main section .content-detail .quality-box-txt {
      font-size: 20px;
      line-height: 54px;
      letter-spacing: 0.05em;
      text-align: center; }
    #contents #main article .content-detail .quality-box-caption > li, #contents #main section .content-detail .quality-box-caption > li {
      padding: 1em;
      text-indent: -1em;
      font-size: 12px;
      line-height: 15px;
      letter-spacing: 0.05em;
      text-align: right; }
    #contents #main article .content-detail .content-flex2, #contents #main section .content-detail .content-flex2 {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      margin-bottom: 68px; }
      #contents #main article .content-detail .content-flex2.half, #contents #main section .content-detail .content-flex2.half {
        justify-content: space-between; }
        #contents #main article .content-detail .content-flex2.half .inner-img, #contents #main section .content-detail .content-flex2.half .inner-img {
          display: flex;
          flex-wrap: wrap;
          gap: 30px 0; }
        #contents #main article .content-detail .content-flex2.half .column-reverse, #contents #main section .content-detail .content-flex2.half .column-reverse {
          flex-direction: column-reverse; }
        #contents #main article .content-detail .content-flex2.half > div, #contents #main section .content-detail .content-flex2.half > div {
          width: calc(50% - 40px); }
          #contents #main article .content-detail .content-flex2.half > div .text-box, #contents #main section .content-detail .content-flex2.half > div .text-box {
            width: 100%;
            padding: 0 0 0 0; }
      #contents #main article .content-detail .content-flex2.row-reverse, #contents #main section .content-detail .content-flex2.row-reverse {
        flex-direction: row-reverse; }
      #contents #main article .content-detail .content-flex2 .text-box, #contents #main article .content-detail .content-flex2 .text-box-thin, #contents #main section .content-detail .content-flex2 .text-box, #contents #main section .content-detail .content-flex2 .text-box-thin {
        width: calc(50% - 60px);
        padding: 0 30px; }
        #contents #main article .content-detail .content-flex2 .text-box.flex, #contents #main article .content-detail .content-flex2 .text-box-thin.flex, #contents #main section .content-detail .content-flex2 .text-box.flex, #contents #main section .content-detail .content-flex2 .text-box-thin.flex {
          display: flex;
          flex-wrap: wrap;
          align-items: flex-start;
          justify-content: flex-end; }
        #contents #main article .content-detail .content-flex2 .text-box figure, #contents #main article .content-detail .content-flex2 .text-box-thin figure, #contents #main section .content-detail .content-flex2 .text-box figure, #contents #main section .content-detail .content-flex2 .text-box-thin figure {
          width: 60%;
          margin: initial;
          margin-top: 30px; }
          #contents #main article .content-detail .content-flex2 .text-box figure.sub-img, #contents #main article .content-detail .content-flex2 .text-box-thin figure.sub-img, #contents #main section .content-detail .content-flex2 .text-box figure.sub-img, #contents #main section .content-detail .content-flex2 .text-box-thin figure.sub-img {
            width: 180px; }
      #contents #main article .content-detail .content-flex2 > div, #contents #main article .content-detail .content-flex2 > p, #contents #main article .content-detail .content-flex2 > figure, #contents #main section .content-detail .content-flex2 > div, #contents #main section .content-detail .content-flex2 > p, #contents #main section .content-detail .content-flex2 > figure {
        width: 50%; }
        #contents #main article .content-detail .content-flex2 > div .text-box, #contents #main article .content-detail .content-flex2 > p .text-box, #contents #main article .content-detail .content-flex2 > figure .text-box, #contents #main section .content-detail .content-flex2 > div .text-box, #contents #main section .content-detail .content-flex2 > p .text-box, #contents #main section .content-detail .content-flex2 > figure .text-box {
          width: 100%;
          padding: 30px 0 0 0; }
      #contents #main article .content-detail .content-flex2 .text-box-slim, #contents #main section .content-detail .content-flex2 .text-box-slim {
        width: calc((100% - 588px) - 60px);
        padding: 0 30px; }
        #contents #main article .content-detail .content-flex2 .text-box-slim.flex, #contents #main section .content-detail .content-flex2 .text-box-slim.flex {
          display: flex;
          flex-wrap: wrap;
          align-items: flex-start;
          justify-content: flex-end; }
        #contents #main article .content-detail .content-flex2 .text-box-slim figure, #contents #main section .content-detail .content-flex2 .text-box-slim figure {
          width: 60%;
          margin: initial;
          margin-top: 30px; }
      #contents #main article .content-detail .content-flex2 .width400, #contents #main section .content-detail .content-flex2 .width400 {
        display: flex;
        flex-wrap: wrap; }
        #contents #main article .content-detail .content-flex2 .width400.flex-end, #contents #main section .content-detail .content-flex2 .width400.flex-end {
          justify-content: flex-end; }
        #contents #main article .content-detail .content-flex2 .width400.v-flex-start, #contents #main section .content-detail .content-flex2 .width400.v-flex-start {
          align-items: flex-start; }
        #contents #main article .content-detail .content-flex2 .width400 figure, #contents #main article .content-detail .content-flex2 .width400 p, #contents #main section .content-detail .content-flex2 .width400 figure, #contents #main section .content-detail .content-flex2 .width400 p {
          width: 400px;
          margin: initial; }
      #contents #main article .content-detail .content-flex2 .width296, #contents #main section .content-detail .content-flex2 .width296 {
        display: flex;
        flex-wrap: wrap; }
        #contents #main article .content-detail .content-flex2 .width296.flex-end, #contents #main section .content-detail .content-flex2 .width296.flex-end {
          justify-content: flex-end; }
        #contents #main article .content-detail .content-flex2 .width296 figure, #contents #main article .content-detail .content-flex2 .width296 p, #contents #main section .content-detail .content-flex2 .width296 figure, #contents #main section .content-detail .content-flex2 .width296 p {
          width: 296px;
          margin: initial; }
      #contents #main article .content-detail .content-flex2 .width588, #contents #main section .content-detail .content-flex2 .width588 {
        width: 588px;
        display: flex;
        flex-wrap: wrap; }
        #contents #main article .content-detail .content-flex2 .width588.flex-end, #contents #main section .content-detail .content-flex2 .width588.flex-end {
          justify-content: flex-end; }
        #contents #main article .content-detail .content-flex2 .width588 figure, #contents #main article .content-detail .content-flex2 .width588 p, #contents #main section .content-detail .content-flex2 .width588 figure, #contents #main section .content-detail .content-flex2 .width588 p {
          width: 588px;
          margin: initial; }
  #contents #main article #concept .concept-txt, #contents #main section #concept .concept-txt {
    display: block;
    width: 100%;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    border-top: none;
    border-bottom: none; }
    #contents #main article #concept .concept-txt > span, #contents #main section #concept .concept-txt > span {
      display: none; }

/*PC ONLY*/
@media screen and (min-width: 751px) {
  .smart_on {
    display: none !important; }

  #contents #main article .content-detail, #contents #main section .content-detail {
    max-width: 1000px;
    padding: 20px 0 80px; }
    #contents #main article .content-detail .content-flex2 .v-align-center, #contents #main section .content-detail .content-flex2 .v-align-center {
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
    #contents #main article .content-detail .content-flex2 .flex-end, #contents #main section .content-detail .content-flex2 .flex-end {
      justify-content: flex-end; }
    #contents #main article .content-detail a.btn-nextpage, #contents #main section .content-detail a.btn-nextpage {
      max-width: 370px; }
  #contents #main article a.link_bnr, #contents #main section a.link_bnr {
    margin-bottom: 32px; }
  #contents #main article #concept .concept-txt, #contents #main section #concept .concept-txt {
    background-image: url(../img/top/concept-text01.png);
    padding: 80px 0;
    margin-top: 50px;
    border-top: none;
    border-bottom: none; }
  #contents #main article #concept .merit-pc, #contents #main section #concept .merit-pc {
    margin: 60px auto 80px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px 0; }
    #contents #main article #concept .merit-pc > li, #contents #main section #concept .merit-pc > li {
      width: calc((100% / 3) - 20px);
      display: block; }
  #contents #main article #concept .merit-sp, #contents #main section #concept .merit-sp {
    display: none; } }
/*SP ONLY*/
@media screen and (max-width: 750px) {
  .pc_on {
    display: none !important; }

  figure figcaption {
    font-size: 16px; }
  figure.imgCaption figcaption {
    font-size: 16px;
    line-height: 1.5em; }

  h4.section-box-ttl {
    font-size: 28px; }
    h4.section-box-ttl.mt50 {
      margin-top: 0; }
    h4.section-box-ttl > span {
      font-size: 16px; }

  p.section-box-txt {
    font-size: 20px;
    line-height: 1.75em;
    margin-top: 1.5em; }

  #contents #main #mainView .slideItem .baseimg .imgCaption {
    font-size: 16px; }
  #contents #main article .footer-btn-list, #contents #main section .footer-btn-list {
    grid-template-columns: 1fr 1fr; }
  #contents #main article .section-header-caption, #contents #main section .section-header-caption {
    font-size: 16px; }
  #contents #main article .content-detail, #contents #main section .content-detail {
    padding: 30px 0 50px; }
    #contents #main article .content-detail .quality-box-txt, #contents #main section .content-detail .quality-box-txt {
      font-size: 36px;
      line-height: 1.75em; }
    #contents #main article .content-detail .quality-box-caption, #contents #main section .content-detail .quality-box-caption {
      width: 90%;
      margin: 80px auto 0; }
      #contents #main article .content-detail .quality-box-caption > li, #contents #main section .content-detail .quality-box-caption > li {
        font-size: 16px;
        line-height: 1.75em;
        text-align: left; }
    #contents #main article .content-detail .content-flex2, #contents #main section .content-detail .content-flex2 {
      display: block; }
      #contents #main article .content-detail .content-flex2 > div, #contents #main article .content-detail .content-flex2 > p, #contents #main article .content-detail .content-flex2 > figure, #contents #main section .content-detail .content-flex2 > div, #contents #main section .content-detail .content-flex2 > p, #contents #main section .content-detail .content-flex2 > figure {
        width: 100%; }
      #contents #main article .content-detail .content-flex2.half .inner-img, #contents #main section .content-detail .content-flex2.half .inner-img {
        display: block; }
      #contents #main article .content-detail .content-flex2.half > div, #contents #main section .content-detail .content-flex2.half > div {
        width: 70%;
        margin: 0 auto 60px; }
      #contents #main article .content-detail .content-flex2 .width400.flex-end, #contents #main section .content-detail .content-flex2 .width400.flex-end {
        justify-content: flex-end; }
      #contents #main article .content-detail .content-flex2 .width400 figure, #contents #main article .content-detail .content-flex2 .width400 > p, #contents #main section .content-detail .content-flex2 .width400 figure, #contents #main section .content-detail .content-flex2 .width400 > p {
        width: 70%;
        margin: 0 auto; }
        #contents #main article .content-detail .content-flex2 .width400 figure.w90, #contents #main article .content-detail .content-flex2 .width400 > p.w90, #contents #main section .content-detail .content-flex2 .width400 figure.w90, #contents #main section .content-detail .content-flex2 .width400 > p.w90 {
          width: 90%; }
      #contents #main article .content-detail .content-flex2 .width296.flex-end, #contents #main section .content-detail .content-flex2 .width296.flex-end {
        justify-content: flex-end; }
      #contents #main article .content-detail .content-flex2 .width296 figure, #contents #main article .content-detail .content-flex2 .width296 > p, #contents #main section .content-detail .content-flex2 .width296 figure, #contents #main section .content-detail .content-flex2 .width296 > p {
        width: 50%;
        margin: 0 auto 40px; }
      #contents #main article .content-detail .content-flex2 .width588, #contents #main section .content-detail .content-flex2 .width588 {
        width: 100%;
        display: flex;
        flex-wrap: wrap; }
        #contents #main article .content-detail .content-flex2 .width588.flex-end, #contents #main section .content-detail .content-flex2 .width588.flex-end {
          justify-content: flex-end; }
        #contents #main article .content-detail .content-flex2 .width588 figure, #contents #main section .content-detail .content-flex2 .width588 figure {
          width: 85%;
          margin-bottom: 40px; }
        #contents #main article .content-detail .content-flex2 .width588 > p, #contents #main section .content-detail .content-flex2 .width588 > p {
          width: 100%;
          margin: 0 auto 40px; }
      #contents #main article .content-detail .content-flex2 .text-box, #contents #main section .content-detail .content-flex2 .text-box {
        width: calc(100% - 60px);
        margin: 40px auto 0; }
        #contents #main article .content-detail .content-flex2 .text-box figure.sub-img, #contents #main section .content-detail .content-flex2 .text-box figure.sub-img {
          margin: 40px auto;
          width: 50%; }
      #contents #main article .content-detail .content-flex2 .text-box-thin, #contents #main article .content-detail .content-flex2 .text-box-slim, #contents #main section .content-detail .content-flex2 .text-box-thin, #contents #main section .content-detail .content-flex2 .text-box-slim {
        width: calc(100% - 200px);
        padding: 0 100px; }
        #contents #main article .content-detail .content-flex2 .text-box-thin figure, #contents #main article .content-detail .content-flex2 .text-box-slim figure, #contents #main section .content-detail .content-flex2 .text-box-thin figure, #contents #main section .content-detail .content-flex2 .text-box-slim figure {
          display: none; }
  #contents #main article a.link_bnr, #contents #main section a.link_bnr {
    margin-bottom: 74px; }
  #contents #main article #concept .concept-txt, #contents #main section #concept .concept-txt {
    background-image: url(../img/top/concept-text01_sp.png);
    padding: 120px 0; }
  #contents #main article #concept .merit-pc, #contents #main section #concept .merit-pc {
    display: none; }
  #contents #main article #concept .merit-sp, #contents #main section #concept .merit-sp {
    position: relative;
    margin-inline: auto;
    width: 100%;
    margin: 30px auto 54px; }
    #contents #main article #concept .merit-sp li, #contents #main section #concept .merit-sp li {
      margin: 0 35px; }
    #contents #main article #concept .merit-sp .prev-arrow, #contents #main section #concept .merit-sp .prev-arrow {
      position: absolute;
      top: calc(50% - 28px);
      left: 13%;
      display: block;
      padding: 28px;
      z-index: 20;
      transform: rotate(-45deg);
      border-top: solid #808080 2px;
      border-left: solid #808080 2px; }
    #contents #main article #concept .merit-sp .next-arrow, #contents #main section #concept .merit-sp .next-arrow {
      position: absolute;
      top: calc(50% - 28px);
      right: 13%;
      display: block;
      padding: 28px;
      z-index: 20;
      transform: rotate(45deg);
      border-top: solid #808080 2px;
      border-right: solid #808080 2px; } }

/*# sourceMappingURL=top.css.map */
