img{
    width: 100%;
}
ul{
    list-style-type: none;
    padding: 0;
    margin:0;
}
.main-wrap p{
    margin: 0 !important;
}
.position{
    position: absolute;
    top: 30em;
    left: -1.7em;
    z-index: 3;
}
.position img{
    /* width: 200px; */
    width: 20%;
}
.ribbon-title {
    position: relative;
    margin: 1em;
    text-align: center;
}
.ribbon-title:before,
.ribbon-title:after {
    position: absolute;
    z-index: 0;
    bottom: -10px;
    display: block;
    content: '';
    border: 1em solid #d90606;
}

.ribbon-title:before {
    left: -30px;
    border-left-width: 15px;
    border-left-color: transparent;
}

.ribbon-title:after {
    right: -30px;
    border-right-width: 15px;
    border-right-color: transparent;
}

.ribbon-title .inner {
    position: relative;
    z-index: 1;
    display: block;
    padding: 1.5rem 1rem;
    color: #fff;
    background: #fa4141;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
}

.ribbon-title .inner:before,
.ribbon-title .inner:after {
    position: absolute;
    bottom: -10px;
    display: block;
    width: 10px;
    height: 10px;
    content: '';
    border-style: solid;
    border-color: #b70505 transparent transparent transparent;
}

.ribbon-title .inner:before {
    left: 0;
    border-width: 10px 0 0 10px;
}

.ribbon-title .inner:after {
    right: 0;
    border-width: 10px 10px 0 0;
}

/* body start */

.ribbon-title h1{
    font-size: var(--d-font-size-2);
    font-family: var(--font-f-mincho);
    line-height: 1.5;
    margin: 0;
    padding: 0;
}
.ribbon-title h2{
    font-family: var(--font-f-mincho);
    font-size: var(--d-font-size);
    margin:1em 0 0 0;
}
article{
    width: 100%;
    margin:0 auto;
}
.benefit-list{
    padding:1.5em 0.5em 0.5em 2.5em;
    width: 86%;
    margin:0 auto 3em;
    list-style-type: none;
    background: white;
    border-radius: 0.5em;
}
.benefit-list li{
    position: relative;
    font-size: var(--d-font-size);
    line-height: 1.5;
    letter-spacing: 2;
    margin: 0 0 1em 0;
}
.benefit-list li:before{
    position: absolute;
    content: "\f058";
    display: block;
    left: -1.6rem;
    font-family: fontAwesome;
    color:#fa4141;
}

.attention-box{
    background: var(--d-color-thin-4);
    padding: 1em;
}
.attention-box li {
    font-size: var(--d-font-size);
    color: var(--attention-color);
}
.attention-box p.title{
    font-size: var(--d-font-size-1);
    text-align: center;
    padding: 0.5em 0 0.5em 0;
    margin:0;
}
.main-title{
    font-size: var(--d-font-size-4);
    text-align: center;
    padding: 2em 0 0 0;
    clear: both;
    font-family: var(--font-f-en);
    position: relative;
    display: block;
    width: 95%;;
    margin: 0 auto 3em;
}
.main-title:before{
    content: '';
    position: absolute;
    bottom: -35px;
    display: inline-block;
    width: 60px;
    height: 5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: var(--d-color);
    border-radius: 2px;
}
.main{
    margin:0;
    width: 100%;
    background-image: url("/asset/img/tarot.png");
    background-size: 100%;

    padding:1em 0 2em 0;
}
.main_inner{
    width:90%;
    margin:0 auto;
}
section.teacher{
    width: 100%;
    margin: 0;
    background: #5F5696;
    padding:0 0 4em 0;
}
section.teacher .inner{
    width:90%;
    margin:0 auto;
    color:white;
    padding: 1em 0 0 0;
}
.flex-box{
    display: flex;
    margin:0 0 1em 0;
}
.flex-box .photo{
    width: 100%;
    margin:0 1em 1em 0;
}
.flex-box .photo-box{
    display: flex;
    flex-wrap: wrap;
    width: 18%;
    margin:0 1em 1em 0;
}
.flex-box .photo-box .name{
    width:100%;
    font-size: var(--d-font-size-min-1);
}
.flex-box .photo img{
    width: 100%;
    background: #5F5696;
    margin: 0 1em 0 0;
    border-radius: 50%;
}
.flex-box .text-box{
    width: 80%;
}
.title{
    margin:0 0 1em 0;
}
.curriculum_list{
    width: 90%;
    margin: 0;
    padding: 0 1em 1.5em;
    list-style-type: none;
}
.curriculum_list li{
    padding:0;
    font-size: var(--d-font-size-1);
    font-family: var(--font-f-mincho);
    margin: 0 0 1em 0;
    text-align: left;
    line-height: 1.7;
}

