.sp440,
.sp425,
.sp360 {
    display: none
}

@media screen and (min-width: 1921px) {
    .to_top {
        right: calc(50% - 960px);
    }

    .sec08_img {
        left: 0;
    }
}

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

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

    .is_scroll .h_contact_mail a {
        height: 100px;
        width: 223px;
        font-size: 22px;
        background-size: 28px auto;
        background-position: left 23px top 20px;
        padding-top: 10px;
        padding-left: 35px;
    }

    .is_scroll .h_contact_mail a>span {
        font-size: 18px;
        margin-top: 7px;
        margin-left: -35px;
    }

    .is_scroll .h_contact_mail a>span .num {
        font-size: 22px;
    }

    .is_scroll .h_contact_tel a {
        margin-bottom: -8px;
    }

    .is_scroll .h_contact_tel .time {
        padding-bottom: 3px;
        margin-bottom: -3px;
    }

    .is_scroll .h_contact_tel {
        padding-top: 16px;
    }

    .is_scroll .h_box {
        animation: scrolltop 1s;
        animation-iteration-count: 1;
    }

    .is_scroll nav {
        margin-top: 0;
        margin-left: auto;
        margin-right: 15px;
        border-radius: 0 0 10px 10px;
    }

    .is_scroll #logo {
        transform: scale(0.9) translateY(-10px);
        padding-top: 0;
        margin-bottom: -20px;
    }

    .is_scroll .h_inner {
        padding: 0 17px 0 13px;
    }

    .hamburger {
        display: none;
    }

    nav {
        width: 877px;
        background: #e4f3fc;
        border-radius: 10px;
        margin-top: 30px;
        align-self: flex-start;
        transition: all 0.3s;
    }

    nav .inner {
        padding: 0;
    }

    .nav_list {
        display: flex;
    }

    .nav_list li {
        flex: auto;
    }

    .nav_list .sub li {
        margin-bottom: 7px;
    }

    .nav_list>li>a,
    .nav_list>li>.hook {
        display: flex;
        align-items: center;
        font-weight: 700;
        padding: 44px 0px 5px 0;
        height: 100px;
        justify-content: center;
        letter-spacing: 0.05em;
        position: relative;
    }

    .nav_list>li:not(:last-child)>a,
    .nav_list>li:not(:last-child)>.hook {
        background: url("../images/line_menu.png") no-repeat right center;
    }

    .nav_list>li.parent,
    .nav_list>li.parent>.hook {
        cursor: pointer
    }

    .nav_list>li.parent>.hook {}

    .nav_list>li.parent>.hook:before {
        position: absolute;
        content: "";
        background: url("../images/arrow_down.png") no-repeat center bottom/21px;
        width: 21px;
        height: 13px;
        left: 0;
        right: 0;
        bottom: -6px;
        margin: 0 auto;
    }

    .nav_list>li.parent.active>.hook:before {
        background: url("../images/arrow_down_w.png") no-repeat center bottom/21px;
        z-index: 99;
    }

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

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

    .sub {
        position: absolute;
        z-index: 10;
        transition: all .3s;
        width: 100%;
        top: 94%;
        left: 0;
        background: var(--mcolor);
        border-radius: 10px;
        text-align: left;
        padding: 30px 40px 20px;
        box-shadow: 1px 1px 10px 0px rgba(0, 0, 0, 0.1);
        pointer-events: none;
        opacity: 0;
        visibility: hidden
    }

    .sub ul li a {
        font-size: 18px;
        width: auto;
        letter-spacing: 0.05em;
        color: #fff;
        font-weight: 700;
        display: table;
        background: url("../images/arrow_w.png") no-repeat right center/20px;
        padding-right: 30px;
        pointer-events: auto;
    }

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

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

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

    .sub a:hover {
        text-decoration: none;
        color: var(--scolor);
    }

    .to_top img:hover,
    .find_a:hover,
    .mv_bnr li:hover,
    .sec03_bnr a:hover,
    .sec10_link:hover {
        opacity: .8
    }

    .sec08_item .slick-next:hover {
        background: url(../images/icon_next_hover.png) no-repeat center / 21px;
    }

    .sec08_item .slick-prev:hover {
        background: url(../images/icon_prev_hover.png) no-repeat center / 21px;
    }

    .sec08 .slick-dots li.slick-active button,
    .sec08 .slick-dots li button:hover {
        background: #67a4cf;
        width: 44px;
        border-radius: 7px;
    }

    .h_over_tras {
        transition: all 0.3s;
    }

    .h_over_tras:hover {
        transform: translateY(-20px);
    }

    .h_contact_mail a:hover {
        background-color: var(--scolor)
    }

    .sec02_list li a:hover {
        background-color: #1479ba;
        color: #fff;
    }

    .cta_contact a:hover {
        background: var(--mcolor);
    }

    .sec06_item>div:hover,
    .sec07:hover .sec07_w:before {
        background: #feffe4;
    }

    .h_over a {
        position: relative;
    }

    .h_over a:before {
        position: absolute;
        content: "";
        width: 0%;
        transition: all 0.3s;
        height: 100%;
        left: 0;
        top: 0;
        background: rgba(255, 255, 255, 0.2);
    }

    .h_over a:hover:before {
        width: 100%;
    }

    .sec10_load dl dd a:hover {
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    .ft_link_big p a:hover,
    .ft_link li:not(.big) a:hover {
        color: var(--scolor);
    }

    .sec02_list li.item1,
    .sec02_list li.item3,
    .sec02_list li.item5,
    .sec02_list li.item7,
    .sec02_list li.item9,
    .sec02_list li.item11 {
        margin-right: 13px;
    }

    .sec06_ttl {
        padding-left: 5px;
    }

    .sec08_ttl {
        background-position: left 10px top 10px;
    }

    .sec08_tt {
        padding-bottom: 3px;
    }
}

