@charset "utf-8";
/* =================================================================================
 Module
================================================================================= */

/* margin
------------------------------------------------------- */
/* margin top */
.mT_5{margin-top:5px !important;}
.mT_10{margin-top:10px !important;}
.mT_15{margin-top:15px !important;}
.mT_20,.mT_20sp10{margin-top:20px !important;}
.mT_30,.mT_30sp15{margin-top:30px !important;}
.mT_40,.mT_40sp20{margin-top:40px !important;}
.mT_50{margin-top:50px !important;}
.mT_60,.mT_60sp30{margin-top:60px !important;}
.mT_80,.mT_80sp40{margin-top:80px !important;}
/* margin right */
.mR_5{margin-right:5px !important;}
.mR_10{margin-right:10px !important;}
.mR_20{margin-right:20px !important;}
/* margin bottom */
.mB_0,.cmnTtl_3.mB_0{margin-bottom: 0;}
.mB_5{margin-bottom:5px !important;}
.mB_10{margin-bottom:10px !important;}
.mB_20,.mB_20sp10{margin-bottom:20px !important;}
.mB_30,.mB_30sp20,.mB_30sp15{margin-bottom:30px !important;}
.mB_40,.mB_40sp30,.mB_40sp20,.mB_40sp10{margin-bottom:40px !important;}
.mB_50,.mB_50sp25{margin-bottom:50px !important;}
.mB_60,.mB_60sp30,.mB_60sp40{margin-bottom:60px !important;}
.mB_80,.mB_80sp50,.mB_80sp40{margin-bottom:80px !important;}
/* margin left */
.mL_5{margin-left:5px !important;}
.mL_10{margin-left:10px !important;}
.mL_20{margin-left:20px !important;}

@media only screen and (max-width:640px){
.mT_20sp10{margin-top:10px !important;}
.mT_30sp15{margin-top:15px !important;}
.mT_40sp20{margin-top:20px !important;}
.mT_60sp30{margin-top:30px !important;}
.mT_80sp40{margin-top:40px !important;}
.mB_20sp10,.mB_40sp10{margin-bottom:10px !important;}
.mB_30sp15{margin-bottom:15px !important;}
.mB_40sp20,.mB_30sp20{margin-bottom:20px !important;}
.mB_50sp25{margin-bottom:25px !important;}
.mB_60sp30,.mB_40sp30{margin-bottom:30px !important;}
.mB_60sp40,.mB_80sp40{margin-bottom:40px !important;}
.mB_80sp50{margin-bottom:50px !important;}
}

/* padding
------------------------------------------------------- */
/* padding top */
.pT_5{padding-top:5px !important;}
.pT_10{padding-top:10px !important;}
.pT_20{padding-top:20px !important;}
.pT_30{padding-top:30px !important;}
.pT_40{padding-top:40px !important;}
/* padding right */
.pR_5{padding-right:5px !important;}
.pR_10{padding-right:10px !important;}
.pR_20{padding-right:20px !important;}
.pR_30{padding-right:30px !important;}
/* padding bottom */
.pB_5{padding-bottom:5px !important;}
.pB_10{padding-bottom:10px !important;}
.pB_20{padding-bottom:20px !important;}
.pB_30{padding-bottom:30px !important;}
.pB_40{padding-bottom:40px !important;}
.pB_80{padding-bottom:80px !important;}
/* padding left */
.pL_5{padding-left:5px !important;}
.pL_10{padding-left:10px !important;}
.pL_20{padding-left:20px !important;}
.pL_30{padding-left:30px !important;}

.dIB{display:inline-block !important;}
.dB,.dB_pc{display:block !important;}
.dB_sp,.dIB_sp{display:none !important;}
.dIB_pc{display:inline-block !important;}

@media only screen and (max-width:640px){
.dB_sp{display:block !important;}
.dIB_sp{display:inline-block !important;}
.dIB_pc,.dB_pc{display:none !important;}
}

