#sec1 {
    padding: 30vw 0 20vw
}

#sec1 .txt-sub {
    text-align: center;
    color: #b96324;
    font-weight: 500;
    letter-spacing: .4em;
    font-size: 7vw;
    margin: 0 auto;
    position: relative
}

#sec1 .txt-sub::before {
    content: "";
    position: absolute;
    left: 40%;
    background: #60442c;
    top: 100%;
    width: 1px;
    height: 85vw
}

#sec1 .photo {
    padding: 25vw 0 30vw
}

#sec1 h2 {
    font-size: 4.4vw;
    font-weight: 300;
    letter-spacing: .3em;
    line-height: 1.7;
    color: #c4c3c3;
    text-align: center
}

#sec1 h2 span {
    color: #b96324;
    letter-spacing: .3em
}

#sec1 .txt {
    margin-top: 5vw;
    color: #b96324
}

#sec1 .txt .txt1 {
    display: inline
}

#sec1 .txt .txt2 {
    display: inline
}

#sec2 .wrap {
    padding: 0
}

#sec2 .row {
    padding-bottom: 15vw
}

#sec2 .row .gr-txt {
    position: relative
}

#sec2 .gr-txt{
    height: 127vw;
}
#sec2 .row .gr-txt::before {
    content: "";
    position: absolute;
    left: 5%;
    background: rgba(255, 255, 255, .5);
    width: 1px;
    top: 15vw;
    bottom: -17vw;
    z-index: 1
}

#sec2 .row .gr-txt h2 {
    position: absolute;
    top: 15vw;
    left: 9%;
    z-index: 1;
    color: #fff;
    font-weight: 300;
    letter-spacing: .08em;
    display: inline-block
}

#sec2 .row .gr-txt h2 span {
    font-size: 7vw;
    font-weight: 500;
    letter-spacing: .2em;
    display: inline-block;
    transform: translateX(-7px);
    padding-bottom: 10px
}

#sec2 .row .txt {
    padding: 5vw 5% 0 10%;
    color: #fff;
    text-shadow: 1px 1px 1px #ccd0d5cf
}

#sec3 {
    padding: 15vw 0 10vw
}

#sec3 h2 {
    color: #c4c3c3;
    font-weight: 300;
    letter-spacing: .4em;
    text-align: center;
    line-height: 1.7;
    padding-bottom: 3vw;
    margin-bottom: 10vw;
    position: relative
}

#sec3 h2::before {
    content: "";
    border-top: 1px solid rgba(185, 99, 36, .5);
    position: absolute;
    left: 15%;
    right: 15%;
    bottom: 0
}

#sec3 h2 span {
    font-size: 7vw;
    letter-spacing: .4em;
    color: #b96324;
    font-weight: 500
}

#sec3 .img-gr li {
    margin-bottom: 15vw
}

#sec3 .img-gr li .photo {
    margin: 0 -5%
}

#sec3 .img-gr li .txt {
    color: #c4c3c3;
    padding-top: 4vw
}

#sec4 .box-parallax {
    height: 100vw
}

#sec5 {
    background: url(../img/index/bg_gray.jpg) repeat center 0;
    padding: 25vw 0 35vw;
    color: #b96324
}

#sec5 h2 {
    text-align: center;
    position: relative;
    font-weight: 300;
    line-height: 1.8;
    letter-spacing: .2em
}

#sec5 h2 span {
    font-size: 7vw;
    font-weight: 500;
    letter-spacing: .04em
}

#sec5 h2::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    background: #b96324;
    width: 1px;
    height: 24vw
}

#sec5 .content {
    padding-top: 10vw
}

#sec5 .content .info {
    padding-bottom: 6vw
}

#sec5 .content .info dl {
    display: flex;
    padding-bottom: 12px;
    letter-spacing: .03em;
    font-size: 11px;
    line-height: 1.7
}

#sec5 .content .info dl dt {
    width: 25%
}

#sec5 .content .info dl dd {
    flex: 1
}

#sec5 .content .box {
    border: 1px solid #b96324;
    box-sizing: border-box;
    padding: 6vw 5%
}

#sec5 .content .box dt {
    text-align: center;
    font-size: 4.5vw;
    padding-bottom: 3vw
}

