.sp440,
.sp425 {
    display: none
}

@media screen and (min-width: 1921px) {
    .sec05_box_sub {
        justify-content: center;
    }

    .sec05_tab li.active a:after {
        bottom: -45px;
    }

    .sec03 .inner {
        max-width: 1920px;
    }

    .sec03_ttl_big:before {
        position: absolute;
        content: "";
        width: 4000px;
        height: 100%;
        left: calc(50% - 2000px);
        top: 0;
        background: #414141;
    }
}

@media screen and (min-width: 751px) {
    .sp {
        display: none !important
    }

    /* NAV */
    .h_box {
        min-width: calc(var(--container) + 30px);
    }

    .hamburger {
        display: none;
    }

    nav {
        width: 908px;
        padding: 0 40px 0 0;
        margin-top: 0;
        margin-bottom: -10px;
    }

    nav .inner {
        width: 100%;
        padding: 0;
    }

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

    .nav_list>li>a,
    .nav_list>li>.hook {
        display: flex;
        align-items: center;
        position: relative;
        font-weight: 700;
        font-size: 18px;
    }

    .nav_list>li.parent {
        position: relative;
        padding-right: 18px;
    }

    .nav_list>li.parent:before,
    .nav_list>li.parent:after {
        position: absolute;
        content: "";
        border-radius: 5px;
        background: #FC5B3E;
        right: -2px;
        transition: all .3s;
    }

    .nav_list>li.parent:before {
        width: 15px;
        height: 3px;
        top: 18px;
    }

    .nav_list>li.parent:after {
        width: 3px;
        height: 14px;
        top: 13px;
        right: 4px;
    }

    .nav_list>li.parent>.hook {
        cursor: default;
        padding-bottom: 20px;
    }

    .nav_list>li.parent:hover>.hook {
        color: var(--mcolor);
    }

    .nav_list>li.parent:hover .sub {
        opacity: 1;
        visibility: visible;
    }

    .nav_list>li.parent:hover:after {
        transform: rotate(90deg);
        opacity: 0;
    }

    .sub {
        position: absolute;
        z-index: 1;
        transition: all .3s;
        top: 100%;
        left: calc(50% - 598px);
        width: 1500px;
        height: 400px;
        border-radius: 20px;
        background: #fff;
        border: 6px solid #fc5b3e;
        box-shadow: 4px 7px 0px rgba(87, 48, 18, 0.32);
        display: flex;
        opacity: 0;
        visibility: hidden;
    }

    .sub.sub_sm {
        width: 270px;
        left: calc(50% - 135px);
        padding: 25px;
        height: auto;
    }

    .sub.sub_sm li {
        line-height: 1.4;
    }

    .sub.sub_sm li:not(:last-child) {
        margin-bottom: 15px;
    }

    .sub.sub_sm li a {
        position: relative;
        padding-left: 15px;
        display: inline-block;
        font-size: 16px
    }

    .sub .nv_tt {
        font-weight: bold;
        font-size: 40px;
        color: #000;
        width: 364px;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }

    .nav_sub_cen:before,
    .nav_sub_cen:after {
        position: absolute;
        content: "";
        width: 1px;
        height: 340px;
        background: #BCBCBC;
        top: 0;
    }

    .nav_sub_cen:before {
        left: 0;
    }

    .nav_sub_cen:after {
        right: -2px;
    }

    .sub .wrap {
        display: flex;
        padding: 24px 15px 15px 0;
    }

    .nav_sub_cen {
        margin-right: 30px;
        padding-left: 31px;
        position: relative;
        padding-right: 38px;
    }

    .nav_sub {
        width: 700px;
        height: 160px;
        border-radius: 5px;
        padding: 20px 20px 29px 30px;
    }

    .nav_sub ul {
        display: flex;
        justify-content: space-between;
    }

    .nav_sub ul li {
        display: flex;
        flex-direction: column;
        align-items: center;
        height: 70px;
        width: 200px;
    }

    .nav_sub ul li a {
        border-radius: 5px;
        background: #fff;
        box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.2);
        width: 100%;
        height: 100%;
        position: relative;
        font-size: 18px;
        letter-spacing: -0.05em;
        color: #000;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        padding-top: 10px;
    }

    .nav_sub ul li a .sm {
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
        top: -14px;
        background: var(--mcolor);
        text-align: center;
        color: #fff;
        font-weight: 900;
        font-size: 14px;
        width: 130px;
        height: 25px;
        border-radius: 12.5px;
        line-height: 25px;
        letter-spacing: 0.01em;
    }

    .nav_sub02.nav_sub ul li a .sm {
        background: #FFD500;
        color: #191919;
    }

    .nav_sub02.nav_sub.nav_sub02 ul li:nth-child(2) a .sm {
        width: 150px;
    }

    .nav_sub02.nav_sub ul li a .sm:before {
        background: #FFD500;
    }

    .nav_sub ul li a .xsm {
        font-size: 13px;
    }

    .nav_sub01 {
        background: #ffebd4;
        margin-bottom: 20px;
    }

    .nav_sub02 {
        background: #fbefcc;
    }

    .nav_sub_tt {
        font-weight: bold;
        font-size: 20px;
        color: #000;
        margin-bottom: 30px;
        line-height: 1;
    }

    .nav_right li a {
        background: url("../images/arrow_up_red.png") no-repeat right center/18px;
        position: relative;
        padding-left: 21px;
        padding-right: 25px;
        font-weight: 700;
    }

    .nav_right li:not(:last-child) {
        margin-bottom: 13px;
    }

    .nav_right li a:before,
    .sub.sub_sm li a:before {
        position: absolute;
        content: "";
        width: 9px;
        height: 9px;
        background: #FF3611;
        left: 0;
        top: 12px;
        border-radius: 50%;
    }

    .sub.sub_sm li a:before {
        top: 7px;
    }

    .nav_right {
        padding-top: 4px;
    }

    .is_scroll .h_contact>p a {
        height: 120px;
    }

    .is_scroll .h_tt {
        height: 30px;
        line-height: 30px;
    }

    .is_scroll .h_contact_tel {
        margin-bottom: 8px;
        padding-top: 10px;
    }

    .is_scroll nav {
        margin-bottom: -15px;
    }

    .is_scroll .nav_list>li.parent>.hook {
        padding-bottom: 10px;
    }

    /* CUSTOM */
    .find_a,
    .find_out {
        cursor: pointer;
    }

    /* HOVER */
    .nav_list>li:hover>a {
        color: var(--scolor);
        text-decoration: none;
    }

    .nav_list>li>a:hover,
    .sub.sub_sm li a:hover {
        color: var(--mcolor);
    }

    .parent:not(:hover) .sub {
        display: none;
    }

    .parent:hover .sub {
        transform: translate(0, 0);
    }

    .sub a:hover {
        text-decoration: none;
    }

    .to_top img:hover,
    .find_a:hover,
    .ft_bnr li a:hover,
    .ft_bnr02 li a:hover,
    #dsb-chat a.dsb-chat-open-btn.dsb-chat-type-image:hover,
    .dsb-full-popup #dsbCboxClose:hover {
        opacity: .8
    }

    .sec_contact_line:hover,
    .h_contact_line a:hover,
    .sec04_slider .slick-prev:hover,
    .sec04_slider .slick-next:hover {
        opacity: 0.75;
    }

    .sec06_item li a:hover {
        background: url("../images/arrow_green.svg")#00ab58 no-repeat center bottom 45px;
    }

    .sec_contact_con a:hover,
    .h_contact_mail a:hover {
        background: var(--mcolor);
    }

    .sec_contact_boxchat:hover {
        opacity: 0.8;
    }

    .h_contact_line a:hover {
        color: #fff;
    }

    .sec_contact_line:hover span {
        color: #000;
    }

    .sec04_slider .slick-dots li:hover button {
        background: #000;
    }

    .nav_sub ul li a:hover,
    .nav_right li a:hover,
    .ft_link ul li a:hover {
        color: var(--mcolor);
    }

    .ft_link ul li a:hover:before {
        background: var(--mcolor);
    }

    .nav_sub.nav_sub02 ul li a:hover {
        color: #dab708;
    }

    .ft_bnr li:hover,
    .sec04_sub:hover {
        background: #feffb7;
    }

    .btn:not(.no_hover) a:hover,
    .sec05_item li:hover .btn a {
        background: url('../images/arrow_w.svg') no-repeat right 25px center /9px var(--mcolor)
    }

    .sec04 .btn.lg a:hover {
        background: #fff;
        color: #000;
    }

    .sec07_g_btn .btn a:hover {
        background-position: right 22px center;
    }

    .btn.btn_map a:hover,
    .sec03 .btn.btn_w a:hover,
    .btn.lg a:hover {
        background-position: right 20px center;
    }

    .sec03 .btn.btn_w a:hover {
        color: #fff;
    }

    .sec05_ttl {
        display: flex;
        -webkit-writing-mode: vertical-rl;
        -moz-writing-mode: vertical-rl;
        -ms-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        -webkit-text-orientation: upright;
        -moz-text-orientation: upright;
        -ms-text-orientation: upright;
        text-orientation: upright;
        flex-direction: column-reverse;
        white-space: nowrap;
    }

    .sec05_box_sub.direc .sec05_ttl .sm {
        top: 11px;
        left: 15px;
        letter-spacing: 0.055em;
    }

    .sec05_tab li:hover a:before {
        width: 100%;
        height: calc(100% + 15px);
        left: 0;
        bottom: 0;
        border-radius: 10px 10px 0px 0px;
        z-index: -1;
    }

    .sec05_tab li:hover a:after {
        position: absolute;
        content: "";
        width: 24px;
        height: 36px;
        clip-path: polygon(100% 0, 0 0, 53% 100%);
        left: 0;
        right: 0;
        bottom: -46px;
        margin: 0 auto;
    }

    .sec05_tab li:first-child:hover a:before {
        background: #FC5B3E;
        border-top: 5px #FF9784 solid;
    }

    .sec05_tab li:last-child:hover a:before {
        background: #00AB58;
        border-top: 5px #26CC7C solid;
    }

    .sec02_item .sub02 .sec02_g_tt {
        margin-bottom: 56px;
    }

    .sec02_item .sub02 .sec02_con {
        position: relative;
        top: -2px;
    }

    .sec02_item .sub01 .sec02_con {
        padding-bottom: 3px;
    }

    .sec02_item .sub03 .sec02_g_tt {
        margin-bottom: 58px;
    }

    .sec04_slider .slick-list {
        width: 2500px;
        left: calc(50% - 980px);
        overflow: visible;
    }

    .sec04_sub .txt,
    .sec04_sub .tt {
        padding-left: 10px;
        padding-right: 10px;
    }

    .sec04_sub .date {
        padding-left: 5px;
        padding-right: 5px;
        letter-spacing: -0.05em;
    }

    .mv_img01 a:hover {
        opacity: 0.7;
    }

    #dsb-chat a.dsb-chat-open-btn.show,
    #dsb-chat a.dsb-chat-open-btn.show,
    #dsb-chat>.dsb-chat-box.show {
        top: calc(100vh - 260px) !important;
        transition: all ease 0.3s;
    }
}