@media screen and (min-width: 751px) and (max-width: 1800px) {
    #logo {
        width: 280px;
    }

    .nav_list li {
        width: auto !important;
    }

    .nav_list .icon1 {
        background-position: center top 18px;
    }

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

    nav {
        width: 500px;
        flex-grow: 1;
        margin-right: 20px;
    }

    .nav_list .icon1 {
        padding-left: 0;
    }

    .nav_list .icon5 {
        padding-right: 0;
        background-position: center top 18px;
    }

    .sub {
        padding: 30px 30px 20px;
    }

    .h_left {
        margin-right: 25px;
    }

    .h_contact_tel a {
        font-size: 26px;
        background-size: 19px auto;
        padding-left: 26px;
    }

    .h_contact_tel .time {
        font-size: 14px;
        width: 100%;
    }

    .h_contact_tel .time .num {
        font-size: 16px;
        margin-left: 4px;
    }

    .h_contact_mail a {
        color: #FFF;
        font-weight: bold;
        text-align: center;
        display: flex;
        align-items: center;
        width: 200px;
        height: 140px;
        font-size: 22px;
        background: url(../images/icon_mail.png) var(--mcolor) no-repeat center top 16px / 40px;
        padding-top: 47px;
    }

    .h_contact>p:not(:last-child) {
        margin-right: 15px;
    }

    main {
        padding-top: 165px;
    }

    .mv_txt .wrap {
        width: 690px;
        right: -25px;
        padding-top: 30px;
    }

    .mv_txt_sub.tt1,
    .mv_txt_sub.tt2 {
        font-size: 35px;
    }

    .mv_txt_sub.tt2 .lg {
        font-size: 52px;
    }

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

    .mv_txt_sub.tt1 {
        width: 360px;
        height: 56px;
    }

    .mv_txt_sub.tt3 {
        width: 260px;
        height: 56px;
    }

    .mv_logo {
        width: 360px;
    }

    .mv_txt_sub.tt2 {
        width: 640px;
        height: 80px;
    }

    .mv_bg:before {
        height: 60px;
    }

    .mv_check li span {
        font-size: 24px;
        padding-left: 35px;
        background-size: 30px auto;
        background-position: left top 6px;
    }

    .mv_check {
        padding-left: 70px;
        margin-bottom: 25px;
    }

    .mv_check li {
        width: 255px;
        height: 60px;
        padding-top: 15px;
    }

    .mv_check li:before {
        bottom: -17px;
        background-size: 185px auto;
    }

    .mv_check li.sub2:before {
        bottom: -15px;
        background-size: 148px auto;
    }

    .mv_bg,
    .mv_slider_ite {
        height: 575px;
    }

    .mv:before {
        height: 635px;
    }

    .mv_list li {
        font-size: 18px;
    }

    .mv_list li .stl {
        font-size: 20px;
    }

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

    .mv_list li {
        width: 300px;
    }

    .mv_list .item3 {
        width: 255px;
    }

    .mv_list .item2>span {
        padding-left: 83px;
    }

    .mv_list .item1>span {
        padding-left: 52px;
    }

    .mv_list .item3:before,
    .mv_list .item4:before {
        left: 0;
        right: 0;
        margin: 0 auto;
    }

    .mv_list .item4 {
        width: 270px;
    }

    .mv_list .item2 {
        width: 320px;
    }

    .mv_list {
        left: 0;
        padding: 0 20px;
        bottom: 15px;
    }

    .mv_l {
        padding-bottom: 155px;
    }

    .mv_r {
        padding-bottom: 155px;
    }

    .mv_txt_sub .lg {
        font-size: 32px;
        margin-bottom: 5px;
    }

    .mv_txt_sub .sm {
        font-size: 20px;
    }

    .mv_txt_sub_sm {
        font-size: 16px;
    }

    .mv_txt_sub_lg {
        margin-bottom: 5px;
    }

    .sec06 .inner {
        width: 1510px;
    }

    .sec06_item {
        padding: 0 20px;
    }

    .sec06_item>div.item1:before {
        left: -15px;
        width: calc(100% + 17px);
    }

    .sec06_item>div.item2:before {
        right: -15px;
        width: calc(100% + 17px);
    }

    .sec06_item>div.item2:before {
        right: -15px;
        bottom: -20px;
        width: calc(100% + 17px);
    }

    .sec07:before {
        right: 100px;
        left: auto;
    }

    .sec07:after {
        right: 10px;
    }

    .sec08_item .slick-next {
        right: 4px;
    }

    .sec08_item .slick-prev {
        left: 4px;
    }

    .sec08_item .slick-slide {
        width: 450px;
    }

    .sec07 .inner:before {
        right: -115px;
        background-size: 270px auto;
    }

    .sec07 .inner:after {
        right: -120px;
        background-size: 250px auto;
    }

    .sec05_item>div .img img {
        border-radius: 12px;
    }

    .sec08_item .slick-track {
        padding: 55px 0 21px;
    }

    .sec08_item .icon {
        right: -9px;
        width: 75px;
        top: -54px;
    }
}

@media screen and (min-width: 751px) and (max-width: 1500px) {
    .h_box {
        min-width: inherit;
    }

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

    .sub ul li a {
        font-size: 15px;
        letter-spacing: 0em;
    }

    #logo {
        width: 220px;
        padding-top: 30px;
    }

    .h_contact_mail a>span,
    .is_scroll .h_contact_mail a>span {
        font-size: 16px;
    }

    .h_contact_mail a>span .num,
    .is_scroll .h_contact_mail a>span .num {
        font-size: 20px;
    }

    .is_scroll #logo {
        transform: scale(1) translateY(10px);
    }

    .is_scroll .h_contact_mail a>span {
        margin-left: -30px;
    }

    .h_contact_mail a,
    .is_scroll .h_contact_mail a {
        width: 180px;
    }

    .h_contact_mail a>span {
        width: 145px;
        height: 30px;
        line-height: 30px;
        margin-top: 8px;
        font-size: 16px;
        padding-left: 0px;
    }

    .is_scroll .h_contact_mail a {
        height: 100px;
        width: 170px;
        font-size: 17px;
        background-size: 21px auto;
        background-position: left 15px top 22px;
        padding-top: 10px;
        padding-left: 30px;
    }

    .sec01_ttl:after {
        right: -23px;
    }

    .mv_list {
        bottom: 10px;
    }

    .mv {
        margin-bottom: 0px;
    }

    .mv:before {
        height: 450px;
    }

    .mv_r {
        width: 380px;
    }

    .mv_bnr li {
        width: 300px;
    }

    .mv_l {
        width: calc(100% - 380px);
    }

    .mv_bg,
    .mv_slider_ite {
        height: 545px;
    }

    .mv_l {
        padding-bottom: 120px;
    }

    .mv_r {
        padding-bottom: 120px;
    }

    .mv_txt .wrap {
        padding-top: 20px;
    }

    .mv_check li span {
        font-size: 18px;
        padding-left: 25px;
        background-size: 20px auto;
        background-position: left top 11px;
    }

    .mv_check li.sub2 span {
        padding-left: 25px;
    }

    .mv_check li {
        width: 205px;
        height: 60px;
        padding-top: 15px;
    }

    .mv_check li:before {
        bottom: -18px;
        background-size: 140px auto;
        width: auto;
    }

    .mv_check li.sub2 {
        width: 180px;
        position: relative;
        left: 20px;
        top: 50px;
        padding-right: 7px;
    }

    .mv_check li.sub2:before {
        bottom: -15px;
        background-size: 110px auto;
    }

    .mv_txt_sub.tt1,
    .mv_txt_sub.tt2 {
        font-size: 26px;
    }

    .mv_txt_sub.tt1 {
        width: 275px;
        height: 50px;
    }

    .mv_txt_sub.tt2 .lg {
        font-size: 38px;
    }

    .mv_logo {
        width: 270px;
    }

    .mv_txt_sub.tt2 {
        width: 490px;
        height: 55px;
    }

    .mv_txt .wrap {
        width: 535px;
    }

    .mv_check {
        margin-bottom: 16px;
    }

    .mv_txt_sub.tt1 {
        margin-bottom: 20px;
    }

    .mv_list li {
        height: 70px;
    }

    .mv_list .item1>span {
        background-size: 35px auto;
        background-position: left 10px center;
        padding-left: 45px;
    }

    .mv_list .item2>span {
        padding-left: 70px;
        background-size: 60px auto;
        background-position: left center;
    }

    .mv_list li {
        font-size: 16px;
    }

    .mv_list li .stl {
        font-size: 18px;
    }

    .mv_list .item3:before,
    .mv_list .item4:before {
        background-size: 70px auto;
    }

    .mv_list .item4:before {
        top: -25px;
    }

    .mv_txt_sub.tt3 {
        width: 210px;
        height: 50px;
        font-size: 26px;
    }

    .mv_txt_sub .lg {
        font-size: 28px;
        margin-bottom: 8px;
    }

    .mv_txt_sub .sm {
        font-size: 19px;
    }

    .mv_txt_sub_sm {
        font-size: 15px;
    }

    .mv_txt_sub {
        width: 420px;
        padding: 19px 15px 20px;
    }

    .sec11_item {
        max-width: 1230px;
    }

    .sec01_ttl .lg {
        letter-spacing: 0em;
    }

    .sec01_ttl:before {
        left: -20px;
        top: 10px;
    }

    .sec05_item>div .tt {
        width: 260px;
        font-size: 22px;
    }

    .sec06_icon.icon1 {
        right: 19px;
        width: 135px;
    }

    .sec06_icon.icon2 {
        right: 25px;
        width: 150px;
    }

    .sec07:after {
        top: 110px;
        background-size: 220px auto;
    }

    .sec08 .inner {
        width: 1300px;
    }

    .sec08_item .slick-slide {
        width: 370px;
    }

    .sec08_item .tt {
        font-size: 18px;
        padding-right: 0px;
    }

    .sec08_item .slick-slide,
    .sec08_item .slick-slide.item3 {
        padding: 24px 20px 20px;
    }

    .sec09_box {
        margin-right: 30px;
    }

    .sec08_item .icon {
        top: -54px;
    }

    .sec07 .inner:before {
        right: -15px;
    }

    .sec07 .inner:after {
        right: -10px;
    }

    .sec10 .inner {
        width: 1320px;
    }

    .sec10_load {
        width: 100%;
    }

    .sec01_item>div.item5:after {
        right: -44px;
    }

    .sec01_item>div.item3:after {
        left: -40px;
    }

    .sec09_box:after {
        width: 390px;
        height: 563px;
        left: -214px;
        bottom: -100px;
        background-size: 390px auto;
    }
}

