@charset "utf-8";
/* サイト全体のフォント指定 */
body {
    width: 100%;
    height: 100%;
    font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    line-height: 1.8;
    background-color: white;
    }
       /* h2を細字に設定 */
       h1,h2,h3 {
        line-height: inherit;
        font-weight:inherit;
    } 
           /* リスト点なし */
    ul {list-style-type: none;}
    :root {
        --fs34: calc(34 / 16 * 1rem); /* --fs34 は 34px だよ、と決める */
        --fs28: calc(28 / 16 * 1rem);
        --fs26: calc(26 / 16 * 1rem);
        --fs24: calc(24 / 16 * 1rem);
        --fs22: calc(22 / 16 * 1rem);
        --fs20: calc(20 / 16 * 1rem);
        --fs18: calc(18 / 16 * 1rem);
        --fs16: calc(16 / 16 * 1rem);
        --fs14: calc(14 / 16 * 1rem);
        --fs12: calc(12 / 16 * 1rem);
    }
    * {
        margin: 0;
        padding: 0;
    }
    img {
        max-width: 100%;
        max-height: 100%;
        width: 100%;
    }
    p {
        font-size: var(--fs16);
        color: #5e889c;
    }
    main {
        max-width: 1920px;
        margin-inline: auto;
        overflow-x: hidden;
        display: block;
    }
    .img_sp, .br_sp, .wrap_sp01, .wrap_sp02 {
        display: none;
    }
    .pc-none {
        display: none;
    }
    .mv {
        width: 100%;
    }
    .text_slogan {
        width: 40%;
        margin: 5% auto;
        margin-inline: auto;
    }
    .choose {
        width: 60%;
        margin: 0 auto 5% auto;
        /* margin-inline: auto; */
        justify-content: center;
        display: flex;
    }
    .beas {
        margin: 5% auto;
        position: relative;
    }
    .choose_title01 {
        text-align: center;
        color: #5e889c;
        font-size: var(--fs34);
        position: absolute;
        top: 0;
        left: 50%;
        translate: -50%;
        white-space: nowrap;
    }
    .main_text {
        width: 80px;
        margin: 0 5px;
        vertical-align: bottom;
    }
    .choose_title img {
        position: absolute;
        top: 5%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 50%;
        z-index: 2;
    }
    .choose_mv {
        z-index: 1;
    }
    .btn-fixed {
        position: fixed;
        bottom: 50px;
        right: 35px;
        padding: 15px 30px;
        text-align: center;
        background-color: #ce306c;
        border: none;
        border-radius: 45px;
        cursor: pointer;
        box-shadow: 0 7px 10px #a5adb1;
        z-index: 999;
    }
    .btn-fixed a {
        font-size: var(--fs20);
        text-decoration: none;
        color: white;
    }
    .offer {
        background: url(../../images/crystal2/img_back_2.png) no-repeat center / cover;
        padding: 15% 0;
    }
    .offer_content {
        position: relative;
    }
    .offer_discount {
        max-width: 1680px;
        width: 80%;
        margin-inline: auto;
        z-index: 1;
    }
    .offer_4p {
        width: 30%;
        top: 40%;
        left: 50%;
        transform: translate(-50%, -50%);
        position: absolute;
        z-index: 2;
    }
    .cv_btn {
        margin-top: 7%;
    }
    .cv_btn a, .cv_btn_2 a {
        border: 1px #5e889c;
        border-radius: 5px;
        background: #5e889c;
        padding: 5%;
        font-size: var(--fs20);
        width: 18vw;
        color: white;
        text-decoration: none;
        text-align: center;
    }
    .cv_btn_2 a {
        font-size: var(--fs16);
    }
    .product_name {
        top: 68%;
        left: 50%;
        font-size: var(--fs26);
        transform: translate(-50%, -50%);
        position: absolute;
    }
    .decoration {
        width: max-content;
        min-width: auto;
        display: inline-flex;
        top: 71%;
        left: 50%;
        transform: translate(-50%, -50%);
        position: absolute;
        align-items: baseline;
        margin-top: 5px;
    }
    .decoration_img {
        width: 100px;
        height: auto;
        margin-top: 5px;
        flex-shrink: 0;
    }
    .price_4p {
        width: fit-content;
        font-size: var(--fs26);
    }
    .broad_category {
        width: 40%;
        position: absolute;
        display: inline-flex;
        top: 83%;
        left: 50%;
        transform: translate(-50%, -50%);
        gap: 80px;
    }
    .category_normal {
        width: 50%;
        text-align: center;
    }
    .category_soft {
        width: 50%;
        text-align: center;
    }
    .category_normal p, .category_soft p {
        font-size: var(--fs20);
    }
    .product_section {
        position: relative;
        padding-top: 150px;
        padding-bottom: 250px;
    }
    .point_container {
        width: 50%;
        margin-inline: auto;
    }
    .function_section {
        background: url(../../images/crystal2/img_back_2.png) no-repeat center / cover;
        padding: 20% 0;
        text-align: center;
        color: #5e889c;
    }
    .movie_content {
        position: absolute;
        top: 130px;
        left: 50%;
        width: 60%;
        translate: -50% 0;
        max-width: 1280px;
        aspect-ratio: 1180 / 700;
    }
    .movie_content iframe {
        width: 100%;
        height: 100%;
    }
    .section_title {
        padding-top: 7%;
        margin-bottom: 3%;
        position: relative;
    }
    .section_title::before {
        content: "";
        width: 130px;
        height: 160px;
        display: block;
        background: url(../../images/crystal2/img_parts_icon2.png) no-repeat center / contain;
        position: absolute;
        left: 20%;
        bottom: -80px;
    } 
    .section_title::after {
        content: "";
        width: 100px;
        height: 150px;
        display: block;
        background: url(../../images/crystal2/img_parts_icon1.png) no-repeat center / contain;
        position: absolute;
        right: 20%;
        bottom: -40px;
    }
    .section_title img  {
        width: 30%;
        display: block;
        margin-inline: auto;
        margin-bottom: 20px;
    }
    .function_img {
        width: 80%;
        margin-inline: auto;
    }
    .product_content {
        padding-top: calc(33.75%);
        text-align: center;
        color: #5e889c;
    }
    .product_container {
        background: url(../../images/crystal2/img_concept_bg_left.png) no-repeat bottom left / contain, url(../../images/crystal2/img_concept_bg_right.png) no-repeat bottom 50px right / contain;
    }
    .product_img {
        width: 550px;
        margin-inline: auto;
    }
    .text_01 {
        font-size: var(--fs34);
        margin-bottom: 2%;
    }
    .text_02 {
        font-size: var(--fs26);
    }
    .offer_sngle {
        position: relative;
        background: url(../../images/crystal2/img_back02_left.png) no-repeat left top / contain, url(../../images/crystal2/img_back02_right.png) no-repeat right top /contain;
        padding: 5% 0 10%;
        background-size: 20% auto;
    }
    .no-turn {
        white-space: nowrap;
    }
    .category_pink, .category_blue, .category_orange, .category_violet {
        width: fit-content;
    }
    .decoration_s_img {
        width: 20%;
    }
    footer {
        position: relative;
        text-align: center;
        margin: 0 auto;
        padding-top: 10%;
        z-index: 1;
    }
    .footer-bg {
        width: 100%;
        height: 100vh;
        position: absolute;
        top: 0;
        background: url(../../images/crystal2/img_watercolor_violet.png) no-repeat top 100px left -60% / contain, url(../../images/crystal2/img_watercolor_pink.png) no-repeat top -150px right -60% / contain;
        z-index: 2;
        background-size: 50%;
    }
    .footer_deco_left {
        position: absolute;
        top:-10%;
        left: -7%;
        width: 15%;
    }
    .footer_deco_right {
        position: absolute;
        top: 58%;
        right: 5%;
        width: 10%;
    }
    .site-footer {
        position: absolute;
        width: 80%;
        left: 10%;
        z-index: 2;
    }
    .icon {
        width: 40%;
        text-align: center;
        margin: 5% auto;
        display: flex;
        flex-wrap: wrap;
    }
    .icon li {
        width: calc(100% / 4);
        padding: 0 5px;
        box-sizing: border-box;
    }
    .icon img {
        width: 70%;
        height: auto;
    }
    .logo img {
        width: 27%;
    }
    .link {
        width: 50%;
        margin: 5% auto;
        display: flex;
        justify-content: space-around;
    }
    .link a {
        text-decoration: none;
                color: #5e889c;
        font-size: var(--fs16);
    }