@media screen and (min-width: 751px) and (max-width: 1800px) {
    .mv_txt h2 .sm {
        font-size: 40px;
    }

    .mv_txt h2 .sm .org,
    .mv_txt h2 .sm .nor02 {
        font-size: 48px;
    }

    .mv_txt h2 .lg {
        font-size: 65px;
        line-height: 1.3;
    }

    .point:before {
        width: 12px;
        height: 12px;
    }

    .mv .point:before {
        top: 8px;
    }

    .mv_img01 {
        width: 260px;
    }

    .mv_box_num {
        width: 760px;
        height: 391px;
        left: 190px;
        background-size: 760px auto;
        margin-top: 3px;
        top: -23px;
    }

    .mv_box_num_box .sm {
        font-size: 24px;
    }

    .mv_box_num_box .sm .num,
    .mv_box_num_box .lg .num_lg {
        font-size: 61px;
    }

    .mv_box_num_box .sm .black {
        font-size: 29px;
    }

    .mv_box_num_box {
        width: 165px;
        height: 173px;
    }

    .mv_box_num_box .lg {
        font-size: 32px;
        top: 0;
    }

    .mv_box_num_box.box_r .lg {
        font-size: 30px;
        top: 3px;
    }

    .mv_people {
        height: 560px;
        width: 490px;
        right: 15px;
        background-size: 490px auto;
    }

    .mv_people dl {
        bottom: 70px;
    }

    .mv_g {
        top: 0;
    }

    .mv {
        height: 670px;
        padding: 10px 15px 0 28px;
    }

    .mv_txt h2:before {
        left: 38px;
        top: 13px;
        background-position: left top, left 213px top 4px;
        background-size: 100px auto;
    }

    .mv_txt h2 {
        padding-left: 35px;
        padding-top: 65px;
    }

    nav {
        width: 830px;
    }

    .sub {
        width: 1240px;
        height: 400px;
        left: calc(50% - 533px);
    }

    .sub .nv_tt {
        font-size: 28px;
        width: 275px;
    }

    .nav_sub_cen {
        margin-right: 15px;
        padding-left: 15px;
        padding-right: 15px;
    }

    .nav_sub {
        width: 650px;
    }

    .nav_sub ul li {
        width: 190px;
    }

    .nav_sub ul li a {
        font-size: 17px;
    }

    .nav_right li a {
        font-size: 16px;
    }

    .nav_right li a:before {
        top: 8px;
    }

    .sec01_item {
        padding: 0px;
    }

    .sec01_tt {
        font-size: 46px;
    }

    .sec01_tt span {
        font-size: 63px;
    }

    .sec01_txt p {
        font-size: 18px;
    }

    .sec02_item {
        width: 100%;
        max-width: 1500px;
    }

    .sec02_item li {
        width: 1400px;
        padding: 40px 30px 40px 120px;
    }

    .sec02_item li.sub02,
    .sec02_item li.sub04 {
        padding: 40px 50px 40px 40px;
    }

    .sec02_item li.sub02 .sec02_img,
    .sec02_item li.sub04 .sec02_img {
        margin-right: 40px;
    }

    .sec02_g_tt .mid,
    .sec02_g_tt .lg .sm {
        font-size: 55px;
    }

    .sec02_g_tt .lg {
        font-size: 78px;
    }

    .sec02_item02 .sec02_g_tt .mid {
        font-size: 36px;
    }

    .sec02_item02 li {
        padding: 68px 20px 60px;
        border-radius: 110px;
        min-height: inherit;
        width: calc(33.333% - 14.98px);
    }

    .sec02:before {
        background-size: 2000px auto;
    }

    .fixed_pc {
        width: 200px;
    }

    .sec03_img.img01,
    .sec03_img.img04 {
        width: 400px;
    }

    .sec03_img.img03 {
        width: 300px;
        right: 15px;
    }

    .sec03_img>.img_sub1 {
        width: 300px;
    }

    .sec03_img>.img_sub4 {
        left: -120px;
        bottom: 100px;
    }

    .sec05_box_sub,
    .sec05_box_sub.direc {
        justify-content: center;
        padding: 100px 30px 110px 30px;
        align-items: flex-start;
    }

    .sec05_box {
        padding: 0px;
    }

    .sec06_ja {
        font-size: 30px;
    }

    .sec06_en {
        margin-bottom: 8px;
    }

    .sec07_group {
        margin-left: 300px;
    }

    .sec07_img_l {
        position: absolute;
        left: 50px;
        top: 415px;
        width: 520px;
    }

    .sec_contact_item li {
        width: 460px;
    }

    .sec_contact_item {
        width: 1380px;
        justify-content: center;
    }

    .sec_contact_boxchat a .sm {
        font-size: 16px;
    }

    .sec_contact_boxchat a .lg {
        font-size: 37px;
    }

    .sec_contact_boxchat a .w_txt {
        font-size: 18px;
        right: 95px;
    }

    .sec_contact_item li:not(:last-child) {
        margin-right: 30px;
    }

    .ft_top {
        padding: 80px 30px 43px;
    }

    .ft_info {
        top: 0px;
        margin-right: 50px;
    }

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

    .ft_link ul:nth-child(1),
    .ft_link ul:nth-child(2),
    .ft_link ul:nth-child(3) {
        width: auto
    }

    .ft_t_right {
        width: calc(100% - 350px)
    }

    .to_top {
        width: 50px;
        height: 50px;
    }

    #dsb-chat a.dsb-chat-open-btn.dsb-chat-type-image img {
        width: 200px !important;
    }
}

