.sp440 {
    display: none
}

@media screen and (min-width: 751px) and (max-width: 1560px) {
    .sec05 {
        padding-top: 120px;
    }

    .sec05_top_ttl {
        top: -50px;
    }

    .sec05_bottom_wrapper {
        padding-top: 380px;
        margin-top: -240px;
    }
}

@media screen and (min-width: 751px) {
	.frame01.cus {
		width: auto;
		margin-bottom: 20px;
	}
	.modal .modal_inner {
		height: auto;
	}
	.sec15_slogan li {
		width: 35%
	}
	.under main .sec007 h3,
	.under main .students-wrapper h3,
	.scholarship_page.under main h4,
	.under main .graduation-wrapper h3,
	.under main .program-flow h3{
		font-size: 40px;
	}
	.under.scholarship_page main h4.h4-fix {
		margin-left: 100px;
		font-size: 49px;
	}
	.box_common02 .ttl span > span:after {
		display: none;
	}
	.under main .cus_marg.mb100 {
		margin-bottom: 150px;
	}
	.under main .sec_h4.cus .sec_h4_img .img {
		margin-right: 45px;
	}
	.under main .sec_h4.cus .sec_h4_img .img:after {
		left: -15px;
    	top: -25px;
	}
	.under main .sec_h4.cus .sec_h4_img .img:before {
		left: -75px;
		background: url(../images/brush07_l.png) no-repeat left top;
	}
	.under main .sec_h4.cus .sec_h4_txt:before {
		left: auto;
    	right: -118px;
		background: url(../images/bg_h4_r.png) no-repeat left top;
	}
	.under main .sec_h4.cus .sec_h4_txt:after {
		left: auto;
        bottom: -40px;
        right: -222px;
		background: url(../images/brush08_r.png) no-repeat left top;
	}
	.margin-r {
		margin-right: 30px;
	}
	
    /*Hover fix*/
    .sec15_slogan li:hover{transform: translateY(-10px);}
    .footer_right a.main_btn.is_btn1 {
        writing-mode: vertical-rl;
        -webkit-writing-mode: vertical-rl;
        -o-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
    }

    .footer_right {
        right: 50px;
        align-items: flex-end;
        padding-bottom: 200px;
    }

    .footer_right02 a.main_btn.is_btn1 {
        writing-mode: vertical-rl;
        -webkit-writing-mode: vertical-rl;
        -o-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
    }

    .footer_right02 {
        right: 50px;
        align-items: flex-end;
        padding-bottom: 400px;
    }

    .ft_link_wrapper .nav.is_02 .big a:hover {
        text-decoration: underline
    }

    #sec02_tab1{min-height: 225px}

    .sec09_column .txt {
        min-height: 150px;
    }

    .sec05_bottom_wrapper .inner {
        min-height: 390px;
    }

    .sec06_slick .sec06_ttl {
        text-align: left;
    }

    .sec06_pick p.center {
        flex-shrink: 0;
        margin-right: 50px;
    }

    .sec14_flex {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .sec04_name {
        padding: 0 118px 20px;
        overflow: hidden;
    }

    a[href^="tel:"] {
        pointer-events: none;
    }

    .pb50 {
        padding: 0 0 50px !important;
    }

    .pb60 {
        padding: 0 0 60px !important;
    }

    .pb80 {
        padding: 0 0 80px !important;
    }

    .pb90 {
        padding: 0 0 90px !important;
    }

    .pb100 {
        padding: 0 0 100px !important;
    }

    .pb120 {
        padding: 0 0 120px !important;
    }

    .pb0 {
        padding: 0 0 0 !important;
    }

    .sp {
        display: none
    }

    .sec15 {
        padding-top: 80px;
    }

    /* nav */
    .hamburger {
        display: none;
    }

    .nav_list>li.parent {
        position: relative;
    }

    .nav_list>li.parent>a {
        cursor: default
    }

    .sub {
        position: absolute;
        z-index: 1;
        opacity: 0;
        visibility: hidden;
        width: 310px;
        top: 100%;
        left: calc(50% - 155px);
        overflow: hidden;
        padding-top: 15px;
        display: none;
        transition: all 0.3s;
    }

    .sub>ul {
        border-radius: 20px;
        overflow: hidden;
    }

    .sub ul li a {
        font-size: 18px;
        display: flex;
        width: 100%;
        height: 50px;
        align-items: center;
        justify-content: center;
        letter-spacing: .001em;
        padding: 5px 10px;
        line-height: 1.3em;
        text-align: center;
        margin: 0 auto;
        border-bottom: solid 1px #FFF;
        color: #fff;
    }

    .sub ul li:last-child a {
        border-bottom: none;
    }

    /*  FOOTER */
    .ft_bnn li:not(:last-child) {
        margin-right: 8px;
    }

    .tab-content:not(.active) {
        display: none;
    }

    /* hover */
    .sub.is-hover {
        opacity: 1;
        transform: translate(0, 0);
        visibility: visible;
        display: block;
    }

    .ft_link ul li>a:hover {
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .ft_bnn li a:hover,
    .to_top img:hover,
    .btn a:hover,
    .sub ul li a:hover {
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .h_nav_list li a:hover span.jp {
        background: -webkit-linear-gradient(var(--mcolor3));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    .main_btn:hover {
        color: var(--txt);
    }

    .main_btn:hover::before {
        background-image: url(../images/right_02.svg);
    }

    .center .hover {
        transition: all ease 0.3s;
        transform: translateY(0);
        display: inline-block;
    }

    .hover_img {
        transform: translateY(0);
        transition: all ease 0.3s;
        display: inline-block;
    }

    .hover_img:hover,
    .hover:hover,
    /*     .sec02_item:hover, */
    .main_btn:hover.hover {
        transform: translateY(-10px);
    }

    .main_btn:hover.is_color01 {
        border: 2px solid var(--sub2);
        background-color: #fff;
    }

    .main_btn:hover.is_color02 {
        border: 2px solid var(--sub1);
        background-color: #fff;
    }

    .main_btn:hover.is_color03 {
        border: 2px solid #F6AD3C;
        background-color: #fff;
    }

    .main_btn:hover.is_color01.hover_none {
        transform: none;
        background: var(--mcolor);
        color: #fff;
        border: none;
    }

    .main_btn:hover.is_color01.hover_none::before {
        background: url(../images/right_01.svg) no-repeat center /contain;
    }

    .sec06_column:hover .image>img,
    .sec06_column:hover .sec06_boxchat,
    .sec06_column2:hover .image>img,
    .sec06_column2:hover .sec06_boxchat {
        transform: translateY(-20px);
    }

    .tabs-nav li:hover a {
        border-color: #5DC2D0;
        color: #5DC2D0;
    }

    .sec07_column:hover {
        transform: translateY(-10px);
    }

    .sec07_column:hover::before {
        background-color: #fff;
    }

    .sec07_banner .image:hover {
        transform: translateY(-10px);
    }

    .sec12_banner:hover,
    .h_contact_mail a:hover,
    .ft_social_btn li a:hover,
    .ft_bnn li:hover,
    .to_top:hover,
    .h_contact_social li:hover {
        transform: translateY(-10px);
    }

    .sec12_banner.non-hover:hover {
        transform: translateY(0);
    }

    .idxsec05_box_btnttl.big {
        width: 330px;
        height: 90px;
    }

    header.active .h_box {
        display: flex;
        align-items: center;
        background-color: #fff;
        box-shadow: 3px 4px 5px 0px rgba(0, 0, 0, 0.15);
    }

    header.active .h_right .h_contact>*:not(.h_contact_mail) {
        display: none;
    }



    header.active #logo {
        top: 0;
    }

    header.active #logo img {
        width: 300px;
    }

    header.active .h_inner {
        padding: 15px 25px 0;
        align-items: center;
        margin-bottom: 15px;
    }

    header.active nav {
        margin-bottom: 0;
        margin-right: 300px;
    }



    header.active .h_right .h_contact_mail {
        right: 20px;
        position: absolute;
        margin-top: 0;
    }

    header.active nav .inner {
        width: auto;
    }

    header.active .h_nav_list {
        justify-content: space-around;
        padding-left: 0;
    }

    /*.sec14_first{display: flex; justify-content: space-between; align-items: center;}*/
    .sec14 {
        margin-bottom: 140px
    }

    .sec14_first {
        width: 100%;
        overflow: hidden;
    }

    .sec14_first .slick-slider {
        padding: 0 50px 0;
    }

    .sec14_first .slick-prev {
        left: 0;
    }

    .sec14_first .slick-next {
        right: 20px;
    }

    .sec14_first ul li {
        margin-bottom: 0;
    }

    .ft_top_contact{padding: 0;}
    .ft_top .logo_top{margin-right: 0;}
    .ft_top_recruit{padding: 50px 50px 50px 0;margin-right: 50px;border-right: 2px solid #ccc;}
}

@media screen and (min-width: 751px) and (max-width: 1680px) {
    .container {
        width: 1260px;
    }

    .h_inner {
        padding: 5px 30px 0;
        margin: 0 auto 10px;
    }

    #logo {
        width: 260px;
        top: 0;
        left: 0;
    }

    .h_contact_txt {
        font-size: 12px;
        margin: 9px 15px 0 0;
    }

    .h_contact_social li {
        width: 40px;
        height: 40px;
    }

    .h_contact_social li:first-child img {
        width: 11px;
    }

    .h_contact_social li:last-child img {
        width: 20px;
    }

    .h_contact_tel {
        margin: 10px 15px 0 0;
    }

    .h_contact_tel .tel {
        font-size: 24px;
    }

    .h_contact_tel .time {
        font-size: 12px;
        letter-spacing: 0.01em;
    }

    .h_contact_mail a {
        width: 200px;
        height: 50px;
    }

    .h_contact_mail span.txt {
        font-size: 16px;
    }

    .h_nav_list {
        justify-content: space-between;
    }

    .h_nav_list li span.en {
        font-size: 14px;
    }

    .h_nav_list li span.jp {
        font-size: 17px;
    }

    .h_nav_list>li:not(:last-child) {
        margin-right: 20px;
    }

    header.active .h_inner {
        padding: 10px 30px;
    }

    header.active .h_inner {
        margin-bottom: 0;
    }



    main {
        padding-top: 150px;
    }

    .mv::before {
        top: -185px;
        width: 1130px;
        height: 350px;
    }
    .mv_bg{height: 520px;}


    .mv .inner {
        max-width: 1000px;
    }

    .mv .inner::before {
        top: 0;
        right: -115px;
        width: 320px;
        height: 250px;
    }

    .mv .container::before {
        width: 290px;
        height: 240px;
        top: -5px;
        left: 0;
    }

    .mv .container::after {
        bottom: -115px;
        left: -10px;
        width: 390px;
        height: 306px;
    }

    .mv_txt::before {
        top: -125px;
        left: -70px;
        width: 220px;
        height: 135px;
    }

    .mv_txt {
        left: 115px;
        bottom: -30px;
    }

    .mv h2 {
        font-size: 30px;
    }

    .mv_calendar::after {
        bottom: -40px;
        right: -95px;
        z-index: -1;
        width: 650px;
        height: 348px;
    }

    .sec01::before {
        background-size: 100% 100%;
    }

    .sec01_wrapper .image {
        top: -25px;
        left: -32px;
        width: 55.6%;
    }

    .sec01_ttl::before {
        top: 60px;
        left: -320px;
        width: 240px;
        height: 126px;
    }

    .sec01_wrapper::after {
        bottom: -145px;
        right: -30px;
        width: 100px;
        height: 149px;
    }

    .sec01_ttl {
        margin: 0 auto 70px;
    }

    .sec02 {
        padding: 70px 0 0;
    }

    .sec03 {
        padding: 60px 0 0;
    }

    .sec03_content .ttl_top {
        left: 112px;
    }

    .sec03_content .ttl_top::before {
        bottom: 50px;
        right: 90px;
        width: 250px;
        height: 149px;
    }

    .sec03_bottom {
        padding-top: 150px;
    }

    .sec03_content .ttl_bottom {
        font-size: 36px;
    }

    .sec03_content::after {
        bottom: -75px;
        left: -45px;
        width: 150px;
        height: 150px;
    }

    .sec03_txt {
        font-size: 16px;
    }

    .sec03_wrapper .image {
        width: 600px;
        right: 0;
    }

    .sec03_item .is_title {
        width: 220px;
        height: 220px;
    }

    .sec03_item .is_img {
        width: 560px;
    }

    .sec03_item .is_title.is_01,
    .sec03_item .is_title.is_03 {
        top: 70px;
        right: -25px;
    }

    .sec03_image_icon.is_02 .is_icon {
        right: 0;
    }

    .sec03_item .is_title {
        padding-top: 65px;
    }

    .sec03_item .is_name span.en {
        font-size: 28px;
        top: -38px;
        left: -23px;
    }

    .sec03_item .is_name span.jp {
        font-size: 38px;
    }

    .sec03_item .is_title img {
        width: 60px;
    }

    .sec03_item .is_title.is_r::before {
        width: 48px;
        height: 41px;
        top: 2px;
    }

    .sec03_item .is_title.is_l::before {
        width: 36px;
        height: 50px;
        left: -8px;
    }

    .sec03_item .is_title.is_03 {
        padding-top: 70px;
    }

    .sec03_item .is_title.is_04 {
        padding-top: 65px;
    }

    .sec03_item .is_title.is_02 {
        top: 34px;
        left: -30px;
    }

    .sec03_item.is_02 .image,
    .sec03_item.is_04 .image {
        display: flex;
        justify-content: flex-end;
    }

    .sec03_item.is_02::before {
        top: 358px;
        left: -275px;
        transform: rotate(-51deg);
    }

    .sec03_item.is_03::before {
        transform: rotate(53deg);
    }

    .sec03_bottom::before {
        top: -545px;
        height: 2740px;
        background: url(../images/sec03_bg_02.png) no-repeat center /100% 100%;
    }

    .sec03_item .is_img.has_bf::before {
        width: 200px;
        height: 123px;
        left: 0;
    }

    .sec04_image_01 {
        width: 300px;
        top: 65px;
        left: -60px;
    }

    .sec04_image_02 {
        width: 280px;
        top: 75px;
        right: -38px;
    }

    .sec04_image_03 {
        width: 340px;
        left: -30px;
    }

    .sec04_image_04 {
        width: 360px;
        right: -47px;
    }

    .sec04_bottom_wrap {
        padding-right: 120px;
    }

    .sec04_bottom::after {
        right: 10px;
        width: 100px;
        height: 154px;
    }

    .sec05_bottom_wrapper .inner::before {
        top: -205px;
        left: -2px;
        width: 220px;
        height: 131px;
    }

    .sec05_top_ttl_02 {
        font-size: 36px;
    }

    .sec14::after {
        background-repeat: no-repeat;
    }

    .sec05_top_ttl p.en {
        font-size: 164px;
    }

    .sec05_top_ttl h3.jp {
        margin-top: -75px;
    }

    .sec06 {
        padding: 11px 0 20px;
    }

    .sec06_wrapper.flex_end {
        margin-top: 20px;
        justify-content: center;
    }

    .sec06_des::before {
        right: -40px;
        width: 180px;
        height: 100px;
    }

    .sec07 {
        padding: 100px 0 0;
    }

    .sec07::before {
        background-size: 100% 100%;
    }

    .sec07_banner::before {
        width: 818px;
    }

    .sec08_wrapper .image {
        width: 55%;
    }

    .sec08_content.is_01 .is_content {
        padding: 75px 105px 0 75px;
    }

    .sec08_content.is_01 {
        width: 615px;
        height: 371px;
    }

    .sec08_ttl02 {
        font-size: 32px;
    }

    .sec08_ttl02::before {
        top: 9px;
        left: 10px;
        width: 20px;
        height: 52px;
    }

    .sec08_ttl02::after {
        top: 9px;
        right: -24px;
        width: 20px;
        height: 52px;
    }

    .sec08_txt {
        font-size: 12px;
    }

    .sec08_content.is_02 {
        width: 610px;
        height: 380px;
    }

    .sec08_ttl02 .is_note {
        font-size: 14px;
    }

    .sec08_content.is_02 .is_content {
        padding: 52px 64px 0 107px;
    }

    .sec08_content.is_01::before {
        width: 368px;
        left: -131px;
    }

    .sec08_content.is_02::before {
        width: 438px;
        bottom: -130px;
        right: -120px;
    }

    .sec08_content.is_03::before {
        width: 184px;
        left: -70px;
        transform: rotate(-25deg);
    }

    .sec08_ttl {
        margin-bottom: 85px;
    }

    .sec09_inner::before {
        width: 180px;
        left: 30px;
    }

    .sec09_wrapper,
    .sec09_wrapper2 {
        width: 1200px;
    }

    .sec09_content {
        padding: 111px 0 50px 30px;
    }

    .sec09_image {
        top: -20px;
    }

    .sec09_image img {
        width: 500px;
    }

    .sec09_column {
        width: 300px;
        height: auto;
        padding: 30px 0;
    }

    .sec09_column .image {
        margin-bottom: 10px;
    }

    .sec09_ttl_02 {
        font-size: 28px;
    }

    .sec09_ttl_02 .is_note {
        left: 50%;
        transform: translateX(-50%);
        font-size: 12px;
    }

    .sec09_column .txt {
        font-size: 14px;
        padding: 0 15px;
    }

    .sec10 {
        padding: 210px 0 0;
    }

    .sec10 .container::before {
        width: 370px;
        left: 10px;
    }

    .sec10_wrapper::before {
        width: 390px;
        left: -390px;
    }

    .sec10 .container::after {
        width: 430px;
        right: -30px;
    }

    .sec11_column2 .image.is_01 {
        width: 272px;
        top: 45px;
        left: 20px;
    }

    .sec11_column2 .image.is_02 {
        width: 315px;
        bottom: -5px;
        left: -7px;
        transform: rotate(2deg);
    }

    .sec11_column2 .image.is_03 {
        width: 238px;
        bottom: 150px;
        right: -35px;
    }

    .sec11_column2 .image .is_name {
        font-size: 16px;
    }

    .sec11_column1::before {
        width: 400px;
        height: 300px;
        left: -70px;
    }

    .sec11_content {
        position: relative;
        left: 80px;
    }

    .sec11_column2 .image.is_02 .is_name {
        top: 65px;
    }

    .sec12 {
        padding: 0px 0 53px;
    }

    .sec12::before {
        top: -120px;
        width: 57.7%;
    }

    .sec12_column1::before {
        left: 0;
        width: 210px;
    }

    .sec12_column2 .image {
        top: 140px;
        right: -20px;
        width: 520px;
    }

    .sec12_list_banner::before {
        width: 51.2%;
    }

    .sec12_wrapper2 {
        justify-content: space-around;
    }

    .sec12_wrapper2 .image.is_01 {
        width: 300px;
        height: auto;
    }

    .sec12_wrapper2 .image.is_01::before {
        width: 320px;
        left: -140px;
    }

    .sec12_wrapper2 .image.is_02 {
        width: 350px;
    }

    .sec12_wrapper2 .image.is_02::before {
        width: 186px;
    }

    .sec12_wrapper2 .image.is_03 {
        width: 326px;
    }

    .sec12_wrapper2 .image.is_03::before {
        width: 256px;
        right: -75px;
    }

    .sec13 .sec07_wrapper::before {
        width: 228px;
        left: 0;
    }

    .ft_social .inner::before {
        width: 168px;
        right: 0;
    }

    .ft_link_wrapper::before {
        width: 168px;
        left: -67px;
    }

    address::before {
        background-size: 100% 100%;
    }

    .footer_right {
        right: 35px;
    }

    .footer_right02 {
        right: 35px;
    }

    .to_top {
        bottom: 60px;
        right: 35px;
        width: 50px;
        height: 94px;
    }

    .to_top_btn {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .to_top span.jp {
        padding-left: 5px;
    }

    header.active nav {
        margin-right: 230px;
    }
}

/* screen-min:750px */
@media screen and (max-width: 750px) {
	.sec_h5_group {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		grid-column-gap: 40px;
		grid-row-gap: 40px;
	}
	body .sec12_inner01 {
		margin-bottom: 0;
	}
	.under.scholarship_page main h4.h4-fix {
		margin: auto;
    	text-align: center;
		font-size: 22px;
	}
	.box_qa03 .box_a {
		padding: 20px;
	}
	.box_qa03 .box_q {
		border-radius: 15px;
	}
	.box_qa03 .box_q .txt {
		font-size: 16px;
		line-height: 1.6;
	}
	.h4-ttl span:before {
		bottom: 5px;
		height: 10px;
	}
	.box_common02.box_default02:before {
		width: 90%;
		height: 3px;
	}
	.group-contact .item-contact.btn-more a {
		font-size: 18px;
	}
	.graduation-wrapper .list-item .ttl-item {
		max-width: 100%;
    	width: 350px;
        padding: 0 10px;
	}
    .graduation-wrapper .list-item {
        margin-top: 60px;
    }
    
	.under main .mb100.cus.cus_marg  {
		margin-bottom: 60px;
	}
	.scholarship_page .caption {
		padding-top: 20px;
		font-size: 20px;
	}
	.scholarship_page .caption span {
		font-size: 24px;
	}
	.under main .list-customer {
		width: auto;
	}
	.btn-more a {
		font-size: 16px;
		height: 60px;
		width: 100%;
		padding-bottom: 8px;
		max-width: 400px;
	}
	.btn-more a:before {
		bottom: 0;
	}
	.under main h3.ttl-zone {
		padding: 0 15px;
    	font-size: 22px;
		width: auto;
		margin: 60px auto;
		font-weight: bold;
	}
	.under main h3.ttl-zone::before {
		left: 0;
		top: -20px;
		width: 42px;
		height: 61px;
		background-size: contain;
	}
	.under main h3.ttl-zone::after {
		width: 42px;
		height: 61px;
		bottom: auto;
		top: -15px;
		right: 0;
		background-size: contain;
	}
	.full-content {
		display: block;
	}
	.item-left {
		margin-bottom: 30px;
	}
	.item-left,
	.item-right {
		border-radius: 20px;
    	padding: 25px 15px;
		margin: 0 auto 30px;
	}
	.item-left .ttl-inner,
	.item-right .ttl-inner {
		margin-bottom: 5px;
		font-size: 20px;
	}
	.ttl-inner:before {
		width: 100%;
    	top: -25px;
		height: 3px;
	}
	.under main .full-content .list01 {
		margin-bottom: 20px;
		margin-top: 10px;
	}
	.box_common02 {
		padding: 25px 15px;
	}
	.box_common02 .ttl {
		font-size: 18px;
		margin: 0 auto 10px;
		font-weight: 600;
	}
	.box_common02 .ttl span:after {
		bottom: 0;
        height: 10px;
	}
	.box_common02 .ttl span {
		 padding: 0 2px;
	}
	   
	.list_botox01 {
		display: block;
	}
	.list_botox01 li {
		width: auto;
		max-width: 100%;
	}
	.box_common02.box_default02 {
		margin: 20px 0;
		border-radius: 20px;
	}
	.h4-ttl:after {
		width: 80px;
		height: 100%;
		right: -10px;
		top: -45px;
		background-size: contain;
	}
	.box-chat {
		display: block;
	}
	.content-chat {
		margin-top: 0;
        width: auto;
        background: #fff;
        border: 2px solid #09A2C9;
        border-radius: 20px;
        height: auto;
        padding: 20px 15px;
		position: relative;
		margin-bottom: 20px;
	}
	.content-chat:before {
		position: absolute;
        content: '';
        left: 50%;
        transform: translateX(-50%);
        bottom: -20px;
        width: 0;
        height: 0;
        border-left: 20px solid transparent;
        border-right: 20px solid transparent;
        border-top: 20px solid #09A2C9;
	}
	.under main p.ttl-chat {
		font-size: 18px;
	}
	.under main .mb100.cus {
		margin-bottom: 0;
	}
	.box-chat p.img {
		text-align: center;
	}
	.box-chat p.img img {
		width: 167px;
	}
	.ttl-gradient .en {
		font-size: 34px;
		margin: 0 auto 0;
	}
	.under main .ttl-gradient span {
		font-size: 24px;
	}
	.under main .ttl-gradient {
		margin-bottom: 40px;
		padding: 0 15px;
	}
	.under main section.sec007 {
		padding: 60px 0;
	}
	.list-item {
		display: block;
		margin-top: 40px;
	}
	.list-item .item {
		border-radius: 20px;
		border: 2px solid #65DCE3;
		padding: 40px 20px 30px;
		width: 100%;
		max-width: 600px;
		height: auto;
		margin: 0 auto 40px;
	}
	.list-item .ttl-item, .ttl-item-big {
		font-size: 18px;
		max-width: 280px;
		width: 100%;
		height: 40px;
		top: -20px;
	}
	.under main .sec007 h3 {
		margin-bottom: 0;
	}
	.item-big {
		border-radius: 20px;
		border: 2px solid #FFAA2A;
		padding: 40px 20px 20px;
		height: auto;
		margin-top: 50px;
	}
	.item-big .ttl-item-big {
		width: 100%;
		height: 62px;
		font-size: 18px;
		padding: 5px 15px;
		line-height: 1.4;
		top: -30px;
	}
	.under main .item-inner p {
		margin-bottom: 10px;
	}
	.under main section.program-flow {
		padding: 30px 0 60px;
	}
	.taglist {
		grid-template-columns: repeat(2, 2fr);
		grid-row-gap: 60px;
		margin-top: 60px;
	}
	.taglist li {
		width: auto;
		border: 2px solid #56B98A;
		height: 125px;
	}
	.taglist li:before {
		right: -28px;
		width: 16px;
		height: 24px;
	}
	.taglist li .icon {
		width: 63px;
		height: 63px;
		top: -35px;
	}
	.taglist li .icon img {
		width: 32px;
	}
	.taglist li:nth-child(2n):before {
		background: none;
	}
	.group-contact {
		display: block;
		margin-top: 40px;
	}
	.group-contact .item-tel.btn-more {
		margin-right: 0;
		margin-bottom: 25px;
	}
	.group-contact .item-contact.btn-more a {
		padding-bottom: 4px;
	}
	.under main section.graduation-wrapper {
		padding: 60px 0;
		margin: 0 0 60px;
	}
	.graduation-wrapper .list-item .item:last-child {
		margin-bottom: 0;
	}
	.under main .graduation-wrapper .mt40 {
		margin-top: 30px;
	}
	.under main section.for-students {
		padding: 0 0 40px;
	}
	.group-contact .btn-more a {
		height: 60px;
		font-size: 24px;
		font-weight: bold;
		padding-bottom: 0;
	}
	.list-merit {
		grid-template-columns: repeat(1, 1fr);
		margin-top: 40px;
	}
	.list-merit li .merit {
		height: 30px;
		font-size: 18px;
	}
	.list-merit li .ttl-merit {
		font-size: 20px;
	}
	.list-merit li {
		border: 2px solid #65DCE3;
		background: #FFFFFF;
		border-radius: 20px;
	}
	.list-merit li .desc {
		padding: 0 15px 25px;
	}
	.content-students {
		margin-top: 40px;
		border: 2px solid #FFAA2A;
		border-radius: 20px;
		padding: 25px 15px;
	}
	.under main section.students-wrapper:before {
		background-size: cover;
	}
	.under main section.students-wrapper {
		padding: 100px 0;
		margin-bottom: 60px;
	}
	.students-wrapper h3 {
		font-weight: 600;
	}
	.under main .students-wrapper h3.ttl-zone.cus {
		margin: 0;
		font-size: 24px;
		width: auto;
		padding-top: 15px;
	}
	.under main .system-wrapper  h3.ttl-zone.cus {
		font-size: 24px;
		margin: 0 auto 0;
		padding-top: 15px;
		line-height: 1;
		width: auto;
	}
	.under main .system-wrapper  .cap-ttl {
		font-size: 18px;
		margin-bottom: 40px;
	}
	.list01_grid {
		grid-template-columns: repeat(1, 1fr);
	}
	.under main .ttl-list01 {
		margin-bottom: 10px;
		font-size: 20px;
	}
	.under main .frame01.cus {
		width: auto;
		max-width: 100%;
		padding: 20px 15px;
		margin: 0 15px;
	}
	.under main section.check_wrapper {
		padding: 30px 0 60px;
	}
	.list_check.cus:before {
		width: 90%;
		height: 3px;
		top: 1px;
	}
	.under main .list_check.cus {
		margin-top: 20px;
		padding: 30px 20px 20px;
		border-radius: 20px;
	}
	.under main .list_check.cus li {
		background-size: 28px;
		padding-left: 40px;
		padding-bottom: 10px;
		font-size: 18px;
		line-height: 1.6;
	}
	.box_common02.box_com {
		padding: 0 15px;
	}
	.qa-wrapper .inner {
		padding: 20px 0;
        width: auto !important;
        margin: 0 15px
	}
	.under main .qa-wrapper .cap-ttl {
		font-size: 20px;
	}
	.under main .qa-wrapper .ttl-zone.cus {
		font-size: 24px;
		width: auto;
		padding-top: 15px;
		line-height: 1.6;
	}
	.box_qa03 {
		position: relative;
    	z-index: 2;
		padding: 0 15px;
	}
	.box_qa03 .box_q {
		padding: 20px 30px 20px 20px;
	}
	.under main section.qa-wrapper {
		padding: 60px 0 40px;
	}
	.under main .qa-wrapper .ttl-gradient:after {
		top: -50px;
		width: 100%;
	}
	.box_qa03 .box_q .txt .icn:before {
		right: 12px;
		width: 16px;
		height: 1px;
	}
	.box_qa03 .box_q .txt .icn:after {
		right: 19px;
		height: 16px;
		width: 1px;
	}
	.under main .qa-wrapper.qa-wrap02 .ttl-gradient {
		margin-bottom: 20px;
	}
	.under main .qa-wrap02 h3.ttl-zone, .under main .form-wrapper h3.ttl-zone {
		font-size: 24px;
	}
	body.under main section.form-wrapper {
		padding: 60px 0 0;
	}
	.under.scholarship_page main .main_wrap {
		margin-bottom: 30px;
	}
	.graduation-wrapper .list-item .item {
        padding-top: 50px;
		border: 2px solid #F5AD3D;
	}
	.graduation-wrapper .list-item .item:not(:last-child){
        margin-bottom: 70px !important;
    }
	

    #sec02_tab1{min-height: 230px}

    /* Order of nav*/
    .h_nav_list.sp > li:nth-child(1){order: 1}
    .h_nav_list.sp > li:nth-child(2){order: 2}
    .h_nav_list.sp > li:nth-child(3){order: 4}
    .h_nav_list.sp > li:nth-child(4){order: 3}
    .h_nav_list.sp > li:nth-child(5){order: 5}
    .h_nav_list.sp > li:nth-child(6){order: 6}
    .h_nav_list.sp > li:nth-child(7){order: 7}
    .h_nav_list.sp > li:nth-child(8){order: 8}
    .f_sm_sp {
        font-size: 80%;
    }

    .footer_right {
        top: inherit;
        bottom: 0;
        display: inline-block;
    }

    .footer_right02 {
        top: inherit;
        bottom: 0;
        display: inline-block;
    }

    .sec15 .sec08_ttl {
        margin-bottom: 20px;
    }

    .sec15 .sec08_ttl .en {
        font-size: 34px;
        padding: 0;
    }

    .idxsec05_box::after {
        top: -65px;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    .s06_img_fix {
        width: 100%;
        margin: 0 0 80px;
        max-width: 300px
    }

    .s06_img_fix .img:after,
    .s06_img_fix .img::before {
        zoom: 0.6;
    }

    #wrapper,
    header,
    main,
    footer,
    .inner {
        width: 100% !important;
        min-width: unset !important
    }

    .pc {
        display: none !important
    }

    /* NAV */
    nav {
        display: block;
        position: fixed;
        top: 60px;
        left: 0;
        width: 100%;
        height: calc(100vh - 60px);
        overflow: auto;
        padding: 20px 0 240px;
        z-index: 100;
        display: none;
        background: #fdf3f5;
    }

    nav .inner {
        padding: 0;
    }

    .h_nav_list {
        flex-direction: column
    }

    .h_nav_list ul,
    .h_nav_list li {
        width: 100%
    }

    .h_nav_list li span.jp {
        font-size: 21px;
    }

    .h_nav_list a {
        display: block;
        padding: 15px;
        color: var(--txt);
        font-size: 15px;
        letter-spacing: -0.03em;
        border-bottom: solid 1px var(--mcolor);
    }
    .h_nav_list .sub ul.is_01 li a,
    .h_nav_list .sub ul.is_02 li a{font-size: 17px}

    .h_nav_list a:not([href]) {
        position: relative;
        padding-left: 15px
    }

    .h_nav_list a:not([href])::before,
    .h_nav_list a:not([href])::after {
        content: "";
        position: absolute;
        width: 16px;
        height: 2px;
        background-color: var(--mcolor);
        top: calc(50% - 1px);
        right: 10px;
        transition: all 0.3s;
    }

    .h_nav_list a:not([href])::after {
        transform: rotate(-90deg);
    }

    .h_nav_list a.open:not([href])::after {
        transform: rotate(0);
    }

    .sub {
        display: none;
        padding-left: 0;
        border-bottom: solid 1px #fff;
    }

    .sub ul:not(:last-child) {
        margin-bottom: 15px
    }

    .sub a {
        color: #fff;
        border-bottom: 1px solid #fff;
        padding: 10px 15px;
    }

    .h_nav_list .sub li::before {
        top: 21px;
    }

    .h_nav_list li {
        position: relative;
    }

    .h_nav_list li::before {
        content: '';
        position: absolute;
        top: 19px;
        left: 0;
        width: 6px;
        height: 9px;
        background: url(../images/right2.svg) no-repeat center /contain;
    }

    .h_nav_list li a {
        position: relative;
        text-align: left;
    }

    .h_nav_list .sub li::before {
        display: none;
    }

    .h_nav_list .sub li a {
        text-align: center;
    }

    .h_contact_mail span.txt {
        display: inline-block;
        position: relative;
        top: 1px;
        font-size: 16px;
    }

    .hamburger {
        position: absolute;
        right: 1%;
        bottom: 8px;
        font: inherit;
        display: block;
        overflow: visible;
        margin: 0;
        cursor: pointer;
        transition-timing-function: linear;
        transition-duration: .15s;
        transition-property: opacity, filter;
        text-transform: none;
        color: inherit;
        border: 0;
        z-index: 101
    }

    /*=====================================================
                          C U S T O M
    ======================================================*/
    /*============ HEADER ============*/
    .container {
        padding: 0;
    }

    h1 {
        width: 203px;
    }

    #logo {
        top: auto;
        left: auto;
    }

    .h_box {
        height: 60px
    }

    .h_inner,
    header.active .h_inner {
        padding: 0 10px;
        background-color: #fff;
    }

    .h_nav_list {
        max-width: 100%;
        flex-direction: column;
        align-items: flex-start;
        padding: 0 15px;
        margin-bottom: 30px;
    }

    .h_nav_list li:not(:last-child) {
        margin-right: 0;
    }

    .h_btn_sp {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        align-items: center;
    }

    .h_contact_social li {
        width: 45px;
        height: 45px;
    }

    .h_contact_social li:first-child img {
        width: 12px;
    }

    .h_contact_social li:last-child img {
        width: 20px;
    }

    .h_contact_social {
        margin: 0 0 15px;
    }

    .h_contact_tel {
        text-align: center;
        margin: 0 0 15px;
    }

    .h_contact_tel .tel {
        font-size: 24px;
    }

    .h_contact_tel .time {
        font-size: 12px;
        padding: 0 15px;
    }

    .h_contact_mail {
        height: 50px;
    }

    #content .infobox {
        width: 100%;
        margin-bottom: 20px;
    }

    #syosin {
        padding: 15px;
    }
    #syosin .syo_01,
    #syosin .syo_02 {
        width: 100%;
    }

    .main_ttl01 span.en {
        font-size: 38px;
        top: -34px;
        left: -45px;
    }

    .main_ttl01 span.jp {
        font-size: 24px;
    }

    .main_btn.is_btn1 {
        font-size: 13px;
    }

    /*============ Main ============*/
    main {
        padding-top: 60px;
    }

    .mv::before {
        top: -30px;
        width: 100vw;
        height: calc(100vw * 444 / 1434);
    }

    /* MAIN VISUAL */
    .mv {
        padding: 50px 0 0;
    }

    .mv .container::before {
        width: 25vw;
        height: 22vw;
        top: -50px;
        left: 0;
        max-width: 90px;
        max-height: 79px;
    }

    .mv .container::after {
        display: none;
    }

    .mv .inner {
        margin-bottom: 20px;
    }

    .mv .inner::before {
        width: 30vw;
        height: 23vw;
        top: -30px;
        right: 0;
        max-width: 108px;
        max-height: 83px;
    }

    .mv_bg {
        width: 100%;
        height: calc((100vw - 30px) * 8 / 15);
    }

    .mv_bg .image img{border-radius: 20px}

    .mv_txt {
        position: relative;
        top: auto;
        padding: 0 15px;
        z-index: 100;
        bottom: 0;
    }

    .mv h2 {
        font-size: 24px;
        text-align: center;
    }

    .mv_txt::before {
        top: -60px;
        left: 10px;
        width: 40vw;
        height: 37vw;
        z-index: -1;
        max-width: 144px;
        max-height: 133px;
        background: url(../images/mv_icon_01_sp.png) no-repeat center /contain;
    }

    .mv_calendar {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        flex-direction: column;
        position: relative;
        bottom: auto;
        right: auto;
        width: 100%;
        max-width: 480px;
        padding: 20px 35px 30px 80px;
        margin: 60px auto 0;
    }

    .mv_calendar_top {
        position: relative;
        width: 100%;
        align-items: center;
        justify-content: space-around;
    }

    .mv_calendar_top::before {
        content: '';
        position: absolute;
        top: -50px;
        right: 0;
        width: 20vw;
        height: 12vw;
        max-width: 72px;
        max-height: 43px;
        background: url(../images/mv_calendar_bf-8.png) no-repeat center /contain;
    }

    .mv_calendar_top .txt span.big,
    .mv_calendar_top .txt span.time {
        font-size: 14px;
        font-weight: 900;
    }

    .mv_calendar_top .txt {
        text-align: center;
        margin-bottom: 0;
    }

    .mv_calendar_top .image {
        margin-top: -6px;
    }

    .mv_calendar_top .txt span.big {
        position: relative;
        top: -8px;
        margin-bottom: 10px;
    }

    .mv_calendar::after {
        bottom: -30px;
        right: 15px;
        width: calc(100vw - 30px);
        height: calc(100vw * 342 / 490);
        max-width: 490px;
        max-height: 342px;
        background: url(../images/mv_img_05sp.png) no-repeat center /contain;
    }

    .mv_calendar_bottom {
        position: relative;
        text-align: left;
        letter-spacing: -0.03em;
    }

    .mv_calendar_bottom::before {
        content: '';
        position: absolute;
        bottom: -20px;
        left: -125px;
        z-index: 1;
        width: 20vw;
        height: 19vw;
        max-width: 100px;
        max-height: 97px;
        background: url(../images/mv_calendar_bottom_bf.png) no-repeat center /contain;
    }

    nav .mv_calendar::after {
        display: none;
    }

    /* sec01 */
    .sec01 {
        padding: 50px 0 20px;
    }

    .sec01.sec01_cus {
        padding: 50px 0 20px;
    }

    .sec01 .img_lb {
        margin: 50px 0 30px;
    }

    .sec01::before {
        top: 40px;
        height: 100%;
        background-size: cover;
    }

    .sec01.sec01_cus::before {
        height: auto;
    }

    .sec01.sec01_cus .bnr_sec01 {
        margin-bottom: 30px;
        margin-top: 30px;
    }

    .sec01_ttl span.en {
        font-size: 50px;
    }

    .sec01_ttl span.num {
        font-size: 30px;
    }

    .sec01_ttl span.txt {
        font-size: 20px;
    }

    .sec01_ttl span.big {
        font-size: 52px;
    }

    .sec01_ttl {
        margin: 0 auto 30px;
    }

    .sec01_ttl::before {
        top: -10px;
        left: -90px;
        width: 25vw;
        height: 13vw;
        max-width: 90px;
        max-height: 47px;
    }

    .sec01_wrapper {
        justify-content: center;
        flex-wrap: wrap;
        max-width: 560px;
        margin: 0 auto;
    }

    .sec01_wrapper::after {
        bottom: -60px;
        right: -10px;
        width: 15vw;
        height: 22vw;
        max-width: 54px;
        max-height: 80px;
    }

    .sec01_wrapper .image {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        max-width: 420px;
        margin: 0 auto 20px;
    }

    .sec01_map {
        width: 100%;
        height: 200px;
        border: 2px solid #fff;
        border-radius: 25px;
    }

    .sec01_map_wrapper {
        width: 100%;
    }

    .sec01_location {
        font-size: 13px;
    }

    /* sec02 */
    .sec02 {
        padding: 100px 0 0;
    }

    .sec07_wrapper .slick-prev,
    .sec14 .slick-prev,
    .sec02 .slick-prev{left: 0px;z-index: 9999;}
    .sec02_wrapper .slick-prev,
    .sec02_wrapper .slick-next{top: 38%}

    .sec07_wrapper .slick-prev,.sec07_wrapper .slick-next{top: 30%}

    .sec07_wrapper .slick-next,
    .sec14 .slick-next,
    .sec02 .slick-next,
    .sec09_wrapper2 .slick-next{
        right: 8px;
        z-index: 9999;
    }
    .sec07_wrapper .slick-prev::before,
    .sec07_wrapper .slick-next::before,
    .sec14 .slick-prev::before,
    .sec14 .slick-next::before,
    .sec02 .slick-prev::before,
    .sec02 .slick-next::before,
    .sec09_wrapper2 .slick-arrow::before{
        color: #000;
        font-size: 30px;
    }

    .sec02 .main_ttl01 {
        margin-bottom: 20px;
        width: 100%;
        text-align: center;
    }

    .main_ttl01 span.en {
        left: 0;
        text-align: center;
        margin: 0 auto;
        padding: 0;
    }

    .sec02_wrapper {
        max-width: 100%;
        margin: 0 auto 10px;
        justify-content: center;
    }

    .sec02_column {
        width: 100%;
        max-width: 100%;
        padding: 0 10px;
    }

    .sec02_column:not(:last-child) {
        margin-bottom: 30px;
    }

    .sec02_item .sec02_content {
        padding: 20px 15px;
    }

    .sec02_content .is_ttl {
        font-size: 14px;
    }

    /* sec03 */
    .sec03 {
        position: relative;
        padding: 40px 0;
        z-index: 1;
    }

    .sec03::after {
        background: #fff url(../images/sec04_bg.png.png) center /200% 200%;
    }

    .sec03::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 100%;
        background: url(../images/sec03_bg_02_sp.svg) no-repeat center bottom / cover;
    }

    .sec03_top {
        margin-bottom: 20px;
    }

    .sec03_top::before {
        top: 0;
        width: 100%;
        height: calc(100vw * 1836 / 2000);
    }

    .sec03_wrapper {
        flex-wrap: wrap;
        max-width: 560px;
        margin: 0 auto;
    }

    .sec03_content,
    .sec03_wrapper .image {
        width: 100%;
    }

    .sec03_content {
        margin-bottom: 40px;
        padding-top: 30px;
    }

    .sec03_content::after {
        bottom: -45px;
        left: 20px;
        width: 80px;
        height: 80px;
    }

    .sec03_txt {
        font-size: 14px;
        padding-right: 0;
        margin-bottom: 20px;
    }

    .sec03_btn01 {
        margin: 0 auto;
    }

    .sec03_wrapper .image {
        position: relative;
        right: auto;
        top: auto;
        max-width: 420px;
        margin: 0 auto;
    }

    .sec03_content .ttl_top {
        left: 0;
        width: max-content;
        margin: 0 auto 10px;
    }

    .sec03_content .ttl_top::before {
        right: -84px;
        width: 25vw;
        height: 15vw;
        max-width: 90px;
        max-height: 54px;
    }

    .sec03_content .ttl_top span.en {
        top: -35px;
        left: -45px;
        font-size: 50px;
    }

    .sec03_content .ttl_top span.jp {
        font-size: 20px;
    }

    .sec03_content .ttl_bottom {
        font-size: 28px;
        text-align: center;
        margin-bottom: 10px;
    }

    .sec03_bottom {
        padding-top: 90px;
    }

    .sec03_bottom::before {
        display: none;
    }

    .sec03_ttl02 {
        font-size: 20px;
        margin-bottom: 30px;
    }

    .sec03_ttl02 span.big {
        font-size: 150%;
    }

    .sec03_ttl02 span.num {
        font-size: 280%;
    }

    .sec03_ttl02 span.big.is_01 {
        left: 10px;
    }

    .sec03_ttl02 span.big.is_02 {
        left: 0;
    }

    .sec03_wrapper2 {
        flex-wrap: wrap;
        max-width: 560px;
        margin: 0 auto;
    }

    .sec03_column {
        width: 100%;
        padding: 0 15px;
    }

    .sec03_boxchat {
        top: -85px;
        left: -35px;
        width: 35vw;
        height: 25vw;
        max-width: 126px;
        max-height: 90px;
    }

    .sec03_boxchat .txt {
        font-size: 22px;
    }

    .sec03_boxchat .small {
        font-size: 80%;
    }

    .sec03_ttl02::before,
    .sec03_ttl02::after {
        width: 20px;
        height: 53px;
    }

    .sec03_ttl02::before {
        left: -15px;
    }

    .sec03_ttl02::after {
        right: -25px;
    }

    .sec03_item:not(:last-child) {
        margin-bottom: 30px;
    }

    .sec03_item .content,
    .sec03_item .content.is_02 {
        padding: 0;
    }

    .sec03_item .is_img.has_bf::before {
        top: -10px;
        left: 0;
        width: 30vw;
        height: 18vw;
    }

    .sec03_item .is_title {
        width: 140px;
        height: 140px;
        margin: 0 auto;
        padding-top: 40px;
    }

    .sec03_item .is_title.is_02,
    .sec03_item .is_title.is_04 {
        left: -10px;
    }

    .sec03_item .is_title.is_03,
    .sec03_item .is_title.is_04 {
        padding-top: 45px;
    }

    .sec03_item .is_03 .is_name span.en {
        top: -25px;
    }

    .sec03_item .is_title.is_r::before {
        width: 29px;
        height: 25px;
        right: 20px;
    }

    .sec03_item .is_title.is_l::before {
        width: 18px;
        height: 25px;
        left: 3px;
    }

    .sec03_item .is_name span.en {
        font-size: 20px;
        top: -25px;
    }

    .sec03_item .is_name span.jp {
        font-size: 22px;
    }

    .sec03_item .is_title img {
        width: 30%;
    }

    .sec03_item .is_03 .is_name span.en {
        top: -35px;
    }

    .sec03_item .content p {
        font-size: 14px;
    }

    .sec03_item .is_title.is_01 img {
        width: 25%;
    }

    .sec03_item .is_title.is_04 img {
        left: -10px;
        width: 25%;
    }

    .sec03_item .is_title.is_l.is_04::before {
        top: 33px;
        left: 0px;
    }

    .sec03_item.is_01::before,
    .sec03_item.is_02::before,
    .sec03_item.is_03::before {
        display: none;
    }

    .sec03_image_icon.is_01 .is_icon {
        top: auto;
        left: auto;
        margin: 0 auto 30px;
        width: 70%;
    }

    .sec03_image_icon.is_02 .is_icon {
        right: auto;
        margin: 0 auto 30px;
        width: 70%;
    }

    .sec03_image_icon.is_02 {
        margin-bottom: 165px;
    }

    /* sec04 */
    .sec04 {
        padding: 40px 0;
        margin-top: -110px;
        background: #fff url(../images/sec04_bg.png.png) center /200% 200%;
    }

    .sec04_wrapper {
        padding: 0;
        border-radius: 30px;
        margin: 0 11px;
    }

    .sec04_wrapper::before {
        top: -12px;
        left: calc(50% - 28px);
        width: 56px;
        height: 36px;
    }

    .sec04_wrapper::after {
        width: 100px;
        height: 100px;
    }

    .sec04_top {
        padding-top: 35px;
        margin-bottom: 30px;
    }

    .sec04_top_ttl {
        text-align: center;
        font-size: 24px;
        margin-bottom: 15px;
        width: 100%;
    }

    .sec04_top_ttl span.num {
        font-size: 280%;
        left: 5px;
    }

    .sec04_top_ttl span.txt {
        left: 0;
    }

    .sec04_top_ttl span.num::before {
        top: -20px;
        width: 27px;
        height: 27px;
    }

    .sec04_center {
        padding: 0;
    }

    .sec04_center .txt {
        font-size: 14px;
    }

    .sec04_top {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
    }

    .sec04_image_01,
    .sec04_image_02,
    .sec04_image_03,
    .sec04_image_04 {
        display: flex;
        align-items: flex-end;
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
        width: 48%;
    }

    .sec04_image_01{
        left: -15px;
    }
    .sec04_image_03{ left: 0;
    right: 0;
    margin: 0 auto;}
    .sec04_image_02,
    .sec04_image_04 {
        right: -15px;
    }

    .sec04_wrap {
        width: 100%;
        height: 100%;
        border: none;
        margin: 20px 0;
    }

    .sec04_wrap::before {
        display: none;
    }

    .sec04_top_btn {
        left: 0;
    }

    .sec04_bottom {
        padding: 45px 0 40px;
    }

    .sec04_wrapper::after {
        top: -35px;
    }

    .sec04_name {
        left: 0;
        overflow: hidden;
        margin-bottom: 15px;
    }

    .sec04_name .text_gradient {
        font-size: 42px;
        background-color: #fff;
    }

    .sec04_name::before {
        width: 100%;
        top: 15px;
    }

    .sec04_bottom_ttl {
        margin-bottom: 20px;
        font-size: 24px;
    }

    .sec04_bottom_wrap {
        justify-content: initial;
        flex-wrap: wrap;
        padding-right: 0;
    }

    .sec04_bottom_image {
        position: relative;
        top: auto;
        left: -25%;
        width: 100%;
        margin-bottom: 20px;
    }

    .sec04_bottom_image img {
        width: 100vw;
        height: calc(100vw * 988 / 1110);
    }

    .sec04_bottom_image img.sp {
        position: relative;
        left: -10px;
    }

    .sec04_bottom_item {
        width: 100%;
        height: auto;
        border: none;
        padding: 0;
    }

    .sec04_bottom_item p.txt {
        margin-top: 20px;
        font-size: 14px;
    }

    .sec04_bottom::after {
        bottom: 0;
        right: 0;
        width: 15vw;
        height: 23vw;
        max-width: 54px;
        max-height: 83px;
    }

    /* sec05 */
    .sec05{margin-top: -60px}
    .sec05::before {
        background: #fff url(../images/sec04_bg.png.png) center /200% 200%;
    }

    .sec05_top_wrapper::before {
        top: -90px;
        width: 100%;
        height: 100%;
        background: url(../images/sec05_top_bg.png) no-repeat center /cover;
    }

    .sec05_top_ttl {
        top: 0;
        left: 0;
    }

    .sec05_top_ttl p.en {
        font-size: 60px;
        line-height: .8em;
        padding-right: 10px;
    }

    .sec05_top_ttl h3.jp {
        margin-top: 0;
        margin-left: 0;
        font-size: 20px;
    }

    .sec05_top_ttl h3.jp::before {
        bottom: -16px;
        left: -21px;
        width: 180px;
        height: 42px;
    }

    .sec05_top_wrapper .inner {
        max-width: 560px;
        margin: 0 auto;
    }

    .sec05_top_l,
    .sec05_top_r {
        width: 100%;
    }

    .sec05_top_l {
        padding-top: 0;
        padding-left: 0;
        margin-bottom: 80px;
    }

    .sec05_top_ttl_02 {
        text-align: center;
        font-size: 24px;
    }

    .sec05_top_txt {
        font-size: 14px;
        margin-bottom: 25px;
        padding-right: 0;
    }

    .sec05_top_l .main_btn {
        margin: 0 auto;
    }

    .sec05_top_l::before {
        top: -15px;
        left: -10px;
        pointer-events: none;
        width: 55vw;
        height: 53vw;
        max-width: 198px;
        max-height: 191px;
    }

    .sec05_top_r .image {
        left: auto;
        text-align: center;
    }

    .sec05_top_r .image img {
        width: 50%;
        margin-right: 50px;
    }

    .sec05_top_r .image::before {
        top: -20px;
        left: auto;
        right: 0;
        width: 60vw;
        height: 40vw;
        max-width: 300px;
        max-height: 201px;
    }

    .sec05_bottom_wrapper {
        padding-top: 120px;
        padding-bottom: 80px;
        height: auto;
        background-size: cover;
    }

    .sec05_bottom_wrapper .inner::before {
        width: 30vw;
        height: 18vw;
        top: -35px;
        left: auto;
        right: 15px;
        z-index: 5;
        max-width: 108px;
        max-height: 65px;
    }

    .sec05_bottom_ttl {
        width: 100%;
        margin-bottom: 25px;
    }

    .sec05_bottom_ttl .sec05_bottom_boxchat {
        position: relative;
        top: 0;
        width: 100%;
        height: 100px;
        left: auto;
        font-size: 28px;
    }

    .sec05_bottom_ttl .small3 {
        font-size: 76%;
    }

    .sec05_bottom_ttl .is_ttl {
        font-size: 28px;
    }

    .sec05_bottom_ttl .is_ttl.ttl_top {
        left: 0;
    }

    .sec05_bottom_ttl .small2 {
        font-size: 86%;
    }

    .sec05_bottom_ttl .is_ttl.ttl_top .small {
        top: -1px;
        left: 46.75%;
        transform: translateX(-50%);
    }

    .sec05_bottom_ttl .small {
        font-size: 40%;
    }

    .sec05_bottom_txt {
        padding: 0;
        font-size: 14px;
    }

    .sec05_bottom_ttl .pos2 .small2 {
        left: 0;
    }

    .sec05_bottom_image.img01,
    .sec05_bottom_image.img02,
    .sec05_bottom_image.img03,
    .sec05_bottom_image.img04 {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
    }

    .sec05_sp {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 30px;
    }

    .sec05_bottom_image.img01,
    .sec05_bottom_image.img02,
    .sec05_bottom_image.img03,
    .sec05_bottom_image.img04 {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
        width: 48%;
        text-align: center;
    }

    .sec05_bottom_image.img01,
    .sec05_bottom_image.img02 {
        margin-bottom: 20px;
    }

    /* sec06 */
    .sec06 {
        padding: 11px 0 60px;
        margin-top: 20px;
    }

    .sec06::before {
        height: 80px;
        top: -60px;
    }

    .sec06_pick .sec06_pick_des {
        width: 100%;
    }

    .sec06_pick .sec06_pick_des .sec06_btn {
        flex-wrap: wrap;
    }

    .sec06_pick .sec06_pick_des .sec06_btn .main_btn {
        margin: 0 10px 15px;
    }

    .sec06_ttl {
        font-size: 22px;
    }

    .sec06_des {
        padding: 0 0 55px;
        font-size: 14px;
        margin-bottom: 60px;
    }

    .sec06_des::before {
        top: auto;
        bottom: 0;
        right: 0;
        width: 25vw;
        height: 14vw;
        max-height: 50px;
        max-width: 90px;
    }

    .sec06_wrapper {
        max-width: 560px;
        margin: 0 auto;
    }

    .sec06_pick {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin-bottom: 50px
    }

    .sec06_pick .sec06_ttl::before {
        left: 0;
        top: -40px;
    }

    .sec06_column,
    .sec06_column2 {
        width: 50%;
        margin-right: 0;
    }

    .sec06_column:not(:last-child) {
        margin-bottom: 40px;
    }

    .sec06_column2 {
        margin-left: 0;
        left: 0;
    }

    .sec06_column2:not(:last-child) {
        margin-bottom: 60px;
    }

    .sec06_column .image,
    .sec06_column2 .image {
        width: 180px;
        margin: 0 auto;
        max-width: 100%;
    }

    .sec06_wrapper.flex_end {
        margin-top: 40px;
        justify-content: center;
    }

    .sec06_column .sec06_boxchat {
        top: -50px;
        right: -30px;
        width: 120px;
        height: 95px;
        padding: 22px 0 0;
    }

    .sec06_column .box_chat_blue {
        top: inherit;
        bottom: -40px;
        background: url(../images/sec06_icon_03.png) no-repeat center /contain;
        right: 0;
    }

    .sec06_column:nth-child(3) .sec06_boxchat {
        padding: 20px 0 0;
    }

    .sec06_column2.sp .sec06_boxchat {
        padding: 25px 0 0;
    }

    .sec06_boxchat {
        font-size: 12px;
    }

    .sec06_column .is_icon,
    .sec06_column2 .is_icon {
        display: inline-block;
        width: 18px;
    }

    .sec06_column2 .sec06_boxchat {
        bottom: -35px;
        left: -15px;
        width: 120px;
        height: 92px;
    }

    .sec06_column2:nth-child(1) .sec06_boxchat {
        padding: 23px 5px 0 0;
    }

    .sec06_column2:nth-child(2) .sec06_boxchat {
        padding: 27px 0 0 0;
    }

    .sec06_column2:nth-child(3) .sec06_boxchat {
        padding: 28px 2px 0 0;
    }

    .sec06_column:nth-child(1) .image::before,
    .sec06_column2 .image::before,
    .sec06_column2 .image::before {
        width: 96px;
        height: 92px;
    }

    .sec06_column:nth-child(1) .image::before {
        bottom: -40px;
        left: -30px;
    }

    .sec06_column2:nth-child(2) .image::before {
        bottom: -25px;
        right: -15px;
    }

    .sec06_column2:nth-child(3) .image::before {
        top: 10px;
        right: -55px;
    }

    /* sec07 */
    .sec07 {
        padding: 80px 0 30px;
        margin-top: -80px;
        z-index: 2;
    }

    .sec07::before {
        height: 100%;
        background-size: cover;
        background-image: url(../images/sec07_bg_sp.svg);
    }

    .sec07::after {
        background: url(../images/sec07_ttl_bf.png) no-repeat center /contain;
        left: auto;
        right: 10px;
        top: 90px;
        width: 15vw;
        height: 22vw;
        max-width: 54px;
        max-height: 79px;
        z-index: 1;
    }

    .sec07_ttl .en {
        font-size: 40px;
    }

    .sec07_ttl .jp {
        font-size: 24px;
    }

    .sec07_des {
        padding: 0;
        font-size: 14px;
    }

    .sec07_des::before {
        display: none;
    }

    .tabs-nav li {
        width: 250px;
        text-align: center;
    }

    .tabs-nav li:not(:last-child) {
        margin-right: 10px;
    }

    .tabs-nav li a {
        width: 100%;
        max-width: 250px;
        height: 50px;
        font-size: 14px;
        line-height: 1.5em;
        border: 2px solid var(--txt);
    }

    .tabs-nav li a::before {
        bottom: -12px;
        border-width: 10px 5px 0 5px;
    }

    .tabs-content {
        position: relative;
    }

    .tab-content {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        max-height: 250px;overflow: hidden;
    }

    .tab-content.active {
        opacity: 1;
        position: relative;
        z-index: 99;
    }

    .sec07_wrapper {
        flex-wrap: wrap;
        max-width: 100%;
        margin: 0 auto;
    }

    .sec07_column {
        width: 48%;
        padding: 0 10px;
    }

    .sec07_column:not(:last-child) {
        margin-bottom: 30px;
    }

    .sec07_column .content .cate .is_cate {
        font-size: 12px;
        height: 23px;
    }

    .sec07_column .content .title {
        font-size: 14px;
    }

    .sec07_tabs {
        margin-bottom: 30px;
    }

    .sec07_banner {
        padding: 0 21px 0 15px;
    }

    .sec07_banner::before {
        right: -15px;
        top: calc((100vw * 798 / 1296) / 4);
        width: calc(100% + 30px);
        height: calc(100vw * 798 / 1296);
    }

    .sec07 .inner {
        margin-bottom: 30px;
    }

    .sec07_banner .image {
        width: 100%;
    }

    /* sec08 */
    .sec08 {
        position: relative;
        padding: 40px 0 0;
        z-index: 2;
    }

    .sec08_ttl .en {
        font-size: 46px;
    }

    .sec08_ttl .jp {
        padding-left: 0;
        font-size: 24px;
    }

    .sec08_des {
        padding: 0;
        font-size: 14px;
        margin-bottom: 30px;
    }

    .sec08_wrapper {
        flex-wrap: wrap;
    }

    .sec08_wrapper .image {
        position: relative;
        top: auto;
        order: 1;
        width: 95%;
        margin-left: auto;
        margin-bottom: -15px;
    }

    .sec08_wrapper .container {
        width: 100%;
        order: 2;
        padding: 0 5px;
    }

    .sec08_content.is_01 .is_content,
    .sec08_content.is_02 .is_content {
        background-size: cover;
        padding: 30px 30px 30px;
        width: 310px;
        height: 450px;
        margin: 0 auto;
        background-image: none;
        border-radius: 65% 35% 70% 30% / 30% 62% 38% 70%;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .long_content.sec08_content.is_02 .is_content{padding-top: 80px}

    .sec08_content.is_01 .is_content {
        background-color: var(--mcolor);
    }

    .sec08_content.is_02 .is_content {
        background-color: var(--mcolor2);
    }

    .sec08_content.is_01 .is_content::before,
    .sec08_content.is_02 .is_content::before {
        content: '';
        position: absolute;
        z-index: -1;
        margin: 0 auto;
        width: 310px;
        height: 416px;
        border-radius: 65% 35% 70% 30% / 30% 62% 38% 70%;
        background-image: none;
    }

    .sec08_content.is_01 .is_content::before {
        top: -25px;
        left: -20px;
        background-color: #fbfcf6;
    }

    .sec08_content.is_02 .is_content::before {
        bottom: -25px;
        right: -20px;
        background-color: #fff7ec;
    }

    .sec08_content.is_01 .is_content::after,
    .sec08_content.is_02 .is_content::after {
        content: '';
        position: absolute;
    }

    .sec08_content.is_01 .is_content::after {
        top: -12px;
        left: 0;
        z-index: 3;
        width: 25vw;
        height: 26vw;
        max-width: 90px;
        max-height: 94px;
        background: url(../images/sec08_content_01_sp.png) no-repeat center /contain;
    }

    .sec08_content.is_02 .is_content::after {
        bottom: -15px;
        right: -20px;
        width: 27vw;
        height: 16vw;
        max-width: 97px;
        max-height: 57px;
        background: url(../images/sec08_content_02_sp.png) no-repeat center /contain;
    }

    .sec08_content.is_03 .is_content::after {
        top: -30px;
        left: -20px;
        z-index: 3;
        width: 25vw;
        height: 26vw;
        max-width: 90px;
        max-height: 94px;
        background: url(../images/sec01_icon_01.png) no-repeat center /contain
    }

    .sec08_content.is_01::before,
    .sec08_content.is_02::before {
        display: none;
    }

    .sec08_content {
        position: relative;
    }

    .sec08_text_name {
        position: absolute;
        font-weight: 500;
        font-size: 16px;
        letter-spacing: 0.05em;
        color: #fff;
        line-height: 1em;
    }

    .sec08_text_name.is_01 {
        top: 65px;
        left: 105px;
    }

    .sec08_text_name.is_02 {
        top: 70px;
        left: 67px;
    }

    .sec08_content.is_01,
    .sec08_content.is_02 {
        top: 0;
        left: 0;
        max-width: 310px;
        margin: 0 auto;
        width: 100%;
        height: auto;
    }

    .sec08_ttl02 {
        display: block;
        text-align: center;
        padding-left: 0;
        font-size: 24px;
        width: max-content;
        margin: 0 auto;
    }

    .sec08_ttl02::before,
    .sec08_ttl02::after {
        width: 18px;
        height: 47px;
    }

    .sec08_ttl02::before {
        left: -22px;
    }

    .sec08_ttl02::after {
        right: -18px;
    }

    .sec08_content.is_02 .sec08_ttl02 {
        padding-right: 15px;
    }

    .sec08_content.is_02 .sec08_ttl02::before {
        left: -22px;
    }

    .sec08_content.is_02 .sec08_ttl02::after {
        right: -10px;
    }

    .sec08_content.is_02 .sec08_txt {
        margin-bottom: 15px;
    }

    .sec08_txt {
        font-size: 14px;
        padding: 0;
    }

    .sec08_ttl02 .is_note {
        top: -3px;
        font-size: 16px;
    }

    .sec08_btn {
        margin: 0 auto;
    }

    .sec08_wrapper.is_02 .image {
        margin: 0;
    }

    .sec08_wrapper:not(:last-child) {
        margin-bottom: 40px;
    }

    .sec08_ttl {
        margin-bottom: 30px;
    }

    /*fix s08_wrapper*/
    .sec08_wrapper01 .sec08_ttl02::after{top: -4px;right: -24px}
    .sec08_wrapper01 .sec08_ttl02::before{top: -4px}
    .sec08_text_name.is_01{top: 50px}
    .sec08_content.is_03 .sec08_ttl02 {
        margin-bottom: 0;
    }

    /* sec09 */
    .sec09 {
        padding: 80px 0 0;
    }

    .sec09_wrapper,
    .sec09_wrapper2 {
        width: calc(100% - 30px);
        max-width: 560px;
        margin: 0 auto;
    }

    .sec09_wrapper {
        border-radius: 30px 30px 0 0;
    }

    .sec09_inner {
        flex-wrap: wrap;
    }

    .sec09_inner::before {
        top: -40px;
        left: 0;
        width: 35vw;
        height: 18vw;
        max-width: 124px;
        max-height: 65px;
    }

    .sec09_content,
    .sec09_image {
        width: 100%;
    }

    .sec09_content {
        padding-top: 50px;
        order: 2;
    }

    .sec09_wrapper2 {
        flex-wrap: wrap;
        border-radius: 0 0 30px 30px;
        overflow: initial;
    }

    .sec09_column {
        width: 100%;
        height: auto;
    }

    .sec09_ttl span.en {
        top: -25px;
        font-size: 28px;
    }

    .sec09_ttl span.jp {
        font-size: 24px;
    }

    .sec09_ttl::before {
        bottom: -15px;
        left: -100px;
        width: 80px;
        height: 71px;
    }

    .sec09_txt {
        padding-right: 0;
        font-size: 14px;
    }

    .sec09_btn {
        left: 0;
        margin-bottom: 30px;
    }

    .sec09_image {
        top: 0;
        order: 1;
        padding-top: 50px;
    }

    .sec09_column {
        padding: 30px 0;
    }

    .sec09_column .image {
        margin-bottom: 15px;
        display: flex;
        justify-content: center;
    }

    .sec09_ttl_02 {
        font-size: 28px;
        margin: 0 auto 10px;
    }

    .sec09_column .txt {
        padding: 0 15px;
        font-size: 14px;
    }

    .sec09_column .txt,
    .sec09_column .txt:first-child {
        margin-bottom: 25px;
    }

    .sec09_ttl_02 .is_note {
        font-size: 12px;
    }

    .sec09_wrapper2 .slick-prev{left: -14px;z-index: 2}
    .sec09_wrapper2 .slick-next{right: -1px;z-index: 2}

    /* sec10 */
    .sec10 {
        padding: 40px 0 0;
    }

    .sec10 .container::before,
    .sec10 .container::after,
    .sec10_wrapper::before {
        display: none;
    }

    .sec10_wrapper {
        width: 100%;
        max-width: 560px;
        margin: 0 auto 30px;
    }

    .sec10_ttl span.en {
        top: -40px;
        left: -60px;
        font-size: 42px;
    }

    .sec10_ttl span.jp {
        font-size: 24px;
    }

    .sec10_des {
        padding: 0 15px;
        font-size: 14px;
        margin-bottom: 25px;
    }

    .sec10_img_list {
        display: flex;
        justify-content: space-between;
        max-width: 560px;
        margin: 0 auto 40px;
        padding: 0 15px;
    }

    .sec10_img_list .image {
        width: 48%;
    }

    .sec10_image_sp {
        padding: 0 15px;
        max-width: 420px;
        margin: 0 auto;
    }

    /* sec11 */
    .sec11 {
        padding: 0;
    }

    .sec11_wrapper {
        margin-top: -45px;
        padding: 150px 0 40px;
        height: 100%;
        background-size: cover;
        background-image: url(../images/sec11_bg_sp.svg);
    }

    .sec11_inner {
        flex-wrap: wrap;
    }

    .sec11_column1,
    .sec11_column2 {
        width: 100%;
    }

    .sec11_column1 {
        padding-right: 0;
        margin-bottom: 40px;
    }

    .sec11_column1::before {
        bottom: auto;
        left: auto;
        top: -83px;
        right: 0;
        width: 30vw;
        height: 36vw;
        max-width: 108px;
        max-height: 130px;
    }

    .sec11_ttl span.en {
        top: -40px;
        left: -40px;
        font-size: 40px;
    }

    .sec11_ttl span.jp {
        font-size: 24px;
    }

    .sec11_content {
        width: 100%;
        padding: 0;
    }

    .sec11_txt {
        font-size: 14px;
        right: auto;
    }

    .sec11_column2 .image {
        position: relative;
        width: 47%;
        margin: 0 0 30px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

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

    .sec11_column2 .image.is_01 {
        top: auto;
        left: 5vw;
        order: 1;
    }

    .sec11_column2 .image.is_02 {
        bottom: inherit;
        left: auto;
        order: 3;
        top: -15vw;
        margin-bottom: 0;
    }

    .sec11_column2 .image.is_03 {
        bottom: -20vw;
        right: auto;
        order: 2;
    }

    .sec11_btn {
        margin-right: 0;
    }

    .sec11_column2 .image .is_name {
        position: relative;
        font-size: 16px;
    }

    .sec11_column2 .image.is_01 .is_name,
    .sec11_column2 .image.is_03 .is_name {
        bottom: auto;
        right: auto;
    }

    .sec11_column2 .image.is_02 .is_name {
        top: auto;
        right: auto;
    }

    /* sec12 */
    .sec12 {
        margin-top: -50px;
        padding: 40px 0 0;
    }

    .sec12::before {
        top: 40px;
        width: 90%;
        height: calc(100vw * 1380 / 1154);
    }

    .sec12::after {
        content: '';
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: -5;
        width: 90vw;
        height: calc(90vw * 1380 / 1024);
        background: url(../images/sec12_af.png) no-repeat center /contain;
    }

    .sec12_wrapper {
        flex-wrap: wrap;
        max-width: 560px;
        margin: 0 auto;
    }

    .sec12_column1,
    .sec12_column2 {
        width: 100%;
    }

    .sec12_column1 {
        padding-top: 70px;
        margin-bottom: 30px;
    }

    .sec12_column1::before {
        top: 0;
        left: auto;
        right: 0;
        width: 39vw;
        height: 18vw;
        max-width: 140px;
        max-height: 65px;
    }

    .sec12_ttl {
        margin: 0 auto 30px;
    }

    .sec12_ttl span.en {
        top: -35px;
        left: -70px;
        font-size: 42px;
    }

    .sec12_ttl span.jp {
        font-size: 24px;
    }

    .sec12_column1 .image {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        max-width: 420px;
        margin: 0 auto 20px;
    }

    .sec12_txt span {
        font-size: 14px;
    }

    .sec12_txt {
        margin-bottom: 25px;
    }

    .sec12_list {
        align-items: center;
        flex-direction: column;
        margin-bottom: 30px;
    }

    .sec12_list li:not(:last-child) {
        margin-bottom: 20px;
    }

    .sec12_wrapper2 {
        display: block;
        max-width: 560px;
        margin: 40px auto 20px;
    }

    .sec12_wrapper2 .image {
        width: 30%;
        max-width: 260px;
        padding: 0 10px;
    }

    .sec12_wrapper2 .image.is_01::before {
        bottom: -43px;
        left: -70px;
        width: 185px;
        height: 190px;
    }

    .sec12_wrapper2 .image.is_02::before {
        top: 25px;
        width: 118px;
        height: 112px;
    }

    .sec12_wrapper2 .image.is_03::before {
        bottom: -5px;
        right: -33px;
        width: 153px;
        height: 135px;
    }

    .sec12_inner01 {
        margin-bottom: 50px;
    }

    .sec12_list_banner {
        padding: 0px 15px 0 21px;
    }

    .sec12_list_banner::before {
        display: none;
    }

    /* sec13 */
    .sec13 {
        padding: 60px 0;
        background-size: cover;
        height: auto;
        background-image: url(../images/sec13_bg_sp.svg);
    }

    .sec13 .inner {
        position: relative;
    }

    .sec13 .inner .sec13_ttl {
        width: max-content;
        margin: 0 auto 20px;
        position: relative;
    }

    .sec13_ttl::before {
        content: '';
        position: absolute;
        top: -22px;
        left: -50px;
        width: 30vw;
        height: 18vw;
        max-width: 108px;
        max-height: 65px;
        background: url(../images/sec13_bf.png) no-repeat center /contain;
    }

    .sec13_ttl span.en {
        font-size: 38px;
    }

    .sec13_ttl span.jp {
        font-size: 24px;
        margin-top: 5px;
        line-height: 1.3em;
    }

    .sec13 .sec07_wrapper::before {
        display: none;
    }

    .sec13_txt {
        width: 100%;
        font-size: 14px;
        margin: 0 0 20px;
    }

    .sec13_btn {
        margin: 20px auto 0;
    }

    /*============ FOOTER ============*/
    footer {
        margin-bottom: 50px;
    }

    .ft_top {
        padding: 80px 0 40px;
        margin-top: -40px;
    }

    .ft_top_contact .h_contact_mail a {
        width: 250px;
        margin: 0 auto;
    }

    .ft_top_wrapper {
        flex-wrap: wrap;
        max-width: 560px;
        margin: 0 auto;
    }

    .ft_top .logo_top {
        width: 203px;
        position: relative;
        text-align: center;
        margin: 0 auto 15px
    }

    .ft_top .logo_top::after {
        display: inline-block;
        background: url('../images/logo.png') center /cover no-repeat;
        width: 203px;
        height: 53px;
        content: '';
        margin: 0 auto
    }

    .ft_top .logo_top img {
        display: none;
    }

    .ft_top .logo_top::before,
    .ft_top_contact::before {
        display: none;
    }

    .ft_top_contact {
        width: 100%;
        left: 0;
        padding: 15px 0 0;
        margin-bottom: 25px;
        border-top: 1px solid #CCCCCC;
    }

    .ft_top_contact .h_contact_tel {
        margin: 10px 0 18px;
    }

    .ft_top_contact .h_contact_tel .time {
        font-size: 13px;
    }

    .ft_top_contact .h_contact_mail {
        margin: 0 auto 30px;
    }

    nav .mv_calendar_top::before,
    .ft_top_wrapper .mv_calendar_top::before {
        display: none;
    }

    nav .mv_calendar,
    .ft_top_wrapper .mv_calendar {
        top: 0;
        left: 0;
        padding: 15px 15vw 0;
        border-top: 1px solid #CCCCCC;
        max-width: 100%;
        margin: 25px auto 0;
    }

    nav .mv_calendar {
        padding: 0 15px;
        border: none;
        margin-bottom: 25px;
    }

    nav .mv_calendar_top .image,
    .ft_top_wrapper .mv_calendar_top .image {
        top: -8px;
        left: 20px;
    }

    nav .mv_calendar_bottom::before,
    .ft_top .mv_calendar_bottom::before {
        display: none;
    }

    .ft_social {
        padding: 30px 0 40px;
        height: auto;
    }

    .ft_social_wrapper {
        flex-wrap: wrap;
        flex-direction: column;
    }

    .ft_social_txt {
        top: 0;
        padding-left: 0;
        margin: 0 auto 20px;
        font-size: 24px;
    }

    .ft_social_txt::before {
        bottom: 0;
        left: -32px;
        z-index: -1;
        width: 72px;
        height: 70px;
    }

    .ft_social_txt span.green {
        font-size: 110%;
    }

    .ft_social_btn {
        margin: 0 auto;
        align-items: center;
        flex-direction: column;
    }

    .ft_social_btn li:not(:last-child) {
        margin-right: 0;
        margin-bottom: 20px;
    }

    .ft_social_btn li a {
        width: 290px;
        height: 60px;
        font-size: 18px;
    }

    .ft_social_btn li a::before {
        top: 22px;
    }

    .ft_social .inner::before {
        width: 30vw;
        height: 18vw;
        bottom: -75px;
        right: 0;
        max-width: 108px;
        max-height: 65px;
    }

    .ft_calendar {
        padding: 40px 0;
    }

    .ft_calendar_wrapper {
        flex-wrap: wrap;
    }

    .ft_calendar_wrapper .column {
        width: 100%;
    }

    .ft_calendar_box {
        width: 100%;
        height: 300px;
    }

    .ft_calendar_wrapper .column:not(:last-child) {
        margin-right: 0;
        margin-bottom: 30px;
    }

    .ft_top_wrapper .mv_calendar_bottom2 {
        display: flex;
    }

    .ft_calendar_month {
        font-size: 28px;
    }

    .ft_calendar_month::before,
    .ft_calendar_month::after {
        width: 16px;
        height: 18px;
    }

    .ft_calendar_month::before {
        left: -20px;
    }

    .ft_calendar_month::after {
        right: -16px;
    }

    .ft_calendar_month span.small {
        font-size: 80%;
    }

    .ft_map {
        height: 300px;
    }

    /*   FOOTER BANNER */
    .ft_bottom {
        padding: 40px 0;
    }

    .ft_bnn {
        flex-direction: column;
    }

    .ft_bnn li {
        text-align: center;
    }

    .ft_bnn li:not(:last-child) {
        margin-bottom: 20px;
    }

    address::before {
        bottom: 20px;
        background-repeat: no-repeat;
        background-size: cover;
        height: 100%;
    }

    /* sp contact */
    .sp_contact {
        display: flex;
        justify-items: center;
        align-items: center;
        width: 100vw;
        height: 60px;
        position: fixed;
        left: 0;
        z-index: 99;
        bottom: -100%;
        transition: all 0.3s;
    }

    .sp_contact li {
        position: relative;
    }

    .sp_contact a.sweetlink {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .sp_contact .h_contact_tel {
        background-color: #fff;
        margin-bottom: 0;
    }

    .sp_contact .h_contact_mail{margin-top: 0;}
    .sp_contact .h_contact_mail a {
        border-radius: 0;
        padding: 0;
    }

    .sp_contact.show {
        bottom: 0;
    }

    .sp_contact li {
        width: 50%;
        height: 100%;
    }

    .sp_contact li a {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        font-size: 14px;
    }

    .sp_contact li a span {
        position: relative;
        padding-left: 25px
    }

    .sp_contact li a span::before {
        content: "";
        position: absolute;
        width: 20px;
        height: 20px;
        left: -5px;
        top: calc(50% - 10px)
    }

    .sp_contact_tel {
        background-color: var(--mcolor)
    }

    .sp_contact_tel a span::before {
        background: url(../images/ic_h_tel_wh.png) no-repeat center /20px
    }

    .sp_contact .h_contact_tel .time {
        display: none;
        position: relative;
        top: -5px;
    }

    .sp_contact_mail {
        background-color: var(--blue)
    }

    .sp_contact_mail a span::before {
        background: url(../images/ic_h_mail.png) no-repeat center /20px;
    }

    .sp_contact .h_contact_mail a img.mail {
        display: inline-block;
        margin-top: 3px;
        width: 18px;
        display: none;
    }

    .sp_contact .h_contact_mail a img.icon {
        display: inline-block;
        margin-top: 3px;
        display: none;
    }

    .sp_contact .h_contact_mail span.txt {
        top: 0;
        padding-left: 0;
        margin: 0 10px;
        text-align: center;
    }

    .sp_contact .h_contact_link {
        background-color: var(--mcolor);
    }
    .sp_contact .h_contact_link span.txt {
        text-align: center;
        line-height: 1.25em;
        padding-left: 0;
    }

    /* to top */
    .to_top {
        width: 40px;
        height: 40px;
        right: 15px;
        bottom: 85px;
    }

    .to_top::before {
        width: 10px;
        height: 10px;
        left: 10px;
        top: 10px
    }

    .to_top::after {
        width: 10px;
        height: 10px;
        left: 10px;
        top: 20px
    }

    .to_top span.jp {
        font-size: 10px;
        left: 0;
    }

    .to_top_btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 30px;
    }

    /*============ END 750 ============ */
    .sec14::after {
        bottom: -1px;
        height: calc(100vw * 160 / 2000);
        background: url(../images/sec06_bg.png) no-repeat center /100% 100%;
    }

    .sec14 {
        padding-bottom: 80px;
    }

    .sec14 .sec04_bottom_ttl {
        margin-bottom: 30px;
    }

    .sec14 ul {
        margin: 0 15px;
        max-width: calc(100% - 30px);
    }

    .sec14 ul li {
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
        padding: 0 20px;
    }

    .sec14 ul li .txt {
        width: 100%;
    }

    .sec14 ul li p {
        font-size: 20px;
        line-height: 1.5em;
        margin-top: 15px;
    }

    .sec14 ul li .img {
        margin-right: 0;
    }

    .sec06_slick {
        padding: 0;
        margin-bottom: 90px;
    }

    .sec06_slick .sec06_pick .sec06_pick_des {
        padding-right: 0;
    }

    .sec06_slick .sec06_pick .sec06_pick_des {
        order: 1;
    }

    .sec06_slick .sec06_pick .center {
        order: 2;
    }

    .sec05_bottom_ttl .is_ttl.ttl_bottom {
        top: 15px;
    }

    .sec14 .sec14_first ul li {
        margin-bottom: 0;
    }

    /* .sec06_slick .sec06_pick{margin-bottom: 0;}
    .sec06_slick .sec06_pick .center img{width: 222px;}


    .sec06_slick .sec06_pick .sec06_ttl{font-size: 24px;line-height: 1.6;}
    .sec06_slick .sec06_pick{display: flex; flex-direction: column;align-items: center;}
    .sec06_slick .sec06_pick .sec06_pick_des{order: 1;}
    .sec06_slick .sec06_pick .center{order: 2;}
    .sec06_slick .slick-prev{left: -5px;}
    .sec06_slick .slick-next{right: 5px;} */
    .sec15_list {
        max-width: 400px;
        margin: 0 auto 35px;
    }

    .sec15_list li:not(.big) {
        width: 50%;
        margin-top: 30px;
    }

    .sec15_list li .en {
        font-size: 14px;
    }

    .sec15_list li .ja {
        font-size: 13px;
    }

    .sec15_list li .num {
        font-size: 15px;
        line-height: 1em;
    }

    .sec15_list li a::before {
        width: 180px;
        height: auto;
        aspect-ratio: 31/10;
        top: calc(50% - 30px);
        left: calc(50% - 90px);
    }

    .sec15_slogan {
        flex-direction: column;
        max-width: 500px;
        margin: 0 auto;
    }

    .sec15_slogan li {
        font-size: 20px;
        padding: 2vw 5vw;
    }

    .sec15_slogan li:not(:last-child) {
        margin-bottom: 20px;
    }

    .sec15_slogan:not(:last-child) {
        margin-bottom: 30px;
    }

    .idxsec05_box {
        flex-direction: column
    }

    .idxsec05_box_btn {
        flex-wrap: wrap;
        justify-content: center;
        min-width: 100%;
    }

    .idxsec05_box_info {
        padding: 0
    }

    .idxsec05_boximg {
        margin: 30px auto 40px;
        width: 100%;
        max-width: 400px
    }

    .idxsec05_boximg.box_pc {
        display: none
    }

    .idxsec05_boximg.box_sp {
        display: block
    }

    .idxsec05_boximg:before {
        width: 90px;
        height: 85px;
        top: 0;
    }

    .idxsec05_boximg:after {
        width: 100%;
        height: 110%;
        right: -10%;
    }

    .idxsec05_box_btnttl {
        width: 180px;
        height: 45px;
        font-size: 12px;
        margin: 0 auto;

    }
    #idxsec05_box04-i .idxsec05_box_btnttl{background: #ED8599;color: #fff}
    #idxsec05_box04-i .idxsec05_slider li:last-child .idxsec05_box_btnttl{font-size: 10px}
    #idxsec05_box01-i .idxsec05_box_btnttl .sp_big{font-size: 130%}
    .idxsec05_box_btnttl.f_sm{font-size: 14px}
    .idxsec05_slider{display: flex;flex-wrap: wrap;justify-content: center;}

    .footer_right a.main_btn.is_btn1 {
        width: 33vw;
        height: 60px;
        border-radius: 0;
        text-align: center;
        padding: 0 10px 0 0;
        box-shadow: none;
        font-size: 14px;line-height: 1.25em;
    }

    .footer_right02 a.main_btn.is_btn1 {
        width: 33vw;
        height: 60px;
        border-radius: 0;
        text-align: center;
        padding: 0 10px 0 0;
        box-shadow: none;
        font-size: 14px;line-height: 1.25em;
    }

    .footer_right a.main_btn.is_btn1::before{right: 0;left: inherit;}

    .footer_right02 a.main_btn.is_btn1::before{right: 0;left: inherit;}

    .sec05_bottom_ttl .is_ttl.ttl_bottom {
        line-height: 1.6;
    }

    .sec05_bottom_ttl .is_ttl.ttl_bottom .min {
        font-size: 21px;
    }

    .idxsec05_box_info .idxsec05_box_ttl .en {
        font-size: 25px;
    }

    .idxsec05_box_info .idxsec05_box_ttl .ja {
        font-size: 25px;
    }

    .idxsec05_box_info .idxsec05_box_ttl .num {
        font-size: 30px;
    }

    .sec17 {
        padding: 40px 0 0;
    }

    .idxsec05_box_btnttl.big {
        width: 180px;
        height: 65px;
    }

    .ft_top{margin-top: 0;padding-top: 0;}
    #index .ft_top{margin-top: 30px;}
    .ft_top_contact{margin-bottom: 0;}
    .ft_top .logo_top img{display: block;}
    .ft_top .logo_top::after{display: none;}
    .ft_top_recruit{width: 100%;}
    .ft_top_recruit .logo_top{margin-bottom: 20px;}

    footer .box_contact_footer{
        padding-bottom: 30px;
        margin-bottom: 50px;
    }
    .frame01, .frame02 {
        width: 100%;
        padding: 10px;
    }
.sec_opo .tabs-nav {
  flex-wrap: wrap;
	margin-bottom: 10px;
}
	 .sec_opo .tabs-nav li {
    width: 100%;
    text-align: center;
		 margin-right: 0;
  }
	 .tabs-nav li a {
    width: 100%;
    max-width: 400px;
		 margin: 0 auto 20px;
	}

    .box_line {
        margin: 20px 0 0;
        flex-direction: column;
        gap: 25px;
    }
    .box_line .tag_line {
        font-size: 16px;
        min-width: unset;
        width: 100%;
        max-width: 400px;
        border-width: 3px;
    }
    .box_line .tag_line::before {
        width: 0;
        height: 0;
        border-left: 7px solid transparent;
        border-right: 7px solid transparent;
        border-top: 18px solid #06C755;
        border-bottom: unset;
        top: unset;
        bottom: -18px;
        right: 50%;
        transform: translateX(50%);
    }
    .box_line .btn_line {
        text-align: center;
    }
    .box_line .btn_line img {
        width: 80%;
    }

    .h_contact_line {
        max-width: 320px;
        width: 100%;
        margin-top: 40px;
    }

    .h_contact_line a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 70px;
        gap: 20px;
        border: 3px solid #06C755;
        background: #fff;
        border-radius: 100px;
        box-shadow: 4px 4px 0 rgb(130 59 34 / 20%);
    }

    .h_contact_line a .txt {
        text-align: center;
        line-height: 1.5;
        font-weight: bold;
        color: #06C755;
        font-size: 14px;
    }

    .h_contact_line a .img {
        width: 140px;
    }

    .h_contact_line a .img img {

    }
}