#sec5 .gr-img {
    position: relative;
    margin-top: 13vw
}

#sec5 .gr-img .gr-img1 {
    width: 40%
}

#sec5 .gr-img .gr-img2 {
    width: 70%;
    position: absolute;
    top: 20vw;
    right: 0;
    z-index: 1
}

#sec6 {
    background: url(../img/index/bg_gray.jpg) repeat center 0;
    padding-bottom: 30vw
}

#sec6 h2 {
    position: relative;
    font-weight: 300;
    letter-spacing: .2em;
    color: #b96324;
    text-align: center;
    margin-bottom: 10vw;
    line-height: 1.7
}

#sec6 h2 span {
    font-weight: 500;
    font-size: 7vw;
    letter-spacing: .04em
}

#sec6 h2::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    background: #b96324;
    width: 1px;
    height: 30vw
}

#sec6 .img-gr {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 17vw
}

#sec6 .img-gr li {
    width: 49.5%;
    margin-bottom: 1%
}

#sec6 .img-gr li:first-child {
    width: 100%
}

#gmap .map {
    position: relative
}

#gmap .map iframe {
    height: 480px;
    width: 100%
}

#gmap .gr {
    padding: 7vw 5% 18vw
}

#gmap .gr li {
    width: 100%;
    margin: 0 5%
}

#gmap .gr li a {
    display: block;
    text-align: center;
    font-size: 4.5vw
}

#gmap .gr li a span {
    display: block
}

