@charset "utf-8";
/* CSS Document */
figure {margin: 0;}
.fs-small{font-size: small;}
.mb10{margin-bottom: 10px;}
.mb20em {margin-bottom: 2em;}
.mt20 {margin-top: 1em;}
.m15 {margin: 15px;}
.p10{padding: 10%;}
.red {color: #ff0000;}

html, body {
    scroll-padding-top: 60px;
  }
  
section#contents.c-navi ul.navi_menu {
    display: flex;
    padding: 10px;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}
section#contents ul.navi_menu li {
    border: 1px solid #ad7fc5;
    padding: 15px 20px;
    font-size: 16px;
    font-weight: bold;
    background: #f8f2fd;
}

section#contents ul.navi_menu li.navi_menu01,
section#contents ul.navi_menu li.navi_menu05 {
    padding-top: 20px;
}

ul.navi_menu span {
    display: block;
    text-align: center;
    font-size: smaller;
    line-height: normal;
}

section#contents h2>span {
    display: block;
    font-size: 18px;
    line-height: 18px;
}

section#contents h2 {
    font-size: 1.8em;
    font-weight: bold;
    line-height: 30px;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    color: #421172;
    border-bottom: 3px solid #673AB7;
    /*position: relative;/*相対位置*/
    /*padding-left: 2em;/*アイコン分のスペース*/
    margin-bottom: 20px;
}

/*section#contents h2:before {
    /*font-family: "Font Awesome 5 Free";/*忘れずに*/
    /*content: "\f152";/*アイコンのユニコード*/
    /*font-weight: 900;
    /*position: absolute;/*絶対位置*/
    /*font-size: 1.6em;/*サイズ*/
    /*left: .5rem;/*アイコンの位置*/
    /*top: .2rem;/*アイコンの位置*/
    /*color: #7d5a9f;
  }*/

section#contents h2.concept.ttl,
section#contents h2.yakuzen.ttl
 { padding-top: 5px;}

/*section#contents h2.concept.ttl {
    font-size: 1.8em;
    font-weight: bold;
    line-height: 30px;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    color: #421172;
    border: unset;
}*/

.c-program .concept.txt,
.c-ind .retreat.txt,
.c-ind .spdetox.txt,
.c-ind .clupd.txt,
.c-ind .yakuzen.txt
 {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    color: #43086f;
    font-weight: bold;
    font-size: 1.2em;
}

section#contents div.txt {padding: 10px;}
.c-program figure img {width: 100%; margin: 1em 0;}

section#contents h3 {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    background: url(/program/assets/img/bg_tit.jpg) no-repeat;
    background-size: cover;
    color: #fff;
    font-size: 1.5em;
    font-weight: bold;
    padding: 8px;
}

li.program_list_li dt>ul.bs-pro_ul {
    border: #FFC107 3px solid;
}
li.program_list_li dt>ul.de-pro_ul {
    border: 3px solid #9dbcff;
}
li.program_list_li dt>ul.fr-pro_ul {
    border: 3px solid #8BC34A;
}

/*リトリート プログラム*/
li.program_list_li {
    padding-bottom: 20px;
    margin-bottom: 10px;
    border-bottom: 1px solid;
}

li.program_list_li dl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}

li.program_list_li dt {
    width: 40%;
    text-align: center;
    padding: 20px 0;
}

li.program_list_li dd {width: 50%;}

li.program_list_li dt>h3 {
    font-size: 1.2em;
    font-weight: bold;
    background: #e8e0fb;
    padding: 5px 10px;
}

li.program_list_li dt>ul {
    text-align: left;
    font-weight: bold;
    border: 3px solid #e8dffa;
    padding: 15px 20px;
}

li.program_list_li dt>ul li {
    font-size: 1.2em;
    line-height: 1.8em;
}

h4.osusume_ttl {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 1.4em;
}

/*スペシャルデトックス*/
.spdetox .schedule {display: flex; justify-content: flex-start;}

.spdetox .schedule-list {
    width: 90%;
    position: relative;
    margin: 10px auto;}
