@charset "utf-8";
/* ------------------------------------------------------------ common */
body { font-family: "Roboto Slab" , Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif; position: relative; overflow-x: hidden; }
 
.SP { display: none; }
.caution { text-align: right; font-size: 12px; padding: 0 25px 5px; }
.caution.ex { padding: 0 0 5px; }
li { list-style: none; }

/*------------------------------------------------------------------------------------------------- header */

#header { padding: 15px 0; background: #fff; } 
#header .left { float: left; }
#header .right { float: right; }
#header .right .list { float: left; width: 340px; }
#header .right .list ul { margin: 0 0 0 -5px; }
#header .right .list li { width: 165px; background: #c2ab8a; float: left; text-align: center; color: #fff; font-size: 14px; margin: 5px 0 0 5px; }
#header .right .tel { float: right; padding: 0 0 0 20px; text-align: center; }
#header .right .tel a strong { font-size: 34px; color: #e541a1; font-family: "游明朝体", "Yu Mincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Sawarabi Mincho",serif; background: url(../images/child/tel.png) no-repeat left center; display: inline-block; *display: inline; *zoom: 1; padding: 0 5px 0 30px; margin: 10px auto; }
#header .right .tel p { font-size: 14px; line-height: 100%;}
#header .right .tel span { font-size: 12px; color: #000; display: block; font-family: "游ゴシック体", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic Pro","Meiryo","メイリオ","Osaka","ＭＳ Ｐゴシック","MS P Gothic","Arial",sans-serif; font-weight: bold; line-height: 100%; }


/*-------------------------------------------------------------------------------------------------- first-bnr */

#first_bnr { position: fixed; right: 0; z-index: 100;}

@media only screen and (min-width: 640px) {
    #block20-s { display: none; } }


@media only screen and (max-width: 640px) {
	#first_bnr .fixed_bnr { display: none; }
    
    #block20-s {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 100;
    }

#block20-s li a {
    line-height: 120%;
    padding: 10px 0;
    display: block;
    text-align: center;
    font-size: 4vw;
    font-style: italic;
    color: #fff;
    font-family: "游ゴシック体", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "Osaka", "ＭＳ Ｐゴシック", "MS P Gothic", "Arial", sans-serif;
    font-weight: bold; }


#block20-s ul {
    display: flex;
    width: 100%;
    margin: 0;
    position: static;
}

#block20-s li {
    width: 50%;
    background: #50b900;
    float: none;
    margin: 0;}

#block20-s li:first-child {
    background: #e62b90;
    /* border-radius: 5px; */
    border-radius: inherit;
}
    
}


/*------------------------------------------------------------------------------------------------- fv */

#fv { background: url(../images/fv.jpg) no-repeat center center; background-size: cover; }
#fv .text { width: 620px; margin-left: auto; padding: 95px 0 65px; }
#fv h2 { font-size: 50px; }
#fv h3 { color: #e62b90; font-size: 85px; }
#fv h3 span { font-size: 120px; font-style: italic; }
#fv .pad_r_20 { padding: 0 20px 0 0; }
#fv .space_20 { letter-spacing: -20px; }
#fv .top { font-style: italic; letter-spacing: -10px; margin-top: -25px; }
#fv .bottom { text-align: right; margin-top: -50px; }
#fv h4 { font-size: 38px; text-align: right; font-style: italic; letter-spacing: 3px; }
#fv h4 span { text-align: left; display: block; font-style: italic; font-size: 46px; }
#fv h5 { padding: 25px 0 0; }
#fv_wrapp h6 { background: #ea218e; text-align: center; font-style: italic; font-weight: bold; color: #ffe400; font-size: 40px; }
#fv_wrapp h6 span { font-style: italic; font-family: "游明朝体", "Yu Mincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP",serif; font-size: 70px; padding: 0 10px 0 0; font-weight: bold; }
#fv h2 img.SP { display: none; }

/*------------------------------------------------------------------------------------------------- block01 */

#block01 { padding: 50px 0 15px; }
#block01 .left { float: left; height: 410px; }
#block01 .right { float: right; height: 410px; }
#block01 .left .padd { padding: 50px 0 0; }
#block01 .right .padd { padding: 85px 0 0; }
#block01 .right.bg,
#block01 .left.bg { position: relative; }
#block01 .right.bg::before { content: ""; position: absolute; display: block; background: #fde8f3; height: 210px; width: 2000px; top: 100px; left: -180px; z-index: -1; }
#block01 .left.bg::before { content: ""; position: absolute; display: block; background: #fde8f3; height: 210px; width: 2000px; top: 100px; right: -180px; z-index: -1; }
#block01 strong { color: #e4328f; }
#block01 .box { width: 550px; display: flex; justify-content: center; align-items: center; font-family: "游明朝体", "Yu Mincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP",serif; padding: 0 10px 0 0; font-size: 38px;  }
#block01 .text { margin-top: -110px; }
#block01 .font_30 { font-size: 30px; }

/*------------------------------------------------------------------------------------------------- block02 */

#block02 { background: url(../images/block02_bg.jpg) no-repeat center center; background-size: cover; text-align: center; color: #e4328f; }
#block02 h3 { padding: 120px 0 30px; font-size: 45px; font-style: italic; font-weight: 600; }
#block02 .detail { text-align: left; padding: 330px 0; background: url(../images/pic_07.png) no-repeat right bottom; }
#block02 h4 { color: #000; font-size: 75px; font-weight: bold; font-style: italic; letter-spacing: -10px; display: inline-block; padding: 0 100px 45px; background: url(../images/ballon.png) no-repeat center bottom; }
#block02 h4 span { font-size: 60px; font-weight: 600; font-style: italic; }
#block02 h5 { font-size: 70px; font-style: italic; font-weight: 600; }
#block02 h5 span { font-style: italic; font-weight: 600; display: block; font-size: 100px; margin-bottom: -15px; }
#block02 h5 .small_01 { font-size: 80px; }
#block02 h5 .small_02 { font-size: 50px; letter-spacing: -3px; margin-left: -20px; }






/*------------------------------------------------------------------------------------------------- block03 */

#block03 { background: url(../images/block03_bg.jpg) no-repeat center center; background-size: cover; padding: 25px 0 35px; }
#block03 h3 { text-align: right; }

/*------------------------------------------------------------------------------------------------- block04 */

#block04 { background: url(../images/block04_bg.jpg) no-repeat center top; background-size: cover; padding: 80px 0 60px; }
#block04 h3 { text-align: right; padding: 0 0 50px; }
#block04 tr { border-bottom: 2px solid #fbfdfb; }
#block04 th { background: #e93b9e; color: #fff; height: 140px; width: 265px; font-size: 18px; }
#block04 td { font-size: 16px; background: #fff; padding: 20px 0 0 30px; line-height: 170%; vertical-align: top; }
#block04 td.bottom { vertical-align: middle; padding: 0 10px 10px 20px; }
#block04 p { line-height: 140%; }

/*------------------------------------------------------------------------------------------------- block05 */

#block05 { padding: 40px 0 135px; }
#block05 h3 { padding: 110px 0 100px 40px; background: url(../images/block05_bg.png) no-repeat right bottom; }
#block05 table { width: 1100px; border: 1px solid #e93b9e; margin: 0 0 20px; }
#block05 th { background: #e93b9e; color: #fff; text-align: left; padding: 12px 0 12px 30px; font-size: 20px; }
#block05 td { padding: 30px 0 0 30px; font-size: 16px; height: 130px; vertical-align: top; line-height: 170%; }
#block05 td.right { padding: 30px 30px 0 0; text-align: right; }
#block05 .coupon { padding: 30px 10px 0 0; text-align: center; }
#block05 .coupon img { float: right; }

/*------------------------------------------------------------------------------------------------- block06 */

#block06 { padding: 0 0 90px; background: #ffecf7; }
#block06 h3 { font-size: 48px; color: #fff; text-align: center; background: #da3894; padding: 49px 0; margin: 0 0 80px; }
#block06 p { line-height: 180%; }
#block06 .left { float: left; width: 550px; }
#block06 .left p { padding: 80px 95px 0 0; }
#block06 .right { float: right; width: 550px; }
#block06 .right p { padding: 0 30px 0 55px; font-size: 18px; height: 412px; }
#block06 p span { background: url(../images/block06_bdr.png) center bottom; background-repeat: repeat-x; /* background-size: 100% 14px; */ padding: 0 0 5px; }
#block06 .reason { padding: 65px 0 0; }
#block06 .reason .img_slider .slick-arrow { padding: 45px;}
#block06 .reason .img_slider .slick-prev { background: url(../images/arw_left.png) center center no-repeat; left: -40px; z-index: 1;}
#block06 .reason .img_slider .slick-next { background: url(../images/arw_right.png) center center no-repeat; right: -40px;}