@media screen and (min-width: 751px) and (max-width: 1350px) {

    .nav_list>li>a,
    .nav_list>li>.hook {
        letter-spacing: 0em;
    }

    nav {
        width: 670px;
        margin-left: auto;
    }

    #logo {
        width: 190px;
    }

    .h_right {
        margin-left: auto;
    }

    .h_contact_tel a {
        font-size: 24px;
        background-size: 17px auto;
        padding-left: 23px;
    }

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

    .h_contact_tel .time .num,
    .h_contact_txt {
        font-size: 14px;
    }

    .h_contact_mail a,
    .is_scroll .h_contact_mail a {
        width: 150px;
        font-size: 18px;
    }

    .is_scroll .h_contact_tel {
        padding-top: 33px;
    }

    .h_contact_mail a {
        background-size: 30px auto;
        height: 130px;
        padding-top: 40px;
    }

    .is_scroll .h_contact_mail a {
        font-size: 16px;
        background-size: 21px auto;
        background-position: left 15px top 22px;
    }

    .h_left {
        margin-right: 20px;
    }

    .h_contact_mail a>span {
        font-size: 15px;
    }

    .h_contact_mail a>span .num,
    .is_scroll .h_contact_mail a>span .num {
        font-size: 18px;
    }

    .h_contact_mail a>span {
        width: 130px;
    }

    .is_scroll nav {
        margin-top: 0;
        margin-left: 0;
        margin-right: 15px;
    }

    .mv_r {
        width: 330px;
    }

    .mv_l {
        width: calc(100% - 330px);
    }

    .sec01_box {
        width: 1230px;
    }

    .sec01_ttl .lg {
        font-size: 42px;
    }

    .sec01_ttl:before {
        left: 5px;
    }

    .sec01_ttl:after {
        right: -5px;
        top: -3px;
    }

    .sec01_item>div:not(:nth-child(3n)) {
        margin-right: 20px;
    }

    .sec01_item>div {
        width: 376px;
    }

    .sec01_item>div.item3:after {
        left: -47px;
    }

    .sec01_item>div.item5:after {
        right: -48px;
    }

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

    .sec02_list li {
        width: 300px;
        font-size: 18px;
    }

    .sec02_list li.item2 {
        padding-left: 25px;
    }

    .sec05_item>div {
        width: 290px;
    }

    .sec06_tt {
        font-size: 22px;
        align-items: center;
        padding-top: 12px;
    }

    .sec06_item>div {
        padding: 0px 35px;
    }

    .sec06_icon.icon1 {
        width: 125px;
    }

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

    .sec08 .inner {
        width: 1300px;
    }

    .sec08_item .slick-slide {
        margin: 0 16px;
    }

    .sec08_item .icon {
        width: 75px;
        right: -15px;
    }

    .sec09_box:after {
        width: 340px;
        left: -130px;
        bottom: -172px;
        background-size: 300px auto;
        height: 505px;
    }

    .sec09_stl.stl2 {
        right: -38px;
    }

    .sec10 .inner {
        width: 1240px;
    }

    .sec10_load {
        width: 100%;
    }

    .sec07 .inner:before {
        right: 10px;
        background-size: 240px auto;
    }

    .sec07 .inner:after {
        right: 10px;
        background-size: 250px auto;
    }

    .sec08 .slick-list:before {
        width: 8px;
    }

    .sec08_item .slick-next {
        right: -5px;
    }

    .sec08_item .slick-prev {
        left: -5px;
    }
}