.card_wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.none-flex.text-box{
    width: 80%;
    margin: 0 auto;
}

.card_wrap.col3 .card{
    width: 90%;
    margin: 0 auto 1em auto;
}

.card_wrap{

}

.card_wrap .title_box{
    margin:0;
    padding: 0;
}
.card_wrap .title_box p.photo{
    margin:0;
}
.card_wrap .title_box .photo img{
    width: 100%;
}
.card_wrap .title_box .title{
    font-size: var(--d-font-size-1);
    line-height: 1.5;
    padding: 1em 0 1em 0;
    text-align: left;
    border-bottom: solid 1px #CCC;
}


.card_wrap .text-box p{
    font-size: var(--d-font-size-min-0);
}
.title_box .photo{
    width: 100%;
}
.card_wrap.col3{

}
.ico-book{
    position: relative;
}
.ico-book:before{
    position: absolute;
    content: "\f02d";
    display: block;
    top:0.2em;
    font-family: fontAwesome;
}
.profile-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
}
.profile-list li{
    width: 100%;
}
.profile-list li img{
    width: 100%;
}

.study_title_box{
    background: #FF9A9A;
    padding: 2em 0.5em;
    margin: 2em auto;
    border: double 5px #FA8B8B;
    text-align: center;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 86%;
}
.hoge9{
    display: block;
    width: 80%;
    margin: 0 auto;
}
.study_title_box .title.ico-book{
    margin: 0;
    color: white;
    padding: 0;
    width: 100%;
}
.study_title_box p.text{
    text-align: center;
    color:white;
    margin:0;
}
.study_title_box .title{
    padding:0;
    font-size: var(--d-font-size-3);
    font-family: var(--font-f-mincho);
    text-align: center;
}
.hello{
    width: 100%;
    margin: ;
    background: url("/asset/img/bg_stone.png");
    padding:0;
}
.study{
    width: 100%;
    margin: ;
    background: url("/asset/img/bg_flower.png");
    background-size: 30%;
    padding:0;
}
.study_index{
    width: 70%;
    margin:0 auto;
    padding: 1em;
    border: solid 1px var(--d-color-thin-3);
    background: white;
}
.study_index li{
    text-align: center;
    font-size: var(--d-font-size);
}
.flex-wrap{
    display: flex;
    margin:0;
    padding:0 3em 6em 3em;
    border-bottom: solid 1px var(--d-color-thin-3);
}
.flex-wrap .photo{
    display: none;
    /*
    width: 20%;
    margin:0 3em 0 0;

     */
}
.flex-wrap .photo img{
    width: 100%;
}
.flex-wrap .text-box{
    width: 100%;
}
.terms{
    width: 100%;
    margin: ;
    background: var(--d-color-thin-4);
}



