﻿span.small {
    font-size: 12px;
    margin-top: 10px;
    display: block;
}

.head_box{
  scrollbar-width: none;
}

.link_box li.grid_1.grid_1_tb.grid_1_sp.txt_center.square_img {
    width: 30px !important;
    margin-right: 20px;
    height: 30px !important;
}
.link_box ul{
    justify-content: flex-start;
}

#fakeloader.bg_color1{
    background-color: #f7debe;

}
.bg_color4 {
    background-color: #e4c399;
}

@media all and (-ms-high-contrast: none){
    a.txt_color_nomal.hvr_opa05.motion03s.d_block.pd_30px.width_300-max.border_color2.border_so1{
        padding-bottom:20px !important;
    }
    .box_txt1::before{
        top:12px !important;
    }
    .page3 .box_txt1::before{
        top:4px !important;
    }
    #btn_wrap a{
        padding-top:15px !important;
    }
    #btn_wrap .tel_bt a{
        padding-top:12px !important;
        padding-bottom:13px !important;
    }
    #contents1 p.txt3,#contents2 p, #contents3 p{
        background-position-y:-2px;
        padding-top:4px;
    }
}
/*
.contact_bt .fa-envelope:before {
    content: "\f075" !important;
}*/
.line_bt i{
    margin-right:5px;
}
#sp_banner{
    width: 100%;
    display: flex;
    position: fixed;
    bottom: 0;
    z-index: 99;
    left: 0;
}
#sp_banner div{
    width:50%;
}
a.d_inline_b.mg_l-5px.mg_r-5px.pd_t-5px.pd_b-5px.pd_l-10px.pd_r-10px.border_rad3.bg_color1.txt_white.shadow-l.motion03s.hvr_opa05 {
    background: #603813;
}
a.txt_color_nomal.hvr_opa05.motion03s.d_block.pd_30px.width_300-max.border_color2.border_so1 {
    color: #86270a;
}
.circ1{
    background: #ff9d0d !important;
}
.circ2{
    background: #86270a !important;
}
.circ3{
    background: #3bb93b !important;
}
.circ4 {
    background: #f78ba9 !important;
}
#page9 h3.txt_color1{
    font-weight:bold;
}
.linkStyle{
  color: #ff6600;
}

@media screen and (min-width: 1600px){
header.grid_3 {
    width: 20% !important;
}
.main_box {
    width: 80% !important;
    margin-left: 20% !important;
}
}
main.top{
    background:none;
}
.cms_title p ,#page_title p{
    font-family: 'Caveat', cursive;
    font-size: 20px;
}
#page_title p{
    text-shadow:none;
    color:#e2a89f;
}
.box1 .cate_txt1{
    padding:50px;
}
.box1{
    flex-wrap: nowrap;
    align-items: flex-start;
}
.hamburger__icon:after, .hamburger__icon:before {
    background-color: #603813;
}
.hamburger__icon.bg_color1 {
    background-color: #603813;
}

#cms_1-a .box_txt1::before{
    display:none;
}

/* YouTube */
.video_cms{
	padding-bottom: 57.25%;
	height: 0;
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
/* YouTube */
.video_cms {padding-bottom: 56.25%;}
}



.button2:hover {
    box-shadow: 0 0 20px #fec0c0 inset;
}

.box_txt1 {
    position: relative;
}
.box_item{
    border:0;
}
.box_txt1::before {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    background: url(Dup/img/title_b4.png) no-repeat;
    background-size: contain;
    top: 15px;
    left: -22px;
}

.cate_title::before {
    width: 40px;
    height: 40px;
    content: "";
    background: url(Dup/img/title_b3.png) no-repeat;
    position: absolute;
    left: 0px;
    top: -6px;
    background-size: contain;
}
.cate_title {
    position: relative;
    padding-left: 30px;
    border: 0;
    color: #471100;
}


.cms_2-c .cate_box {
    justify-content: flex-start;
    padding: 20px;
}

 .cate_box {
    padding-bottom: 0;
}
 main {
    background: url(Dup/img/chil_bg.png) repeat-y;
    background-position: center top;
}
.page3  .box_txt1 {
    position: relative;
}
.page3  .box_txt1::before {
    content: "";
    position: absolute;
    width: 22px;
    height: 22px;
    background: url(Dup/img/title_b2.png) no-repeat;
    background-size: contain;
    top: 8px;
    left: -28px;
}