@media screen and (min-width: 751px) and (max-width: 1555px) {
    .mv_img01 {
        width: 180px;
        top: 18px;
        position: relative;
    }

    .mv_txt h2 .sm {
        font-size: 28px;
    }

    .mv_txt h2 .sm .org,
    .mv_txt h2 .sm .nor02 {
        font-size: 34px;
    }

    .mv_txt h2 .lg {
        font-size: 57px;
        letter-spacing: -0.03em;
    }

    .mv .point:before {
        top: 6px;
        width: 7px;
        height: 7px;
    }

    .point.p02:before,
    .point.p03:before,
    .point.p04:before {
        left: 0px;
    }

    .mv_txt h2:before {
        height: 72px;
        left: 23px;
        top: 11px;
        background-size: 90px auto;
        background-position: left top, left 155px top;
    }

    .mv_txt h2 {
        padding-top: 60px;
        padding-left: 35px;
    }

    .mv_box_num {
        width: 570px;
        height: 275px;
        background-size: 570px auto;
        margin-top: 12px;
        left: 140px;
        top: 0;
    }

    .mv_box_num_box .sm,
    .mv_box_num_box.box_r .lg {
        font-size: 20px;
        line-height: 1;
    }

    .mv_box_num_box .sm .num,
    .mv_box_num_box .lg .num_lg {
        font-size: 37px;
    }

    .mv_box_num_box .sm .black {
        font-size: 20px;
    }

    .mv_box_num_box .sm .sm_w {
        font-size: 17px;
    }

    .mv_box_num_box .lg {
        font-size: 23px;
        line-height: 1;
    }

    .mv_box_num_box .sm .num {
        margin: 0;
    }

    .mv_box_num_box {
        width: 114px;
        height: 129px;
    }

    .mv_box_num .box_l {
        padding-bottom: 29px;
    }

    .mv_box_num_box.box_r .lg {
        top: 0;
    }

    .mv_box_num .box_r {
        padding-bottom: 0px;
        padding-top: 0px;
    }

    .mv {
        height: 525px;
        padding: 10px 70px 0 90px;
    }

    .mv:before {
        left: calc(50% - 1282px);
        top: -236px;
        background-size: 1690px;
    }

    .mv_people dl dt {
        width: 220px;
        height: 50px;
        font-size: 15px;
        left: 0;
    }

    .mv_people dl dd {
        width: 260px;
        height: 120px;
    }

    .mv_people dl dd .sm {
        font-size: 19px;
    }

    .mv_people dl dd .lg {
        font-size: 32px;
    }

    .mv_people dl {
        bottom: 50px;
    }

    .mv_people {
        height: 496px;
        width: 470px;
        right: 50px;
        background-size: 470px auto;
    }

    .h_contact>p a {
        width: 170px;
    }

    nav {
        width: 790px;
    }

    .nav_list>li>a,
    .nav_list>li>.hook {
        font-size: 14px;
    }

    .sec01_item_l {
        width: calc(100% - 710px);
    }

    .sec01_tt {
        margin-bottom: 20px;
    }

    .sec01_txt {
        margin-bottom: 25px;
        padding-left: 0px;
    }

    .sec02_item {
        width: 100%;
        max-width: 1380px;
    }

    .sec02_item li {
        width: 1280px;
        height: 430px;
        padding: 40px 25px 40px 120px;
    }

    .sec02_item li.sub02,
    .sec02_item li.sub04 {
        padding: 40px 30px 40px 25px;
    }

    /* .sec02_item li.sub02 {
        margin-right: 20px;
    }*/
    .sec02_g_tt .mid,
    .sec02_g_tt .lg .sm {
        font-size: 50px;
    }

    .sec02_g_tt .lg {
        font-size: 70px;
    }

    .sec02_g_tt .num {
        margin-bottom: 30px;
        font-size: 60px;
    }

    .sec02_g_tt .mid {
        margin-bottom: 40px;
    }

    .sec02_g_tt {
        margin-bottom: 40px;
    }

    .sec02_item02 .sec02_g_tt {
        margin-bottom: 20px;
    }

    .sec02_txt p {
        font-size: 16px;
    }

    .sec02_g_tt .line:before {
        height: 40px;
    }

    .sec02_img {
        width: 380px;
    }

    .sec02_item02 .sec02_g_tt .mid {
        font-size: 28px;
    }

    .sec03_img.img01 {
        width: 330px;
    }

    .sec03_img.img04 {
        width: 405px;
    }

    .sec03_img.img02 {
        left: 35px;
        bottom: -175px;
    }

    .sec03_img.img03 {
        width: 275px;
    }

    .sec03_img>.img_sub4 {
        width: 150px;
        bottom: 60px;
    }

    .sec03_txt p {
        font-size: 16px;
    }

    .sec05_item li {
        width: 350px;
    }

    .sec05_box_sub,
    .sec05_box_sub.direc {
        width: 100%;
        margin: 0 auto;
    }

    .sec05_sub_tt .lg {
        font-size: 30px;
    }

    .sec06_ja {
        font-size: 24px;
    }

    .sec06_item li {
        height: 260px;
    }

    .sec06_item li a,
    .sec06_item li a:hover {
        background-size: 40px auto;
        background-position: center bottom 40px;
    }

    .sec07_group {
        margin-left: calc(50% - 585px);
    }

    .sec07_img_l {
        left: 55px;
        top: 470px;
        width: 450px;
    }

    .btn.btn_map a {
        width: 380px;
    }
}

@media screen and (min-width: 751px) and (max-width: 1435px) {
    #dsbcBox {
        width: 100% !important;
    }

    .mv {
        padding: 10px 65px 0 65px;
    }

    .mv_people dl {
        bottom: 80px;
    }

    .mv_people {
        height: 445px;
        width: 400px;
        right: 10px;
        background-size: 350px auto;
    }

    .mv_people dl dd {
        height: 100px;
        padding-top: 30px;
    }

    .mv_people dl dt {
        height: 44px;
        font-size: 14px;
        line-height: 42px;
    }

    .mv_people dl dd .sm {
        font-size: 17px;
        margin-bottom: -7px;
    }

    .mv_people dl dd .lg {
        font-size: 28px;
    }

    .mv_box_num {
        left: 105px;
    }

    .sub {
        width: 1220px;
        left: calc(50% - 505px);
    }

    nav {
        width: 620px;
    }

    .nav_list>li.parent:after {
        top: 12px;
    }

    .nav_list>li.parent:before {
        top: 17px;
    }

    .sec01_tt {
        font-size: 40px;
    }

    .sec01_tt span {
        font-size: 56px;
    }

    .sec01_txt p {
        font-size: 16px;
    }

    .sec01_item_l {
        width: calc(100% - 487px);
    }

    .sec02_g_tt .line:before {
        height: 25px;
        left: -5px;
    }

    .sec02_item li {
        width: 1100px;
        padding: 40px 25px 40px 100px;
    }

    .sec02_item {
        width: 1200px;
    }

    .sec02_g_tt .mid,
    .sec02_g_tt .lg .sm {
        font-size: 40px;
    }

    .sec02_g_tt .lg {
        font-size: 56px;
    }

    .sec02_g_tt .mid {
        margin-bottom: 30px;
    }

    .sec03_ttl .sm {
        font-size: 26px;
    }

    .sec03_ttl .lg {
        font-size: 34px;
    }

    .sec03_ttl_big .lg {
        font-size: 50px;
    }

    .sec03_ttl_big .sm {
        font-size: 40px;
    }

    .sec03_ttl_big .sm .yl {
        font-size: 60px;
    }

    .sec03_txt p {
        font-size: 16px;
    }

    .sec03_img.img01,
    .sec03_img.img04 {
        width: 300px;
    }

    .sec03_img>.img_sub1 {
        width: 270px;
    }

    .sec03_img>.img_sub2 {
        width: 170px;
    }

    .sec03_img.img02 {
        left: 15px;
        bottom: -120px;
    }

    .sec03_img>.img_sub2 {
        right: -200px;
        bottom: 65px;
    }

    .sec03_img>.img_sub4 {
        left: -75px;
        bottom: 75px;
    }

    .sec05_ttl .lg,
    .sec05_ttl .lg .mid {
        font-size: 90px;
    }

    .sec05_ttl .lg .mid_x {
        font-size: 82px;
    }

    .sec03_img>span:before {
        border-width: 3px;
    }

    .sec05_item li {
        width: 300px;
    }

    .sec05_txt {
        font-size: 18px;
    }

    .sec05_ttl .sm {
        font-size: 34px;
    }

    .sec05_ttl .sm .x_sm {
        font-size: 30px;
    }

    .sec05_tab li a {
        font-size: 40px;
    }

    .row .sec05_ttl {
        right: -20px;
    }

    .direc .sec05_ttl {
        left: -10px;
    }

    .sec07_img_l {
        left: 45px;
        top: 495px;
        width: 385px;
    }

    .sec_contact_item {
        width: 1200px;
    }

    .sec_contact_boxchat a .lg {
        font-size: 33px;
    }

    .sec_contact_boxchat a:before {
        width: 110px;
        height: 143px;
        right: -25px;
        background-size: 110px auto;
    }

    .sec_contact_boxchat a .sm {
        font-size: 15px;
    }

    .ft_add dl dt,
    .ft_add dl dd {
        font-size: 18px;
    }

    .ft_bnr li {
        width: 310px;
    }

    .ft_t_right {
        width: calc(100% - 310px);
    }

    .ft_bnr li.sub04 .ft_bnr_left .sm {
        width: 140px;
    }

    .ft_link ul li:not(.big) {
        margin-left: 0px;
    }

    .ft_link ul li a {
        padding-left: 15px;
    }

    .ft_link ul .big {
        padding-left: 15px;
    }

    .btn.btn_map a {
        width: 330px;
        font-size: 22px;
    }

    .ft_bt .inner {
        width: 1235px;
    }

    .ft_bnr02 li.sub01 img,
    .ft_bnr02 li.sub02 img,
    .ft_bnr02 li.sub03 img,
    .ft_bnr02 li.sub04 img,
    .ft_bnr02 li.sub05 img {
        height: 78px;
        width: auto;
    }

    .ft_bnr02 li:not(:nth-child(4n)) {
        margin-right: 15px;
    }

    .ft_bnr02 li.sub05 {
        margin-right: 0;
    }

    #dsb-chat a.dsb-chat-open-btn.show,
    #dsb-chat>.dsb-chat-box.show {
        top: calc(100vh - 200px) !important;
        transition: all ease 0.3s;
    }
}

