/* ロード画面 */
.page-loader {
    position: fixed;
    background: #f7f7f7;
    bottom: 0;
    right: 0;
    left: 0;
    top: 0;
    z-index: 9998;
}
.loader, .loader:after {
    border-radius: 50%;
    width: 46px;
    height: 46px;
}
.loader {
    position: absolute;
    border-left: 2px solid #ffffff;
    border-top: 2px solid rgba(40,107,84,0.5);
    border-right: 2px solid rgba(40,107,84,0.5);
    border-bottom: 2px solid rgba(40,107,84,0.5);
    height: 46px;
    width: 46px;
    left: 50%;
    top: 50%;
    margin: -23px 0 0 -23px;
    text-indent: -9999em;
    font-size: 10px;
    z-index: 9999;
    -webkit-animation: load 0.8s infinite linear;
    -moz-animation: load 0.8s infinite linear;
    ms-animation: load 0.8s infinite linear;
    o-animation: load 0.8s infinite linear;
    animation: load 0.8s infinite linear;
}
@-webkit-keyframes load {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)}
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)}
}
@keyframes load {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)}
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)}
}
main {
  font-size: 16px;
  background: #fff;
  font: 400 16px/1.8 "Hiragino Kaku Gothic ProN", "Hiragino Sans", "繝｡繧､繝ｪ繧ｪ", Meiryo, "BIZ UDPGothic", sans-serif;
  color: #666;
  -webkit-font-smoothing: antialiased;
}
main h1{
    letter-spacing: 5px;
    margin: 0;
}
main h2{
    padding: 80px 15px 50px;
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    letter-spacing: 5px;
    line-height: 140%;
    margin:0 auto;
    max-width: 800px;
    color:#333;
}
main h3 {
  font-weight: bold;
  margin: 0;
  padding: 0;
}
.t_storys, .t_product, .t_voice, .t_news, .f_cv,
#f_menu, .t_voice, .storys_cont, .page_nav, .breadcrumb,
.product_list, .kv_product, .product_detail, .conponent_list,
.addition, .conponent_detail, .use, .plus_one, .services_detail, .services_benefits, .retailers_detail, .news_cont, .sitemap_cont, .trial_top, .trial_list, .counseling_cont, .faq_cont, .phone_number, .contact_cont, .line_contact, .not_found,.pickup div,.pickup2 div{
    max-width: 1100px;
    margin: 0 auto;
}
.flex {
    display: flex;
    flex-wrap: wrap;
}
.bg_visibility{
    background: rgba(0,0,0,0.4);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 0;
}
.breadcrumb{
    position: relative;
    background: #FFF;
    flex-wrap: nowrap;
    font-size: 12px;
    padding: 20px;
}
.breadcrumb li{
    margin-right: 15px;
    line-height: 100%;
}
.breadcrumb li a{
    color:#236C54;
}
.breadcrumb li a:after{
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    font-weight: 900;
    margin-left: 15px;
    color: #666;
}
.main_title{
    position: relative;
    overflow: hidden;
    height: 360px;
}
#storys .text,
#product .text,
#services .text,
#retailers .text,
#news .text,
#sitemap .text,
#trial .text,
#counseling .text,
#faq .text,
#contact .text,
.page-contentspages .text{
    position: absolute;
    top: 36%;
    width: 100%;
    display: block;
    margin: 0 auto;
    text-align: center;
    color:#FFF;
    z-index: 1;
}
.text p{
    font-size: 18px;
    letter-spacing: 5px;
    text-shadow: #333 0px 0 8px, #333 0 0 8px, #333 0 0 8px;
}
.text h1{
    padding: 10px 0 15px;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 34px;
    text-shadow: #333 0px 0 8px, #333 0 0 8px, #333 0 0 8px;
    margin: 0;
    letter-spacing: 5px;
}
.base_image{
    background-image: url(../img/common/bg_kv_base.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 360px;
}
sup{
    vertical-align: super;
    font-size:10px;
}
@media (min-width: 768px) {
    .pc_none{
        display: none;
    }
    .bnr_product .pc_none,
    .special .pc_none{
        display: none;
    }
}
@media (max-width: 767px) {
    main h2{
        letter-spacing: 2px !important;
        padding: 50px 0px 30px;
    }
    .sp_none{
        display: none;
    }
    .bnr_product .sp_none{
        display: none;
    }
    .main_title{
        height: 260px;
    }
    .text h1 {
        padding: 0 0 15px;
    }
    .breadcrumb{
        flex-wrap: wrap;
    }
    .breadcrumb li{
        margin-bottom: 15px;
    }
    .breadcrumb li:last-child{
        margin: 0;
    }

}
@media (max-width: 420px) {
    .text h1 {
        font-size: 8vw;
    }
    .text p {
        font-size: 4.4vw;
    }
    .news-content{
        height: 100vh;
        width: 100%;
        overflow-y: scroll;
        padding: 80px 30px;
    }
    .news-overlay {
        background-color: #FFF;
    }
    .poptitle{
        margin-bottom: 10px;
    }
    .pop_scroll p{
        line-height: 160%;
    }
    .pop_scroll a{
        display: block;
        margin-bottom: 30px;
    }
}
@media (max-width: 402px) {
    .pickup p,.pickup2 p{
        width: 75vw;
        font-size: 11px;
    }
}


/********************************************************
otameshi
*********************************************************/

.trial_image{
    background-image: url(/img/usr/freepages./otameshi/bg_kv_product_2nd.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 360px;
}
.trial_top{
    margin-top:80px;
}
.trial_top .flex div{
    width: 50%;
}
.trial_top div h2{
    text-align: justify;
    font-size: 29px;
    font-family: "Noto Serif JP", "繝偵Λ繧ｮ繝取�譛� ProN W6", "HiraMinProN-W6", "HG譏取悃E", "�ｭ�ｳ �ｰ譏取悃", "MS PMincho", "MS 譏取悃", serif;
    font-weight: bold;
    color: #333;
    margin: 0 30px 20px;
    padding: 0;
}
.trial_top div p{
    margin: 0 30px 20px;
}
.btn_trial{
    position: relative;
    display: block;
    max-width: 700px;
    background: #2ca67c;
    padding: 15px;
    text-align: center;
    margin: 0 auto;
    color: #FFF;
    font-size: 20px;
    letter-spacing: 2px;
    border-radius: 5px;
    box-shadow: 0px 5px 0px 0px rgba(35,107,83,1);
    transition: all 0.3s;
}
.btn_trial:after{
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    font-weight: 900;
    position: absolute;
    top: 25%;
    right: 10px;
}
.btn_trial:hover{
    margin:5px auto -5px;
    box-shadow: none;
}
.trial_top .trial_catch p{
    font-size: 28px;
    text-align: center;
    padding-bottom: 30px;
    margin-bottom: 0;
    line-height: 170%;
    color: #333;
}
.trial_top .trial_catch{
    margin: 0 15px 60px;
}
.trial_catch .free{
    display: block;
    background: #ffe9e9;
    font-size: 14px;
    color: #b50000;
    max-width: 440px;
    margin: 10px auto 0;
    line-height: 200%;
}
.trial_top aside{
    padding: 20px;
    background: #f9f9f9;
    border: 3px solid #CCC;
    max-width: 1100px;
    margin: 0 15px 80px;
    text-align: left;
    font-size: 14px;
}
.trial_top aside h3{
    text-align: left;
    font-size: 16px;
    text-decoration: underline;
}
.trial_top aside p{
    margin: 0;
}
.trial_list li{
    width: 23%;
    margin: 0 1%;
    text-align: center;
    font-size: 14px;
}
.trial_list li img{
    display: block;
    margin: 0 auto;
}
.trial_list li span {
    font-weight: bold;
}
.trial_list li p{
    text-align: left;
    margin-top:20px;
}
.f_btn{
    padding: 60px 0 80px;
}

@media (max-width: 767px) {
    .page-contentspages .text h1{
        letter-spacing: normal;
    }
    .trial_list{
        margin: 0 15px;
    }
    .trial_list li{
        width: 46%;
        margin: 0 2% 5%;
    }
    .trial_top .img_box{
        width: 100%;
        margin: 0 15px;
    }
    .trial_top .flex div{
        width: 100%;
    }
    .trial_top .trial_catch p{
        font-size: 22px;
    }
    .btn_trial{
        font-size: 16px;
    }
    .trial_top div h2{
        font-size: 6vw;
        letter-spacing: 0 !important;
        margin: 10px 30px 15px;
        padding-bottom: 20px;
        border-bottom: 1px solid #CCC;
    }
}

.cv_box{
    background: #e3f5ef;
}
.f_cv{
    padding: 30px;
}
.f_cv div{
    position: relative;
    width: 32.3%;
    margin: 0.5%;
}
.f_bg{
    background: #f9f9f9;
}

@media (max-width: 767px) {
    .f_cv .f_tel{
        box-sizing: border-box;
        width: 100%;
        margin: 0 0 3%;
    }
    .f_cv .f_trial, .f_cv .f_order{
        box-sizing: border-box;
        width: 50%;
        margin: 0;
        line-height: 140%;
    }
    .f_cv{
        padding: 30px 15px;
    }
    
    .f_cv .f_tel{
        border: 1px solid #D5D5D5;
        border-radius: 5px;
        background-color: #F5F5F2;
        display: block;
        box-shadow: 1px 1px white inset;
        text-align: center;
    }
    .f_cv .f_trial{
        color: #FFF;
        border: 1px solid #F19B02;
        border-top-left-radius: 5px;
        border-bottom-left-radius: 5px;
        background-image: none;
        box-shadow: 1px 1px #f2c660 inset;
        background: linear-gradient(to bottom, #f7b000 0%, #f19a02 100%);
    }
    .f_cv .f_order{
        color: #FFF;
        border: 1px solid #23a098;
        border-top-right-radius: 5px;
        border-bottom-right-radius: 5px;
        background-image: none;
        box-shadow: 1px 1px #43b78f inset;
        background: linear-gradient(to bottom, #43b78f 0%, #2ca67c 100%);
    }
    .f_cv .f_trial a,.f_cv .f_order a{
        color:#FFF;
        display: block;
        padding: 8px 10px;
        text-align: center;
    }
    .f_tel a{
        line-height: 200%;
        display: block;
        padding: 8px 10px;
    }
    .f_tel img{
        display: none;
    }
    .tel_number{
        font-size: 24px;
        font-weight: bold;
    }
    .f_tel .tel_number:before{
        font-family: "Font Awesome 5 Free";
        content: "\f095";
        font-weight: 900;
        font-size: 15px;
        margin: -3px 10px 0px -45px;
        background: #2ca67c;
        padding: 10px;
        line-height: 100%;
        color: #f6f6f3;
        position: absolute;
        border-radius: 100%;
    }
    .open_time{
        font-size: 12px;
        display: block;
        line-height: 190%;
    }
    .f_ltitle .button3:last-child{
        border-bottom: none;
    }
    .f_ltitle a{
        display: block;
        color:#FFF;
    }
    .f_ltitle a:after {
        font-family: "Font Awesome 5 Free";
        content: "\f105";
        font-weight: 900;
        position: absolute;
        top: 11px;
        right: 13px;
    }
    .txt_tel{
        font-size: 12px;
        margin-bottom: 10px;
    }

}
@media (min-width: 768px) {
    .f_trial {
        order: 1;
    }
    .f_order{
        order:2;
    }
    .f_tel {
        order: 3;
    }
    .f_cv div a{
        display: block;
        transition: all 0.3s;
    }
    .f_cv div img{
        vertical-align: middle;
    }
    .f_trial div,.f_order div{
        background:#2ca67c !important;
    }
    .f_trial span,.f_order span{
        display: none;
    }
}
@media (min-width: 582px){
    .txt_tel{
        margin: 0 auto 10px;
    }
}
@media (min-width: 301px) and (max-width: 461px) {
    .f_cv .f_order a{
        padding: 19px 10px !important;
    }
}
/* font-size */
.fs_s{
    font-size:80%;
}
.fs_ss{
    font-size:50%;
}
.fs_l{
    font-size: 120%;
}
.fs_ll{
    font-size: 150%;
}
.mb-30 {
    margin-bottom: 30px !important;
}
/* color */
.red{
    color: #b50000;
}
/* border */
.border_t{
    border-top: 1px solid #CCC;
}
.border_b{
    border-bottom: 1px dotted #CCC;
}
.animated {
    -webkit-animation-duration: 1s !important;
    animation-duration: 1s !important;
    -webkit-animation-fill-mode: both !important;
    animation-fill-mode: both !important;
}