.sp440, .sp360, .sp425 ,.sc_lap{
    display: none
}
.sub ul li a {
    background: url("../images/arrow_menu.png") no-repeat left 50px top 16px/9px;
    padding-left: 25px;
}
@media screen and (min-width: 1921px) {
    .sec05:before {
        left: calc(50% - 960px);
    }
    .sec09_img {
        width: 100%;
        left: 0;
        max-width: 1920px;
        margin: 0 auto;
    }
    .sec09:before {
        bottom: 0;
        left: 0;
        width: 100%;
        background-repeat: repeat-x;
    }
    .cta_fixed .ft_cta_item {
        justify-content: center;
    }
    .cta_fixed .ft_cta_item:after {
        left: calc(50% - 960px);
    }
    .sec08:before {
        width: 100%;
        left: 0;
        bottom: 0;
        background-repeat: repeat-x;
    }
    .sec04_item .item1 {
        left: 0;
    }
    .sec04_img.img1 {
        left: 0;
    }
    .sec02:before {
        width: 100%;
        left: 0;
        background-size: 100% 100%;
    }
    .bor_w:before {
        border-left: none;
    }
    .sec13 .inner::after {
        left: 0;
        width: calc(100% - 1200px);
        height: 785px;
    }
}
@media screen and (min-width: 751px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
    .sp {
        display: none
    }
    /* nav */
    .hamburger {
        display: none;
    }
    nav {
        margin-top: 10px;
    }
    nav .inner {
        width: auto;
    }
    .nav_list {
        display: flex;
        gap: 55px;
        justify-content: flex-end;
    }
    .nav_list > li > a, .nav_list > li > .sub_btn {
        display: flex;
        align-items: center;
        position: relative;
        font-weight: 700;
        padding: 5px 0;
        height: 60px;
        text-align: center;
    }
    .nav_list > li > .sub_btn {
        padding-right: 35px;
    }
    .nav_list > li.parent {
        position: relative;
    }
    .nav_list > li.parent > .sub_btn {
        cursor: pointer
    }
    .nav_list > li.parent > .sub_btn:before {
        position: absolute;
        content: "";
        background: url("../images/arrow_down.png") no-repeat right center;
        width: 21px;
        height: 13px;
        right: 0;
        top: calc(50% - 6px);
        transition: all 0.3s;
    }
    .nav_list > li.parent > .sub_btn.open:before {
        transform: rotate(180deg);
    }
    .sub {
        position: absolute;
        z-index: 1;
        width: 400px;
        top: 80%;
        left: calc(50% - 200px);
        border-radius: 10px;
        background: var(--mcolor);
        box-shadow: 2px 0px 12px 0px rgba(0, 0, 0, 0.2);
        padding: 28px 0 29px;
        display: none;
    }
    .last .sub {
        top: 100%;
        right: 0;
        left: inherit;
    }
    .sub ul li a {
        font-size: 20px;
        display: flex;
        width: 100%;
        align-items: center;
        letter-spacing: .001em;
        padding: 5px 50px 5px 65px;
        margin: 0 auto;
        color: #fff;
        font-weight: 400;
        min-height: 43px;
    }
    .sec13 .sec13_list .item.bg1 {
        padding-left: 105px;
    }
    .sec13 .sec13_list .item.bg2 {
        padding-left: 52px;
    }
    /*  FOOTER */
    .ft_bnn li:not(:last-child) {
        margin-right: 30px;
    }
    /* hover */
    .ft_link ul li > a:hover, .nav_list > li:hover > a {
        color: var(--mcolor);
        text-decoration: none;
    }
    .sub a:hover {
        background-color: var(--txt);
        text-decoration: none;
    }
    .ft_link ul li p a:hover, .nav_list > li.parent .sub_btn:hover, .nav_list > li.parent .sub_btn.open, .sec12_link a:hover, .sec12_load dl:hover a {
        color: var(--mcolor);
    }
    .sec05_item .item:hover {
        background: var(--scolor);
    }
    .sec06_list li:hover, .sec07_item .item:hover {
        background: var(--org);
    }
    .sec08_btn:hover, .ft_cta_con a:hover {
        background: var(--txt);
    }
    .sec01_btn a:hover {
        background: url("../images/icon_w.png") no-repeat right 20px center/34px var(--txt);
    }
    .sec07 .inner{
    	height: 667px;
    }

    .btn a:hover {
        background: url('../images/icon_w_sm.png') no-repeat right 20px center /27px var(--txt);
    }
    .btn_w a:hover {
        background: url('../images/icon_w_sm.png') no-repeat right 20px center /27px var(--org);
    }
    .ft_bnn li a:hover, .to_top img:hover, .slick-arrow:hover {
        opacity: .8
    }

}
@media screen and (min-width: 751px) and (max-width: 1800px) {
    .h_left {
        width: 300px;
    }
    .nav_list {
        gap: 40px;
    }
    .mv_txt {
        transform: scale(0.8);
        top: -10px;
    }
    .mv {
        height: 645px;
    }
    main {
        padding-top: 100px;
    }
    nav {
        margin-top: 0px;
    }
    .mv_txt:before {
        left: -10px;
        bottom: -169px;
    }
    .mv_ttl3 {
        left: auto;
        top: -210px;
        right: 85px;
    }
    .mv_txt:after {
        right: -500px;
        bottom: -94px;
        width: 720px;
    }
    .mv_txt {
        left: -150px;
        padding-top: 0px;
    }
    .sec01_item .item {
        width: 700px;
    }
    .sec01_title {
        font-size: 22px;
        margin-bottom: 25px;
    }
    .sec01_date {
        font-size: 20px;
    }
    .sec01_ttl .lg {
        font-size: 70px;
    }
    .sec01_btn a {
        height: 70px;
        font-size: 22px;
    }
    .sec01_ttl:before {
        left: calc(50% - 630px);
    }
    .sec_cta1_box {
        width: 1240px;
    }
    .sec_cta1_box .item {
        padding: 42px 20px 0;
    }
    .sec_cta1_txt {
        font-size: 24px;
    }
    .sec_cta1_box .title {
        width: calc(100% - 40px);
    }
    .sec_cta1 .share_btn {
        width: 1100px;
    }
    .sec_cta1_ttl .lg {
        font-size: 70px;
    }
    .sec_cta1_box:after {
        left: 70px;
    }
    .sec04 {
        padding-bottom: 0;
        margin-bottom: -1px;
    }
    .sec04_item .item1 {
        left: -70px;
    }
    .sec04_ttl {
        font-size: 46px;
    }
    .sec04_item .wrap {
        margin-left: 150px;
        padding-left: 50px;
        padding-bottom: 70px;
    }
    .sec04_box {
        left: -60px;
    }
    .sec04_txt {
        padding-right: 40px;
    }
    .sec04_item {
        padding-right: 30px;
    }
    .sec04_img.img3 {
        right: -55px;
        width: 450px;
    }
    .sec04 .btn a {
        width: 310px;
    }
    .sec04_title {
        right: 510px;
    }
    .sec04_img.img1 {
        top: -340px;
        width: 200px;
    }
    .sec04_img.img2 {
        right: 168px;
        top: -340px;
        width: 280px;
    }
    .sec04_title .lg {
        font-size: 32px;
        padding-top: 30px;
    }
    .sec04_title .sm {
        font-size: 20px;
        margin-left: 20px;
    }
    .sec04_img.img3 {
        right: 115px;
        width: 340px;
        top: -120px;
    }
    .sec05_wrap:after {
        left: 0;
        top: -40px;
    }
    .sec05 .inner {
        width: 100%;
    }
    .sec05 .inner:before {
        width: calc(100% - 264px);
        left: 0;
    }
    .sec05_txt2 {
        /* padding-right: 0; */
        max-width: 1270px;
        margin: 0 auto 55px;
    }
    .sec05_ttl {
        max-width: 1270px;
        margin: 0 auto 32px;
    }
    .sec05 .inner:after {
       width: 42vw;
        height: 31vw;
        right: 0;
    }
    .sec08_item:before {
        width: 1400px;
        left: calc(50% - 700px);
    }
    .sec09_img .item {
        width: calc(50% - 10px);
    }
    .cta_fixed .ft_cta_con a {
        width: 32vw;
        height: 90px;
        font-size: 18px;
    }
    .cta_fixed .ft_cta_con a:before {
        width: 42px;
        height: 29px;
        left: 4vw;
        top: calc(50% - 14px);
    }
    .to_top {
        width: 80px;
        height: 80px;
        right: 10px;
    }
    .cta_fixed .ft_cta_label {
        width: 343px;
        height: 110px;
        margin-right: 10px;
        flex-shrink: 0;
    }
    .ft_cta_label .sm {
        font-size: 20px;
        margin-bottom: 5px;
    }
    .ft_cta_label .lg {
        font-size: 32px;
    }
    .cta_fixed .ft_cta_label:after {
        width: 369px;
        height: 99px;
        left: -32px;
        top: 6px;
    }
    .cta_fixed .ft_cta_label:before {
        width: 30px;
        height: 44px;
        left: -26px;
        top: 38px;
    }
    .cta_fixed .ft_cta_item .label {
        margin-right: 5px;
        width: 110px;
        height: 30px;
        font-size: 16px;
    }
    .cta_fixed .ft_cta_subitem.ml01 .label {
        width: 80px;
    }
    .cta_fixed .ft_cta_item .txt {
        font-size: 16px;
        line-height: 1.3;
    }
    .cta_fixed .ft_cta_tel a {
        font-size: 28px;
        padding-left: 27px;
        background-size: 19px auto;
        background-position: left top 10px;
    }
    .cta_fixed {
        height: 120px;
    }
    .cta_fixed .ft_cta_box_tel {
        padding-top: 0;
    }
    .cta_fixed .ft_cta_tel {
        margin-bottom: 5px;
    }
    .cta_fixed .ft_cta_item_hour {
        margin-bottom: 0;
    }
    .cta_fixed .ft_cta_con a span {
        padding-left: 50px;
        background-size: 40px auto;
    }
    .cta_fixed .ft_share_btn {
        gap: 15px;
    }
    footer {
        margin-bottom: 120px;
    }
    .sec05:before {
        width: 285px;
        height: 525px;
        left: 35px;
    }
    .sec13::before {
        transform: scale(0.7);
        transform-origin: left;
        right: -130px;
        left: inherit;
    }
    .sec13 .sec13_list {
        zoom: 0.85;
    }
    .sec13 .sec13_bot::before {
        zoom: 0.85;
        top: -225px;
    }
    .sec13 .inner::before {
        left: inherit;
        right: 0;
        width: calc(100% - 50px);
        height: 860px;
    }
    .sec13 .inner::after {
        width: calc(100% - 50px);
        left: 0;
    }
    .ft_cta_con a {
        width: 420px;
        height: 130px;
        font-size: 24px;
        padding-left: 45px;
    }
    .ft_cta_con a:before {
        width: 61px;
        height: 42px;
        left: 30px;
        top: calc(50% - 21px);
    }
    .ft_cta_item {
        margin: 0 auto;
    }
    .cta_fixed .ft_cta_item {
        max-width: 100%;
    }
    .ft_cta_tel{width: 290px;}
    .cta_fixed .ft_cta_tel{width: auto;}
    .ft_cta_tel a {
        font-size: 36px;
        padding-left: 35px;
        background-size: 26px auto;
        background-position: left 5px top 13px;
    }
    .ft_cta_subitem.ml01 {
        margin-left: 20px;
    }
    .ft_cta_item .txt, .ft_cta_item .label {
        font-size: 15px;
    }
    .ft_info {
        padding-right: 0;
        max-width: 1180px;
        margin: 0 auto;
    }
    .ft_link .inner {
        justify-content: center;
    }
    .ft_link ul:not(:last-child) {
        margin-right: 40px;
    }
    .ft_link ul li p {
        font-size: 24px;
    }
    .ft_link ul li p a {
        background-position: left top 10px;
    }
    .ft_cta_tel {
        margin-bottom: 5px;
    }
    .ft_cta_item_hour {
        margin-bottom: 15px;
    }
    .cta_fixed .ft_cta_label {
        padding-bottom: 3px;
    }
    .cta_fixed .ft_cta_label .sm {
        margin-bottom: 0;
    }
    .ft_cta_label {
        width: 335px;
        height: 150px;
        flex-shrink: 0;
    }
    .ft_cta_label:after {
        width: 317px;
        height: 166px;
        left: 9px;
        top: -26px;
    }
    .ft_cta_label:before {
        left: 98px;
    }
    .ft_share_btn {
        gap: 20px;
    }
    .ft_cta_ttl .lg {
        font-size: 65px;
    }
    .ft_cta_item:after {
        width: 280px;
        height: 316px;
        left: 55px;
        top: -200px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1500px) {
    .inner {
        padding-left: 30px;
        padding-right: 30px;
    }
    .mv {
        height: 525px;
    }
    .nav_list > li > a, .nav_list > li > .sub_btn {
        font-size: 18px;
    }
    .h_inner {
        padding: 10px 0px 10px 20px;
    }
    .nav_list {
        gap: 25px;
    }
    .sub ul li a {
        font-size: 18px;
        padding: 5px 30px 5px 30px;
        background-position: left 15px top 17px;
    }
    .sub {
        width: 320px;
        left: calc(50% - 160px);
    }
    .mv_txt {
        transform: scale(0.65);
        top: -50px;
        left: -160px;
    }
    .mv_txt:after {
        bottom: -218px;
        right: -660px;
        width: 700px;
    }
    .mv_ttl3 {
        right: -75px;
    }
    .mv_txt:before {
        left: -150px;
        bottom: -295px;
    }
    main {
        padding-top: 80px;
    }
    .sec01_item .item {
        padding: 15px;
    }
    .sec01_item .sec01_img {
        border-radius: 20px;
        height: 290px;
    }
    .sec01_item .item {
        width: 550px;
        border-width: 3px;
    }
    .sec01_title {
        font-size: 20px;
    }
    .sec01_ttl:before {
        left: calc(50% - 502px);
        width: 280px;
        height: auto;
        aspect-ratio: 23/25;
        top: 110px;
    }
    .sec01_ttl:after {
        width: 100px;
        height: 101px;
        right: calc(50% - 375px);
        top: 85px;
    }
    .sec01_item .slick-prev, .sec01_item .slick-next {
        height: 147px;
        width: 70px;
    }
    .sec01_item .slick-center.item {
        padding-bottom: 15px;
    }
    .sec04_item .item1 {
        width: 900px;
    }
    .sec04_box {
        width: 550px;
        height: 110px;
        top: -110px;
        left: -50px;
        margin-bottom: -69px;
    }
    .sec04_box .en {
        font-size: 28px;
        margin-right: 30px;
        left: -10px;
    }
    .sec04_box .en:before {
        right: -32px;
        top: -18px;
    }
    .sec04_item .item2 {
        margin-left: -500px;
        padding-top: 160px;
        margin-top: 50px;
    }
    .sec04 .btn a {
        width: 280px;
    }
    .sec04_ttl {
        font-size: 42px;
    }
    .sec04_title {
        right: 360px;
        top: 30px;
    }
    .sec05 .inner {
        /* width: 1200px; */
    }
    .sec05 .inner:before {}
    .sec05_wrap:after {
        left: 0;
        top: -30px;
        width: 100px;
        height: 105px;
    }
    .sec05_wrap {
        padding-top: 65px;
    }
    .sec05 .inner:before {
        width: calc(100% - 470px);
    }
    .sec05_ttl {
        font-size: 52px;
        margin-bottom: 15px;
    }
    .sec05_item {
        gap: 20px;
        margin-bottom: 30px;
    }
    .sec05_title {
        font-size: 32px;
        margin-left: 0;
    }
    .sec05_item .item {
        width: 365px;
        padding: 30px 25px 38px;
    }
    .sec05_num:before {
        width: 245px;
        right: 10px;
        bottom: 10px;
    }
    .sec05:before {
        left: 15px;
        width: 280px;
        height: 497px;
    }
    .sec07_des {
        font-size: 18px;
    }
    .sec08_item:before {
        width: 1260px;
        left: calc(50% - 630px);
    }
    .sec09_img:before {
        width: 360px;
        height: 315px;
        left: 0;
    }
    .sec11 .inner {
        width: 1200px;
        padding: 49px 0px 0 50px;
    }
    .sec11 .inner:before {
        border-radius: 30px;
    }
    .sec11_ttl1 {
        font-size: 45px;
    }
    .sec11_ttl2 {
        font-size: 36px;
    }
    .sec11_ttl1:before {
        left: -280px;
    }
    .cta_fixed .ft_cta_con a {
        width: 27vw;
        height: 70px;
        padding-bottom: 0px;
        font-size: 18px;
    }
    .cta_fixed .ft_cta_item:after {
        width: 130px;
        height: 153px;
        left: 5px;
        top: -30px;
    }
    .cta_fixed .ft_cta_item {
        padding: 1px 140px 0 110px;
    }
    .cta_fixed .ft_cta_label:before {
        top: 26px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1280px) {
    .mv_ttl1 {
        margin-left: 0;
    }
    .mv_ttl2 {
        left: -9px;
    }
    .mv_txt:after {
        right: -650px;
    }
    .sec_cta1_box {
        width: 1190px;
    }
    .sec05:before {
        width: 220px;
        height: 390px;
    }
    .sec05 .inner:before {
        width: calc(100% - 370px);
    }
    .sec05 .inner:after {
        width: 540px;
        height: 390px;
    }
    .sec08_item {
        gap: 20px;
    }
    .sec08_item .item {
        width: 560px;
    }
    .sec08_item:before {
        width: 1200px;
        left: calc(50% - 600px);
    }
    .sec09_txt {
        padding: 0 30px 0;
    }
    .sec10 .inner {
        padding: 0 30px 0 30px;
    }
    .sec13 .inner::before {
        height: 700px;
    }
    .sec13 .inner::after {
        height: 500px;
    }
    .sec13::before {
        transform: scale(0.6);
        right: -200px;
    }
    .nav_list > li > a, .nav_list > li > .sub_btn {
        font-size: 16px;
        line-height: 1.6;
    }
    .cta_fixed .ft_cta_con a span {
        padding-left: 35px;
        background-size: 30px auto;
    }
    .ft_cta_label .lg {
        font-size: 26px;
    }
    .ft_cta_label .sm {
        font-size: 18px;
        margin-bottom: 0px;
    }
    .cta_fixed .ft_cta_label {
        width: 290px;
        height: 96px;
        margin-right: 15px;
    }
    .cta_fixed .ft_cta_label:after {
        width: 309px;
        height: 83px;
        left: -25px;
        top: 6px;
    }
    .cta_fixed .ft_cta_item .label {
        height: 25px;
    }
    .cta_fixed .ft_cta_con a {
        width: 320px;
    }
}
/* 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 {
        font-size: 18px;
    }
    img {
        max-width: 100%;
        height: auto;
    }
    .swap img {
        width: auto;
    }
    #wrapper, header, main, footer, .inner {
        width: 100% !important;
        min-width: unset !important
    }
    .pc {
        display: none !important
    }
    body.is_active {
        overflow: hidden;
    }
    /* NAV */
    nav {
        display: block;
        position: fixed;
        top: 60px;
        left: 0;
        width: 100%;
        height: calc(100vh - 60px);
        overflow: auto;
        padding-bottom: 120px;
        z-index: 100;
        display: none;
        background: #fff;
    }
    nav .ft_cta_item:after {
        display: none;
    }
    nav .inner {
        padding: 0;
    }
    .nav_list {
        flex-direction: column;
        background: var(--mcolor);
        padding-bottom: 100px;
    }
    .nav_list ul, .nav_list li {
        width: 100%
    }
    .nav_list .parent .sub ul li {
        background: #fff;
    }
    .nav_list .parent .sub ul li:not(:last-child) {
        border-bottom: 1px solid #ddd;
    }
    .nav_list .sub_btn, .nav_list a {
        display: block;
        padding: 13px 15px 12px;
        color: #fff;
        font-size: 16px;
        font-weight: 600;
        border-bottom: solid 1px #fff;
        line-height: 1.4;
    }
    .nav_list .sub_btn {
        position: relative;
        padding-left: 15px
    }
    .nav_list .sub_btn::before, .nav_list .sub_btn::after {
        content: "";
        position: absolute;
        width: 16px;
        height: 2px;
        background-color: #FFF;
        top: calc(50% - 1px);
        right: 10px;
        transition: all 0.3s;
    }
    .nav_list .sub_btn::after {
        transform: rotate(-90deg);
    }
    .nav_list .sub_btn.open::after {
        transform: rotate(0);
    }
    .sub {
        display: none
    }
    .sub ul:not(:last-child) {
        margin-bottom: 15px
    }
    .sub ul li a {
        color: #333;
        border-bottom: none;
        background: url(../images/icon_org_lg.png) no-repeat left 20px top 20px / 6px;
        padding-left: 35px;
    }
    .sub ul li a br {
        display: none;
    }
    .hamburger {
        position: absolute;
        right: 15px;
        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 ============*/
    .h_box {
        height: 60px
    }
    .h_inner {
        padding: 0 15px;
    }
    #logo {
        width: 220px;
    }
    /*============ Main ============*/
    main {
        padding-top: 60px;
    }
    /* MAIN VISUAL */
    .mv_txt:after {
        width: 380px;
        right: -90px;
        bottom: 0;
    }
    .mv_ttl1 .sm {
        font-size: 23px;
        margin-bottom: 10px;
        text-shadow: 2px 3px 0px rgba(0, 0, 0, 0.2);
    }
    .mv_ttl1 .lg {
        font-size: 60px;
        text-shadow: 3px 5px 0px rgba(0, 0, 0, 0.2);
        width: 100%;
        margin-bottom: 10px;
    }
    .mv_ttl1 .mid {
        font-size: 30px;
        text-shadow: 2px 3px 0px rgba(0, 0, 0, 0.2);
        line-height: 1.3;
        width: 100%;
    }
    .mv_ttl1 .mid .xlg {
        margin-right: 0px;
    }
    .mv_ttl2 {
        left: 15px;
        top: 5px;
        width: 180px;
    }
    .mv_ttl1 {
        margin-left: 15px;
    }
    .mv_txt:before {
        width: 100%;
        height: 200px;
        left: 0;
        bottom: -94px;
        background-size: 400px auto;
    }
    .mv {
        height: 570px;
    }
    .mv_ttl3 {
        margin-left: auto;
        left: auto;
        top: 60px;
        position: absolute;
        width: 220px;
        right: 10px;
    }
    /* sec01 */
    .sec01 {
        padding: 50px 0;
    }
    .sec01:before {
        height: 395px;
    }
    .sec01_ttl .lg {
        font-size: 40px;
    }
    .sec01_ttl .sm {
        font-size: 30px;
        width: 170px;
        height: 56px;
    }
    .sec01_ttl .sm:before {
        width: 66px;
        height: 78px;
        left: -47px;
        top: -13px;
    }
    .sec01_item .item, .sec01_item .slick-center.item {
        width: 300px;
        border: 2px var(--mcolor) solid;
        padding: 15px;
        margin: 0 -5px;
        border-radius: 20px;
    }
    .sec01_item .sec01_img {
        height: 180px;
    }
    .sec01_item .sec01_img {
        border-radius: 15px;
    }
    .sec01_date {
        font-size: 16px;
    }
    .sec01_title {
        font-size: 18px;
        margin-bottom: 20px;
    }
    .sec01_item .slick-prev, .sec01_item .slick-next {
        height: 120px;
        width: 60px;
    }
    .sec01_btn a {
        height: 50px;
        font-size: 18px;
        background-size: 20px auto;
    }
    .sec01_ttl:before {
        width: 140px;
        height: auto;
        aspect-ratio: 23/25;
        left: calc(50% - 185px);
        top: 119px;
    }
    .sec01_ttl {
        margin-bottom: 60px;
    }
    .sec01_item .slick-dots li, .slick-dots li button {
        width: 28px;
        height: 4px;
    }
    .sec01_item .slick-dots li {
        margin: 0 3px;
    }
    .sec01_item.slick-slider {
        margin-bottom: 70px;
    }
    .sec01_item .slick-dots {
        bottom: -42px;
    }
    .btn a {
        width: 290px;
        height: 60px;
        font-size: 18px;
        background-size: 20px auto;
        background-position: right 20px center;
        letter-spacing: 0em;
    }
    /* sec02 */
    .sec02 {
        padding-top: 50px;
        padding-bottom: 255px;
    }
    .sec02_ttl .sm {
        font-size: 22px;
        margin-bottom: 8px;
        padding-left: 65px;
    }
    .sec02_ttl .sm:before {
        top: 6px;
    }
    .sec02_ttl .lg {
        font-size: 26px;
    }
    .sec02_item .item.ite1 {
        padding-left: 65px;
    }
    .sec02_item .title {
        font-size: 16px;
        display: block;
    }
    .sec02_item .item.ite2, .sec02_item .item.ite4 {
        padding-left: 15px;
    }
    .sec02_item .item.ite1:before {
        width: 110px;
        height: 125px;
        left: -48px;
        top: -4px;
    }
    .sec02_item .item.ite2:before {
        width: 95px;
        height: 119px;
        right: -46px;
        top: 1px;
    }
    .sec02_item .item.ite3:before {
        width: 84px;
        height: 116px;
        left: -48px;
        top: 10px;
    }
    .sec02_item .item.ite4:before {
        width: 98px;
        height: 118px;
        right: -50px;
        top: 15px;
    }
    .sec02_item .item.ite3 {
        padding-left: 40px;
    }
    .sec02:before {
        width: 750px;
        height: 665px;
        left: calc(50% - 375px);
        bottom: 30px;
    }
    .sec02_ttl .lg:before {
        width: 70px;
        height: 50px;
        right: -14px;
        top: -18px;
    }
    .sec01_ttl:after {
        width: 60px;
        height: 60px;
        right: calc(50% - 165px);
        top: -6px;
    }
    /* sec03 */
    .sec_cta1_box {
        width: 100%;
        height: auto;
        border-radius: 20px;
        grid-template-columns: repeat(1, 1fr);
        padding-bottom: 90px;
    }
    .sec_cta1_box .ite1:before {
        width: calc(100% - 40px);
        height: 2px;
        right: auto;
        top: auto;
        left: auto;
        bottom: 0;
    }
    .sec_cta1_box .item.ite1 {
        padding-bottom: 20px;
    }
    .sec_cta1_box .item {
        padding: 20px 20px 0;
    }
    .sec_cta1_box .title {
        border-radius: 10px;
        font-size: 24px;
        height: 60px;
        width: 100%;
        margin-bottom: 20px;
    }
    .sec_cta1_box .ite2 .title {
        padding-right: 0;
    }
    .sec_cta1_tel a {
        font-size: 36px;
        padding-left: 31px;
    }
    .sec_cta1_txt .hour {
        margin-left: 0px;
        font-size: 18px;
        display: block;
    }
    .sec_cta1_tel a:before {
        width: 26px;
        height: 34px;
        left: 0;
        top: 10px;
    }
    .sec_cta1_ttl {
        width: 100%;
        height: 120px;
        margin-bottom: 170px;
        padding-right: 0;
        border-radius: 20px 20px 0 0;
        left: 0;
    }
    .sec_cta_btn a {
        width: 280px;
        height: 110px;
        font-size: 20px;
        padding-top: 0;
    }
    .sec_cta1 .share_btn {
        width: calc(100% - 60px);
        height: 70px;
        margin-top: -70px;
        gap: 15px;
    }
	.sec_cta1 .share_btn img,.ft_share_btn img {
		width: 25px;
	}
    .sec_cta1_txt {
        font-size: 20px;
        margin-left: 0;
        text-align: center;
    }
    .sec_cta1_box .title .ic_1:before {
        width: 20px;
        height: 32px;
        left: 0;
        top: 3px;
    }
    .sec_cta1_box .title .ic_1 {
        padding-left: 30px;
    }
    .sec_cta1_box .ite1 .title {
        padding-right: 0;
        margin-bottom: 25px;
    }
    .sec_cta_btn a .label {
        width: 170px;
        height: 40px;
        line-height: 41px;
        font-size: 20px;
        margin-top: 5px;
    }
    .sec_cta_btn a:before {
        width: 24px;
        height: 24px;
        right: 10px;
        top: calc(50% - 12px);
    }
    .sec_cta1_box .title .ic_2:before {
        width: 40px;
        height: 27px;
        left: 0;
        top: 7px;
    }
    .sec_cta1_box .title .ic_2 {
        padding-left: 50px;
    }
    .sec_cta1_box:after {
        width: 240px;
        height: 368px;
        left: calc(50% - 120px);
        top: -223px;
    }
    .sec_cta1_ttl .sm {
        font-size: 22px;
        padding: 0 38px;
        margin-top: -25px;
    }
    .sec_cta1_ttl .sm:before, .sec_cta1_ttl .sm:after {
        width: 38px;
        height: 45px;
    }
    .sec_cta1_ttl .lg {
        font-size: 36px;
    }
    .sec_cta1_ttl:before {
        width: 60px;
        height: 42px;
        right: calc(50% - 172px);
        top: -15px;
    }
    .ic_facebook {
        left: 0;
    }
    /* sec04 */
    .sec04 {
        padding-top: 280px;
        padding-bottom: 0px;
    }
    .sec04_item {
        flex-direction: column;
    }
    .sec04_boximg {
        position: relative;
        bottom: 0;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        padding: 0 15px;
        width: 100%;
        max-width: 400px;
        margin: 30px auto 0;
        justify-content: space-between;
    }
    .sec04_img.img1 {
        position: relative;
        left: 0;
        top: 0;
        width: 105px;
        order: 3;
        margin-top: 20px;
    }
    .sec04_img.img2 {
        position: relative;
        top: 0;
        right: 0;
        width: 240px;
        order: 2;
        margin-top: 20px;
    }
    .sec04_img.img2 img, .sec04_img.img1 img {
        border-radius: 18px;
    }
    .sec04_img.img3 {
        position: relative;
        top: 0;
        right: 0;
        order: 1;
    }
    .sec04_item .item2 {
        background: #fff;
        margin-left: 0;
        margin-top: -70px;
        width: calc(100% - 21px);
        padding-top: 0;
        border-radius: 0 40px 40px 0;
    }
    .sec04_item .wrap {
        border-radius: 40px 0px 40px 0;
        margin-left: 0;
        padding: 0 15px 50px;
    }
    .sec04_ttl {
        font-size: 22px;
        margin-bottom: 20px;
        text-align: center;
    }
    .sec04_img.bor_w {
        width: calc(100% - 20px);
    }
    .sec04_item .item1 {
        left: -1px;
    }
    .bor_w:before {
        border-left: none;
    }
    .sec04_box {
        width: 290px;
        height: 70px;
        top: -70px;
        left: 0;
        right: 0;
        margin: 0 auto -30px;
    }
    .bor_w:before, .bor_w1:before, .bor_w2:before {
        border-width: 4px;
        border-radius: 10px;
        width: 100%;
        height: 100%;
        top: 0;
    }
    .bor_w1:before, .bor_w2:before {
        border-left: 4px #fff solid;
    }
    .sec04_title {
        top: 15px;
        right: 35px;
    }
    .sec04_title .sm {
        font-size: 13px;
        margin-left: 5px;
    }
    .sec04_title .lg {
        font-size: 20px;
        padding-top: 8px;
    }
    .sec04_box .en {
        font-size: 18px;
        margin-right: 15px;
        left: 0;
    }
    .sec04_box .ja {
        font-size: 15px;
        padding-left: 10px;
    }
    .sec04_box .ja .lg {
        font-size: 130%;
        margin-left: 5px;
    }
    .sec04_box:before {
        width: 44px;
        height: 20px;
        left: 0;
        bottom: -20px;
        right: 0;
        margin: 0 auto;
    }
    .sec04_box .en:before {
        width: 2px;
        height: 48px;
        right: -14px;
        top: -10px;
    }
    .sec04_txt {
        margin-bottom: 20px;
        padding-right: 0;
    }
    .bor_w2:before {
        width: 100%;
        height: 100%;
        border-radius: 10px;
        border-width: 4px;
        left: 0;
        top: 0;
    }
    .box_btn {
        flex-direction: column;
        align-items: center;
        gap: 0;
    }
    /* sec05 */
    .sec05 {
        padding-top: 40px;
        padding-bottom: 50px;
    }
    .sec05 .inner:after {
        display: none;
    }
    .sec05 .inner:before {
        width: calc(100% - 30px);
        height: calc(100% - 100px);
        left: 0;
        top: 0;
        border-radius: 30px;
        right: 0;
        margin: 0 auto;
    }
    .sec05_ttl {
        font-size: 26px;
        text-align: center;
        width: fit-content;
        margin: 0 auto 25px;
        position: relative;
    }
    .sec05_wrap {
        padding-top: 40px;
    }
    .sec05_img {
        text-align: center;
        padding: 0 15px;
    }
    .sec05_txt2 {
        margin-bottom: 25px;
        padding: 0 15px;
    }
    .sec05_wrap:after {
        width: 60px;
        height: 63px;
        left: calc(50% - 170px);
        top: 13px;
    }
    .sec05_ic {
        text-align: center;
        height: 21vw;
        width: 100%;
        left: 0;
    }
    .sec05_item .ite1 .sec05_ic img {
        left: 0;
    }
    .sec05_ic img {
        width: 240px;
    }
    .sec05_num {
        font-size: 40px;
        margin-bottom: 5px;
    }
    .sec05_num:before {
        width: calc(100% - 33px);
        height: 1px;
        right: -10px;
        bottom: 6px;
    }
    .sec05_title {
        font-size: 4vw;
        margin-bottom: 10px;
        margin-left: 0;
    }
    .sec05_item {
        margin: 0 auto 60px;
        gap: 5px;
        justify-content: flex-start;
        padding: 0 10px;
    }
    .sec05_item .item {
        width: calc(50% - 3px);
        padding: 20px 15px 20px;
    }
    .sec05_item .item.ite5{
        margin: 0 auto;
    }
    .sec05_item .ite2 .sec05_ic img, .sec05_item .ite3 .sec05_ic img, .sec05_item .ite4 .sec05_ic img, .sec05_item .ite5 .sec05_ic img {
        left: 0;
        top: 0;
    }
    .sec05_item .item:before {
        border-width: 1px;
        border-radius: 20px;
        left: 5px;
        top: 5px;
        bottom: 5px;
        right: 5px;
    }
    .sec05_txt {
        font-size: 16px;
    }
    .sec05:before {
        width: 166px;
        height: 265px;
        left: auto;
        bottom: 150px;
        right: 23px;
    }
    .sec05_wrap:after {
        width: 40px;
        height: 41px;
        left: calc(50% - 150px);
        top: 30px;
    }
    /* sec06 */
    .sec06 {
        padding: 50px 0 0;
    }
    .sec06_txt p {
        font-size: 20px;
    }
    .sec06_img img {
        border-radius: 17px;
    }
    .sec06_ttl {
        font-size: 30px;
        margin-bottom: 25px;
    }
    .sec06_img {
        margin-bottom: 30px;
    }
    .sec06_item {
        flex-direction: column;
    }
    .sec06_item .item {
        padding: 20px 15px 25px;
        width: 100%;
    }
    .sec06_item:before, .sec06_item:after {
        display: none;
    }
    .sec06_title1 {
        font-size: 24px;
        width: 100%;
        left: 0;
    }
    .sec06_img2 img {
        border-radius: 15px;
    }
    .sec06_title1 .org {
        margin: 0 -10px;
    }
    .sec06_title2 {
        font-size: 22px;
        margin-bottom: 10px;
    }
    .sec06_item .item .btn a {
        max-width: 350px;
        letter-spacing: 0em;
    }
    .sec06_list li .title {
        font-size: 20px;
    }
    .sec06_list li .icon {
        margin-bottom: 0;
        width: 70px;
    }
    .sec06_list li {
        padding: 0 10px;
        height: 90px;
    }
    .sec06_list {
        max-width: 380px;
        margin: 0 auto 25px;
    }
    .sec06_item .ite2 {
        margin-top: 0;
    }
    /* sec07 */
    .sec07_ttl .sm {
        font-size: 24px;
        padding-left: 30px;
    }
    .sec07_ttl .lg {
        font-size: 28px;
        text-align: center;
    }
    .sec07_ttl .sm:before {
        width: 24px;
        height: 24px;
        left: 0;
        top: 6px;
    }
    .sec07_item .item {
        border-radius: 20px;
        width: 360px;
        height: auto;
        margin: 0 5px;
        padding: 20px;
    }
    .sec07_title {
        font-size: 17px;
        min-height: 90px;
        padding: 10px 0 10px 52px;
        background-size: 46px auto !important;
        margin-bottom: 15px;
        background-position: left center !important;
        letter-spacing: -0.02em;
    }
    .sec07_item .item:before {
        left: 5px;
        top: 5px;
        right: 5px;
        bottom: 5px;
        border: 1px var(--mcolor) solid;
        border-radius: 20px;
    }
    .sec07_des {
        font-size: 16px;
    }
    .sec07_item .slick-dots li, .sec07 .slick-dots li button {
        width: 12px;
        height: 12px;
    }
    .sec07_item.slick-slider {
        margin-bottom: 70px;
    }
    .sec07_item .item:after {
        width: 50px;
        height: 30px;
        background: var(--mcolor);
        right: 40px;
        bottom: -25px;
    }
    .sec07_item .slick-dots {
        bottom: -35px;
    }
    .sec07_item .slick-next {
        width: 32px;
        height: 72px;
    }
    .sec07_item .slick-prev {
        width: 38px;
        height: 72px;
    }
    .sec07_item .slick-dots li {
        margin: 0 3px;
    }
    .sec07 {
        padding: 50px 0 55px;
    }

    .sec07 .inner{
    	height: 562px;
    }
	
    .sec07_item.slick-slider .slick-track {
        padding-bottom: 28px;
    }
    /* sec08 */
    .sec08 {
        padding-top: 40px;
        padding-bottom: 15px;
    }
    .sec08_item {
        gap: 0;
        flex-direction: column;
        padding: 50px 15px;
    }
    .sec08_ttl {
        font-size: 24px;
        margin-bottom: 0;
    }
    .sec08_item:before {
        border-radius: 20px;
        z-index: -1;
        width: 100%;
        height: calc(50% - 100px);
        left: 0;
        top: -70px;
    }
    .sec08_item .item {
        width: 100%;
        border-radius: 20px;
    }
    .sec08_ttl1 {
        font-size: 20px;
        width: 276px;
        height: 70px;
        margin-top: -34px;
        margin-left: 20px;
    }
    .sec08_ttl2 {
        font-size: 26px;
        margin-bottom: 10px;
        padding-left: 0;
    }
    .sec08_img {
        margin-bottom: 15px;
        padding: 0 15px;
    }
    .sec08_btn a {
        font-size: 18px;
        height: 90px;
        padding-bottom: 2px;
        letter-spacing: 0em;
        padding-right: 15px;
    }
    .sec08_btn {
        border-radius: 0 0 20px 20px;
        box-shadow: 1px 2px 3px 0px rgba(0, 0, 0, 0.2);
    }
    .sec08_item .ite1 {
        margin-bottom: 80px;
    }
    .sec08:before {
        height: calc(100% - 200px);
        left: 0;
        bottom: auto;
        background-repeat: repeat;
        top: 200px;
        background-size: 50%;
    }
    .sec08_des {
        padding: 0 20px;
        margin-bottom: 20px;
    }
    .sec08_btn a:before {
        right: 15px;
    }
    .sec08_img img {
        border-radius: 15px;
    }
    /* sec09 */
    .sec09 {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .sec09_item_wrap {
        height: auto;
    }
    .sec09_ttl1 {
        font-size: 28px;
        margin-bottom: 20px;
    }
    .sec09_des {
        font-size: 20px;
    }
    .sec09_label .ite {
        border-radius: 5px;
        padding: 5px 10px;
        font-size: 18px;
        line-height: 1.05;
    }
    .sec09_ttl2 {
        font-size: 24px;
        line-height: 1.4;
    }
    .sec09_label {
        gap: 5px;
    }
    .sec09_w {
        padding: 0 40px;
    }
    .sec09_w:before, .sec09_w:after {
        width: 40px;
        height: 66px;
        top: 45px;
    }
    .sec09_item {
        flex-direction: column;
        padding-top: 30px;
        margin-bottom: 0px;
    }
    .sec09_item .item {
        width: 100%;
        border: 2px var(--mcolor) solid;
        border-radius: 20px;
        padding: 13px 0px 30px;
    }
    .sec09_icon {
        font-size: 20px;
        margin-bottom: 30px;
        padding-left: 45px;
    }
    .sec09_icon:before {
        width: 120px;
        height: 123px;
        left: -15px;
        top: -30px;
    }
    .sec09_txt {
        margin-bottom: 20px;
        padding: 0 15px 0;
    }
    .sec09_item .item .btn a, .sec10 .btn a {
        width: 270px;
    }
    .sec09_img02 {
        margin-bottom: 20px;
    }
    .sec10 .btn a {
        margin: 0 auto;
    }
    .sec09_icon .sm {
        margin-bottom: 10px;
    }
    .sec09_img .item {
        width: calc(50% - 10px);
        height: 300px;
    }
    .sec09_img .item img, .sec09_img_list {
        width: 100%;
        height: 100%;
    }
    .sec09_img .item img {
        object-fit: cover;
    }
    .sec09_img:before {
        width: 170px;
        height: 178px;
        left: 0;
        right: 0;
        margin: 0 auto;
        bottom: 0;
    }
    .sec09_img02 img {
        width: 100%;
    }
    /* sec10 */
    .sec10 {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .sec10 .inner {
        padding: 0 15px;
    }
    .sec10_ttl {
        width: 290px;
        height: 65px;
        border-radius: 15px;
        font-size: 22px;
        padding-right: 0px;
        margin: 0 auto 25px;
    }
    .sec10_ttl:before {
        width: 286px;
        height: 73px;
        left: 2px;
    }
    .sec10_ttl span {
        padding: 7px 0 5px 45px;
        background-size: 35px auto;
    }
    .sec10_des {
        margin-bottom: 30px;
        padding-left: 0px;
    }
    .sec10_img {
        float: none;
        margin-top: 0;
        text-align: center;
    }
    .sec10_img img {
        max-width: 290px;
        margin: 0 auto;
    }
    .sec10 .btn {
        margin: 0 auto;
    }
    /* sec11 */
    .sec11 {
        padding-top: 50px;
        padding-bottom: 0;
    }
    .sec11 .inner:before {
        background: url(../images/idx_bg02_sp.png) no-repeat center top / cover;
    }
    .sec11 .inner {
        padding: 25px 15px 40px 15px;
        height: auto;
    }
    .sec11_ttl1 {
        font-size: 30px;
        margin-bottom: 30px;
        text-align: center;
    }
    .sec11_ttl1:before {
        width: 425px;
        height: 15px;
        left: 0;
        bottom: -24px;
        right: 0;
        margin: 0 auto;
    }
    .sec11_ttl2 {
        font-size: 19px;
        letter-spacing: 0em;
        text-align: center;
    }
    .sec11_des {
        padding-right: 0px;
        margin-bottom: 20px;
    }
    .sec11 .inner:after {
        width: 100px;
        height: 150px;
        right: 15px;
        bottom: auto;
        top: 0;
    }
    .sec11 .btn a {
        width: 240px;
        height: 60px;
        margin: 0 auto;
    }
    /* sec12 */
    .sec12 {
        padding-bottom: 50px;
        padding-top: 50px;
    }
    .sec12_item {
        flex-direction: column;
    }
    .sec12_ttl {
        font-size: 28px;
        margin-bottom: 0px;
        text-align: center;
    }
    .sec12_item .ite2 {
        width: 100%;
        top: 0;
    }
    .sec12_item .ite1 {
        width: 100%;
    }
    .sec12_load dl {
        border-bottom: 1px #cccccc solid;
        padding: 15px 25px 15px 0;
        background-size: 22px auto;
        background-position: right center;
    }
    .sec12_link {
        text-align: center;
    }
    .sec12_load {
        margin-bottom: 30px;
    }
    .sec12_load dl dd {
        font-size: 16px;
    }
    .sec13 {
        padding: 40px 0 50px;
    }
    .sec13::before {
        width: 247px;
        height: 373px;
        left: inherit;
        right: 10px;
    }
    .sec13 .inner::before {
        top: -40px;
        left: inherit;
        right: 0;
        width: calc(100% - 15px);
        border-radius: 30px 0 0 0;
        height: 58vw;
    }
    .sec13 .inner::after {
        width: calc(100% - 15px);
        left: 0;
        height: calc(70vw - 40px);
        top: calc(45vw - 40px);
        border-radius: 0 0 30px 0;
    }
    .sec13 .img1 img {
        width: 225px;
    }
    .sec13 .img2 {
        padding: 0;
        margin: 0 -10px;
    }
    .sec13 .sec13_ttl {
        font-size: 26px;
        margin: 0 0 30px;
    }
    .sec13 .sec13_bot::before {
        width: 80vw;
        height: auto;
        aspect-ratio: 174/65;
        left: 50%;
        transform: translateX(-50%);
        top: -15vw;
    }
    .sec13 .sec13_bot .big {
        font-size: 28px;
        padding-left: 0;
    }
    .sec13 .sec13_list {
        max-width: 100%;
        margin: 0 auto 30px;
        flex-direction: column;
        align-items: center;
        width: 600px;
    }
    .sec13 .sec13_list .item {
        border-width: 3px;
        height: auto;
        padding: 15px 0;
        border-radius: 15px;
        justify-content: center;
        text-align: center;
        max-width: 100%;
    }
    .sec13 .sec13_list .item.bg1 {
        margin-bottom: 40px;
    }
    .sec13 .sec13_list .item.bg1::before {
        width: 91px;
        height: 134px;
        left: 0;
        top: -20px;
    }
    .sec13 .sec13_list .item.bg2::before {
        width: 76px;
        height: 136px;
        right: 0;
        top: -20px;
    }
    .sec13 .sec13_list .item p {
        font-size: 18px;
    }
    .sec13 .sec13_list .item p span {
        font-size: 20px;
    }
    .ft_cta_ttl .lg {
        font-size: 30px;
    }
    .ft_cta_item {
        height: auto;
        border-radius: 20px;
        padding: 15px 20px 20px;
        flex-direction: column;
        /* width: 100%; */
        margin: -55px auto 0;
    }
    nav .ft_cta_item {
        width: calc(100% - 30px);
    }
    nav .ft_cta_box_tel {
        padding-top: 0;
    }
    .ft_cta_label .sm {
        font-size: 16px;
        margin-bottom: 5px;
    }
    .ft_cta_label .lg {
        font-size: 24px;
    }
    .ft_cta_label {
        width: 251px;
        height: 111px;
    }
    .ft_cta_tel {
        text-align: center;
        margin-bottom: 10px;
    }
    .ft_cta_tel a {
        font-size: 30px;
        padding-left: 25px;
        background-size: 19px auto;
        background-position: left top 12px;
    }
    .ft_cta_item .label {
        font-size: 15px;
        border-radius: 4px;
        padding: 0 5px;
        margin-right: 5px;
    }
    .ft_cta_item .txt {
        font-size: 16px;
    }
    .ft_cta_subitem.ml01 {
        margin-left: 15px;
    }
    .ft_cta_label:before {
        width: 48px;
        height: 32px;
        left: 76px;
        top: -29px;
        margin: 0 auto;
    }
    .ft_cta_label:after {
        width: 240px;
        height: 126px;
        left: 6px;
        top: -21px;
    }
    .ft_cta_item:after {
        width: 150px;
        height: 170px;
        left: 0;
        top: -130px;
        right: 0;
        margin: 0 auto;
    }
    .ft_cta:before {
        width: 1000px;
        height: 388px;
        left: calc(50% - 500px);
        top: 80px;
        background-size: 750px auto;
    }
    .ft_cta_con a:before {
        width: 32px;
        height: 21px;
        left: 34px;
        top: calc(50% - 11px);
    }
    .ft_cta_box_tel {
        margin-bottom: 18px;
    }
    .ft_cta_item_hour {
        margin-bottom: 15px;
        margin-left: 0;
    }
    .ft_share_btn {
        gap: 15px;
    }
    .ft_cta {
        margin-bottom: -50px;
    }
    .ft_cta_ttl:before {
        width: 60px;
        height: 42px;
        right: calc(50% - 165px);
        top: -11px;
        background-size: cover;
    }
    .ft_cta_item:before {
        border-width: 1px;
        left: 5px;
        top: 5px;
        right: 5px;
        bottom: 5px;
        z-index: -1;
    }
    .ft_cta_ttl {
        margin-bottom: 190px;
    }
    .ft_cta_ttl .sm:before, .ft_cta_ttl .sm:after {
        width: 30px;
        height: 35px;
        top: -10px;
    }
    .ft_cta_con a {
        width: 290px;
        height: 72px;
        color: #fff;
        font-size: 16px;
        padding-left: 20px;
        box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.2);
        line-height: 1.4;
    }
    .ft_cta_con {
        margin-right: 0;
    }
    .ft_top {
        padding-top: 85px;
        margin-bottom: 0;
        padding-bottom: 0;
    }
    /*============ FOOTER ============*/
    footer {
        margin-bottom: 60px;
    }
    .ft_top .inner {
        flex-wrap: wrap;
        justify-content: center;
    }
    .ft_info {
        padding-right: 0;
        flex-direction: column;
    }
    .ft_cta_ttl .sm {
        font-size: 20px;
        margin-bottom: 15px;
        padding: 0 40px;
    }
    .ft_info_logo {
        text-align: center;
        margin-bottom: 20px;
    }
    .ft_info_logo img {
        width: 260px;
    }
    .ft_info_add {
        font-size: 16px;
        text-align: center;
        padding-top: 0px;
    }
    /* to top */
    .to_top {
               width: 45px;
        height: 45px;
        right: 10px;
        bottom: 60px;
    }
    .to_top a img {
        bottom: 0;
        position: absolute
    }
    .to_top::before {
        width: 10px;
        height: 10px;
        left: 10px;
        top: 10px
    }
    .to_top::after {
        width: 10px;
        height: 10px;
        left: 10px;
        top: 20px
    }
    address {
        font-size: 14px;
    }
    .cta_fixed {
        height: 70px;
    }
    .cta_fixed .ft_cta_label, .cta_fixed .ft_share_btn, .cta_fixed .ft_cta_item:after {
        display: none;
    }
    .cta_fixed .ft_cta_box_tel {
        padding-top: 0;
        margin-right: 10px;
        margin-bottom: 0px;
    }
    .cta_fixed .ft_cta_con a span {
        padding-left: 30px;
        background-size: 24px auto;
        background-position: left 0px center;
        text-align: left;
        line-height: 1.2;
    }
    .cta_fixed .ft_cta_con a {
        width: 220px;
        height: 50px;
        font-size: 15px;
        padding-left: 0px;
    }
    .cta_fixed .ft_cta_item {
        flex-direction: row;
        margin: 0;
        padding: 0px 20px;
        justify-content: center;
    }
    .cta_fixed .ft_cta_con {
        margin-right: 0;
    }
    .cta_fixed .ft_cta_tel a {
        font-size: 20px;
        padding-left: 20px;
        background-size: 14px auto;
        background-position: left top 7px;
    }
    .cta_fixed .ft_cta_item .label {
        margin-right: 0px;
        width: 68px;
        height: 17px;
        margin-bottom: 0px;
        font-size: 11px;
    }
    .cta_fixed .ft_cta_subitem.ml01 .label {
        width: 50px;
    }
    .cta_fixed .ft_cta_item .txt {
        font-size: 11px;
        line-height: 1.4;
    }
    .cta_fixed .ft_cta_tel {
        margin-right: 5px;
        margin-bottom: -3px;
    }
    .cta_fixed .ft_cta_item_hour {
        margin-bottom: 0;
        gap: 3px;
    }
    .cta_fixed .ft_cta_subitem.ml01 {
        margin-left: 0px;
    }
    /*============ END 750 ============ */
}
@media screen and (min-width: 441px) and (max-width: 750px) {
    .nav_list a br, .nav_list .sub_btn br {
        display: none;
    }
    .mv_txt {
        max-width: 450px;
        margin: 0 auto;
        right: 0;
    }
    .mv_txt:before {
        left: -150px;
    }
    .mv_txt:after {
        right: -80px;
        bottom: -1px;
        width: 380px;
    }
    .sec02_item .item {
        width: 100%;
        height: 120px;
        border: 3px #333333 solid;
        box-shadow: 2px 3px 0px 0px var(--mcolor);
    }
    .sec02_item {
        gap: 30px 25px;
        padding: 0 35px;
        max-width: 610px;
        margin: 0 auto;
    }
    .sec05:before {
        right: 15vw;
    }
    .sec11 .btn a {
        margin: 0 auto;
    }
    .sec13::before {
        transform: scale(0.75);
        transform-origin: right;
    }
    .sec13 .inner::after {
        height: calc(54vw - 40px);
    }
}
/* screen-max:460px */
@media screen and (max-width: 440px) {
    .sp440 {
        display: block !important;
    }
    .pc440 {
        display: none !important
    }
    .sec02_item {
        grid-template-columns: repeat(1, 1fr);
        gap: 30px 45px;
        max-width: 280px;
    }
    .sec02_item .item {
        width: 100%;
        height: 120px;
        border: 3px #333333 solid;
        border-radius: 10px;
        padding-left: 100px;
        box-shadow: 3px 5px 0px 0px var(--mcolor);
        padding-bottom: 2px;
    }
    .sec02_item .title {
        font-size: 17px;
    }
    .sec02:before {
        bottom: 300px;
    }
    .sec02_ttl {
        margin-bottom: 35px;
    }
	    .sec07 .inner {
        height: 562px;
    }

    .sec09_label{
        flex-direction: column;
        align-items: center;
    }
    .sec09_label .ite{
        font-size: 24px;
        padding: 10px 15px;
    }

    .sec11_ttl1 {
        font-size: 24px;
        width: calc(100% - 70px);
    }
    .sec11_ttl1:before {
        width: 320px;
    }
    .sec11 .inner:after {
        width: 70px;
        height: 111px;
        right: 15px;
        bottom: auto;
        top: 15px;
    }
    .sec13::before {
        transform: scale(0.4);
        transform-origin: right;
        right: 0;
        top: 30px;
    }
    .sec13 .sec13_bot .big {
        font-size: 22px;
    }
}
@media screen and (max-width: 425px) {
    .sp425 {
        display: block !important;
    }
    .mv_ttl3 {
        width: 170px;
        top: 70px;
    }
    .mv_ttl1 .mid {
        font-size: 27px;
    }
    .mv_ttl2 {
        width: 150px;
    }
    .mv {
        height: 540px;
    }
    .mv_txt:after {
        width: 350px;
    }
    .sec01_ttl .sm {
        left: -15px;
    }
    .sec01_ttl:after {
        right: calc(50% - 140px);
    }
    .sec02_item .item.ite1, .sec02_item .item.ite3 {
        left: 18px;
    }
    .sec02_item .item.ite2, .sec02_item .item.ite4 {
        right: 20px;
    }
    .sec04_box {
        width: 240px;
        height: 55px;
        top: -55px;
        margin-left: 0;
    }
    .sec04_box .en {
        font-size: 15px;
        margin-right: 10px;
    }
    .sec04_box .ja {
        font-size: 13px;
        padding-left: 10px;
    }
    .sec04_boximg {
        max-width: 375px;
    }
    .sec04_img.img2 {
        width: 230px;
    }
    .sec04_img.img1 {
        width: 102px;
    }
    .sec04_title .lg {
        font-size: 16px;
    }
    .sec04_title .sm {
        font-size: 11px;
    }
    .sec05_title {
        font-size: 3.8vw;
        margin-bottom: 10px;
    }
    .sec05_txt {
        font-size: 14px;
    }
    .sec06_title1 {
        font-size: 21px;
    }
    .sec06_title2 {
        font-size: 20px;
    }
    .sec06_des {}
    .sec06_list li .title {
        font-size: 16px;
    }
    .sec06_list li .icon img {
        width: 50px;
    }
    .sec07_item .item {
        width: 300px;
    }
	    .sec07 .inner {
        height: 600px;
    }
    .sec09_icon {
        font-size: 18px;
        margin-bottom: 20px;
        padding-left: 45px;
    }
    .sec09_icon:before {
        width: 100px;
        height: 102px;
        top: -25px;
    }
    .sec09_w {
        padding: 0 20px;
    }
    .sec09_label .ite {
        font-size: 16px;
        white-space: nowrap;
    }
    .sec09_des {}
    .sec09_img .item {
        height: 140px;
    }
    .sec09_img:before {
        width: 120px;
        height: 125px;
    }
    .sec11 .inner {
        padding: 25px 15px 35px 15px;
    }
    .sec11 .btn a {
        margin: 0 auto;
    }
    .sec11_ttl1 {
        font-size: 21px;
        margin-bottom: 20px;
    }
    .sec11_ttl1:before {
        width: 300px;
        height: 12px;
    }
    .sec11_des {
        padding-right: 0px;
    }
    .sec11 .inner:after {}
    .sec13 .sec13_list .item {
        padding: 5px 0;
    }
    .sec13 .sec13_bot::before {
        width: 100vw;
    }
    .sec13 .sec13_list .item.bg1::before {
        left: -15px;
    }
    .sec13 .sec13_list .item.bg2::before {
        right: -15px;
    }
    .sec13 .inner::after {
        height: calc(78vw - 40px);
    }
    .cta_fixed .ft_cta_con a {
        width: 190px;
        height: 50px;
        font-size: 13px;
    }
}
/* screen-max: 360px */
@media screen and (max-width: 360px) {
    .sp360 {
        display: block !important;
    }
    .mv_ttl1 .lg {
        font-size: 46px;
    }
    .mv_ttl1 .mid {
        font-size: 21px;
    }
    .mv {
        height: 490px;
    }
    .mv_txt:after {
        width: 320px;
    }
    .mv_ttl3{
        width: 150px;
    }
    .sec01_item .item, .sec01_item .slick-center.item {
        width: 260px;
    }
   
    .sec02_item {
        max-width: 235px;
    }
    .sec02_item .title {
        font-size: 15px;
    }
    .sec02_item .item {
        height: 110px;
    }
    .sec02_item .item.ite1:before {
        width: 100px;
        height: 111px;
        left: -42px;
        top: 0px;
    }
    .sec02_item .item.ite2:before {
        width: 85px;
        height: 109px;
        right: -40px;
        top: 3px;
    }
    .sec02_item .item.ite3:before {
        width: 80px;
        height: 109px;
        left: -40px;
        top: 10px;
    }
    .sec02_item .item.ite4:before {
        width: 80px;
        height: 96px;
        right: -40px;
        top: 27px;
    }
    .sec02_ttl .lg {
        font-size: 22px;
    }
    .sec02_ttl .sm {
        font-size: 18px;
        padding-left: 55px;
    }
    .sec02_ttl .sm:before {
        width: 48px;
        height: 49px;
        top: 4px;
    }
    .sec02_ttl .lg:before {
        width: 60px;
        height: 43px;
        right: -14px;
        top: -18px;
    }
    .sec_cta1_tel a {
        font-size: 26px;
        padding-left: 25px;
    }
    .sec_cta1_tel a:before {
        width: 18px;
        height: 24px;
        top: 10px;
    }
    .sec_cta_btn a {
        width: 250px;
        font-size: 16px;
    }
    .sec_cta1_box .title {
        font-size: 20px;
    }
    .sec_cta1_box .title .ic_2:before {
        width: 36px;
        height: 24px;
        left: 0;
        top: 3px;
    }
    .sec_cta1_box .title .ic_2 {
        padding-left: 45px;
    }
    .sec_cta_btn a .label {
        width: 160px;
        height: 36px;
        line-height: 35px;
        font-size: 18px;
        margin-top: 5px;
    }
    .sec_cta_btn a:before {
        width: 20px;
        height: 20px;
        top: calc(50% - 10px);
    }
    .sec_cta1_txt {
        font-size: 17px;
    }
    .sec_cta1_txt .hour {
        font-size: 16px;
    }
    .sec_cta1_ttl .lg {
        font-size: 32px;
    }
    .sec_cta1_ttl .sm {
        font-size: 20px;
    }
    .sec_cta1_ttl .sm:before, .sec_cta1_ttl .sm:after {
        width: 30px;
        height: 36px;
        top: -3px;
    }
    .sec_cta1_ttl:before {
        width: 40px;
        height: 29px;
        right: calc(50% - 142px);
        top: -15px;
    }
    .sec04_img.img1 {
        width: 84px;
    }
    .sec04_img.img2 {
        width: 190px;
    }
    .sec04_boximg {
        max-width: 320px;
    }
    .sec04_ttl {
        font-size: 19px;
        margin-bottom: 20px;
    }
    .sec04_img.bor_w {
        height: 248px;
    }
    .sec04_box {
        top: -48px;
        transform: scale(0.75);
        left: -30px;
    }
    .sec04_txt p {
        font-size: 16px;
    }
    .sec04 .btn a {
        width: 270px;
    }
    .sec05_item .item {
        width: 100%;
    }

    .sec05_ic {
        height: 50vw;
    }
    .sec05_item {
        padding: 0 10px;
    }
    .sec05_title {
        font-size: 24px;
        margin-bottom: 20px;
    }
    .sec05_txt {
        font-size: 16px;
    }
    .sec05:before {
        width: 190px;
        height: 308px;
        left: 0;
        bottom: 150px;
        right: 0;
        margin: 0 auto;
    }
    .sec05_wrap:after {
        left: calc(50% - 140px);
    }
    .sec05_ttl {
        font-size: 23px;
    }
    .sec06_list li .title {
        font-size: 14px;
    }
    .sec06_list li .icon {
        width: 42px;
    }
    .sec06_list li .icon img {
        width: 35px;
    }
    .sec06_item .item .btn a {
        font-size: 14px;
    }
    .sec06_txt p {
        font-size: 18px;
    }
    .sec07_item .item {
        width: 240px;
    }
	    .sec07 .inner {
        height: 652px;
    }
    .sec08_ttl1 {
        font-size: 20px;
        width: 240px;
        height: 60px;
    }
    .sec08_ttl {
        font-size: 21px;
    }
    .sec08_ttl2 {
        font-size: 22px;
    }
    .sec08_des {
        font-size: 16px;
    }
    .sec08_btn a {
        font-size: 16px;
    }
    .sec08_btn a:before {
        right: 15px;
        background-size: 18px auto;
        width: 18px;
        height: 19px;
        top: calc(50% - 6px);
    }
    .sec09_label {
        transform: scale(0.8);
        margin: 0 -25px 15px;
    }
    .sec09_w:after {
        right: -10px;
    }
    .sec09_w:before {
        left: -10px;
    }
    .sec09_icon {
        font-size: 14px;
        margin-bottom: 20px;
        padding-left: 45px;
    }
    .sec09_icon:before {
        width: 90px;
        height: 92px;
    }
    .sec09_item .item .btn a {
        width: 250px;
    }
    .sec11_ttl2 {
        font-size: 18px;
    }
    .sec11_des {
        font-size: 16px;
    }
    .sec11_ttl1 {
        width: calc(100% - 50px);
        font-size: 20px;
    }
    .sec11 .inner:after {
        width: 55px;
        height: 83px;
        right: 10px;
        bottom: auto;
        top: 15px;
    }
    .sec13 .sec13_list .item p {
        font-size: 16px;
        line-height: 1.5em;
    }
    .sec13 .sec13_list .item p span {
        font-size: 18px;
    }
    .sec13 .sec13_list .item.bg1::before {
        transform: scale(0.9);
        top: -15px;
        left: -20px;
    }
    .sec13 .sec13_list .item.bg2::before {
        transform: scale(0.85);
        top: -15px;
        right: -20px;
    }
    .sec13 .inner::after {
        height: calc(88vw - 40px);
    }
    .sec13 .sec13_bot .big {
        font-size: 20px;
    }
    .ft_cta_ttl:before {
        width: 40px;
        height: 28px;
        right: calc(50% - 140px);
        top: -3px;
    }
    .ft_cta_item .txt {
        font-size: 14px;
    }
    .ft_cta_item .label {
        font-size: 13px;
        margin-right: 4px;
    }
    .ft_cta_subitem.ml01 {
        margin-left: 4px;
    }
    .ft_cta_con a {
        font-size: 15px;
    }
    .ft_cta_con a:before {
        left: 20px;
    }
    .cta_fixed .ft_cta_con a {
        width: 150px;
        font-size: 11px;
    }
    .cta_fixed .ft_cta_con a span {
        padding-left: 25px;
        background-size: 20px auto;
    }
    .cta_fixed .ft_cta_tel a {
        font-size: 17px;
        padding-left: 14px;
        background-size: 12px auto;
        background-position: left 2px top 6px;
    }
}
/* ===== 261026 LINE追加 / TEL・メール縮小 ===== */
:root {
    --line: #02c550;
}
/* ft / nav / fixed の LINE ボタン */
.ft_line_btn {
    margin-bottom: 0;
}
.ft_line_btn a {
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: var(--line);
    color: #fff;
    font-weight: 900;
    line-height: 1.6;
    border-radius: 86px;
    position: relative;
    box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.2);
}
.ft_line_btn a:before,
.ft_line_btn a span:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: url("../images/icon_line_2.png") no-repeat center/contain;
}

