/* contents.css */
/*--------------------------------------*/

/* main key visual */
section#main-kv {
    width: 100%;
    height: 640px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-image: url("../images/main_1800.jpg");
}
@media only screen and (max-width: 1100px) {
    section#main-kv {
        height: 0;
        padding-top: 58.181%;
    }
}
@media only screen and (max-width: 750px) {
    section#main-kv {
        background-position: center top;
        background-image: url("../images/main_750.jpg");
        padding-top: 130%;
    }
}


/* common */
section .inner {
    width: 94%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
section figure {
    display: block;
    font-size: 0;
}
@media only screen and (max-width: 750px) {
    section .inner {
        width: 90%;
    }
}

/* h2 */
section h2 {
    background-color: #000000;
    padding: 26px 0;
    font-family: 'Barlow Condensed',sans-serif;
    font-size: 50px;
    font-weight: 600;
    color: #ffffff;
    letter-spacing: 0.05em;
}
section#lineup h2 {
    background-color: #e5e5e5;
    margin-bottom: 40px;
    color: #000000;
}
section#products h2 {
    margin-bottom: 50px;
}
section#why h2 {
    margin-bottom: 50px;
}
section#comparison h2 {
    margin-bottom: 20px;
}
@media only screen and (max-width: 750px) {
    section h2 {
        padding: 7.4vw 0;
        font-size: 6.7vw;
    }
    section#lineup h2 {
        margin-bottom: 5.6vw;
    }
    section#products h2 {
        margin-bottom: 8.3vw;
    }
    section#why h2 {
        margin-bottom: 8.8vw;
    }
    section#comparison h2 {
        margin-bottom: 4.3vw;
    }
}


/* slick dots */
.slick-dots {
    display: flex;
    justify-content: center;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -56px;
    margin: auto;
}
.slick-dots li {
    width: 62px;
    height: 4px;
    margin-left: 13px;
    margin-right: 13px;
    padding: 0;
}
.slick-dots li button {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: transparent;
    border: 0;
    text-indent: -9999px;
    outline: 0;
}
.slick-dots li button:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #b2b2b2;
    transition: all .3s ease;
    cursor: pointer;
    content: "";
}
.slick-dots li:hover button:before,
.slick-dots li.slick-active button:before {
    background-color: #ff0000;
}

@media only screen and (max-width: 1100px) {
    .slick-dots li {
        height: 0.363vw;
    }
}
@media only screen and (max-width: 750px) {
    .slick-dots {
        bottom: -8.94vw;
    }
    .slick-dots li {
        height: 0.533vw;
    }
    .slick-dots li {
        width: 8.266vw;
        margin-left: 3.4vw;
        margin-right: 3.4vw;
    }
}


/* about */
section#about {
    padding-bottom: 150px;
}
section#about p.catch {
    background-color: #ffffff;
    padding: 40px 0;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: -0.04em;
}

section#about ul.btn-anchor {
    display: flex;
    justify-content: center;
}
section#about ul.btn-anchor li {
    width: 410px;
    margin: 0 15px;
}
section#about ul.btn-anchor a {
    display: block;
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 15.355%;
    font-size: 0;
    text-indent: -9999px;
}
section#about ul.btn-anchor a:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: all .3s ease;
    content: "";
}
section#about ul.btn-anchor a:after {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0;
    transition: all .3s ease;
    content: "";
}
section#about ul.btn-anchor a:hover:before {
    opacity: 0;
}
section#about ul.btn-anchor a:hover:after {
    opacity: 1;
}
section#about ul.btn-anchor li.why a:before {
    background-image: url("../images/btn_why.png");
}
section#about ul.btn-anchor li.why a:after {
    background-image: url("../images/btn_why_on.png");
}
section#about ul.btn-anchor li.story a:before {
    background-image: url("../images/btn_story.png");
}
section#about ul.btn-anchor li.story a:after {
    background-image: url("../images/btn_story_on.png");
}
@media only screen and (max-width: 750px) {
    section#about {
        padding-bottom: 12.6vw;
    }
    section#about p.catch {
        width: 72%;
        margin-left: auto;
        margin-right: auto;
        padding: 6.4vw 0 6.4vw;
        font-size: 0;
    }
    section#about ul.btn-anchor {
        display: block;
    }
    section#about ul.btn-anchor li {
        width: 71.2vw;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 3.4vw;
    }
}