.page3  .cate_title::before {
    width: 40px;
    height: 40px;
    content: "";
    background: url(Dup/img/hata.png) no-repeat;
    position: absolute;
    left: 0px;
    top: -6px;
    background-size: contain;
}
 .page3  .cate_title {
    position: relative;
    padding-left: 50px;
    border: 0;
    color: #471100;
}
#page_title h2{
    position:relative;
    text-shadow:none;
    display:inline-block;
}
video{
    vertical-align:bottom;
}
#main_menu ul li a{
    white-space:nowrap;
}
.more a,.foot_tel_bt a{
    position:relative;
    z-index:2;
    background: #f89eb7;
    color:white;
}
.more .button:hover::after,.foot_tel_bt a:hover::after {
    box-shadow: inset 0 0 0 15em #ee7395;
}

.more a:after,.foot_tel_bt a:after{
    z-index:-1;
}
.contact_bt .button:hover::after {
    box-shadow: inset 0 0 0 15em #ff8817;
}
.tel_bt .button:hover::after {
    box-shadow: inset 0 0 0 15em #691900;
}
.line_bt .button:hover::after {
    box-shadow: inset 0 0 0 15em #29a329;
}
.mail_bt .button:hover::after {
    box-shadow: inset 0 0 0 15em #ee7395;
}

.line_bt svg{
    margin-right:5px;
}
#btn_wrap a{
    color:white;
    padding-top:10px;
    padding-bottom:10px;
    border:0;
    position: relative;
    z-index: 2;
}
#btn_wrap a:after{
    z-index:-1;
}
.contact_bt a{
    background: #ff9d0d;
    
}
.tel_bt a{
    background: #86270a;
}
.line_bt a{
    background: #3bb93b;
}
.mail_bt a{
    background: #f78ba9;
}
/*
header::before {
    width: 100%;
    height: 100vh;
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    outline: 1px solid white;
    outline-offset: -15px;
    z-index: -1;
}*/
span.circle::before {
    width: 170px;
    height: 130px;
    background: url(Dup/img/con4.png) no-repeat;
    content: "";
    position: absolute;
    left: 60px;
    background-position: center;
    background-size: contain;
    top: 0px;
}
span.circle {
    display: block;
    width: 250px;
    height: 250px;
        background: #fff2e1;
    border-radius: 100%;
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-125px);
}
#top_cms_wrap {
    background: #fff4ee url(Dup/img/chil_bg.png);
    position: relative;
    margin-top: 150px;
    padding-top: 30px;
    padding-bottom: 50px;
}
#top_cms_wrap {
    background: #fff2e1 url(Dup/img/chil_bg.png);
}
#footer_wrap {
     background: #f7e4cc url(Dup/img/footer_bg.png) no-repeat;
    background-position: right bottom;
    background-size: 40%;
}

.cms_title h2 {
    display: inline-block;
    position:relative;
}
/*
.cms_title h2:before {
    width: 25px;
    height: 40px;
    content: "";
    position: absolute;
    background: url(Dup/img/con2_1.png) no-repeat;
    right: -35px;
    top: 0;
    background-size: contain;
}*/
.button:hover::after {
    box-shadow: inset 0 0 0 15em rgb(146 95 61);
}

div#main_img::before {
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    background: rgba(255,255,255,0.2);
    left: 0;
    top: 0;
}
#main_b{
    position: absolute;
    width: 32vw;
    left: 5vw;
    top: 8vw;
}
#main_b img{
    min-height:0;
}

#contents2 p,#contents3 p {
    background-color: transparent;
    background-image: linear-gradient(180deg, #d5d5d5 1px, transparent 1px);
    background-size: 100% 36px;
    line-height: 36px;
    padding-bottom: 1px;
    padding-left: 10px;
    padding-right: 10px;
    text-align: left;
    margin-top: 20px;
    position:relative;
}

