﻿/* ---------------------- color */
/* メインカラー */
.txt_color1{color: #5C4044} 
.bg_color1{background-color: #5C4044} 
.border_color1{border-color: #5C4044}
.hvr_txt_color1:hover{color: #5C4044} 
.hvr_bg_color1:hover{background-color: #5C4044} 
.hvr_border_color1:hover{border-color: #5C4044}

/* サブカラー */
.txt_color2{color: #788569} 
.bg_color2{background-color: #D9E0D1} 
.border_color2{border-color: #D9E0D1}
.hvr_txt_color2:hover{color: #788569} 
.hvr_bg_color2:hover{background-color: #D9E0D1} 
.hvr_border_color2:hover{border-color: #D9E0D1}

/* アクセントカラー */
.txt_color3{color: #9C787E} 
.bg_color3{background-color: #9C787E} 
.border_color3{border-color: #9C787E}
.hvr_txt_color3:hover{color: #9C787E} 
.hvr_bg_color3:hover{background-color: #9C787E} 
.hvr_border_color3:hover{border-color: #9C787E}

.bg_white {
    background-color: #FAF2EB;
/*    background-image: url('./Dup/img/paper.jpg');*/
/*    background-size: 600px auto;*/
/*    background-repeat: repeat;*/
}
.txt_white {color: #FAF2EB;}
body, .txt_color_nomal {color: #3B292C;}
#wrap {
    background-color: #FAF2EB;
    /*background-image: url('./Dup/img/paper.jpg');*/
    /*background-size: 600px auto;*/
    /*background-repeat: repeat;*/
}
p::selection,
span::selection,
h2::selection,
h3::selection,
h4::selection,
a::selection,
div::selection,
img::selection,
br::selection{
background:#3B292C;
color: #FAF2EB;
}

p::-moz-selection {
background:#3B292C;
color: #FAF2EB;
}

/* ---------------------- common */
body{
    font-family: 'Trirong','Noto Serif JP',"游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
    overflow: hidden;
}

#page_title h2{position: relative;}
#page_title h2::before{
    content:'';
    position:absolute;
    height: 213px;
    width: 590px;
    background-image: url(./Dup/img/page_title.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-44%);
    opacity: 0.7;
}

/* --- automatic link --- */
.linkStyle{color: #AB637A;}
.linkStyle:hover{text-decoration: underline;}

/* ---------------------- header */
#header.headtrans {background-color: #faf2eb;}
#logo a {padding: 20px 20px;}
#header.headtrans #logo a {padding: 20px 20px;}
/* ---------------------- nav */
#header.headtrans .contact_bt a {
    background-color: #AB637A!important;
    background-image: none;
}
/* ---------------------- footer */
#footer .contact_bt a:hover {
    background-image: none;
    background-color: #ab637a;
}

#logo2 {width: 250px;}
/* -------------------------- top ------------------------- */
.intro_wrap{
    background-image: url('./Dup/img/paper.jpg');
    background-size: 600px auto;
    background-repeat: repeat;
}
#top_cms .cms_sub_title span,
.contact_bt a,
.more a span,
#page_top a span{
    font-family: 'Croissant One', cursive;
    font-weight: normal;
}
#top_cms .cms_box:not(:first-child)::before {
    border-top: solid 20px #faf2eb;
}
#top_cms .cms_title span {    background-color: #AB637A;}
#main_img {height: auto!important;}
#main_img::before,
#main_img::after,
.main_bg::before,
.main_bg::after{
    content:'';
    position:absolute;
    height: 200px;
    width: 200px;
    background-image:url('./Dup/img/deco_main.svg');
    background-size:contain;
    background-repeat:no-repeat;   
    z-index: 3;
    opacity: 0.3;
    display: none;
}
#main_img::before{
    top:0;
    left: 0;
    transform: rotate(270deg);
}
#main_img::after{
    top:0;
    right: 0;
}
.main_bg::before{
    bottom: 0;
    left: 0;
    transform: rotate(180deg);
}
.main_bg::after{
    bottom: 0;
    right: 0;
    transform: rotate(90deg);
}
video{display:block;}

#contents1 .con1_title::before{
    background-color: transparent;
    background-image: url('./Dup/img/deco1.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom;
    height: 10px;
    width: 160px;
    bottom: -3px;
}
.con2_title{
    position:relative;
    padding-top: 30px;
    margin-bottom: 25px;
    border: none;
}
.con2_title::before{
    content:'';
    position:absolute;
    height: 10px;
    width: 100%;
    background-image:url('./Dup/img/deco2.svg');
    background-size:contain;
    background-repeat:repeat-x;
    top: 0px;
}

#top_cms .cms_title span{
    display: block;
    height: 20px;
    width: 70px;
    background-color: transparent;
    background-image: url(./Dup/img/deco3.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-top: 15px;
    margin-bottom: 15px;
}

/* -------------------------- sub ------------------------- */

/* ---------------------- cms1 */
#cms_1-a .box_txt1 {opacity: 1;}
#cms_1-a .date{
    border:none;
    position: relative;
}
#cms_1-a .date::before{
    content:'';
    position:absolute;
    height: 90px;
    width: 192px;
    background-image: url(./Dup/img/date.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    left: -18px;
    top: -20px;
}
/* ---------------------- cms2 */

/* ---------------------- cms3 */
#cms_3-e .cate_title {padding-left: 15px;}
#cms_3-e .sub_cate_title{
    position: relative;
    border: none;
    padding-left: 60px;
}
#cms_3-e .sub_cate_title::before{
    content:'';
    position:absolute;
    height: 50px;
    width: 50px;
    background-image: url(./Dup/img/deco4.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    left: 0px;
    top: 0;
}

/* ----------------------------------------------------------------------------------------------------------------------------
IE
--------------------------------------------------------- */
@media all and (-ms-high-contrast: none){
/* ---------------------- header */
    #pc_nav a, .cate_list a, #footer .tel_bt a, #footer .contact_bt a {padding-top: 10px;}

/* ---------------------- footer */
    footer .footer_nav a, #page08 #submit input {padding-top: 20px;}

/* -------------------------- top ------------------------- */
/* --- more --- */
    .more a span.hvr_more_span, #page10 a {padding-top: 15px;}

/* -------------------------- sub ------------------------- */
    #pc_nav a, .cate_list a, #footer .tel_bt a, #footer .contact_bt a {padding-top: 8px!important;}

/* ---------------------- cms2 */
    #cms_2-a .cate .cate_title {padding-top: 10px!important;}

/* ---------------------- cms3 */
    #cms_3-e .cate_title {padding-top: 5px!important;}
    #cms_3-e .sub_cate_title {padding-top: 5px!important;}

/* ---------------------- cms5 */
    #cms_6-a .cate .cate_title {padding-top: 10px!important;}

/* ---------------------- privacy policy */
    #page09 a {
        padding-top: 0px;
        padding-bottom: 2px;
    }

}

/* ---------------------------------------------------------------------------------------------------------------------------- 
タブレット　
--------------------------------------------------------- */
    @media screen and (max-width: 768px){
/* ---------------------- common */
    #loader img {width: 220px;}
     .linkStyle{text-decoration: underline;}
    #wrap {padding-top: 0!important;}
 
 /* ---------------------- header */
    #logo a {
        padding: 0;
        width: 180px;
    }
    #header, #header.headtrans {
        background-color: none;
        background-image: url('./Dup/img/paper.jpg');
        background-size: 600px auto;
        background-repeat: repeat;
    }

/* -------------------------- top ------------------------- */
    #main_img::before, #main_img::after, .main_bg::before, .main_bg::after {
        display: block;
        height: 160px;
        width: 160px;
    }
/* --- more --- */
    .more a {color: #3B292C;}
/* -------------------------- sub ------------------------- */

/* ---------------------- cms1 */
    #cms_1-a .date::before {
        height: 73px;
        width: 172px;
        left: -6px;
        top: -13px;
    }

/* ---------------------- cms3 */
    .cms_3-e .box_title1 {width: 65%!important;}
    .cms_3-e .box_title2 {width: 35%!important;}
    #cms_3-e .box_title1 {width: 58%!important;}
    #cms_3-e .box_title2 {width: 42%!important;}
    #cms_3-e .sub_cate_title {
        padding-left: 48px;
        line-height: 1.5;
    }
    #cms_3-e .sub_cate_title::before {
        height: 42px;
        width: 42px;
        top: 50%;
        transform: translateY(-50%);
    }

}

/* ----------------------------------------------------------------------------------------------------------------------------
スマホ　
--------------------------------------------------------- */
@media screen and (max-width: 667px){

    /* ---------------------- header */
    #header, #header.headtrans {padding: 5px 10px;}
    #logo{position: fixed;}
    #logo img {width: 100%!important;}

    /* -------------------------- top ------------------------- */
    #main_img::before, #main_img::after, .main_bg::before, .main_bg::after {
        height: 100px;
        width: 100px;
    }

    #top_cms .cms_sub_title {
        transform: none;
        top: -242px;
    }
    #top_cms .cms_sub_title span {
        position: relative;
        top: 32px;
    }
    .cms_3-e .box_title1,
    .cms_3-e .box_title2 {
        width: 100%!important;
    }

    /* -------------------------- sub ------------------------- */
    #page_title h2::before {width: 90%;}
    /* ---------------------- cms1 */
    #cms_1-a .date::before {
        height: 73px;
        width: 172px;
        left: -6px;
        top: -13px;
    }
    
    /* ---------------------- cms3 */
    #cms_3-e .sub_cate_title {
        padding-left: 36px;
        line-height: 1.5;
    }
    #cms_3-e .sub_cate_title::before {
        height: 30px;
        width: 30px;
        left: 0px;
        top: 50%;
        transform: translateY(-50%);
    }
    #cms_3-e .box_title1,
    #cms_3-e .box_title2 {
        width: 100%!important;
    }

}