section#about .acc-wrap {
    position: relative;
    background-color: #000000;
    margin-bottom: 55px;
    padding-top: 32px;
}
section#about .acc-wrap h3 {
    display: flex;
    justify-content: center;
    margin-bottom: 35px;
    line-height: 1.0;
    font-family: 'Barlow Condensed',sans-serif;
    font-size: 50px;
    font-weight: 500;
    color: #ffffff;
}
section#about .acc-wrap h3 label {
    display: block;
    width: 37px;
    height: 37px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("../images/btn_acc_plus.png");
    margin-top: 12px;
    margin-left: 20px;
    transition: all .3s ease;
    cursor: pointer;
}
section#about .acc-wrap h3 label:hover {
    opacity: 0.7;
}
section#about .acc-wrap input {
    display: none;
}

section#about .acc-wrap .about-contents {
    width: 100%;
    background-color: #ffffff;
    visibility: hidden;
    height: 0;
    opacity: 0;
    transition: all .3s linear;
}
section#about .acc-wrap .about-contents figure {
    width: 80%;
    max-width: 856px;
    margin-left: auto;
    margin-right: auto;
}
section#about .acc-wrap .about-contents p {
    text-align: center;
    font-size: 21px;
}

section#about .acc-wrap input:checked ~ h3 label {
    background-image: url("../images/btn_acc_minus.png");
}
section#about .acc-wrap input:checked ~ .about-contents {
    visibility: visible;
    height: auto;
    opacity: 1;
    z-index: 1;
    padding-top: 20px;
}

@media only screen and (max-width: 750px) {
    section#about .acc-wrap {
        margin-bottom: 6vw;
        padding-top: 7.6vw;
    }
    section#about .acc-wrap h3 {
        margin-bottom: 8.2vw;
        font-size: 6.7vw;
    }
    section#about .acc-wrap h3 label {
        width: 4.94vw;
        height: 4.94vw;
        margin-top: 1.6vw;
        margin-left: 2.6vw;
    }
    section#about .acc-wrap .about-contents figure {
        max-width: inherit;
    }
    section#about .acc-wrap .about-contents p {
        font-size: 3.2vw;
    }
    section#about .acc-wrap input:checked ~ .about-contents {
        padding-top: 6vw;
        padding-bottom: 3.6vw;
    }
}


/* lineup */
section#lineup {
    padding-bottom: 175px;
}
section#lineup .slide-linup ul {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1386px;
    margin-left: auto;
    margin-right: auto;
}
section#lineup .slide-linup ul li {
    font-size: 0;
}
section#lineup .slide-linup img {
    display: block;
    width: 100%;
    margin: auto;
    border-radius: 10px;
}
section#lineup .slide-linup .slick-track {
    display: flex;
    align-items: center;
}
section#lineup .slide-linup .slick-slide {
    font-size: 0;
    transition: all .3s ease;
}
section#lineup .slide-linup .slick-slide img {
    width: 100%;
    opacity: 0.5;
    transform: scale(0.75);
    transition: all .3s ease;
}
section#lineup .slide-linup .slick-center img {
    opacity: 1;
    transform: scale(1);
}
section#lineup .slide-linup .slick-slide a:hover img {
    opacity: 0.7;
}

@media only screen and (max-width: 750px) {
    section#lineup {
        padding-bottom: 30vw;
    }
    section#lineup .slide-linup .slick-slide {
        width: 49.333vw;
    }
}


/* products */

