/* 375px基準のvw変換システム */
:root {
  --mobile-base: 375;
  /* 任意のpx値用のベース変数 */
  --to-vw: calc(1 / var(--mobile-base) * 100vw);
  
  /* よく使用する値は事前定義（オプション） */
  --vw-10: calc(10 * var(--to-vw));
  --vw-11: calc(11 * var(--to-vw));
  --vw-12: calc(12 * var(--to-vw));
  --vw-13: calc(13 * var(--to-vw));
  --vw-14: calc(14 * var(--to-vw));
  --vw-15: calc(15 * var(--to-vw));
  --vw-16: calc(16 * var(--to-vw));
  --vw-17: calc(17 * var(--to-vw));
  --vw-18: calc(18 * var(--to-vw));
  --vw-19: calc(19 * var(--to-vw));
  --vw-20: calc(20 * var(--to-vw));
  --vw-21: calc(21 * var(--to-vw));
  --vw-22: calc(22 * var(--to-vw));
  --vw-23: calc(23 * var(--to-vw));
  --vw-24: calc(24 * var(--to-vw));
  --vw-25: calc(25 * var(--to-vw));
  --vw-26: calc(26 * var(--to-vw));
  --vw-27: calc(27 * var(--to-vw));
  --vw-28: calc(28 * var(--to-vw));
  --vw-29: calc(29 * var(--to-vw));
  --vw-30: calc(30 * var(--to-vw));
  --vw-31: calc(31 * var(--to-vw));
  --vw-32: calc(32 * var(--to-vw));
  --vw-33: calc(33 * var(--to-vw));
  --vw-34: calc(34 * var(--to-vw));
  --vw-35: calc(35 * var(--to-vw));
  --vw-36: calc(36 * var(--to-vw));
  --vw-37: calc(37 * var(--to-vw));
  --vw-38: calc(38 * var(--to-vw));
  --vw-39: calc(39 * var(--to-vw));
  --vw-40: calc(40 * var(--to-vw));
  --vw-41: calc(41 * var(--to-vw));
  --vw-42: calc(42 * var(--to-vw));
  --vw-43: calc(43 * var(--to-vw));
  --vw-44: calc(44 * var(--to-vw));
  --vw-45: calc(45 * var(--to-vw));
  --vw-46: calc(46 * var(--to-vw));
  --vw-47: calc(47 * var(--to-vw));
  --vw-48: calc(48 * var(--to-vw));
  --vw-49: calc(49 * var(--to-vw));
  --vw-50: calc(50 * var(--to-vw));
  
  /* 使用例: calc(px値 * var(--to-vw)) */
}

.topMv {
    margin-bottom: 0;
}


/* 共通パーツ */
.layMain.isNeo .modTextCenter {
    text-align: center;
}

.layMain.isNeo .modTextLeft {
    text-align: left;
}

.layMain.isNeo .modText {
    font-size: 18px;
    line-height: 1.8;
}

.layMain.isNeo .modText.modTextLead {
    text-align: center;
}

.layMain.isNeo .modTextSmall {
    font-size: 12px;
    line-height: 1.45;
}

@media screen and (min-width: 751px) {
}

@media screen and (max-width: 750px) {
.layMain.isNeo .showPc  {
    display: none;
}

.layMain.isNeo .modTextSmall {
    font-size: var(--vw-12);
}

.layMain.isNeo .modText {
    font-size:  var(--vw-14);
}

.layMain.isNeo .modText.modTextLead {
    text-align: left;
}

.layMain.isNeo .modTxt {
    font-size:  var(--vw-14);
}

.layMain.isNeo .modTextIndent {
    padding-left: 1em;
    text-indent: -1em;
}
}

/* スクロールトップ */
 .pageScrollTop {
    display: block;
    width: 56px;
    height: 56px;
    position: fixed;        
    bottom: 30px;           
    right: 30px;            
    opacity: 0;            
    visibility: hidden;     
    z-index: 1000;         
    transition: all 0.3s ease; 
}

.pageScrollTop.show {
    opacity: 1;
    visibility: visible;
}

@media screen and (max-width: 750px) {
    .pageScrollTop {
        bottom: 10%;
        right: 3%;
    }
}

/* アンカーリンク */
.layMain.isNeo .neoAnchorLinkList {
    display: flex;
    flex-wrap: wrap;
}

.layMain.isNeo .neoAnchorLinkItem {
    background-color: #E4F6FC;
    width: calc(100% / 3);
    border: #CCCCCC 1px solid;
    margin-right: -1px;
    margin-bottom: -1px;
}

.layMain.isNeo .neoAnchorLinkItem a {
    position: relative;
    display: block;
    padding: 23px 32px;
    color: #000C58;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
}

.layMain.isNeo .neoAnchorLinkItem .neoAnchorLinkItemInner {
    margin-right: 20px;
}

.layMain.isNeo .neoAnchorLinkItem .neoAnchorLinkItemInner > span {
    display: inline;
    font-size: 22px;
}