/* screen-max:460px */
@media screen and (max-width: 440px) {
    .sp440 {
        display: block !important;
    }

    .ft_bnn li {
        width: 100%;
    }

    .sec05_bottom_ttl .is_ttl.ttl_bottom .min {
        font-size: 18px;
    }

    .sec06_pick .sec06_ttl::before {
        transform: scale(0.5);
        left: -27px;
    }

    .mv h2,
    .sec03_content .ttl_bottom,
    .sec04_top_ttl,
    .sec04_bottom_ttl,
    .sec05_top_ttl_02,
    .sec13_ttl {
        font-size: 5.35vw;
        letter-spacing: -0.05em;
    }

    .mv_calendar::after {
        bottom: -20px;
    }

    .sec01_ttl::before {
        top: -50px;
        left: 0;
    }

    .sec15_slogan li {
        font-size: 4vw;
    }

    .sec02_item {}

    .sec02_item .image {
        width: 100%;
        top: inherit;
        height: auto;
        aspect-ratio: 4/5;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .sec02_item .image img {
        width: auto;
        height: auto;
        max-height: 100%;
    }

    .sec02_item .sec02_content {
        width: 100%;
    }

    .sec05_bottom_ttl .is_ttl {
        font-size: 6vw;
    }

    .sec06_wrapper,
    .sec06_wrapper.flex_end {
        justify-content: space-between;
    }

    .sec06_column,
    .sec06_column2 {
        width: 45%;
    }

    .sec07_column {
        max-width: 100%;
        width: 100%;
        margin: 0 auto;
    }
    .sec02_wrapper .slick-prev,
    .sec02_wrapper .slick-next{top: 43%}

    .sec12_wrapper2 {
        flex-direction: column;
        align-items: center;
    }

    .sec12_wrapper2 .image {
        width: 60vw;
        margin: 0 auto;
    }

    .sec12_wrapper2 .image.is_02::before {
        top: 35px;
    }

    .sec12_inner01 {
        margin-bottom: 30px;
    }

    .mv_calendar_bottom::before {
        bottom: -15px;
        left: -50px;
    }

    .mv_calendar {
        margin: 0 auto;
        padding: 100px 40px 15px;
    }

    .mv_calendar_bottom::before {
        z-index: -1;
    }

    .footer_right a.main_btn.is_btn1,
    .sp_contact {
        height: 50px;
    }

    .footer_right02 a.main_btn.is_btn1,
    .sp_contact {
        height: 50px;
    }

    .sp_contact .h_contact_tel .tel {
        font-size: 14px;
    }

    .sp_contact .h_contact_mail span.txt {
        font-size: 14px;
        margin: 0 4px;
    }

    .sec03_image_icon.is_02 {
        margin-bottom: 135px;
    }

    .ft_top_wrapper .mv_calendar {
        padding: 20px 0 0;
    }

    .ft_top_wrapper .mv_calendar_top .image {
        top: -9px;
        left: auto;
        margin: 9px 0 0 25px;
    }

    .ft_top .mv_calendar_top {
        flex-direction: initial;
        justify-content: flex-start;
    }

    .ft_top .mv_calendar_bottom {
        text-align: left;
        font-size: 13px;
        padding-left: 0;
    }

    .sec12_list_banner {
        padding: 0 15px 0 17px;
    }

    .sec04_bottom_image {
        left: -30vw;
        width: auto;
    }

    .sec04_bottom_image img {
        width: 110vw;
        height: auto;
        max-width: inherit;
    }

    .mv_calendar_top .image {
        width: 180px;
        margin-left: -30px;
    }

    .mv_calendar_top .txt {
        flex-shrink: 0;
    }

    .mv_calendar_top .txt span.big,
    .mv_calendar_top .txt span.time {
        font-size: 3.5vw;
        margin-bottom: 0;
    }

    .mv_calendar_top .txt span.big {
        top: -6px;
        left: -8px;
    }

    nav .mv_calendar_top .txt span.big,
    .ft_top .mv_calendar_top .txt span.big {
        top: -8px;
    }

    nav .mv_calendar_top .txt span.time,
    .ft_top .mv_calendar_top .txt span.time {
        top: 0;
    }

    .mv_calendar_bottom {
        font-size: 11px;
    }

    .sec06 {
        padding: 11px 0 80px;
    }

    .sec07 {
        padding: 110px 0 30px;
        margin-top: -100px;
    }

    .mv_calendar_top .txt span.time {
        position: relative;
        top: 1px;
    }

    .mv_calendar_bottom {
        padding-left: 15px;
    }

    nav .mv_calendar_top,
    nav .mv_calendar_bottom,
    nav .mv_calendar_bottom2,
    .ft_top .mv_calendar_top,
    .ft_top .mv_calendar_bottom,
    .ft_top .mv_calendar_bottom2 {
        max-width: 100%;
        margin: 0 auto;
        width: 100%;
    }

    nav .mv_calendar_bottom {
        padding: 10px 0 0;
    }

    .mv_calendar_top .txt {
        position: relative;
        left: -10px;
    }

    nav .mv_calendar_top .txt,
    .ft_top .mv_calendar_top .txt {
        left: 0;
    }
	
}

/* screen-max: 375 */
@media screen and (max-width: 440px) {
    .idxsec05_box_btnttl.big{font-size: 2.6vw}
    .graduation-wrapper .list-item .ttl-item{
        top: -35px;
        width: 250px;
        font-size: 14px;
        height: 60px;
    }
    .graduation-wrapper .list-item .item{ padding-top: 40px;}
}

/* screen-max: 375 */
@media screen and (max-width: 375px) {
    .idxsec05_box_btn li {
        min-width: 150px;
        margin: 0 5px 10px;
    }

    .idxsec05_box_btn li a {
        display: block;
        width: 100%;
    }

    .idxsec05_slider,
    .idxsec05_box_btnttl,
    .idxsec05_box_btnttl.big {
        width: 100%;
    }
    #idxsec05_box04-i .idxsec05_slider li:last-child .idxsec05_box_btnttl,
    .idxsec05_box_btnttl.f_sm,
    .idxsec05_box_btnttl{font-size: 3vw}
}

/* screen-max: 360px */
@media screen and (max-width: 380px) {
	.box_qa03 {
		padding: 0 10px;
	}
	
	.group-contact .item-contact.btn-more a {
		font-size: 16px;
		padding-left: 20px;
	}
    .tabs-nav li a {
        font-size: 12px
    }

    .sec15_list li {
        zoom: 0.9;
    }

    .ft_top_wrapper .mv_calendar {
        padding: 20px 0 0 10px;
    }

    .mv_calendar {
        padding: 120px 15px 15px;
    }

    .ft_top .mv_calendar_top .txt span.big {
        top: -10px;
    }

    .ft_top .mv_calendar_top .txt span.time {
        top: 2px;
    }
}

@media screen and (max-width: 360px) {
	.h4-ttl:after {
		width: 80px;
        height: 100%;
        background-size: contain;
	}
	.box_common02 .ttl span > span:after {
		width: 80%;
		left: 50%;
		transform: translateX(-50%);
	}
	.box_common02 .ttl span > span {
		display: block;
	}
	.sp360 {
		display: block !important;
	}
	.under main .qa-wrapper .ttl-gradient {
		padding: 30px 0 0;
	}
	.group-contact .btn-more a {
		padding-left: 20px;
		font-size: 20px;
	}
	.group-contact .item-contact.btn-more a:after {
		left: 25px;
	}
	.group-contact .item-contact.btn-more a {
		font-size: 16px;
		padding-left: 20px;
	}
	.btn-more a {
		font-size: 15px;
	}
    .sec15_list li {
        zoom: 0.8;
    }
	.under main h3.ttl-zone {
		padding: 0 5px;
	}
	.under main h3.ttl-zone::before {
		left: 0;
		top: -20px;
		width: 32px;
		height: 51px;
		background-size: contain;
	}
	.under main h3.ttl-zone::after {
		width: 32px;
		height: 51px;
		bottom: auto;
		top: -15px;
		right: 0;
		background-size: contain;
	}
}


@media screen and (max-width: 750px) {
.sec01 .box_ytb {
    margin-top: 35px;
}
}

@media screen and (max-width: 750px){
    .h_contact_mail span.txt{
        font-size: 15px;
    }
    
    .h_contact_mail a{
        width: 320px;
    }
}
@media screen and (max-width: 440px) {
    .sp_contact .h_contact_mail span.txt {
        font-size: 13px;
    }
}