/* products key visual */
section#products .block h3 {
    height: 560px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-image: url("../images/main_1800.jpg");
    text-indent: -9999px;
}
section#products #ha-np1t.block h3 {background-image: url("../images/ha-np1t_main_1800.jpg");}
section#products #ha-np50t.block h3 {background-image: url("../images/ha-np50t_main_1800.jpg");}
section#products #ha-np40t.block h3 {background-image: url("../images/ha-np40t_main_1800.jpg");}
section#products #ha-np35t.block h3 {background-image: url("../images/ha-np35t_main_1800.jpg");}

@media only screen and (max-width: 1100px) {
    section#products .block h3 {
        height: 0;
        padding-top: 50.909%;
    }
}
@media only screen and (max-width: 750px) {
    section#products .block h3 {
        background-size: contain;
        padding-top: 106.666%;
    }
    section#products #ha-np1t.block h3 {background-image: url("../images/ha-np1t_main_750.jpg");}
    section#products #ha-np50t.block h3 {background-image: url("../images/ha-np50t_main_750.jpg");}
    section#products #ha-np40t.block h3 {background-image: url("../images/ha-np40t_main_750.jpg");}
    section#products #ha-np35t.block h3 {background-image: url("../images/ha-np35t_main_750.jpg");}
}

section#products {
    padding-bottom: 5px;
}
section#products .block {
    margin-bottom: 130px;
}

section#products .block ul.link {
    display: flex;
    justify-content: center;
    margin-bottom: 35px;
}
section#products .block ul.link li {
    width: 300px;
    text-align: center;
}
section#products .block ul.link li:nth-child(2) {
    margin-left: 26px;
    margin-right: 26px;
}
section#products .block ul.link li a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #ff0000;
    border: 5px solid #ff0000;
    border-radius: 5px;
    line-height: 60px;
    font-family: 'Barlow Condensed',sans-serif;
    font-size: 24px;
    font-weight: 600;
    color: #ffffff;
    letter-spacing: 0.05em;
}
section#products .block ul.link li a:after {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 25px;
    bottom: 0;
    height: 1em;
    margin: auto;
    line-height: 1;
    font-family: "Sintony", sans-serif;
    font-size: 20px;
    font-weight: 700;
    content: ">";
}
section#products .block ul.link li.detail a {
    background-color: #ffffff;
    color: #ff0000;
}
section#products .block ul.link li a:hover {
    opacity: 0.5;
}
@media only screen and (max-width: 750px) {
    section#products .block ul.link {
        display: block;
        padding-bottom: 6.4vw;
    }
    section#products .block ul.link li {
        width: 100%;
        margin-bottom: 3.6vw;
    }
    section#products .block ul.link li:nth-child(2) {
        margin-left: 0;
        margin-right: 0;
    }
    section#products .block ul.link li a {
        line-height: 11.333vw;
        font-size: 5.333vw;
    }
    section#products .block ul.link li a:after {
        right: 4vw;
        font-size: 4vw;
    }
}

/* colors slide ha-np1t */
section#products .colors-ha-np1t {
    position: relative;
    width: 100%;
    max-width: 1100px;
    margin-top: 25px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60px;
}
section#products .colors-ha-np1t ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}
section#products .colors-ha-np1t li {
    font-size: 0;
}
section#products .colors-ha-np1t img {
    display: block;
    width: 100%;
    margin: auto;
}
section#products .colors-ha-np1t .slick-track {
    display: flex;
    justify-content: center;
    align-items: center;
}
section#products .colors-ha-np1t .slick-slide {
    margin: 0 5px;
    font-size: 0;
    transition: all .3s ease;
}
section#products .colors-ha-np1t .slick-slide img,
section#products .colors-ha-np1t .slick-slide iframe {
    width: 100%;
