#header .btn-link {
    margin-top: 10vw
}

#header .btn-link a {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 3vw;
    text-align: center;
    background: #c68738;
    color: #fff;
    border-radius: 50%;
    width: 50vw;
    height: 50vw;
    margin: 0 auto;
    font-size: 5vw;
    font-weight: 600;
    line-height: 1.5263157895;
    letter-spacing: .07em
}

#header .btn-link a::before {
    content: "";
    background: url("../img/shared/icon_bakery.png") no-repeat center/100%;
    width: 9vw;
    height: 6.33vw
}

#header .btn-link a:after {
    content: "";
    background: #fff;
    width: 2.5vw;
    height: 2.5vw;
    -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
    clip-path: polygon(50% 100%, 0 0, 100% 0)
}

@media screen and (min-width: 768px) {
    #header {
        padding-bottom: 85px
    }

    #header .btn-link {
        margin-top: 52px
    }

    #header .btn-link a {
        gap: 10px;
        width: 160px;
        height: 160px;
        font-size: 19px
    }

    #header .btn-link a::before {
        width: 35px;
        height: 23px
    }

    #header .btn-link a:after {
        width: 7px;
        height: 7px
    }

    #header .btn-link a:hover {
        opacity: .8
    }
}

.list li {
    position: relative;
    text-align: left;
    border-bottom: 1px solid #c5beaf;
    padding: 10px 0 10px 30px;
    letter-spacing: .1em
}

.list li::before {
    content: "";
    position: absolute;
    background: url("../img/shared/icon_check.png") no-repeat center/100%;
    width: 20px;
    height: 18px;
    top: 14px;
    left: 5px
}

@media screen and (min-width: 768px) {
    .list {
        max-width: 900px;
        margin-left: auto;
        margin-right: auto
    }

    .list li {
        padding: 17px 0 12px 37px;
        font-size: 17px;
        line-height: 30px
    }

    .list li::before {
        width: 22px;
        height: 20px;
        top: 22px;
        left: 9px
    }
}

#sec1 {
    position: relative;
    z-index: 1;
    padding-bottom: 15vw
}

#sec1 .set1 .deco-line {
    position: absolute;
    top: 0;
    left: -20%;
    right: -20%;
    z-index: -1
}

#sec1 .set1 .deco {
    position: absolute;
    top: 5vw;
    right: 10%;
    width: 25%
}

#sec1 .set1 h2 {
    width: 80%;
    padding-top: 25vw;
    margin: 0 auto
}

#sec1 .set1 .sec1-js {
    position: relative;
    margin: 5vw -15%
}

#sec1 .set1 .sec1-js .photo-off {
    transition: .3s linear
}

#sec1 .set1 .sec1-js .photo-on {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0;
    transition: .3s linear
}

#sec1 .set1 .sec1-js.show .photo-off {
    opacity: 0
}

#sec1 .set1 .sec1-js.show .photo-on {
    opacity: 1
}

#sec1 .set1 .txt li:nth-child(2) {
    text-decoration: underline;
    color: #a36e35;
    font-size: 16px;
    font-weight: bold
}

#sec1 .set1 .txt li+li {
    margin-top: 3vw
}

#sec1 .set {
    padding-top: 10vw
}

#sec1 .set h3 {
    width: 50%;
    margin: 0 auto 10vw
}

#sec1 .set .photo {
    position: relative;
    border: 8px solid #fff;
    border-right: none;
    box-shadow: -5px 5px 10px rgba(0, 0, 0, .16), 5px -5px 10px rgba(0, 0, 0, .16);
    margin-right: -6%
}

#sec1 .set .photo .deco {
    position: absolute;
    top: -6vw;
    left: -6vw;
    width: 20%;
    z-index: 1
}

#sec1 .set .group {
    margin-top: 7vw
}

#sec1 .set .group h4 {
    border-bottom: 1px solid #aca28f
}

#sec1 .set .group .txt {
    margin: 5vw 0
}

#sec1 .set3 .photo {
    border-right: 8px solid #fff;
    border-left: none;
    margin: 0 0 0 -6%
}

#sec1 .set3 .photo .deco {
    top: auto;
    bottom: -6vw;
    left: auto;
    right: -6vw
}