/* 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: 16px;
    }

    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: 80px;
    }

    nav .inner {
        padding: 0;
    }

    .nav_list {
        flex-direction: column;
        background: #e4f3fc;
    }

    .nav_cta {
        margin-top: 30px;
    }

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

    .nav_list .parent .sub ul li {
        background: var(--mcolor);
    }

    .nav_list .parent .sub ul li a {
        background: url("../images/arrow_w.png") no-repeat right 10px center/18px;
        color: #fff;
        line-height: 1.4;
        padding-right: 35px;
        font-size: 15px;
    }

    .nav_list .parent .sub ul li:not(:last-child) {
        border-bottom: 1px solid #a5c8de;
    }

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

    .nav_list .sub a {
        padding-left: 15px;
    }

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

    .nav_list li {
        width: 100% !important;
        padding-right: 0;
    }

    .nav_list .icon1,
    .nav_list .icon2,
    .nav_list .icon3,
    .nav_list .icon4,
    .nav_list .icon5 {
        background-size: 30px auto;
        background-position: left 13px center;
        padding-left: 0;
    }

    .nav_list .icon5 {
        padding-right: 0px;
    }

    .nav_list .icon1 {
        background-size: 24px auto;
    }

    .nav_list .icon2 {
        background-size: 18px auto;
        background-position: left 15px top 19px;
    }

    .nav_list .icon3 {
        background-size: 27px auto;
        background-position: left 10px center;
    }

    .nav_list .icon4 {
        background-size: 24px auto;
        background-position: left 11px top 18px;
    }

    .nav_list .icon5 {
        background-size: 18px auto;
        background-position: left 15px top 18px;
    }

    .nav_list .icon1 a,
    .nav_list .icon2 a,
    .nav_list .icon3 a,
    .nav_list .icon4 a,
    .nav_list .icon5,
    .nav_list .hook {}

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

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

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

    .sub {
        display: none
    }

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

    .sub a {
        color: var(--mcolor);
        border-bottom: none;
    }

    .hamburger {
        position: absolute;
        right: 8px;
        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;
        background: var(--mcolor);
    }

    /*=====================================================
                          C U S T O M
    ======================================================*/
    /*============ HEADER ============*/
    h1 {
        width: 160px;
    }

    #logo {
        padding-top: 7px;
    }

    .h_left {
        margin-right: 15px;
        margin-top: 0px;
    }

    .h_box:before {
        display: none;
    }

    .h_inner {
        padding: 0 15px;
    }

    .h_box {
        height: 60px
    }

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

    /* MAIN VISUAL */
    .mv_bg,
    .mv_slider_ite,
    .mv_slider_ite .bg {
        height: auto;
    }

    .mv_txt h2 {
        font-size: 6vw;
        position: absolute;
        top: 24vw;
    }

    .mv {
        flex-direction: column;
        padding: 0 15px;
        margin-bottom: 50px;
    }

    .mv:before {
        height: 150vw;
    }

    .mv_l,
    .mv_r,
    .mv_bnr {
        width: 100%;
        padding: 0;
    }

    .mv_l {
        margin-bottom: 15px;
    }

    .mv_l,
    .mv_r {
        background-size: cover;
    }

    .mv_bg {
        flex-direction: column;
    }

    .mv_txt_sub {
        letter-spacing: 0em;
        width: 80vw;
        padding: 2vw 3vw;
    }

    .mv_txt_sub_sm {
        font-size: 3.7vw;
        line-height: 5vw;
    }

    .mv_bg>div {
        width: 100%;
        height: 75vw;
        padding-bottom: 15px;
    }

    .mv_txt_sub_lg {
        margin-bottom: 2vw;
    }

    .mv_txt_sub .sm {
        font-size: 5vw;
        line-height: 7vw;
    }

    .mv_txt_sub .lg {
        font-size: 7vw;
        margin-bottom: 1vw;
        line-height: 9vw;
    }

    .mv_bnr li {
        background: #e4f3fc;
        border: 1px #025f9a solid;
        border-radius: 0 50px 50px 0;
    }

    .mv_bnr li a {
        background: url("../images/arrow_blue_sp.png") no-repeat left 20px top 24px/28px;
        padding: 20px 10px 20px 56px;
        color: #025f9a;
        display: flex;
        align-items: center;
        font-family: var(--f-Shi);
        font-weight: 600;
        position: relative;
        font-size: 22px;
    }

    .mv_bnr li a:before {
        position: absolute;
        content: "";
    }

    .mv_bnr li.bnr1 a:before {
        background: url("../images/mv_icon1.png") no-repeat right center/85px;
        width: 85px;
        height: 80px;
        right: 20px;
    }

    .mv_bnr li.bnr2 a:before {
        background: url("../images/mv_icon2.png") no-repeat right center/80px;
        width: 80px;
        height: 80px;
        right: 25px;
    }

    .mv_bg {
        box-shadow: 5px 5px 0px 0px rgba(20, 121, 186, 0.1);
    }

    .mv_txt {
        margin-top: 40px;
    }

    .mv_txt .wrap {
        width: 100%;
        padding: 20px 2vw 0;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .mv_check {
        padding-left: 0;
        margin-bottom: 5vw;
    }

    .mv_check li span,
    .mv_check li.sub2 span {
        letter-spacing: 0;
        background-size: 5vw auto;
        padding-left: 6vw;
        font-size: 4.5vw;
        line-height: 7vw;
        padding-bottom: 2vw;
        background-position: left top 1.5vw;
    }

    .mv_check li span {}

    .mv_check li,
    .mv_check li.sub2 {
        width: 48vw;
        height: 12vw;
        padding-top: 1vw;
    }

    .mv_check li.sub2 {
        left: 5vw;
        top: 5vw;
        padding-right: 0;
        width: 35vw;
    }

    .mv_check li:before,
    .mv_check li.sub2:before {
        width: 80%;
        height: 10vw;
        bottom: -7.5vw;
        background-size: 100% auto;
    }

    .mv_check li.sub2:before {
        width: 75%;
    }

    .mv_txt_sub.tt1 {
        width: 60vw;
        height: auto;
        padding-bottom: 1vw;
        margin-bottom: 3vw;
    }

    .mv_txt_sub.tt1,
    .mv_txt_sub.tt2 {
        font-size: 6vw;
        line-height: 11vw;
    }

    .mv_txt_sub.tt2 .lg {
        font-size: 8vw;
        margin-right: 0;
        letter-spacing: 0em;
    }

    .mv_txt_sub.tt2 {
        width: 89vw;
        height: 14vw;
        letter-spacing: 0em;
        padding-bottom: 0;
        padding-left: 0;
        margin-bottom: 3vw;
    }

    .mv_logo {
        left: 0;
        top: 0;
        width: 53vw;
    }

    .mv_txt_sub.tt3 {
        width: auto;
        height: auto;
        margin-left: auto;
        letter-spacing: 0em;
        padding: 1.5vw 2vw 2vw;
        font-size: 5vw;
        line-height: 6vw;
    }

    .mv_bg:before {
        display: none;
    }

    .mv_list {
        left: 0;
        bottom: 0;
        position: relative;
        flex-wrap: wrap;
        margin-top: 25px;
    }

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

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

    .mv_list li,
    .mv_list .item2,
    .mv_list .item3,
    .mv_list .item4 {
        width: calc(50% - 5px);
    }

    .mv_list li {
        margin-bottom: 40px;
        font-size: 18px;
    }

    .mv_list li .stl {
        font-size: 20px;
    }

    .mv_list .item2>span {
        padding-left: 70px;
        background-size: 60px auto;
        background-position: left center;
    }

    .mv_list .item1>span {
        padding-left: 50px;
        background-size: 40px auto;
        background-position: left center;
    }

    .mv_list .item3:before {
        top: -30px;
        left: 0px;
        right: 0;
        margin: 0 auto;
        background-size: 70px auto;
    }

    .mv_list .item4:before {
        top: -30px;
        left: 0px;
        right: 0;
        margin: 0 auto;
        background-size: 80px auto;
    }

    /* sec01 */
    .bg_sec01 {
        width: 100%;
        position: absolute;
        height: 100%;
        background: #dfedf6;
        left: 0;
        top: 155px;
        z-index: -1;
    }

    .sec01 {
        position: relative;
        padding-top: 20px;
        z-index: 1;
    }

    .sec01:after {
        width: 100%;
        height: 100%;
        left: 0;
        top: 215px;
        background-size: 750px auto;
    }

    .sec01_ttl .sm {
        min-width: 230px;
        height: 44px;
        border-width: 1px;
        font-size: 18px;
        margin-bottom: 25px;
    }

    .news_p {
        min-width: unset;
        height: 30px;
        line-height: 29px;
        font-size: 14px;
        top: 3px;
    }

    .sec01:before {
        width: 750px;
        left: calc(50% - 375px);
        background-size: 750px auto;
        background-position: left top 166px, left top 69px;
    }

    .sec01_ttl .lg {
        font-size: 24px;
        letter-spacing: 0em;
    }

    .sec01_ttl:before {
        width: 205px;
        height: 270px;
        left: 0;
        top: 5px;
        background-size: 110px auto, 110px auto;
    }

    .sec01_ttl:after {
        width: 180px;
        height: 154px;
        right: 0;
        top: 11px;
        background-size: 96px auto, 84px auto;
    }

    .sec01_ttl .sm:before,
    .sec03_bnr a .sm:before {
        width: 15px;
        height: 20px;
        border-left: 1px #1479ba solid;
        bottom: -20px;
    }

    .sec03_bnr a .sm:before {
        border-left: 1px #e4f3fc solid;
        bottom: -19px;
    }

    .sec01_item {
        margin-top: 50px;
    }

    .sec01_item>div {
        width: calc(50% - 10px);
        border-radius: 15px;
    }

    .news_p {
        margin-left: 0;
        margin-right: 10px;
    }

    .sec01_item>div.item5 {
        margin-right: 0 !important;
    }

    .sec01_item>div:not(:nth-child(3)) {
        margin-right: 0;
    }

    .sec01_item>div:not(:nth-child(2n)) {
        margin-right: 20px;
    }

    .sec01_item>div.item4 {
        margin-left: 0;
    }

    .sec01_item>div>p {
        font-size: 17px;
        padding-bottom: 0px;
    }

    .sec01_item>div.item6>p {
        letter-spacing: 0em
    }

    .sec01_item>div {
        height: 140px;
    }

    .sec01_item>div:before {
        background-size: 25px auto;
    }

    .sec01_item>div.item6:after,
    .sec01_item>div.item4:after {
        right: auto;
        top: -22px;
        background-size: 50px auto;
        left: 40px;
        width: 50px;
        height: 35px;
    }

    .sec01_item>div.item1:after {
        width: 56px;
        height: 60px;
        right: 10px;
        top: -35px;
        background-size: 56px auto;
    }

    .sec01_item>div.item2:after {
        width: 80px;
        top: -34px;
        background-size: 50px auto;
        left: 40px;
    }

    .sec01_item>div.item3:after {
        width: 48px;
        height: 60px;
        left: -20px;
        top: 40px;
        background-size: 36px auto;
    }

    /*  .sec01_item > div.item6:after, .sec01_item > div.item4:after {
        width: 50px;
        height: 102px;
        left: -16px;
        top: 55px;
        background-size: 50px auto;
    }*/
    .sec01_item>div.item5:after {
        width: 55px;
        right: -29px;
        top: -19px;
        background-size: 43px auto;
    }

    .sec01_box {
        width: 100%;
        height: auto;
        border-radius: 40px 40px 0 0;
        margin-top: -65px;
        padding-top: 50px;
        padding-bottom: 100px;
    }

    .sec01_box p {
        font-size: 22px;
        letter-spacing: 0em;
    }

    .sec01_box p .stl {
        font-size: 28px;
        letter-spacing: 0em;
    }

    /* sec02 */
    .sec02 {
        padding-top: 65px;
        padding-bottom: 60px;
        margin-top: -45px;
    }

    .sec02:after {
        width: 100%;
        left: 0;
        right: 0;
        top: -55px;
        height: 100%;
        background-size: 240px auto;
    }

    .sec02:before {
        background: url(../images/idx_bg02_sp.png) center top /cover;
        left: 0;
        top: 0;
        width: 100%;
        height: 113%;
    }

    .sec02 .inner:after {
        width: 200px;
        height: 80px;
        top: -90px;
        background-size: 200px auto;
    }

    .sec02_tt {
        min-width: auto;
        height: auto;
        font-size: 20px;
        margin: 0 auto 11px;
        line-height: 1.5;
        padding: 15px 20px;
        border-radius: 999px;
    }

    .sec02_ttl {
        font-size: 22px;
        margin-bottom: 15px;
        letter-spacing: -0.032em;
    }

    .sec01_ttl {
        padding-top: 50px;
        margin-bottom: 100px !important;
    }

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

    .sec02_list li {
        width: calc(50% - 5px);
    }

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

    .sec02_list li,
    .sec02_list li.item2 {
        font-size: 16px;
        line-height: 1.4;
    }

    .sec02_list li.item2 {
        padding-left: 25px;
    }

    .sec02_lg {
        font-size: 16px;
        padding: 10px 5px;
        width: 300px;
        margin: 0 auto 22px;
        line-height: 1.4;
        max-width: 100%;
        right: inherit;
    }

    .sec11 {
        background: #f9f9f9;
    }

    .sec11_item {
        margin-top: 20px;
        padding: 20px 0px 0;
    }

    .sec11 .inner {
        padding: 0;
    }

    .sec11_item>li:not(:nth-child(3n)) {
        margin-right: 0px;
    }

    .sec11_item>li {
        width: auto;
        font-size: 15px;
        margin-bottom: 20px;
    }

    .sec11_item .item1 .icon1,
    .sec11_item .item2 .icon2,
    .sec11_item .item3 .icon3,
    .sec11_item .item4 .icon4,
    .sec11_item .item5 .icon5 {
        padding-left: 0;
        background-position: center top;
        padding-top: 49px;
        width: 195px;
    }

    .sec11_item .item1 .icon1 {
        background-size: 48px auto;
    }

    .sec11_item .item2 .icon2 {
        background-size: 27px auto;
    }

    .sec11_item .item3 .icon3 {
        background-size: 35px auto;
    }

    .sec11_item .item4 .icon4 {
        background-size: 51px auto;
    }

    .sec11_item .item5 .icon5 {
        background-size: 36px auto;
    }

    /* sec03 */
    .sec03 {
        z-index: 3;
        padding-top: 40px;
        padding-bottom: 50px;
    }

    .sec03:before {
        position: absolute;
        content: "";
        background: url(../images/curve_gray.png) no-repeat center bottom / 1920px;
        left: 0;
        top: 0;
        width: 100%;
        height: 113%;
    }

    .sec03_bnr a {
        background: url(../images/idx_bnr1_sp.png) no-repeat center top / 400px;
        width: 100%;
        height: 300px;
        padding-top: 0px;
        padding-left: 0px;
        max-width: 400px;
        margin: 0 auto;
    }

    .sec03_bnr a:before {
        width: 200px;
        height: 160px;
        right: auto;
        bottom: 120px;
        background-size: 200px auto;
        left: 4px;
    }

    .sec03_bnr a .sm {
        position: relative;
    }

    .sec03_bnr a {
        flex-direction: column;
        padding-top: 210px;
        align-items: center;
    }

    .sec03_bnr a .sm {
        width: 310px;
        height: 51px;
        left: 0;
        top: -50px;
        font-size: 19px;
        line-height: 46px;
        position: relative;
        margin-bottom: -20px;
        border-width: 1px;
    }

    .sec03_bnr a .mid {
        font-size: 28px;
    }

    .sec03_bnr a .lg {
        font-size: 35px;
    }

    .sec05_item>div:not(:last-child) {
        margin-right: 0px;
    }

    /* sec04 */
    /* sec05 */
    .sec05 {
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .sec05_item {
        flex-wrap: wrap;
        margin-bottom: -10px;
    }

    .sec05_item>div {
        width: calc(50% - 10px);
        margin-bottom: 40px;
    }

    .sec05_item>div .tt {
        width: calc(100% - 20px);
    }

    .sec05_item>div:not(:nth-child(2n)) {
        margin-right: 20px;
    }

    .sec05_item>div .img img {
        border-radius: 14px;
    }

    .sec05_item>div .num {
        top: -20px;
        width: 66px;
        height: 66px;
        font-size: 30px;
        font-weight: 700;
        background-size: 66px auto;
    }

    .sec05_item>div .img img {
        width: 100%;
    }

    .sec05_item>div .tt {
        width: calc(100% - 40px);
        height: 80px;
        font-size: 20px;
        margin-bottom: 10px;
    }

    .sec05_item>div .txt {
        font-size: 15px;
    }

    .sec05_ttl .tt {
        font-size: 28px;
    }

    .sec05_ttl .tt .num {
        font-size: 40px;
    }

    .sec05_ttl .sec05_logo img {
        width: 250px;
    }

    .sec05_ttl .sm {
        font-size: 20px;
        line-height: 42px;
        width: 260px;
        border-width: 1px;
        height: 44px;
    }

    .sec05_ttl .sm:before {
        border-left: 1px #1479ba solid;
        border-top: 1px #fff solid;
        height: 20px;
        bottom: -20px;
    }

    .sec05_ttl {
        margin-bottom: 50px;
    }

    .sec05:before {
        background-size: 1200px 320px;
        left: 0;
        bottom: 0px;
        width: 750px;
        height: 534px;
    }

    /* sec06 */
    .sec06 {
        padding-top: 0;
        margin-top: -27px;
        padding-bottom: 0;
    }

    .sec06:after {
        position: absolute;
        content: "";
        background: url("../images/curve_line.png") no-repeat center top;
        background-size: 1200px 20px;
        height: 100px;
        left: -184px;
        top: 25px;
        width: 1200px;
    }

    .sec06:before {
        display: none;
    }

    .ttl3 {
        margin: 0 auto -15px;
        height: 70px;
        background-size: 30px auto;
        top: -37px;
        font-size: 24px;
        width: auto;
        min-width: 400px;
        padding-bottom: 3px;
    }

    .sec06_ttl:before {
        width: 80px;
        height: 114px;
        right: -11px;
        bottom: -1px;
        background-size: 80px auto;
    }

    .sec06_img {
        margin-bottom: 0;
    }

    .sec06_item {
        flex-direction: column;
    }

    .sec06_item>div.item1,
    .sec06_item>div.item2 {
        margin-right: 0;
        margin-bottom: 70px;
        padding-bottom: 20px;
    }

    .sec06_item>div {
        width: 100%;
        height: auto;
        padding: 0 15px;
    }

    .sec06_item {
        padding: 0 10px;
    }

    .sec06_item>div.item1:before,
    .sec06_item>div.item2:before {
        left: -10px;
        bottom: -10px;
        border-radius: 20px;
        width: calc(100% + 20px);
        height: calc(100% - 5px);
    }

    .sec06_item>div {
        border-radius: 15px;
    }

    .sec06_tt {
        font-size: 19px;
        height: 103px;
        padding-top: 15px;
        margin-bottom: 15px;
        justify-content: center;
        text-align: center;
        letter-spacing: -0.02em;
    }

    .sec06_box_tt span {
        transform: rotate(-2deg);
        font-size: 16px;
        padding: 7px 0 0 29px;
    }

    .item1 .sec06_box_tt,
    .item2 .sec06_box_tt {
        top: -30px;
        background-size: 220px auto;
    }

    .sec06_txt {
        margin-bottom: 55px;
    }

    /* sec07 */
    .sec07 {
        padding-top: 60px;
        margin-bottom: 50px;
        margin-bottom: 150px;
    }

    .sec07 .inner:before,
    .sec07 .inner:after {
        display: none;
    }

    .sec07:before {
        display: none;
    }

    .sec07_sp {
        margin-bottom: 0;
        border-radius: 0 40px 40px 0;
        width: calc(100% - 50px);
        overflow: hidden;
    }

    .sec07_sp img {
        width: 100%;
        height: 500px;
        object-fit: cover;
    }

    .sec07:after {
        background: url(../images/sec07_bg.png) no-repeat right top / 306px;
        height: 477px;
        mix-blend-mode: multiply;
        width: 160px;
        right: 15px;
        top: 62px;
        background-size: 160px auto;
        z-index: 9;
        position: absolute;
        content: "";
    }

    .sec07 .inner {
        position: absolute;
        z-index: 8;
        background: #fff;
        border-radius: 20px 0 0 20px;
        top: 280px;
        right: 0;
        padding: 50px 20px 0px;
        width: calc(100% - 20px) !important;
    }

    .sec07_ttl .sm:before {
        height: 20px;
        bottom: -20px;
    }

    .sec07_tt {
        text-align: center;
        color: var(--txt);
        font-size: 20px;
        font-weight: 700;
        width: 100%;
        margin: 0 auto 40px;
        padding-top: 0;
        line-height: 1.5;
    }

    .sec07_ttl .sm {
        width: 150px;
        height: 42px;
        line-height: 40px;
        font-size: 20px;
        margin-bottom: 20px;
    }

    .sec07_ttl .lg {
        font-size: 21px;
    }

    /* sec08 */
    .sec08 {
        padding-bottom: 100px;
    }

    .sec08:before {
        width: 1200px;
        height: 456px;
        left: 0;
        bottom: -150px;
        background-size: 1200px auto;
    }

    .sec08_ttl:before {
        width: 90px;
        height: 89px;
        right: -5px;
        bottom: 0px;
        background-size: 90px auto;
    }

    .sec08_ttl.ttl3 {
        height: auto;
        min-height: 70px;
        padding: 7px 5px;
        font-size: 20px;
    }

    .sec08_item .slick-track {
        padding: 25px 0 100px;
    }

    .sec08_tt {
        height: auto;
        padding: 5px 10px;
        line-height: 1.4;
        font-size: 18px;
        margin-bottom: 15px;
    }

    .sec08_item .icon img {
        width: 80px;
        border-radius: 50%;
    }

    .sec08_item .icon {
        right: 0;
        top: auto;
        left: 0;
        bottom: -95px;
        margin: 0 auto;
        display: flex;
        justify-content: center;
    }

    .sec08_item .icon:before {
        position: absolute;
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 5px solid transparent;
        border-left: 5px solid transparent;
        border-bottom: 11px solid #1479ba;
        border-top: 0;
        left: 0;
        right: 0;
        top: -10px;
        margin: 0 auto;
    }

    .sec08_item .slick-next {
        right: 25px;
    }

    .sec08_item .slick-prev {
        left: 25px;
    }

    .sec08_item .slick-prev,
    .sec08_item .slick-next {
        height: 40px;
        width: 21px;
        top: auto;
        bottom: -60px;
    }

    .sec08_item .slick-prev,
    .sec08_item .slick-next {
        background-size: 18px auto;
    }

    .sec08_txt {
        margin-bottom: 15px;
    }

    .sec08_item .slick-slide,
    .sec08_item .slick-slide.item3 {
        padding: 24px 20px 20px;
        margin: 0 10px;
    }

    .sec08_item .tt {
        font-size: 18px;
    }

    .sec08_item .txt {
        min-height: inherit;
    }

    .sec08 .slick-list:before {
        display: none;
    }

    .sec09 {
        height: auto;
        padding-bottom: 50px;
        padding-top: 75px;
    }

    .sec09:before,
    .sec09_box:after,
    .sec09_box:before {
        display: none;
    }

    .sec09_box {
        width: 100%;
        margin-top: 30px;
        padding: 0;
        height: auto;
        background: #fff;
    }

    .sec09_ttl {
        font-size: 28px;
        margin-bottom: 20px;
        text-align: center;
    }

    .sec09_tt {
        font-size: 24px;
        padding-left: 0px;
        margin-bottom: 20px;
        text-align: center;
        line-height: 1.5;
    }

    .sec09_stl.stl1 {
        left: calc(50% - 125px);
        top: 10px;
        width: 80px;
        height: 49px;
        background-size: 80px auto;
    }

    .sec09_stl.stl2 {
        right: -7px;
        top: -35px;
        width: 100px;
        height: 100px;
        background-size: 100px auto;
        z-index: 9;
    }

    .sec09_stl.stl3 {
        right: -25px;
        bottom: -65px;
        width: 70px;
        height: 65px;
        background-size: 50px auto;
    }

    .sec10_item {
        flex-direction: column;
    }

    .sec10_ttl {
        font-size: 28px;
        margin-bottom: 30px;
        left: 0;
        text-align: center;
    }

    .sec10 {
        background: #e4f3fc;
        padding: 45px 0;
    }

    .sec10_item .item_l {
        width: 100%;
        margin-right: 0;
        flex-shrink: 0;
        padding-top: 0;
    }

    .sec10_item .item_r {
        width: 100%;
    }

    .sec10_load {
        width: 100%;
        height: auto;
        padding: 25px 15px;
        margin-bottom: 30px;
    }

    .sec10_load dl {
        flex-direction: column;
    }

    .sec10_load dl dt {
        margin-right: 0;
        margin-bottom: 5px;
        width: 100%;
    }

    .sec10_load dl dt .date {
        margin-right: 15px;
        font-size: 16px;
    }

    .sec10_load dl dt .cate {
        min-width: 76px;
        height: 30px;
        line-height: 29px;
        font-size: 14px;
        top: 3px;
    }

    .sec10_link a {
        font-size: 18px;
        padding-bottom: 3px;
        padding-right: 25px;
        display: table;
        margin: 0 auto;
    }

    /*============ FOOTER ============*/
    .btn a {
        width: 280px;
        height: 60px;
        border-radius: 35px;
        font-size: 18px;
        background-size: 18px auto;
    }

    .sec_cta {
        padding: 50px 15px;
        z-index: 4;
    }

    .sec_cta:before {
        background-size: auto 100%;
        width: 100%;
        height: 100%;
        left: 0;
    }

    .sec_cta .inner {
        height: auto;
        padding-bottom: 40px;
        border-width: 4px;
    }

    .cta_link {
        flex-direction: column;
    }

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

    .cta_tt {
        font-size: 20px;
        letter-spacing: 0em;
    }

    .cta_tt .stl {
        font-size: 24px;
    }

    .cta_logo .img {
        margin-right: 0;
        width: 220px;
    }

    .cta_logo .tt {
        font-size: 25px;
        bottom: 0;
    }

    .cta_logo .tt:before {
        width: 100%;
        height: 7px;
        bottom: -1px;
    }

    .cta_tt:before {
        width: calc(100% + 6px);
        height: 7px;
        left: -3px;
        bottom: 7px;
    }

    .sec_cta .inner:before {
        width: 150px;
        top: -45px;
        background-size: 150px auto;
    }

    .cta_tt_box:before {
        width: calc(100% - 30px);
        left: 15px;
        top: 8px;
        background-size: 76px auto;
        background-position: left top, right top;
    }

    .cta_tel_item {
        margin-bottom: 50px;
    }

    .cta_link li .tt.tt2 span {
        padding: 5px 0 5px 30px;
        background-size: 24px auto;
    }

    .cta_link li:not(:last-child):before {
        height: 1px;
        width: 400px;
        top: auto;
        bottom: -25px;
        margin: 0 auto;
        left: 0;
        right: 0;
    }

    footer {
        margin-bottom: 50px;
    }

    .ft_top {
        padding-top: 40px;
    }

    address {
        font-size: 14px;
        margin-top: 15px;
        line-height: 1.4;
        padding-bottom: 20px;
    }

    .ft_info {
        position: relative;
        width: 100%;
        top: 0;
        margin-top: 20px;
    }

    .ft_logo {
        left: 0;
    }

    .ft_logo img {
        width: 260px;
    }

    .ft_add {
        text-align: center;
        margin-bottom: 15px;
        letter-spacing: 0em;
        font-size: 16px;
    }

    .gg_link {
        text-align: center;
        padding-right: 0;
    }

    .gg_link a {
        margin: 0 auto;
    }

    /* SP CONTACT */
    .sp_contact {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 60px;
        position: fixed;
        left: 0;
        z-index: 99;
        bottom: -65px;
        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: #fff;
    }

    .sp_contact li a span {
        position: relative;
    }

    .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 {
        font-size: 20px;
        font-family: var(--f-en);
        font-weight: bold;
    }

    .sp_contact_tel span {
        background: url("../images/icon_tel_cta2_w.png") no-repeat left top 8px/16px;
        padding-left: 20px;
    }

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

    .sp_contact_mail a {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .sp_contact_mail a .sm {
        background: #fff;
        font-size: 14px;
        border-radius: 20px;
        line-height: 22px;
        text-align: center;
        color: var(--txt);
        font-weight: bold;
        padding: 0px 15px;
        margin-top: 5px;
    }

    .sp_contact_mail a .lg {
        font-weight: 700;
        font-size: 16px;
        line-height: 1.2;
    }

    /* TO TOP */
    .to_top {
        width: 50px;
        height: 50px;
        right: 10px;
        bottom: 62px;
    }

    .ft_bnn p {
        margin: 30px 10px 0;
    }

    /*============ END 750 ============ */
}

@media screen and (max-width: 640px) {
    .mv_list {
        flex-direction: column;
        max-width: 345px;
        width: 100%;
    }

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

    .mv_list li,
    .mv_list .item2,
    .mv_list .item3,
    .mv_list .item4 {
        width: 100%;
    }

    .mv_list .item3:before {
        left: 0;
        right: 0;
        margin: 0 auto;
    }

    .mv_list .item4:before {
        left: 0;
        right: 0;
        margin: 0 auto;
    }

    .sec05_item>div .tt {
        font-size: 16px;
    }

    .sec06_icon {
        position: relative;
        text-align: center;
        margin-bottom: 15px;
    }

    .sec06_icon.icon1,
    .sec06_icon.icon2 {
        right: 0;
        top: 0;
        left: 0;
    }

    .sec06_tt {
        height: auto;
        padding-top: 0;
        padding-bottom: 7px;
    }
}

@media screen and (min-width: 441px) and (max-width: 750px) {
    .sec06_icon {
        right: 10px !important;
        top: 22px !important;
    }

    .sec06_icon img {
        width: 100px;
    }
}

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

    .pc440 {
        display: none !important
    }

    .mv_txt h2 {
        top: 28vw;
    }

    .sec01_item>div>p {
        font-size: 15px;
        padding-bottom: 0px;
        letter-spacing: 0em;
    }

    .sec01_item>div:before {
        background-size: 18px auto;
    }

    .sec01_item>div {
        height: 125px;
    }

    .sec01_item>div.item2:after {
        right: auto;
        left: 32px;
    }

    .sec01_ttl:before {
        width: 125px;
        height: 270px;
        background-size: 65px auto, 65px auto;
    }

    .sec01_ttl:after {
        width: 138px;
        height: 100px;
        top: 3px;
        background-size: 74px auto, 57px auto;
    }

    .sec01_item>div.item2:after {
        width: 70px;
        top: -28px;
    }

    .sec01_item>div.item1:after {
        width: 48px;
        height: 60px;
        top: -30px;
        background-size: 48px auto;
    }

    .sec01_item>div.item5:after {
        top: -20px;
    }

    .cta_tt_box:before {
        width: calc(100% - 22px);
        background-size: 50px auto;
        background-position: left 15px top, right 25px top;
        top: 4px;
    }

    .cta_tel a,
    .cta_contact a {
        width: 280px;
        height: 114px;
    }

    .cta_tel a .cta_tel_l .hour .stl3 {
        display: block;
        text-align: center;
    }

    .cta_round {
        width: 70px;
        height: 70px;
        padding-top: 3px;
        font-size: 14px;
    }

    .cta_tel a .cta_tel_l .num {
        padding: 0px 0 0px 38px;
        margin-bottom: 0px;
        background-position: left 15px center;
        background-size: 18px auto;
        font-size: 24px;
        line-height: 1.2;
    }

    .cta_tel a .cta_tel_l .hour .stl1 {
        font-size: 14px;
        margin-right: 4px;
    }

    .cta_tel a .cta_tel_l .hour .stl2 {
        font-size: 16px;
    }

    .hour {
        line-height: 1.4;
    }

    .cta_tel a .cta_tel_l {
        padding-top: 0;
    }

    .cta_link li .tt {
        font-size: 18px;
    }

    .cta_link li .tt.tt1 span {
        background-size: 18px auto;
    }

    .cta_contact a .lg {
        font-size: 22px;
        margin-bottom: 8px;
    }

    .cta_contact a .sm {
        width: 160px;
        height: 30px;
        line-height: 30px;
        font-size: 18px;
    }

    .cta_tt_box {
        padding-top: 60px;
    }

    .cta_link li:not(:last-child):before {
        width: 280px;
    }

    .sec05_item>div .tt {
        width: calc(100% - 20px);
        height: 65px;
        font-size: 15px;
        margin-bottom: 10px;
    }

    .sec05_item>div:not(:nth-child(2n)) {
        margin-right: 10px;
    }

    .sec05_item>div:nth-child(n+3) {
        margin-top: 0px;
    }

    .sec05_item>div {
        width: calc(50% - 5px);
    }

    .ttl3 {
        min-width: auto;
    }

    .sec06 .ttl3 {
        padding-right: 45px;
    }

    .sec06_icon.icon1 img,
    .sec06_icon.icon2 img {
        width: auto;
        height: 80px;
    }

    .sec06_item>div {
        padding-top: 40px;
    }

    .mv_list li {
        font-size: 16px;
    }

    .mv_list li .stl {
        font-size: 18px;
    }

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

    .ft_bnn p {
        margin: 25px 0 0;
    }

    .ft_bnn p:last-child {
        margin-bottom: 0;
    }
}

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

    .sec01_ttl {
        margin-bottom: 70px !important;
    }

    .mv_logo {
        width: 50vw;
    }

    .mv_check li.sub2 {
        left: 2vw;
    }

    .sec01_ttl {
        padding-top: 60px;
    }

    .sec01_ttl .sm {
        min-width: 196px;
        height: 44px;
        border-width: 1px;
        font-size: 16px;
        margin-bottom: 25px;
    }

    .sec01_item>div:before {
        background-size: 12px auto;
    }

    .sec01_box p .stl {
        font-size: 24px;
    }

    .sec02_ttl {
        font-size: 5.2vw;
        line-height: 9vw;
    }

    .sec02_list li,
    .sec02_list li.item2 {
        font-size: 15px;
    }

    .sec02_list li:before {
        border-left: 9px #e4f3fc solid;

    }

    .sec02_list li.item1 {
        padding-left: 15px;
    }

    .sec02_list li:after {

        left: 3px;

    }

    .sec02_list li.item2 {
        padding-left: 15px;
    }

    .sec05_ttl .sec05_logo img {
        width: 190px;
    }

    .sec05_ttl .tt {
        font-size: 24px;
    }

    .sec05_ttl .tt .num {
        font-size: 34px;
    }

    .sec05_item>div:not(:nth-child(2n)) {
        margin-right: 0;
    }

    .sec05_item>div {
        width: calc(100%);
    }

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

    .sec05_item>div .tt {
        font-size: 20px;
        line-height: 1.2;
    }

    .sec05_item>div .tt {
        width: calc(100% - 30px);
        padding-top: 2px;
    }

    .sec05_item>div .txt {
        font-size: 16px;
    }

    .sec11_item .item1 .icon1,
    .sec11_item .item2 .icon2,
    .sec11_item .item3 .icon3,
    .sec11_item .item4 .icon4,
    .sec11_item .item5 .icon5 {
        width: 165px;
    }

    .sec11_item>li {
        font-size: 13px;
    }

    .sec02_list li.item11 {
        padding-left: 15px;
    }
}

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

    .sec08_item.slick-dotted.slick-slider {
        width: calc(100% + 30px);
        position: relative;
        left: -15px;
    }

    .mv_txt_sub.tt2 {
        width: 87vw;
    }

    .mv_bnr li a {
        padding: 20px 10px 20px 40px;
        font-size: 20px;
        background-size: 24px auto;
        background-position: left 12px top 25px;
    }

    .sec01_ttl .lg {
        font-size: 21px;
    }

    .sec01_item>div>p {
        font-size: 3.8vw;
    }

    .sec01_item>div {
        height: 30vw;
        margin-bottom: 25px;
    }

    .sec01_item>div.item4:after {
        /* top: 34px; */
        /* left: -20px; */
        /* background-size: 28px auto; */
    }

    .sec01_item>div.item1:after {
        top: -23px;
        background-size: 34px auto;
    }

    .sec01_item>div.item3:after {
        /* top: -24px; */
        background-size: 32px auto;
        left: -20px;
    }

    .sec01_item>div.item5:after {
        right: -33px;
        background-size: 40px auto;
    }

    .sec01_item>div.item2:after {
        top: -22px;
        background-size: 40px auto;
    }

    .sec02_ttl {
        font-size: 5vw;
    }

    .sec02_tt {
        font-size: 18px;
        padding: 15px;
    }

    .sec02_list li:before {
        border-left: 10px #e4f3fc solid;
    }

    .sec02_list li:after {
        width: 10px;
        height: 10px;
        left: 5px;
        top: calc(50% - 5px);
    }

    .sec03_bnr a .sm {
        width: 270px;
        font-size: 17px;
    }

    .sec03_bnr a .mid {
        font-size: 24px;
    }

    .sec03_bnr a .lg {
        font-size: 30px;
    }

    .cta_tel a,
    .cta_contact a {
        width: 260px;
    }

    .cta_round {
        width: 62px;
        height: 62px;
        padding-top: 0px;
        font-size: 13px;
    }

    .cta_tel a .cta_tel_l .num {
        font-size: 23px;
    }

    .cta_tel a .cta_tel_l .hour .stl1 {
        font-size: 13px;
        margin-right: 2px;
    }

    .cta_tel a .cta_tel_l .hour {
        font-size: 14px;
    }

    .cta_tel a .cta_tel_l .hour .stl2 {
        font-size: 15px;
    }

    .cta_link li .tt.tt2 span {
        padding: 0px 0 5px 30px;
        background-size: 24px auto;
        background-position: left top 5px;
    }

    .sec05_ttl .sec05_logo img {
        width: 175px;
    }

    .sec05_ttl .tt {
        font-size: 20px;
    }

    .sec05_ttl .tt .num {
        font-size: 30px;
    }

    .sec06 .ttl3 {
        font-size: 19px;
    }

    .sec06_ttl:before {
        width: 70px;
        height: 100px;
        background-size: 70px auto;
    }

    .sec07_tt {
        font-size: 18px;
    }

    .sec07_txt p,
    .sec06_txt p {
        font-size: 14px;
    }

    .sec08_ttl.ttl3 {
        padding-right: 60px;
    }

    .sec09_stl.stl2 {
        background-size: 90px auto;
        top: -25px;
    }

    .sec02_list li,
    .sec02_list li.item2 {
        font-size: 13px;
    }

    .sec02_list li.item11 {
        padding-left: 10px;
    }

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

    .sec01_box p .stl {
        font-size: 20px;
    }

    .sec01_ttl {
        padding-top: 105px;
        margin-bottom: 90px !important;
    }

    .sp_contact_mail a .lg {
        font-size: 14px;
    }

    .ft_add {
        font-size: 14px;
    }

    .sec01:before {
        background-position: left top 240px, left top 110px;
    }

    .sec01:after {
        top: 265px;
    }

    .sec08_item .tt {
        font-size: 17px;
    }

    .sec08_item .txt {
        font-size: 15px;
    }

    address {
        font-size: 13px;
    }

    .sec11_item .item1 .icon1,
    .sec11_item .item2 .icon2,
    .sec11_item .item3 .icon3,
    .sec11_item .item4 .icon4,
    .sec11_item .item5 .icon5 {
        width: 145px;
    }

    .mv_txt_sub {
        width: 84vw;
        padding: 2vw 2vw;
    }

    .mv_txt_sub_sm {
        font-size: 4vw;
    }

    .mv_txt_sub .sm {
        font-size: 6vw;
        line-height: 8vw;
    }
}