.sp440, .sp360, .sp425 {
    display: none
}
@media screen and (min-width: 1921px) {
    .h_box {
        max-width: 1880px;
        left: 0 !important;
        right: 0;
        margin: 0 auto;
    }
    .to_top {
        right: calc(50% - 960px);
    }
}
@media screen and (min-width: 751px) {
    .sp {
        display: none !important
    }
    /* NAV */
    /* .h_box {
        min-width: calc(var(--container) + 30px);
    }*/
    .mv_img {
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
		z-index: -1;
    }
	.mv_img img {
		width: 100%;
		height: 100%;
	}
    .hamburger {
        display: none;
    }
    nav {
        margin-left: auto;
        margin-right: 55px;
    }
    nav .inner {
        width: 100%;
        padding: 0;
    }
    .nav_list {
        display: flex;
        justify-content: space-between;
    }
    .nav_list > li .sub {
        display: none;
    }
    .nav_list > li.open .sub {
        display: block;
    }
    .nav_list > li > a, .nav_list > li > .hook {
        display: flex;
        align-items: center;
        position: relative;
        font-weight: 700;
        padding: 5px 39px;
        height: 34px;
        color: #333;
    }
    .nav_list > li.parent {
        position: relative;
    }
    .nav_list > li.parent > .hook {
        cursor: pointer;
        padding-right: 23px;
        position: relative;
    }
    .nav_list > li.parent:hover > .hook, .nav_list > li.parent.open > .hook {
        color: var(--mcolor);
    }
    .nav_list > li.parent > .hook:before {
        position: absolute;
        content: "";
        background: url("../images/arrow_down.png") no-repeat right center/cover;
        width: 13px;
        height: 8px;
        right: 0;
        top: 15px;
        transition: all 0.3s;
    }
    .nav_list > li.parent.open > .hook:before {
        transform: rotate(180deg);
    }
    .sub {
        position: absolute;
        z-index: 1;
        transition: all .3s;
        width: 420px;
        top: 100%;
        left: calc(50% - 210px);
        background: var(--mcolor);
        border-radius: 20px;
        padding: 28px 15px 29px 40px;
        box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
    }
    .sub ul li:not(:last-child) {
        margin-bottom: 15px;
    }
    .sub ul {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    .sub ul li a {
        font-size: 18px;
        display: flex;
        width: fit-content;
        align-items: center;
        padding: 0px 0px 0 35px;
        margin: 0 auto;
        color: #fff;
        background: url("../images/ic-right.png") no-repeat left top 6px/8px;
        padding-left: 17px;
        line-height: 1.44;
        font-weight: 500;
        letter-spacing: 0.06em;
    }
    /* CUSTOM */
    .find_a, .find_out {
        cursor: pointer;
    }
    /* HOVER */
    .nav_list > li:hover > a {
        color: var(--scolor);
        text-decoration: none;
    }
    /* .parent:not(:hover) .sub {
        display: none;
    }
    .parent:hover .sub {
        transform: translate(0, 0);
    }*/
    .sub a:hover {
        text-decoration: none;
    }
    .to_top img:hover, .find_a:hover, .sub ul li a:hover {
        opacity: .8
    }
    .bnr_fix:hover {
        opacity: 0.85;
    }
    .sec02_item .item:hover .sec02_img img {
        transform: scale(1.1);
    }
    .h_over a:hover, .sec05_item .item:hover .btn a, .h_contact_mail a:hover, .cta_btn a:hover {
        background-color: var(--mcolor);
    }
    .btn_w a:hover {
        color: #fff;
        background: url("../images/arrow_w_lg.png")var(--mcolor) no-repeat left 25px center / 22px;
    }
    .sec07_load dl:hover dd a, .sec07_link a:hover, .ft_link li a:hover {
        color: var(--mcolor);
    }
    .sec01_item .item:hover {
        background-color: #fffde6;
    }
	
}
@media screen and (min-width: 751px) and (max-width: 1800px) {
    .h_box {
        right: 20px;
        left: auto !important;
    }
    .nav_list > li > a, .nav_list > li > .hook {
        padding: 5px 30px;
    }
    #logo {
        flex-shrink: 0;
    }
    #logo img {
        width: 300px;
    }
    .mv {
        height: 750px;
    }
    .mv:before {
        width: 100%;
        height: 100%;
        left: 0;
        background-size: cover;
        background-position: left top;
    }
    .mv:after {
        width: 567px;
        height: 558px;
    }
    .mv_txt {
        transform: scale(0.8);
        margin: -75px -35px -50px auto;
    }
    .sec01 .inner {
        padding: 295px 50px 18px;
    }
    .sec01_img_top_left {
        width: 50vw;
    }
    .sec01_img_top_right, .sec01_img_bt_left {
        width: 30vw;
    }
    .sec01:before {
        top: 130px;
    }
    .sec01:after {
        width: 410px;
        height: 276px;
        left: 220px;
    }
    .sec01_img_bt_right {
        width: 55vw;
    }
    .sec01 {
        padding-bottom: 50px;
    }
    .sec02_item .item .title {
        font-size: 28px;
        letter-spacing: 0em;
    }
    .sec02_item:before, .sec02_item:after {
        height: 220px;
    }
    .sec03_item .item1 {
        margin-right: 40px;
        padding-left: 90px;
    }
    .sec03_ttl1 {
        font-size: 30px;
        letter-spacing: 0em;
        left: 0px;
    }
    .sec03_item .title {
        font-size: 30px;
        letter-spacing: 0em;
    }
    .sec03_img.img1 {
        margin-left: 110px;
    }
    .sec03_item .item2 {
        flex-shrink: 0;
    }
    .sec03_item .item1:before {
        left: 50px;
        width: calc(100% + 200px);
    }
    .sec03_item .item1:after {
        width: 300px;
        height: 283px;
        left: 5px;
    }
    .sec03_img.img1:before {
        width: 180px;
        height: 172px;
        left: -90px;
        bottom: 10px;
    }
    .sec05 .inner:before {
        left: 0px;
        background-size: 30vw auto;
        width: 30vw;
        height: 100%;
    }
    .sec05 .inner:after {
        width: 30vw;
        height: 100%;
        background-size: 30vw auto;
        right: 0;
    }
    .sec05 .inner {
        padding-top: 50px;
    }
    .sec05 .ttl_h3 {
        margin-bottom: 90px;
        padding-top: 35px;
    }
    .sec06_item .item1 {
        margin-right: 40px;
    }
    .sec06_item .item1:after {
        left: 15px;
    }
    .sec06_title {
        padding-left: 170px;
    }
    .btn_box {
        gap: 10px;
    }
    .sec06_img_lg {
        left: 50px;
        bottom: -70px;
        width: 1000px;
    }
    .sec06_item .item1:before {
        width: 325px;
        height: 120px;
        right: -50px;
        bottom: -105px;
    }
    .sec06 .idx_txt p {
        letter-spacing: 0em;
    }
}
@media screen and (min-width: 751px) and (max-width: 1500px) {
    .h_box {
        padding: 10px 0;
        left: auto !important;
    }
    .h_left {
        padding-left: 10px;
    }
    .nav_list > li > a, .nav_list > li > .hook {
        padding: 5px 15px;
        font-size: 16px;
    }
    .nav_list > li.parent > .hook {
        padding-right: 20px;
    }
    .h_contact_tel a {
        font-size: 36px;
    }
    .h_contact_tel .time .label {
        width: 100px;
    }
    .h_contact_tel a:before {
        width: 26px;
        height: 26px;
        top: 8px;
    }
    .h_contact > p:not(:last-child) {
        margin-right: 20px;
    }
    #logo img {
        width: 260px;
    }
    .h_contact_mail a span {
        font-size: 18px;
    }
    .h_contact_mail a {
        width: 160px;
        height: 120px;
    }
    nav {
        margin-right: 20px;
    }
    .sub {
        width: 360px;
        left: calc(50% - 180px);
        padding: 28px 10px 29px 20px;
    }
    .sub ul li a {
        font-size: 16px;
        background-size: 6px auto;
    }
    .mv {
        height: 620px;
    }
    .mv:after {
        width: 467px;
        height: 458px;
        top: 110px;
    }
    .mv_txt {
        transform: scale(0.65);
        margin: -105px -115px -50px auto;
    }
    .mv_map {
        left: 155px;
        bottom: -30px;
        transform: scale(0.75);
    }
    .sec01 .inner {
        padding: 280px 30px 18px;
    }
    .sec02_item .item .title {
        font-size: 25px;
    }
    .sec02_item {
        padding: 0 30px;
    }
    .sec03_item .item2 {
        transform: scale(0.8);
        margin: 0 -55px;
    }
    .sec03_item .title {
        font-size: 26px;
        margin-bottom: 25px;
    }
    .sec03_ttl1 {
        font-size: 28px;
    }
    .sec03_item .idx_txt {
        margin-bottom: 35px;
    }
    .sec03_item .item1:before {
        height: calc(100% + 20px);
    }
    .sec03 {
        padding-top: 80px;
        padding-bottom: 75px;
    }
    .sec05 .inner:before {
        left: -20px;
    }
    .sec05 .inner:after {
        right: -20px;
    }
    .sec05_item {
        padding: 0 30px;
        gap: 30px;
    }
    .sec06_item .item1:after {
        left: 12px;
        width: 210px;
        height: 184px;
        top: 93px;
    }
    .sec06_title {
        padding-left: 140px;
        font-size: 30px;
        width: calc(100% - 10px);
    }
    .sec06_item .item1 {
        margin-right: 35px;
        padding-left: 40px;
    }
    .sec06_item .item2 {
        width: 550px;
        margin-right: 30px;
    }
    .btn_w a {
        width: 160px;
        font-size: 18px;
    }
    .sec06_img_lg {
        bottom: -160px;
    }
    .sec07 .inner {
        padding: 0 30px;
    }
    .sec01_item .item .icon {
        left: 0px;
        top: -65px;
    }
    .sec01_item .item .icon img {
        width: 130px;
    }
    .sec01_item .item {
        height: 220px;
    }
    .sec01_item .item4 {
        height: 265px;
    }
    .sec01_item .item .title {
        padding-top: 85px;
    }
    .bnr_fix {
        width: 250px;
    }
	.bnr_fix2 {
    bottom: 250px;
}
}
@media screen and (min-width: 751px) and (max-width: 1280px) {
    .sec02_item .item .title .lg {
        font-size: 125%;
    }
    .sec02_item:before, .sec02_item:after {
        height: 180px;
    }
    .sec03_ttl1 {
        font-size: 24px;
    }
    .sec03_item .title {
        font-size: 22px;
    }
    .cta_box_white:before {
        width: 180px;
        height: 180px;
        right: -15px;
        top: -95px;
    }
    .sec05_item .title {
        font-size: 30px;
        letter-spacing: 0em;
    }
    .sec05_item .item {
        padding: 102px 30px 48px;
    }
    .sec05_item .txt {
        letter-spacing: 0em;
        font-size: 17px;
    }
    .sec05 .ttl_h3 {
        padding-top: 20px;
        margin-bottom: 70px;
    }
    .sec06_title {
        padding-left: 150px;
        font-size: 28px;
    }
    .sec06_item .item1:after {
        left: 10px;
        top: 85px;
    }
    .btn_w a {
        width: 140px;
        font-size: 16px;
        background-position: left 15px center;
        padding-left: 45px;
    }
    .btn_w a:hover {
        background-position: left 15px center;
    }
    .sec06 .idx_txt p {
        font-size: 17px;
    }
    .sec06_item .item1:before {
        bottom: -120px;
    }
    .ft_link ul {
        padding-left: 65px;
    }
    .ft_link .item1 {
        width: 270px;
    }
    .ft_link .item2 {
        width: 470px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1200px) {
    .h_contact_mail {
        margin: -60px -35px 0px 0px;
    }
    .sec01 .inner {
        padding: 250px 30px 18px;
    }
    .sec01_img_top_left {
        width: 600px;
    }
    .sec01_img_top_right, .sec01_img_bt_left {
        width: 360px;
    }
    .sec01_img_bt_right {
        width: 660px;
    }
    .sec05 .inner:before, .sec05 .inner:after {
        background-size: 360px auto;
        width: 360px;
    }
}
/* 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;
        line-height: 1.8;
    }
    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;
    }
    .h_inner {
        padding: 0;
    }
    /* 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 .cta_box_white:before {
        display: none;
    }
    nav .inner {
        padding: 0;
    }
    .nav_list {
        flex-direction: column;
        background: var(--mcolor);
    }
    .nav_list ul, .nav_list li {
        width: 100%
    }
    .nav_list .parent .sub ul li {
        background: #fff;
    }
    .nav_list li.parent:last-child .sub ul li:last-child a {
        border-bottom: 1px #ddd solid;
    }
    .nav_list .parent .sub ul li:not(:last-child) {
        border-bottom: 1px solid #ddd;
    }
    .nav_list .hook, .nav_list a {
        display: block;
        padding: 13px 15px 12px;
        color: #fff;
        font-size: 16px;
        font-weight: 600;
        border-bottom: solid 1px #fff
    }
    .nav_list > li > a {
        background: url(../images/ic-right.png) no-repeat right 17px top calc(50% + 1px)/8px;
    }
    .nav_list .menu_sp a {
        background: url("../images/ic-right.png") no-repeat right 20px center/8px;
    }
    .nav_list .hook {
        position: relative;
        padding-left: 15px
    }
    .nav_list .hook::before, .nav_list .hook::after {
        content: "";
        position: absolute;
        width: 16px;
        height: 2px;
        background-color: #FFF;
        top: calc(50% - 1px);
        right: 15px;
        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: #333;
        border-bottom: none;
        background: url(../images/arrow_right_blue.png) no-repeat left 15px center / 14px;
        padding-left: 35px;
        line-height: 1.4;
        font-size: 15px;
    }
    .hamburger {
        position: absolute;
        right: 15px;
        top: 0;
        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;
        padding: 0;
    }
    /*=====================================================
                          C U S T O M
    ======================================================*/
    /*============ HEADER ============*/
    h1 {
        width: 180px;
    }
    .h_box {
        height: 60px;
        top: 10px;
        right: 10px;
        width: calc(100% - 20px);
        transition: all 0.3s;
    }
    .is_nav .h_box {
        top: 0px;
        right: 0px;
        width: calc(100% - 0px);
        border-radius: 0px;
    }
    .mv:before {
        background: #d5eafd;
        width: 100%;
        height: 100%;
        left: 0;
        z-index: -1;
    }
    .mv:after {
        width: 240px;
        height: 240px;
        right: 0;
        top: 77vw;
        left: 0;
        margin: 0 auto;
    }
    .mv_map {
        position: relative;
        left: 73px;
        bottom: -45px;
        transform: scale(0.75);
        right: 0;
        margin: 0 -50px;
        padding: 0 0 20px 0;
        height: auto;
    }
    .mv_map:before {
        width: 300px;
        height: 300px;
        left: -227px;
        bottom: -19px;
    }
    .mv_txt {
        padding: 0px;
        width: 840px;
        transform: scale(0.48);
        margin: -245px -200px -110px;
    }
    .mv_map_ttl {
        border-radius: 25px;
        border: 12px #fff solid;
    }
    /*============ Main ============*/
    main {}
    /* MAIN VISUAL */
    .mv {
        height: auto;
        margin-bottom: 94px;
        flex-direction: column;
        align-items: center;
    }
    .mv_img img {
        width: 100%;
    }
    .mv_bnr_tt .bg {
        width: 674px;
        font-size: 40px;
    }
    .mv_bnr_tt .txt {
        font-size: 42px;
    }
    .mv_txt h2 {
        margin-left: 0;
    }
    .mv_list {
        left: 0;
    }
    /* sec01 */
    .sec01 .inner {
        padding: 155px 15px 0;
    }
    .sec01:before {
        z-index: -1;
        width: 100%;
        left: 0;
        top: 35px;
        height: calc(100% - 35px);
        background-size: cover;
    }
    .sec01_img_top_left, .sec01_img_top_right, .sec01_img_bt_left, .sec01_img_bt_right {
        flex-shrink: 0;
        width: auto;
    }
    .sec01_img_top_left {
        transform: scale(0.25);
        margin: -225px -380px;
    }
    .sec01_img_top_right {
        transform: scale(0.3);
        margin: -146px -190px;
        right: 10px;
        border-radius: 10px 10px 0 10px;
    }
    .sec01:after {
        width: 300px;
        height: 200px;
        left: 0;
    }
    .sec01_item {
        grid-template-columns: repeat(2, 1fr);
        gap: 60px 15px;
        margin-top: 60px;
    }
    .sec01_item .item1, .sec01_item .item4, .sec01_item .item2, .sec01_item .item5 {
        margin-top: 0px;
    }
    .sec01_item .item .icon, .sec01_item .item.item2 .icon {
        left: 0px;
        top: -40px;
    }
    .sec01_item .item .icon img {
        width: 80px;
    }
    .sec01_item .item .title {
        font-size: 16px;
        padding-top: 20px;
        line-height: 1.4;
        letter-spacing: 0em;
    }
    .sec01_item .item {
        height: 175px;
        box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.18);
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .sec01_item .item:before {
        top: 4px;
        bottom: 4px;
        left: 4px;
        right: 4px;
    }
    .sec01_item .item:after {
        width: 40px;
        height: 22px;
        background-size: 14px auto;
        border-radius: 8px 0px 0px 0px;
    }
    .sec01_img_bt_left {
        transform: scale(0.3);
        margin: 60px -205px;
        right: auto;
        left: 0;
    }
    .sec01_img_bt_right {
        transform: scale(0.25);
        margin: -66px -430px;
    }
    .sec01 .img1 {}
    .sec01 .img2 {}
    .sec01 .img3 {}
    /* sec02 */
    .sec02 {
        padding-top: 180px;
    }
    .sec02_ttl_sm .lable {
        border: 2px #fff solid;
        border-radius: 10px;
        font-size: 20px;
        padding: 1px 5px;
    }
    .sec02:before {
        width: 900px;
        height: 230px;
        left: -135px;
        top: 0;
        background-size: 900px;
    }
    .sec02_ttl_sm .sm {
        font-size: 18px;
        letter-spacing: 0em;
        margin-bottom: -4px;
    }
    .sec02_ttl_sm {
        gap: 5px;
        margin-bottom: 10px;
    }
    .sec02_ttl_sm:before {
        width: 33px;
        height: 32px;
        left: -25px;
        top: -25px;
    }
    .sec02_ttl .txt {
        font-size: 28px;
        top: 0;
    }
    .sec02_ttl .txt .num {
        font-size: 40px;
        margin-right: 4px;
    }
    .sec02_ttl .sec02_logo img {
        width: 200px;
    }
    .sec02_item {
        grid-template-columns: repeat(2, 1fr);
        gap: 60px 10px;
        padding: 0 15px;
        margin-bottom: 36px;
    }
    .sec02_img img {
        border-radius: 15px;
    }
    .sec02_item .item .title {
        font-size: 18px;
        letter-spacing: 0em;
        margin-bottom: 10px;
    }
    .sec02_item .item .title .lg {
        font-size: 120%;
        line-height: 1.3;
    }
    .boxnum {
        left: 5px;
        width: 70px;
        height: 119px;
        top: -20px;
        background-size: 60px auto;
        padding-top: 4px;
    }
    .boxnum .txt {
        font-size: 16px;
        line-height: 1;
        margin-bottom: 0px;
    }
    .boxnum .num {
        font-size: 23px;
        line-height: 1;
    }
    .sec02_item:before {
        height: 20vw;
        width: calc(100% - 60px);
    }
    .sec02_item:after {
        display: none;
    }
    .sec02_item .item6 {
        position: relative;
    }
    .sec02_item .item6:before {
        position: absolute;
        content: "";
        background: #d4ecf7;
        z-index: -1;
        height: 20vw;
        width: calc(100vw - 45px);
        right: -15px;
        top: -40px;
        border-radius: 140px 0 0 140px;
    }
    .sec02_item .item .txt {
        letter-spacing: 0em;
    }
    /* sec03 */
    .sec03 {
        padding-top: 100px;
    }
    .sec03_item .item1 {
        padding-left: 30px;
        margin-top: 0px;
        padding-right: 15px;
    }
    .sec03_item .item1:before {
        height: calc(100% + 40px);
        border-radius: 40px;
        left: 15px;
        top: 30px;
    }
    .sec03_ttl1 {
        font-size: 24px;
        padding: 6px 15px;
        left: 0;
        right: 0;
        margin: 0 auto 25px;
        line-height: 1.4;
    }
    .sec03_ttl2 {
        text-align: center;
    }
    .sec03_ttl2 span {
        font-size: 18px;
        letter-spacing: 0em;
        padding: 4px 9px;
        bottom: 1px;
    }
    .sec03_item .title {
        font-size: 22px;
        margin-bottom: 20px;
        letter-spacing: 0em;
        text-align: center;
    }
    .sec03_box_img {
        display: flex;
        gap: 15px;
        justify-content: center;
        margin-bottom: 35px;
    }
    .sec03_img.img1 {
        margin-bottom: 0;
        margin-left: 0;
        width: 45vw;
    }
    .sec03_img.img2 {
        width: 36vw;
    }
    .sec03_img.img1:before {
        width: 90px;
        height: 86px;
        left: -25px;
        bottom: -30px;
    }
    .sec03_img.img2:before {
        width: 100px;
        height: 64px;
        right: -20px;
        bottom: -28px;
    }
    .sec03_box_img img {
        border-radius: 20px;
    }
    .sec03_item .item1:after {
        width: 180px;
        height: 170px;
        left: 5px;
        top: -70px;
    }
    .sec03 .btn a {
        margin: 0 auto;
    }
    .sec03_item .idx_txt {
        margin-bottom: 30px;
    }
    /* sec04 */
    .sec_cta {
        padding-top: 65px;
        height: auto;
        padding-bottom: 85px;
    }
    .sec_cta:before {
        background: url(../images/idx_bg02_sp.jpg) no-repeat center top /cover;
        width: 100%;
        height: 100%;
        left: 0;
    }
    .cta_ttl1 {
        flex-wrap: wrap;
    }
    .cta_ttl1 {
        font-size: 20px;
        max-width: 400px;
        margin: 0 auto 25px;
        line-height: 2;
    }
    .cta_ttl1 .lable {
        font-size: 135%;
        width: 75px;
        height: 46px;
        border-radius: 5px;
        border: 1px #fff solid;
        padding-bottom: 3px;
        bottom: 3px;
        position: relative;
    }
    .cta_ttl1 .lg {
        letter-spacing: 0em;
        bottom: 8px;
        position: relative;
    }
    .cta_logo img {
        width: 200px;
    }
    .cta_box1 .txt {
        font-size: 21px;
        letter-spacing: 0em;
        margin-left: 5px;
    }
    .cta_box_white:before {
        width: 100px;
        height: 100px;
        right: -10px;
        top: -35px;
    }
    .cta_box_white {
        border-radius: 20px;
        padding: 15px 15px 30px;
        height: auto;
        grid-template-columns: repeat(1, 1fr);
        max-width: 450px;
    }
    .cta_tel a {
        width: 100%;
        height: auto;
        border-radius: 10px;
        padding: 10px 25px;
    }
    .cta_box_white .item1 .title, .cta_box_white .item2 .title {
        left: 0;
    }
    .cta_btn a {
        width: 290px;
        height: 60px;
        font-size: 18px;
        border-radius: 14px;
        box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
        letter-spacing: 0em;
        background-size: 20px auto;
    }
    .cta_box_white .title {
        font-size: 18px;
        letter-spacing: 0em;
    }
    .cta_tel .number {
        font-size: 30px;
        margin-bottom: 0px;
        padding-left: 30px;
    }
    .cta_tel .hour {
        font-size: 18px;
    }
    .cta_box_white .title .ic1 {
        padding-left: 20px;
        background-size: 11px auto;
    }
    .cta_box_white .title .ic2 {
        padding-left: 30px;
        background-size: 24px auto;
    }
    .cta_tel .number:before {
        width: 24px;
        height: 25px;
        left: 0;
        top: 15px;
    }
    .cta_box_white .item1 {
        padding-right: 0;
        padding-bottom: 30px;
        margin-bottom: 10px;
    }
    .cta_tel {
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
    }
    .cta_box_white .item1:before {
        height: 1px;
        width: 100%;
        left: 0;
        top: auto;
        bottom: 0;
    }
    .cta_box_white .item2 {
        padding-left: 0;
    }
    /* sec05 */
    .sec05 {
        padding-top: 80px;
        padding-bottom: 0px;
    }
    .sec05 .inner {
        padding-top: 40px;
        padding-bottom: 50px;
    }
    .sec05 .ttl_h3:before {
        width: 300px;
        height: 200px;
        left: 0px;
        right: 0;
        top: -60px;
        background-size: 300px auto;
    }
    .sec05_item {
        grid-template-columns: repeat(1, 1fr);
        padding: 0 15px;
        gap: 175px;
    }
    .sec05_item .title {
        font-size: 23px;
        margin-bottom: 20px;
        letter-spacing: 0em;
    }
    .sec05_item .item {
        border-radius: 15px;
        padding: 70px 15px 48px;
        max-width: inherit;
    }
    .sec05_item .icon img {
        width: 140px;
    }
    .sec05_item .icon {
        top: -75px;
    }
    .sec05 .inner:after, .sec05 .inner:before {
        display: none;
    }
    .sec05_item .item2 {
        position: relative;
    }
    .sec05_item .item1:before, .sec05_item .item2:before {
        position: absolute;
        content: "";
        width: 55vw;
        height: 100vw;
        top: -48px;
        z-index: -1;
    }
    .sec05_item .item1:before {
        background: url(../images/idx_img_15.png) no-repeat left top;
        left: -15px;
        background-size: 55vw auto;
        top: -150px;
    }
    .sec05_item .item2:before {
        background: url(../images/idx_img_16.png) no-repeat left top;
        background-size: 55vw auto;
        top: -150px;
        right: -15px;
    }
    .sec05 .ttl_h3 {
        margin-bottom: 200px;
    }
    /* sec06 */
    .sec06 {
        padding-top: 30px;
        padding-bottom: 50px;
    }
    .sec06 .inner {
        padding: 0 15px;
    }
    .sec06_item .item1 {
        padding-top: 0;
        padding-left: 0;
    }
    .sec06_item .item2 {
        margin-right: 0;
    }
    .sec06_item .item1:after {
        width: 120px;
        height: 105px;
        left: 0;
        top: 53px;
    }
    .sec06 .ttl_h3 {
        margin-bottom: 20px;
    }
    .sec06_title {
        font-size: 22px;
        letter-spacing: 0em;
        padding: 8px 0;
        margin-bottom: 20px;
        width: 100%;
    }
    .sec06_img_lg img, .sec06_img img {
        border-radius: 15px;
    }
    .sec06_img_lg {
        position: static;
    }
    .sec06_img img {
        width: 100%;
    }
    .btn_w a {
        width: 170px;
        height: 50px;
        border: 1px var(--mcolor) solid;
        font-size: 16px;
        padding-left: 40px;
        background-size: 16px auto;
        background-position: left 15px center;
    }
    .btn_box {
        gap: 10px;
        justify-content: center;
        max-width: 500px;
        margin: 25px auto 0;
    }
    .sec06_item {
        margin-bottom: 85px;
    }
    .sec06_item .item1:before {
        width: 240px;
        height: 87px;
        right: 0;
        bottom: -103px;
        z-index: -1;
    }
    /* sec07 */
    .sec07 {
        padding-top: 0;
        padding-bottom: 50px;
    }
    .sec07_item {
        flex-direction: column;
    }
    .sec07 .ttl_h3 {
        text-align: center;
        margin-bottom: 25px;
    }
    .sec07_item .item1, .sec07_item .item2 {
        width: 100%;
    }
    .sec07_load dl {
        flex-direction: column;
        align-items: flex-start;
        height: auto;
        padding: 10px 30px 10px 20px;
        background-size: 16px auto;
        background-position: right 15px center;
    }
    .sec07_load dl dd a {
        font-size: 16px;
        padding-right: 5px;
    }
    .sec07_load dl dd {
        line-height: 1.4;
        width: 100%;
    }
    .sec07_link a {
        font-size: 18px;
        padding-right: 28px;
        background-size: 18px auto;
        display: table;
        margin: 0 auto;
    }
    .sec07_load dl:not(:last-child) {
        margin-bottom: 15px;
    }
    .sec07_load {
        margin-bottom: 25px;
    }
    .ft_logo img {
        width: 220px;
    }
    .ft_bt {
        padding-top: 30px;
    }
    .ft_logo {
        margin-bottom: 20px;
    }
    address {
        padding: 0px 0px 20px;
        font-size: 14px;
        letter-spacing: 0em;
    }
    /* sec08 */
    .ttl_h3 {
        font-size: 24px;
    }
    .box_shaw img {
        box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.2);
    }
    .btn a {
        width: 280px;
        height: 60px;
        font-size: 16px;
        letter-spacing: 0em;
        box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
        background-size: 18px auto;
        background-position: right 15px center;
    }
    /*============ FOOTER ============*/
    footer {
        margin-bottom: 50px;
    }
    /* SP CONTACT */
    .sp_contact {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 50px;
        position: fixed;
        left: 0;
        z-index: 99;
        bottom: -55px;
        transition: all 0.3s;
    }
    .sp_contact.show {
        bottom: 0;
    }
    .sp_contact li {
        width: 50%;
        height: 100%;
    }
    .sp_contact li a {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        color: #fff;
    }
    .sp_contact li a .lg {
        position: relative;
        padding-left: 22px;
        line-height: 1.7;
    }
    .sp_contact li a span::before {
        content: "";
        position: absolute;
        width: 21px;
        height: 22px;
        left: 0;
        top: calc(50% - 10px)
    }
    .sp_contact li a .sm {
        padding: 1px 11px;
        background: #fff;
        border-radius: 10px;
        color: #000;
        font-size: 10px;
    }
    .sp_contact_tel {
        background-color: var(--mcolor);
    }
    .sp_contact_tel a {
        font-size: 20px;
        display: flex;
        flex-direction: column;
        align-content: center;
        padding-top: 5px;
    }
    .sp_contact_tel a .icon {
        font-family: var(--f-en);
        line-height: 1;
        position: relative;
        padding-left: 22px;
    }
    .sp_contact_tel a .txt {
        font-size: 12px;
        line-height: 1.3;
    }
    .sp_contact_tel a .icon::before {
        background: url(../images/cta_icon_tel_w.png) no-repeat center /17px;
    }
    .sp_contact_mail {
        background-color: var(--org);
    }
    .sp_contact_mail a {
        font-size: 13px;
    }
    .sp_contact_mail a .lg::before {
        background: url(../images/icon_mail.png) no-repeat center /20px;
    }
    /* TO TOP */
    .to_top {
        width: 45px;
        height: 45px;
        right: 5px;
        z-index: 8;
        bottom: 51px;
    }
    /*============ END 750 ============ */
}
@media screen and (min-width: 640px) and (max-width: 750px) {
    .mv_txt {
        transform: scale(0.58);
        margin: -245px -200px -80px;
    }
    .sec01 .inner {
        padding: 80px 15px 0;
    }
    .sec01:after {
        top: -25px;
    }
    .sec_cta {
        padding-bottom: 110px;
    }
}
/* screen-max:440px */
@media screen and (max-width: 440px) {
    .sp440 {
        display: block !important;
    }
    .pc440 {
        display: none !important
    }
    .sec02:before {
        width: 500px;
        height: 130px;
        left: -50px;
        background-size: 500px;
    }
    .sec02 {
        padding-top: 85px;
    }
    .sec06_item .item1:after {
        width: 70px;
        height: 61px;
        left: -6px;
        top: 80px;
    }
}
@media screen and (max-width: 425px) {
    .sp425 {
        display: block !important;
    }
    .mv_txt {
        transform: scale(0.41);
        margin: -250px -200px -150px;
    }
    .mv_map {
        left: 60px;
        transform: scale(0.65);
    }
    .mv:after {
        width: 180px;
        height: 180px;
    }
    .sec01 .img1 {
        margin-top: 200px;
        margin-right: -325px;
    }
    .sec01_img_top_left {
        transform: scale(0.25);
        margin: -285px -310px;
    }
    .sec01_img_bt_right {
        transform: scale(0.2);
        margin: -66px -460px;
    }
    .sec01_img_top_right {
        margin: -165px -190px;
    }
    .sec01_item .item .title {
        font-size: 16px;
        padding-top: 10px;
        line-height: 1.3;
    }
    .sec01_item .item.item4 .title {
        padding-top: 25px;
    }
    .sec01_item .item {
        height: 145px;
    }
    .sec01_item .item .title .lg {
        font-size: 120%;
        line-height: 1.3;
    }
    .sec01_item .item .icon img {
        width: 70px;
    }
    .sec01_item {
        grid-template-columns: repeat(1, 1fr);
        gap: 55px 15px;
    }
    .sec02_item {
        grid-template-columns: repeat(1, 1fr);
    }
    .sec02_item:before {
        height: 50vw;
    }
    .sec02_ttl_sm:before {
        left: -18px;
        top: -32px;
    }
    .sec03_item .title {
        font-size: 20px;
    }
    .sec03_ttl1 {
        font-size: 20px;
    }
    .sec03_img.img1:before {
        width: 64px;
        height: 61px;
        left: -25px;
        bottom: -30px;
    }
    .sec03_img.img2:before {
        width: 70px;
        height: 45px;
        right: -15px;
        bottom: -28px;
    }
    .sec03 .idx_txt p {
        letter-spacing: 0em;
    }
    .sec05_item .item1:before, .sec05_item .item2:before {
        background-size: 65vw auto;
        width: 65vw;
    }
    .cta_box1 .txt {
        font-size: 18px;
    }
    .cta_logo img {
        width: 180px;
    }
    .sec06_title {
        font-size: 18px;
        padding: 4px 0;
    }
    .sec06_item .item1:after {
        width: 54px;
        height: 46px;
        top: 76px;
    }
    .btn_w a {
        width: 43vw;
    }
    address {
        font-size: 13px;
    }
}
/* screen-max: 360px */
@media screen and (max-width: 360px) {
    .sp360 {
        display: block !important;
    }
    .mv_txt {
        transform: scale(0.35);
        margin: -250px -200px -195px;
    }
    .mv_map {
        left: 50px;
        transform: scale(0.55);
    }
    .mv_map_ttl {
        font-size: 26px;
    }
    .mv_map_txt {
        font-size: 21px;
    }
    .sec01_img_top_right {
        margin: -123px -200px;
        transform: scale(0.25);
    }
    .sec01_item {
        gap: 50px 10px;
    }
    .sec01_item .item .title {}
    .sec01_item .item {}
    .sec01_item .item .icon, .sec01_item .item.item2 .icon {
        top: -35px;
    }
    .sec01_item .item .icon img {
        width: 60px;
    }
    .sec01_img_bt_right {
        transform: scale(0.2);
        margin: -65px -460px;
    }
    .sec01_img_bt_left {
        transform: scale(0.25);
        margin: 60px -220px;
    }
    .sec02_ttl_sm .lable {
        font-size: 18px;
        padding: 1px 3px;
    }
    .sec02_ttl .txt {
        font-size: 22px;
    }
    .sec02_ttl .txt .num {
        font-size: 30px;
        margin-right: 2px;
    }
    .sec02_ttl .sec02_logo img {
        width: 180px;
    }
    .sec02:before {
        left: -155px;
    }
    .sec03_item .title {
        font-size: 17px;
    }
    .cta_ttl1, .cta_box1 .txt {
        font-size: 17px;
    }
    .cta_ttl1 .lable {
        width: 71px;
        height: 40px;
        padding-bottom: 1px;
        bottom: 3px;
    }
    .cta_logo img {
        width: 145px;
    }
    .cta_btn a {
        width: 255px;
        height: 60px;
        font-size: 16px;
        background-size: 20px auto;
        background-position: right 15px center;
        border-radius: 10px;
    }
    .sec05 .btn a {
        width: 250px;
    }
    .sec05_item .title {
        font-size: 21px;
    }
    .sec06_item .item1:after {
        left: -10px;
    }
    .sec06_item .item1:after {
        width: 44px;
        height: 38px;
        top: 75px;
    }
    .sec06_title {
        line-height: 1.4;
    }
    address {
        padding: 0px 0px 10px;
        font-size: 13px;
    }
    .sec02_ttl_sm:before {
        width: 30px;
        height: 29px;
        left: -10px;
        top: -32px;
    }
    .to_top {
        bottom: 80px;
    }
    .ft_add {
        font-size: 14px;
    }
    .sp_contact_mail a {
        font-size: 13px;
    }
    .sp_contact li a span::before {
        width: 20px;
        height: 20px;
    }
    .sp_contact li a span {
        padding-left: 22px;
    }
    .sp_contact_tel a .icon::before {
        top: calc(50% - 7px);
        width: 18px;
        height: 18px;
        background-size: 16px auto;
    }
}