/*211011 メールフォーム設置*/
.contact_box {margin-top: 90px;}

/*211105 fix*/

/* color */
/* メインカラー */
.txt_color1{color: #362519} 
.bg_color1{background-color: #362519} 
.border_color1{border-color: #362519}
.hvr_txt_color1:hover{color: #362519} 
.hvr_bg_color1:hover{background-color: #362519} 
.hvr_border_color1:hover{border-color: #362519}

/* サブカラー */
.txt_color2{color: #c3aea7} 
.bg_color2{background-color: #c3aea7} 
.border_color2{border-color: #c3aea7}
.hvr_txt_color2:hover{color: #c3aea7} 
.hvr_bg_color2:hover{background-color: #c3aea7} 
.hvr_border_color2:hover{border-color: #c3aea7}

/* アクセントカラー */
.txt_color3{color: #665557} 
.bg_color3{background-color: #665557} 
.border_color3{border-color: #665557}
.hvr_txt_color3:hover{color: #665557} 
.hvr_bg_color3:hover{background-color: #665557} 
.hvr_border_color3:hover{border-color: #665557}

#header.headtrans .contact_bt a {background-color: #362519!important;}

#footer .contact_bt a:hover {background-color: #665557;}

/* gallery */
/*
.cms_4-c .box_wrap {
    background-color: #362519;
    padding: 10px 10px;
}
.cms_4-c .cate_box .square_img {
    background: #362519;
}

#cms_4-c .cate_box .square_img{
background-color: #362519;
background-image: none;
}

#cms_4-c .cate {
    background-color: #362519;
    padding: 40px 10px 50px;
    margin-bottom: 60px;
    margin-top: 30px;
}
*/
#cms_4-c .cate h3,
#cms_4-c .cate p{
    color: #faf2eb;
    border-color: #faf2eb;
}

.lightboxOverlay {
    background-color: #362519;
    opacity: 0.8;
}
.lb-data {color: #faf2eb;}
.cms_1-a .cate_box .box_img1 {background: #362519;}

#logo a {background:none;}
#header .contact_bt {
    margin-left: 0;
}
#header .contact_bt a {
    background: none;
    color: #faf2eb;
    padding: 10px 20px;
}

#header.headtrans .contact_bt{margin-left: 20px;}
#header.headtrans .contact_bt a{padding: 10px 30px;}
#contact-box {margin-top: 100px;}
.contact_box {margin-top: 10px;}
#page08 #form_box input[type="date"] {
    background-color: #f7f7f7;
    width: 200px!important;
}
#page08 #form_box input[type="text"], 
#page08 #form_box textarea,
#page08 #form_box input[type="date"]{
    color: #3B292C;
}

/*TOP アコーディオン*/
.readmore-btn {
    z-index: 2;
    position: relative;
    cursor: pointer;
    transition: .2s ease;
    border-bottom: 1px dotted;
    font-size: 80%;
}
.readmore-btn::after {content: "続きを読む" }
.readmore-btn .fa {margin-right: .5em;}
.top_txt {
    position: relative;
    overflow: hidden;
}
.readmore-btn.is-show {bottom: -2em;}
.readmore-btn.is-show::after {content: "閉じる" /*クリック後にボタンのラベルを変える*/}
.readmore-btn.is-show + .grad-item::before {display: none;}
.readmore-btn.is-show .fa {transform: rotate(180deg);}
#contents2 div:first-child {padding-right: 0px;}
#intro {padding-right: 0;}
.con1_wrap{padding-right: 0;}
#main_img .main_bg, 
#contents1 .con1_bg {background: linear-gradient(to bottom right, rgba(54, 37, 25, 1), rgba(54, 37, 25, 0.9))!important;}

/*page top*/
#return_top {
    position: fixed;
    right: 30px;
    z-index: 2;
}
.return {
    margin-left: auto;
    position: relative;
}
.return::before,
.return::after {background-color: #958486;}
.return::before {
    display: inline-block;
    content: "";
    width: 20px;
    height: 1px;
    position: absolute;
    top: -120px;
    left: -14px;
    margin: auto;
    -webkit-transform: rotate(-65deg);
    transform: rotate(-65deg);
    transition: all 0.3s;
}
.return::after {
    display: inline-block;
    content: "";
    width: 1px;
    height: 130px;
    position: absolute;
    bottom: 0;
    left: 0;
    margin: auto;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
.return a {
    display: inline-block;
    position: absolute;
    transform: rotate(-90deg);
    width: 130px;
    bottom: 60px;
    left: -80px;
    color: #958486;
}

#page_top{display: none!important;}

@media screen and (max-width: 1200px){
    #pc_nav ul li a {font-size: 80%;}
}

@media screen and (max-width: 768px){
    #contents2 .con2_img1 {
        height: 100vw;
        background-position: bottom;
    }
}

@media screen and (max-width: 667px){
    #main_img .main_txt_wrap {padding: 0 20px;}
    .main_txt_wrap .main_txt {
        display: block;
        font-size: 13px;
        margin-bottom: 10px;
    }
    .intro_wrap .main_txt {display: none;}
    #page_top{display: block!important;}
    #return_top{display: none!important;}
}
/*211130 color fix*/
.hvr_txt_white:hover {color: #faf2eb;}
#wrap, .intro_wrap,.con2_box, .contents_wrap{
    background-image: none;
    background-color: #40312b!important;
    color: #FAF2EB;
}
#contents1 .con1_bg{
    opacity: 1;
    background: #40312b!important;
}
#top_cms .cms_box:not(:first-child)::before {border-top: solid 20px #40312b;}
.bg_color2 {background-color: #5f4e49;}
.cms_box .cms_title {color: #faf2eb;}
#top_cms .cms_sub_title span {color: #c3aea7;}
.more a {color: #faf2eb;}
.more a span {border-color: #faf2eb;}
.more a:hover {color: #3B292C;}
.more a .more_bg {background-color: #faf2eb;}
body, .txt_color_nomal {color: #faf2eb;}
.txt_color1 {color: #c3aea7;}
.border_color1 {border-color: #faf2eb;}
footer .contact_bt a {color: #5f4e49;}
#cms_6-a .cate_title {background-color: #665557;}
#header .contact_bt a {font-family: 'Trirong','Noto Serif JP',"游明朝", "YuMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";}

/*211216 fix*/
p::selection,
span::selection,
h2::selection,
h3::selection,
h4::selection,
a::selection,
div::selection,
img::selection,
br::selection{
background:#FAF2EB;
color: #2e221d;
}

p::-moz-selection {
background:#FAF2EB;
color: #2e221d;
}
/* ---------------------- color */
.bg_color1 {background-color: #2e221d;}
.bg_color2 {background-color: #8c7973;}
/* ---------------------- TOP */
#main_img .main_txt_wrap {
    background-color: rgba(46, 34, 29, 0.5);
    padding: 15px 80px;
    color: #ffffff;
}
#main_img .main_txt_wrap .main_txt {margin-bottom: 0px;}
#wrap, .intro_wrap, .con2_box, .contents_wrap,#contents1 .con1_bg {
    background-color: #2e221d!important;
}
#top_cms .cms_box:not(:first-child)::before{border-top: solid 20px #2e221d;}
#cms_6-c {max-width: unset;}
.cms_6-c .box_wrap {flex-wrap: wrap;}

#cms_6-c .cate_box {
    background-color: #2e221d;
    background-image: none;
    box-shadow: none;
    margin-bottom: 10px;
    border-top: 1px solid #9C787E;
}
.cms_6-c .cate_box {
    background-image: none;
    background-color: transparent;
    box-shadow: none;
    width: 100%!important;
    margin-left: auto;
    margin-right: auto;
    padding: 30px;
    border-top: 1px solid #9C787E;
}
#cms_6-c .cate_box:first-child,
.cms_6-c .cate_box:first-child{border-top: none;} 
.cms_6-c .cate_box:first-child{padding-top: 20px;}
.cms_6-c .box_title {
    border-bottom: 1px dotted;
    border-bottom: none;
}
#cms_6-c .circle,
#cms_6-c .arrow{display: none;}
#loader img {width: 400px;}
#header.headtrans {background-color: #fff;}

/* ---------------------- sub */
#page_title h2::before {
    height: 200px;
    width: 500px;
}
.cms_1-a .cate_box .box_img1 {
    background: transparent;
    height: 200px;
    text-align: center;
}
.cms_1-a .cate_box .box_img1 img {
    height: 200px!important;
    width: auto!important;
}
#cms_2-a .box_img1 {
    width: 90%!important;
    max-width: 300px;
    margin-top: 20px;
}
#cms_2-a .cate_con{
    flex-wrap: nowrap;
    align-items: flex-start;
}
#cms_2-a .cate_left,
#cms_2-a .cate_right{width: 50%;}
#cms_2-a .cate_box {margin-top: 0px;}
#cms_3-e .cate_title {margin-left: 0;}
.sub_cate_img_wrap {
    gap: 20px;
    justify-content: flex-start;
    align-content: stretch;
    margin-bottom: 20px;
}
#cms_3-e .sub_cate_img {
    width: calc((100% - 60px ) / 4)!important;
    box-shadow: none;
    margin: 0;
    text-align: center;
}
.lessons_contact_link {
    background-color: #fff;
    padding: 15px 10px;
    position: relative;
    margin: 0 auto 100px;
    display: block;
    width: 240px;
    text-align: center;
    font-size: 20px;
    transition: all 0.3s;
}
.lessons_contact_link:hover{transform: translateY(-5px);}
#cms_3-e #cate3 .lessons_contact_link, 
#cms_3-e #cate2 .lessons_contact_link {display: none;}
#cms_4-c .cate_wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
#cms_4-c .cate_box {
    padding: 0 0;
    width: calc((100% - 60px ) / 4)!important;
}
#cms_4-c .box_img1 {text-align: center;}
.cms_4-c .cate_box {border: 2px solid #2e221d;}
.cms_4-c .box_wrap {
    /*align-items: center;*/
}

@media screen and (max-width: 768px){
    #cms_2-a .box_img2 {width: 100%!important;}
    .cms_1-a .cate_box .box_img1 {height: 110px;}
    .cms_1-a .cate_box .box_img1 img {height: 110px!important;}
}

@media screen and (max-width: 667px){
    #loader img {width: 290px;}
    #main_img::before, #main_img::after, .main_bg::before, .main_bg::after {display: none;}
    #main_img .main_txt_wrap {padding: 15px 0px;}
    .intro_wrap {
        padding-right: 0px;
        padding-left: 0px;
    }
    .intro_item {
        padding-right: 20px;
        padding-left: 20px;
    }
    .intro_img img {width: 100%!important;}
    /* ---------------------- sub */
    #page_title h2::before {width: 80%;}
    #cms_2-a .cate_con {flex-wrap: wrap;}
    #cms_2-a .cate_left,
    #cms_2-a .cate_right{width: 100%;}
    #cms_3-e .sub_cate_img {width: calc((100% - 20px ) / 2)!important;}
    #cms_4-c .cate_box {width: calc((100% - 20px ) / 2)!important;}
}


/* 20211223 */
.readmore-btn{display: none;}
.modal_bt{
    cursor: pointer;
    position: relative;
    z-index: 2;
    width: 90px;
    padding: 3px 0 2px;
    background-color: #faf2eb;
    border: 1px solid #faf2eb;
    color: #2e221d;
    text-align: center;
    margin-top: 10px;
    transition: all 0.3s;
}

.modal_bt .fas {
    margin-left: 6px;
    transition: color 0.1s;
    transition: margin-left 0.3s;
}
.modal_bt:hover,
.modal_bt:active{
    width: 90px;
    background-color: transparent;
    color: #faf2eb;
}
.modal_bt:hover .fas,
.modal_bt:active .fas{
    margin-left: 10px;
}
.modal_open{
     top: 0;
     left: 0;
     z-index: 9
}
.modal_bg{
    background-color: rgba(46, 34, 29, 0.9);
    backdrop-filter: blur(1px);
}
.modal_box {
    z-index: 10;
    padding-top: 100px;
    padding-bottom: 100px;
    overflow-y: auto;
    -ms-overflow-style: none;
}
.modal_box::-webkit-scrollbar {display:none;}
.modal_open .btn_close {
    box-sizing: border-box;
    position: absolute;
    top: 30px;
    right: 30px;
    width: 44px;
    height: 44px;
    cursor: pointer;
    z-index: 999;
    backdrop-filter: blur(1px);
    background-color: rgba(46, 34, 29, 0.6);
}
.modal_open .btn_close::before, .modal_open .btn_close::after {
    position: absolute;
    top: 0;
    bottom: 0;
    height: 2px;
    background-color: #faf2eb;
    margin: auto;
    content: '';
}
.modal_open .btn_close::before, .modal_open .btn_close::after {
	left: 0;
    right: 0;
	width: 20px
}
.modal_open .btn_close::before {transform: rotate(45deg);}
.modal_open .btn_close::after {transform: rotate(-45deg);}
@media screen and (max-width: 768px){
    .modal_open .btn_close {
        top: 20px;
        right: 20px;
    }
    #contents1 .con1_img1 {height: 60vw;}
}
@media screen and (max-width: 667px){
    .modal_open .btn_close {
        top: 15px;
        right: 13px;
    }
    .con1_box,.con2_box {padding: 60px 20px;}
    .con1_title span, .con2_title {font-size: 16.6px;}
}

/*220106 fix*/
/* ---------------------- color */
.txt_color1 {color: #a19190;}
.bg_color2 {background-color: #C0B2A4;}
.bg_color3 {background-color: #9B9086;}
.border_color3 {border-color: #9d9493;}
/* ---------------------- common */
#footer .contact_bt a:hover {background-color: #9B9086;}
/* ---------------------- top */
#main_img .main_txt_wrap {
    width: 30%!important;
    text-align: center;
    right: 30px;
    background-color: rgba(46, 34, 29, 0.3);
    backdrop-filter: blur(1.5px);
}
#main_img .main_txt_wrap .main_txt,
#main_img .main_txt_wrap .sub_txt {font-family: 'Parisienne', cursive;}
#main_img .main_txt_wrap .main_txt {font-size: calc(1rem + 34px);}
#main_img .main_txt_wrap .sub_txt {
    margin-bottom: 10px;
    line-height: 1;
}
#main_img .main_txt_wrap p {
    font-size: calc(1rem + 20px);
    line-height: 1.2;
}
.cms_box .cms_title {color: #2e221d;}
#top_cms .cms_sub_title {letter-spacing: 3px;}
#top_cms .cms_sub_title span {color: #9B9086;}
#top_cms .cms_box div.pd_t-100px {padding: 36px 0 14px;}
#top_cms .top_cms_wrap {top: -20px;}
#top_cms .cms_title span {
    height: 14px;
    width: 60px;
    background-position: center;
    margin-top: 0px;
    margin-bottom: 20px;
}
/* ---------------------- sub */
.cate_list li a {color: #2e221d;}
.cate_list li a:hover {
    background-color: #9B9086;
    color: #2e221d;
}
#cms_2-a #cate3 .cate_left {width: 0;}
#cms_2-a #cate3 .cate_right {width: 100%;}
#cms_2-a .box_txt1 {
    opacity: 1;
    padding-bottom: 0;
}
@media screen and (max-width: 768px){
    #main_img .main_txt_wrap {
        width: 60%!important;
        padding: 15px;
        right: auto;
        bottom: auto;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%);
    }
}
@media screen and (max-width: 667px){
    #main_img .main_txt_wrap {
        width: 254px!important;
    }
    #main_img .main_txt_wrap .main_txt {
        font-size: calc(1rem + 12px);
    }
    #main_img .main_txt_wrap .sub_txt {
        font-size: calc(1rem + 2px);
        display: inline-block;
    }
    #main_img .main_txt_wrap p {font-size: calc(1rem + 6px);}
    #intro,#contents1,#contents2,#top_cms{font-size: 16px;}
    .intro_title, .con1_title span, .con2_title{
        font-size: calc(1rem + 10px);
        line-height: 1.7;
    }
    .intro_title {margin-bottom: 8px;}
    .intro_wrap {padding: 10px 0 5px;}
    .intro_item {margin-bottom: 30px;}
    .con1_box, .con2_box {padding: 30px 20px;}
    #top_cms .cms_box div.pd_t-100px {padding: 44px 0 5px;}
    .cms_title {font-size: calc(1rem + 10px);}
    #top_cms .cms_sub_title span {
        font-size: calc(1rem + 4px);
        top: 103px;
    }
    /*-- sub --*/
    .cms_1-a .date {
        font-size: 14px;
        line-height: 1.5;
    }
    .cms_1-a .box_title1 {    font-size: 16px;}
    .cms_3-e .box_title1, .cms_3-e .box_title2 {font-size: 16px;}
}

/* ----- 220114 fix -------- */
/* こげ茶 */
p::selection,
span::selection,
h2::selection,
h3::selection,
h4::selection,
a::selection,
div::selection,
img::selection,
br::selection{
    color: #24140e;
}
p::-moz-selection {color: #24140e;}
.bg_color1 {background-color: #24140e;}
#wrap, .intro_wrap, .con2_box, .contents_wrap,#contents1 .con1_bg {background-color: #24140e!important;}
#top_cms .cms_box:not(:first-child)::before{border-top: solid 20px #24140e;}
#cms_6-c .cate_box {background-color: #24140e;}
.cms_4-c .cate_box {border: 2px solid #24140e;}
.modal_bt{color: #24140e;}
.cms_box .cms_title {    color: #24140e;}
.cate_list li a {    color: #24140e;}
.cate_list li a:hover {color: #24140e;}
/*ベージュ*/
.bg_color2 {background-color: #ffffed;}


/*220128 デ確打ち合わせ後*/
/* --------------color */
.bg_color2 {background-color: #faf2eb;}
/*header*/
#header.headtrans {
    background-color: #faf2eb;
}
/* ---------- footer */
.footer_nav {background-color: #faf2eb;}
.footer_nav li a {color: #24140e;}
.footer_wrap {
    padding: 10px 50px;
}
#footer .contact_bt a:hover {
    background-color: #faf2eb;
    color: #24140e;
}
/* -------------- top ------------------ */
/* ---------- main_img */
#main_img .main_txt_wrap {
    background-color: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(1px);
    padding: 2px 0px 7px;
    width: 300px!important;
    right: 60px;
    bottom: 170px;
}
#main_img .main_txt_wrap .main_txt {
    font-size: calc(1rem + 18px);
    line-height: 1.3;
}
#main_img .main_txt_wrap p {
    line-height: 0.8;
}
.con2_img_wrap {
    padding-right: 0px;
}
/* ---------- top_cms */
#top_cms .top_cms_wrap {
    top: 0px;
    margin-top: 30px;
}
#top_cms .cms_sub_title {
    width: 300px!important;
    text-align: right;
    top: 70px;
}
/* ---- more ---- */
.more a {
    color: #24140e;
    background-color: #faf2eb;
    transition: all 0.3s;
}
.more a:hover {
    transform: translateY(-5px);
}
.more a .more_bg{
    display: none;
}
.hvr_more:hover .hvr_more_span {
    transform: translateY(0px);
}
/* ------------ sub --------------------------- */
#page_title h2 {
    line-height: 1.2;
}
#page_title h2::before {
    height: 180px;
    width: 348px;
    top: 60%;
}
.contents_wrap {padding: 0;}
.cms_wrap {
    max-width: none;
}
.cate_list {
    margin-bottom: 70px;
}
.cate_list li a{
    position: relative;
    padding: 10px 5px 10px 15px;
}
.cate_list li a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f138";
    font-weight: 900;
    display: block;
    position: absolute;
    top: 50%;
    left: 7px;
    -ms-transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    color: #24140e;
}
.cate_title {
    display: block;
    position: relative;
    padding-left: 0;
    background-color: #faf2eb;
    color: #24140e;
    text-align: center;
    padding: 5px 0;
}
.cate_title::before{
    content:'';
    position:absolute;
    height: 50px;
    width: 50px;
    background-image: url(./Dup/img/deco5.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    left: 2px;
    top: 50%;
    transform: translateY(-50%);
}
.cate_title::after{
    content:'';
    position:absolute;
    height: 50px;
    width: 50px;
    background-image: url(./Dup/img/deco5.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    right: 2px;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
}
/* ---------------------- cms1 */
#cms_1-a .cate_box {
    padding-bottom: 40px;
    margin-bottom: 60px;
}
#cms_1-a .left,#cms_1-a .right {
    width: 50%;
}
#cms_1-a .item_wrap {
    flex-wrap: nowrap;
    align-items: flex-start;
}
#cms_1-a .right {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
#cms_1-a .box_img1, #cms_1-a .box_img2 {
    width: auto!important;
    margin-top: 0;
    padding: 0 10px;
}
#cms_1-a .box_txt1 {
    margin-bottom: 0;
}
/* ---------------------- cms2 */
#cms_2-a .box_item {
    padding: 0 20px;
}
#cms_2-a #cate3 .cate_txt1 {
    width: 100%;
}
#cms_2-a .box_title1 {
    font-size: 20px;
}
/* ---------------------- cms3 */
.lessons_contact_link {
    background-color: #faf2eb;
}
#cms_3-e .box_wrap {
    margin-left: 0;
}
#cms_3-e #cate0 .lessons_contact_link {
    display: none;
}
#cms_3-e #cate2 .lessons_contact_link{
    display: block;
}
#cms_3-e .cate_title {
    padding-left: 0;
}

#cms_3-e .cate_txt1 {
    padding-left: 20px;
    padding-right: 20px;
}
#cms_3-e .sub_cate_txt1 {
    padding-left: 20px;
    padding-right: 20px;
}
/* ---------------------- cms4 */
#cms_4-c .cate_wrap {
    gap: 5px;
}
#cms_4-c .cate_box {
    width: calc((100% - 25px ) / 6)!important;
}
/* ---------------------- cms5 */
#cms_3-e .sub_cate_img {
    width: calc((100% - 25px ) / 6)!important;
}
.sub_cate_img_wrap {
    gap: 5px;
}
.cms_3-e .cate_box {
    width: 100%;
}
.cms_3-e figure {
    width: calc((100% - 24px) / 6);
    border: 2px solid #24140e;
}
/* ---------------------- contact */
#form_bt #submit input {
    background-color: #faf2eb;
    color: #24140e;
}
#contact_tel a {
    background-color: #faf2eb;
    color: #24140e;
    padding: 15px 30px;
}
/* ---------------------- privacy policy */
#page09 a {
    background-color: #faf2eb;
    color: #24140e;
    transition: 0.3s;
}
#page09 a:hover{
    opacity: 0.7;
}
/* ---------------------- sitemap */
#page10 .cate_box a {
    color: #faf2eb;
}
/* -------------------------------------------------------- 
タブレット　
--------------------------------------------------------- */
@media screen and (max-width: 768px){
    /* -------------------------- top ------------------------- */
    #main_img::before, #main_img::after, .main_bg::before, .main_bg::after {
        display: none;
    }
    #main_img .main_txt_wrap {
        right: auto;
        bottom: auto;
    }
    #intro {
        padding-top: 0;
    }
    .con1_img_wrap {
        order: 1;
    }
    .con1_wrap {
        order: 0;
    }
    .con1_box {
        padding: 0px 50px 50px;
    }
    .con2_img_wrap {
        order: 1;
    }
    .con2_box {
        order: 0;
        padding: 50px;
    }
    .intro_img a img {
        width: 100%!important;
        height: auto!important;
    }
    .con1_box .modal_bt {
        margin: auto;
    }
    /* ---------------------- top_cms */
    .cms_box {
        margin-bottom: 60px;
    }
    #top_cms .top_cms_wrap {
        padding-left: 55px;
        padding-right: 55px;
    }
    #top_cms .cms_sub_title {
        left: 35px;
    }
    /* -------------------------- sub ------------------------- */
    #page02,
    #page03,
    #page04,
    #page05,
    #page06,
    #page07,
    #page08,
    #page09,
    #page10{
        padding-left: 70px;
        padding-right: 70px;
    }
    #page_title h2::before {
        height: 137px;
        width: 336px;
    }
    /* ---------------------- cms1 */
    .cms_1-a .cate_box .box_img1 {
        height: 140px;
    }
    .cms_1-a .cate_box .box_img1 img {
        height: 140px!important;
    }
    
    /* ---------------------- cms4 */  
    #cms_4-c .cate_box {
        width: calc((100% - 15px ) / 4)!important;
    }
    
    /* ---------------------- cms5 */
    #cms_3-e .sub_cate_img {
        width: calc((100% - 15px ) / 4)!important;
    }
    .cms_3-e figure {
        width: calc((100% - 12px) / 3);
    }
    /* ---------------------- privacy policy */
    #page09 p {
        padding-left: 10px;
    }
}
/* -------------------------------------------------------- 
スマホ　
--------------------------------------------------------- */
@media screen and (max-width: 667px){
    /* ---------------------- common */
    html, body {
        font-size: 16px;
    }
    /* ---------------------- footer */
    #logo2 {
        margin-bottom: 10px;
    }
    .sns_link {
        margin-bottom: 20px;
    }
    .footer_txt {
        margin-bottom: 30px;
    }
    /* -------------------------- top ------------------------- */
    #main_img .main_txt_wrap {
        width: 184px!important;
        left: 50%;
        top: 50%;
    }
    #main_img .main_txt_wrap .main_txt {
        font-size: calc(1rem + 6px);
        line-height: 1.2;
    }
    .intro_wrap {
        padding: 20px 0 0;
    }
    .con1_box, .con2_box {
        padding: 20px;
    }
    .con1_box .modal_bt {
        margin-left: 0;
    }
    #contents2 .con2_img1 {
        margin-bottom: 5px;
    }
    /* ---------------------- top_cms */
    #top_cms .top_cms_wrap {
        padding-right: 20px;
        padding-left: 20px;
        margin-top: 20px;
        margin-bottom: 25px;
    }
    #top_cms .cms_sub_title {
        left: 0;
    }
    #top_cms .cms_sub_title span {
        top: -200px;
        width: 100%!important;
        text-align: center;
    }
    #top_cms .cms_box div.pd_t-100px {
        margin-bottom: 20px;
    }
    .cms_box {
        margin-bottom: 35px;
    }
    /* -------------------------- sub ------------------------- */
    #page02, #page03, #page04, #page05, #page06, #page07, #page08, #page09, #page10 {
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 20px;
        padding-bottom: 50px;
    }
    .cms_wrap {
        padding-right: 0;
        padding-left: 0;
    }
    #page_title h2::before {
        height: 130px;
        width: 300px;
        top: 64%;
    }
    .cate_title {
        font-size: 24px;
    }
    #cms_3-e .sub_cate_title {
        font-size: 24px;
        margin-bottom: 5px;
    }
    .cate_txt1, .box_txt1 {
        font-size: 16px;
    }
    /* ---------------------- cms1 */
	#cms_1-a .cate_box{
		padding-bottom: 25px;
	}
	#cms_1-a .left,#cms_1-a .right {
		width: 100%;
	}
    #cms_1-a .item_wrap {
        flex-wrap: wrap;
    }
    #cms_1-a .box_txt1 {
        width: 100%!important;
        margin-bottom: 10px;
    }
    #cms_1-a .box_img1, #cms_1-a .box_img2 {
        margin-left: 0;
        padding: 0;
    }
    .cms_1-a .cate_box {
        width: 100%!important;
    }

    /* ---------------------- cms2 */
    #cms_2-a .box_img1 {
        width: 100%!important;
        max-width: 400px;
    }
    #cms_2-a .box_img1 a img {
        height: auto!important;
        width: 100%!important;
    }
    #cms_2-a .cate_box {
        padding-bottom: 0px;
    }
    #cms_2-a .box_item {
        padding: 0;
    }
    
    /* ---------------------- cms3 */
    #cms_3-e .box_title1, #cms_3-e .box_title2 {
        width: 50%!important;
        border-bottom: 1px solid;
        white-space: nowrap;
    }
    #cms_3-e .cate_title {
        padding: 5px 28px;
        line-height: 1.4;
        min-height: 50px;
    }
    #cms_3-e .cate_title span {
        display: inline-block;
        width: calc(100% - 56px);
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%);
    }
    #cms_3-e .cate_txt1 {
        padding-left: 0;
        padding-right: 0;
    }
    #cms_3-e .sub_cate_txt1 {
        padding-left: 0;
        padding-right: 0;
    }
    #cms_3-e .box_txt1 {
        padding: 5px 0px!important;
        line-height: 1.7;
    }
    /* ---------------------- cms4 */
    #cms_4-c .cate_box {
        width: calc((100% - 5px ) / 2)!important;
    }
    /* ---------------------- cms5 */
    #cms_3-e .sub_cate_img {
        width: calc((100% - 5px ) / 2)!important;
    }
    .cms_3-e figure {
        width: calc((100% - 8px) / 2);
    }
    /* ---------------------- contact */
    .contact_box {
        margin-top: 0;
        margin-bottom: 40px;
        padding-bottom: 20px;
    }
    #tel_txt {
        margin-top: 20px;
    }
    #tel_txt h3, #tel_txt p {
        font-size: 16px;
    }
    #tel_txt p {
        padding: 0px 10px;
    }
    
}