/*    transform: scale(0.75);*/
    transition: all .3s ease;
}
/*section#products .colors-ha-np1t .slick-center img {
    transform: scale(1);
}
section#products .colors-ha-np1t .slick-center iframe {
    transform: scale(1.2);
}*/
/*section#products .colors-ha-np1t .slick-dots li {
    display: none;
}*/
section#products .colors-ha-np1t .slick-prev,
section#products .colors-ha-np1t .slick-next {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 31px;
    height: 31px;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    margin: auto;
    padding: 0;
    border: 0;
    font-size: 0;
    color: transparent;
    outline: 0;
    cursor: pointer;
    transition: all .3s ease;
    z-index: 100;
}
section#products .colors-ha-np1t .slick-prev:hover,
section#products .colors-ha-np1t .slick-next:hover {
    opacity: 0.7;
}
section#products .colors-ha-np1t .slick-prev {
    left: -40px;
    background-image: url("../images/products_arrow_prev.png");
}
section#products .colors-ha-np1t .slick-next {
    right: -40px;
    background-image: url("../images/products_arrow_next.png");
}
section#products .colors-ha-np1t .slick-dots {
    bottom: -20px;
}
@media only screen and (max-width: 1100px) {
    section#products .colors-ha-np1t .slick-prev {
        left: 10px;
    }
    section#products .colors-ha-np1t .slick-next {
        right: 10px;
    }
}
@media only screen and (max-width: 750px) {
    section#products .colors-ha-np1t {
        max-width: inherit;
        margin-bottom: 10vw;
    }
    section#products .colors-ha-np1t ul {
        width: 100%;
        max-width: inherit;
    }
    section#products .colors-ha-np1t .slick-slide {
        width: 30vw;
    }
    section#products .colors-ha-np1t .slick-prev,
    section#products .colors-ha-np1t .slick-next {
        display: none !important;
    }
    section#products .colors-ha-np1t .slick-dots {
        bottom: -2.666vw;
    }
    section#products .colors-ha-np1t .slick-dots li {
        display: block;
        width: 8.266vw;
        margin-left: 2.533vw;
        margin-right: 2.533vw;
    }
}
/* iframe */
section#products .colors-ha-np1t iframe,
section#products .slide-colors iframe {
    width: 100%;
    margin: 0;
    padding: 0 5%;
    border: 0;
    outline: 0;
}



/* colors slide */
section#products .slide-colors {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 94%;
    max-width: 740px;
    margin-top: 25px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}
section#products .slide-colors li {
    font-size: 0;
}
section#products .slide-colors img {
    display: block;
    width: 100%;
    margin: auto;
}
section#products .slide-colors .slick-track {
    display: flex;
    justify-content: center;
    align-items: center;
}
section#products .slide-colors .slick-slide {
    font-size: 0;
    transition: all .3s ease;
}
section#products .slide-colors .slick-slide img,
section#products .slide-colors .slick-slide iframe {
    width: 100%;
    transform: scale(0.75);
    transition: all .3s ease;
}
section#products .slide-colors .slick-center img {
    transform: scale(1);
}
section#products .slide-colors .slick-center iframe {
    transform: scale(1.2);
}
@media only screen and (max-width: 750px) {
    section#products .slide-colors {
        width: 100%;
        max-width: inherit;
    }
    section#products .slide-colors .slick-slide {
        width: 32vw;
    }
}


/* sub images */
section#products .sub-images {
    position: relative;
    width: 100%;
    max-width: 1100px;
    height: 700px;
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    margin-left: auto;
    margin-right: auto;
}
section#products #ha-np1t .sub-images {
    background-image: url("../images/ha-np1t_img_pc.jpg");
}
section#products #ha-np50t .sub-images {
    height: 734px;
    background-image: url("../images/ha-np50t_img_pc.jpg");
}
section#products #ha-np40t .sub-images {
    background-image: url("../images/ha-np40t_img_pc.jpg");
}
section#products #ha-np35t .sub-images {
    height: inherit;
}

section#products .sub-images .movie {
    position: absolute;
    top: 0;
    left: 0;
    width: 664px;
    height: 357px;
}
section#products .sub-images .movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