@media screen and (min-width: 768px) {
    #sec1 {
        padding-bottom: 157px
    }

    #sec1 .set1 .deco-line {
        text-align: center;
        left: 0;
        right: 0
    }

    #sec1 .set1 .deco {
        top: -10px;
        left: calc(50% + 110px);
        right: auto;
        width: auto
    }

    #sec1 .set1 h2 {
        width: -moz-fit-content;
        width: fit-content;
        padding-top: 138px
    }

    #sec1 .set1 .sec1-js {
        text-align: center;
        margin: 0
    }

    #sec1 .set1 .txt {
        text-align: center
    }

    #sec1 .set1 .txt li:nth-child(2) {
        text-underline-offset: 3px;
        font-size: 19px
    }

    #sec1 .set1 .txt li+li {
        margin-top: 38px
    }

    #sec1 .set1 .txt li:last-child {
        margin-top: 24px
    }

    #sec1 .set {
        padding-top: 152px
    }

    #sec1 .set h3 {
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 auto 82px
    }

    #sec1 .set .wrap {
        display: flex;
        justify-content: space-between;
        max-width: 1200px
    }

    #sec1 .set .photo {
        order: 2;
        flex: 1;
        border-width: 16px;
        margin-right: calc(-50vw + 50%);
        height: 459px
    }

    #sec1 .set .photo .deco {
        top: -42px;
        left: -42px;
        width: auto
    }

    #sec1 .set .group {
        order: 1;
        width: 512px;
        margin: 19px 60px 0 42px
    }

    #sec1 .set .group .txt {
        margin: 36px 0 37px
    }

    #sec1 .set .group .btn-shared {
        margin: 0 10px
    }

    #sec1 .set3 {
        padding-top: 141px
    }

    #sec1 .set3 .photo {
        order: 1;
        margin: 0 0 0 calc(-50vw + 50%)
    }

    #sec1 .set3 .photo .deco {
        top: auto;
        left: auto;
        bottom: -42px;
        right: -42px
    }

    #sec1 .set3 .group {
        order: 2;
        margin: 19px 42px 0 60px
    }
}

#sec2::before {
    bottom: 0
}

#sec2 .set1 h2 {
    width: 65%;
    padding-top: 20vw;
    margin: 0 auto 10vw
}

#sec2 .set1 .deco {
    position: absolute;
    top: -10vw;
    right: 4%;
    width: 30%
}

#sec2 .set1 .item {
    position: relative;
    display: flex;
    padding: 10vw 0
}

#sec2 .set1 .item:not(:last-child)::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 8%;
    background: #9c978f;
    width: 1px
}

#sec2 .set1 .item:not(:last-child)::after {
    content: "";
    position: absolute;
    border-bottom: 1px dashed #bfbcb5;
    height: 1px;
    bottom: 0;
    left: 8%;
    right: calc(-50vw + 50%)
}

#sec2 .set1 .item .step {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: url("../img/shared/bg2.jpg") repeat center;
    color: #4c4033;
    border-radius: 50%;
    width: 15vw;
    height: 15vw;
    text-align: center
}

#sec2 .set1 .item .step span {
    display: block;
    line-height: 1
}

#sec2 .set1 .item .step span.txt {
    font-size: 2.73vw;
    letter-spacing: .09em
}

#sec2 .set1 .item .step span.num {
    font-size: 4.87vw;
    font-weight: 600;
    letter-spacing: 0
}

#sec2 .set1 .item .row {
    flex: 1;
    margin: 4vw 0 0 5%
}

#sec2 .set1 .item .row .group-txt h3 {
    color: #4c4033;
    font-size: 4.67vw;
    line-height: 1.5;
    letter-spacing: .09em
}

#sec2 .set1 .item .row .group-txt h3 small {
    font-size: 4vw;
    letter-spacing: .09em
}

#sec2 .set1 .item .row .group-txt .txt {
    margin-top: 5vw
}

#sec2 .set1 .item .row .group-txt .btn-tel {
    margin-top: 5vw;
    font-size: 28px;
    line-height: 1;
    letter-spacing: .09em
}

#sec2 .set1 .item .row .group-txt .btn-tel img {
    width: 25px;
    margin: -8px 8px 0 0
}

#sec2 .set1 .item .row .group-txt .btn-web {
    margin-top: 6vw
}

#sec2 .set1 .item .row .photo {
    margin-top: 7vw
}

#sec2 .set1 .item:first-child {
    padding-top: 0
}

#sec2 .set1 .item:nth-child(3)::before {
    bottom: -10vw
}

#sec2 .set1 .item:last-child {
    padding-bottom: 0
}