/* 2022.02.28 修正 */
#top_about_img{margin-top: -40px;}
#top_about_img .border{border: 2px solid #24140e;}

#page04 #diploma1 .box_wrap, #page04 #diploma2 .sub_cate_title{display: none}
#page04 #diploma1 .sub_cate_img_wrap{margin-bottom: 5px;}


@media screen and (max-width: 768px){
#intro .con2_img1 {
    height: 100vw;
    background-position: bottom;
}
.con1_box {
    padding: 50px;
}
}

@media screen and (max-width: 667px){
.con1_box {
    padding: 20px;
}
#top_about_img{
    margin-top: -60px;
    margin-bottom: 30px;
}
}


/* 2022.04.20 */
#musee .more{
    display: block;
}
.page06_title{
    font-size: 23px;
    letter-spacing: 3px;
    margin-bottom: 42px;
    border-bottom: 1px dotted;
    border-color: #fff;
}
#page06 .cate_list{display: none;}

@media screen and (max-width: 667px){
.page06_title {
    font-size: 20px;
    letter-spacing: 3px;
    margin-bottom: 30px;
}
}

/*2022/06/03*/
#top_cms {
    margin-top: 30px;
}
#top_cms .cms_box::after {
    position: absolute;
    display: block;
    content: "";
    pointer-events: none;
    width: 0;
    height: 0;
    border-left: solid 20px transparent;
    border-top: solid 20px #24140e;
    border-right: solid 20px transparent;
    right: 0;
    left: 0;
    top: -1px;
    margin: auto;
}