/* screen-min:750px */
@media screen and (max-width: 750px) {

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    input,
    button,
    textarea,
    select,
    p,
    blockquote,
    th,
    td,
    pre,
    address,
    li,
    dt,
    dd,
    del {
        font-size: 160%;
        -webkit-text-size-adjust: none;
        font-weight: 500;
    }

    .inner {
        padding: 0 15px;
    }

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

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

    .pc {
        display: none !important
    }

    body.is_nav {
        overflow: hidden;
    }

    body.mac nav {
        padding-bottom: 160px;
    }

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

    nav .inner {
        padding: 0;
    }

    .nav_info {
        margin-top: 29px;
    }

    .nav_info_com {
        padding: 25px 0px 0;
    }

    .nav_list {
        flex-direction: column;
        background: var(--mcolor);
    }

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

    .nav_list li:not(.parent) {
        background: url("../images/icon_white.svg") no-repeat right 15px center/20px;
    }

    .nav_list .parent .sub ul li {
        background: #fff;
    }

    .nav_list .parent .sub ul li:not(:last-child),
    .nav_sub02 {
        border-bottom: 1px solid var(--mcolor)
    }

    .nav_list .parent:last-child .sub ul li:last-child {
        border-bottom: 1px solid var(--mcolor)
    }

    .nav_list .hook,
    .nav_list a,
    .nav_sub_tt {
        display: block;
        padding: 13px 15px 12px;
        color: #fff;
        font-size: 16px;
        font-weight: 600;
        border-bottom: solid 1px #fff
    }

    .nav_sub_tt {
        margin-bottom: 0;
        background: #ffd09b;
        color: #000;
    }

    .nav_list .parent .sub .nav_sub ul {
        display: flex;
        flex-wrap: wrap;
    }

    .nav_list .parent .sub .nav_sub ul li {
        width: 50%;
    }

    .nav_list .parent .sub .nav_sub {
        background: #ffebd4;
    }

    .nav_list .parent .sub .nav_sub ul li {
        background: #ffebd4;
        padding: 30px 15px 15px;
    }

    .nav_list .parent .sub .nav_sub ul li a {
        text-align: center;
        background: #fff;
        box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.2);
        padding: 15px 5px 10px;
    }

    .nav_list .parent .sub .nav_sub ul li a::before {
        display: none;
    }

    .nav_list .parent .sub .nav_sub02 ul li a .sm {
        background: #FFD500;
    }

    .nav_list .parent .sub .nav_sub02 ul li a .sm::before {
        background: #FFD500;
    }



    .nav_sub02 .nav_sub_tt {
        background: #fbefcc;
    }

    .nav_list .hook {
        position: relative;
        padding-left: 15px
    }

    .nav_list .hook::before,
    .nav_list .hook::after {
        content: "";
        position: absolute;
        width: 16px;
        height: 2px;
        background-color: #FFF;
        top: calc(50% - 1px);
        right: 17px;
        transition: all 0.3s;
    }

    .nav_list .hook::after {
        transform: rotate(-90deg);
    }

    .nav_list .hook.open::after {
        transform: rotate(0);
    }

    .nav_address {
        font-size: 13px;
        text-align: center;
        margin-top: -15px;
    }

    .sub {
        display: none
    }

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

    .sub a {
        color: #000;
        border-bottom: none;
        font-size: 14px;
    }

    .sub a .sm {
        position: absolute;
        left: calc(50% - 80px);
        right: inherit;
        margin: 0 auto;
        top: -14px;
        background: var(--mcolor);
        text-align: center;
        color: #fff;
        font-weight: 900;
        font-size: 14px;
        width: 160px;
        height: 25px;
        border-radius: 12.5px;
        line-height: 25px;
        letter-spacing: 0.01em;
    }


    .sub a {
        position: relative;
        padding-left: 25px;
    }

    .sub .nav_right a {
        background: url(../images/arrow_up_red.png) no-repeat right 15px center / 18px;
    }

    .sub a:before {
        position: absolute;
        content: "";
        width: 9px;
        height: 9px;
        background: #FF3611;
        left: 10px;
        top: 23px;
        border-radius: 50%;
    }

    .hamburger {
        position: absolute;
        right: 8px;
        bottom: 13px;
        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 ============*/
    h1 {
        padding-left: 0px;
        width: 140px;
    }

    .h_left {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
    }

    .h_box {
        height: 60px
    }

    .h_tt {
        width: 90px;
        height: auto;
        border-radius: 5px;
        font-size: 11px;
        line-height: 1.8;
        margin-bottom: 0px;
        padding: 1px 0;
        margin-left: 10px;
        position: relative;
    }

    .h_tt:before {
        position: absolute;
        content: "";
        width: calc(100% - 10px);
        height: 1px;
        left: 5px;
        top: 20px;
        background: #fff;
        opacity: 0.5;
    }

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

    /* MAIN VISUAL */
    .mv {
        padding: 12vw 0vw 2vw 0vw;
        height: 140vw;
        border-bottom-width: 5px;
    }

    .mv .inner {
        height: 100%;
    }

    .mv_bg,
    .mv_slider_ite,
    .mv_slider_ite .bg {
        height: 420px
    }

    .mv_txt h2 {
        padding: 0;
        letter-spacing: 0em;
    }

    .mv_img01 {
        position: absolute;
        right: 10vw;
        bottom: 5vw;
        width: 31vw;
        margin-bottom: 0;
    }

    .mv_people {
        height: 50vw;
        width: 50vw;
        right: auto;
        background-size: 50vw auto;
        left: 2vw;
        bottom: 0vw;
    }

    .mv:before {
        width: 1000px;
        height: 1616px;
        left: calc(50% - 500px);
        background-size: 1500px auto;
        /* top: auto; */
    }

    .mv_people dl dt {
        width: 42vw;
        height: 7vw;
        line-height: 7vw;
        font-size: 3vw;
        margin: 0 auto -2vw;
        left: 0;
    }

    .mv_people dl dt>span {
        font-size: 3.5vw;
    }

    .mv_people dl dt>span .num {
        font-size: 4vw;
    }

    .mv_g {
        justify-content: center;
        text-align: center;
        top: 0;
        position: static;
    }

    .mv_txt h2 .sm,
    .mv_txt h2 .sm .nor02 {
        font-size: 4.5vw;
        margin-bottom: 0;
    }

    .mv_txt h2 .sm .org {
        font-size: 6vw;
    }

    .mv_txt h2 .lg {
        font-size: 8vw;
        line-height: 12vw;
        left: 0px;
    }

    .mv .point:before {
        top: 0.7vw;
        left: 0;
    }

    .mv_txt h2:before {
        left: 7vw;
        top: -9vw;
        background-size: 16vw auto, 16vw auto;
        background-position: left top, left 26vw top;
    }

    .mv_box_num {
        background: url("../images/idx_main01_sp.svg") no-repeat center top;
        width: 94vw;
        height: 39vw;
        left: 0;
        margin-top: 2vw;
        background-size: 94vw auto;
        right: 0;
        margin: 2vw auto 0;
        top: 0;
    }

    .point:before {
        width: 1.5vw;
        height: 1.5vw;
    }

    .mv_box_num .box_l,
    .mv_box_num .box_r {
        width: 26vw;
        height: 28vw;
        line-height: 5vw;
        padding-bottom: 2vw;
    }

    .mv_box_num .box_l {
        left: 0;
        top: 0;
    }

    .mv_box_num_box .lg,
    .mv_box_num_box.box_r .lg {
        font-size: 6vw;
        top: 1vw;
    }

    .mv_box_num_box .sm .black {
        font-size: 5vw;
    }

    .mv_box_num_box .sm .sm_w,
    .mv_box_num_box .sm {
        font-size: 4.5vw;
        margin-bottom: 1vw;
    }

    .mv_box_num_box .sm .num,
    .mv_box_num_box .lg .num_lg {
        top: 0;
        font-size: 10vw;
    }

    .mv_box_num_box.box_r .lg {
        top: 2vw;
    }

    .mv_box_num_box .sm .num {
        margin: 0px;
    }

    .mv_people dl dd {
        width: 45vw;
        height: 14vw;
        padding-top: 3vw;
        line-height: 5vw;
    }

    .mv_people dl dd .sm {
        font-size: 3.2vw;
        margin-bottom: 0;
    }

    .mv_people dl dd .lg {
        font-size: 5vw;
    }

    .mv_people dl {
        left: 4vw;
        bottom: 1vw;
    }

    /* sec01 */
    .sec01 {
        padding-top: 50px;
        border-bottom-width: 5px;
        padding-bottom: 45px;
    }

    .sec01_item {
        padding: 0;
        flex-direction: column;
    }

    .sec01_item_l {
        max-width: 350px;
        margin: 0 auto 25px;
    }

    .sec01_item_r {
        width: 100%;
        margin-left: 0;
    }

    .sec01_tt {
        font-size: 28px;
        letter-spacing: 0em;
        margin-bottom: 20px;
        text-align: center;
        line-height: 1.4;
    }

    .sec01_tt span {
        font-size: 34px;
    }

    .sec01 .point:before {
        width: 7px;
        height: 7px;
    }

    .sec01_txt p {
        line-height: 2;
        text-align: center;
    }

    .sec01_item .btn {
        padding-right: 0;
    }

    .sec01_txt {
        margin-bottom: 25px;
        padding-left: 0;
    }

    .sec01 .btn a {
        margin: 0 auto;
    }

    /* sec02 */
    .sec02 {
        padding-top: 40px;
        padding-bottom: 50px;
    }

    .sec02:before {
        background: url("../images/idx_bg01_sp.png") repeat-y center top/1000px;
        height: 100%;
        left: calc(50% - 500px);
        width: 1000px;
    }

    .sec02 .inner {
        padding: 0;
    }

    .sec02_ttl {
        flex-direction: column;
        margin-bottom: 10px;
    }

    .sec02_ttl .ttl_l {
        font-size: 24px;
        letter-spacing: 0em;
    }

    .sec02_ttl .ttl_l .point {
        font-size: 30px;
    }

    .sec02_ttl .ttl_l .sm {
        font-size: 26px;
        top: 0;
    }

    .sec02_ttl .ttl_l .point:before {
        width: 6px;
        height: 6px;
        top: 0;
    }

    .sec02_ttl .ttl_r {
        font-size: 40px;
        top: 0;
        left: 0;
    }

    .sec02_ttl .ttl_r .num {
        font-size: 90px;
        top: 3px;
    }

    .sec02_ttl .ttl_r {
        top: -15px;
        right: -45px;
        left: auto;
    }

    .sec02_item {
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
    }

    .sec02_item li,
    .sec02_item li.sub02,
    .sec02_item li.sub04 {
        width: calc(100% - 20px);
        height: auto;
        padding: 40px 40px 70px;
        flex-direction: column-reverse;
        max-width: 430px;
        max-width: 335px;
    }

    .sec02_item li.sub02 .sec02_img,
    .sec02_item li.sub04 .sec02_img {
        margin-right: 0;
    }

    .sec02_item li.sub02 {
        margin-left: auto;
    }

    .sec02_g_tt .num {
        position: relative;
        text-align: right;
        width: 100%;
        margin-top: -60px;
        font-size: 50px;
        margin-bottom: 45px;
    }

    .sec02_g_tt .mid,
    .sec02_item02 .sec02_g_tt .mid {
        font-size: 25px;
        margin-bottom: 0px;
        line-height: 1.4;
    }

    .sec02_g_tt .lg .sm {
        font-size: 28px;
    }

    .sec02_g_tt .lg {
        font-size: 36px;
        line-height: 1.3;
    }

    .sec02_g_tt .line:before {
        height: 20px;
        left: 0;
        bottom: 5px;
        width: 100%;
    }

    .sec02_g_tt {
        margin-bottom: 15px;
        padding-left: 0px;
    }

    .sec02_txt p {
        font-size: 15px;
    }

    .sec02_item02 .sec02_g_tt {
        margin-bottom: 15px;
    }

    .sec02_item02 {
        flex-direction: column;
        margin-bottom: 50px;
        max-width: 600px;
    }

    .sec02_item02 li {
        width: calc(100% - 20px);
        max-width: 430px;
        min-height: inherit;
        padding: 40px 37px 40px;
        border-radius: 120px;
        margin: 0 auto;
    }

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

    /* .sec02_item02 li.sub01, .sec02_item02 li.sub03 {
        margin-left: auto;
    }*/
    .sec02_item02 .sec02_g_tt .num {
        text-align: center;
        margin-top: 5px;
        margin-bottom: 30px;
    }

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

    /* sec03 */
    .sec03 {
        padding-top: 200px;
        padding-bottom: 0px;
    }

    .sec03 .inner {
        height: 100%;
        padding-bottom: 30px;
    }

    .sec03_img.img01 {
        left: 5px;
        top: -194px;
        width: 265px;
    }

    .sec03_img>span:before {
        border-width: 3px;
    }

    .sec03_img.img03 {
        right: 47px;
        top: -25px;
        width: 250px;
    }

    .sec03_img.img03 {
        right: 5px;
        top: -194px;
        width: 250px;
    }

    .sec03_img>.img_sub4 {
        left: -90px;
        bottom: 60px;
        width: 130px;
    }

    .sec03_ttl_big .lg {
        font-size: 33px;
    }

    .sec03_ttl_big .sm,
    .sec03_ttl_big .lg .sm {
        font-size: 30px;
    }

    .sec03_img.img04 {
        width: 280px;
        right: 5px;
        bottom: 5px;
    }

    .sec03_img.img02 {
        left: 5px;
        bottom: 5px;
        width: 250px;
    }

    .sec03_img.img02 {
        height: 165px;
        margin-bottom: 0;
        bottom: -8px;
        width: 215px;
    }

    .sec03_img>.img_sub2 {
        right: -200px;
        bottom: 63px;
        width: 127px;
    }

    .sec03_ttl_big .sm .yl {
        font-size: 38px;
    }

    .sec03_ttl_big .lg .point:before {
        width: 5px;
        height: 5px;
        top: 0px;
    }

    .sec03_ttl .lg {
        font-size: 28px;
        line-height: 1.3;
        margin-bottom: 10px;
    }

    .sec03_ttl .sm {
        font-size: 24px;
    }

    .sec04_ttl .sm_bt01 {
        font-size: 12px;
    }

    /* sec04 */
    .sec04_ttl .sm {
        width: 320px;
        height: 50px;
        line-height: 50px;
        font-size: 20px;
        margin-bottom: 20px;
    }

    .sec04_ttl .mid_t,
    .sec04_ttl .mid_bt {
        font-size: 22px;
    }

    .mid02 .mid_bt {
        top: 0;
    }

    .sec04_ttl .mid_bt .num {
        font-size: 40px;
        line-height: 1.3;
        margin-right: 0px;
    }

    .sec04_ttl .lg .mid.mid01 {
        width: 170px;
        height: 120px;
        justify-content: center;
    }

    .sec04_ttl .lg .mid.mid02 {
        justify-content: center;
    }

    .sec04_ttl .lg .mid.mid02 {
        width: 135px;
        height: 110px;
    }

    .sec04_ttl .lg .mid:before,
    .sec04_ttl .lg .mid:after {
        font-size: 50px;
    }

    .sec04_ttl .lg .mid.mid02:before {
        left: -25px;
        top: 0;
    }

    .sec04_ttl .lg .mid.mid02:after {
        right: -25px;
        bottom: 0px;
    }

    .sec04_ttl .lg .mid:before {
        left: -30px;
        top: 3px;
    }

    .sec04_ttl .lg .mid:after {
        right: -27px;
        bottom: 2px;
    }

    .sec04_ttl .lg .icon_close {
        background-size: 30px auto;
        background-position: center;
        margin: 0 0 0px;
        width: 60px;
    }

    .sec04_ttl .mid01 .mid_bt {
        top: 0;
        right: 0;
    }

    .sec04_ttl .sm_bt {
        font-size: 30px;
        padding-left: 0px;
    }

    .sec04_ttl .sm:before {
        bottom: -20px;
    }

    .sec04 {
        padding-top: 50px;
        margin-bottom: 60px;
        padding-bottom: 60px;
    }

    .sec04:before {
        width: 1000px;
        left: calc(50% - 500px);
        background-size: 1000px auto;
    }

    .sec04_ttl .mid01 .mid_bt .num {
        top: 0;
    }

    .sec04_sub .tt {
        font-size: 18px;
        margin-bottom: 15px;
        padding-bottom: 7px;
    }

    .sec04_sub .txt p {
        font-size: 16px;
    }

    .sec04_sub {
        width: 300px;
        height: auto;
        margin: 0 5px;
        padding: 20px 20px 15px;
    }

    .sec04_sub .date {
        font-size: 16px;
    }

    .sec04_slider .slick-dots li button,
    .slick-dots li {
        width: 14px;
        height: 14px;
    }

    .sec04_slider .slick-prev,
    .sec04_slider .slick-next {
        width: 36px;
        height: 36px;
    }

    .sec04_slider .slick-next {
        margin-right: -130px;
    }

    .sec04_slider .slick-prev {
        margin-left: -130px;
    }

    /* sec05 */
    .sec05_tab li {
        height: 60px;
        border-top: 3px;
    }

    .sec05_tab li a {
        font-size: 22px;
    }

    .sec05_tab li.active a {
        padding-bottom: 10px;
    }

    .sec05_tab {
        border-bottom-width: 5px;
    }

    .sec05_tab li.active a:after {
        bottom: -25px;
    }

    .sec05_box_sub,
    .sec05_item,
    .sec05_box_sub.direc {
        flex-direction: column;
        padding: 40px 15px 25px;
    }

    .sec05_item {
        width: 100%;
        align-items: center;
    }

    .sec05_ttl .sm {
        font-size: 22px;
        top: 0;
        left: 0;
        line-height: 1.5;
        text-align: center;
    }

    .sec05_ttl .sm .x_sm {
        font-size: 20px;
    }

    .sec05_ttl .lg .mid,
    .sec05_ttl .lg .mid_x,
    .sec05_ttl .lg {
        font-size: 30px;
    }

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

    .sec05_img {
        max-width: 180px;
        margin: 0 auto -40px;
    }

    .sec05_sub_tt .sm {
        font-size: 18px;
        width: 190px;
        height: 44px;
        line-height: 42px;
        margin-bottom: 30px;
    }

    .sec05_sub_tt .lg {
        font-size: 24px;
    }

    .sec05_item li:not(:last-child) {
        margin-bottom: 50px;
    }

    .sec05 {
        padding-bottom: 0px;
        border-bottom-width: 5px;
        padding-top: 70px;
    }

    /* sec06 */
    .sec06 {
        padding-top: 40px;
        padding-bottom: 50px;
    }

    .sec06_ttl .sm {
        font-size: 22px;
        margin-bottom: 10px;
        text-align: center;
    }

    .sec06_ttl .lg {
        font-size: 30px;
        text-align: center;
    }

    .sec06_ttl .lg .mid {
        font-size: 28px;
    }

    .sec06_ttl {
        margin-bottom: 30px;
    }

    .sec06_item {
        flex-wrap: wrap;
    }

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

    .sec06_item li {
        width: calc(50% - 10px);
        height: 220px;
        margin-bottom: 20px;
    }

    .sec06_item li:not(:nth-child(2n)) {
        margin-right: 20px;
    }

    .sec06_en {
        font-size: 20px;
        margin-bottom: 5px;
    }

    .sec06_ja {
        font-size: 24px;
    }

    .sec06_item li a {
        padding-top: 30px;
        background-size: 30px auto;
        background-position: center bottom 25px;
    }

    /* sec07 */
    .sec07 {
        padding-bottom: 50px;
    }

    .sec07_group {
        margin-left: 0;
        width: 100%;
        padding-left: 0;
        background: url("../images/idx_bg_bb_sp.png") no-repeat left calc(50% - 4px) top/654px;
        position: relative;
    }

    .bg_scale {
        display: none;
    }

    .sec07 .inner {
        padding: 0;
    }

    .sec07_img {
        max-width: 340px;
        margin: 0 auto;
    }

    .sec07_bb {
        position: relative;
        top: 40px;
        left: 0px;
    }

    .sec07_img_l {
        left: 0;
        top: auto;
        bottom: 0;
    }

    .sec07_wrap {
        padding-top: 0px;
        max-width: 100%;
    }

    .sec07_info {
        top: -100px;
        margin-bottom: -50px;
        left: -2px;
    }

    .sec07_ttl_lg {
        font-size: 26px;
        margin-bottom: 0px;
    }

    .sec07_ttl_mid {
        font-size: 20px;
        margin-bottom: 15px;
    }

    .sec07_bb dd .lg {
        font-size: 26px;
    }

    .sec07_bb dd .sm {
        font-size: 18px;
        margin-bottom: 7px;
    }

    .sec07_bb dt {
        width: 260px;
        height: 46px;
        font-size: 15px;
        line-height: 46px;
        left: 0;
    }

    .sec07_bb dt .lg {
        font-size: 18px;
    }

    .sec07_bb dt .lg .num {
        font-size: 24px;
        top: 2px;
        position: relative;
    }

    .sec07_bb dd {
        width: 290px;
        height: 110px;
        padding-top: 45px;
    }

    .sec07_txt {
        left: 0;
        padding: 0 20px;
        margin-bottom: 25px;
        max-width: 400px;
        margin: 0 auto 25px;
    }

    /* sec08 */
    .sec_contact {
        padding: 40px 0 50px;
        border-top-width: 5px;
        border-bottom-width: 5px;
    }

    .sec_contact_ttl .lg {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .sec_contact_ttl .sm {
        font-size: 17px;
        text-align: center;
    }

    .sec_contact_ttl {
        margin-bottom: 10px;
    }

    .sec_contact_tel a {
        font-size: 32px;
        left: 0;
    }

    .sec_contact_tel .time {
        margin-top: 0px;
        font-size: 12px;
    }

    .sec_contact_tel a>span {
        letter-spacing: 0em;
        background-size: 22px auto;
        background-position: left top 13px;
        padding-left: 30px;
        padding-bottom: 7px;
    }

    .sec_contact_item {
        width: 100%;
        flex-direction: column;
        align-items: center;
    }

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

    .sec_contact_item li {
        width: 350px;
        height: 110px;
    }

    .sec_contact_item li a {
        border-radius: 20px;
        border-width: 5px;
    }

    .sec_contact_boxchat a:after {
        border-radius: 17px;
    }

    .sec_contact_item li:not(.sec_contact_boxchat) a {
        font-size: 24px;
        padding-top: 0px;
    }

    .sec_contact_con a span {
        padding-left: 50px;
        letter-spacing: 0em;
        background-size: 36px auto;
    }

    .sec_contact_line a span {
        padding-left: 65px;
        color: #fff;
        background: url(../images/icon_line_lg_sp.png) no-repeat left 2px top 8px / 50px;
    }

    .sec_contact_boxchat a .sm {
        font-size: 14px;
        height: 32px;
        padding-left: 10px;
        padding-top: 2px;
    }

    .sec_contact_boxchat a .lg {
        font-size: 26px;
        padding-top: 5px;
    }

    .sec_contact_boxchat a .w_txt {
        font-size: 14px;
        right: 93px;
        bottom: 5px;
    }

    .sec_contact_boxchat a:before {
        height: 111px;
        right: -8px;
        bottom: 0px;
        background-size: cover;
        width: 93px;
        aspect-ratio: 62 / 81;
    }

    .sec_contact_tel {
        margin-bottom: 25px;
    }

    .sec_contact .sec_contact_tel .time_tt,
    .sec_contact .sec_contact_tel .time_tt.sub01 {
        padding: 2px 5px 1px;
    }

    .ft_info {
        max-width: 360px;
        margin: 50px auto;
        top: 0;
    }

    .ft_top {
        flex-direction: column;
        padding: 0 15px;
    }

    .ft_logo {
        margin: 0 auto 20px;
        /* width: 240px; */
        max-width: 180px;
    }

    .ft_txt {
        width: 250px;
        height: 36px;
        line-height: 36px;
        font-size: 15px;
        margin: 0 auto 30px;
    }

    .ft_map {
        height: 299px;
    }

    .ft_add dl dt {
        width: 80px;
        height: 30px;
        line-height: 32px;
        margin-right: 12px;
        font-size: 14px;
        flex-shrink: 0;
    }

    .ft_add dl dd .tel_txt {
        font-size: 22px;
        letter-spacing: 0em;
    }

    .ft_add dl dd {
        font-size: 14px;
        line-height: 1.4;
    }

    .ft_add dl dd a {
        color: #000;
        text-decoration: none;
    }

    .ft_add dl {
        align-items: center;
    }

    .ft_map_g {
        flex-direction: column;
        align-items: center;
        padding-bottom: 30px;
        margin-bottom: 35px;
        border-bottom: navajowhite;
    }

    .ft_t_right {
        width: 100%;
    }

    .ft_add {
        margin-bottom: 20px;
    }

    /*============ FOOTER ============*/
    .btn a,
    .btn.lg a,
    .btn.btn_w a,
    .sec04 .btn.lg a,
    .sec07_g_btn .btn a,
    .btn.btn_map a {
        width: 280px;
        height: 60px;
        font-size: 18px;
        background-size: 7px auto;
        background-position: right 15px center;
    }

    .sec05 .btn a {
        width: 240px;
        height: 60px;
        font-size: 16px;
        background-size: 7px auto;
        background-position: right 15px center;
    }

    footer {
        margin-bottom: 50px;
    }

    address {
        padding: 15px 0;
        font-size: 13px;
    }

    .ft_bnr02 {
        max-width: 410px;
        justify-content: space-between;
        margin: 0 auto;
    }

    .ft_bnr02 li:not(:nth-child(4n)) {
        margin-right: 0;
    }

    .ft_bnr02 li {
        margin-bottom: 10px;
    }

    .ft_bnr02 li img {
        width: auto;
    }

    .ft_bnr02 .sub01 img,
    .ft_bnr02 .sub02 img {
        height: 97px;
    }

    .ft_bnr02 .sub03 img {
        height: 62px;
    }

    .ft_bnr02 .sub04 img {
        height: 61px;
    }

    .ft_bnr02 .sub05 img {
        height: 49px;
    }

    .ft_bnr02 .sub06 img {
        height: 49px;
    }

    .ft_bnr02 .sub07 img {
        height: 51px;
    }

    .ft_bnr02 .sub08 img {
        height: 51px;
    }

    .ft_bnr02 li.sub01,
    .ft_bnr02 li.sub03 {
        margin-right: 10px;
    }

    .ft_bnr02 li.sub03 {
        right: 0;
    }

    .ft_bnr02 li.sub05 {
        margin-left: 0px;
    }

    .ft_bnr02 li:nth-child(n+5) {
        margin-right: 0;
    }

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

    /* SP CONTACT */
    .sp_contact {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 50px;
        position: fixed;
        left: 0;
        z-index: 99;
        bottom: -55px;
        transition: all 0.3s;
    }

    .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: #000000;
        font-size: 14px;
        line-height: 1.2;
        text-align: center;
        padding: 5px 0;
    }

    .sp_contact li a span {}

    .sp_contact li.sp_contact_tel {
        background-color: var(--mcolor);
        width: 60px;
    }

    .sp_contact li.sp_contact_tel a {
        background: url("../images/icon_tel_sp.svg") no-repeat center/24px;
    }

    .sp_contact_mail {
        background-color: #FFCC00;
    }

    .sp_contact li.sp_contact_line {
        background: #4ECD00;
    }

    .sp_contact li.sp_contact_mail,
    .sp_contact li.sp_contact_line {
        width: calc(50% - 30px);
    }

    .sp_contact li.sp_contact_mail span {
        background: url("../images/icon_mail.svg") no-repeat left center/24px;
        padding-left: 30px;
    }

    .sp_contact li.sp_contact_line span {
        background: url(../images/icon_line_lg_sp.png) no-repeat left center/24px;
        padding-left: 30px;
    }

    /* TO TOP */
    .to_top {
        width: 50px;
        height: 50px;
        right: 5px;
        bottom: 90px;
        transition: all .2s;
    }

    .sp_fixed.show {
        opacity: 1;
        visibility: visible;
    }

    .sp_fixed {
        position: fixed;
        right: 0;
        bottom: 150px;
        background-color: var(--mcolor);
        width: 40px;
        border-radius: 10px 0 0 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        visibility: hidden;
        z-index: 9;
    }

    .sp_fixed a {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        color: #fff;
        -webkit-writing-mode: vertical-rl;
        -moz-writing-mode: vertical-rl;
        -ms-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        -webkit-text-orientation: upright;
        -moz-text-orientation: upright;
        -ms-text-orientation: upright;
        text-orientation: upright;
        padding: 10px 0 40px;
        letter-spacing: 0.05em;
        background: url("../images/icon_white.svg") no-repeat center bottom 12px/20px;
    }

    /*============ END 750 ============ */
    #dsb-chat {
        display: none !important;
    }
}