#sec2 .set1 .item:last-child .step {
    background: #4c4033;
    color: #fff
}

#sec2 .set2 {
    margin-top: 15vw;
    padding-bottom: 15vw
}

#sec2 .set2 .box {
    background: url("../img/shared/bg1.jpg") repeat center;
    padding: 12vw 5%;
    border-radius: 38px
}

#sec2 .set2 .box h3 {
    width: 80%;
    margin: 0 auto
}

#sec2 .set2 .box .list {
    margin-top: 6vw
}

#sec2 .set3 {
    position: relative;
    background: #fff;
    padding: 15vw 0
}

#sec2 .set3 .deco1 {
    position: absolute;
    top: -12vw;
    left: 4%;
    z-index: 1;
    width: 30%
}

#sec2 .set3 .deco2 {
    position: absolute;
    bottom: -12vw;
    right: 4%;
    z-index: 2;
    width: 20%
}

#sec2 .set3 h3 {
    width: 80%;
    margin: 0 auto
}

#sec2 .set3 .btn-tel {
    text-align: center;
    margin-top: 5vw;
    color: #4c4033;
    font-size: 28px;
    line-height: 1;
    letter-spacing: .09em
}

#sec2 .set3 .btn-tel img {
    width: 25px;
    margin: -8px 8px 0 0
}

#sec2 .set3 .btn-web {
    margin: 6vw 10% 0
}

@media screen and (max-width: 767px) {
    #sec2 .btn-web a {
        font-size: 14px
    }
}

@media screen and (min-width: 768px) {
    #sec2 {
        background-image: url("../img/shared/bg_top.jpg"), url("../img/shared/bg2.png")
    }

    #sec2 .set1 .wrap {
        max-width: 1382px;
        padding: 0 30px
    }

    #sec2 .set1 h2 {
        width: -moz-fit-content;
        width: fit-content;
        padding-top: 133px;
        margin: 0 auto 0
    }

    #sec2 .set1 .deco {
        top: -69px;
        right: 30px;
        width: auto
    }

    #sec2 .set1 .inner {
        max-width: 1000px;
        margin: 47px auto 0;
        padding: 0 30px 0 41px
    }

    #sec2 .set1 .item {
        padding: 41.5px 0
    }

    #sec2 .set1 .item:not(:last-child)::before {
        left: 34px
    }

    #sec2 .set1 .item:not(:last-child)::after {
        left: 34px
    }

    #sec2 .set1 .item .step {
        width: 70px;
        height: 70px
    }

    #sec2 .set1 .item .step span.txt {
        font-size: 12px
    }

    #sec2 .set1 .item .step span.num {
        font-size: 28px
    }

    #sec2 .set1 .item .row {
        display: flex;
        justify-content: space-between;
        margin: 12px 0 0 16px
    }

    #sec2 .set1 .item .row .group-txt {
        width: 497px
    }

    #sec2 .set1 .item .row .group-txt h3 {
        font-size: 25px
    }

    #sec2 .set1 .item .row .group-txt h3 small {
        font-size: 20px
    }

    #sec2 .set1 .item .row .group-txt .txt {
        margin-top: 19px
    }

    #sec2 .set1 .item .row .group-txt .btn-tel {
        margin-top: 22px;
        font-size: 31.5px
    }

    #sec2 .set1 .item .row .group-txt .btn-tel img {
        width: 26.5px
    }

    #sec2 .set1 .item .row .group-txt .btn-web {
        margin-top: 25px
    }

    #sec2 .set1 .item .row .photo {
        margin-top: -15px
    }

    #sec2 .set1 .item:first-child .row .photo {
        margin-top: 41px
    }

    #sec2 .set1 .item:nth-child(3)::before {
        bottom: -41.5px
    }

    #sec2 .set2 {
        margin-top: 86px;
        padding: 0 30px 122px
    }

    #sec2 .set2 .wrap {
        max-width: 1070px
    }

    #sec2 .set2 .box {
        padding: 97px 30px 90px
    }

    #sec2 .set2 .box h3 {
        width: -moz-fit-content;
        width: fit-content
    }

    #sec2 .set2 .box .list {
        margin-top: 29px
    }

    #sec2 .set3 {
        padding: 63px 0
    }

    #sec2 .set3 .deco1 {
        top: -89px;
        left: calc(50% - 342px);
        width: auto
    }

    #sec2 .set3 .deco2 {
        bottom: -49px;
        right: calc(50% - 326px);
        width: auto
    }

    #sec2 .set3 h3 {
        width: -moz-fit-content;
        width: fit-content
    }

    #sec2 .set3 .btn-tel {
        margin-top: 28px;
        font-size: 41.26px
    }

    #sec2 .set3 .btn-tel img {
        width: 35px;
        margin: -10px 10px 0 0
    }

    #sec2 .set3 .btn-web {
        width: 394px;
        margin: 24px auto 0
    }

    #sec2 .set3 .btn-web a {
        padding-bottom: 3px;
        font-size: 19px;
        line-height: 56px
    }
}