/*------------------------------------------------------------------------------------------------- block07 */

#block07 { padding: 60px 0; background: url(../images/block07_bg.jpg) no-repeat center center; background-size: cover; }

/*------------------------------------------------------------------------------------------------- block08 */

#block08 { padding: 75px 0 0; background: url(../images/block08_bg.jpg) no-repeat center top; background-size: cover; }
#block08 h3 { text-align: center; padding: 0 0 30px; }
#block08 .detail { padding: 0 0 90px; }
#block08 table { width: 1010px; margin: 0 auto 10px; position: relative; z-index: 1; }
#block08 th { position: absolute; left: -30px; top: 11px; width: 61px; height: 61px; display: block; z-index: 100; }
#block08 td { background: #fff; font-size: 20px; padding: 15px 0 15px 65px; }
#block08 td.bottom { padding: 15px 0; width: 180px; }

#block08_1 { padding: 0 0 140px; }
#block08_1 p.arrow { margin: -43px 0 0; text-align: center; }
#block08_1 h4 { font-size: 38px; text-align: center; padding: 40px 0 70px; }
#block08_1 .point .left { float: left; }
#block08_1 .point .right { float: right; width: 525px; background: #e93b9e; padding: 45px 40px 0 60px; }
#block08_1 .point .right h5 { font-size: 32px; color: #f7fd4d; }
#block08_1 .point .right p { font-size: 16px; color: #fff; padding: 30px 0 50px; }

/*------------------------------------------------------------------------------------------------- block09 */

#block09 { padding: 0 0 55px; background: url(../images/block09_bg.jpg) no-repeat center top #ffeaf6; background-size: contain; }
#block09 .inner { position: relative; }
#block09 h3 { text-align: center; padding: 135px 0 90px 435px; background: url(../images/block09_bg2.png) no-repeat left top; position: absolute; top: -45px; left: 0; }
#block09 .wrapper { padding: 431px 0 0; }
#block09 .block { background: #fff; text-align: center; }
#block09 .block h4 { padding: 30px 0 35px; }
#block09 .block h5 { font-size: 17px; color: #fff; background: #c2ab8a; padding: 12px 0; }
#block09 .detail { padding: 0 25px 20px; }
#block09 .box { padding: 20px 25px; border: 1px solid #c2ab8a; box-sizing: border-box; }
#block09 .arm ul { margin: 0 0 0 -10px; }
#block09 .arm li { width: 520px; margin: 0 0 10px 10px; float: left; }

#block09 .arm li .photo { height: 265px; padding: 0 0 10px; }
#block09 li .photo p { font-size: 17px; }
#block09 .arm li .photo small { font-size: 14px; line-height: 150%; text-align: left; display: block; padding: 10px 0 0; }
#block09 .arm li .photo .left { float: left; width: 210px; padding: 0 48px 0 0; background: url(../images/block09_arrow.png) no-repeat 227px 88px; }
#block09 .arm li .photo .right { float: right; width: 210px; }

#block09 .arm li .point { background: #ffeaf6; padding: 20px; font-size: 14px; height: 184px; }
#block09 .arm li .point h6 { font-size: 14px;  color: #e93b9e; background: url(../images/block09_03.png) no-repeat 150px center; }
#block09 .arm li .point p { text-align: left; line-height: 170%; padding: 10px 0 20px; }
#block09 .arm li .point dl { padding: 0 0 5px; }
#block09 .arm li .point dt { float: left; width: 90px; text-align: center; background: #e93b9e; color: #fff; line-height: 150%; }
#block09 .arm li .point dd { float: left; line-height: 150%; padding: 0 0 0 10px; width: 308px; text-align: left; }
#block09 .nose { margin: 20px 0 0; }
#block09 .nose h5 { text-align: left; padding: 12px 0 12px 50px; }
#block09 .nose li { width: 300px; float: left; padding: 0 40px 30px 0; background: url(../images/block09_arrow.png) no-repeat 313px 120px; height: 311px; }
#block09 .nose li.none { padding: 0; background: none; }
#block09 .nose li p { font-size: 17px; }
#block09 .nose li small { font-size: 14px; line-height: 150%; text-align: left; display: block; padding: 10px 0 0; }
#block09 .nose .point { background: #ffeaf6; padding: 20px; font-size: 14px; }
#block09 .nose .point h6 { font-size: 14px; color: #e93b9e; background: url(../images/block09_03.png) no-repeat 410px center; margin: 0 0 10px; }
#block09 .nose .point .left { float: left; }
#block09 .nose .point p { text-align: left; }
#block09 .nose .point .right { float: left; }
#block09 .nose .point dl { padding: 5px 0 0 20px; }
#block09 .nose .point .right dt { float: left; width: 90px; text-align: center; background: #e93b9e; color: #fff; line-height: 150%; }
#block09 .nose .point .right dd { float: left; line-height: 150%; padding: 0 0 0 10px; text-align: left; }

/*------------------------------------------------------------------------------------------------- block10 */

#block10 { padding: 80px 0 0; background: url(../images/block10_bg2.png) no-repeat center top; background-size: contain; }
#block10 h3 { text-align: center; padding: 0 0 30px; }
#block10 .detail { position: relative; width: 1000px; margin: 0 auto; padding: 0 0 55px; }
#block10 .detail .mask { background: url(../images/block10_bg1.png) repeat center center; border-bottom: 10px solid #f8c4e2; border-right: 10px solid #f8c4e2; box-sizing: border-box; }
#block10 .detail .mask .white { background: #fff; padding: 50px 40px 0; }
#block10 .detail .mask .white .left { float: left; }
#block10 .detail .mask .white .right { float: left; width: 427px; padding: 0 0 0 40px; }
#block10 .detail .mask .white .right h4 { font-size: 30px; color: #e93b9e; }
#block10 .detail .mask .white .right p { font-size: 16px; line-height: 150%; padding: 30px 0 55px; }
#block10 .detail .mask .white .right p span { display: block; font-size: 12px; padding: 10px 0 0; }
#block10 .detail .posi { position: absolute; left: -40px; top: -40px; }

/*------------------------------------------------------------------------------------------------- block11 */

#block11 { padding: 115px 0 25px; background: #fef5e7; }
#block11 h3 { padding: 0 0 60px; }
#block11 .detail { padding: 0 0 40px; }
#block11 .left { float: left; }
#block11 .left p { font-size: 20px; color: #e93b9e; padding: 5px 0 0; }
#block11 .right { float: right; }
#block11 .right p { font-size: 20px; color: #e93b9e; padding: 5px 0 0; }
#block11 .bg { width: 815px; }
#block11 .right.bg { background: url(../images/block11_arrow.png) no-repeat 11px 80px; padding: 0 0 0 43px; }
#block11 .left.bg { background: url(../images/block11_right.png) no-repeat 815px 80px; padding: 0 43px 0 0; }
#block11 .box { background: #fff; }
#block11 .box .top { padding: 10px; background: url(../images/block11_top.png) no-repeat center 10px; }
#block11 .box .bottom { background: url(../images/block11_bottom.png) no-repeat center bottom; }
#block11 .box .bottom div { border: 4px solid #aa9e7c; padding: 50px 75px; }
#block11 .box .bottom div h4 { font-size: 30px; color: #e93b9e; border-bottom: 1px solid #aa9e7c; padding: 0 0 20px; }
#block11 .box .bottom div p.text { display: none;}
#block11 .box .bottom div small { font-size: 16px; padding: 20px 0 0; display: block; }
#block11 .box .bottom div span { font-size: 12px; display: block; padding: 10px 0 0; }
#block11 .box .bottom div p.button { color: #a19475; font-size: 20px; padding: 15px 0; background: url(../images/arw_off.png) right center no-repeat;}
#block11 .box .bottom div p.button.close { background: url(../images/arw_on.png) right center no-repeat; font-size: 16px;}

/*------------------------------------------------------------------------------------------------- block12 */