/* screen-max:440px */
@media screen and (max-width: 640px) {
    .sec03 {
        padding-top: 165px;
    }

    .sec03_img.img03 {
        width: 157px;
        top: -159px;
    }

    .sec03_img.img01 {
        width: 205px;
        top: -159px;
    }

    .sec03_img>.img_sub4 {
        left: -45px;
        bottom: 30px;
        width: 110px;
    }

    .sec03_img.img04 {
        width: 180px;
    }

    .sec03_img.img02 {
        width: 175px;
        height: 103px;
        bottom: 28px;
    }

    .sec03_img>.img_sub2 {
        right: -120px;
        bottom: 54px;
        width: 112px;
    }

    .sec06_ja {
        font-size: 16px;
    }

    .sec06_en {
        font-size: 18px;
    }

    .sec06_item li {
        height: 180px;
    }

    .sec06_item li a {
        background-size: 24px auto;
        background-position: center bottom 20px;
    }
}

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

    .pc440 {
        display: none !important
    }

    .mv_txt h2 .lg {
        font-size: 8vw;
        line-height: 11vw;
    }

    .mv_txt h2 .sm,
    .mv_txt h2 .sm .nor02 {
        font-size: 4.5vw
    }

    .mv_txt h2 .sm .org {
        font-size: 6vw;
    }

    .mv_txt h2:before {
        top: -8vw;
        background-size: 16vw auto, 16vw auto;
        background-position: left top, left 25vw top;
        left: -1vw;
    }

    .mv {
        height: 135vw;
        padding: 11vw 0vw 2vw 0vw;
    }

    .mv_box_num {}

    .mv_box_num .box_l,
    .mv_box_num .box_r {
        width: 26vw;
        height: 28vw;
    }

    .mv_box_num_box .sm .sm_w,
    .mv_box_num_box .sm {
        /* font-size: 3.2vw; */
    }

    .point:before {
        width: 1vw;
        height: 1vw
    }

    .sec02_item li,
    .sec02_item li.sub02,
    .sec02_item li.sub04 {
        width: calc(100% - 95px);
        /* padding: 30px 30px 100px; */
        margin-left: 15px;
    }

    .sec02_item li.sub02 {
        margin-left: auto;
        margin-right: 15px;
    }

    .sec02:before {
        left: calc(50% - 350px);
        width: 700px;
        background-size: 500px auto;
    }

    .sec04:before {
        width: 750px;
        left: calc(50% - 350px);
        background-size: 750px auto;
    }
}