@media screen and (min-width: 768px) {
    .offer_silngle_item_pc {
        margin-top: 10%;
        text-align: center;
        position: relative;
    }
    .product_item_pc {
        width: 80%;
        margin-bottom: 10px;
    }
    .price_single_pc {
        position: absolute;
        top: 120%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin-inline: auto;
        display: inline-flex;
        width: 75vw;
        font-size: var(--fs20);
        gap: 12px;
        justify-content: space-around;
        text-align: center;
    }
    .category_pink_soft, .category_blue_soft, .category_orange_soft, .category_violet_soft {
        margin-top: 30%;
    }
}
       /* SP */
   @media screen and (max-width:768px) {
    .img_pc, .offer_silngle_item_pc {
        display: none;
    }
    .img_sp, .pc-none, .br_sp {
        display: block;
    }
    /* .pc-none {
        display: block;
    } */
    .btn-fixed {
        right: 20px;
        padding: 10px 20px;
    }
    .btn-fixed a {
        font-size: var(--fs16);
    }
    .text_slogan {
        width: 55%;
        margin: 2% auto;
    }
    .choose {
        width: 85%;
        margin: 0 auto;
    }
    .choose_title01 {
        top: -6%;
        left: 45%;
        font-size: var(--fs16);
        line-height: 2rem;
    }
    .choose_mv {
        margin-top: 12%;
    }
    .main_text {
        width: 45px;
    }
    .offer {
        padding: 20% 0;
    }
    .section_title, .product_content, .product_container {
        padding-top: 0;
        font-size: var(--fs16);
        letter-spacing: -0.05em;
        margin-bottom: 10px;
    }
    .product_container, .product_content {
        padding-top: calc((60% * (9 / 16)) + 5%);
    }
    .product_container {
        background: url(../../images/crystal2/img_concept_bg_left.png) no-repeat bottom 100% left / 40%, url(../../images/crystal2/img_concept_bg_right.png) no-repeat bottom 100% right / 40%;
    }
  .point_container {
        width: 90%;
        background: none,none;
        /* padding: 10% 0 10%; */
    }
    .offer_sngle {
        background: none,none;
    }
    .function_section {
        background: url(../../images/crystal2/img_back_2.png) no-repeat center top / cover;
        padding: 20% 0 6%;
    }
    .section_title::after {
        width: 50px;
        height: 50px;
        right: 2%;
        top: -5%;
        background: url(../../images/crystal2/img_parts_icon1.png) no-repeat center / contain;
    }
    .section_title::before {
        width: 80px;
        height: 80px;
        left: 1%;
        bottom: 0;
        top: -20px;
        background: url(../../images/crystal2/img_parts_icon2.png) no-repeat center / contain;
    }
    .section_title img {
        width: 25%;
    }
    .offer_discount {
        width: 90%;
    }
    .offer_4p {
        width: 50%;
        top: 32%;
    }
    .product_name {
        width: 60%;
        top: 60%;
        /* text-align: center; */
        font-size: var(--fs24);
        line-height: 1.8rem;
    }
    .price_4p {
        font-size: var(--fs16);
    }
    .decoration {
        top: 68%;
    }
    .decoration_img {
        width: 80px;
    }
    .category_normal p, .category_soft p {
        font-size: var(--fs14);
    }
    .broad_category {
        gap: 10px;
    }
    .product_img {
        width: 70%;
        /* padding-top: 50%; */
    }
    .text_content {
        width: 85%;
        margin: 5% auto;
        text-align: center;
    }
    .text_01 {
        font-size: var(--fs16);
        letter-spacing: -0.05em;
    }
    .text_02 {
        font-size: var(--fs14);
    }
    .broad_category {
        width: 70%;
    }
    .cv_btn a, .cv_btn_2 a {
        font-size: var(--fs14);
    }
    .movie_content {
        top: 50px;
        width: 90%;
    }
    .offer_silngle_item_sp {
        width: 90%;
        margin: 5% auto;
        text-align: center;
    }
    .wrap_sp01, .wrap_sp02 {
        margin: 5% auto;
        display: flex;
        justify-content: space-around;
    }
    .offer_silngle_item_01, .offer_silngle_item_02 {
        margin-top: 10%;
    }
    .category_blue_soft, .category_orange_soft, .category_violet_soft {
        margin-top: 25%;
    }
    .product_section {
        padding-bottom: 70px;
    }
    .site-footer {
        width: 98vw;
    }
    .site-footer p, .site-footer li {
        font-size: var(--fs12);
    }
    .icon img {
        width: 100%;
    }
    .logo img {
        width: 60%;
    }
    .link {
        width: 85vw;
    }
}