#block12 { padding: 110px 0 105px; background: url(../images/block12_bg.jpg) no-repeat center center; background-size: cover; }
#block12 h3 { text-align: center; padding: 0 0 30px; }
#block12 .detail { background: #fff; padding: 60px 50px 75px; }
#block12 .detail p { font-size: 16px; }
#block12 .detail p.caution { font-size: 12px; text-align: left; line-height: 140%; }
#block12 .detail .photo { padding: 0 0 50px; }
#block12 .detail .photo .left { float: left; }
#block12 .detail .photo .right { float: right; }
#block12 .detail .photo .right p { width: 419px; padding: 0 0 0 50px; }
#block12 .detail .photo2 { padding: 65px 0 60px; }
#block12 .detail .photo2 .left { float: left; width: 600px; }
#block12 .detail .photo2 .right { float: right; }
#block12 .detail .write { background: #fdeff4; padding: 40px 0 50px; text-align: center; width: 830px; margin: 70px auto 0; }
#block12 .detail .write h4 { font-size: 28px; }
#block12 .detail .write p { padding: 40px 0 0; position: relative; }
#block12 .detail .write p a { display: inline-block; *display: inline; *zoom: 1; line-height: 80px; background: #e93b9e; color: #fff; width: 460px; font-size: 26px; }
#block12 .detail .write p img { position: absolute; left: 200px; top: 0; }

/*------------------------------------------------------------------------------------------------- block13 */

#block13 { padding: 100px 0 90px; background: #ffecf7; }
#block13 h3 { text-align: center; padding: 0 0 30px; }
#block13 .detail { background: #fff; padding: 35px 45px 65px; }
#block13 .detail h4 { text-align: center; padding: 0 0 35px; }
#block13 .detail h5 { background: url(../images/block13_03.png) no-repeat center center; text-align: center; font-size: 28px; color: #fff; padding:  14px 0; }
#block13 .detail .explain { padding: 50px 0 0; }
#block13 .detail .explain .left { float: left; width: 47%; padding: 0 3% 0 0; border-right: 1px solid #cfcfcf; }
#block13 .detail .explain .right { float: right; width: 47%; }

/*------------------------------------------------------------------------------------------------- block14 */

#block14 { padding: 100px 0 70px; background: #ffecf7; }
#block14 h3 { padding: 0 0 55px; }
#block14 .detail { padding: 20px 50px 20px 20px; background: #fff; margin: 0 0 20px; }
#block14 .detail .left { float: left; }
#block14 .detail .right { float: left; width: 665px; padding: 0 0 0 45px; }
#block14 .detail .right dl { padding: 20px 0; }
#block14 .detail .right dt { float: left; }
#block14 .detail .right dd { float: left; font-size: 26px; color: #ed75b9; line-height: 31px; padding: 2px 0 0 30px; }
#block14 .detail .right p { line-height: 170%; font-size: 16px; }

/*------------------------------------------------------------------------------------------------- block15 */

#block15 { padding: 105px 0 85px; background: #ffecf7; }
#block15 h3 { padding: 0 0 30px; }
#block15 table { margin: 0 0 25px; width: 1100px; }
#block15 th { width: 80px; }
#block15 thead { background: #e93b9e; }
#block15 thead td { color: #fff; font-size: 26px; padding: 4px 0; }
#block15 thead td small { font-size: 16px; display: block; line-height: 120%; padding: 0 0 20px; }
#block15 thead .bottom th { vertical-align: top; padding: 20px 0 0; }
#block15 thead .bottom td { vertical-align: top; padding: 13px 0 0; }
#block15 tbody { background: #fff; }
#block15 tbody th { padding: 25px 0 50px; vertical-align: top; }
#block15 tbody td { padding: 25px 60px 50px 0; vertical-align: top; font-size: 16px; }
#block15 tbody td span { display: block; font-size: 12px; padding: 10px 0 0; }
#block15 strong { color: red; }

/*------------------------------------------------------------------------------------------------- block16 */

#block16 { padding: 35px 0 120px; }
#block16 .box { width: 1089px; margin: 0 auto; }
#block16 .top { background: url(../images/block16_top.png) no-repeat center top; }
#block16 .bottom { background: url(../images/block16_bottom.png) no-repeat center bottom; }
#block16 .border { border: 4px solid #aea589; padding: 65px 50px 85px; }
#block16 .border h4 { font-size: 36px; color: #e93b9e; text-align: center; border-bottom: 1px solid #aea589; padding: 0 0 20px; }
#block16 .border .point { padding: 35px 0 0; }
#block16 .border .point .left { float: left; }
#block16 .border .point .right { float: right; width: 642px; }
#block16 .border .point .right p { font-size: 16px; }
#block16 h3 { padding: 140px 0 90px; }
#block16 .store { padding: 0 0 40px; }
#block16 .store .left { float: left; }
#block16 .store .right { float: left; background: #ffecf7; height: 257px; width: 663px; padding: 35px 0 0 45px; }
#block16 .store .right p { font-size: 28px; color: #e93b9e; padding: 0 0 15px; }
#block16 .store .right dl { display: flex; }
#block16 .store .right dt { background: #e93b9e; color: #fff; width: 120px; line-height: 35px; text-align: center; letter-spacing: 2px; margin: 0 0 20px; }
#block16 .store .right dd { padding: 0 0 0 25px; color: #e93b9e; margin: 0 0 20px; }
#block16 h5 { background: #e93b9e; font-size: 18px; color: #fff; text-align: center; line-height: 55px; }
#block16 h6 { font-size: 18px; padding: 40px 0 35px; text-align: center; }
#block16 ul { margin: 0 0 0 -16px; }
#block16 li { margin: 0 0 16px 16px; width: 542px; float: left; background: #fffae7; }
#block16 li dt { float: left; }
#block16 li dd { float: left; width: 247px; padding: 45px 15px 0 20px; font-size: 14px; }
#block16 li.padd dd { padding: 20px 15px 0 20px; }
#block16 .access { padding: 35px 0 80px; }
#block16 .access dl { margin: 0 0 15px; background: #f2f2f2; }
#block16 .access dt { padding: 0 0 15px; width: 295px; background: #e93b9e; float: left; text-align: center; color: #fff; line-height: 150%; }
#block16 .access .first dt { padding: 41px 0; }
#block16 .access .second dt { line-height: 94px; padding: 0; }
#block16 .access .third dt { line-height: 264px; padding: 0; }
#block16 .access dd { padding: 30px 0 15px 40px; width: 765px; float: left; font-size: 16px; }
#block16 .map p { text-align: center; }
#block16 .map p a { font-size: 14px; text-decoration: underline; display: inline-block; *display: inline; *zoom: 1; padding: 0 0 0 20px; background: url(../images/map.png) no-repeat left center; }


/*------------------------------------------------------------------------------------------------- block17 */

#block17 { padding: 100px 0 150px; background: url(../images/block17_bg.png) no-repeat left center #ffecf7; }
#block17 h3 { text-align: center; }
#block17 .message { width: 50%; padding: 105px 0 35px; margin: 0 0 0 auto; font-size: 16px; line-height: 170%; }
#block17 .box { background: #fff; padding: 20px 0 20px 20px; }
#block17 .box .left { float: left; }
#block17 .box .right { float: left; padding: 0 0 0 40px; }
#block17 .box .right h5 { font-size: 18px; color: #e93b9e; }
#block17 .box .right h4 { font-size: 28px; color: #e93b9e; }
#block17 .box .right ul { padding: 25px 0 0; }
#block17 .box .right li { font-size: 16px; line-height: 170%; padding: 0 0 0 20px; background: url(../images/block17_maru.png) no-repeat left center; }

/*------------------------------------------------------------------------------------------------- block18 */

#block18 { background: url(../images/block17_bg1.jpg) no-repeat center center; background-size: cover; }
#block18 .inner { background: url(../images/block17_bg2.png) no-repeat right bottom; padding: 125px 0 90px; }
#block18 p { font-size: 19px; line-height: 250%; }
#block18 h4 { padding: 80px 0 0 ; }

/*------------------------------------------------------------------------------------------------- block19 */

#block19 { padding: 70px 0 120px; background: #e93b9e; }
#block19 h3 { text-align: center; padding: 0 0 60px; }
#block19 dl { color: #fff; font-size: 16px; }
#block19 dl.top { background: #c93388; }
#block19 dt { padding: 0 120px 0 20px; float: left; line-height: 80px; width: 100px; }
#block19 dd { float: left; line-height: 80px; }