/* screen-max: 360px */
@media screen and (max-width: 425px) {
    .sp425 {
        display: block !important;
    }

    .sec01_tt {
        font-size: 25px;
    }

    .sec01_tt span {
        font-size: 28px;
    }

    .sec02:before {
        left: calc(50% - 300px);
        width: 600px;
        background-size: 600px auto;
    }

    .sec02_g_tt .lg .sm {
        font-size: 26px;
    }

    .sec02_g_tt .lg {
        font-size: 30px;
    }

    .sec02_g_tt .mid {
        font-size: 26px;
    }

    .sec02_g_tt .num {
        position: relative;
        text-align: right;
        width: 100%;
        margin-top: -45px;
        font-size: 50px;
        margin-bottom: 25px;
    }

    .sec02_txt p {
        font-size: 14px;
    }

    .sec02_item li,
    .sec02_item li.sub02,
    .sec02_item li.sub04 {
        width: calc(100% - 80px);
    }

    .sec03_ttl_big .sm .yl {
        font-size: 34px;
    }

    .sec03_ttl_big .sm,
    .sec03_ttl_big .lg .sm {
        font-size: 24px;
    }

    .sec03_ttl_big .lg {
        font-size: 27px;
    }

    .sec03 {
        padding: 140px 0 0;
    }

    .sec03_img.img02 {
        bottom: 23px;
        width: 150px;
    }

    .sec03_img>.img_sub2 {
        right: -73px;
        bottom: 36px;
        width: 100px;
    }

    .sec03_img.img03 {
        top: -134px;
        width: 135px;
    }

    .sec03_img>.img_sub4 {
        left: -57px;
        bottom: 40px;
        width: 93px;
    }

    .sec03_img.img01 {
        top: -134px;
        width: 170px;
    }

    .sec02_g_tt .mid,
    .sec02_item02 .sec02_g_tt .mid {
        font-size: 21px;
    }

    .sec02_item02 li {
        padding: 40px 35px 40px;
    }

    .sec04_ttl .lg .icon_close {
        width: 50px;
    }

    .sec05_item li {
        width: 100%;
    }

    .sec05_tab li a {
        font-size: 18px;
    }

    .sec05_tab li {
        height: 50px;
    }

    .sec06_item li:not(:nth-child(2n)) {
        margin-right: 0px;
    }

    .sec06_item li {
        width: 100%;
    }

    .sec06_ja {
        font-size: 18px;
    }

    .sec06_en {
        margin-bottom: 0px;
    }

    .sec06_item li a {
        padding-top: 20px;
        background-position: right 15px center;
    }

    .sec06_item li {
        height: 132px;
    }

    .sec07_img {
        max-width: 280px;
    }

    .sec07_group {
        background-size: 565px auto;
    }

    .sec07_bb dd {
        width: 220px;
        height: 100px;
        padding-top: 40px;
    }

    .sec07_bb dt {
        width: 200px;
        height: 42px;
        font-size: 14px;
        line-height: 38px;
    }

    .sec07_bb dt .lg {
        font-size: 16px;
    }

    .sec07_g_btn .btn a {
        height: 50px;
    }

    .sec_contact_tel .time {
        text-align: left;
    }

    .sec_contact_tel .time_tt.sub01 {
        width: 70px;
        margin: 5px 5px 0px 0px;
    }

    .ft_bnr02 {
        justify-content: center;
        max-width: 250px;
    }

    .ft_bnr02 li {
        margin-right: 0 !important;
    }

    .ft_bnr02 li img {
        height: auto !important;
        width: 270px !important;
    }
}