/* wrap
------------------------------------------------------- */
.wrap10{padding:10px;}
.wrap20,.wrap20sp10{padding:20px;}
.wrapRL10{padding:0 10px;}
.wrapRL20,.wrapRL20sp10,.wrapRL20sp0{padding:0 20px;}
.wrapRL90sp10,.wrapRL90sp0{padding:0 90px;}
.wrapTB30,.wrapTB30sp15{padding:30px 0;}

@media only screen and (max-width:640px){
.wrap20sp10{padding:10px;}
.wrapRL20sp0,.wrapRL90sp0{padding:0;}
.wrapRL20sp10,.wrapRL90sp10{padding:0 10px;}
.wrapTB30sp15{padding:15px 0;}
}

/* text-align
------------------------------------------------------- */
.tACenter,.tACspR,.tACspL{text-align:center!important;}
.tARight ,.tARspC{text-align:right!important;}
.tALeft,.tALspC{text-align:left!important;}
.tAJustify{text-align: justify!important;}

@media only screen and (max-width:640px){
.tACspR{text-align:right!important;}
.tALspC,.tARspC{text-align:center!important;}
.tACspL{text-align:left!important;}
}

/* vertical-align
------------------------------------------------------- */
.vATop{vertical-align:top!important;}
.vAMid{vertical-align:middle!important;}
.vABtm{vertical-align:bottom!important;}

/* txt
------------------------------------------------------- */
.fWBold{font-weight:bold !important;}
.fWNormal{font-weight:normal !important;}
.fWMedium{font-weight:500 !important;}

.fSize10{font-size:10px !important;}
.fSize12,.fSize12sp10{font-size:12px !important;}
.fSize14,.fSize14sp12{font-size:14px !important;}
.fSize16{font-size:16px !important;}
.fSize18,.fSize18sp14{font-size:18px !important;}
.fSize20sp16{font-size:20px !important;}
.fSize24,.fSize24sp18{font-size:24px !important;}
.fSize36,.fSize36sp24{font-size:36px !important;}

@media only screen and (max-width:640px){
.fSize12sp10{font-size:10px !important;}
.fSize14sp12{font-size:12px !important;}
.fSize18sp14{font-size:14px !important;}
.fSize20sp16{font-size:16px !important;}
.fSize24sp18{font-size:18px !important;}
.fSize36sp24{font-size:24px !important;}
}

