@media only screen and (min-width: 768px) {
  #key li:nth-child(1) {
    background: url("../img/index/kv_img1.jpg") no-repeat center/cover; }
  #key li:nth-child(2) {
    background: url("../img/index/kv_img2.jpg") no-repeat center/cover; }
  #key li:nth-child(3) {
    background: url("../img/index/kv_img3.jpg") no-repeat center/cover; }
  #key img {
    opacity: 0; } }

#rss {
  position: relative;
  z-index: 0;
  color: #2b2b2b;
  padding: 10vw 0; }
  #rss:before {
    content: "";
    background: url("../img/shared/bg2.jpg");
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 19vw); }
  #rss .rss + .rss {
    border-top: 1px solid rgba(0, 0, 0, 0.2);
    margin-top: 9vw;
    padding-top: 9vw; }
  #rss h2 {
    text-align: center;
    text-transform: uppercase;
    font-size: 4.8vw;
    margin-bottom: 2vw; }
  #rss ul {
    margin: 0 4.3% 5vw; }
  #rss li {
    line-height: 1.8;
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
    padding-bottom: 8px;
    margin-bottom: 8px; }
  #rss .row-date {
    display: block;
    color: #b05308; }
  #rss .btn-link2 {
    justify-content: flex-end;
    margin-right: 4.3%; }
  @media only screen and (min-width: 768px) {
    #rss {
      padding: 79px 0 61px; }
      #rss:before {
        height: calc(100% + 80px); }
      #rss ul {
        width: 385px; }
      #rss .rss {
        width: 50%;
        padding: 24px 0 40px; }
        #rss .rss ul {
          margin-left: 43px;
          margin-bottom: 20px; }
        #rss .rss .btn-link2 {
          margin-right: 80px; }
      #rss .rss + .rss {
        margin-top: 0;
        padding-top: 24px;
        border-left: 1px solid rgba(0, 0, 0, 0.2);
        border-top: none; }
        #rss .rss + .rss ul {
          margin-left: 76px; }
        #rss .rss + .rss .btn-link2 {
          margin-right: 47px; }
      #rss h2 {
        font-size: 24px;
        margin-bottom: 25px; }
      #rss li {
        line-height: 1.7;
        padding-bottom: 8px;
        margin-bottom: 8px; }
      #rss .row-date {
        font-size: 15px; }
      #rss .btn-link2 {
        font-size: 16px; }
        #rss .btn-link2 span {
          width: 66px;
          margin-left: 19px; } }

#sec1 {
  padding-bottom: 30vw; }
  #sec1 .ttl {
    margin: 10vw 0 9vw; }
  #sec1 .btn-link {
    margin-top: 14vw; }
  #sec1 .sec1-deco {
    position: absolute;
    z-index: -1;
    right: -6vw;
    bottom: -53vw;
    width: 76%; }
  @media only screen and (min-width: 768px) {
    #sec1 {
      padding-top: 235px;
      padding-bottom: 155px;
      z-index: 0; }
      #sec1 .sec1-img {
        position: absolute;
        z-index: -1;
        top: 0;
        left: -250px;
        width: 1315px; }
      #sec1 .sec1-info {
        margin: 0 -40px 0 auto;
        width: 525px; }
      #sec1 .ttl {
        margin: 0 0 43px;
        width: 462px; }
        #sec1 .ttl p:nth-child(1) {
          width: 328px; }
        #sec1 .ttl p:nth-child(2) {
          width: 370px; }
        #sec1 .ttl p span {
          display: block; }
        #sec1 .ttl .ttl-en {
          padding: 0 10px; }
      #sec1 .btn-link {
        margin: 41px 0 0 0; }
      #sec1 .sec1-deco {
        right: -467px;
        bottom: -236px;
        width: 564px; } }
  @media only screen and (min-width: 768px) and (max-width: 1140px) {
    #sec1 .sec1-info {
      margin-right: 10px; } }

#sec2 h2 {
  margin: 0 auto 10vw; }
#sec2 .txt-vertical-pc {
  position: relative;
  z-index: 1;
  margin-bottom: -13vw; }
#sec2 a {
  text-transform: uppercase; }
  #sec2 a .sec2-img {
    padding-top: 87.6%; }
  #sec2 a .btn-link2 {
    position: absolute;
    bottom: 5vw;
    left: 0;
    width: 100%;
    justify-content: center;
    font-size: 4.4vw; }
    #sec2 a .btn-link2 em {
      font-style: normal;
      display: block;
      width: 27vw;
      letter-spacing: 0.32em;
      transition: .5s ease !important; }
    #sec2 a .btn-link2 span {
      width: 53%; }
  #sec2 a:nth-child(1) .btn-link2 em:first-letter {
    color: #af410b; }
  #sec2 a:nth-child(2) .btn-link2 em:first-letter {
    color: #59871a; }
  #sec2 a:nth-child(1):hover .btn-link2 em {
    color: #af410b; }
  #sec2 a:nth-child(2):hover .btn-link2 em {
    color: #59871a; }
