@charset "UTF-8";

.layer main{overflow: unset;height: unset;}

.wrap700{max-width: 700px;margin: 0 auto;box-sizing: content-box;padding: 0 15px;}
article{font-family: YakuHanMP,"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";font-size: 22px;}
.note{font-size: 0.7em;margin-top: 7px;}

#hoc main{height: auto;max-width: none;}
#hoc main img{width: 100%;}
main h2{width: 27vw;position: absolute;right: 20vw;top: 14.5vw;z-index: 2;opacity: 0;animation: 1.5s fadeIn 0.5s forwards;}
main .senchaku{width: 13vw;position: absolute;left: 10vw;bottom: 7vw;z-index: 2;animation-name: fadeInUp;animation-delay: 1s;}
.main_copy{height: 6.5vw;background: #9c4998;display: flex;justify-content: center;align-items: center;}
.main_copy p{font-size: 4.6vw;text-align: center;color: #fff;line-height: 1.2;animation-name: fadeIn;animation-delay: 0.5s;top:-2px;}
.main_subcopy{height: 3vw;background: #eb6ea5;display: flex;justify-content: center;align-items: center;}
.main_subcopy p{font-size: 2vw;color: #fff;text-align: center;line-height: 1.2;animation-name: fadeIn;animation-delay: 0.5s;}

#main_bottom{margin-top: 25px;}
#main_bottom h3{font-size: 56px;text-align: center;color: #9c4998;line-height: 1.3;}
#main_bottom h3 big{font-size: 1.5em;}
#main_bottom h4{font-size: 1.2em;color: #eb6ea5;/* text-align: center; */margin-top: 10px;}
#main_bottom h4 + p{/* text-align: center; */margin-top: 5px;/* font-size: 1.2em; */font-size: 100%;}
#main_bottom h4 + p i{color: #E62E8B;}
#main_bottom h4 + p strong{color: #E62E8B;font-size: 1.2em;}
#main_bottom .ml66{margin-left:66px;}
.program{margin-top: 50px;}
.program h4 span{font-size: 0.6em;color: #000;margin-left: 10px;}
.program h5{color: #f39800;font-size: 1.2em;}
.program h5 span{display: inline-block;padding-right: 0.5em;background: #fff;}
.program h5::before{content: "";display: block;width: 100%;height: 1px;position: absolute;left: 0;top: 0;bottom: 0;margin: auto;background: #f39800;}
.program .cat{position: absolute;width: 37%;right: 0;top: 30px;z-index: -10;}
.program_list{display: flex;justify-content: space-between;flex-wrap: wrap;padding-bottom: 0.5em;}
.program_list dt{width: calc(100% - 12.5em);}
.program_list dd{width: 12em;}
.program_list dd img{max-width: 240px;right: 60px;}
.program_item{margin: 50px auto 0;display: flex;justify-content: space-between;}
.program_item > *{width: 48%;}
.program .note{margin: 7px auto;text-align: right;}

.hoc_tit{font-size: 1.2em;color: #eb6ea5;}
.hoc_tit + *{margin-top: 10px;}

.howto_list{display: flex;justify-content: space-between;flex-wrap: wrap;}
.howto_list dt{width: 3.5em;}
.howto_list dd{width: calc(100% - 3.5em);}
.howto_btn{display: flex;justify-content: space-between;text-align: center;max-width: 670px;margin: 30px auto 0;}
.howto_btn dt{width: 70%;}
.hoc_btn{height: 100%;display: flex;flex-direction: column;justify-content: center;align-items: center;text-align: center;color: #fff;text-decoration: none;background: #0d6fb8;border-radius: 25px;transition: 0.3s all;line-height: 1.5;}
.hoc_btn big{font-size: 1.4em;}
.howto_btn dd{width: 25%;}
.howto_btn_wrap{/* border: 1px solid #555; */padding: 20px 20px 0 20px;height: calc(100% - 2em);}
.howto_btn_wrap + p{margin-top: 10px;}

/* お申し込み・資料請求ボタン */
a.reserve_btn{display: flex;justify-content: center;align-items: center;flex-wrap: wrap; transition: background-color 250ms ease,border 250ms ease,color 250ms ease;color: #fff;min-height: 80px;font-size: 30px;line-height: 1.3;padding: 0.5em 0.5em 0.6em;margin: 30px auto 0;max-width: 485px;}
a.reserve_btn::before{content: "";border: 1px solid #333;width: calc(100% + 4px);height: calc(100% + 4px);position: absolute;top:-3px;left: -3px;}
a.reserve_btn:hover{text-decoration: none;}
a.reserve_btn small{font-size: 21px; margin-top: .1em;}
a.reserve_btn span{font-size: 16px;margin-top: .3em;display: block;letter-spacing: 0;}
.reserve_btn{background: linear-gradient(170deg, #eb6ea5 0%,#eb6ea5 50%,#9c4998 50%,#9c4998 100%);}
.reserve_btn:hover{color:#ea5514;background: #FFF;}

.map_img{margin: 30px auto 0;}
.map_item{margin: 30px auto 0;display: flex;justify-content: space-between;}
.map_item > *{width: 48%;}
.accessTxt{margin-top:20px;font-size: 0.68em;}

@media screen and (min-width: 1921px) {
main h2{width: 520px;position: absolute;right: 20%;top: 26%;z-index: 2;opacity: 0;animation: 1.5s fadeIn 0.5s forwards;}
main .senchaku{width: 250px;position: absolute;left: 10%;bottom: 12%;z-index: 2;animation-name: fadeInUp;animation-delay: 1s;}
.main_copy{height: 125px;background: #EA5514;display: flex;justify-content: center;align-items: center;}
.main_copy p{font-size: 90px;text-align: center;color: #fff;line-height: 1.2;animation-name: fadeIn;animation-delay: 0.5s;top:-4px;}
.main_subcopy{height: 58px;background: #F39800;display: flex;justify-content: center;align-items: center;}
.main_subcopy p{font-size: 38px;color: #fff;text-align: center;line-height: 1.2;animation-name: fadeIn;animation-delay: 0.5s;}
}

@media screen and (min-width: 769px) {
.hoc_btn:hover{text-decoration: none;color: #0d6fb8;background: #c4daea;}
}

@media screen and (max-width: 768px) {
article{font-size: 4vw;}
.note{font-size: 0.8em;margin-top: 1vw;}

main h2{width: 49vw;right: 2vw;top: 30vw;}
main .senchaku{width: 21vw;left: 1vw;bottom: 22.5vw;}
.main_copy{height: 15vw;}
.main_copy p{font-size: 7.8vw;line-height: 1.15;top: -2px;}
.main_subcopy{height: 10vw;}
.main_subcopy p{font-size: 5vw;line-height: 1.15;}

#main_bottom{margin-top: 2vw;}
#main_bottom h3{font-size: 7.5vw;}
#main_bottom h3 big{font-size: 1.5em;}
#main_bottom h4{font-size: 1.2em;margin-top: 2vw;}
#main_bottom h4 + p{margin-top: 0.5vw;/* font-size: 1.1em; */font-size: 100%;line-height: 1.5;}
#main_bottom .ml66{margin-left:16px;}
.program{margin-top: 7vw;}
.program h5{font-size: 1.2em;}
.program_list{padding-bottom: 0.8em;margin-top: 1vw;}
.program_item{width: 100%;margin-top: 7vw;}
.program_item > *{width: 48%;}

.hoc_tit{font-size: 1.2em;color: #0B318F;}
.hoc_tit + *{margin-top: 10px;}

.howto_btn{margin: 5vw auto 0;justify-content: center;}
.howto_btn dt{width: 90%;}
.hoc_btn{height: 20vw;border-radius: 5vw;}
.hoc_btn big{font-size: 1.4em;}
.howto_btn_wrap{border: none;padding: 0;height: auto;}

/* お申し込み・資料請求ボタン */
a.reserve_btn{font-size: 20px;min-height: 60px;margin: 20px auto 20px;}
a.reserve_btn small{font-size: 14px;}
a.reserve_btn span{font-size: 12px;margin-top: .3em;width: 100%;text-align: center;}

.map_img{width: 100%;margin-top: 5vw;}
.map_item{width: 100%;margin-top: 5vw;flex-wrap: wrap; justify-content: center;}
.map_item > *{width: 48%;}
.map_item > *:nth-of-type(n+2){margin-left: 3vw;}
.accessTxt{margin-top:15px;font-size: 0.68em;}

}

@media only screen and (max-width: 485px) {
a.reserve_btn{margin: 20px 5px 20px;}
}