#contents3 div.grid_6:last-of-type .fig_wrap::before {
    width: 150px;
    height: 150px;
    content: "";
    background: url(Dup/img/con3_2.png) no-repeat;
    position: absolute;
    right: -50px;
    bottom: -70px;
    background-size: contain;
    z-index: 2;
}

#contents3 div.grid_6:nth-child(1) .fig_wrap::before {
    width: 150px;
    height: 150px;
    content: "";
    background: url(Dup/img/con2_2_1.png) no-repeat;
    position: absolute;
    right: -50px;
    bottom: -50px;
    background-size: contain;
    z-index: 2;
}
.fig_wrap{
    position:relative;
}
#contents3 div.grid_6:nth-child(1){
    padding-right:40px;
}
#contents3 div.grid_6:last-of-type{
    padding-left:40px;
}
#contents2 figure::before {
    width: 90px;
    height: 170px;
    content: "";
    background: url(Dup/img/con1_2.png) no-repeat;
    position: absolute;
    right: -50px;
    bottom: -40px;
    background-size: contain;
}
#contents2 figure,#contents3 div.grid_6{
    position:relative;
}
#contents2,#contents3{
    padding:50px;
}

#contents2 h2::before {
    content: "";
    position: absolute;
    width: 90px;
    height: 30px;
    background: url(Dup/img/p1.png) no-repeat;
    background-size: contain;
    top: -30px;
}

#contents3 h3.txt5::before {
    content: "";
    position: absolute;
    width: 90px;
    height: 30px;
    background: url(Dup/img/p2.png) no-repeat;
    background-size: contain;
    top: -30px;
}
#contents3 h3.txt7::before {
    content: "";
    position: absolute;
    width: 90px;
    height: 30px;
    background: url(Dup/img/p3.png) no-repeat;
    background-size: contain;
    top: -30px;
}

#contents2 h2,#contents3 h3{
    display:inline-block;
    position:relative;
        margin-top: 50px;
}


#contents1 h2::after {
    content: "";
    position: absolute;
    background: url(Dup/img/intro2.png) no-repeat;
    width: 20px;
    height: 20px;
    background-size: contain;
    right: -30px;
    top: -10px;
}
#contents1 h2::before {
    content: "";
    position: absolute;
    background: url(Dup/img/intro1.png) no-repeat;
    width: 50px;
    height: 50px;
    background-size: contain;
    left: -50px;
    top: -20px;
}
h1,h2,h3,h4{
    font-family: 'Shippori Mincho', serif !important;
}
/*
body {
    background: #FFF7F3;
}*/
#contents1{
    max-width: 1110px;
    text-align:center;
    margin-top: 30px;
    margin-bottom: 30px;
    padding-left: 50px;
    padding-right: 50px;
}
#contents1 p.txt3{
    background-color: transparent;
    background-image: linear-gradient(180deg, #d5d5d5 1px, transparent 1px);
    background-size: 100% 36px;
    line-height: 36px;
    padding-bottom: 1px;
    padding-left: 20px;
    padding-right: 20px;
    text-align:left;
}
#contents1 h2{
    display:inline-block;
    position:relative;
}
#contents1 h2:before{
    
}
@media screen and (min-width:769px){
 #sp_banner{
     display:none;
 }   
}
/*---------------------------------タブレット------------------------------------*/
@media screen and (max-width:768px){
.link_box li.grid_1.grid_1_tb.grid_1_sp.txt_center.square_img{
    height:25px !important;
}
.mail_bt a,.line_bt a{
    color: white;
    font-size: 16px;
    border:0;
}
.cate_title::before{
    top:-10px;
}
.box_txt1::before{
    top:13px;
}
.cms_2-c .cate_txt1 {
    width: 60% !important;
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 0;
}
main {
    background: url(Dup/img/chil_bg.png) repeat-y;
    background-position: center top;
    background-size: 90%;
}
#top_cms_wrap {
    background: #fff4ee url(Dup/img/chil_bg.png);
    position: relative;
    margin-top: 150px;
    padding-top: 30px;
    padding-bottom: 50px;
    background-repeat: repeat-y;
    background-size: 90%;
}
    .cate_list li{
        width:50% !important;
    }
    #main_b {
    position: absolute;
    width: 49vw;
    left: 7vw;
    top: 10vw;
}
    footer .link_box ul{
        justify-content: space-around;
    }
    h1#logo{
        max-width:100px;
    }
    #contents2 figure::before {
    width: 70px;
    height: 130px;
    
    }
    #contents3 div.grid_6:nth-child(1) .fig_wrap::before {
    width: 120px;
    height: 120px;
}
#contents3 div.grid_6:last-of-type .fig_wrap::before {
    width: 120px;
    height: 120px;
    right:-40px;

}
span.circle::before {
    width: 150px;
    height: 130px;
    background: url(Dup/img/con4.png) no-repeat;
    content: "";
    position: absolute;
    left: 70px;
    background-position: center;
    background-size: contain;
    top: 0px;
}
#footer_wrap {
    background-size: 45%;
    padding-bottom:50px;
}
.page3 .box_txt1::before{
    top:5px;
}
.head_box.width_300-max.pd_l-20px.pd_r-20px{
    max-width:400px;
}
h1#logo {
    max-width: 320px;
}
}


