/**********************************
共通
**********************************/
#title{
    padding: 80px 0 150px;
    background: url('../img/top/bg_wave_bottom.svg') center calc(100% + 1px)/ contain no-repeat,
            linear-gradient(to bottom,
                rgba(243, 144, 168, 0.25) 0%,
                rgba(247, 199, 210, 0.20) 100%);
    text-align: center;
}
#title h1{
    font-size: var(--font-size-32);
    font-weight: 700;
    border-bottom: 2px dotted var(--color-pink);
    display: inline-block;
    position: relative;
    line-height: 1.4;
    padding-bottom: 5px;
}
#title h1 img {
    position: absolute;
    left:-35px;
    top:-35px;
    width: 50px;
    display: inline-block;
}
@media only screen and (max-width: 767px) {
    #title {
        padding: 80px 0 100px;
    }
}

.lower{
    margin-bottom: 120px !important;
}
.lower a{
    color: var(--color-pink) !important;
}


/**********************************
faq
**********************************/

.faq .faq_list{
    max-width: 900px;
    width: 90%;
    margin: 60px auto;
}
.faq .faq_list dl dt span{
    background: var(--color-light-pink);
    color: var(--color-pink);
    font-size: var(--font-size-18);
    padding:5px 20px;
    border-radius: 10px;
    margin-right: 5px;
}
.faq .faq_list dl dd{
    margin: 15px 0 50px;
    padding: 20px;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap:20px
}
.faq .faq_list dl dd span{
    font-size: var(--font-size-32);
    color: var(--color-blue);
}
.faq .faq_list .note{
    background: var(--color-light-pink);
    padding:30px;
    border-radius: 10px;
}

/**********************************
dy
**********************************/
.dy .read {
    text-align: center;
    margin: 30px auto;
}
.dy .read h2 {
    color: var(--color-pink);
    font-size: var(--font-size-24);
    font-weight: 500;
    margin-bottom: 10px;
}
.dy .dy_lineup{
    max-width: 950px;
    width: 100%;
    margin: 0 auto;
    border: 2px solid var(--color-pink);
    border-radius: 20px;
    padding: 30px 30px 0;
    box-sizing: border-box;
}
.dy .dy_lineup .box{
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-bottom: 20px;
}
.dy .dy_lineup .box img{
    width: 50% !important;
}
.dy .dy_lineup .box .text_area{
    width: 45%;
}
.dy .dy_lineup .box .text_area h3{
    font-size: var(--font-size-20);
    color: var(--color-pink);
    font-weight: 500;
    margin-bottom: 10px;
}
.dy .bnr_list{
    max-width: 950px;
    width: 100%;
    margin: 60px auto;
    display: flex;
    justify-content: space-between;
    gap: 5%;
}
@media only screen and (max-width: 767px) {
    .dy .read {
        text-align: left;
    }
    .dy .dy_lineup .box {
        flex-direction: column;
        margin-bottom: 30px;
    }
    .dy .dy_lineup .bss,
    .dy .dy_lineup .dh {
        flex-direction: column-reverse;
    }
    .dy .dy_lineup .box img,
    .dy .dy_lineup .box .text_area {
        width: 100% !important;
    }
    .dy .bnr_list {
        flex-direction: column;
        gap:20px;
    }
}