@media screen and (min-width: 768px) {
    #key li:first-child {
        background: url(../img/index/key1.jpg) no-repeat center 0/cover
    }

    #key li:nth-child(2) {
        background: url(../img/index/key2.jpg) no-repeat center 0/cover
    }

    #key li:nth-child(3) {
        background: url(../img/index/key3.jpg) no-repeat center 0/cover
    }

    #sec1 {
        padding: 190px 0 195px
    }

    #sec1 .txt-sub {
        font-size: 28px
    }

    #sec1 .txt-sub::before {
        height: 736px
    }

    #sec1 .photo {
        padding: 178px 0 210px
    }

    #sec1 h2 {
        font-size: 22px;
        line-height: 54px;
        letter-spacing: .4em
    }

    #sec1 .txt {
        text-align: center;
        margin-top: 31px
    }

    #sec1 .txt .txt1 {
        display: block;
        padding-bottom: 32px
    }

    #sec1 .txt .txt2 {
        display: block
    }
    #sec2 .row {
        position: relative;
        box-sizing: border-box;
        padding-bottom: 0;
 
      
    }
    #sec2 .gr-txt{
        height: auto;
    }
    /* #sec2 .row:first-child {
        background: url(../img/index/sec2_img1.jpg) no-repeat center right/cover
    }

    #sec2 .row:nth-child(2) {
        background: url(../img/index/sec2_img2.jpg) no-repeat center right/cover
    } */

    #sec2 .row:nth-child(2) .txt {
        padding: 182px 0 0 42px
    }

    /* #sec2 .row:last-child {
        background: url(../img/index/sec2_img3.jpg) no-repeat center right/cover
    } */
    #sec2 .box-parallax{
        height: 950px;
    }
    #sec2 .row:last-child .txt {
        padding: 192px 0 0 42px
    }

    #sec2 .row .gr {
        position: relative;
        z-index: 2;
    }

    #sec2 .row .gr::before {
        content: "";
        position: absolute;
        left: 0;
        background: rgba(255, 255, 255, .5);
        width: 1px;
        top: 133px;
        bottom: 0;
        z-index: 1
    }

    #sec2 .row .gr-txt {
        padding: 133px 0 0 9px
    }

    #sec2 .row .gr-txt::before {
        content: none
    }

    #sec2 .row .gr-txt h2 {
        position: static
    }

    #sec2 .row .gr-txt h2 span {
        font-size: 28px;
        display: inline-block;
        transform: translateX(-7px);
        padding-bottom: 11px
    }

    #sec2 .row .txt {
        padding: 111px 0 0 42px;
        width: 290px
    }

    #sec3 {
        padding: 175px 0 152px
    }

    #sec3 h2 {
        line-height: 35px;
        padding-bottom: 31px;
        margin-bottom: 43px
    }

    #sec3 h2::before {
        left: 25%;
        right: 25%
    }

    #sec3 h2 span {
        font-size: 28px
    }

    #sec3 .img-gr {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap
    }

    #sec3 .img-gr li {
        transition: all .8s ease-in-out;
        cursor: pointer;
        overflow: hidden;
        position: relative;
        width: calc(50% - 5px);
        margin-bottom: 0
    }

    #sec3 .img-gr li::before {
        content: "";
        background: rgba(0, 0, 0, .7);
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        visibility: hidden;
        z-index: 1;
        transition: all .8s ease-in-out
    }

    #sec3 .img-gr li:hover .title {
        opacity: 0;
        visibility: hidden;
        transition: all .8s ease-in-out
    }

    #sec3 .img-gr li:hover .txt {
        opacity: 1;
        visibility: visible
    }

    #sec3 .img-gr li:hover img {
        transform: scale(1.1)
    }

    #sec3 .img-gr li:hover::before {
        opacity: 1;
        visibility: visible
    }

    #sec3 .img-gr li:first-child {
        width: 100%;
        margin-bottom: 10px
    }

    #sec3 .img-gr li:first-child .txt {
        text-align: center;
        justify-content: center
    }

    #sec3 .img-gr li .photo {
        margin: 0
    }

    #sec3 .img-gr li .photo img {
        width: auto;
        height: auto;
        transition: all .8s ease-in-out
    }

    #sec3 .img-gr li .txt {
        opacity: 0;
        visibility: hidden;
        padding-top: 0;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        display: flex;
        align-items: center;
        transition: all .8s ease-in-out;
        padding: 0 48px 0 56px;
        box-sizing: border-box;
        z-index: 2;
        flex-wrap: wrap
    }

    #sec3 .img-gr li .txt .arrow {
        position: absolute;
        bottom: 62px;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        height: 7px
    }

    #sec3 .img-gr li .txt .arrow:hover::before {
        left: 55%
    }

    #sec3 .img-gr li .txt .arrow::before {
        content: "";
        background: url(../img/index/sec3_arrow.png) no-repeat center bottom;
        width: 52px;
        height: 7px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 0;
        transition: all .3s
    }

    #sec3 .img-gr li .title {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 1;
        transition: all .8s ease-in-out
    }

    #sec4 {
        padding-bottom: 152px
    }

    #sec4 .box-parallax {
        height: 600px
    }

    #sec5 {
        padding: 150px 0 154px
    }

    #sec5 h2 {
        line-height: 30px;
        position: absolute;
        top: -25px;
        left: 0
    }

    #sec5 h2 span {
        font-size: 28px;
        display: inline-block;
        transform: translateX(-7px);
        padding-bottom: 21px
    }

    #sec5 h2::before {
        content: "";
        position: absolute;
        top: auto;
        left: 40%;
        bottom: 105%;
        height: 114px
    }

    #sec5 .content {
        padding: 0;
        width: 656px
    }

    #sec5 .content .info {
        padding: 0 0 0 38px;
        position: relative
    }

    #sec5 .content .info::before {
        content: "";
        position: absolute;
        border-right: 4px double #cbb5a6;
        left: 198px;
        top: 0;
        bottom: 0
    }

    #sec5 .content .info dl {
        letter-spacing: .06em;
        padding-bottom: 24px;
        font-size: 14px;
        line-height: 24px
    }

    #sec5 .content .info dl:last-child {
        padding-bottom: 0
    }

    #sec5 .content .info dl dt {
        width: 140px;
        text-align: right
    }

    #sec5 .content .info dl dd {
        flex: 1;
        padding-left: 42px
    }

    #sec5 .content .box {
        margin-top: 48px;
        padding: 22px 10px 22px 0;
        letter-spacing: .06em;
        line-height: 26px;
        display: flex;
        align-items: center;
        width: 590px
    }

    #sec5 .content .box dt {
        font-size: 14px;
        padding: 0;
        width: 258px
    }

    #sec5 .gr-img {
        position: static;
        margin-top: 0
    }

    #sec5 .gr-img .gr-img1 {
        width: auto;
        position: absolute;
        top: 256px;
        right: 24px
    }

    #sec5 .gr-img .gr-img2 {
        width: auto;
        position: absolute;
        top: 8px;
        right: -183px;
        z-index: 1
    }

    #sec6 {
        padding-bottom: 137px
    }

    #sec6 h2 {
        position: absolute;
        margin-bottom: 0;
        line-height: 30px;
        top: 22px;
        right: 15px
    }

    #sec6 h2 span {
        font-size: 28px;
        display: inline-block;
        transform: translateX(-7px);
        padding-bottom: 21px
    }

    #sec6 h2::before {
        background: #b96324;
        width: 1px;
        height: 165px;
        bottom: 109%;
        left: 40%
    }

    #sec6 .photo {
        padding-left: 452px
    }

    #sec6 .txt {
        padding-top: 234px;
        width: 450px;
        color: #b96324;
        line-height: 28px;
        letter-spacing: .06em
    }

    #sec6 .img-gr {
        display: block;
        padding-top: 0
    }

    #sec6 .img-gr li {
        width: auto;
        margin-bottom: 0
    }

    #sec6 .img-gr li:first-child {
        width: auto;
        position: absolute;
        top: 376px;
        right: 0
    }

    #sec6 .img-gr li:nth-child(2) {
        position: absolute;
        top: 0;
        left: -57px
    }

    #sec6 .img-gr li:last-child {
        position: absolute;
        top: 273px;
        left: 82px
    }

    #gmap {
        padding-bottom: 127px
    }

    #gmap .map iframe {
        height: 550px
    }

    #gmap .gr {
        max-width: 888px;
        margin: 0 auto;
        padding: 40px 0 0 0
    }

    #gmap .gr .d-flex {
        justify-content: space-between
    }

    #gmap .gr li {
        width: 400px;
        margin: 0
    }

    #gmap .gr li a {
        font-size: 16px
    }

    #gmap .gr .print_map {
        width: 400px;
        text-align: center;
        padding-top: 16px
    }

    #gmap .gr .print_map a {
        color: #c4c3c3
    }

    #gmap .gr .print_map a:hover {
        text-decoration: underline
    }
}