/*---------------------------------ここまで------------------------------------*/
/*---------------------------------スマホ------------------------------------*/
@media screen and (max-width:667px){
    h1#logo {
    max-width: 240px;
}
.box1 {
 
    flex-direction: column;
}
#contents2 figure::before{
    right: -20px;
}
#contents3 div.grid_6:nth-child(1) {
    padding-right: 0;
}
#contents1 p.txt3 {
    background-color: transparent;
    background-image: linear-gradient(180deg, #d5d5d5 1px, transparent 1px);
    background-size: 100% 36px;
    line-height: 36px;
    padding-bottom: 1px;
    padding-left: 20px;
    padding-right: 20px;
    text-align: left;
}
#contents1 {
    max-width: 1110px;
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
    padding-left: 20px;
    padding-right: 20px;
}
#contents1 h2::before {
    content: "";
    position: absolute;
    background: url(Dup/img/intro1.png) no-repeat;
    width: 40px;
    height: 50px;
    background-size: contain;
    left: -35px;
    top: -15px;
}


#contents2, #contents3 {
    padding: 20px;
}
#contents3 div.grid_6:nth-child(1) .fig_wrap::before{
    right:-10px;
}
#contents3 div.grid_6:last-of-type{
    padding-left:0;
}
#contents3 div.grid_6:last-of-type .fig_wrap::before{
    right:-10px;
}
span.circle::before {
    width: 120px;
    height: 110px;
    background: url(Dup/img/con4.png) no-repeat;
    content: "";
    position: absolute;
    left: 50px;
    background-position: center;
    background-size: contain;
    top: 0px;
}
span.circle {
    display: block;
    width: 200px;
    height: 200px;
    background: #fff4ee;
    border-radius: 100%;
    position: absolute;
    top: -80px;
    left: 50%;
    transform: translateX(-100px);
}
.box_txt1::before {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    background: url(Dup/img/title_b4.png) no-repeat;
    background-size: contain;
    top: 10px;
    left: -22px;
}
div#main_img::before {
    background: rgba(255,255,255,0.3);

}
#main_b {
    position: absolute;
    width: 59vw;
    left: 3vw;
    top: 4vw;
    z-index: 3;
}
.cms_2-c .cate_txt1 {
    width: 100% !important;
    padding: 10px;
    box-sizing: border-box;
}
footer .grid_5.grid_12_sp.mg_t-20px{
    text-align:center;
}
.cate_list li {
    width: 100% !important;
}
#cms_2-c .cate_title {
    margin-left: 0;
    text-align: left;
}
.page3 .box_txt1::before {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    background: url(Dup/img/title_b2.png) no-repeat;
    background-size: contain;
    top: 3px;
    left: -28px;
}
#footer_wrap {
    background-size: 85%;
}
.mail_bt a,.line_bt a{
    color: white;
    font-size: 12px;
}
a.txt_color_nomal.hvr_opa05.motion03s.d_block.pd_30px.width_300-max.border_color2.border_so1 {
    font-size: 20px;
}
}

/*---------------------------------ここまで------------------------------------*/