/**********************************
snscp
**********************************/
.snscp .cp_list{
    margin: 40px auto 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    font-weight: 500;
}
.snscp .cp_list li{
    width: 31%;
    border: 1px solid var(--color-pink);
    font-size: var(--font-size-14);
    border-radius: 20px;
}
.snscp .cp_list li a{
    width: 100%;
    display: block;
    color: var(--color-text) !important;
}
.snscp .cp_list li .text_area{
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 20px 0;
    gap:20px;
}
.snscp .cp_list li .text_area img{
    max-width: 60px;
}
.snscp .cp_list li p{
    width: 100%;
    padding:5px 20px;
    box-sizing: border-box;
    text-align: center;
    background: var(--color-light-pink);
    color: var(--color-pink);
    border-radius:  0 0 18px 18px;
}
@media only screen and (max-width: 767px) {
    .snscp .cp_list {
        flex-direction: column;
        gap: 20px;
    }
    .snscp .cp_list li {
        width: 100%;
    }
}
.snscp .cp_area{
    margin: 200px auto;
}
.snscp .cp_area .detail{
    margin: 120px auto 260px;
}
.snscp .cp_area .detail_bg{
    margin: 0 auto;
    padding: 0 0 180px;
    background: url('../img/top/bg_wave_bottom.svg') center calc(100% + 1px)/ contain no-repeat,
        linear-gradient(to bottom,
            rgba(243, 144, 168, 0.25) 0%,
            rgba(247, 199, 210, 0.20) 100%);
}
.snscp .cp_area .detail .detail_main{
    max-width: 1000px;
    width: 90% !important;
    margin: 0 auto;
}
.snscp .cp_area .detail .main_img {
    position: relative;
    z-index: 2;
    border:3px solid #fff;
    border-radius: 20px;
}
.snscp .cp_area #cp03.detail .main_img {
    border: 3px solid var(--color-pink);
}
.snscp .cp_area .detail_bg .main_img {
    margin: -200px auto 0;
}
.snscp .cp_area .detail_inner{
    max-width: 900px;
    width: 100%;
    margin: 30px auto 0;
}
.snscp .cp_area .detail .detail_inner .read span{
    color: var(--color-pink);
    font-weight: 500;
}
.snscp .cp_area .detail .detail_inner dl{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
    row-gap: 20px;
    margin: 20px 0;
}
.snscp .cp_area .detail .detail_inner dt {
    width: 15%;
    background: var(--color-light-pink);
    color: var(--color-pink);
    font-weight: 500;
    padding: 5px 0;
    text-align: center;
    border-radius: 10px;
}
.snscp .cp_area .detail_bg .detail_inner dt{
    background: #fff;
    color: var(--color-pink);
}
.snscp .cp_area .detail .detail_inner dd{
    width: 80%;
    padding: 5px 0;
}
.snscp .cp_area .detail .detail_inner .box {
    overflow-y: scroll;
    padding: 0 20px 20px;
    text-align: left;
    height: 250px;
    border: 1px solid var(--color-line);
    background: #fff;
    border-radius: 10px;
    margin: 30px auto 0;
    overflow-wrap: break-word;
    word-break: break-word;
}
.snscp .cp_area .detail .detail_inner .box li {
    margin: 30px 0 0 0;
    line-height: 1.6;
}
.snscp .cp_area .detail .detail_inner .box a,
.snscp .cp_area .detail .detail_inner .box h3,
.snscp .cp_area .detail .detail_inner .box p {
    font-weight: normal;
    font-size: var(--font-size-16);
    line-height: 150%;
    margin: 5px 0 0 0;
}
.snscp .cp_area .detail .detail_inner .box a {
    color: var(--color-red);
}
.snscp .cp_area .detail .detail_inner .box h3 {
    font-weight: bold;
}
.snscp .cp_area .detail .detail_inner .box ul li {
    font-size: 16px !important;
}
.snscp .cp_area .detail .detail_inner .box ul.notes {
    margin: 10px 0 0 0;
}
.snscp .cp_area .detail .detail_inner .box ul.notes li {
    padding-left: 1em;
    text-indent: -1em;
    margin: 5px 0 0 0;
}
.snscp .cp_area .detail .detail_inner .box ul.dotlist>li {
    padding-left: 1em;
    text-indent: -1em;
    margin: 10px 0 0 0;
}
.snscp .cp_area .detail .detail_inner .box ul.steplist>li {
    padding-left: 3.5em;
    text-indent: -3.5em;
    margin: 10px 0 0 0;
}
.snscp .cp_area .detail .detail_inner .box ul.numberlist>li {
    padding-left: 1.2em;
    text-indent: -1.2em;
    margin: 10px 0 0 0;
}
.snscp .cp_area .detail .detail_inner .box ul.double_list li:nth-child(n+10) {
    padding-left: 1.9em;
    text-indent: -1.9em;
    margin-left: -0.6em;
}
@media only screen and (max-width: 767px) {
    .snscp .cp_area {
        margin: 200px auto 0;
    }
    .snscp .cp_area .detail {
        margin: 100px auto 280px;
    }
    .snscp .cp_area .detail_bg {
        margin: 0px auto;
        padding: 0 0 60px;
    }
    .snscp .cp_area .detail_inner {
        margin: 20px auto 0;
    }
    .snscp .cp_area .detail .detail_inner dt {
        width: 20%;
    }
    .snscp .cp_area .detail .detail_inner dd {
        width: 75%;
    }
    .snscp .cp_area .detail .detail_inner dd span{
        font-size: clamp(12px, 3.4vw, 14px);
    }
}