.fCRed {color: #d00 !important;}
.fCPink {color: #f66c6c !important;}
.fCGreen {color: #00573f !important;}
.fCOrange {color: #ffa311 !important;}
.fCPurple {color: #5f0fd7 !important;}


/* button 
------------------------------------------------------- */
.cmnBtn_1{
    position: relative;
    display: inline-block;
    min-width: 150px;
    padding: 8px 40px 10px;
    border-radius: 30px;
    box-sizing: border-box;
    background-color: #2d705c;
    color: #fff;
    font-size: 16px;
    text-align: center;
    transition: background .3s;
}

.cmnBtn_1:hover{
    color: #fff;
    background-color: #e27777;
}

.cmnBtn_1.arrow::after{
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 5px);
    right: 15px;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-left: 7px solid #fff;
    box-sizing: border-box;
}

.cmnBtn_2{
    position: relative;
    display: inline-block;
    min-width: 120px;
    padding: 6px 15px;
    border: 2px solid #f66c6c;
    box-sizing: border-box;
    color: #f66c6c;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    transition: all .3s;
}
.cmnBtn_2.arrow{padding-right: 25px;}

.cmnBtn_2.arrow::after{
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 4px);
    right: 5px;
    width: 0;
    height: 0;
    border: 4px solid transparent;
    border-left: 6px solid #f66c6c;
    box-sizing: border-box;
    transition: border .3s;
}

.cmnBtn_2:hover{
    border-color: #2d705c;
    color: #2d705c;
}

.cmnBtn_2.arrow:hover::after{
    border-left-color: #2d705c;
}

@media only screen and (max-width:640px){
    .cmnBtn_1{
        min-width: 120px;
        padding: 8px 30px 10px;
        font-size: 14px;
    }

    .cmnBtn_1.arrow{
        padding-left: 25px;
    }

    .cmnBtn_1.arrow::after{
        right: 10px;
    }

    .cmnBtn_2{font-size: 14px;}

    .cmnBtn_2.arrow::after{top: calc(50% - 3px);}
}

.orderBtn{
    position: relative;
    display: inline-block;
    min-width: 360px;
    padding: 20px 50px;
    border-radius: 120px;
    box-sizing: border-box;
    background-color: #e27777;
    color: #fff;
    font-size: 24px;
    text-align: center;
    transition: background .3s;
}

.orderBtn:hover{
    color: #fff;
    background-color: #2d705c;
}

.orderBtn.arrow::after{
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 10px);
    right: 15px;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-left: 15px solid #fff;
    box-sizing: border-box;
}

@media only screen and (max-width:640px){
    .orderBtn{
        min-width: 300px;
        padding: 20px 45px;
        border-radius: 120px;
        font-size: 22px;
    }

    .orderBtn.arrow::after{
        top: calc(50% - 8px);
        right: 15px;
        border-width: 8px;
        border-left-width: 12px;
    }
}

/* ttl
------------------------------------------------------- */
.cmnTtl_1{
    position: relative;
    line-height: 1;
    margin-bottom: 40px;
    text-align: center;
}

.cmnTtl_1 .main{
    color: #00573f;
    font-size: 52px;
    font-weight: 500;
    letter-spacing: 2px;
}

.cmnTtl_1 .sub{
    display: block;
    line-height: 2.8;
    color: #321200;
    font-size: 20px;
    font-weight: bold;
}

.cmnTtl_2,
.cmnTtl_4{
    margin-bottom: 15px;
    text-align: center;
}

.cmnTtl_2 > span,
.cmnTtl_2 > span,
.cmnTtl_4 > span,
.cmnTtl_4 > span{
    position: relative;
    display: inline-block;
    padding: 0 28px;
    font-size: 20px;
    font-weight: bold;
}

.cmnTtl_2 > span::before,
.cmnTtl_2 > span::after,
.cmnTtl_4 > span::before,
.cmnTtl_4 > span::after{
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 10px);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: repeating-linear-gradient(-45deg, #e99393, #e99393 3px,#ffe9e9 3px, #ffe9e9 5px);
}

.cmnTtl_2 > span::before,
.cmnTtl_4 > span::before{
    left: 0;
}

.cmnTtl_2 > span::after,
.cmnTtl_4 > span::after{
    right: 0;
}

.cmnTtl_3{
    position: relative;
    margin-bottom: 5px;
    padding-left: 12px;
    font-size: 18px;
    font-weight: bold;
}

.cmnTtl_3::before{
    content: "";
    display: block;
    position: absolute;
    top: 9px;
    left: 0;
    width: 5px;
    height: 21px;
    background: repeating-linear-gradient(-45deg, #f66c6c, #f66c6c 3px,#fff4f4 3px, #fff4f4 5px);
}

.cmnTtl_4{margin-bottom: 30px;}

.cmnTtl_4 .sub{
    display: inline-block;
    position: absolute;
    bottom: -24px;
    left: 50%;
    width: 100%;
    transform: translateX(-50%);
    font-size: 16px;
}

.cmnTtl_5{
    line-height: 1.2;
    margin-bottom: 30px;
    font-size: 24px;
    text-align: center;
}

.cmnTtl_5 > span{
    display: inline-block;
    position: relative;
    padding: 0 40px;
    box-sizing: border-box;
}

.cmnTtl_5 > span::before,
.cmnTtl_5 > span::after{
    content: "";
    display: block;
    position: absolute;
    bottom: -3px;
    width: 2px;
    height: 30px;
    border-radius: 50%;
    background-color: #321200;
}

.cmnTtl_5 > span::before{
    left: 10px;
    transform: rotate(-25deg);
}

.cmnTtl_5 > span::after{
    right: 10px;
    transform: rotate(25deg);
}

.ribbonTtl{
    margin-bottom: 40px;
    text-align: center;
}

.ribbonTtl > span{
    display: inline-block;
    position: relative;
    min-width: 250px;
    padding: 0 10px;
    height: 46px;
    line-height: 45px;
    background-color: #f66c6c;
    box-sizing: border-box;
    font-size: 22px;
    font-weight: 500;
    color: #fff;
}

.ribbonTtl > span::before,
.ribbonTtl > span::after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    width: 20px;
    height: 46px;
    background: url("../images/img_deco_ribon.png") no-repeat top left / 100% auto;
}

.ribbonTtl > span::before{
    left: -19px;
}

.ribbonTtl > span::after{
    right: -19px;
    transform: rotateY(180deg);
}

@media only screen and (max-width:640px){
    .cmnTtl_1{
        margin-bottom: 20px;
    }

    .cmnTtl_1 .main{
        font-size: 32px;
        letter-spacing: 1px;
    }

    .cmnTtl_1 .sub{
        font-size: 14px;
    }

    .cmnTtl_2 > span,
    .cmnTtl_4 > span{
        padding: 0 20px;
        font-size: 18px;
    }

    .cmnTtl_2 > span::before,
    .cmnTtl_2 > span::after,
    .cmnTtl_4 > span::before,
    .cmnTtl_4 > span::after{
        top: calc(50% - 7px);
        width: 15px;
        height: 15px;
        background: repeating-linear-gradient(-45deg, #e99393, #e99393 2px,#ffe9e9 2px, #ffe9e9 4px)
    }

    .cmnTtl_3{
        padding-left: 12px;
        font-size: 16px;
    }

    .cmnTtl_3::before{
        top: 5px;
        height: 15px;
    }

    .cmnTtl_4 .sub{
        bottom: -21px;
        font-size: 14px;
    }

    .cmnTtl_5{
        line-height: 1.5;
        font-size: 18px;
    }

    .cmnTtl_5 > span{padding: 0 20px;}

    .cmnTtl_5 > span::before{left: 5px;}
    .cmnTtl_5 > span::after{right: 5px;}

    .ribbonTtl{
        margin-bottom: 20px;
    }

    .ribbonTtl > span{
        min-width: 190px;
        height: 35px;
        line-height: 34px;
        font-size: 16px;
    }

    .ribbonTtl > span::before,
    .ribbonTtl > span::after{
        width: 15px;
        height: 35px;
    }

    .ribbonTtl > span::before{
        left: -14px;
    }

    .ribbonTtl > span::after{
        right: -14px;
    }
}

/* common
------------------------------------------------------- */
.spBrNone br{display:block;}
.pcBrNone br{display:none;}

.w_100{width:100%;}
.spW_100{width:auto;}
.pcLH_15{line-height: 1.5;}
.pcLH_18{line-height: 1.8;}
.bR_10{border-radius: 10px;}

.bgCBeige{background-color: #f3ede9;}

.bgCBeigeCnt{
    padding: 80px 0;
    background-color: #f3ede9;
}

.cntBgWhite,
.cntBgPink{
    padding: 40px;
    border-radius: 10px;
}

.cntBgWhite{background-color: #fff;}
.cntBgPink{background-color: #f9eeee;}

.indentLst li {
    padding-left: 1em;
    text-indent: -1em;
}

@media only screen and (max-width:640px){
    .spBrNone br{display:none;}
    .pcBrNone br{display:block;}
    .spW_100{width:100%;}
    .pcLH_15,.pcLH_20{line-height: 1.6;}

    .bgCBeigeCnt{
        padding: 40px 0;
    }

    .cntBgWhite,
    .cntBgPink{
        padding: 25px 15px;
    }
}


/* clm
------------------------------------------------------- */
.twoClm{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: -40px;
}

.twoClm.middle{align-items: center;}

.twoClm.reverse{flex-direction: row-reverse;}

.twoClm .clm{
    width: 460px;
    margin-top: 40px;
}
.cntBgWhite .twoClm .clm{width: 480px;}

.twoClm .clm:nth-child(2n-1){margin-left: 0;}

.twoClm.thumb .clm{width: 580px;}
.twoClm.thumb .clm:last-child{width: 460px;}

@media only screen and (max-width:640px){
    .twoClm{margin-top: -20px;}

    .twoClm .clm{
        width: calc(50% - 10px);
        margin-top: 20px;
    }

    .twoClm.row{
        display: block;
        margin-top: 0;
    }

    .twoClm.row .clm,
    .cntBgWhite .twoClm.row .clm{
        width: auto;
    }

    .twoClm.row .clm:first-child{margin-top: 0;}

    .twoClm.thumb .clm{width: 100%;}
    .twoClm.thumb .clm:last-child{width: 100%;}

    .twoClm.thumb .clm.maxWSmall{
        width: 300px;
        margin-left: auto;
        margin-right: auto;
    }
}


/* tbl
------------------------------------------------------- */

.cmnTbl,
.cmnTbl_2{
    width:100%;
}

.cmnTbl th,
.cmnTbl td{
    padding: 10px;
    word-break: break-all;
    vertical-align: top;
    border: 1px solid #ccc;
    background-color: #fff;
    box-sizing: border-box;
}

.cmnTbl_2 th,
.cmnTbl_2 td{
    padding: 10px;
    line-height: 1.5;
    word-break: break-all;
    vertical-align: top;
    box-sizing: border-box;
    border-bottom: 1px dashed #999;
}

.cmnTbl th,
.cmnTbl_2 th{
    width: 25%;
    font-weight: 500;
}

@media only screen and (max-width:640px){
.cmnTbl th,
.cmnTbl td{
    padding:8px;
}

.cmnTbl.row th,
.cmnTbl.row td{
    display:block;
    width:100%;
    box-sizing:border-box;
    border-bottom:none;
}

.cmnTbl.row tr:last-child td:last-child{border-bottom:1px solid #ccc;}

.cmnTbl_2.row th,
.cmnTbl_2.row td{
    display:block;
    width:100%;
    padding: 5px;
    box-sizing:border-box;
}

.cmnTbl_2.row th{
    border-bottom:none;
    font-weight: 700;
}

.cmnTbl_2.row td{padding-top: 0;}
}


/* form
------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="tel"]{
    width: 50%;
}

textarea{
    width: 100%;
}

.wpcf7 [role="alert"]{
    display:block;
    color:#f00;
}

.wpcf7 .wpcf7-response-output{
    margin:5px;
    text-align:center;
}

.wpcf7 label{display: inline-block;}

.wpcf7-radio > span{margin-right:20px;}
.wpcf7-radio > span:last-child{margin-left:0;}

textarea.wpcf7-textarea{min-height: 100px;}

@media only screen and (max-width:640px){
    input[type="text"],
    input[type="email"],
    input[type="tel"]{
        width: 100%;
    }

    textarea.wpcf7-textarea,
    input.wpcf7-text{
        width: 100%;
    }
}

/* fadein
------------------------------------------------------- */
.sa {
  opacity: 0;
  transition: all .8s ease-out;
}
 
.sa.show {
  opacity: 1;
  transform: none;
}
 
.sa--lr { transform: translate(-50px, 0);}
.sa--rl { transform: translate(50px, 0);}
.sa--up { transform: translate(0, 50px);}
.sa--down { transform: translate(0, -50px);}
.sa--scaleUp { transform: scale(.5);}
.sa--scaleDown { transform: scale(1.1);}
.sa--rotateL { transform: rotate(180deg);}
.sa--rotateR { transform: rotate(-180deg);}

/* clear fix
------------------------------------------------------- */
.clear::after{
    content:"";
    display:block;
    clear:both;
    height:0;
}

/* EOF */
