#header #key h2 {
    top: 14vw;
}
#lead {
    padding: 35.5vw 0 20vw;
    position: relative;
}
#lead::before {
    content: "";
    background: url(../img/fortune/lead_deco1.png) no-repeat left top/100% auto;
    position: absolute;
    top: -10vw;
    left: 0;
    bottom: 0;
    width: 38.1333333333%;
    z-index: -1;
}
#lead::after {
    content: "";
    background: url(../img/fortune/lead_deco2.png) no-repeat right bottom/100% auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 8vw;
    width: 54.6666666667%;
    z-index: -1;
}
#lead h2 {
    position: absolute;
    top: -24vw;
    right: 10%;
    z-index: 2;
}
#lead .txt {
    margin: 13vw auto 0;
    line-height: 34px;
    height: 55vw;
}
#history {
    background: #fff8f4;
    padding: 28vw 0 32vw;
}
#history .photo {
    margin: 7vw 0 6vw;
}
#timeline {
    padding: 24vw 0 33vw;
}
#timeline .js {
    margin: 5vw 0 7vw;
}
#timeline .js .timeline-box dl {
    display: flex;
    padding: 5px 0;
    border-bottom: 1px solid #d9d9d9;
    letter-spacing: 0.025em;
}
#timeline .js .timeline-box dl dt {
    width: 28%;
}
#timeline .js .timeline-box dl dd {
    flex: 1;
}
#timeline .js .timeline-box .timeline-items dl:last-child,
#timeline .js .timeline-box .more-items dl:last-child {
    border: 0;
}
#timeline .js .more-btn {
    border: 0;
    border-top: 1px solid var(--salmon);
    text-align: center;
    color: var(--salmon);
    letter-spacing: 0.025em;
    background: none;
    width: 100%;
    margin-top: 2px;
    padding-top: 5px;
}
#timeline .js .more-btn.active span::before {
    transform: translateX(-50%) rotate(180deg);
}
#timeline .js .more-btn span {
    display: inline-block;
    position: relative;
    padding-bottom: 14px;
}
#timeline .js .more-btn span::before {
    content: "";
    background: url(../img/about/timeline_arr.png) no-repeat 0 0/100% auto;
    width: 27px;
    height: 10px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
}
#timeline .gr-img {
    justify-content: space-between;
}
#timeline .gr-img li {
    width: 48%;
}
#timeline .gr-img li img {
    border-radius: 5px;
}
#timeline .gr-img li:last-child {
    margin-top: 10vw;
}
.more-items {
    display: none;
}
#gohonzon {
    background: #fff8f4;
    padding: 15vw 0 26vw;
}
#gohonzon h2 {
    line-height: 1.6;
}
#gohonzon h2 span {
    font-size: 6.4vw;
}
#gohonzon .photo {
    margin: 9vw 0 5vw;
}
#gohonzon h3 {
    color: var(--salmon);
    text-align: center;
    margin: 2vw 0 2px;
}
#gohonzon .box {
    color: var(--salmon);
    text-align: center;
    border-top: 1px solid var(--salmon);
    border-bottom: 1px solid var(--salmon);
    font-weight: 500;
    letter-spacing: 0.025em;
    font-size: 16px;
    padding: 4vw 5%;
}
#gohonzon .box p:not(:last-child) {
    margin-bottom: 8px;
}
#gohonzon .btn-link {
    margin: 7vw 8% 0;
}
#gohonzon .btn-link a {
    border-color: #d9d9d9;
}
#ebikoryo {
    padding: 21vw 0 27vw;
}
#ebikoryo h2 {
    line-height: 1.6;
}
#ebikoryo h2 span {
    font-size: 6.4vw;
}
#ebikoryo .gr-img {
    margin: 8vw 0 5vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#ebikoryo .gr-img li {
    width: 48%;
}
#ebikoryo .gr-img li img {
    border-radius: 5px;
}
#ebikoryo .gr-img li:first-child {
    width: 100%;
    margin-bottom: 4vw;
}
#kuyo {
    padding: 24vw 0 22vw;
}
#kuyo .bnr {
    margin: 6vw 0 5vw;
}
#kuyo .bnr a {
    display: block;
    position: relative;
}
#kuyo .bnr a::after {
    content: "";
    background: url(../img/shared/icon_arr6.png) no-repeat right center/100% auto;
    position: absolute;
    top: 0;
    right: 6%;
    bottom: 0;
    width: 7vw;
}
#kuyo .bnr img {
    border-radius: 5px;
}
#kuyo .bnr h3 {
    font-size: 6.4vw;
    font-weight: 500;
    letter-spacing: 0.025em;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 11%;
    transform: translateY(-50%);
    z-index: 2;
}
#message {
    padding: 29.5vw 0 14vw;
    background: #fff8f4;
}
#message h2 {
    position: absolute;
    top: 0vw;
    left: 16%;
    white-space: nowrap;
    font-size: 9.6vw;
}
#message .photo {
    width: 61%;
    margin: 0 0 7vw auto;
}
#message .gr-txt h3 {
    font-size: 6.4vw;
    font-weight: 500;
    color: var(--salmon);
    letter-spacing: 0.025em;
}
#message .gr-txt .txt {
    margin: 4vw 0 3vw;
}
#message .gr-txt .athor {
    text-align: right;
}
@media screen and (min-width: 768px) {
    #header #key h2 {
        top: 52px;
    }
    #lead {
        padding: 135px 0 97px;
    }
    #lead::before {
        top: -37px;
    }
    #lead::after {
        bottom: 53px;
    }
    #lead h2 {
        top: -92px;
        right: 37px;
    }
    #lead .txt {
        margin: 50px auto 0;
        height: 206px;
    }
    #history {
        padding: 92px 0;
    }
    #history .photo {
        margin: 34px 0 24px;
    }
    #timeline {
        padding: 99px 0 122px;
    }
    #timeline .js {
        margin: 30px 0 25px;
    }
    #timeline .js .timeline-box dl {
        padding: 4px 0;
    }
    #timeline .js .timeline-box dl dt {
        width: 95px;
    }
    #timeline .js .more-btn {
        margin-top: 7px;
        padding-top: 4px;
        cursor: pointer;
    }
    #timeline .js .more-btn:hover {
        opacity: 0.8;
    }
    #timeline .gr-img li:last-child {
        margin-top: 40px;
    }
    #gohonzon {
        padding: 60px 0 100px;
    }
    #gohonzon h2 {
        line-height: 46px;
    }
    #gohonzon h2 span {
        font-size: 24px;
    }
    #gohonzon .photo {
        margin: 37px 0 17px;
    }
    #gohonzon h3 {
        margin: 9px 0 1px;
    }
    #gohonzon .box {
        font-size: 16px;
        padding: 13px 20px 16px;
    }
    #gohonzon .box p:not(:last-child) {
        margin-bottom: 10px;
    }
    #gohonzon .btn-link {
        margin: 24px auto 0;
    }
    #ebikoryo {
        padding: 78px 0 104px;
    }
    #ebikoryo h2 {
        line-height: 50px;
    }
    #ebikoryo h2 span {
        font-size: 24px;
    }
    #ebikoryo .gr-img {
        margin: 28px 0 18px;
    }
    #ebikoryo .gr-img li:first-child {
        margin-bottom: 17px;
    }
    #kuyo {
        padding: 97px 0 93px;
    }
    #kuyo .bnr {
        margin: 30px 0 20px;
    }
    #kuyo .bnr a:hover::after {
        right: 14px;
    }
    #kuyo .bnr a::after {
        right: 19px;
        width: 26px;
        transition: 0.1s ease;
    }
    #kuyo .bnr h3 {
        font-size: 24px;
        left: 36px;
    }
    #message {
        padding: 100px 0 56px;
    }
    #message h2 {
        top: 0;
        left: 20px;
        font-size: 36px;
    }
    #message .photo {
        width: 206px;
        margin: 0 0 28px auto;
    }
    #message .gr-txt h3 {
        font-size: 24px;
    }
    #message .gr-txt .txt {
        margin: 11px 0 10px;
    }
}