section#products .sub-images .sub-slide {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 467px;
    font-size: 0;
}
section#products .sub-images .sub-slide img {
    max-width: 100%;
    height: auto;
}
section#products #ha-np50t .sub-images .sub-slide {
    overflow: hidden;
    width: 664px;
}
section#products .sub-images .sub-slide .slick-dots {
    display: flex;
    position: absolute;
    left: inherit;
    right: 0;
    bottom: -20px;
}
section#products .sub-images .sub-slide .slick-dots li {
    width: 47px;
    margin-left: 0;
    margin-right: 20px;
}

section#products .sub-images .sub-slide .title {
    background-color: #000000;
    padding-left: 1em;
    text-align: left;
    line-height: 35px;
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
}



@media only screen and (max-width: 1100px) {
    section#products .sub-images {
        height: 63.636vw;
    }
    section#products #ha-np50t .sub-images {
        height: 66.727vw;
    }
    section#products .sub-images .movie {
        width: 58.3vw;
        height: 32.454vw;
    }
    section#products #ha-np1t .sub-images .movie {
        width: 59.3vw;
        height: 32.8vw;
    }
    section#products #ha-np50t .sub-images .movie {
        width: 58.4vw;
        height: 32.454vw;
    }

    section#products .sub-images .sub-slide {
        width: 40.9vw;
    }
    section#products #ha-np1t .sub-images .sub-slide {
        width: 41.8vw;
    }
    section#products #ha-np1t .sub-images .sub-slide .slick-slide {
        height: 25.75vw;
    }
    section#products #ha-np50t .sub-images .sub-slide {
        width: 58.4vw;
        height: 33.1vw;
    }
    section#products .sub-images .sub-slide .slick-dots {
        bottom: -2.181vw;
    }
    section#products .sub-images .sub-slide .slick-dots li {
        width: 4.272vw;
        margin-right: 1.818vw;
    }
    section#products .sub-images .sub-slide .title {
        line-height: 4vw;
        font-size: 1.636vw;
    }
}

@media only screen and (max-width: 750px) {
    section#products .sub-images,
    section#products #ha-np50t .sub-images {
        width: 90%;
        height: auto;
    }
    section#products #ha-np1t .sub-images,
    section#products #ha-np50t .sub-images,
    section#products #ha-np40t .sub-images {
        background-image: none;
    }
    section#products #ha-np50t .sub-images .sub-slide {
        width: 100%;
        height: auto;
    }
    section#products .sub-images .movie {
        position: relative;
    }
    section#products .sub-images .sub-slide {
        position: relative;
    }
    section#products .sub-images .movie {
        width: 100%;
        height: 0;
        padding-top: 56.25%;
    }
    section#products #ha-np1t .sub-images .movie,
    section#products #ha-np50t .sub-images .movie {
        width: 100%;
        height: 0;
        padding-top: 56.25%;
    }

    section#products .sub-images .sub-slide,
    section#products #ha-np1t .sub-images .sub-slide,
    section#products #ha-np50t .sub-images .sub-slide {
        width: 100%;
    }
    section#products #ha-np1t .sub-images .sub-slide .slick-slide {
        height: inherit;
    }
    section#products .sub-images .sub-slide .slick-dots {
        bottom: -3.333vw;
    }
    section#products .sub-images .sub-slide .slick-dots li {
        width: 8.266vw;
        margin-right: 3.333vw;
    }
    section#products .sub-images .sub-slide .title {
        line-height: 6vw;
        font-size: 3.2vw;
    }
}

section#products #ha-np1t .gif {
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    width: 38.727%;
    background-color: #ececec;
    padding-top: calc(53.051% * 0.38727);
}
@media only screen and (max-width: 1100px) {
    section#products #ha-np1t .gif {
        padding-top: calc(53.051% * 0.407);
    }
}
section#products #ha-np1t .gif:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: left top;
    background-size: contain;
    background-image: url("../images/ha-np1t_over_gif_pc.png");
    z-index: 1;
    content: "";
}
section#products #ha-np1t .gif img {
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
    height: 100%;
}
@media only screen and (max-width: 750px) {
    section#products .sub-images figure {
        position: relative;
    }
    section#products #ha-np1t .gif {
        top: 2.4vw;
        left: 0;
        right: inherit;
        width: 48.5%;
        padding-top: calc(92.307% * 0.485);
    }
    section#products #ha-np1t .gif:before {
        top: 0.3vw;
        background-image: url("../images/ha-np1t_over_gif_sp.png");
    }
    section#products #ha-np1t .gif img {
        top: 1vw;
        width: 100%;
        height: auto;
    }
}

