@charset "utf-8";

/*========================

sp_top.css

========================*/
@media screen and (max-width:768px) {

/*---------------------------------------------
top_main_visual
---------------------------------------------*/
#top_main_visual #top_main_visual_cont .half img {
 height:300px;
 width:100%;
}

#top_main_visual #top_main_visual_cont .half img:first-child {
 order:2;
 object-position:center top;
}

#top_main_visual #top_main_visual_cont .half img:nth-child(2) {
 order:1;
}

#top_main_visual #top_main_visual_cont .box_wrap .box {
 padding: 25px 20px 40px; 
 width: calc(100vw / 2 + 30px); 
}

#top_main_visual #top_main_visual_cont .box_wrap .box .title img {
 max-width:40px;
 height:auto;
}

#top_main_visual #top_main_visual_cont .box_wrap .box .symbol {
 bottom:-20px;
 max-width:80px;
 margin-left:-40px;
}

/*---------------------------------------------
top_news
---------------------------------------------*/
#top_news #top_news_cont {
margin: -30px auto 0; 
}

#top_news #top_news_cont ol li dl,
#top_news #top_news_cont ol li a dl {
 flex-direction:column;
}

/*---------------------------------------------
main
---------------------------------------------*/
#main #main_cont {
 row-gap:0;
}

/*---------------------------------------------
section_title
---------------------------------------------*/
.section_title h3 {
 padding-left:28px;
}

.section_title h3 span {
 font-size: calc(2.0rem + ((1vw - 0.48rem) * 0.6944));
}

.section_title h3:before {
 height: 20px;
 width: auto;
}

.section_title > span.en {
 font-size: calc(1.0rem + ((1vw - 0.48rem) * 0.6944));
}

/*---------------------------------------------
service
---------------------------------------------*/
#service #service_cont #service_list {
 padding:30px 0;
}

#service #service_cont #service_list ul li.second .detail {
 padding: 45px 25px 40px;
}

#service #service_cont #service_list ul li.second a figure {
 max-width:200px;
}

#service #service_cont #service_list .slick-track {
 column-gap:20px;
}

#service #service_cont #service_list ul li a .btn span {
 font-size: calc(1.3rem + ((1vw - 0.48rem) * 0.6944));
}

/*---------------------------------------------
course
---------------------------------------------*/
#course {
 row-gap:15px;
}

#course #course_detail {
 padding:0 15px 15px;
}

#course #course_detail .course_cont {
 padding:0;
}

#course #course_detail .course_cont .personal_support {
 padding:15px;
 row-gap:0;
}

#course #course_detail .course_cont .personal_support > a dl dd {
 row-gap:15px;
}

#course #course_detail .course_cont .personal_support > a dl dd h3 span {
 font-size: calc(1.8rem + ((1vw - 0.48rem) * 0.6944));
}

#course #course_detail .course_cont .personal_support > a dl > dt img {
 height: 220px;
}

#course #course_detail .course_cont .personal_support .mark {
 height:90px;
 left:-10px;
 top:-10px;
 width:90px;
}

#course #course_detail .course_cont .personal_support .mark span {
 font-size: calc(1.1rem + ((1vw - 0.48rem) * 0.6944));
}

/*---------------------------------------------
company
---------------------------------------------*/
#company {
 padding:0 0 30px;
}

#company #company_cont {
 padding:0;
}

#company #company_cont #company_detail {
 flex-direction:column;
 padding:25px;
 row-gap:25px;
}

#company #company_cont #company_detail .left_col {
 width:100%;
}

#company #company_cont #company_detail .left_col dl dd {
 font-size: calc(1.2rem + ((1vw - 0.48rem) * 0.6944));
}

#company #company_cont #company_detail .right_col {
 width:100%;
}

#company #company_cont #company_detail .right_col dl dt {
 font-size: calc(1.6rem + ((1vw - 0.48rem) * 0.6944));
}

#company #company_cont #company_detail .right_col dl dd {
 font-size: calc(1.2rem + ((1vw - 0.48rem) * 0.6944));
}

/*---------------------------------------------
proof
---------------------------------------------*/

#proof #proof_cont {
 padding-bottom:25px;
}

#proof #proof_cont .pic {
 height:200px;
}

#proof #proof_cont .pic .half {
 height:200px;
}

#proof #proof_cont .pic .half img {
 height:200px;
}

#proof #proof_cont #proof_title .box_wrap {
 margin-top:-60px;
}

#proof #proof_cont #proof_title .box_wrap figure {
 top:100px;
 left:50%;
 margin-left:calc((15vw + 70px) * -1);
 margin-bottom:0;
 max-width:15vw;
}

#proof #proof_cont #proof_title .box_wrap .box {
 border-radius:10px;
 padding:15px;
}

#proof #proof_cont #proof_title .box_wrap .box .title {
 aspect-ratio:1 / 1;
}

#proof #proof_cont #proof_title .box_wrap .box .title img {
 height: auto;
 max-width:160px;
}

#proof #proof_cont #proof_detail {
 padding: 0 25px;
}

#proof #proof_cont #proof_detail #proof_detail_cont {
 padding:35px;
}

#proof #proof_cont #proof_detail #proof_detail_cont h4 {
 font-size: calc(1.8rem + ((1vw - 0.48rem) * 0.6944));
}

#proof #proof_cont #proof_detail #proof_detail_cont p {
 font-size: calc(1.2rem + ((1vw - 0.48rem) * 0.6944));
}

#proof #proof_cont #proof_detail #proof_detail_cont figure {
 right:10px;
 max-width:20vw;
 top:-60px;
}

#proof #proof_cont #proof_title figure img {
 z-index: 2;
 position: relative;
}

#proof #proof_cont #proof_title figure .mark {
 height:90px;
 width:90px;
 top:-90px;
 left:-40px;
 z-index: 1;
}

#proof #proof_cont #proof_title figure .mark span {
 font-size: calc(1.0rem + ((1vw - 0.48rem) * 0.6944));
}

#proof #proof_cont #proof_title figure .mark:after {
 transform: rotate(0);
 bottom:-10px;
 right:50%;
 margin-right:-10px;
}

/*---------------------------------------------
conversion 
---------------------------------------------*/ 
#conversion {
 padding:25px 0 0;
}

#conversion .conversion {
 padding:0 25px 30px;
}

.conversion .conversion_cont .conversion_address dl {
 row-gap: 15px;
}

.conversion .conversion_cont .conversion_address dl dd {
 width:100%;
}

.conversion .conversion_cont ul li.contact {
 min-width:130px;
}

/*---------------------------------------------
footer
---------------------------------------------*/ 
#footer #footer_cont {
 padding-bottom:0;
}

#footer #footer_cont #footer_head {
 padding: 30px 5vw;
}

/*---------------------------------------------
pagetop
---------------------------------------------*/ 
#pagetop {
 bottom:10px;
}


}