#sec3 .set1 .box-parallax {
    height: 100vw
}

#sec3 .set1 h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    width: 30%
}

#sec3 .set2 {
    position: relative;
    padding: 20vw 0
}

#sec3 .set2 .deco {
    position: absolute;
    top: 3vw;
    left: 30%;
    width: 20%
}

#sec3 .set2 .deco2 {
    position: absolute;
    bottom: -10vw;
    right: 5%;
    width: 30%
}

#sec3 .set2 .deco-line {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: -1;
    transform: translateX(-50%)
}

#sec3 .set2 .deco-line img {
    width: auto;
    height: 100%
}

#sec3 .set2 h3 {
    position: relative
}

#sec3 .set2 h3::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #aba18e;
    height: 1px
}

#sec3 .set2 .row1 .group {
    margin-top: 7vw
}

#sec3 .set2 .row1 .group h4 {
    text-align: center;
    margin: 7vw 0 4vw;
    color: #4c4033;
    font-size: 5vw;
    line-height: 1.5;
    letter-spacing: .09em
}

#sec3 .set2 .row2 {
    position: relative;
    margin-top: 10vw
}

#sec3 .set2 .row2 h3 {
    position: absolute;
    top: 79vw;
    left: 0;
    right: 0;
    text-align: center
}

#sec3 .set2 .row2 .sec3-main .item .group-txt {
    margin-top: 30vw
}

#sec3 .set2 .row2 .sec3-main .item .group-txt h4 {
    color: #4c4033;
    margin-bottom: 5vw;
    font-size: 4.67vw;
    line-height: 1.5;
    letter-spacing: .09em
}

#sec3 .set2 .row2 .sec3-thumb {
    position: absolute;
    top: 55vw;
    left: 0;
    right: 0;
    z-index: 1
}

@media screen and (min-width: 768px) {
    #sec3 .set1 .box-parallax {
        height: 648px
    }

    #sec3 .set1 h2 {
        width: auto
    }

    #sec3 .set2 {
        padding: 120px 0 206px
    }

    #sec3 .set2 .wrap {
        max-width: 1100px
    }

    #sec3 .set2 .deco {
        top: -25px;
        left: calc(50% - 298px);
        width: auto;
        z-index: 5;
    }

    #sec3 .set2 .deco2 {
        bottom: -28px;
        left: calc(50% + 280px);
        right: auto;
        width: auto
    }

    #sec3 .set2 .row1 {
        display: flex;
        justify-content: space-between;
        margin-top: 22px;
    }

    #sec3 .set2 .row1 .photo {
        order: 2;
        flex: 1;
        max-width: 588px
    }

    #sec3 .set2 .row1 .group {
        order: 1;
        width: 408px;
        margin: 13px 51px 0;
    }

    #sec3 .set2 .row1 .group h3::before {
        right: -80px
    }

    #sec3 .set2 .row1 .group h4 {
        margin: 32px 0 20px;
        font-size: 25px
    }

    #sec3 .set2 .row2 {
        margin-top: 62px
    }

    #sec3 .set2 .row2 h3 {
        width: 408px;
        top: 67px;
        right: 44px;
        left: auto
    }

    #sec3 .set2 .row2 .sec3-main .slick-list {
        overflow: visible
    }

    #sec3 .set2 .row2 .sec3-main .item .photo {
        position: absolute;
        top: 0;
        left: 7px;
        width: 591px
    }

    #sec3 .set2 .row2 .sec3-main .item .group-txt {
        width: 408px;
        padding-top: 162px;
        margin: 0 39px 0 auto
    }

    #sec3 .set2 .row2 .sec3-main .item .group-txt h4 {
        margin-bottom: 20px;
        font-size: 25px
    }

    #sec3 .set2 .row2 .sec3-thumb {
        top: 384px;
        left: 0;
        right: auto;
        width: 636px
    }
}

