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

    html,
    body {
        font-size: min(4.27vw, 16px);
    }

    html.nav-open {
        overflow: hidden;
    }

    :root {
        scroll-padding: 80px;
        scroll-behavior: smooth;
    }

    section {
        padding: min(10.13vw, 120px) 0 min(18.67vw, 120px);
    }

    h2 {
        margin-bottom: min(5.33vw, 60px);
        font-size: min(5.87vw, 30px);
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    /******************************** 
ヘッダー 
********************************/
    .header_logo {
        width: 100px;
        border-radius: 0 0 30px 0;
        max-width: 100px;
        width: 28%;
    }

    .header_logo img {
        position: relative;
        z-index: 999;
    }

    .sp_nav_line {
        display: block;
        width: min(8vw, 30px);
        aspect-ratio: 3 / 2;
        z-index: 999;
        position: relative;
        margin-right: 20px;
        cursor: pointer;
    }

    .sp_nav_line span {
        content: "";
        display: inline-block;
        width: 100%;
        height: 2px;
        background: #fff;
        border-radius: 4px;
        position: absolute;
        top: 50%;
        left: 0;
        translate: 0 -50%;
        transition: all .3s;
        filter: drop-shadow(0px 0px 2px #00000067);
        will-change: filter;
    }

    .sp_nav_line span::before,
    .sp_nav_line span::after {
        content: "";
        display: inline-block;
        width: 100%;
        height: 2px;
        background: #fff;
        border-radius: 4px;
        position: absolute;
        transition: all .3s;
    }

    .sp_nav_line span::before {
        translate: 0 9px;
    }

    .sp_nav_line span::after {
        translate: 0 -9px;
    }

    .sp_nav_line.open span {
        transform: rotate(45deg);
        transform-origin: center center 0;
    }

    .sp_nav_line.open span::before {
        opacity: 0;
    }

    .sp_nav_line.open span::after {
        opacity: 1;
        translate: 0;
        transform: rotate(-90deg);
    }

    .header_nav {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100dvh;
        padding: 0;
        translate: 100% 0;
        transition: all .3s;
    }

    .header_nav.open {
        translate: 0;
    }

    .header_nav ul {
        width: 100vw;
        height: 100dvh;
        border-radius: 0;
        filter: none;
        background-image: linear-gradient(#94da86, #3ab483);
        flex-direction: column;
        font-size: 36px;
        color: #fff;
        row-gap: 1em;
        justify-content: flex-start;
        padding: 110px 40px 40px;
    }

    .header_entry {
        display: inline-block;
        font-size: 0.88em;
        padding: 0.3em 0.8em;
        background: #FFA200;
    }

    /******************************** 
キービジュアル
********************************/

    section.kv_section {
        padding-top: 100px;
        align-content: baseline;
        min-height: 830px;
    }

    .kv_main_man img {
        object-position: center;
    }

    section.kv_section .section_inner {
        width: 82%;
    }

    .kv_content {
        margin: 0 auto;
        left: auto;
        translate: 0;
        width: 85%;
        max-width: 390px;
    }

    .banner {
        max-width: 100px;
        width: 80%;
        bottom: 10px;
        right: 10px;
    }

    /******************************** 
お悩み
********************************/
    .worries_section h2 {
        max-width: 400px;
    }

    .worries_wrap {
        row-gap: min(4.27vw, 30px);
    }

    .worries_item {
        width: 47%;
    }

    .worries_item:nth-of-type(2),
    .worries_item:nth-of-type(5) {
        translate: 0;
    }

    /******************************** 
メリット
********************************/
    .merit_section h2 {
        width: 90%;
        max-width: 350px;
    }

    .merit_item,
    .merit_item:nth-of-type(2n) {
        flex-direction: column-reverse;
        row-gap: 14px;
    }

    .merit_item:not(:first-child) {
        margin-top: min(5.33vw, 50px);
    }

    .merit_img_wrap {
        width: 100%;
    }

    .merit_img {
        width: 100%;
        translate: 0;
        position: relative;
    }

    .merit_content {
        width: 100%;
        height: auto;
        padding: 1.875em 1.5em;
    }

    .merit_item:nth-of-type(2n) .merit_content {
        padding: 1.875em 1.5em;
    }

    .merit_content h3 {
        font-size: min(4.27vw, 26px);
        position: relative;
        padding-left: 4em;
    }

    .merit_content h3 span {
        height: 100%;
        aspect-ratio: 1 / 1;
        position: absolute;
        top: 50%;
        left: 0;
        translate: 0 -50%;
    }

    .merit_content h3 span img {
        object-fit: contain;
    }

    .merit_number {
        display: none;
    }

    a.entry_btn {
        margin: min(10.67vw, 80px) auto 0;
    }

    /******************************** 
専門家像とは
********************************/
    .about_section {
        background: none;
        padding: 0;
    }

    .about_sp_top {
        background: url(../images/about-top-sp.png) no-repeat;
        background-size: cover;
        background-position: center;
        padding: min(10.13vw, 120px) 0;
    }

    .about_section h2 {
        width: 80%;
        max-width: 450px;
        margin-bottom: min(7.33vw, 60px);
    }

    .about_section h2::before {
        width: 110%;
        height: 110%;
        filter: blur(20px);
        border-radius: 0px;
    }

    .about_item {
        width: 80%;
        padding: 0;
        margin: 0 auto;
    }

    .about_item h3 {
        font-size: min(5.87vw, 22px);
        margin-bottom: 1em;
        height: auto;
    }

    .about_item p {
        line-height: 1.8;
        font-weight: 400;
    }

    .about_item p::before {
        width: 120%;
        height: 110%;
        filter: blur(24px);
        border-radius: 0px;
    }

    .about_sp_bottom {
        background: url(../images/about-bottom-sp.png) no-repeat;
        background-size: cover;
        background-position: center;
        padding: min(10.13vw, 120px) 0 min(18.67vw, 120px);
    }

    /******************************** 
講師
********************************/

    .instructor_section h2 {
        font-size: min(4.5vw, 22px);
    }

    /******************************** 
日程
********************************/
    .overview_section {
        padding-bottom: 0;
    }

    .overview_section h2 {
        width: 100%;
        max-width: 500px;
    }

    .overview_item {
        border-radius: 10px;
    }

    .overview_item_top {
        font-size: min(4.8vw, 18px);
        padding: 1em;
        line-height: 1.5;
        border-radius: 10px 10px 0 0;
    }

    .overview_item_bottom {
        flex-direction: column;
        padding: 10px 14px 30px;
    }

    .info_date_wrap {
        width: 100%;
        position: relative;
    }

    .info_date_title,
    .info_date,
    .info_time {
        width: 56%;
        text-align: center;
        justify-content: center;
    }

    .info_date_title {
        font-size: min(3.73vw, 14px);
    }

    .info_date_wrap img.sp {
        position: absolute;
        left: 60%;
        top: 50%;
        translate: 0 -50%;
        width: 40%;
        height: 64%;
        object-fit: contain;
        object-position: center;
    }

    .info_date p {
        font-size: min(11.73vw, 40px);
    }

    .info_youbi {
        font-size: min(3.2vw, 12px);
    }

    .info_time {
        font-size: min(7.47vw, 30px);
        margin-top: 4px;
    }

    .info_content_wrap {
        width: 100%;
        margin-top: 20px;
    }

    .info_content_title {
        font-size: min(4.27vw, 16px);
    }

    .info_content_wrap li {
        font-size: min(3.73vw, 16px);
    }

    .info_list_wrap {
        flex-direction: column;
    }

    .info_list_wrap .info_list {
        width: 100%;
    }

    .info_detail {
        border-radius: 10px;
        width: 100%;
        margin: min(9.6vw, 60px) auto;
        padding: 5% 4%;
    }

    .info_detail th {
        font-size: min(3.73vw, 24px);
    }

    .info_detail td {
        font-size: min(4.27vw, 30px);
    }

    .info_detail td.seminar_price {
        font-size: min(5.33vw, 30px);
    }

    .info_detail p.line_text {
        font-size: min(3.2vw, 16px);
    }

    .movie_wrap h3 {
        width: 80%;
        max-width: 350px;
    }

    .movie_sp_bg {
        background: #fff;
        width: 100%;
        padding: min(10.13vw, 120px) 0 min(18.67vw, 120px);
    }

    /******************************** 
受講者の声
********************************/
    .review_section h2 {
        width: 70%;
        max-width: 350px;
        margin-bottom: min(1.33vw, 60px);
    }

    .splide {
        width: 95%;
    }

    .splide__arrows {
        display: none;
    }

    .splide__slide p {
        font-size: min(3.73vw, 14px);
        padding: 1.5em;
    }

    .your-class-pagination li {
        margin-left: 5px;
        margin-right: 5px;
    }

    .your-class-page {
        height: 10px;
        width: 10px;
        margin-top: 0;
    }

    .review_section a.entry_btn {
        width: 74%;
    }

    /******************************** 
セミナー受講特典
********************************/
    .benefit_section h2 {
        width: 90%;
        max-width: 350px;
    }

    .benefit_section h2 .benefit-title-box {
        height: 60%;
        translate: 50% 10%;
    }

    .benefit_item h3 {
        font-size: min(4.27vw, 16px);
    }

    /******************************** 
よくある質問
********************************/
    .qa_section {
        padding-bottom: min(24vw, 180px);
    }

    .question {
        padding: 0.8em 1em;
    }

    .accordion {
        font-size: min(3.73vw, 16px);
        line-height: 1.5;
    }

    .answer_inner {
        padding: 0.8em 1em;
    }

    /******************************** 
エントリー
********************************/
    .entry_section {
        border-radius: 20px;
        margin-top: -20px;
    }

    table.form_table {
        border-radius: 0;
    }

    table.form_table th,
    table.form_table td {
        padding: 0;
    }

    table.form_table th {
        background: transparent;
        width: 100%;
        display: block;
        padding: 1.5em 0 0.6em;
    }

    table.form_table td {
        width: 100%;
        display: block;
    }

    table.form_table th.text_top {
        padding-top: 1.5em;
    }

    p.survey_text span {
        display: block;
        margin-top: 0.5em;
    }

    .survey_check {
        flex-wrap: wrap;
    }

    .survey_check span.mwform-checkbox-field.horizontal-item {
        width: 100%;
        margin-bottom: 0.5em;
    }

    .survey_check:last-of-type {
        margin-top: 0;
    }

    .survey_check .survey-text-box {
        height: 6em;
    }

    .survey_other_text {
        text-align: left;
    }

    .entry_bg {
        bottom: 40%;
        right: 6px;
        width: 80%;
    }

    .mw_wp_form.mw_wp_form_complete .entry_bg {
        bottom: 10%;
    }

    .mw_wp_form.mw_wp_form_complete p {
        line-height: 1.5;
    }

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

    /******************************** 
フッター
********************************/
    footer {
        padding-top: 40px;
    }

    .footer_inner {
        flex-direction: column;
    }

    .footer_logo {
        max-width: 90px;
        width: 100%;
        margin: 0 auto;
    }

    .footer_nav {
        flex-direction: column;
        align-items: center;
        gap: 1em;
        font-size: min(4.27vw, 16px);
        margin: 30px auto 1em;
    }

    .footer_nav ul {
        text-align: center;
    }

    .footer_nav ul li {
        display: inline-block;
    }

    .footer_nav ul li:not(:first-of-type) {
        margin-top: 0;
        margin-left: 1em;
    }

    .footer_nav ul:nth-of-type(2) li:last-of-type {
        display: block;
        margin-top: 2em;
        margin-left: 0;
    }

    p.copy_right {
        font-size: min(3.2vw, 16px);
    }

    /******************************** 
プライバシーポリシー
********************************/
    .sub_page {
        margin-top: min(18.67vw, 145px);
    }

    .sub_page h3 {
        font-size: min(4.8vw, 24px);
    }

    .sub_page p,
    .sub_page address {
        font-size: min(3.73vw, 16px);
    }

    .sub_page .entry_bg {
        bottom: auto;
        top: 100px;
    }

    /******************************** 
特定商取引法に基づく表記
********************************/
    .regulation_section table th,
    .regulation_section table td {
        width: 100%;
        display: block;
        text-align: left;
    }

    .regulation_section table th {
        border-bottom: none;
        padding-bottom: 0;
    }

    .regulation_section table td {
        padding-top: 0.5em;
    }

}

@media screen and (max-width:600px) {

    /******************************** 
セミナー受講特典
********************************/
    .benefit_item {
        width: 100%;
    }

    /******************************** 
お申込みの流れ
********************************/
    .flow_section .section_inner {
        width: 100%;
    }

    .flow_section h2 span {
        margin-bottom: 1em;
    }
}

@media screen and (max-width:500px) {

    /******************************** 
お悩み
********************************/
    .worries_wrap {
        flex-direction: column;
        align-items: center;
    }

    .worries_item {
        width: 90%;
        max-width: 440px;
    }




}