/* sec_cta1: LINE column (メール列と同じデザイン) */
.sec_cta1_box .title .ic_3 {
    padding-left: 52px;
}
.sec_cta1_box .title .ic_3:before {
    background: url("../images/icon_line_n.png") no-repeat left center/contain;
    width: 40px;
    height: 40px;
    left: 0;
    top: calc(50% - 20px);
}
.sec_cta_line a {
    background: var(--line);
}
.sec_cta_line a .label {
    background: #def5e5;
}
@media screen and (min-width: 751px) {
    /* --- top sec03: 3 columns --- */
    .sec_cta1_box {
        grid-template-columns: repeat(3, 1fr);
    }
    .sec_cta1_box .item {
        padding: 42px 24px 0;
    }
    .sec_cta1_box .title,
    .sec_cta1_box .ite1 .title,
    .sec_cta1_box .ite2 .title,
    .sec_cta1_box .ite_line .title {
        font-size: 30px;
        height: 76px;
        width: 100%;
        padding-right: 0;
        margin-bottom: 32px;
    }
    .sec_cta1_box .title .ic_1:before {
        width: 26px;
        height: 42px;
        top: calc(50% - 21px);
    }
    .sec_cta1_box .title .ic_1 {
        padding-left: 38px;
    }
    .sec_cta1_box .title .ic_2:before {
        width: 44px;
        height: 30px;
        top: calc(50% - 15px);
    }
    .sec_cta1_box .title .ic_2 {
        padding-left: 56px;
    }
    .sec_cta1_box .ite2 {
        position: relative;
    }
    .sec_cta1_box .ite2:before {
        position: absolute;
        content: "";
        width: 4px;
        height: 278px;
        background: #eeeeee;
        border-radius: 2px;
        right: -2px;
        top: 40px;
    }
    .sec_cta1_box .ite2 .sec_cta_btn a:hover{background: var(--txt)}
    /* TEL */
    .sec_cta1_tel {
        margin-top: 26px;
        margin-bottom: 8px;
    }
    .sec_cta1_tel a {
        font-size: 46px;
        padding-left: 38px;
    }
    .sec_cta1_tel a:before {
        width: 28px;
        height: 37px;
        top: 21px;
    }
    .sec_cta1_txt {
        font-size: 20px;
        margin-left: 0;
        text-align: center;
    }
    .sec_cta1_txt .hour {
        font-size: 19px;
        margin-left: 14px;
    }
    /* メール / LINE ボタン (同サイズ) */
    .sec_cta_btn {
        width: 100%;
        display: flex;
        justify-content: center;
    }
    .sec_cta_btn a {
        width: 100%;
        max-width: 400px;
        height: 140px;
        font-size: 26px;
        padding-top: 4px;
    }
    .sec_cta_btn a:before {
        width: 30px;
        height: 30px;
        right: 18px;
        top: calc(50% - 15px);
    }
    .sec_cta_btn a .label {
        width: 250px;
        height: 44px;
        line-height: 45px;
        font-size: 22px;
        margin-top: 12px;
    }
    .sec_cta1_box:after {
        left: 60px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1500px) {
    .sec_cta1_box .title,
    .sec_cta1_box .ite1 .title,
    .sec_cta1_box .ite2 .title,
    .sec_cta1_box .ite_line .title {
        font-size: 26px;
        height: 70px;
        width: 100%;
    }
    .sec_cta1_box .title .ic_3:before {
        width: 36px;
        height: 36px;
        top: calc(50% - 18px);
    }
    .sec_cta1_box .title .ic_3 {
        padding-left: 46px;
    }
    .sec_cta1_tel {
        margin-top: 30px;
    }
    .sec_cta1_tel a {
        font-size: 40px;
        padding-left: 33px;
    }
    .sec_cta1_tel a:before {
        width: 24px;
        height: 32px;
        top: 18px;
    }
    .sec_cta1_txt {
        font-size: 17px;
    }
    .sec_cta1_txt .hour {
        font-size: 16px;
        margin-left: 8px;
    }
    .sec_cta_btn a {
        max-width: 350px;
        height: 130px;
        font-size: 23px;
    }
    .sec_cta_btn a:before {
        width: 26px;
        height: 26px;
        right: 12px;
        top: calc(50% - 13px);
    }
    .sec_cta_btn a .label {
        width: 220px;
        height: 40px;
        line-height: 41px;
        font-size: 19px;
        margin-top: 10px;
    }
}
@media screen and (min-width: 751px) {
    /* --- footer CTA: TEL / mail / LINE --- */
    .ft_cta .ft_cta_item {
        gap: 10px;
    }
    
    .ft_cta .ft_cta_subitem.ml01 {
        margin-left: 10px;
    }
    .ft_cta .ft_cta_con a,
    .ft_cta .ft_line_btn a {
        width: 280px;
        height: 120px;
        font-size: 20px;
        padding: 0 0 0 45px;
        border-radius: 9999px;
    }
    .ft_cta .ft_cta_con a:before {
        width: 34px;
        height: 24px;
        left: 16px;
        top: calc(50% - 14px);
    }
    .ft_cta .ft_line_btn a:before {
        position: absolute;
        width: 40px;
        height: 40px;
        left: 20px;
        top: calc(50% - 20px);
    }
}



@media screen and (min-width: 751px)  and (max-width: 1800px){
    .ft_cta .ft_cta_con a, .ft_cta .ft_line_btn a{
        width: 320px;font-size: 24px;
    }

}
@media screen and (min-width: 751px)  and (max-width: 1400px){
    .ft_cta_item{padding: 0 25px;}
    .ft_cta .ft_cta_con a, .ft_cta .ft_line_btn a{width: 250px;font-size: 18px;}
}

@media screen and (min-width: 751px) {
    /* --- fixed bar: TEL / mail / LINE --- */
    .cta_fixed .ft_cta_con.pc,
    .cta_fixed .ft_line_btn.pc {
        margin-right: 14px;
        min-width: 0;
    }
    .cta_fixed .ft_cta_con a,
    .cta_fixed .ft_line_btn a {
        width: 100%;
        min-width: 0;
        height: 96px;
        font-size: 18px;
        padding-left: 0;
    }
    .cta_fixed .ft_cta_con.pc,
    .cta_fixed .ft_line_btn.pc {
        width: 280px;
    }
    .cta_fixed .ft_cta_con a span,
    .cta_fixed .ft_line_btn a span {
        padding-left: 48px;
        background-size: 38px auto;
    }
    .cta_fixed .ft_line_btn a span {
        position: relative;
        white-space: nowrap;
    }
    .cta_fixed .ft_line_btn a span:before {
        position: absolute;
        left: -10px;
        top: calc(50% - 20px);
        width: 40px;
        height: 40px;
    }
    .cta_fixed .ft_cta_item {
        padding-right: 100px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1500px) {
    .sc_lap{display: block}

    .cta_fixed .ft_cta_box_tel{margin-right: 10px;}
    .cta_fixed .ft_cta_con.pc,
    .cta_fixed .ft_line_btn.pc {
        width: 13vw;
        margin-right: 10px;
    }
    .cta_fixed .ft_cta_con a,
    .cta_fixed .ft_line_btn a {
        height: 80px;
        font-size: 14px;
    }
    .cta_fixed .ft_cta_con a span,
    .cta_fixed .ft_line_btn a span {
        padding-left: 34px;
        background-size: 28px auto;
    }
    .cta_fixed .ft_line_btn a span:before {
        top: calc(50% - 13px);
        width: 26px;
        height: 26px;
    }
    .cta_fixed .ft_cta_item {
        padding: 1px 100px 0 150px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1280px) {
    .cta_fixed .ft_share_btn {
        display: none;
    }
    .cta_fixed .ft_cta_con.pc,
    .cta_fixed .ft_line_btn.pc {
        width: 17vw;
    }
}
@media screen and (min-width: 751px) and (max-width: 1100px) {
    .cta_fixed .ft_cta_item {
        padding: 1px 90px 0 120px;
    }
    .cta_fixed .ft_cta_label {
        width: 270px;
        margin-right: 12px;
    }
    .cta_fixed .ft_cta_label .lg {
        font-size: 24px;
    }
    .cta_fixed .ft_cta_label .sm {
        font-size: 13px;
    }
    .cta_fixed .ft_cta_label:after {
        width: 270px;
    }
    .cta_fixed .ft_cta_box_tel {
        margin-right: 10px;
    }
    .cta_fixed .ft_cta_tel a {
        font-size: 24px;
        padding-left: 22px;
    }
    .cta_fixed .ft_cta_item .label,
    .cta_fixed .ft_cta_item .txt {
        font-size: 13px;
    }
    .cta_fixed .ft_cta_item .label {
        width: 100px;
    }
    .cta_fixed .ft_cta_subitem.ml01 .label {
        width: 90px;
    }
    .cta_fixed .ft_cta_con.pc,
    .cta_fixed .ft_line_btn.pc {
        width: 19vw;
        margin-right: 8px;
    }
    .cta_fixed .ft_cta_con a,
    .cta_fixed .ft_line_btn a {
        font-size: 11px;
        height: 70px;
    }
    .cta_fixed .ft_cta_con a span,
    .cta_fixed .ft_line_btn a span {
        padding-left: 28px;
        background-size: 22px auto;
    }
    .cta_fixed .ft_line_btn a span:before {
        width: 22px;
        height: 22px;
        top: calc(50% - 11px);
    }
}
@media screen and (min-width: 751px) and (max-width: 900px) {
    .cta_fixed .ft_cta_label {
        display: none;
    }
    .cta_fixed .ft_cta_item {
        padding-left: 130px;
    }
    .cta_fixed .ft_cta_con.pc,
    .cta_fixed .ft_line_btn.pc {
        width: 24vw;
    }
    .cta_fixed .ft_cta_con a,
    .cta_fixed .ft_line_btn a {
        font-size: 12px;
    }
}
@media screen and (max-width: 750px) {
    /* --- SP: LINE button (nav / footer) --- */
    .ft_line_btn {
        margin-top: 12px;
    }
    .ft_line_btn a {
        width: 290px;
        height: 72px;
        font-size: 18px;
        padding-left: 35px;
        margin: 0 auto;
    }
    .ft_line_btn a:before {
        position: absolute;
        width: 30px;
        height: 30px;
        left: 25px;
        top: calc(50% - 15px);
    }
    .ft_cta_item .ft_cta_con,
    .ft_cta_item .ft_line_btn {
        max-width: 100%;
    }
    /* --- SP: sec03 --- */
    .sec_cta1_box .ite2 {
        position: relative;
        padding-bottom: 20px;
    }
    .sec_cta1_box .ite2:before {
        position: absolute;
        content: "";
        width: calc(100% - 40px);
        height: 2px;
        background: #eeeeee;
        border-radius: 2px;
        left: 20px;
        bottom: 0;
    }
    .sec_cta1_box .title .ic_3:before {
        width: 30px;
        height: 30px;
        top: calc(50% - 15px);
    }
    .sec_cta1_box .title .ic_3 {
        padding-left: 40px;
    }
    .sec_cta_btn a .label {
        width: 200px;
        font-size: 17px;
    }
    /* --- SP: fixed bar --- */
    .cta_fixed .ft_cta_item {
        padding: 0 10px;
    }
    .cta_fixed .ft_cta_box_tel {
        margin-right: 0px;
    }
    .cta_fixed .ft_cta_con.sp a {
        width: 100px;
        height: 60px;
        font-size: 11px;
        padding: 0;
        justify-content: center;
    }
    .cta_fixed .ft_cta_con.sp a span {
        padding-left: 0;
        background: none;
        text-align: center;
    }
    .cta_fixed .ft_line_btn.sp {
        margin: 0 0 0 5px;
    }
    .cta_fixed .ft_line_btn.sp a {
        width: 100px;
        height: 60px;
        font-size: 11px;
        padding: 0;
        line-height: 1.2;
    }
    .cta_fixed .ft_line_btn.sp a:before {
        display: none;
    }

    .cta_fixed .ft_cta_con a span{padding-top: 15px;}
    .cta_fixed .ft_cta_con a span::before{
        width: 20px;
        height: auto;
        aspect-ratio: 51/35;
        background: url('../images/icon_mail_w_fixed.png') center /cover no-repeat;
        position: absolute;top: 7px;left: calc(50% - 10px);content: '';
    }
    .cta_fixed .ft_line_btn.sp a span {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .cta_fixed .ft_line_btn.sp a span:before {
        width: 20px;
        height: 20px;
        margin-bottom: 0;
        position: relative;top: -3px;
    }
}
@media screen and (max-width: 380px) {
    .cta_fixed .ft_cta_item {
        padding: 0 6px;
    }

    .cta_fixed .ft_cta_con.sp a {
        width: 80px;
        font-size: 10px;
    }
    .cta_fixed .ft_line_btn.sp a {
        width: 80px;
        font-size: 10px;
    }
}


@media screen and (min-width: 1600px) and (max-width: 1800px) {
    .ft_cta_tel{width: auto}
    .ft_cta_tel a{font-size: 52px;padding-left: 45px;background-size: 32px auto;background-position: left 5px top 20px;}
    .ft_cta_item .txt, .ft_cta_item .label{font-size: 22px;}
}
