

/* Main Container */
#main {
    position: relative;
    padding-top: 127px;
}

/* Title Section */
.main-title svg {
    overflow: visible;
}

.main-title #main-title-l1 {
    -webkit-clip-path: url(#main-title-mask);
    clip-path: url(#main-title-mask);
}

/* Caption */
.main-caption {
    position: relative;
    width: 181px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    letter-spacing: .03em;
    line-height: 1.6;
    font-size: 12px;
}

.main-caption-line {
    position: absolute;
    left: 0;
    top: 2px;
    width: 100%;
}

/* Gallery Section */
.main-gallery {
    position: relative;
    height: 538px;
}

.main-gallery-container {
    position: absolute;
    left: calc(50% - 155px);
    top: 56px;
    white-space: nowrap;
    font-size: 0;
}

.main-gallery .item {
    position: absolute;
    left: 0;
    top: 0;
    width: 310px;
    -webkit-transform-origin: center bottom;
    -ms-transform-origin: center bottom;
    transform-origin: center bottom;
    transition: opacity .8s cubic-bezier(.19, 1, .22, 1);
}

.main-gallery .item img {
    width: 100%;
}

/* Gallery States */
.-appear .main-gallery .item {
    transition: none;
}

.main-gallery .item.-hide {
    opacity: 0;
}

/* Desktop Styles */
@media (min-width: 768px) {
    .main-title {
        max-width: 977px;
        width: 101.77083%;
        margin-left: -0.88542%;
    }
}





/* Message Container */
#message {
    position: relative;
    width: 100%;
    padding-top: 80px;
    padding-bottom: 210px;
    margin-left: auto;
    margin-right: auto;
}

/* Message Header */
.message-head {
    margin-bottom: 52px;
    letter-spacing: .04em;
    line-height: .98688;
    font-size: 16px;
}

/* Message Title */
.message-title {
    margin-bottom: 70px;
    margin-left: -8px;
    letter-spacing: -0.02em;
    line-height: .88;
    font-size: 136px;
}

/* Message Content */
.message-body {
    float: right;
    width: 480px;
    line-height: 1.96429;
}

/* Signature Area */
.message-sign {
    margin-top: 76px;
}

.message-sign img {
    width: 304px;
}

.message-sign-note {
    margin-top: 2px;
    letter-spacing: .04em;
    font-size: 16px;
}

/* Background Element */
.message-bg {
    position: absolute;
    left: 50%;
    top: -400px;
    width: 1944px;
    height: calc(100% + 348px);
    background-color: #EBE6DD;
    border-radius: 100%;
    z-index: -1;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}