#sec4 {
    background: url("../img/oem/sec4_deco_line.png") no-repeat right bottom/150%;
    padding-bottom: 15vw
}

#sec4 .box {
    position: relative;
    padding: 15vw 0 15vw 5%
}

#sec4 .box::before {
    content: "";
    position: absolute;
    inset: 0 calc(-50vw + 50%) 0 0;
    border-radius: 30px 0 0 30px;
    z-index: -1;
    background: rgba(255, 255, 255, .6)
}

#sec4 h2 {
    width: 80%;
    margin: 0 auto
}

#sec4 .inner {
    margin-top: 5vw
}

#sec4 .inner dl {
    border-bottom: 1px solid #c1beb7;
    padding: 20px 0
}

#sec4 .inner dl span {
    display: block
}

#sec4 .inner dl span:nth-child(1) {
    color: #c68738;
    letter-spacing: .26em
}

#sec4 .inner dl span:nth-child(2) {
    flex: 1
}

#sec4 .inner dl dt {
    display: flex;
    gap: 10px
}

#sec4 .inner dl dt span:nth-child(1) {
    font-size: 22px
}

#sec4 .inner dl dt span:nth-child(2) {
    margin-top: 3px;
    font-size: 17px;
    font-weight: bold;
    letter-spacing: .1em
}

#sec4 .inner dl dd {
    display: flex;
    gap: 10px;
    margin: 10px 0 0 25px
}

#sec4 .inner dl dd span:nth-child(1) {
    font-size: 18px
}

#sec4 .banner-btn1 {
    margin-top: 10vw
}

#sec4 .banner-btn1 a {
    position: relative;
    display: block;
    border: 8px solid #fff
}

#sec4 .banner-btn1 a .deco1 {
    position: absolute;
    top: -4vw;
    left: -5vw;
    z-index: 1;
    width: 18%
}

#sec4 .banner-btn1 a .deco2 {
    position: absolute;
    bottom: -3vw;
    left: 4%;
    width: 13%;
    z-index: 1
}

#sec4 .banner-btn1 a .deco3 {
    position: absolute;
    bottom: -4vw;
    right: -5vw;
    z-index: 1;
    width: 18%
}

#sec4 .banner-btn1 a .photo {
    height: 40vw
}

#sec4 .banner-btn1 a .photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

#sec4 .banner-btn1 a h3 {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 1;
    transform: translateY(-50%);
    width: 90%;
    margin: 0 auto;
    padding-bottom: 8vw
}

#sec4 .banner-btn1 a h3::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background: #fff;
    width: 2vw;
    height: 2vw
}

#sec4 .banner-btn2 {
    position: relative;
    margin: 15vw 5% 0
}

#sec4 .banner-btn2 .deco4 {
    position: absolute;
    top: -15vw;
    left: -12%;
    width: 25%
}

#sec4 .banner-btn2 a {
    position: relative;
    display: block
}

#sec4 .banner-btn2 a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 10%;
    z-index: 1;
    transform: translateY(-50%);
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background: #fff;
    width: 2vw;
    height: 2vw
}

#sec4 .banner-btn2 a .photo {
    border-radius: 65px;
    height: 20vw
}

#sec4 .banner-btn2 a .photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 65px
}

#sec4 .banner-btn2 a h3 {
    position: absolute;
    top: 38%;
    left: 50%;
    z-index: 1;
    transform: translateX(-50%);
    color: #fff;
    font-size: 4.67vw;
    line-height: 1;
    letter-spacing: .11em
}