@media only screen and (min-width: 768px) {
  #sec2 .wrap {
    position: relative;
    z-index: 2; }
  #sec2 .sec2-group {
    justify-content: flex-start;
    margin-left: -52px; }
  #sec2 h2 {
    margin: -3px 0 0 28px;
    order: 2; }
  #sec2 .txt-vertical-pc {
    height: 320px;
    margin-bottom: 0; }
  #sec2 .sec2-bnr {
    width: 100%;
    margin-top: -230px;
    position: relative;
    z-index: 0; }
  #sec2 a {
    width: 50%; }
    #sec2 a .sec2-img {
      padding-top: 757px; }
    #sec2 a .btn-link2 {
      bottom: 50px;
      left: auto;
      right: 54px;
      width: auto;
      font-size: 23px; }
      #sec2 a .btn-link2 em {
        width: auto; }
      #sec2 a .btn-link2 span {
        width: 169px;
        margin-left: 6px; } }
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  #sec2 .sec2-group {
    margin-left: 20px; }
  #sec2 h2 {
    text-shadow: 3px 2px 3px rgba(0, 0, 0, 0.4); }
  #sec2 a .sec2-img {
    padding-top: 650px; }
  #sec2 a .btn-link2 {
    bottom: 25px; } }

#sec3 {
  z-index: 2;
  padding-bottom: 14vw;
  position: relative; }
  #sec3:before {
    content: "";
    background: url("../img/shared/bg2.jpg");
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 65vw); }
  #sec3 .sec3-group1 {
    position: relative;
    text-align: center;
    margin: 0 auto;
    width: 89%; }
  #sec3 h2 {
    position: absolute;
    width: 100%;
    left: 0;
    top: 15vw;
    z-index: 1; }
    #sec3 h2 .ttl-en {
      position: relative;
      padding-bottom: 3vw;
      margin-bottom: 6vw; }
      #sec3 h2 .ttl-en:before {
        content: "";
        position: absolute;
        background: #fff;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        height: 1px;
        width: 6vw; }
    #sec3 h2 p:nth-child(2) {
      margin: 0 auto;
      letter-spacing: 0.25em; }
  #sec3 .sec3-group2 {
    color: #2b2b2b;
    margin: 0 auto;
    width: 89%; }
  #sec3 .sec3-txt {
    margin: 7vw 0 6vw; }
  #sec3 .btn-link {
    width: 74vw; }
  @media only screen and (min-width: 768px) {
    #sec3 {
      padding-bottom: 88px;
      margin: 0 auto;
      max-width: 1280px; }
      #sec3:before {
        height: calc(100% - 419px); }
      #sec3 .sec3-group1 {
        width: 889px; }
      #sec3 h2 {
        top: 123px; }
        #sec3 h2 .ttl-en {
          padding-bottom: 15px;
          margin-bottom: 40px; }
          #sec3 h2 .ttl-en:before {
            width: 32px; }
        #sec3 h2 p:nth-child(2) {
          letter-spacing: 0.21em; }
      #sec3 .sec3-group2 {
        width: 880px;
        position: relative; }
      #sec3 .sec3-txt {
        width: 610px;
        margin: 33px 0 0; }
      #sec3 .btn-link {
        width: 286px;
        position: absolute;
        bottom: 14px;
        right: 3px; } }

@media only screen and (min-width: 768px) {
  .sec3-deco {
    width: 686px;
    margin-top: -137px;
    margin-left: calc(50% - 811px); } }




  .news_box {
    background-color: #dfd6c5;
    width: 92%;
    margin: 20px auto 90px;
    line-height: 2em;
    padding-bottom:30px;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  }
  .news_box .ttl {
    color: #000000;
    padding: 30px 10px 6px;
    text-align: center;
    font-size: 18px;
    width: 80%;
    border-bottom: 1px solid #000000;
    margin: 0 auto;
  }
  .news_box .txt {
    color: #000000;
    padding: 20px 18px 0;
    text-align: center;
    font-size: 14px;
    line-height: 2em;
    letter-spacing: 1px;
  }
@media only screen and (min-width: 768px) {
  .news_box {
    width: 1000px;
    margin: 40px auto 120px;
    line-height: 2em;
    padding-bottom:35px;
  }
  .news_box .ttl {
    padding: 30px 50px 0;
    text-align: center;
    font-size: 23px;
    width: 660px;
    margin: 0 auto;
  }
  .news_box .txt {
    padding: 20px 50px 0;
    text-align: center;
    font-size: 17px;
    letter-spacing: 3px;
    line-height: 38px;
  }
}