section#products #ha-np40t .gif {
    overflow: hidden;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 38.727%;
    background-color: #ececec;
    padding-top: calc(42.018% * 0.38727);
    border: 1px solid #dadada;
}
@media only screen and (max-width: 1100px) {
    section#products #ha-np40t .gif {
        width: 39.25%;
    }
}
section#products #ha-np40t .gif:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: left top;
    background-size: contain;
    background-image: url("../images/ha-np40t_over_gif_pc.png");
    z-index: 1;
    content: "";
}
section#products #ha-np40t .gif img {
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
    height: 100%;
}
@media only screen and (max-width: 750px) {
    section#products #ha-np40t .gif {
        width: 48.8%;
        padding-top: calc(92.543% * 0.488);
        border: 0;
    }
    section#products #ha-np40t .gif:before {
        top: 0.3vw;
        background-image: url("../images/ha-np40t_over_gif_sp.png");
    }
    section#products #ha-np40t .gif img {
        height: 102%;
    }
}


/* why */
section#why {
    margin-bottom: 135px;
}
section#why .block-wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-bottom: 25px;
}
section#why .block {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 48.18%;
    margin-bottom: 30px;
    text-align: left;
}
section#why .block span {
    position: absolute;
    top: 0;
    left: 0.05em;
    line-height: 1.0;
    font-family: 'Barlow Condensed',sans-serif;
    font-size: 48px;
    font-weight: 400;
    font-style: italic;
}
section#why .block .text {
    padding-top: 18px;
    margin-left: 40px;
}
section#why .block h3 {
    margin-bottom: 0.25em;
    font-size: 21px;
    font-weight: 700;
}
section#why .block p {
    margin-bottom: 1em;
    line-height: 1.4;
    font-size: 18px;
}
section#why .block figure {
    width: 100%;
    margin-top: auto;
    margin-left: auto;
}

section#why .points-wrap {
    display: flex;
    align-items: center;
    background-color: #f3ecec;
    padding: 25px 50px;
    border-radius: 10px;
    text-align: left;
}
section#why .points-wrap h4 {
    width: 12em;
    font-family: 'Barlow Condensed',sans-serif;
    font-size: 24px;
    font-weight: 600;
}
section#why .points-wrap dl {
    width: calc(100% - 16em);
}
section#why .points-wrap dt {
    font-size: 18px;
    font-weight: 700;
}
section#why .points-wrap dd {
    font-size: 16px;
}
section#why .points-wrap dd:first-of-type {
    margin-bottom: 1em;
}

@media only screen and (max-width: 750px) {
    section#why {
        margin-bottom: 23.4vw;
    }
    section#why .block-wrap {
        display: block;
        padding-bottom: 3.6vw;
    }
    section#why .block {
        width: 100%;
        margin-bottom: 5vw;
    }
    section#why .block span {
        font-size: 8vw;
    }
    section#why .block .text {
        padding-top: 3.6vw;
        margin-left: 6vw;
    }
    section#why .block h3 {
        font-size: 2.8vw;
    }
    section#why .block p {
        font-size: 2.8vw;
    }
    section#why .points-wrap {
        display: block;
        padding: 5% 5% 8%;
    }
    section#why .points-wrap h4 {
        width: 100%;
        margin-bottom: 1em;
        text-align: center;
        font-size: 4.8vw;
    }
    section#why .points-wrap dl {
        width: 100%;
    }
    section#why .points-wrap dt {
        font-size: 3.2vw;
    }
    section#why .points-wrap dd {
        font-size: 2.4vw;
    }
}