@media screen and (max-width: 374px) {
    .sub a {
        padding-right: 5px;
    }

    .sec02:before {
        left: calc(50% - 200px);
        width: 400px;
        background-size: 400px auto;
    }

    .sec02_g_tt .mid {
        font-size: 24px;
    }

    .sec03 {
        padding: 125px 0 0;
    }

    .sec03_ttl_big .lg {
        font-size: 24px;
    }

    .sec03_ttl_big .sm,
    .sec03_ttl_big .lg .sm {
        font-size: 22px;
    }

    .sec03_ttl_big .sm .yl {
        font-size: 28px;
    }

    .sec03_txt p {
        font-size: 13px;
    }

    .sec03_img.img01 {
        width: 135px;
        top: -119px;
    }

    .sec03_img.img03 {
        width: 115px;
        top: -119px;
    }

    .sec03_img.img04 {
        width: 145px;
    }

    .sec03_img.img02 {
        width: 128px;
        height: 90px;
        bottom: 12px;
    }

    .sec03_img>.img_sub2 {
        right: -70px;
        bottom: 41px;
        width: 90px;
    }

    .sec02_g_tt .mid,
    .sec02_item02 .sec02_g_tt .mid {
        font-size: 24px;
    }

    .sec02_g_tt .num {
        font-size: 40px;
        margin-bottom: 25px;
    }

    .sec02_txt p {
        font-size: 15px;
    }

    .sec02_g_tt .lg {
        font-size: 30px;
    }

    .sec02_g_tt .line:before {
        height: 15px;
    }

    .sec02_item02 li {
        padding: 40px 25px 40px;
    }

    .sec02_item li,
    .sec02_item li.sub02,
    .sec02_item li.sub04 {
        width: calc(100% - 40px);
        padding: 20px 20px 70px;
    }

    .sec04_ttl .sm {
        width: 290px;
        height: 40px;
        line-height: 40px;
        font-size: 18px;
    }

    .sec04_ttl .mid_t,
    .sec04_ttl .mid_bt {
        font-size: 16px;
    }

    .sec04_ttl .mid_bt .num {
        font-size: 32px;
    }

    .sec04_ttl .lg .mid.mid01 {
        width: 130px;
        height: 100px;
    }

    .sec04_ttl .lg .mid:before,
    .sec04_ttl .lg .mid:after {
        font-size: 32px;
    }

    .sec04_ttl .lg .mid:before {
        top: 0;
    }

    .sec04_ttl .lg .mid.mid01 {
        width: 100px;
    }

    .sec04_ttl .lg .mid.mid02 {
        width: 80px;
    }

    .sec04_ttl .sm_bt {
        font-size: 22px;
    }

    .sec05_sub_tt .sm {
        font-size: 18px;
        width: 190px;
        height: 40px;
        line-height: 36px;
        margin-bottom: 25px;
    }

    .sec05_sub_tt .sm:before {
        border-left: 17px solid #fff;
        bottom: -14px;
    }

    .sec05_sub_tt {
        margin-bottom: 15px;
    }

    .sec05_tab li.active a {
        padding-bottom: 5px;
    }

    .sec07_group {
        background-size: 490px auto;
    }

    .sec07_img {
        max-width: 250px;
    }

    .sec07_bb {
        top: 30px;
    }

    .sec07_bb dd .lg {
        font-size: 24px;
    }

    .sec07_info {
        margin-bottom: -60px;
    }

    .sec07_ttl_mid {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .sec07_ttl_lg {
        font-size: 22px;
    }

    .sec07_txt p {
        line-height: 1.7;
    }

    .sec07_bb dt {
        height: 40px;
        line-height: 34px;
    }

    .sec_contact_ttl .sm {
        font-size: 15px;
        letter-spacing: -0.02em;
    }

    .sec_contact_ttl .lg {
        font-size: 22px;
        margin-bottom: 10px;
    }

    .sec_contact_item li {
        width: 290px;
    }

    .sec_contact_boxchat a .sm {
        font-size: 11px;
    }

    .sec_contact_boxchat a .lg img {
        width: 40px;
    }

    .sec_contact_boxchat a:before {
        height: 102px;
        right: -8px;
        bottom: 0px;
        background-size: 79px auto;
        width: 82px;
    }

    .ft_bnr li {
        width: 290px;
    }

    .ft_bnr_left .lg {
        font-size: 18px;
    }

    .ft_bnr_left .sm {
        font-size: 12px;
    }

    address,
    .nav_address {
        font-size: 11px;
    }

    .ft_bnr li.sub04 .ft_bnr_left .sm {
        width: 120px;
    }

    .nav_list .parent .sub .nav_sub ul li a,
    .sub a
    {
        font-size: 12px;
    }
    .sub a .sm{
        font-size: 12px;
        width: 140px;
        left: calc(50% - 70px);
    }
}