@media (max-width: 1480px) {
    
    html {
        font-size: 16px;
    }
    
    /* Components Styles */
    
    .cta-button {
        padding: 0 28px;
        font-size: 1rem;
        border-radius: 10rem;
    }
    
    .cta-button span {
        font-size: 24px;
    }
    
    .subhead {
        left: -8.1vw;
        margin-bottom: 6.7vw;
    }
    
    .subhead.right {
        left: auto;
        right: -8.1vw;
    }
    
    .subhead span {
        font-size: 3.3vw;
        padding: 2.7vw 5.4vw 2.7vw 10.8vw;
    }
    
    .subhead.right span {
        padding: 2.7vw 10.8vw 2.7vw 5.4vw;
    }
    
    .subhead::after {
        top: 8px;
        left: 8px;
        border-radius: 10rem;
        border: 4px solid rgba(113, 76, 161, 0.8);
    }
    
    .subhead.right::after {
        right: 8px;
    }
    
    .subhead2 {
        text-align: center;
        padding: 1rem;
        margin-bottom: 20px;
        position: relative;
    }
    
    .subhead2 span {
        font-size: 2vw;
    }
    
    .subhead2::before {
        width: calc( 100% - 8px );
        height: calc( 100% - 8px );
    }
    
    .subhead2::after {
        border: 3px solid rgba(113, 76, 161, 0.6);
        width: calc( 100% - 6px );
        height: calc( 100% - 6px );
    }
    
    
    /* Header Styles */
    
    header > div {
        padding: 10px 25px 10px 40px;
        flex: 1;
    }
    
    header .logo {
        flex: 1;
        padding-top: .5rem;
    }
    
    header .logo img {
        height: 40px;
        width: auto;
    }
    
    header .instagram-icon {
        height: 42px;
        width: auto;
        display: block;
    }
    
    header .cta-button {
        padding: 0 28px;
        border-radius: 0;
    }
    
    header .cta-button span {
        font-size: 26px;
    }
    
    /* Main Visual */
    
    .mainvisual .badges {
        top: 11px;
        left: 25px;
    }
    
    .mainvisual .badges .badge-tokyo {
        width: 24.3vw;
        height: 7.9vw;
        margin-right: 30px;
    }
    
    .mainvisual .badges .badge-patent {
        width: 33.1vw;
        height: 10.5vw;
        margin-right: 10px;
    }
    
    .mainvisual .badges .badge-doctor {
        width: 10.2vw;
        height: 9.6vw;
    }
    
    .mainvisual .product-image {
        width: 35.9vw;
        height: 39.9vw;
        right: 0;
        bottom: -12.5vw;
    }
    
    .mainvisual .cta-button {
        position: absolute;
        width: 360px;
        height: 60px;
        left: 50%;
        transform: translateX(-50%);
        bottom: 20px;
    }
    
    .mainvisual .cta-button span {
        font-size: 22px;
    }
    
    /* Section Styles */

    .bg1 {
        padding-top: 14.8vw;
    }
    
    .bg2 {
        padding-top: 10.1vw;
    }
    
    section {
        padding-top: 16.8vw;
    }
    
    /* Section 1 */
    
    .section1 {
        margin-bottom: 10.1vw;
    }
    
    .section1 ul {
        gap: 6vw 7.2vw;
        padding: 0 8.7vw;
    }
    
    .section1 ul li {
        width: calc( calc( 100% - 7.2vw ) / 2 );
    }
    
    .section1 ul li h4 {
        height: 7.2vw;
        left: -4.3vw;
    }

    .section1 ul li .photo img {
        border-top-right-radius: 4vw;
    }

    /* Section 2 */
    
    .section2 {
        padding-top: 7.4vw;
        padding-bottom: 10.1vw;
    }
    
    .section2 ul {
        width: 86.4vw;
        height: 48.6vw;
        margin: 0 auto 4vw;
        padding: 2.7vw .8vw;
        border-radius: 2.3vw;
    }
    
    .section2 ul li {
        height: 12.5vw;
        margin-bottom: -2.4vw;
    }
    
    .section2 ul li:nth-of-type(even) {
        margin-left: 10.8vw;
    }
    
    .section2 .badges {
        gap: 2.7vw 3.7vw;
        padding: 0 8vw;
        margin-bottom: 6vw;
    }
    
    .section2 .badges .badge-patent {
        width: 63.9vw;
        height: 20.3vw;
    }
    
    .section2 .badges .badge-doctor {
        width: 20.2vw;
        height: 19vw;
    }
    
    .section2 .badges .badge-tokyo {
        width: 45.9vw;
        height: 14.8vw;
    }
    
    .section2 .misc {
        gap: 4.3vw;
        width: 72.9vw;
    }
    
    .section2 .misc > div {
        gap: 1.2vw;
        width: calc( calc( 100% - 4.3vw ) / 2 );
    }
    
    .section2 .misc > div h5 {
        font-size: 1.6vw;
        padding: .5rem 2rem;
        border-radius: 10rem;
    }
    
    /* Section 3 */

    .section3 {
        padding: 0 0 3.3vw;
    }

    .section3 h3 {
        height: 15.1vw;
        margin-bottom: 3rem;
    }

    .section3 h3 span {
        font-size: 3.8vw;
        padding-bottom: 4rem;
    }

    .section3 > div {
        gap: 2vw;
        width: 72.9vw;
    }
    
    .section3 > div .s3-lead {
        font-size: 16px;
    }
    
    .section3 > div .s3-list {
        border-radius: 2vw;
    }
    
    .section3 > div .s3-list h4 {
        font-size: 2.7vw;
        padding: 1rem;
        border-top-left-radius: 2vw;
        border-top-right-radius: 2vw;
    }
    
    .section3 > div .s3-list ul {
        padding: 2rem 4rem;
        gap: 1rem;
    }
    
    .section3 > div .s3-list ul li {
        width: calc( 50% - 1rem );
        font-size: 18px;
        gap: .5rem;
    }
    
    .section3 > div .s3-list ul li::before {
        width: 2.3vw;
        height: 2.3vw;
    }
    
    .section3 > div .s3-caption {
        font-size: 14px;
    }
    
    /* Section 4 */
    
    .section4 ul {
        gap: 4.7vw;
        width: 72.9vw;
        margin: 0 auto 9.4vw;
    }
    
    .section4 ul li {
        width: calc( calc( 100% - 9.4vw ) / 3 );
    }
    
    .section4 ul li picture img {
        border-top-left-radius: 2vw;
    }
    
    .section4 ul li p {
        padding: 1rem;
        border-bottom-right-radius: 2vw;
        font-size: 1.6vw;
    }
    
    .section4 > div {
        width: 72.9vw;
        margin: 0 auto 80px;
    }
    
    .section4 .s4-simulation table th,
    .section4 .s4-simulation table td {
        width: 20%;
        white-space: nowrap;
    }
    
    .section4 .s4-simulation table thead th {
        line-height: 1.2;
    }
    
    .section4 .s4-simulation table th br {
        display: inline;
    }
    
    .section4 .s4-market h4 {
        margin-bottom: 3.3vw;
    }
    
    .section4 .s4-market > div {
        gap: 6.7vw;
    }
    
    .section4 .s4-market > div picture {
        width: 30vw;
        height: 24.8vw;
    }
    
    /* Section 5 */
    
    .section5 {
        padding-top: 12.8vw;
        padding-bottom: 10.1vw;
    }
    
    .section5 a {
        width: 74vw;
    }
    
    /* Section 6 */
    
    .section6 h3 {
        font-size: 3.8vw;
        letter-spacing: .3rem;
        padding: 2rem;
    }
    
    .section6 dl {
        padding: 7.4vw 0;
        gap: 1.5rem;
    }
    
    .section6 dl div {
        max-width: 72.9vw;
    }
    
    .section6 dl div dt,
    .section6 dl div dd {
        padding: 1rem;
    }
    
    .section6 dl div dt {
        border-top-left-radius: 12px;
        border-top-right-radius: 12px;
    }
    
    .section6 dl div dd {
        border-bottom-left-radius: 12px;
        border-bottom-right-radius: 12px;
    }
    
    /* Section 7 */
    
    .section7 {
        padding-top: 6.7vw;
    }
    
    .section7 > div {
        padding: 10.8vw 0;
    }
    
    .section7 > div > div {
        padding: 2.7vw 5.4vw;
    }
    
    .section7 > div > div > div {
        position: relative;
        z-index: 3;
    }
    
    .section7 > div > div::after {
        border: 3px solid rgba(113, 76, 161, 0.6);
        right: -10px;
        bottom: -10px;
    }
    
    .section7 > div > div dl {
        margin-bottom: 1rem;
    }
    
    .section7 > div > div dl div dt,
    .section7 > div > div dl div dd {
        font-size: 18px;
    }
    
    .section7 > div > div p {
        font-size: 16px;
    }
    
    .section7 > div > div > picture {
        width: 43.5vw;
        height: 48.3vw;
        right: 2rem;
        bottom: -11.8vw;
    }
    
    /* Section 8 */
    
    .section8 {
        padding: 8.1vw 4rem 13.5vw;
    }
    
    .section8 h4 {
        width: 100%;
        margin-bottom: 32px;
    }
    
    .section8 .content > div {
        width: 100%;
        padding: 2rem 4rem;
        border-radius: 12px;
    }
    
    /* Footer */
    
    .footer {
        padding: 2.7vw 0 1.7vw;
        gap: 2.7vw;
    }
    
    .footer-logo {
        gap: 2.5vw;
    }
    
    .footer-logo .logo {
        height: 2.7vw;
    }
    
    .footer-logo .instagram-icon {
        height: 2.2vw;
    }
    
    .footer-links {
        gap: 1.5rem;
    }
    
    .footer-links a {
        font-size: 16px;
    }
    
    .footer .copyright {
        font-size: 14px;
    }
    
    /* Back to Top Button */
    
    .back-to-top {
        width: auto;
        bottom: 30px;
        right: 30px;
    }
    
    .back-to-top picture {
        width: 5.4vw;
        height: 5.4vw;
    }
    
}