.spdetox li.schedule-li:nth-child(odd) {background: #C5E1A5;}
.spdetox li.schedule-li {padding: 10px; font-weight: bold;}
.spdetox h4.schedule-h4 {
    font-size: 1.8em;
    font-weight: bold;
    margin: 10px 10px 10px;}
.spdetox ul.day1 {margin-bottom: 35px;}
.spdetox li.schedule-li dl {display: flex; flex-wrap: wrap;}
.spdetox li.schedule-li dt {margin-right: 2em;}

.spdetox .schedule-rei {width: 94%; margin: 0 0 15px 0;}

.spdetox .schedule-img img {width: 220px; height: auto;}
.spdetox .schedule-img {position: absolute; right: 0;}
.spdetox .schedule-img.img1 {top: -10px;}
.spdetox .schedule-img.img2 {top: 16%;}
.spdetox .schedule-img.img3 {top: 33%;}
.spdetox .schedule-img.img4 {bottom: 33%;}
.spdetox .schedule-img.img5 {bottom: 15.5%;}
.spdetox .schedule-img.img6 {bottom: -15px;}

/*クリーンアップ*/

table {width: 300px;}

.clupd.schedule {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.clupd h4.schedule-h4 {
    font-size: 1.2em;
    font-weight: bold;
}

tr.schedule-li {
    border: 1px solid;
}

.clupd .schedule th {
    width: 4em;
    border-right: 1px solid;
    padding: 10px;
    font-weight: bold;
    text-align: center;
    background: #CE93D8;
}
.clupd .schedule td {
    padding: 15px;
}

.clupd .schedule td.op h4 {
    font-weight: bold;
}

.clupd .schedule td.op {
    margin: 20px auto;
    text-align: center;
    line-height: 1.5em;
    padding: 15px 0;
}

.clupd .schedule td.op div {
    background: #ffe2df;
    padding: 15px;
}

.clupd .schedule td.memo {
    background: #fff8b8;
}

.clupd .schedule td.memo p {
    padding: 10px;
    line-height: 1.5em;
}

.voice_box {
    padding: 15px;
    background: #ffffff;
    border: 1px solid #EDDEF1;
    margin: 20px;
}

/*薬膳鍋*/
.yakuzen figure img {
    width: 100%;
}

h4.ex-h4 {
    font-weight: bold;
    font-size: 1.3em;
    background: #f5eff7;
    padding: 5px;
}
.ex_box {
    margin-bottom: 3em;
    border: 1px solid #EDDEF1;
}
.ex_box p {
    padding: 10px;
}

figcaption.right {
    font-size: 23px;
}

/*よくあるご質問*/
.qa_box {margin-top: 2em;}

.qa_box h4.ttl {
    background: #f5eff7;
    padding: 5px;
    font-weight: bold;
}

.qa_box p {
    border: 1px solid #EDDEF1;
    margin-bottom: 20px;
    padding: 5px;
}

/*価格*/

.price p.txt {
    font-size: 2em;
    margin: 1.5em 0;
    text-align: center;
    font-weight: bold;
}

/*フォームボタン*/
.form {
    font-size: 2em;
    text-align: center;
}
.form a {
    background: #cec5d2;
    display: block;
    padding: 20px;
    color: currentcolor;
    margin: 1.5em 0;
}

@media (max-width: 640px) {

    li.program_list_li dl {
        align-items: center;
        gap: 10px;
     }
    
    li.program_list_li dt {
        width: 100%;
        text-align: left;
        padding: 5px 0;
    }
    
    li.program_list_li dd {
        width: 100%;
    }

    li.program_list_li dt>ul li {
        font-size: 1.2em;
        line-height: 1.8em;
    }
    
    h4.osusume_ttl {
        font-weight: bold;
        margin-bottom: 10px;
    }
    section#contents h2>span {
        font-size: 11px;
        line-height: 20px;
    }

/*スペシャルデトックス*/
.spdetox .schedule-list {width: 100%;}
.spdetox .schedule-img {position: unset;}

}