/* comparison */
section#comparison {
    margin-bottom: 90px;
}
section#comparison .table-wrap {
    overflow-x: auto;
    width: 100%;
    max-width: 1100px;
    padding-bottom: 5px;
}
.scroll-hint-icon {
    top: 30%;
}

section#comparison table {
    width: 1100px;
}
section#comparison table thead th {
    text-align: center;
}
section#comparison table tbody {
    border-top: 1px solid #cacaca;
}
section#comparison table tbody th,
section#comparison table tbody td {
    padding: 0.25em 0.5em;
    border-right: 2px solid #9d9d9d;
    border-bottom: 1px solid #cacaca;
    text-align: left;
    line-height: 1.3;
    font-family: 'Barlow Condensed',sans-serif;
    font-size: 21px;
}
section#comparison table tbody tr.type-a th,
section#comparison table tbody tr.type-a td {
    padding: 0.5em 0.5em;
}
section#comparison table tbody tr.type-b th,
section#comparison table tbody tr.type-b td {
    padding: 1em 0.5em;
}
section#comparison table tbody th {
    background-color: #e6e6e6;
}
section#comparison table tbody td {
    width: 190px;
    background-color: #ffffff;
}
section#comparison table tbody td:nth-of-type(even) {
    background-color: #f6f6f6;
}
section#comparison table tbody th:has(+ th) {
    border-right: 1px solid #cacaca;
}
section#comparison table tbody td:last-of-type {
    border-right: 0;
}

section#comparison table tbody tr.colors td {
    position: relative;
    vertical-align: top;
    padding-bottom: 2.5em;
}
section#comparison table tbody tr.colors td ul {
    display: flex;
    position: absolute;
    left: 0.5em;
    bottom: 1em;
}
section#comparison table tbody tr.colors td ul li {
    display: block;
    width: 15px;
    height: 15px;
    margin-right: 9px;
    border: 2px solid #000000;
    border-radius: 100%;
}
section#comparison table tbody tr.colors td ul li.bk {background-color: #000000;}
section#comparison table tbody tr.colors td ul li.tb {background-color: #5d7f9f;}
section#comparison table tbody tr.colors td ul li.ml {background-color: #983535;}
section#comparison table tbody tr.colors td ul li.ag {background-color: #e6f0f2;}
section#comparison table tbody tr.colors td ul li.of {background-color: #f2f2f3;}
section#comparison table tbody tr.colors td ul li.pk {background-color: #f1cbcb;}
section#comparison table tbody tr.colors td ul li.gr {background-color: #91b1b7;}
section#comparison table tbody tr.colors td ul li.bl {background-color: #adcde1;}
section#comparison table tbody tr.colors td ul li.wh {background-color: #ffffff;}

@media only screen and (max-width: 750px) {
    section#comparison table {
        width: 143vw;
    }
    section#comparison table tbody th,
    section#comparison table tbody td {
        font-size: 2.8vw;
    }
    section#comparison table tbody td {
        width: 25.4vw;
    }
    section#comparison table tbody tr.colors td ul li {
        width: 2vw;
        height: 2vw;
        margin-right: 1.2vw;
        border: 0.32vw solid #000000;
    }
}