@media screen and (min-width: 768px) {
    #sec4 {
        background-size: auto;
        padding-bottom: 145px
    }

    #sec4 .wrap {
        max-width: 1260px;
        padding: 0 30px
    }

    #sec4 .box {
        padding: 126px 0 110px
    }

    #sec4 .box::before {
        border-radius: 35px
    }

    #sec4 h2 {
        width: -moz-fit-content;
        width: fit-content
    }

    #sec4 .inner {
        max-width: 990px;
        margin: 13px auto 0
    }

    #sec4 .inner dl {
        padding: 27px 0
    }

    #sec4 .inner dl dt {
        gap: 0px
    }

    #sec4 .inner dl dt span:nth-child(1) {
        font-size: 28.6px
    }

    #sec4 .inner dl dt span:nth-child(2) {
        margin: 5px 0 0 3px;
        font-size: 19px
    }

    #sec4 .inner dl dd {
        gap: 0;
        margin: 9px 0 0 37px
    }

    #sec4 .inner dl dd span:nth-child(1) {
        font-size: 23px
    }

    #sec4 .inner dl dd span:nth-child(2) {
        margin: 3px 0 0 5px
    }

    #sec4 .banner-btn1 {
        max-width: 1018px;
        margin: 102px auto 0;
        box-shadow: -5px 5px 10px rgba(0, 0, 0, .16), 5px -5px 10px rgba(0, 0, 0, .16)
    }

    #sec4 .banner-btn1 img {
        opacity: 1
    }

    #sec4 .banner-btn1 a {
        border-width: 13px
    }

    #sec4 .banner-btn1 a .deco1 {
        top: -25px;
        left: -34px;
        width: auto
    }

    #sec4 .banner-btn1 a .deco2 {
        bottom: -26px;
        left: 41px;
        width: auto
    }

    #sec4 .banner-btn1 a .deco3 {
        bottom: -25px;
        right: -34px;
        width: auto
    }

    #sec4 .banner-btn1 a .photo {
        overflow: hidden;
        height: 328px
    }

    #sec4 .banner-btn1 a .photo img {
        transition: .5s all ease-in-out
    }

    #sec4 .banner-btn1 a h3 {
        width: -moz-fit-content;
        width: fit-content;
        padding: 18px 0 44px
    }

    #sec4 .banner-btn1 a h3::before {
        width: 16px;
        height: 14px;
        transition: .5s all ease-in-out
    }

    #sec4 .banner-btn1 a:hover .photo img {
        transform: scale(1.05)
    }

    #sec4 .banner-btn1 a:hover h3::before {
        left: calc(50% + 10px)
    }

    #sec4 .banner-btn2 {
        margin: 92px 0 0
    }

    #sec4 .banner-btn2 img {
        opacity: 1
    }

    #sec4 .banner-btn2 .deco4 {
        top: -92px;
        left: 31px;
        width: auto
    }

    #sec4 .banner-btn2 a {
        width: 574px;
        margin: 0 auto
    }

    #sec4 .banner-btn2 a::before {
        right: 60px;
        width: 11.5px;
        height: 10.5px;
        transition: .5s all ease-in-out
    }

    #sec4 .banner-btn2 a .photo {
        overflow: hidden;
        height: 130px
    }

    #sec4 .banner-btn2 a .photo img {
        transition: .5s all ease-in-out
    }

    #sec4 .banner-btn2 a h3 {
        top: calc(50% - 13px);
        font-size: 25px
    }

    #sec4 .banner-btn2 a:hover::before {
        transform: translate(10px, -50%)
    }

    #sec4 .banner-btn2 a:hover .photo img {
        transform: scale(1.05)
    }
}

.remodal {
    background: url("../img/shared/bg1.jpg") repeat center;
    padding-bottom: 50px;
}

.remodal h2 {
    width: 50%;
    margin: 0 auto
}

.remodal .table {
    margin: 50px 5.33% 0
}

.remodal .table dl {
    text-align: left;
    display: flex;
    justify-content: space-between
}

.remodal .table dl dt {
    background: url("../img/shared/bg4.jpg") repeat center;
    color: #fff;
    width: calc(40% - 2px);
    padding: 10px;
    font-size: 16px;
    letter-spacing: .1em
}

.remodal .table dl dd {
    background: url("../img/shared/bg5.png") repeat center;
    width: calc(60% - 2px);
    padding: 10px
}

.remodal .table dl dd p {
    display: flex
}

.remodal .table dl+dl {
    margin-top: 4px
}

.remodal .list {
    padding: 20px 4% 0;
}

@media screen and (min-width: 768px) {
    .remodal {
        max-width: 1090px;
        padding-bottom: 100px
    }

    .remodal h2 {
        width: -moz-fit-content;
        width: fit-content;
        margin-top: 9px
    }

    .remodal .table {
        max-width: 906px;
        margin: 70px auto 0
    }

    .remodal .table dl {
        text-align: left;
        display: flex;
        justify-content: space-between
    }

    .remodal .table dl dt {
        width: 240px;
        padding: 18px 24px;
        font-size: 19px
    }

    .remodal .table dl dd {
        width: calc(100% - 244px);
        padding: 18px 24px
    }

    .remodal .list {
        padding: 40px 0 0;
    }
}

.overflow-hidden {
    overflow: hidden;
}