.sub-catch{
    font-size: var(--d-font-size-1);
    font-family: var(--font-f-mincho);
    text-align: center;
    margin: 2em 0 2em 0;
    line-height: 1.75;
}
.gmap{
    width: 100%;
    margin: ;
}
.teacher p{
    margin:0 0 30px 0;
}
.terms .title{
    width: 90%;
    margin: 0 auto 2em;
    padding: 2em 0 0 0;
    font-family: var(--font-f-mincho);
}
.study .title{
    margin: 0 auto;
    padding: 1em 0;
    width: 90%;
    font-family: var(--font-f-mincho);
}
.study .main-title{
    text-align: center;
    margin: 0 auto;
    padding: 1em 0;
    width: 90%;
    font-family: var(--font-f-mincho);
}
.study .main-title:before{
    display: none;
}
.study_index li{
 margin: 0;
}
section.price .title,
section.schedule .title{
    font-size: var(--d-font-size-4);
    font-family: var(--font-f-mincho);
    text-align: center;
}
.flex-dl{
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0;
    margin: 0;
}
span.min-price{

}
span.big-price{
font-size: 2rem;
    color: darkred;
}
.flex-dl dt{
    padding: 0;
    margin: 0;
    width: 30%;
    text-align: center;
}
.flex-dl dd{
    padding: 0;
    margin: 0 0 1.5em 0;
    width: 60%;
    line-height: 1.5;
}
section.price i{
    margin-right: 1em;
}
section.form{
    width: 90%;
    margin: 0 auto 3em;
}
section.price{
    background-color: #FFF0F0;
    padding:2em 1em 1em;
}
section.price .submit{
    margin: 0 auto;
    width: 100%;
    text-align: center;
}
section.schedule i{
    margin-right: 1em;
}
section.form{
    width: 90%;
    margin: 0 auto 3em;
}
section.form .submit{
    margin: 0 auto;
    width: 100%;
    text-align: center;
}
section.form .submit input{
    padding: 0.75rem 1rem;
    background:#5F5696;
    border-radius: 20px;
    border: solid 1px #FF9A9A;
    color: white;
    font-size: 1.2rem;
}
.hello{
    padding: 2em 0;
}
.hello .title{
    font-size: var(--d-font-size-4);
    font-family: var(--font-f-mincho);
    text-align: center;
}

.hello .flex-box{
    flex-wrap: wrap;
}
.hello .photo-box{
    width: 40%;
    margin: 0 auto;
}
.hello .flex-box .text-box{
    margin: 0 auto;
}
.map .title,
.teacher .title{
    font-size: var(--d-font-size-4);
    font-family: var(--font-f-mincho);
    text-align: center;
    margin: 1em 0 1.5em;
}
.map .text-box{
    width: 90%;
    margin: 0 auto;
}
footer{
    color: #D6D1F3;
    text-align: center;
    background: #5F5696;
}
.youtube{
    width: 100%;
    height: 40vh;
}


.course-wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.course{
    width: 75%;
    margin: 0 auto 2em;
    background: #FF9A9A;
    padding: 2em 1em;
    border: double 5px #FA8B8B;
    text-align: center;
}

.course p{
    color: white;
    text-align: center;
    margin: 0;
}
.course .sub-title{
    font-size: var(--d-font-size-3);
}
.course dt,.course dd{
    color: white;
}
.course dt{
    width: 30%;
    margin: 0;
    padding: 0;
}
.course dd{
    width: 70%;
    margin: 0;
    padding: 0;
}
.course dl{
    padding: 0;
    margin:2em 0 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.course span.big-price{
    font-size: var(--d-font-size-3) !important;
    color: white !important;
}

.min-text{
    font-size: var(--d-font-size-min-1);
    margin: 0 0 1em 0;
}
footer p{
    color: white;
}
footer{
    text-align: center;
    background: #FF9A9A;
}
.form{
    width: 80%;
    margin: 0 auto;
}
.form li{
    font-size: var(--d-font-size);
}
.form input[type=text]{
    width: 100% !important;
}
.form input[type=submit]{
    width: 50%;
    margin: 3em auto;
    border: none;
    border-radius: 5px;
    background: #FF9A9A;
    color: white;
    font-size: var(--d-font-size-2);
    padding: 1em;
    display: flex;
    justify-content: center;
}