#sec2 .row .txt {
    text-shadow: 1px 1px 1px #615d5d
}

#sec2 .row .txt #sec5 .content .info dl {
    font-size: 12px
}

#sec2 .row .txt #sec5 .content .box dd {
    font-size: 12px
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    #sec1 .txt-sub {
        display: inline-block;
        left: 50%;
        transform: translateX(-50%)
    }

    #sec1 .photo {
        position: relative;
        z-index: 1
    }

    #sec2 .row .gr-txt h2 span {
        transform: translateX(6px)
    }

    #sec6 h2 span,
    #sec5 h2 span {
        transform: translateX(3px)
    }
}



.text_box {
   width: 600px;
   margin: 30px auto 20px auto;
   padding: 20px 0;
   border: double 3px #B96324;
}

.text_box p.ttl {
   font-size: 20px;
   margin-bottom: 8px;
   letter-spacing: 2px;
   text-align: center;
   line-height: 40px;
   color: #fff;
   font-weight: bold;
}

.text_box p.txt {
   text-align: center;
   font-size: 15px;
   line-height: 32px;
   color: #fff;
}
.text_box .botan1 a {
   width: 250px;
   margin: 10px auto 10px auto;
   padding: 7px 0;
   display: block;
   color: #fff;
   text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
   text-align: center;
   text-decoration: none;
   font-size: 15px;
   border: 1px solid #fff;
   box-sizing: border-box;
   font-weight: bold;
}
@media (max-width: 768px) {
.text_box {
      width: 90%;
      margin: 40px auto 0;
      padding: 20px 0;
      border: double 3px #B96324;
   }

.text_box p.ttl {
      font-size: 17px;
      margin-bottom: 8px;
      letter-spacing: 2px;
      text-align: center;
      line-height: 40px;
      color: #fff;
      font-weight: bold;
   }

.text_box p.txt {
      text-align: center;
      font-size: 14px;
      line-height: 30px;
      color: #fff;
   }
	.text_box .botan1 a {
   width: 70%;
   margin: 10px auto 10px auto;
   padding: 7px 0;
   display: block;
   color: #fff;
   text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
   text-align: center;
   text-decoration: none;
   font-size: 14px;
   border: 1px solid #fff;
   box-sizing: border-box;
   font-weight: bold;
}
	 }