/**********************************
product
**********************************/
.product .read{
    width: 90%;
    margin: 40px auto 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.product .read img{
    max-width: 60px;
    width: 100%;
}
.product .item_area{
    margin: 80px auto 0;
}
.product h2{
    font-size:  var(--font-size-24);
    font-weight: 700;
    border-bottom: 2px dotted var(--color-pink);
    padding-bottom: 5px;
}
.product .item_list{
    margin: 40px auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 30px;
}
.product .item_list li{
    width: 32%;
    border: 1px solid var(--color-line);
    border-radius: 10px;
}
.product .item_list li a{
    padding: 20px 20px 20px 5px;
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--color-text) !important;
    height: 100%;
}
.product .item_list li a .item_img {
    max-width: 150px;
    width: 100%;
}
.product .item_list li a .detail {
    width: 70%;
    padding: 10px 0 0;
}
.product .item_list li a .detail h3{
    font-weight: 700;
}
.product .item_list li a .detail p{
    font-size: var(--font-size-14);
}
.product .item_list li a .seal{
    max-width: 60px;
    position: absolute;
    top:-15px;
    left:-15px;
}
.product .belt_menu{
    display: flex;
    justify-content: center;
    gap: 20px;
}
.product .belt_menu a.btn{
    margin: 0;
}
.product .list_btn{
    margin: 60px auto 0;
}
@media only screen and (max-width: 767px) {
    .product .item_area {
        margin: 60px auto 0;
    }
    .product .item_list li {
        width: 100%;
    }
    .product .belt_menu {
        flex-direction: column;
        gap: 20px;
    }
    .product .belt_menu a.btn {
        margin: 0 auto;
    }
}


/**********************************
prod_list
**********************************/
.prod_list .list_wrap {
    margin: 60px auto;
    display: flex;
    justify-content: space-between;
    flex-flow: wrap;
}
.prod_list .pdt-block-l {
    width: 48%;
}
.prod_list .pdt-block-r {
    width: 48%;
}
.prod_list .tbl-pdt-red {
    width: 100%;
    margin: 0 0 30px;
}
.prod_list .tbl-pdt-red .tbl-ttl {
    background-color: var(--color-light-pink);
    color: var(--color-pink);
    text-align: center;
}
.prod_list .tbl-pdt-red td {
    border: 1px solid #bebebe;
    padding: 7px;
    background: #fff;
}
.prod_list .tbl-pdt-red .cell_r {
    width: 50px;
    text-align: center;
}
.prod_list .pdt-notes {
    line-height: 20px;
}
@media only screen and (max-width: 767px) {
    .prod_list .list_wrap {
        flex-direction: column;
    }
    .prod_list .pdt-block-l,
    .prod_list .pdt-block-r {
        width: 100%;
    }
    .prod_list .tbl-pdt-red {
        width: 95%;
        margin: 0 auto 30px;
    }
    .prod_list .pdt-notes {
        width: 90%;
        margin: 20px auto;
    }
    .prod_list .tbl-pdt-red .tbl-ttl {
        padding: 10px;
    }
    .prod_list .tbl-pdt-red td {
        padding: 10px;
    }
}