/* Development story */
section#story {
    padding-bottom: 90px;
}
section#story .nearphones {
    width: 435px;
    margin-left: auto;
    margin-right: auto;
    padding: 45px 0;
}
section#story .icon-hint {
    position: relative;
}
section#story .icon-hint:after {
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    width: 123px;
    height: 132px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("../images/story_icon.png");
    margin: auto;
    content: "";
}
section#story h3 {
    overflow: hidden;
    margin-bottom: 35px;
    background-color: #9b9b9b;
    text-align: center;
    line-height: 50px;
    font-size: 21px;
    font-weight: 700;
    color: #ffffff;
}
section#story h3 span {
    position: relative;
    z-index: 1;
}
section#story h3:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 660px;
    height: 100%;
    background-color: #000000;
    margin: auto;
    transform: skewX(-27.5deg);
    content: "";
}
section#story p {
    margin-bottom: 1.25em;
    text-align: left;
    font-size: 18px;
}
section#story p.bottom {
    margin-bottom: 80px;
}
section#story p strong {
    font-weight: 700;
}
section#story figure.balloon {
    margin-bottom: 1.25em;
    text-align: left;
    font-size: 18px;
}
section#story figure figcaption {
    margin-bottom: 1em;
}
section#story .flex-wrap {
    display: flex;
    justify-content: space-between;
    padding-bottom: 80px;
}
section#story .flex-wrap.pb00 {
    padding-bottom: 0;
}
section#story .flex-wrap .text {
    width: 47.5%;
}
section#story .flex-wrap figure {
    width: 50%;
}
section#story .flex-wrap.img-left .text {
    order: 1;
}
section#story .products-wrap {
    display: flex;
    justify-content: space-between;
    padding-bottom: 25px;
}
section#story .products-wrap.bottom {
    padding-bottom: 100px;
}
section#story .products-wrap .text {
    width: 35%;
    text-align: left;
}
section#story .products-wrap figure {
    width: 55%;
}
section#story .products-wrap h4 {
    display: inline-block;
    position: relative;
    margin-bottom: 1em;
    font-size: 28px;
    font-weight: 700;
}
section#story .products-wrap h4:after {
    position: absolute;
    left: 0;
    bottom: 3px;
    width: 100%;
    height: 15px;
    background-color: #e9e9e9;
    z-index: -1;
    content: "";
}
section#story .products-wrap p {
    margin-bottom: 1em;
    font-size: 21px;
    font-weight: 700;
}
section#story .products-wrap figure img {
    border-radius: 30px;
}
@media only screen and (max-width: 750px) {
    section#story {
        padding-bottom: 12vw;
    }
    section#story .inner {
        width: 100%;
    }
    section#story .nearphones {
        width: 58vw;
        padding: 8vw 0;
    }
    section#story .icon-hint {
        padding-bottom: 4vw;
    }
    section#story .icon-hint:after {
        top: -4vw;
        width: 32.666vw;
        height: 35.066vw;
    }
    section#story h3 {
        margin-bottom: 1.5em;
        padding: 0 5%;
        text-align: left;
        line-height: 1.925;
        font-size: 3.466vw;
    }
    section#story h3:after {
        left: 1.5vw;
        right: inherit;
        width: 100%;
    }
    section#story p {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
        font-size: 2.8vw;
    }
    section#story p.bottom {
        margin-bottom: 6.8vw;
    }
    section#story figure.balloon {
        width: 90% !important;
        margin-left: auto;
        margin-right: auto;
        font-size: 2.8vw;
    }
    section#story .flex-wrap {
        display: block;
        padding-bottom: 16vw;
    }
    section#story .flex-wrap.pb00 {
        padding-bottom: 0;
    }
    section#story .flex-wrap .text {
        width: 100%;
        padding-bottom: 4vw;
    }
    section#story .flex-wrap figure {
        width: 100%;
    }
    section#story .products-wrap {
        display: block;
        padding-bottom: 25px;
    }
    section#story .products-wrap.bottom {
        padding-bottom: 100px;
    }
    section#story .products-wrap .text {
        display: flex;
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
    section#story .products-wrap figure {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
    section#story .products-wrap h4 {
        display: block;
        width: 5.5em;
        font-size: 3.466vw;
    }
    section#story .products-wrap h4:after {
        top: 0.95em;
        bottom: inherit;
        height: 2vw;
    }
    section#story .products-wrap p {
        width: calc(100% - 7.5em);
        padding-top: 0.1em;
        font-size: 3.2vw;
    }
    section#story .products-wrap figure img {
        border-radius: 4vw;
    }
}




section#story .bottom-image {
    width: 100%;
    height: 450px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-image: url("../images/story_img08_pc.jpg");
}
@media only screen and (max-width: 750px) {
    section#story .bottom-image {
        height: 53.333vw;
        background-image: url("../images/story_img08_sp.jpg");
    }
}