.layMain.isNeo .neoAnchorLinkItem .neoAnchorLinkItemInner .isLine {
    background: linear-gradient(transparent 75%, #EFD931 75%, #EFD931 120%, transparent 120%);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.layMain.isNeo .neoAnchorLinkItem a::after {
    position: absolute;
    content: '';
    background-image: url('/stac/products/images/icon-arrow-anchor.svg');
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    height: 15px;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
}

@media screen and (min-width: 751px)  {
    .layMain.isNeo .neoAnchorLinkItem a {
        transition: opacity 0.3s;
    }

    .layMain.isNeo .neoAnchorLinkItem a:hover {
        opacity: 0.5;
    }
}

@media screen and (max-width: 750px) {
    .layMain.isNeo .neoAnchorLinkList {
        display: block;
        flex-wrap: nowrap;
    }

    .layMain.isNeo .neoAnchorLinkItem {
        width: 100%;
        margin-right: 0;
    }

    .layMain.isNeo .neoAnchorLinkItem a {
        font-size: var(--vw-16);
    }

    .layMain.isNeo .neoAnchorLinkItem .neoAnchorLinkItemInner > span {
        font-size: var(--vw-18);
    }

    .layMain.isNeo .neoAnchorLinkItem a::after {
        /* width: 20px;
        height: 15px;
        right: 22px; */
    }
}


/* laySection */

    /* 共通パーツ */
    .layMain.isNeo .laySection .modNeoHeading {
        margin-bottom: 30px;
    }   

    .layMain.isNeo .laySection .modNeoAccordionWrap {
        border-bottom: 1px dotted #707070;
        border-top: 1px dotted #707070;
        max-width: 1000px;
        margin: 30px auto 0;
    }

    .layMain.isNeo .laySection .modNeoAccordion {
        padding: 30px;
    }

    .layMain.isNeo .laySection .modNeoAccordion:not(:last-child) {
        border-bottom: 1px dotted #707070;
    }

    .layMain.isNeo .laySection .modNeoAccordionTitle {
        font-size: 22px;
        line-height: 1.6;
        color: #000C58;
        font-weight: bold;
        list-style: none;      
        cursor: pointer;
        position: relative;
    }

    .layMain.isNeo .laySection .modNeoAccordionTitle:before {
        position: absolute;
        content: '';
        background-image: url('/stac/products/images/icon-plus.svg');
        background-repeat: no-repeat;
        background-size: contain;
        width: 30px;
        height: 30px;
        right: 0px;
        top: 50%;
        transform: translateY(-50%);
    }

    .layMain.isNeo .laySection .modNeoAccordion[open] .modNeoAccordionTitle:before {
        background-image: url('/stac/products/images/icon-minus.svg');
    }

    .layMain.isNeo .laySection .modNeoAccordionContent .modText {
        margin-top: 40px;
        text-align: center;
    }

    .layMain.isNeo .laySection .modNeoAccordionContent .modSubTitle {
        font-size: 20px;
        font-weight: bold;
    }

    .layMain.isNeo .laySection .modNeoAccordionContent .modSubTitle::before {
        background-color: #0164CB;
    }

    .layMain.isNeo .laySection .modNeoAccordionContentMt .modSubTitle {
        margin-top: 60px;
    }

    .layMain.isNeo .laySection .modNeoAccordionContent .neoDataTxt {
        font-size: 20px;
    }

    .layMain.isNeo .laySection .modBgBoxTitle {
        font-size: 18px;
        font-weight: bold;
        text-align: center;
        margin-bottom: 21px;
    }


    @media screen and (max-width: 750px)  {
        .layMain.isNeo .laySection .modNeoHeading {
            margin-left: -5vw;
            margin-right: -5vw;
            margin-bottom: var(--vw-30);
        }
        
        .layMain.isNeo .laySection .modNeoAccordionWrap {
            max-width: auto;
            margin-top: var(--vw-30);
        }

        .layMain.isNeo .laySection .modNeoAccordion {
            padding: var(--vw-20) var(--vw-10);
        }

        .layMain.isNeo .laySection .modNeoAccordionTitle {
            font-size: var(--vw-18);
        }

        .layMain.isNeo .laySection .modNeoAccordionTitle:before {
            width: var(--vw-30);
            height: var(--vw-30);
            /* right: calc(-20 * var(--to-vw)); */
        }

        .layMain.isNeo .laySection .modNeoAccordion[open] .modNeoAccordionTitle:before {
            background-image: url('/stac/products/images/icon-minus.svg');
        }

        .layMain.isNeo .laySection .modNeoAccordionContent .modText {
            margin-top: var(--vw-30);
            text-align: left;
        }

        .layMain.isNeo .laySection .modNeoAccordionContent .modSubTitle {
            font-size:  var(--vw-16);
        }

        .layMain.isNeo .laySection .modNeoAccordionContentMt .modSubTitle {
            margin-top:  var(--vw-40);
        }

        .layMain.isNeo .laySection .modNeoAccordionContent .neoDataTxt {
            font-size:  var(--vw-16);
        }

        .layMain.isNeo .laySection .modBgBoxTitle {
            font-size:  var(--vw-16);
            margin-bottom: var(--vw-16);
        }
    }

    /* isProduct */
    .layMain.isNeo .laySection.isProduct .neoProductName {
        width: 480px;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 30px;
    }

    .layMain.isNeo .laySection.isProduct .neoProductHeading {
        width: 742px;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 10px;
    }

    .layMain.isNeo .laySection.isProduct .modTextSmall {
        margin-bottom: 10px;
    }

    .layMain.isNeo .laySection.isProduct .neoProductBox {
        display: flex;
        justify-content: center;
        margin-top: 40px;
        margin-left: auto;
        margin-right: auto;
        /* padding-left: 50px;
        padding-right: 50px; */
        max-width: 1001px;
        gap: 6.1%;
    }    

    .layMain.isNeo .laySection.isProduct .neoProductBoxLeft {
        width: 390px;
    }  

    .layMain.isNeo .laySection.isProduct .neoProductBoxRight {
        width: 554px;
    }  

    .layMain.isNeo .laySection.isProduct .modItemData {
        flex-wrap: nowrap;
    }

    .layMain.isNeo .laySection.isProduct .productsDetailData {
        margin-bottom: 15px;
    }   

    .layMain.isNeo .laySection.isProduct .productsDetail {
        border-top: 1px solid #707070;
        border-bottom: 1px solid #707070;
        padding: 1.5rem 5%;
    }    

    .layMain.isNeo .laySection.isProduct .productsDetailData {
        background-color: #E4F6FC;
    }    

    .layMain.isNeo .laySection.isProduct .neoProductRecommend {
        border: 2px solid #000C58;
        margin-top: 30px;
    }  

    .layMain.isNeo .laySection.isProduct .neoProductRecommendTitle {
        background-color: #000C58;
        color: #FFFFFF;
        padding: 15px 0;
        font-size: 22px;
        font-weight: bold;
    }      

    .layMain.isNeo .laySection.isProduct .neoProductRecommendList {
        padding: 30px 32px 37px;
    } 

    .layMain.isNeo .laySection.isProduct .neoProductRecommendItem {
        position: relative;
        margin-left: 10px;
        padding-left: 35px;
    } 

    .layMain.isNeo .laySection.isProduct .neoProductRecommendItem > span  {
        font-weight: bold;
    } 

    .layMain.isNeo .laySection.isProduct .neoProductRecommendItem:not(:first-child) {
        margin-top: 25px;
    } 

    .layMain.isNeo .laySection.isProduct .neoProductRecommendItem::before {
        position: absolute;
        content: '';
        background-image: url('/stac/products/images/icon-check.svg');
        background-repeat: no-repeat;
        background-size: contain;
        width: 24px;
        height: 24px;
        left: 0px;
        top: 50%;
        transform: translateY(-50%);
    } 

    .layMain.isNeo .laySection.isProduct .neoMovieWrap {
        width: 600px;
        margin: 100px auto 0;
    }
    
    .layMain.isNeo .laySection.isProduct .neoMovieWrap > p {
        margin-top: 15px;
    } 

    @media screen and (max-width: 750px)  {
        .layMain.isNeo .laySection.isProduct .neoProductName {
            width: calc(320 * var(--to-vw));
        }

        .layMain.isNeo .laySection.isProduct .neoProductHeading {
            width: calc(322 * var(--to-vw));
        }

        .layMain.isNeo .laySection.isProduct .neoProductBox {
            display: block;
            margin-top: var(--vw-25);
            max-width: none;
        }   

        .layMain.isNeo .laySection.isProduct .neoProductBoxLeft {
            width: 100%;
        }  

        .layMain.isNeo .laySection.isProduct .neoProductBoxRight {
            width: 100%;
        }  

        .layMain.isNeo .laySection.isProduct .modItem > picture {
            width: calc(195 * var(--to-vw));
            margin: 0 auto;
        }   

        .layMain.isNeo .laySection.isProduct .productsDetailData {
            margin-top: var(--vw-14);
        }  

        .layMain.isNeo .laySection.isProduct .productsDetail {
            margin-top: var(--vw-25);
            padding: var(--vw-15) 0;
        }    

        .layMain.isNeo .laySection.isProduct .neoProductRecommend {
            margin-top: var(--vw-25);
        }  

        .layMain.isNeo .laySection.isProduct .neoProductRecommendTitle {
            padding: var(--vw-10) 0;
            font-size: var(--vw-18);
        }      

        .layMain.isNeo .laySection.isProduct .neoProductRecommendList {
            padding: var(--vw-20) var(--vw-20) var(--vw-25);
        } 

        .layMain.isNeo .laySection.isProduct .neoProductRecommendItem {
            margin-left: 0;
            padding-left: var(--vw-32);
        } 

        .layMain.isNeo .laySection.isProduct .neoProductRecommendItem:not(:first-child) {
            margin-top: var(--vw-15);
        } 

        .layMain.isNeo .laySection.isProduct .neoProductRecommendItem::before {
            width: var(--vw-22);
            height: var(--vw-22);
        } 

        .layMain.isNeo .laySection.isProduct .neoMovieWrap {
            width: 100%;
            margin-top: calc(60 * var(--to-vw));
        } 

        .layMain.isNeo .laySection.isProduct .neoMovieWrap > p {
            margin-top: var(--vw-10);
        } 
    }

    /* isFeature */
    .layMain.isNeo .laySection.isFeature .neoFeatureListWrap {
        max-width: 1000px;
        margin: 0 auto 0;
    }

    .layMain.isNeo .laySection.isFeature .neoFeatureItem {
        border-bottom: 1px dotted #707070;
        padding: 30px 40px;
    }

    .layMain.isNeo .laySection.isFeature .neoFeatureItem:first-child {
        padding-top: 0;
    }

    .layMain.isNeo .laySection.isFeature .neoFeatureItemInner {
        display: flex;
        align-items: center;
    }

    .layMain.isNeo .laySection.isFeature .neoFeatureItemNumber {
        max-width: 100px;
    }

    .layMain.isNeo .laySection.isFeature .neoFeatureItemText {
        margin-left: 20px;
        font-size: 22px;
        font-weight: bold;
        color: #000C58;
        line-height: 1.6;
    }

    .layMain.isNeo .laySection.isFeature .productsFeatureWrap {
        padding: 20px 30px;
        margin-top: 20px;
    }

    .layMain.isNeo .laySection.isFeature .productsFeature {
        gap: 32px;
        align-items: center;
    }

    .layMain.isNeo .laySection.isFeature .productsFeatureItem {
        display: flex;
        align-items: center;
        flex: none;
        width: auto;
        border: none;
        margin-left: 0;
        padding-left: 0;
        font-weight: bold;
    }

    .layMain.isNeo .laySection.isFeature .productsFeatureItem::before {
        width: 30px;
        height: 30px;
        font-size: 18px;
        margin-bottom: 0;
    }

    .layMain.isNeo .laySection.isFeature .productsFeatureItem > p {
        flex: 1;
        margin-left: 10px;
    }

    .layMain.isNeo .laySection.isFeature .neoFeatureTextWrap {
        display: flex;
        justify-content: center;
        margin-top: 30px;
        gap: 40px;
    }

    @media screen and (max-width: 750px)  {
        .layMain.isNeo .laySection.isFeature .neoFeatureListWrap {
            max-width: 100%;
            margin: 0;
        }   

        .layMain.isNeo .laySection.isFeature .neoFeatureItem {
            padding: 0;
        }

        .layMain.isNeo .laySection.isFeature .neoFeatureItemInner {
            flex-direction: column;
            justify-content: center;
            margin-top: var(--vw-20);
            margin-bottom: var(--vw-25);
        }

        .layMain.isNeo .laySection.isFeature .neoFeatureItemNumber {
            width: calc(72 * var(--to-vw));
        }

        .layMain.isNeo .laySection.isFeature .neoFeatureItemText {
            margin-left: 0;
            margin-top: var(--vw-10);
            font-size: var(--vw-18);
            text-align: center;
        }

        .layMain.isNeo .laySection.isFeature .productsFeatureWrap {
            margin: var(--vw-15) 0 var(--vw-20);
            padding: var(--vw-15) var(--vw-20);
        }

        .layMain.isNeo .laySection.isFeature .productsFeature {
            margin-top: 0;
        }

        .layMain.isNeo .laySection.isFeature .productsFeatureItem {
            margin-top: 0;
            padding-top: 0;
        }

        .layMain.isNeo .laySection.isFeature .productsFeatureItem:not(:first-child) {
            margin-top: var(--vw-10);
        }

        .layMain.isNeo .laySection.isFeature .productsFeatureItem::before {
            width: var(--vw-22);
            height: var(--vw-22);
            font-size: var(--vw-14);
        }

        .layMain.isNeo .laySection.isFeature .neoFeatureTextWrap {
            flex-direction: column;
            align-items: center;
            margin-top: var(--vw-20);
            gap: var(--vw-10);
        }
    }    

    /* isData */
    .layMain.isNeo .laySection.isData .modTitle {
        margin-bottom: 40px;
    }


    @media screen and (max-width: 750px)  {
        .layMain.isNeo .laySection.isData .neoDataLogo {
            width: 100%;
        }

        .layMain.isNeo .laySection.isData .modTitle {
            font-size: var(--vw-28);
        }
    }  

    /* isEfficacy */
    .layMain.isNeo .laySection.isEfficacy .modNeoHeading {
        margin-bottom: 45px;
    }

    .layMain.isNeo .laySection.isEfficacy .neoEfficacyTitle {
        font-size: 28px;
        text-align: center;
        font-weight: bold;
        color: #000C58;
    }

    .layMain.isNeo .laySection.isEfficacy .neoEfficacyTitleMt {
        margin-top: 40px;
    }

    .layMain.isNeo .laySection.isEfficacy .modText {
        text-align: center;
        margin-top: 20px;
    }

    .layMain.isNeo .laySection.isEfficacy .neoEfficacySubTitle {
        font-size: 14px;
        text-align: center;
        font-weight: bold;
        color: #000C58;
        margin-top: 10px;
    }

    .layMain.isNeo .laySection.isEfficacy .neoEfficacyBox {
        display: flex;
        gap: 60px;
        margin-top: 30px;
    }    

    .layMain.isNeo .laySection.isEfficacy .neoEfficacyBoxLeft {
        width: 440px;
    }    

    .layMain.isNeo .laySection.isEfficacy .neoEfficacyBoxRight {
        width: 700px;
    }    

    .layMain.isNeo .laySection.isEfficacy .neoEfficacyIngredientsTitle {
        font-weight: bold;
        font-size: 16px;
    }

    .layMain.isNeo .laySection.isEfficacy .isBlue .neoEfficacyIngredientsTitle {
        color: #172E90;
    }    

    .layMain.isNeo .laySection.isEfficacy .isRed .neoEfficacyIngredientsTitle {
        color: #E9541D;
    }  

    .layMain.isNeo .laySection.isEfficacy .isYellow .neoEfficacyIngredientsTitle {
        color: #BF9226;
    }  

    .layMain.isNeo .laySection.isEfficacy .neoEfficacyIngredientsItem:not(:first-child) {
        margin-top: 25px;
    }    

    .layMain.isNeo .laySection.isEfficacy .neoEfficacyIngredientsInner {
        display: flex;
        margin-top: 8px;
        align-items: stretch;
    }

    .layMain.isNeo .laySection.isEfficacy .neoEfficacyIngredientsName {
        flex: 16;
        display: flex;
        align-items: center;
        padding: 9px 12px 10px;
        color: white;
        font-size: 16px;
        line-height: 1.5;
    }

    .layMain.isNeo .laySection.isEfficacy .isBlue .neoEfficacyIngredientsName {
        background-color: #172E90;
    }

    .layMain.isNeo .laySection.isEfficacy .isRed .neoEfficacyIngredientsName {
        background-color: #E9541D;
    }

    .layMain.isNeo .laySection.isEfficacy .isYellow .neoEfficacyIngredientsName {
        background-color: #BF9226;
    }

    .layMain.isNeo .laySection.isEfficacy .isGrey .neoEfficacyIngredientsName {
        background-color: #999999
    }

    .layMain.isNeo .laySection.isEfficacy .neoEfficacyIngredientsNote {
        flex: 19;
        display: flex;
        align-items: center;
        padding: 9px 12px 10px;
        font-size: 16px;
        line-height: 1.5;
    }

    .layMain.isNeo .laySection.isEfficacy .isBlue .neoEfficacyIngredientsNote {
        border:1px solid #172E90;
    }

    .layMain.isNeo .laySection.isEfficacy .isRed .neoEfficacyIngredientsNote {
        border:1px solid #E9541D;
    }

    .layMain.isNeo .laySection.isEfficacy .isYellow .neoEfficacyIngredientsNote {
        border:1px solid #BF9226;
    }

    .layMain.isNeo .laySection.isEfficacy .isGrey .neoEfficacyIngredientsNote {
        border:1px solid #999999
    }

    .layMain.isNeo .laySection.isEfficacy .neoEfficacyIngredientsAdd {
        font-size: 14px;
        line-height: 1.6;
        margin-top: 15px;
    }

    @media screen and (max-width: 750px)  {
        .layMain.isNeo .laySection.isEfficacy .modText {
            text-align: left;
            margin-top:  var(--vw-15);
        }

        .layMain.isNeo .laySection.isEfficacy .neoEfficacyTitle {
            font-size: var(--vw-24)
        }

        .layMain.isNeo .laySection.isEfficacy .neoEfficacySubTitle {
            font-size: var(--vw-14)
        }

        .layMain.isNeo .laySection.isEfficacy .neoEfficacyTitleMt {
            margin-top:  var(--vw-30);
        }

        .layMain.isNeo .laySection.isEfficacy .neoEfficacyBoxSp {
            padding-top: var(--vw-25);
            padding-bottom: var(--vw-30);
            border-bottom: 1px dotted #707070;
        } 

        .layMain.isNeo .laySection.isEfficacy .neoEfficacyBox {
            flex-direction: column;
            gap: var(--vw-30);
            margin-top: var(--vw-30);
        }    

        .layMain.isNeo .laySection.isEfficacy .neoEfficacyBoxLeft {
            display: none;
        }    

        .layMain.isNeo .laySection.isEfficacy .neoEfficacyBoxRight {
            width: 100%;
        }    

        .layMain.isNeo .laySection.isEfficacy .neoEfficacyIngredientsTitle {
            text-align: center;
            font-size: var(--vw-16);
        }

        .layMain.isNeo .laySection.isEfficacy .neoEfficacyIngredientsInner {
            flex-direction: column;
        }

        .layMain.isNeo .laySection.isEfficacy .neoEfficacyIngredientsName {
            font-size:  var(--vw-14);
        }

        .layMain.isNeo .laySection.isEfficacy .neoEfficacyIngredientsNote {
            font-size:  var(--vw-14);
        }

        .layMain.isNeo .laySection.isEfficacy .neoEfficacyIngredientsAdd {
            font-size: var(--vw-12);
        }        
    }      


    /* isMechanism */
    .layMain.isNeo .laySection.isMechanism .layInnerMechanismBody {
        padding-left: 100px;
        padding-right: 100px;
    }

    .layMain.isNeo .laySection.isMechanism .neoMechanismInner:first-child {
        margin-top: 40px;
    }

    .layMain.isNeo .laySection.isMechanism .neoMechanismInner {
        margin-top: 60px;
    }

    .layMain.isNeo .laySection.isMechanism .neoMechanismTitle {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 15px;
        font-size: 32px;
        font-weight: bold;
        line-height: 1.3;
    }

    .layMain.isNeo .laySection.isMechanism .neoMechanismTitle.is01 {
        color: #172E90;
    }

    .layMain.isNeo .laySection.isMechanism .neoMechanismTitle.is02 {
        color: #E9541D;
    }

    .layMain.isNeo .laySection.isMechanism .neoMechanismTitle.is03 {
        color: #BF9226;
    }

    .layMain.isNeo .laySection.isMechanism .neoMechanismText {
        margin-top: 20px;
    }

    .layMain.isNeo .laySection.isMechanism .modTextSmall {
        margin-top: 10px;
    }

    .layMain.isNeo .laySection.isMechanism .layColumn {
        margin-top: 30px;
    }

    .layMain.isNeo .laySection.isMechanism .quickactionBox {
        margin-top: 40px;
        gap: 40px;
        justify-content: center;
    }    

    .layMain.isNeo .laySection.isMechanism .modTxt {
        text-align: center;
    }    

    .layMain.isNeo .laySection.isMechanism .neoMechanismBoxText {
        font-size: 18px;
        font-weight: bold;
        line-height: 1.3;
        color: #172E90;
    }

    .layMain.isNeo .laySection.isMechanism .neoMechanismBoxTextBig {
        font-size: 24px;
        font-weight: bold;
        line-height: 1.4;
        color: #172E90;
        margin-top: 10px;
    }    

    .layMain.isNeo .laySection.isMechanism .modNeoAccordion {
        border-top: 1px dotted #707070;
        border-bottom: 1px dotted #707070;
        margin-top: 40px;
    }    

    .layMain.isNeo .laySection.isMechanism .modNeoAccordionTitle {
        color: #172E90;
    }    

    .layMain.isNeo .laySection.isMechanism .modNeoAccordion .modText {
        text-align: left;
    }    

    .layMain.isNeo .laySection.isMechanism .modNeoAccordion .modImage {
        margin-bottom: 0;
    }    

    .layMain.isNeo .laySection.isMechanism .neoMechanismNoteWrap {
        display: flex;
        margin-top: 10px;
        gap: 40px;
    }    

    .layMain.isNeo .laySection.isMechanism .neoMechanismAccordionTextBig {
        font-size: 20px;
        font-weight: bold;
        color: #172E90;
        margin-top: 10px;
        line-height: 1.6;
    }    

    .layMain.isNeo .laySection.isMechanism .layColumn {
        margin-bottom: 10px;
    }

    .layMain.isNeo .laySection.isMechanism .neoMechanismBox {
        display: flex;
        align-items: center;
        gap: 35px;
        margin-top: 30px;
    }

    .layMain.isNeo .laySection.isMechanism .neoMechanismBoxLeft {
        flex: 110;
    }

    .layMain.isNeo .laySection.isMechanism .neoMechanismBoxRight {
        flex: 131;
    }

    @media screen and (max-width: 750px)  {
        .layMain.isNeo .laySection.isMechanism .layInnerMechanismBody {
            padding-left: 0;
            padding-right: 0;
        }

        .layMain.isNeo .laySection.isMechanism .neoMechanismInner {
            margin-top:  var(--vw-40);
        }

        .layMain.isNeo .laySection.isMechanism .neoMechanismTitle {
            font-size: var(--vw-28);
        }

        .layMain.isNeo .laySection.isMechanism .neoMechanismTitle > img {
            width: var(--vw-35);
        }

        .layMain.isNeo .laySection.isMechanism .modTxt {
            text-align: left;
        }    

        .layMain.isNeo .laySection.isMechanism .layColumn {
            margin-top: var(--vw-30);
        }

        .layMain.isNeo .laySection.isMechanism .quickactionBox {
            display: flex;
            flex-direction: column;
            margin-top: var(--vw-30);
            gap: var(--vw-20);
        }    
    
        .layMain.isNeo .laySection.isMechanism .quickactionBoxImage {
            order: 1;
        }    

        .layMain.isNeo .laySection.isMechanism .quickactionBoxTxt {
            order: 0;
        }    

        .layMain.isNeo .laySection.isMechanism .neoMechanismBoxText {
            font-size:  var(--vw-16);
        }

        .layMain.isNeo .laySection.isMechanism .neoMechanismBoxTextBig {
            font-size:  var(--vw-24);
            margin-top: 0;
        }    

        .layMain.isNeo .laySection.isMechanism .neoMechanismNoteWrap {
            flex-direction: column;
            gap:  0;
            margin-top: 0;
        }    
        
        .layMain.isNeo .laySection.isMechanism .neoMechanismAccordionTextBig {
            font-size:  var(--vw-18);
            margin-top: var(--vw-30);
        }    

        .layMain.isNeo .laySection.isMechanism .modNeoAccordion .modBgBox {
            margin-left: calc(-10 * var(--to-vw));
            margin-right: calc(-10 * var(--to-vw));
        }    

        .layMain.isNeo .laySection.isMechanism .neoMechanismBox {
            flex-direction: column;
            gap: var(--vw-12);
            margin-top: var(--vw-25);
        }

        .layMain.isNeo .laySection.isMechanism .neoMechanismBoxLeft {
            flex: 1;
        }

        .layMain.isNeo .laySection.isMechanism .neoMechanismBoxRight {
            flex: 1;
        }

        .layMain.isNeo .laySection.isMechanism .modBgBoxSmall {
            padding: var(--vw-20) var(--vw-18);
        }
    }      

    /* isForUse */
    .layMain.isNeo .laySection.isForUse  {
    }

    .layMain.isNeo .laySection.isForUse .neoForUseTable {
        width: 480px;
        border-collapse: collapse;
        border: 1px solid #ccc;
        font-size: 18px;
        margin: 30px auto 0;
    }

    .layMain.isNeo .laySection.isForUse .neoForUseTable td {
        border: 1px solid #ccc;
        padding: 15px;
        text-align: center;
        vertical-align: middle;
    }
        
    .layMain.isNeo .laySection.isForUse .neoForUseTable .header-cell {
        background-color: #f5f5f5;
        font-weight: bold;
    }
        
    .layMain.isNeo .laySection.isForUse .neoForUseTable .header2-cell {
        width: 91px;
    }
        
    .layMain.isNeo .laySection.isForUse .neoForUseTable .adult-cell {
        width: 193px;
    }
    
    .layMain.isNeo .laySection.isForUse .neoForUseTable .minor-cell {
        color: #E9541D;
        width: 193px;
    }

    .layMain.isNeo .laySection.isForUse .modTxtMt {
        margin-top: 20px;
    }

    .layMain.isNeo .laySection.isForUse .layColumn {
        margin-top: 30px;
    }

    .layMain.isNeo .laySection.isForUse .productsBtnWrap {
        margin-top: 30px;
    }

    .layMain.isNeo .laySection.isForUse .modTxtMt span {
        display: block;
        padding-left: 0.6em;
    }

    @media screen and (max-width: 750px)  {
        .layMain.isNeo .laySection.isForUse .neoForUseTable {
            width: 100%;
            font-size: var(--vw-14);
            margin-top: var(--vw-20);
        }

        .layMain.isNeo .laySection.isForUse .neoForUseTable td {
            padding: var(--vw-10);
        }
            
        .layMain.isNeo .laySection.isForUse .neoForUseTable .header2-cell {
            width: calc(60 * var(--to-vw));
        }
            
        .layMain.isNeo .laySection.isForUse .neoForUseTable .adult-cell {
            width: calc(135 * var(--to-vw));
        }
        
        .layMain.isNeo .laySection.isForUse .neoForUseTable .minor-cell {
            width: calc(135 * var(--to-vw));
        }

        .layMain.isNeo .laySection.isForUse .layColumn {
            margin-top: var(--vw-20);
        }

        .layMain.isNeo .laySection.isForUse .productsBtnWrap {
            margin-top: var(--vw-20);
        }
    }      
    
    /* isProduct isProductBottom */
    .layMain.isNeo .laySection.isProduct.isProductBottom .layInnerProductBottom {
        padding-top: 80px;
        border-top: 1px solid #707070;
    }

    .layMain.isNeo .laySection.isProduct.isProductBottom .productsDetail {
        border-top: none;
        border-bottom: none;
    }    

    @media screen and (max-width: 750px)  {
        .layMain.isNeo .laySection.isProduct.isProductBottom .layInner {
            padding-top: calc(80 * var(--to-vw));
            border-top: 1px solid #707070;
        }    

        .layMain.isNeo .laySection.isProduct.isProductBottom .layInnerProductBottom {
            border: none;
            padding-top: 0;
        }

        .layMain.isNeo .laySection.isProduct.isProductBottom .productsDetail {
            margin-top: 0;
            padding: 0;
        }    

        .layMain.isNeo .laySection.isProduct.isProductBottom .layInner {
            padding-top: calc(60 * var(--to-vw));
        }  
    }

    /* isPurchase */
    .layMain.isNeo .laySection.isPurchase .modTextSmall {
        margin-top: 10px;
    }    

    .layMain.isNeo .laySection.isPurchase .layInnerBlue {
        background-color: #E4F6FC;
        padding-bottom: 40px;
    }    

    .layMain.isNeo .laySection.isPurchase .neoPurchasetitle {
        display: inline-block;
        font-size: 22px;
        font-weight: bold;
        background: linear-gradient(transparent 65%, #EFD931 60%);
        background-size: 100% 100%;
        background-repeat: no-repeat;
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone;
        margin-top: 30px;
    }    

    .layMain.isNeo .laySection.isPurchase .neoPurchaseLinkList {
        list-style: none;
        display: flex;
        gap: 20px;
        justify-content: center;
        flex-wrap: wrap;
        margin-top: 20px;
        padding: 0 60px;
    }
        
    .layMain.isNeo .laySection.isPurchase .neoPurchaseLinkItem {
        flex: 1;
        min-width: 280px;
        max-width: 350px;
    }
        
    .layMain.isNeo .laySection.isPurchase .neoPurchaseLinkDate {
        text-align: center;
        font-weight: bold;
        font-size: 18px;
        position: relative;
        width: 100%;
        padding: 0 80px;
        color: #000C58;
    }

    .layMain.isNeo .laySection.isPurchase .neoPurchaseLinkDate::before,
    .layMain.isNeo .laySection.isPurchase .neoPurchaseLinkDate::after {
        content: '';
        position: absolute;
        top: 50%;
        width: 120px;
        height: 1px;
        background-color: #000C58;
    }
        
    .layMain.isNeo .laySection.isPurchase .neoPurchaseLinkDate::before {
        left: 0;
    }
    
    .layMain.isNeo .laySection.isPurchase .neoPurchaseLinkDate::after {
        right: 0;
    }
        
    .layMain.isNeo .laySection.isPurchase .neoPurchaseLink {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 15px 20px;
        text-decoration: none;
        font-weight: bold;
        transition: opacity 0.2s;
        cursor: pointer;
        border: 3px solid white;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
        margin-top: 10px;
    }
    
    .layMain.isNeo .laySection.isPurchase .neoPurchaseLink:hover {
        opacity: 0.5;
    }
        
    .layMain.isNeo .laySection.isPurchase .two-days {
        background-color: #ffc107;
    }

    .layMain.isNeo .laySection.isPurchase .two-days::after {
        content: "";
        display: block;
        width: 21px;
        height: 16px;
        background: url(/stac/products/images/icon-blank-Y.svg) no-repeat center;
        background-size: contain;
        position: absolute;
        right: 0.75rem;
        top: 50%;
        transform: translateY(-50%);
    }
    
    .layMain.isNeo .laySection.isPurchase .four-days {
        background-color: #e74c3c;
        color: #fff;
    }

    .layMain.isNeo .laySection.isPurchase .four-days::after {
        content: "";
        display: block;
        width: 21px;
        height: 16px;
        background: url(/stac/products/images/icon-blank-O.svg) no-repeat center;
        background-size: contain;
        position: absolute;
        right: 0.75rem;
        top: 50%;
        transform: translateY(-50%);
    }
    
    
    .layMain.isNeo .laySection.isPurchase .six-days {
        background-color: #000C58;
        color: #fff;
    }

    .layMain.isNeo .laySection.isPurchase .six-days::after {
        content: "";
        display: block;
        width: 21px;
        height: 16px;
        background: url(/stac/products/images/icon-blank-B.svg) no-repeat center;
        background-size: contain;
        position: absolute;
        right: 0.75rem;
        top: 50%;
        transform: translateY(-50%);
    }
    
    .layMain.isNeo .laySection.isPurchase .neoPurchaseLinkText {
        display: flex;
        align-items: center;
        gap: 10px;
    }
        
    .layMain.isNeo .laySection.isPurchase .tablet-count {
        font-size: 18px;
    }
        
    .layMain.isNeo .laySection.isPurchase .amazon-text {
        font-size: 18px;
    }

    @media screen and (max-width: 750px)  {
        .layMain.isNeo .laySection.isPurchase .layInnerBlue {
            padding-bottom: var(--vw-20);
        }    

        .layMain.isNeo .laySection.isPurchase .modNeoHeading {
            margin-left: 0;
            margin-right: 0;
            margin-bottom: var(--vw-10);
        } 

        .layMain.isNeo .laySection.isPurchase .neoPurchasetitle {
            font-size: var(--vw-20);
            margin-top: var(--vw-15);
        }    

        .layMain.isNeo .laySection.isPurchase .neoPurchaseLinkList {
            gap: var(--vw-20);
            margin-top: var(--vw-15);
            padding: 0 var(--vw-20);
        }

        .layMain.isNeo .laySection.isPurchase .neoPurchaseLinkItem {
            min-width: 100%;
            max-width: 100%;
        }

        .layMain.isNeo .laySection.isPurchase .neoPurchaseLinkDate {
            font-size: var(--vw-15);
        }

        .layMain.isNeo .laySection.isPurchase .neoPurchaseLinkDate::before,
        .layMain.isNeo .laySection.isPurchase .neoPurchaseLinkDate::after {
            width: calc(100 * var(--to-vw));
        }

        .layMain.isNeo .laySection.isPurchase .tablet-count {
            font-size: var(--vw-16);
        }
            
        .layMain.isNeo .laySection.isPurchase .amazon-text {
            font-size: var(--vw-16);
        }
    }

    /* isQa */
    .layMain.isNeo .laySection.isQa .neoQaListWrap {
        max-width: 1000px;
        margin: 0 auto;
    }    

    .layMain.isNeo .laySection.isQa .topFaqListItem  a {
        min-height: auto;
        padding: 35px 16% 35px 12%;
    }   

    .layMain.isNeo .laySection.isQa .topFaqListItem  a::before {
        left: 5%;
        top: 45%;
        transform: translateY(-50%);
    }   

    .layMain.isNeo .laySection.isQa .topFaqListItem  a::after {
        width: 32px;
        height: 32px;
    }   

    .layMain.isNeo .laySection.isQa .productsBtnWrap {
        margin-top: 30px;
    }   

    @media screen and (max-width: 750px)  {
        .layMain.isNeo .laySection.isQa .neoQaListWrap {
            max-width: none;
        }    

        .layMain.isNeo .laySection.isQa .topFaqListItem  a {
            padding-left: calc(55 * var(--to-vw));
            padding-right: var(--vw-40);
        }   

        .layMain.isNeo .laySection.isQa .topFaqListItem  a::before {
            left: 3%;
        }   

        .layMain.isNeo .laySection.isQa .topFaqListItem  a::after {
            width: 1rem;
            height: 1rem;
        }   

        .layMain.isNeo .laySection.isQa .productsBtnWrap {
            margin-top: var(--vw-30);
        }   
    }