/*------------------------------------------------------------------------------------------------- add_block */
.add_block img { width: 100%; height: auto; }
.add_block .treatment { background: #ffeef8; padding: 0 0 80px; }
.add_block .treatment p { background: #ffeef8; text-align: center; padding: 10px 0 30px; }
.add_block .treatment p.text { padding: 60px 0 0; color: #e92926;}
.add_block .treatment p a img { width: 300px; height: auto; }
.add_block .treatment .pink_btn a { display: block;  width: 500px; padding: 20px 0; color: #fff; margin: 0 auto; background: url(../images/icn_arrow_02.png) no-repeat center right 30px #e8208d; text-align: center; }
.add_block .treatment h3,
.add_block .solution h3 { background: #e52b90; font-size: 44px; color: #fff; text-align: center; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; padding: 40px 0; }
.add_block .solution h4 { text-align: center; padding: 65px 0 45px; }
.add_block .solution h4 img { width: auto; }
.add_block .solution li { border: 2px solid #e52b90; padding: 50px; margin: 0 0 110px; position: relative; }
.add_block .solution li::after { content: ""; display: block; background: url(../images/icn_arrow.png) no-repeat center center; width: 79px; height: 53px; position: absolute; bottom: -85px; left:0; right: 0; margin: auto; }
.add_block .solution li:last-of-type::after { content: ""; display: none; }
.add_block .solution dl { display: flex; justify-content: center; align-items: center; }
.add_block .solution dd { padding: 0 30px 0 0; width: 50%; }
.add_block .solution dt { width: 50%; }
.add_block .solution dt .flow { font-size: 28px; color: #e52b90; border-top: 1px solid #e52b90; border-bottom: 1px solid #e52b90; padding: 20px 0 20px 175px; background: url(../images/step_01.png) no-repeat center left 20px; }
.add_block .solution dt p { line-height: 180%; padding: 20px 0 0; }
.add_block .solution li:nth-of-type(2) dt .flow { background: url(../images/step_02.png) no-repeat center left 20px; }
.add_block .solution li:nth-of-type(3) dt .flow { background: url(../images/step_03.png) no-repeat center left 20px; }
.add_block .solution li:nth-of-type(4) dt .flow { background: url(../images/step_04.png) no-repeat center left 20px; }
.add_block .solution li:nth-of-type(5) dt .flow { background: url(../images/step_05.png) no-repeat center left 20px; }




/*------------------------------------------------------------------------------------------------- pickup */

#pick_up { position: fixed; bottom: 20px; right: 20px; }
#pick_up a { display: block; background: #ea218e; padding: 10px 20px; color: #fff; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; font-size: 14px; line-height: 130%; text-align: center; }

/*------------------------------------------------------------------------------------------------- contact_box */

#contact_box { padding: 105px 0 75px; text-align: center; }
#contact_box img { padding: 0 0 35px; }
#contact_box .bg { background: url(../images/contact_bg.jpg) no-repeat center center; }
#contact_box .bg .cfx { padding: 250px 0 50px 250px; }
#contact_box .bg .left { float: left; text-align: left; }
#contact_box .bg .left img { padding: 0 0 5px; }
#contact_box .bg .left a { font-size: 48px; font-style: italic; line-height: 100%; background: url(../images/icn_tel.jpg) no-repeat left center; padding: 0 0 0 40px; }
#contact_box .bg .left a span { font-size: 20px; display: block; font-weight: bold; text-align: left;}
#contact_box .bg .left p { line-height: 130%; font-size: 17px; letter-spacing: 2px; text-align: center;}
#contact_box .bg .right { float: left; margin: 20px 0 0;}
#contact_box .bg .right a { font-size: 24px; color: #fff; width: 420px; display: block; line-height: 70px; border-bottom: 4px solid #437c6b; border-radius: 10px; background: url(../images/icn_mail.jpg) no-repeat 50px center #2dc89e; margin: 0 0 0 20px; }


/* ------------------------------------------------------------ contact */

#contact { background: #ffdde7; padding: 45px 0; }
#contact .wrapper { background: url(../images/common/contact_bg.jpg) center center no-repeat; background-size: cover; padding: 0 0 60px; } 
#contact .wrapper img.bot_pic { width: 100%; height: auto; padding: 0 0 70px 0; }
#contact h3 { text-align: center; color: #000; padding: 0 0 20px; }
.contact-inner { background: #fff; width: 850px; margin: 0 auto; }
.contact-inner .form { text-align: center; padding: 35px 82px 45px; }
.contact-inner .form span { color: #f0000e; }
.contact-inner .form p.caution { text-align: center; font-size: 16px; padding: 35px 0; border-top: 1px solid #000; border-bottom: 1px solid #000; }
.contact-inner .form form { padding: 30px 0 0; }
.contact-inner .form table { width: 100%; font-size: 14px; text-align: left; }
.contact-inner .form table tr th { width: 30%; font-weight: bold; vertical-align: text-top; padding: 12px 0 0; text-align: left; }
.contact-inner .form table tr td { width: 70%; padding: 11px 0; }
.contact-inner .form table tr td label { padding: 0 20px 0 0; }
.contact-inner .form table tr td input[type="radio"] { margin: 6px 20px 10px 0; }
.contact-inner .form table tr.plactice label { display: block; }

.contact-inner .form table tr td input[type="text"],
.contact-inner .form table tr textarea { border: none; width: 94%; padding: 8px 3%; background: #f3f3f3; }
.contact-inner .form table tr textarea { resize: vertical; }
.contact-inner .form p.btn { padding: 35px 0; }
.contact-inner .form p.btn input[type="submit"] { background: #dd0016; color: #fff; line-height: 48px; height: 48px; width: 260px; font-size: 14px; border: none; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px;} 
.contact-inner .form p.btn a { background: #ababab; color: #fff; line-height: 48px; height: 48px; width: 260px; vertical-align: top; font-size: 14px; display: block; margin: 0 auto 30px;
	border-radius: 3px; 
	-moz-border-radius: 3px; 
	-webkit-border-radius: 3px;
}
.contact-inner .form p.alert { padding: 30px 0 0; }
.contact-inner .form p.alert span { display: block; }
.contact-inner .form h4 { color: #00a8e7; font-size: 26px; font-weight: bold; padding: 0 0 20px;  }

/* ------------------------------------------------------------ footer */

#footer { padding: 65px 0 0; background: #fafafa; text-align: center; }
#footer p { padding: 18px 0 10px; line-height: 200%; font-size: 14px; }
#footer address { font-size: 12px; padding: 30px 0; }

/* ------------------------------------------------------------ bnrarea */
.bnrarea { padding: 100px 0; }
.bnrarea .campaign { display: block; margin: 0 auto 100px; }
.bnrarea .contact { background: url(../images/bg_02.jpg) no-repeat center center; padding: 30px; }
.bnrarea .contact h3 { font-size: 32px; text-align: center; color: #fff; line-height: 100%; }
.bnrarea .contact h3 span { display: block; font-size: 22px; }
.bnrarea .contact .about { font-size: 16px; text-align: center; color: #fff; line-height: 150%; padding: 5px 0 15px; }
.bnrarea .contact ul { background: #fff; padding: 45px; }
.bnrarea .contact ul li { float: left; padding: 0 0 0 12px; }
.bnrarea .contact ul li:first-child { padding: 0; }
.bnrarea .contact ul li.reserve a span { font-size: 30px; display: block; background: url(../images/b_tel.png) left center no-repeat; padding: 0 0 0 40px; line-height: 140%; }
.bnrarea .contact ul li.reserve a small { font-size: 12px; display: block; }
.bnrarea .contact ul li.tel { margin: 0 0 0 18px; padding: 0; background: url(../images/tel.jpg) no-repeat center 30px #ed66b6; background-size: 30px auto; border-radius: 10px; width: 250px; }
.bnrarea .contact ul li.tel a { color: #fff; font-size: 24px; text-align: center; display: block; line-height: 80px; padding: 50px 0 0; }
.bnrarea .contact ul li p { font-size: 24px; color: #f063b3; background: #f1f1f1; text-align: center; margin: 0 auto 15px; }
.bnrarea .line { padding: 100px 0 0; }
.bnrarea .line_bnr { margin: 0 auto 100px; }
.bnrarea .line_bnr img { width: 100%; height: auto; }
.bnrarea .pair,
.bnrarea .child { display: flex; justify-content: center; align-items: center; padding: 0 0 100px; }
.bnrarea .pair.one { padding: 0; }

/* ------------------------------------------------------------------------------------------------ mobile */
@media only screen and (max-width:640px){

.SP { display: block; }
.PC { display: none; }
body { position: relative; font-family: "Roboto Slab" , Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif; }
#header { padding: 10px 0; text-align: left; position: fixed; background: #fff; width: 100%; top: 0; left: 0; z-index: 100; } 
#header img { width: 180px; height: auto; margin: 0 auto; padding: 0; }
#header .left { float: none; }
#header .left a { float: left; }
#header .left a.hp_btn { line-height: 100%; font-size: 11px; line-height: 120%; color: #fff; padding: 7px 5px; text-align: center; display: block; background: #ea218e; border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; margin: 4px 55px 0 0; float: right; }
/*------------------------------------------------------------------------------------------------- fv */

#fv { background: url(../images/fv_bg_sp.jpg?1) no-repeat center bottom; background-size: cover; padding: 63px 0 100px; }
#fv_wrapp h6 { font-size: 20px; line-height: 60%; padding: 0 0 18px; }
#fv_wrapp h6 span { font-size: 32px; padding: 0 7px 0 0; }
#fv .inner { width: 100%; }
#fv .text { width: 90%; margin: 0 auto; padding: 45px 0 0;}
#fv h2 { font-size: 18px; text-align: right; padding: 0 0 10px; text-shadow:  2px  2px 10px #fff , -2px  2px 10px #fff ,2px -2px 10px #fff ,-2px -2px 10px #fff;}
#fv h3 { font-size: 25px; letter-spacing: 2px; text-shadow:  2px  2px 10px #fff , -2px  2px 10px #fff ,2px -2px 10px #fff ,-2px -2px 10px #fff;}
#fv h3 span { font-size: 40px; text-shadow:  2px  2px 10px #fff , -2px  2px 10px #fff ,2px -2px 10px #fff ,-2px -2px 10px #fff;}
#fv .top {  letter-spacing: 0; margin: 0; text-align: right; text-shadow:  2px  2px 10px #fff , -2px  2px 10px #fff ,2px -2px 10px #fff ,-2px -2px 10px #fff;}
#fv .top span { line-height: 1; text-shadow:  2px  2px 10px #fff , -2px  2px 10px #fff ,2px -2px 10px #fff ,-2px -2px 10px #fff;}
#fv .bottom { margin: 0; line-height: 1; text-shadow:  2px  2px 10px #fff , -2px  2px 10px #fff ,2px -2px 10px #fff ,-2px -2px 10px #fff;}
#fv .bottom span { line-height: 1; text-shadow:  2px  2px 10px #fff , -2px  2px 10px #fff ,2px -2px 10px #fff ,-2px -2px 10px #fff;}
#fv .pad_r_20 { padding: 0 10px 0 0; text-shadow:  2px  2px 10px #fff , -2px  2px 10px #fff ,2px -2px 10px #fff ,-2px -2px 10px #fff;}
#fv .space_20 { letter-spacing: 0; text-shadow:  2px  2px 10px #fff , -2px  2px 10px #fff ,2px -2px 10px #fff ,-2px -2px 10px #fff;}
#fv h4 { font-size: 18px; text-shadow:  2px  2px 10px #fff , -2px  2px 10px #fff ,2px -2px 10px #fff ,-2px -2px 10px #fff;}
#fv h4 span { font-size: 16px; text-align: right; text-shadow:  2px  2px 10px #fff , -2px  2px 10px #fff ,2px -2px 10px #fff ,-2px -2px 10px #fff; }
#fv h5 { text-align: right; }
#fv h5 img { width: 60%; height: auto; margin: 0 0 0 auto; }
/*------------------------------------------------------------------------------------------------- block01 */

#block01 { padding: 30px 0 0; text-align: center; width: 100%; }
#block01 img { width: 96%; height: auto; }
#block01 .left { float: none; height: auto; }
#block01 .right { float: none; height: auto; }
#block01 .left .padd { padding: 30px 0 50px; }
#block01 .right .padd { padding: 30px 0 40px; }
#block01 .right.bg::before,
#block01 .left.bg::before { content: ""; display: none; }
#block01 .text { margin: 0; }
#block01 .box { width: 90%; text-align: left; font-size: 20px; display: block; margin: 20px auto 30px; }
#block01 .font_30 { font-size: 16px; }

/*------------------------------------------------------------------------------------------------- block02 */

#block02 { text-align: center; }
#block02 img { width: 100%; height: auto; }
#block02 h3 { padding: 30px 0 0; font-size: 22px; line-height: 140%; }
#block02 .detail { padding: 40px 0 120% 0; background-size: contain; }
#block02 .detail .iflame { width: 100%; height: auto; min-height: 200px; }
#block02 h4 { font-size: 32px; background: url(../images/ballon.png) no-repeat center bottom / contain; padding: 0 5% 15px; letter-spacing: -8px; margin: 12px 0 -5px; }
#block02 h4 span { font-size: 25px; letter-spacing: -5px; padding: 0 0 0 10px; }
#block02 h5 span { font-size: 30px; margin-bottom: -5px; }
#block02 h5 { font-size: 20px; }
#block02 h5 .small_01 { font-size: 22px; }
#block02 h5 .small_02 { font-size: 18px; margin: 0 5px 0 -5px; }


/*------------------------------------------------------------------------------------------------- block03 */

#block03 { background: none; padding: 0; }
#block03 img { width: 100%; height: auto; }

/*------------------------------------------------------------------------------------------------- block04 */

#block04 { background: #ffecf7; padding: 30px 0; }
#block04 h3 { text-align: center; padding: 0 0 20px; }
#block04 h3 img { width: 100%; height: auto; }
#block04 table { margin: 0 0 10px; width: 100%; }
#block04 tr { border-bottom: 2px solid #fbfdfb; }
#block04 th { height: auto; width: 94%; font-size: 16px; display: block; padding: 5px 3%; line-height: 150%; }
#block04 td { font-size: 14px; padding: 20px 3%; display: block; width: 94%; }
#block04 td.PC { display: none; }
#block04 td.bottom { vertical-align: middle; padding: 0 3% 20px; text-align: center; margin-bottom: 3%}
#block04 td.bottom img { width: 50%; height: auto; }
#block04 td.bottom.two { padding: 20px 3%; }

/*------------------------------------------------------------------------------------------------- block05 */

#block05 { padding: 30px 0; }
#block05 h3 { padding: 70px 0 80px; background: url(../images/block05_bg.png) no-repeat right bottom; background-size: 200px 226px; }
#block05 h3 img { width: 50%; height: auto; }
#block05 table { width: 100%; }
#block05 th { padding: 10px 3%; font-size: 16px; width: 94%; display: block; line-height: 150%; }
#block05 td { padding: 20px 3% 10px; font-size: 14px; height: auto; width: 94%; display: block; }
#block05 td.right { padding: 10px 3% 20px; text-align: center; width: 94%; display: block; }
#block05 td.right img { width: 80%; height: auto; }
#block05 .coupon { padding: 0 0 20px;}
#block05 .coupon img { float: none; width: 100%; height: auto; }

/*------------------------------------------------------------------------------------------------- block06 */

#block06 { padding: 0 0 30px; }
#block06 h3 { font-size: 20px; padding: 15px 0; margin: 0 0 30px; line-height: 150%; }
#block06 p { line-height: 170%; }
#block06 img { width: 100%; height: auto; }
#block06 .left { float: none; width: 100%; }
#block06 .left p { padding: 30px 0; font-size: 14px;}
#block06 .right { float: none; width: 100%; }
#block06 .right p { padding: 30px 0; font-size: 14px; height: auto; }
#block06 .reason { padding: 0; }
#block06 .reason .img_slider .slick-arrow { padding: 15px;}
#block06 .reason .img_slider .slick-prev { background: url(../images/arw_left.png) center center no-repeat; left: -10px; z-index: 1; background-size: 30px auto; top: 50%;}
#block06 .reason .img_slider .slick-next { background: url(../images/arw_right.png) center center no-repeat; right: -10px; background-size: 30px auto; top: 50%;}
#block06 .reason .img_slider li img { width: 90%; height: auto; margin: 0 auto;}

/*------------------------------------------------------------------------------------------------- block07 */

#block07 { padding: 30px 0; background: url(../images/block07_bg.jpg) no-repeat center center; background-size: cover; }
#block07 img { width: 100%; height: auto; }

/*------------------------------------------------------------------------------------------------- block08 */

#block08 { padding: 30px 0 0; }
#block08 h3 { padding: 0 0 30px; }
#block08 h3 img { width: 80%; height: auto; }
#block08 .detail { padding: 0 0 40px; }
#block08 table { width: 100%; margin: 0 0 10px; }
#block08 th { left: 0; top: 0; width: auto; height: auto; }
#block08 th img { width: 40px; height: auto; }
#block08 td { font-size: 16px; padding: 50px 3% 20px; display: block; line-height: 150%; }
#block08 td.bottom { padding: 0; width: auto; position: absolute; right: 5px; top: 10px; }
#block08 td.bottom img { width: 80px; height: auto; }

#block08_1 { padding: 0; }
#block08_1 p.arrow { margin: -30px 0 0; }
#block08_1 p.arrow img { width: 60%; height: auto; }
#block08_1 h4 { font-size: 20px; text-align: center; padding: 40px 0; }
#block08_1 .point .left { float: none; }
#block08_1 .point .left img { width: 100%; height: auto; }
#block08_1 .point .right { float: none; width: 100%; padding: 20px 0 0; }
#block08_1 .point .right h5 { font-size: 18px; text-align: center; }
#block08_1 .point .right p { font-size: 14px; padding: 10px 3% 20px; }

/*------------------------------------------------------------------------------------------------- block09 */

#block09 { padding: 0 0 30px; }
#block09 .inner { position: relative; }
#block09 h3 { text-align: right; padding: 65px 0 30px; background: url(../images/block09_bg2.png) no-repeat left bottom; background-size: 164px auto; position: static; top: 0; left: 0; }
#block09 h3 img { width: 65%; height: auto; }
#block09 .wrapper { padding: 0; }
#block09 .block { }
#block09 .block h4 { padding: 30px 0 35px; }
#block09 .block h4 img { max-width: 100%; }
#block09 .block h5 { font-size: 14px; padding: 10px 0; line-height: 150%; }
#block09 .detail { padding: 0 3% 10px; }
#block09 .box { padding: 10px 3%; }
#block09 .arm ul { margin: 0; }
#block09 .arm li { width: 100%; margin: 0 0 10px; float: none; }

#block09 .arm li .photo { height: auto; padding: 0 0 10px; }
#block09 li .photo p { font-size: 14px; }
#block09 .arm li .photo small { font-size: 12px; padding: 5px 0 0; }
#block09 .arm li .photo .left { float: left; width: 48%; padding: 0 4% 0 0; background: none; }
#block09 .arm li .photo .left img { width: 100%; height: auto; }
#block09 .arm li .photo .right { float: right; width: 48%; }
#block09 .arm li .photo .right img { width: 100%; height: auto; }

#block09 .arm li .point { padding: 10px 3%; font-size: 14px; height: auto; }
#block09 .arm li .point h6 { font-size: 14px;  background: url(../images/block09_03.png) no-repeat left center; display: inline-block; *display: inline; *zoom: 1; padding: 0 0 0 20px; }
#block09 .arm li .point p { text-align: left; line-height: 170%; padding: 10px 0 20px; font-size: 12px; }
#block09 .arm li .point dl { padding: 0 0 5px; }
#block09 .arm li .point dt { float: left; width: 90px;}
#block09 .arm li .point dd { float: left; padding: 0 0 0 20px; width: auto; }
#block09 .nose { margin: 20px 0 0; }
#block09 .nose h5 { text-align: center; padding: 10px 0; line-height: 150%; }
#block09 .nose li { width: 100%; float: none; padding: 0 0 30px 0; background: url(../images/block09_bottom.png) no-repeat center bottom; height: auto; margin: 0 0 10px; }
#block09 .nose li img { width: 100%; height: auto; }
#block09 .nose li.none { padding: 0 0 30px 0; background: url(../images/block09_bottom.png) no-repeat center bottom; margin: 0 0 10px; }
#block09 .nose li p { font-size: 17px; }
#block09 .nose li small { font-size: 14px; line-height: 150%; text-align: left; display: block; padding: 10px 0 0; }
#block09 .nose .point { padding: 10px 3%; font-size: 14px; }
#block09 .nose .point p { font-size: 12px; }
#block09 .nose .point h6 { font-size: 14px; color: #e93b9e; background: url(../images/block09_03.png) no-repeat 410px center; margin: 0 0 10px; }
#block09 .nose .point dl { padding: 5px 0 0; }
#block09 .nose .point .right dt { float: left; width: 90px; text-align: center; background: #e93b9e; color: #fff; line-height: 150%; }
#block09 .nose .point .right dd { float: left; line-height: 150%; padding: 0 0 0 10px; text-align: left; }
#block09 .block09 img { width: 100%; height: auto; padding: 0 0 10px;}

/*------------------------------------------------------------------------------------------------- block10 */

#block10 { padding: 30px 0 0; }
#block10 h3 { padding: 0 0 30px; }
#block10 h3 img { width: 70%; height: auto; }
#block10 .detail { width: 100%; padding: 0 0 30px; }
#block10 .detail .mask { border-bottom: 3px solid #f8c4e2; border-right: 3px solid #f8c4e2; box-sizing: border-box; }
#block10 .detail .mask .white { background: #fff; padding: 10px 3% 0; }
#block10 .detail .mask .white .left { float: none; }
#block10 .detail .mask .white .left img { width: 100%; height: auto; }
#block10 .detail .mask .white .right { float: none; width: 100%; padding: 0; }
#block10 .detail .mask .white .right h4 { font-size: 17px; text-align: center; padding: 20px 0 0; }
#block10 .detail .mask .white .right p { font-size: 14px; padding: 10px 0 30px; }
#block10 .detail .posi { position: absolute; left: 0; top: 0; width: 63px; height: auto; }

/*------------------------------------------------------------------------------------------------- block11 */

#block11 { padding: 30px 0; }
#block11 h3 { padding: 0 0 30px; text-align: center; color: #e93b9e; background: url(../images/icn_bdr.png) repeat-x center 40px; font-size: 17px; }
#block11 h3 img.SP { width: auto; height: 30px; padding: 20px 0 0; display: block; margin: 0 auto; }

#block11 .detail { padding: 0 0 30px; }
#block11 .left { float: none; text-align: center; }
#block11 .left p { font-size: 16px; padding: 5px 0 0; }
#block11 .right { float: none; text-align: center; }
#block11 .right p { font-size: 16px; padding: 5px 0 0; color: #e93b9e; }
#block11 .bg { width: 100%; text-align: center; }
#block11 .right.bg { background: url(../images/block11_arrow.png) no-repeat 0 0; padding: 0; text-align: left; }
#block11 .left.bg { background: url(../images/block11_right.png) no-repeat 0 0; padding: 0; text-align: left; }
#block11 .box {  }
#block11 .box .top { padding: 0; background: none; }
#block11 .box .bottom { background: none; }
#block11 .box .bottom div { border: 2px solid #aa9e7c; padding: 20px 3%; box-sizing: border-box; }
#block11 .box .bottom div h4 { font-size: 15px; padding: 0 0 20px; }
#block11 .box .bottom div small { font-size: 14px; padding: 20px 0 0; display: block; }
#block11 .box .bottom div p.button { font-size: 14px; padding: 10px 0; background: url(../images/arw_off.png) right center no-repeat; background-size: 13px auto;}
#block11 .box .bottom div p.button.close { background: url(../images/arw_on.png) right center no-repeat; background-size: 13px auto; font-size: 14px;}

/*------------------------------------------------------------------------------------------------- block12 */

#block12 { padding: 30px 0; }
#block12 h3 { padding: 0 0 30px; }
#block12 h3 img { width: 80%; height: auto; }
#block12 .detail { padding: 20px 3%; }
#block12 .detail p { font-size: 14px; }
#block12 .detail img { width: 100%; height: auto; }
#block12 .detail .photo { padding: 0 0 20px; }
#block12 .detail .photo .left { float: none; }
#block12 .detail .photo .right { float: none; }
#block12 .detail .photo .right p { width: 100%; padding: 20px 0 0; }
#block12 .detail .photo2 { padding: 20px 0; }
#block12 .detail .photo2 .left { float: none; width: 100%; }
#block12 .detail .photo2 .left p { padding: 0 0 20px; }
#block12 .detail .photo2 .right { float: none; }
#block12 .detail .write { padding: 20px 0 30px; width: 100%; margin: 20px auto 0; }
#block12 .detail .write h4 { font-size: 16px; }
#block12 .detail .write p { padding: 30px 0 0; position: static; }
#block12 .detail .write p a { line-height: 60px; width: 250px; font-size: 16px; position: relative; }
#block12 .detail .write p img { position: absolute; left: 20px; top: -20px; width: 50px; }

/*------------------------------------------------------------------------------------------------- block13 */

#block13 { padding: 30px 0; }
#block13 h3 { padding: 0 0 20px; }
#block13 h3 img { width: 80%; height: auto; }
#block13 .detail { padding: 20px 3%; }
#block13 .detail h4 { padding: 0 0 10px; }
#block13 .detail h4 img { width: 100%; height: auto; }
#block13 .detail h5 { background: url(../images/block13_03.png) no-repeat center center; background-size: 100% 50px; font-size: 16px; padding: 10px 0;  line-height: 130%; }
#block13 .detail .explain { padding: 20px 0 0; }
#block13 .detail .explain .left { float: none; width: 100%; padding: 0; border-right: none; }
#block13 .detail .explain .right { float: none; width: 100%; }

/*------------------------------------------------------------------------------------------------- block14 */

#block14 { padding: 30px 0; }
#block14 h3 { padding: 0 0 30px; text-align: center; color: #e93b9e; background: url(../images/icn_bdr.png) repeat-x center 40px; font-size: 17px; }
#block14 h3 img.SP { width: auto; height: 30px; padding: 20px 0 0; display: block; margin: 0 auto; }
#block14 .detail { padding: 20px 3%; margin: 0 0 20px; }
#block14 .detail .left { float: none; }
#block14 .detail .left img { width: 100%; height: auto; }
#block14 .detail .right { float: none; width: 100%; padding: 0; }
#block14 .detail .right img { height: 24px; width: auto; }
#block14 .detail .right dl { padding: 20px 0; }
#block14 .detail .right dt { float: left; }
#block14 .detail .right dd { float: left; font-size: 18px; line-height: 31px; padding: 0 0 0 10px; }
#block14 .detail .right p { line-height: 170%; font-size: 14px; }

/*------------------------------------------------------------------------------------------------- block15 */

#block15 { padding: 30px 0; }
#block15 h3 { padding: 0 0 30px; text-align: center; color: #e93b9e; background: url(../images/icn_bdr.png) repeat-x center 40px; font-size: 17px; }
#block15 h3 img.SP { width: auto; height: 30px; padding: 20px 0 0; display: block; margin: 0 auto; }
#block15 table { margin: 0 0 25px; width: 100%; ; }
#block15 th { width: 50px; }
#block15 thead td { color: #fff; font-size: 16px; padding: 4px 0; }
#block15 thead td small { font-size: 14px; padding: 0 0 20px; }
#block15 thead .bottom th { padding: 20px 0 0; }
#block15 thead .bottom td { padding: 13px 0 0; }
#block15 tbody th { padding: 25px 0 50px; vertical-align: top; }
#block15 tbody td { padding: 25px 0 50px 0; vertical-align: top; font-size: 14px; }

/*------------------------------------------------------------------------------------------------- block16 */

#block16 { padding: 30px 0; }
#block16 .box { width: 100%; }
#block16 .top { background: none; }
#block16 .bottom { background: none; }
#block16 .border { border: 2px solid #aea589; padding: 20px 3%; }
#block16 .border h4 { font-size: 18px; padding: 0 0 20px; }
#block16 .border .point { padding: 20px 0 0; }
#block16 .border .point .left { float: none; }
#block16 .border .point .left img { width: 100%; height: auto; }
#block16 .border .point .right { float: none; width: 100%; }
#block16 .border .point .right p { font-size: 14px; }
#block16 h3 { padding: 0 0 0; text-align: center; color: #e93b9e; background: url(../images/icn_bdr.png) repeat-x center 40px; font-size: 17px; margin: 30px 0 0; }
#block16 h3 img.SP { width: auto; height: 30px; padding: 20px 0 0; display: block; margin: 0 auto; }
#block16 .store { padding: 30px 0 20px; }
#block16 .store .left { float: none; }
#block16 .store .left img { width: 100%; height: auto; }

#block16 .store .right { float: none; height: auto; width: 94%; padding: 20px 3%; }
#block16 .store .right p { font-size: 22px; padding: 0 0 15px; }
#block16 .store .right dt { width: 80px; line-height: 38px; margin: 0 0 10px; font-size: 14px; }
#block16 .store .right dd.first { padding: 1px 0 1px 20px; line-height: 130%; }
#block16 .store .right dd { padding: 0 0 0 20px; color: #e93b9e; margin: 0 0 10px; font-size: 14px; line-height: 38px; }



#block16 h5 { font-size: 16px; line-height: 45px; }
#block16 h6 { font-size: 18px; padding: 20px 0 15px; }
#block16 ul { margin: 0; }
#block16 li { margin: 0 0 16px; width: 100%; float: none; }
#block16 li dt { float: left; width: 45%; }
#block16 li dt img { width: 100%; height: auto; }
#block16 li dd { float: left; width: 52%; padding: 10px 0 0 3%; font-size: 12px; line-height: 150%; }
#block16 li.padd dd { padding: 10px 0 10px 3%; }
#block16 .access { padding: 20px 0 40px; }
#block16 .access dl { margin: 0 0 15px; }
#block16 .access dt { padding: 20px 0; width: 100%; float: none; }
#block16 .access .first dt { padding: 20px 0; }
#block16 .access .second dt { line-height: 150%; padding: 20px 0; }
#block16 .access .third dt { line-height: 150%; padding: 20px 0; }
#block16 .access dd { padding: 20px 3%; width: 94%; float: none; font-size: 14px; line-height: 150%; }
#block16 .map iframe { width: 100%; height: 350px; }
#block16 .map p { text-align: center; }
#block16 .map p a { font-size: 14px; text-decoration: underline; display: inline-block; *display: inline; *zoom: 1; padding: 0 0 0 20px; background: url(../images/map.png) no-repeat left center; }


/*------------------------------------------------------------------------------------------------- block17 */

#block17 { padding: 30px 0; background: #ffecf7; }
#block17 h3 { padding: 0 0 30px; text-align: center; color: #e93b9e; background: url(../images/icn_bdr.png) repeat-x center 40px; font-size: 17px; }
#block17 h3 img.SP { width: auto; height: 30px; padding: 20px 0 0; display: block; margin: 0 auto; }
#block17 .message { width: 100%; padding: 20px 0; margin: 0 auto; font-size: 14px; line-height: 170%; }
#block17 .box { padding: 20px 3%; }
#block17 .box .left { float: none; text-align: center; }
#block17 .box .right { float: none; padding: 20px 0 0; }
#block17 .box .right h5 { font-size: 14px; text-align: center; }
#block17 .box .right h4 { font-size: 18px; text-align: center; }
#block17 .box .right ul { padding: 25px 0 0; }
#block17 .box .right li { font-size: 12px; line-height: 180%; padding: 0 0 0 20px; background: url(../images/block17_maru.png) no-repeat left 4px; }

/*------------------------------------------------------------------------------------------------- block18 */

#block18 { }
#block18 .inner { background: url(../images/block17_bg2.png) no-repeat right bottom; background-size: 150px 202px; padding: 30px 0 90px; }
#block18 p { font-size: 16px; line-height: 200%; }
#block18 h4 { padding: 40px 0 0; }
#block18 h4 img { width: 60%; height: auto; }

/*------------------------------------------------------------------------------------------------- block19 */

#block19 { padding: 30px 0; }
#block19 h3 { padding: 0 0 20px; }
#block19 h3 img { width: 50%; height: auto; }
#block19 dl { font-size: 16px; }
#block19 dl.top { background: none; }
#block19 dt { padding: 0 3%; float: none; line-height: 60px; width: 94%; background: #c93388; }
#block19 dd { float: none; line-height: 170%; width: 100%; padding: 20px 0; font-size: 14px; }
.add_block .treatment { padding: 0 0 40px; }
.add_block .treatment .pink_btn a { width: 60%; padding: 10px 0; background: url(../images/icn_arrow_02.png) no-repeat center right 7% #e8208d; background-size: 4%; }
.add_block .treatment h3,
.add_block .solution h3 { font-size: 18px; padding: 10px 0; line-height: 130%;}
.add_block .treatment p { padding: 5px 0 10px;  }
.add_block .treatment p.text { padding: 10px 0 0; font-size: 12px; }
.add_block .treatment p a img { width: 100px; height: auto; }
.add_block .treatment h3,
.add_block .solution h4 img { width: 100%; height: auto; }
.add_block .solution h4 { text-align: center; padding: 30px 0 25px; }
.add_block .solution li { border: 1px solid #e52b90; padding: 20px; margin: 0 0 55px; }
.add_block .solution dl { display: block; }
.add_block .solution dt { width: 100%; }
.add_block .solution dd { padding: 0 0 20px; width: 100%; }
.add_block .solution dt .flow { font-size: 18px; padding: 10px 0 10px 25%; background: url(../images/step_01.png) no-repeat center left 1% / 23%; }
.add_block .solution dt p { padding: 10px 0 0; }
.add_block .solution li::after { content: ""; background: url(../images/icn_arrow.png) no-repeat center center / 65%; width: 79px; height: 53px; bottom: -10%; }
.add_block .solution li:nth-of-type(2) dt .flow { background: url(../images/step_02.png) no-repeat center left 1% / 23%; }
.add_block .solution li:nth-of-type(3) dt .flow { background: url(../images/step_03.png) no-repeat center left 1% / 23%; }
.add_block .solution li:nth-of-type(4) dt .flow { background: url(../images/step_04.png) no-repeat center left 1% / 23%; }
.add_block .solution li:nth-of-type(5) dt .flow { background: url(../images/step_05.png) no-repeat center left 1% / 23%; }

/*------------------------------------------------------------------------------------------------- block20 */

#block20 { position: fixed; bottom: 0; left:0; width: 100%; z-index: 100; }
#block20 .bg { width: 100%; height: auto; position: relative; }
#block20 ul { margin: 0 0 0 -2%; width: 80%; position: absolute; right: 3%; top: 40%; text-align: center; }
#block20 li { display: inline-block; *display: inline; *zoom: 1; width: 48%; float: none; /* margin: 0 0 0 2%;  */background: #50b900; border-radius: 5px; }
#block20 li a { line-height: 120%; padding: 10px 0; display: block; text-align: center; font-size: 4vw; font-style: italic; color: #fff; font-family: "游ゴシック体", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic Pro","Meiryo","メイリオ","Osaka","ＭＳ Ｐゴシック","MS P Gothic","Arial",sans-serif; font-weight: bold; }
#block20 li:first-child { background: #e62b90; border-radius: 5px; }
#block20 li img { width: 100%; height: auto; }

/*------------------------------------------------------------------------------------------------- contact_box */

#contact_box { padding: 30px 0; }
#contact_box img { padding: 0 0 20px; width: 100%; height: auto; }
#contact_box .bg { background: url(../images/contact_sp_bg.jpg) no-repeat center center; background-size: 100% auto; }
#contact_box .bg .cfx { padding: 55% 0 10%; }
#contact_box .bg .left { float: none; text-align: center; }
#contact_box .bg .left p { font-size: 14px;}
#contact_box .bg .left img { padding: 3px 0 10px; width: 65%; }
#contact_box .bg .left a { font-size: 8vw; background: url(../images/icn_tel.jpg) no-repeat left center; background-size: 6vw 6vw; padding: 0 0 0 7.5vw; }
#contact_box .bg .left a span { font-size: 4vw; text-align: center; }
#contact_box .bg .right { float: none; margin: 5px 0 0;}
#contact_box .bg .right a { font-size: 5vw; width: 80%; line-height: 40px; border-bottom: 2px solid #437c6b; background: url(../images/icn_mail.jpg) no-repeat 3vw center #2dc89e; background-size: 20px auto; margin: 5px auto 0; }

/* ------------------------------------------------------------ contact */

#contact { padding: 40px 0 0; }
#contact h3 { font-size: 16px; text-align: center; color: #000; padding: 0 0 30px; }
#contact h3 img { width: 60%; height: auto; }
#contact h3 span { display: block; font-size: 24px; background: url(../images/common/border.png) center bottom no-repeat; font-weight: bold; }
.contact-inner { width: 94%; }
.contact-inner .form { padding: 20px 6%; }
.contact-inner .form form { padding: 30px 0 0; }
.contact-inner .form p.caution { padding: 15px 3%; text-align: left; font-size: 12px; }
.contact-inner .form table tr th { width: 100%; display: block; }
.contact-inner .form table tr td { width: 100%; display: block; padding: 8px 0 11px; }
.contact-inner .form table tr td label { padding: 0 20px 15px 0; }
.contact-inner .form p.btn input[type="submit"] { margin: 0 auto; }
.contact-inner .form p.btn input[type="submit"],
.contact-inner .form p.btn a { height: 40px; line-height: 40px; width: 80%; max-width: 240px;  margin-bottom: 10px; display: block; }
.contact-inner .form h4 { padding: 20px 0; font-size: 24px; }
.contact-inner .form p.alert span { font-size: 14px; text-align: center; }
.contact-inner .form p.alert { font-size: 14px;  text-align: left; }

/* ------------------------------------------------------------ bnrarea */
.bnrarea { padding: 9% 0 15%; }
.bnrarea .campaign { display: block; margin: 0 auto 6%; }
.bnrarea .campaign img { width: 100%; height: auto; }
.bnrarea .contact { background: url(../images/bg_02.jpg) no-repeat center center; background-size: cover; padding: 9% 3% 6%; }
.bnrarea .contact h3 { font-size: 30px; letter-spacing: 4px; }
.bnrarea .contact h3 span { font-size: 16px; letter-spacing: 2px; }
.bnrarea .contact .about { font-size: 16px; text-align: left; line-height: 150%; padding: 5px 3% 15px; }
.bnrarea .contact ul { background: #fff; padding: 6%; }
.bnrarea .contact ul li { float: none; padding: 0; }
.bnrarea .contact ul li:first-child { padding: 0 0 6%; text-align: center; }
.bnrarea .contact ul li.reserve { text-align: center; }
.bnrarea .contact ul li.reserve img { width: 250px; height: auto; margin: 0 auto 6%; }
.bnrarea .contact ul li.tel { padding: 0; text-align: center; margin: 0 auto; }
.bnrarea .contact ul li.tel img { width: 250px; height: auto; }
.bnrarea .contact ul li.web { text-align: center; padding: 6% 0 0;}
.bnrarea .contact ul li.web img { width: 250px; height: auto; }
.bnrarea .contact ul li.reserve a span { display: inline-block; }
.bnrarea .contact ul li p { font-size: 18px; margin: 0 auto 15px; }
.bnrarea .line { padding: 6% 0 0; }
.bnrarea .line img { width: 100%; height: auto; }
.bnrarea .line_bnr { margin: 0 auto 6%; }
.bnrarea .pair,
.bnrarea .child { display: block; padding: 0 0 50px; }
.bnrarea .pair img,
.bnrarea .child img { width: 100%; height: auto; }


/* ------------------------------------------------------------ footer */

#footer { padding: 30px 0 150px; }
#footer p { font-size: 12px; padding: 15px 0 25px; }
#footer address  { font-size: 10px; padding: 15px 0; }
#footer a img { width: 240px; height: auto; }

/* ------------------------------------------------------------ global nav */

#menu-btn { display: block; position: absolute;  top: 14px; z-index: 999; right: 10px; }
#menu-btn img { width: 40px !important; height: auto; display: inline !important; }

#open_modal					{ cursor: pointer; display: block;}

.fixed 						{ position: fixed; }
#mask 						{ display: none; height: 100%; width: 100%; height: 100%; min-height: 100%; background: #acacac; position: fixed; opacity: 0.7; filter: alpha(opacity=70); -moz-opacity:0.70; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; }

						
/* #open_modal 				{ cursor: pointer; right: 10px; top: 10px; z-index: 999; position: fixed; } */
#navigation 				{ text-align: center; margin: 0 auto; top: 0; right: 0; left: 0; margin: 0; z-index: 100; position: relative; display: none; background: #ffffff; }
#menu-header				{ padding: 0 0 30px; }
#navigation .close_btn		{ padding: 0 0 80px; position: relative; }
#navigation .close_btn img	{ position: absolute; top: 20px; right: 3%; width: 10%; height: auto; }
#navigation #menu-header a img { height: auto; padding: 0 0 5px; width: 70%; height: auto; }
#navigation #menu-header a { color: #000; }
#navigation ul 				{ font-size: 14px; z-index: 999; width: 80%; margin: 0 auto; padding: 0 0 60px;}
#navigation ul li 			{ width: 100%; border-bottom: 1px solid #fff; text-align: left; background: url(../images/menu_arrow.png) no-repeat right center; background-size: 6px 10px; }
#navigation ul li:first-child { border-top: 1px solid #fff;}
#navigation ul li a 		{ color: #000; text-align: left; display: block; padding: 16px 0 ; font-size: 14px; color: #fff; }
#navigation ul li a span 	{ font-size: 14px; padding: 0 10px 0;  }
#navigation ul li a	img		{ width: 100%; height: auto; }
#navigation ul li.bottom	{ background: no-repeat; border: none; }

#navigation p#close 		{ background: #000; color: #fff; padding: 15px 0; cursor: pointer; }
#header-close 				{ position: absolute; top: 20px; right: 10px;  }

}

@media only screen and (orientation : portrait) { 
	#navigation 			{ position: fixed; top:0; margin: 0 0 0; right: 0; left: 0; background: #f8469f; height: 100%; overflow: scroll; }
	
	
}
