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

@media screen and (min-width: 1921px) {

    .sec03::before,
    .sec05::before {
        max-width: 1920px;
        right: 0;
        left: 0;
        margin: 0 auto;
    }

    nav {
        background-size: 66% 100%, cover;
    }
}

@media screen and (min-width: 751px) {
    a[href^="tel:"] {
        pointer-events: none;
    }

    .sp {
        display: none
    }

    /* nav */
    .nav_list {
        display: flex;
        margin-bottom: 10px;
    }

    .nav_list>li.parent {
        position: relative;
    }

    .nav_list>li.parent>.sub_btn {
        cursor: default
    }

    .nav_list>li.parent .sub li {
        margin-bottom: 10px;
    }

    .nav_list>li.parent .sub li:last-child {
        margin-bottom: 0;
    }

    nav .inner {
        padding-top: 80px;
    }

    /*  FOOTER */
    .ft_bnn li:not(:last-child) {
        margin-right: 30px;
    }

    /* hover */
    .parent:hover .sub {
        opacity: 1;
        transform: translate(0, 0);
        visibility: visible
    }

    .ft_bnn li a:hover,
    .to_top img:hover,
    .nav_bnr li a:hover,
    .menu_tt:hover,
    .sec01_item_center .slick-slide .wrap:hover,
    .sec01_item_left .slick-slide .wrap:hover,
    .sec01_item_right .slick-slide .wrap:hover {
        opacity: 0.8;
    }

    .hamburger:hover,
    .is_active .active .hamburger:hover {
        background-color: rgba(83, 142, 217, 1);
    }

    .hamburger:hover .hamburger-inner,
    .hamburger:hover .hamburger-inner::after,
    .hamburger:hover .hamburger-inner::before {
        background: #fff;
        transition: all ease 0.15s;
    }

    .hamburger:hover .menu_tt {
        color: #fff;
    }

    .hamburger:hover .menu_tt::before {
        background: #fff;
    }

    .nav_list a::after,
    .ft_link ul li p a::after,
    .ft_link ul li>a::after {
        position: absolute;
        content: "";
        width: 0%;
        height: 1px;
        background: #fff;
        transition: all 0.3s;
        left: 0;
        bottom: -3px;
    }

    .ft_link ul li p a::after,
    .ft_link ul li>a::after {
        background: #000;
        bottom: 0;
    }

    .nav_list a:hover::after,
    .ft_link ul li p a:hover::after {
        width: 100%;
    }

    .nav_list>li.parent .sub li a::after,
    .ft_link ul li>a::after,
    .ft_link ul li:not(.big)>a::after {
        left: 20px;
    }

    .nav_list>li.parent .sub li a:hover::after,
    .ft_link ul li:not(.big)>a:hover::after {
        width: calc(100% - 20px);
    }

    .sec03_txt dd a:hover {
        color: var(--mcolor);
    }

    /*.nav_btn a:hover,*/
    .btn a:hover,
    .sec04_item .item:hover .sec04_btn a,
    .h_over a:hover {
        background-color: var(--sscolor);
    }

    .sec06_g .btn.btn_con a:hover,
    .btn_con a:hover {
        background-color: var(--scolor);
    }

    .contact_mail a:hover,
    .mv_home a:hover {
        background: var(--scolor);
    }

    .sec01_item_center .slick-prev:hover,
    .sec01_item_center .slick-next:hover {
        background-color: #ddd;
    }

    .sec07 .item_r dl:hover a,
    .ft_link ul li.contact_tt a:hover {
        color: var(--sscolor);
    }

    .ft_bnr a {
        display: inline-block;
    }

    .ft_bnr a:hover,
    .ft_con_box li a:hover {
        transform: translateY(-10px);
    }

    .ft_link ul li.contact_tt a::after {
        display: none
    }

    .ft_add_box {
        max-width: 1155px;
    }

    .ft_add_box:hover .ft_add_txt {
        background-color: var(--sscolor);
    }

    .sec03_info .btn {
        padding-left: 20px;
    }

    .sec03_item .item_r .btn {
        padding-left: 23px;
    }

    .sec03_txt dd .sweetlink {
        letter-spacing: -0.025em;
    }

    .sec06_item>div .info dl.sub3 {
        padding-bottom: 9px;
    }

    .sec06 .btn.h_over.center a {
        background: url('../images/icon_arrow_right.svg') no-repeat right 22px top 34px /22px #538ed9;
    }

    .sec06 .btn.h_over.center a:hover {
        background: url('../images/icon_arrow_right.svg') no-repeat right 22px top 34px /22px var(--sscolor);
    }

    /* SCROLL CSS  */
    .sec04_wrap {
        position: relative;
        height: 3600px;
    }
    .sec04_box.first{height: 1100px}

    .sec04_inner {
        position: relative;
        height: 750px;
        overflow: hidden;
    }

    .sec04_inner .item {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 750px;
    }

    .is_active .active .menu_tt {
        color: var(--mcolor);
    }

    .is_active .active .menu_tt::before {
        background: var(--mcolor);
    }

    .is_active .active .hamburger {
        right: 122px;
    }
    
    header.active .h_box,
    .contact_fix.show{zoom:0.9}
}

@media screen and (min-width: 751px) and (max-width: 1800px) {
    #wrapper::before {
        height: 710px;
    }

    #wrapper::after {
        top: -610px;
    }

    .h_inner.inner {
        padding-left: 0;
    }

    nav .inner {
        padding: 0 50px;
    }

    .hamburger {
        right: 100px;
    }

    .mv_bg {
        width: 100%;
    }

    .mv_bg,
    .main_slider .slide_item {
        height: 625px;
    }

    .mv_left {
        width: calc(100% - 400px);
    }

    .mv_right {
        width: 400px;
    }

    .mv_en {
        font-size: 90px;
        left: 50px;
    }

    .nav_right {
        margin-bottom: 0;
    }

    main {
        padding-top: 160px;
    }

    .mv_txt {
        top: -48px;
    }

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

    .contact_tel,
    .contact_mail a {
        width: 208px;
        height: 80px;
    }

    .mv_home a {
        width: 290px;
    }

    .contact_fix .mv_home a {
        width: 290px;
        height: 60px;
        font-size: 20px;
        padding-left: 15px;
    }

    .contact_fix .mv_home a span {
        padding: 5px 0 5px 35px;
    }

    .contact_fix .contact_tel a {
        font-size: 24px;
        background-size: 24px auto;
        padding-left: 30px;
        padding-top: 6px;
    }

    .contact_fix .contact_tel .time,
    .contact_fix .contact_mail a .sm {
        font-size: 14px;
    }

    .contact_fix .contact_mail a .lg {
        background-size: 24px auto;
        padding-left: 30px;
        font-size: 18px;
    }

    .contact_fix {
        bottom: 35px;
    }

    .contact_fix .mv_home {
        margin-bottom: 10px;
    }

    .mv_bg .slick-dots {
        top: 375px;
    }

    .sec01_slide_wrap {
        justify-content: center;
    }

    .to_top.show {
        bottom: 90px;
    }

    .to_top {
        bottom: -100px;
        right: 300px;
    }

    .ft_info {
        padding-right: 50px;
    }

    .sec04_number.active {
        top: calc(50% + 240px);
    }

    nav {
        background-size: calc(100% - 410px) 100%, cover;
    }

    .nav_left .wrap {
        width: 365px;
    }

    .nav_list .sub_btn,
    .nav_list a {
        font-size: 14px;
    }

    nav .inner,
    .nav_left {
        align-items: center;
    }

    .nav_left {
        justify-content: center;
        flex-grow: 1;
    }

    .sec04 .num{font-size: 160px}
    .sec04 .ja{font-size: 25px}
    .sec04 .en{font-size: 55px;margin-bottom: 35px;}
    .sec04_tt{font-size: 22px}
    .sec04_txt{font-size: 20px}
}

@media screen and (min-width: 751px) and (max-width: 1500px) {
    #wrapper::before {
        height: 540px;
    }

    #wrapper::after {
        top: -790px;
    }

    .hamburger {
        height: 90px;
    }

    .active .hamburger,
    .hamburger {
        padding-top: 45px;
    }

    #logo {
        width: 350px;
        height: 90px;
    }

    #logo img {
        width: 300px;
    }

    nav {
        background-size: calc(100% - 370px) 100%, cover;
    }

    nav .inner {
        padding: 75px 50px 0 0px;
    }

    .h_contact .mv_home a,
    .h_contact .contact_tel,
    .h_contact .contact_mail a {
        height: 80px;
    }

    .mv_home a {
        font-size: 20px;
    }

    .nav_left {
        align-items: center;
    }

    .nav_right,
    .h_contact>p.mv_home {
        margin-bottom: 0;
    }

    .nav_list>li {
        margin-bottom: 10px;
    }

    .nav_list>li:nth-child(1),
    .nav_list>li:nth-child(5) {
        margin-bottom: 15px;
    }

    .nav_list .sub_btn {
        position: relative;
        margin-bottom: 6px;
    }

    .main_slider .slide_item .num {
        right: 15px;
        bottom: 0px;
        font-size: 130px;
    }

    .inner {
        padding-left: 30px;
        padding-right: 30px;
    }

    .mv_en {
        font-size: 75px;
    }

    .mv_bg,
    .main_slider .slide_item {
        height: 440px;
    }

    .mv_round {
        width: 100px;
    }

    .mv_bg .slick-dots {
        top: 175px;
    }

    .sec01_item_center::before {
        width: 660px;
        height: 610px;
    }

    .slider_wrap {
        width: 600px;
    }

    .sec01_item_center {
        margin: 0 100px;
        width: 600px;
        height: 700px;
    }

    .sec01_item_center .slick-dots {
        width: 620px;
    }

    .sec01_item_center .slick-prev,
    .sec01_item_center .slick-next {
        width: 90px;
        height: 90px;
        background-size: 28px auto;
    }

    .sec01_item_center .slick-prev {
        left: -100px;
    }

    .sec01_item_center .slick-next {
        right: -100px;
    }

    .sec01_item_center .img,
    .slider_wrap {
        height: 420px;
    }

    .item_r .sec03_img {
        position: relative;
        right: 50px;
        width: 525px;
    }
    .sec03_item .item_r .sec03_img{
        transform: scale(0.72);
    }

    .sec03 .inner {
        width: 1230px;
    }

    .sec03::after,
    .sec03::before {
        height: 1300px;
    }

    .sec03_g {
        max-width: 1170px;
    }

    .sec03_info {
        margin-top: -305px;
        width: 665px;
    }

    .sec03_txt dt,
    .sec03_txt dd,
    .sec03_txt dd a {
        font-size: 16px;
    }

    .sec04 {
        padding-top: 60px;
        padding-bottom: 350px;
    }
    .sec04_wrap{
        height: 2500px;
    }
    .sec04_inner{
        height: 450px;
        box-shadow: none;
    }
    .sec04_item .item {
        width: 1200px;
        margin-left: auto;
        margin-right: auto;
        height: 450px;
        left: calc(50% - 600px);
    }

    .sec04_ttl{
        margin-bottom: 120px
    }

    .sec04_number.active{
        top: calc(50% + 270px);
    }

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

    .sec06_item {
        justify-content: center;
    }

    .sec06_item>div .img {
        width: 520px;
    }

    .sec06_item>div {
        width: 585px;
    }

    .sec06_g .btn a {
        width: 250px;
    }

    .ft_con_box,
    .ft_tel,
    .ft_add_box {
        max-width: 1135px;
        margin-left: auto;
        margin-right: auto;
    }

    .ft_con_box li a {
        width: 350px;
    }

    .ft_add_tt {
        font-size: 24px;
    }

    .sec04::after {
        background-size: 1000px auto;
    }

    .sec05_item .item_l {
        padding-left: 30px;
    }

    .sec05_img.img1 {
        width: 480px;
    }

    .sec05_img.img2 {
        top: 390px;
    }

    .sec05 {
        padding-bottom: 115px;
    }

    .h_contact .mv_home a,
    .h_contact .contact_tel,
    .h_contact .contact_mail a {
        width: 300px;
    }
}

@media screen and (min-width: 751px) and (max-width: 1280px) {
    nav {
        height: 100%;
    }

    .mv_en {
        font-size: 68px;
    }

    .mv_txt {
        top: -37px;
    }

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

    .nav_bnr {
        margin-top: 50px;
    }

    .sec04 {
        padding-top: 60px;
    }

    .sec03::after {
        width: calc(100% - 25px);
    }
}

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

    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
    }

    /*=====================================================
                      C U S T O M
======================================================*/
    /*============ HEADER ============*/
    .hamburger,
    .active .hamburger {
        right: 0px;
        top: 0px;
        width: 130px;
        height: 60px;
        padding: 15px 15px 0 0;
    }

    .hamburger-box {
        height: 100%;
    }

    .hamburger-inner {
        width: 40px;
        height: 2px;
    }

    .hamburger-inner::after {
        width: 30px;
        height: 2px;
        bottom: 7px;
    }

    .hamburger-inner::before {
        width: 20px;
        height: 2px;
        top: -14px;
    }

    .menu_tt {
        margin-left: 9px;
        font-size: 14px;
        top: -6px;
    }

    .is_active .menu_tt {
        color: #fff;
    }

    .is_active .hamburger--3dxy.is_active .hamburger-inner::before {
        width: 30px;
        top: -39px;
    }

    .is_active .hamburger--3dxy.is_active .hamburger-inner::after {
        transform: translate3d(0, -22px, 0) rotate(-45deg);
    }

    .is_active .menu_tt::before {
        background: #fff;
    }

    .is_active .hamburger-inner,
    .is_active .hamburger-inner::after,
    .is_active .hamburger-inner::before,
    .is_active .active .hamburger-inner,
    .is_active .active .hamburger-inner::after,
    .is_active .active .hamburger-inner::before {
        background: #fff;
    }

    .menu_tt::before {
        height: 32px;
        left: -11px;
        top: -8px;
    }

    nav .inner {
        flex-direction: column;
        justify-content: flex-start;
        padding: 60px 15px 0;
        height: auto;
    }

    .nav_left .wrap {
        width: 100%;
    }

    .nav_list .sub_btn,
    .nav_list a {
        font-size: 16px;
        display: block;
    }

    .nav_list>li {
        border-bottom: 1px var(--sscolor) solid;
        width: 100%;
    }

    .nav_list .sub_btn,
    .nav_list>li {
        margin-bottom: 0;
    }

    .nav_list>li>a,
    .nav_list .sub_btn {
        padding: 15px 0;
    }

    .nav_list {
        margin-bottom: 20px;
    }

    /*.nav_btn a {
        margin: 0 auto 20px;
    }*/
    .nav_bnr {
        margin-top: 30px;
        text-align: center;
    }

    .h_contact .mv_home a,
    .h_contact .contact_tel,
    .h_contact .contact_mail a {
        width: 280px;
    }

    .h_contact .mv_home a,
    .h_contact .contact_tel,
    .h_contact .contact_mail a {
        height: 80px;
    }

    .nav_left {
        flex-direction: column;
        width: 100%;
    }

    .nav_right {
        margin: 20px auto 0px;
    }

    nav {
        padding-bottom: 100px;
        background-position: left top, right top;
        background-size: 1440px auto, cover;
    }

    nav .contact_tel .time {
        font-size: 14px;
    }

    nav .mv_home a {
        font-size: 20px;
    }

    nav .mv_home a {
        padding-left: 0;
    }

    nav .h_contact .mv_home a span {
        padding-left: 40px;
        background-size: 28px auto;
    }

    nav .contact_mail a .lg {
        padding: 5px 0 5px 38px;
        font-size: 18px;
        background-size: 26px auto;
    }

    nav .contact_tel a {
        padding: 5px 0 5px 32px;
        letter-spacing: -0.02em;
        background-size: 26px auto;
    }

    .nav_add {
        color: #fff;
        width: auto;
        display: table;
        margin: 0 auto;
    }

    .nav_map {
        background: url(../images/icon_map.png) no-repeat left top 0px/ 10px;
        padding-left: 13px;
        padding: 5px 0 5px 13px;
        background-position: left top 10px;
        line-height: 1.4;
    }

    .nav_comtxt {
        margin-bottom: 10px;
        text-align: center;
    }

    #logo {
        height: 62px;
    }

    h1,
    #logo {
        width: 185px;
    }

    #logo img {
        width: 165px;
        left: 10px;
        top: 22px;
    }
    header.active .h_box{
        background: var(--mcolor);
    }
    .h_box {
        height: 60px;
        padding: 0px 127px 5px 0px;
    }

    .h_inner {
        padding: 0px;
    }

    .h_left {
        flex-shrink: 0;
    }

    .sub {
        display: none
    }

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

    .sub a {
        border-bottom: none;
        font-size: 15px;
        color: var(--mcolor);
        background: #fff;
        font-weight: 600;
    }

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

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

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

    .nav_list>li.parent .sub li a {
        padding: 15px 0 15px 15px;
    }

    .nav_list>li.parent .sub li:not(:last-child) {
        border-bottom: 1px var(--sscolor) solid;
    }

    .nav_list>li.parent .sub li:first-child {
        border-top: 1px var(--sscolor) solid;
    }

    .nav_list>li.parent .sub li {
        margin-left: 0;
    }

    .nav_list>li.parent .sub li {
        margin-bottom: 0;
    }

    .nav_list>li.parent .sub li a::before {
        top: 25px;
        background: var(--mcolor);
    }

    /*============ Main ============*/
    #wrapper::before {
        height: 100vw;
    }

    #wrapper::after {
        right: 0;
        width: 750px;
        background-size: 750px auto;
    }

    main {
        padding-top: 110px;
    }

    /* MAIN VISUAL */
    .mv_bg,
    .main_slider .slide_item {
        height: 100vw;
        margin-top: 10vw;
    }

    .mv_txt h2 {
        font-size: 3.5vw;
        padding-left: 0;
        text-shadow: rgb(83, 142, 217) 1px 0px 0px, rgb(83, 142, 217) 0.540302px 0.841471px 0px, rgb(83, 142, 217) -0.416147px 0.909297px 0px, rgb(83, 142, 217) -0.989992px 0.14112px 0px, rgb(83, 142, 217) -0.653644px -0.756802px 0px, rgb(83, 142, 217) 0.283662px -0.958924px 0px, rgb(83, 142, 217) 0.96017px -0.279415px 0px;
    }

    .mv_bg {
        width: calc(100% - 60px);
    }

    .mv_left {
        left: 0;
    }

    .mv {
        flex-direction: column;
    }

    .mv_en {
        font-size: 9vw;
        margin-top: 3vw;
        letter-spacing: 0.05vw;
        line-height: 9vw;
        left: 0;
    }

    .mv_txt {
        top: -5vw;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
        margin: 0 auto;
        left: 0;
        right: 0;
        width: auto;
        display: flex;
        flex-direction: column-reverse;
        padding: 0 15px;
    }

    .mv_bg .slick-dots {
        top: 75vw;
        right: -40px;
        width: 30px;
    }

    .mv_bg .slick-dots li::before {
        font-size: 16px;
    }

    .mv_bg .slick-dots li {
        padding-top: 2px;
    }

    .main_slider .slide_item .num {
        font-size: 12vw;
        left: 15px;
        text-align: left;
        bottom: 30px;
    }

    .main_slider .slide_item .bg::before {
        height: 70px;
        right: -25px;
        bottom: 10px;
        left: 0;
        margin: 0 auto;
    }

    .mv_right {
        width: 100%;
        top: 50vw;
        position: absolute;
        align-items: flex-start;
        padding-left: 15px;
    }

    /* sec01 */
    .sec01{padding: 170px 0 40px 0}
    .sec01 .en {
        margin-bottom: 30px;
    }

    .sec01_item_left,
    .sec01_item_right,
    .sec01_item_right .img,
    .sec01_item_left .img {
        width: 220px;
        height: 160px;
    }

    .sec01_item_left {
        margin-left: -100px;
    }

    .sec01_item_left,
    .sec01_item_right {
        margin-top: 120px;
    }

    .sec01_item_right {
        margin-right: -100px;
    }

    .sec01_item_center {
        margin: 0 50px;
        width: 400px;
        height: 507px;
        margin-bottom: 0 !important;
    }

    .sec01_item_center .slider_wrap {
        width: 100%;
        height: 280px;
        top: 50px;
    }

    .sec01_item_center .img {
        height: 280px;
        margin-bottom: 15px;
    }

    .sec01_item_center .price {
        width: 170px;
        height: 50px;
        font-size: 28px;
        border-radius: 10px 10px 0 0;
    }

    .sec01_item_center::before {
        width: 423px;
        height: 455px;
        border-radius: 20px;
        top: 28px;
        left: -12px;
    }

    .sec01_item_center .date,
    .sec01_item_center .title {
        font-size: 18px;
    }

    .sec01_item_center .tag span {
        min-width: 92px;
        height: 26px;
        margin-right: 4px;
        margin-bottom: 4px;
        padding-top: 2px;
        font-size: 13px;
    }

    .sec01_item_center .tag span:last-child {
        margin-right: 0;
    }

    .sec01_item_center .slick-dots {
        width: 300px;
        left: 0;
    }

    .sec01_item_center .slick-prev,
    .sec01_item_center .slick-next {
        width: 50px;
        height: 50px;
        top: 200px;
        background-size: 12px auto;
        background-position: center;
    }

    .sec01_item_center .slick-next {
        right: -48px;
    }

    .sec01_item_center .slick-prev {
        left: -48px;
    }

    .sec01 .ttl {
        margin-top: -45px;
    }

    .sec01_slide_wrap {
        justify-content: center;
        height: 510px;
    }

    .sec01_item_center .date,
    .sec01_item_center .title {
        font-size: 16px;
    }

    /* sec02 */
    .sec02 .slick-dots {
        top: 17px;
    }

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

    .sec02 .btn {
        position: static;
    }

    .sec02 .slick-dots li {
        padding-top: 2px;
    }

    .sec02_info_slide {
        position: relative;
        bottom: 0;
        width: 100%;
        padding: 20px;
        height: 220px;
        overflow: hidden;
    }

    .sec02_info_slide.slick-initialized {
        height: auto;
        overflow: inherit;
    }

    .sec02_item_slide {
        height: 240px;
    }

    .sec02_item_slide .slick-slide {
        width: 340px;
        height: 240px;
    }

    .sec02 .ttl {
        width: 320px;
        height: 125px;
        left: -80px;
        top: 115px;
        padding: 35px 0 0 30px;
        background-size: 280px auto;
    }

    .sec02 .ttl .en {
        font-size: 40px;
        padding-left: 75px;
    }

    .sec02 .ttl .ja {
        padding-left: 75px;
    }

    .sec02_txt dl dt {
        border-radius: 4px;
        font-size: 16px;
        width: 100px;
        height: 30px;
        margin-right: 10px;
    }

    .sec02_txt dl dd {
        font-size: 18px;
    }

    .sec02_txt dl {
        align-items: center;
    }

    .sec02_ttl {
        background-repeat: repeat-x;
    }

    .sec02_txt {
        margin-bottom: 25px;
    }

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

    .sec03_item {
        flex-direction: column;
    }

    .sec03::before {
        width: calc(100% - 20px);
        height: calc(100% + 30px);
        border-radius: 0 20px 20px 0;
    }

    .sec03::after {
        width: calc(100% - 20px);
        height: calc(100% + 30px);
    }

    .sec03 .ttl {
        margin-top: -10px;
    }

    .idx_ttl1,
    .sec04_tt {
        font-size: 20px;
    }

    .sec04_tt {
        text-decoration: underline;
        border-bottom: none;
        text-underline-offset: 4px;
        line-height: 1.6;
        margin-bottom: 10px;
    }

    .sec03 .ttl .num,
    .sec03 .ttl .ja,
    .sec03 .ttl .en,
    .sec03_tt {
        text-align: center;
    }

    .sec03_txt {
        padding: 0 20px 10px 20px;
        font-size: 16px;
    }

    .sec03_item .item_l {
        padding-right: 20px;
        padding-left: 20px;
    }

    .sec03_img {
        text-align: center;
        max-width: 400px;
        margin: 0 auto 20px;
    }

    .sec03_g .sec03_img img {
        border-radius: 15px;
    }

    .sec03_img img {
        max-width: 400px;
    }

    .sec03_item .item_r {
        margin-top: 15px;
        left: 0;
    }

    .sec03_g {
        max-width: 100%;
        align-items: flex-start;
        padding: 0 20px;
    }

    .sec03_info {
        margin-top: -25px;
        width: 100%;
    }

    .sec03_g p:not(:last-child) {
        margin-right: 10px;
    }

    .sec03_img img {
        max-width: 100%;
    }

    .sec03_img.img2 {
        margin-top: 20px;
    }

    .sec03_img.img3 {
        margin-top: 50px;
    }

    .sec03_txt dt {
        width: 90px;
        margin-right: 15px;
        font-size: 16px;
        flex-shrink: 0;
    }

    .sec03_en {
        font-size: 30px;
    }

    .sec03_txt dt,
    .sec03_txt dd,
    .sec03_txt dd a {
        font-size: 14px;
    }

    .sec03_txt dd .icon_add {
        background-size: 15px auto;
        padding-right: 25px;
    }

    .btn.bt_ic_home a .icon_home {
        padding: 1px 0 5px 28px;
        background-size: 20px auto;
        background-position: left top 1px;
    }

    /* .btn.bt_ic_home a {
        left: -11px;
    }*/
    /* sec04 */
    .sec04 {
        padding-top: 25px;
        padding-bottom: 120px;
    }

    .sec04 .en {
        margin-bottom: 7px;
        font-size: 34px;
    }

    .sec04_txt {
        font-size: 16px;
        margin-bottom: 30px;
    }

    .sec04_item .item.item1 {
        background: url(../images/idx_img_10_sp.png) no-repeat center top / cover;
    }

    .sec04_item .item.item2 {
        background: url(../images/idx_img_11_sp.png) no-repeat center top / cover;
    }

    .sec04_item .item.item3 {
        background: url(../images/idx_img_12_sp.png) no-repeat center top / cover;
    }

    .sec04_item .item {
        width: 100%;
        height: 350px;
        padding: 25px 15px 60px;
    }

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

    .sec04_btn a {
        width: 160px;
        height: 50px;
        border-radius: 30px 0 15px 0;
        padding-left: 20px;
        background-size: 18px auto;
        background-position: right 20px center;
    }

    .sec04_item .item .info .txt {
        font-size: 16px;
        margin-top: auto;
        margin-bottom: 30px;
    }

    .sec04_ttl {
        margin-bottom: 0;
    }

    .sec04_item .item .info {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .sec04_number li {
        margin: 0 5px;
    }

    /* SCROLL CSS  */
    .sec04_wrap {
        position: relative;
        height: 1440px;
    }
    .sec04_box.first{height: 600px}
    .sec04_inner {
        position: relative;
        height: 350px;
        overflow: hidden;
    }

    .sec04_inner .item {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 350px;
    }

    .sec04_number.active {
        top: calc(50% + 180px);
    }

    /* sec05 */
    .sec05 {
        padding-bottom: 43px;
    }

    .sec05 .ttl {
        text-align: center;
    }

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

    .sec05_group_img {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }

    .sec05_group_img p {
        width: calc(50% - 10px);
    }

    .sec05_img {
        position: static;
    }

    .sec05::before {
        height: calc(100% + 50px);
    }

    .sec05::before,
    .sec05::after {
        width: calc(100% - 15px);
    }

    .sec05_item .item_l {
        width: 100%;
        padding: 0 20px;
    }

    .sec05 .idx_ttl1 {
        text-align: center;
    }

    .btn_group .btn a {
        margin: 0 auto;
        background: url(../images/arrow_up_w.png) no-repeat right 30px top 50% / 20px #538ed9;
    }

    .sec05_txt {
        margin-bottom: 25px;
    }

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

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

    .sec06_item>div {
        width: 100%;
        margin-bottom: 40px;
    }

    .sec06_g {
        justify-content: center;
        margin-top: 20px;
    }

    .sec06_g .btn {
        width: calc(50% - 5px);
    }

    .sec06_g .btn.btn_con a span {
        padding: 5px 0 5px 26px;
        background-size: 20px auto;
    }

    .sec06_g .btn:not(:last-child) {
        margin-right: 10px;
    }

    .sec06_item>div .info dl dd {
        font-size: 16px;
        max-height:70px;
        text-overflow:ellipsis;
        overflow:hidden;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: inherit;
    }

    .sec06_g .btn a {
        width: 100%;
        height: 50px;
    }

    .sec06_item {
        max-width: 450px;
        margin: 0 auto;
    }

    .sec06_item>div .img {
        padding: 0 20px;
        width: 400px;
        max-width: calc(100% - 50px);
        height: auto;
        aspect-ratio: 58/38;
        margin-left: auto;
        margin-right: auto;
    }

    .sec06 .slick-prev{left: -10px;z-index: 5;}
    .sec06 .slick-next{right: 10px;z-index: 5;}
    .sec06 .slick-next::before,
    .sec06 .slick-prev::before{
        font-size: 40px;color: var(--txt);
        
    }
    

    .sec06 .ttl {
        margin-top: -5px;
    }

    .sec06_item>div .info {
        border-radius: 15px;
        padding: 130px 20px 5px;
    }

    .sec06_item>div .info dl{
        padding: 15px 10px 12px;
        align-items: center;
    }

    .sec06_item>div .info dl dt {
        width: 80px;
        margin-right: 10px;
        font-size: 14px;
    }
    .sec06_item>div .info dl dd .num{
        font-size: 140%;
    }

    /* sec07 */
    .sec07 {
        padding: 50px 0 100px;
    }

    .sec07_item {
        flex-direction: column;
    }

    .sec07_item .item_l {
        width: 100%;
    }

    .sec07_item .item_r {
        width: 100%;
        margin-top: 0;
        margin-bottom: 30px;
    }

    .sec07 .ttl {
        text-align: center;
        margin-bottom: 30px;
    }

    .sec07 .item_r dl {
        padding: 15px 40px 15px 0;
        background-size: auto 2px, 20px auto;
    }

    .sec07 .item_r dl:last-child {
        padding: 15px 40px 15px 0;
        background-size: auto 2px, auto 2px, 20px auto;
    }

    .sec07 .item_r dl dd,
    .sec07 .item_r dl dt {
        font-size: 16px;
    }

    .sec07::after {
        left: -10px;
        top: 20px;
        background-size: 260px auto;
    }

    /* sec08 */
    /*============ FOOTER ============*/
    .btn a {
        width: 280px;
        height: auto;
        padding-top: 5px;
        padding-bottom: 5px;
        min-height: 60px;
        font-size: 18px;
        box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.2);
        background-size: 18px auto;
        background-position: right 15px center;
    }

    .ttl .num {
        font-size: 80px;
        margin-bottom: 15px;
    }

    .ttl .ja {
        font-size: 22px;
        letter-spacing: 0em;
    }

    .ttl .en {
        font-size: 50px;
        margin-top: 15px;
    }

    footer {
        margin-bottom: 55px;
    }

    .ft_top .inner {
        flex-wrap: wrap;
        justify-content: center;
        padding-bottom: 20px;
    }

    .ft_info {
        padding-right: 0;
    }

    .ft_tel {
        padding: 20px 15px;
        border-radius: 80px;
    }

    .ft_tel .ft_tel_txt .hour {
        font-size: 14px;
        align-items: center;
    }

    .ft_tel .ft_tel_txt .hour .txt1,
    .ft_tel .ft_tel_txt .hour:nth-of-type(2) .txt1 {
        border-radius: 4px;
        margin-right: 10px;
        flex-shrink: 0;
        width: 70px;
        height: 28px;
        font-size: 14px;
    }

    .ft_tel .ft_tel_txt .hour:nth-child(2) {
        margin-left: 0px;
        margin-top: 10px;
    }

    .ft_tel,
    .ft_add_box {
        width: 100%;
        height: auto;
        flex-direction: column;
        max-width: 360px;
    }

    .ft_tel {
        border-radius: 999px;
    }

    .ft_add_box {
        padding-bottom: 50px;
    }

    .ft_add_tt {
        font-size: 16px;
        line-height: 1.5;
        margin-bottom: 15px;
        background-position: left calc(50% - 65px) top 8px;
        background-size: 12px auto;
        padding-left: 0px;
        text-align: center;
    }

    .ft_add_txt {
        width: 260px;
        height: 50px;
        border-radius: 4px;
        margin-left: 0px;
        font-size: 16px;
        letter-spacing: 0em;
    }

    .ft_tel a {
        font-size: 28px;
        padding-left: 33px;
        margin-right: 0;
        letter-spacing: 0em;
        background-size: 26px auto;
        margin-bottom: 10px;
        background-position: left top 2px;
    }

    .ft_tel .ft_tel_txt {
        margin-right: 0;
        flex-direction: column;
    }

    .ft_map {
        width: 100%;
        margin-top: 30px;
    }

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

    .ft_con_box .sub1 a span {
        padding: 5px 0 5px 27px;
        background-size: 22px auto;
    }

    .ft_con_box .sub2 a span {
        padding: 5px 0 5px 30px;
        background-size: 22px auto;
    }

    .ft_con_box .sub3 a span {
        padding: 5px 0 5px 30px;
        background-size: 22px auto;
    }

    .ft_con {
        width: calc(100% - 30px);
        border-radius: 20px;
        top: -50px;
        height: auto;
        padding-top: 50px;
        margin-bottom: 0;
    }

    .ft_con_ttl {
        font-size: 18px;
        padding-top: 40px;
        line-height: 1.5;
    }

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

    .ft_con_box li a {
        width: 280px;
        height: 60px;
        font-size: 18px;
        align-items: center;
        justify-content: center;
        box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.2);
    }

    .ft_info_logo {
        margin-bottom: 40px;
    }

    .ft_info_logo img {
        width: 260px;
        display: table;
        margin: 0 auto;
    }

    .ft_bnr a {
        display: table;
        margin: 0 auto;
    }

    address {
        padding-bottom: 20px;
        font-size: 14px;
    }

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

    .sp_contact.show {
        bottom: 0;
    }

    .sp_contact li {
        width: 50%;
        height: 100%
    }

    .sp_contact li a {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        color: #fff;
        font-size: 12px;
    }

    .sp_contact li a span {
        position: relative;
    }

    .sp_contact_tel {
        background: var(--scolor);
    }

    .sp_contact_tel .num {
        font-family: var(--en);
        font-size: 15px;
        font-weight: 700;
        background: url(../images/icon_tel_fix.png) no-repeat left center / 16px;
        padding: 2px 0 0px 18px;
    }

    .sp_contact_tel .time,
    .sp_contact_mail .sm {
        font-size: 11px;
        line-height: 1.5;
        text-align: center;
        font-weight: 500;
        padding: 0;
        display: inline-block;
        width: auto;
    }

    .sp_contact_tel .time{
        background: url(../images/icon_tel_fix.png) no-repeat left 0 top 1px / 18px;
        padding-left: 25px;
        font-size: 13px;
    }

    .sp_contact_mail {
        background: var(--mcolor);
    }

    .sp_contact_mail .lg {
        background: url(../images/icon_mail_fix.png) no-repeat left center / 20px;
        padding: 2px 0 1px 25px;
        font-size: 12px;
        font-weight: 700;
    }

    .sp_contact_home {
        background: var(--sscolor);
        font-size: 11px;
        font-weight: 700;
        line-height: 1.3;
    }

    .sp_contact_home span {
        background: url(../images/icon_home.png) no-repeat left center / 14px;
        padding: 2px 0 1px 20px;
    }

    /* to top */
    .to_top {
        width: 50px;
        height: 50px;
        right: 0px
    }

    .to_top.show {
        bottom: 55px;
    }

    .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
    }

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

@media screen and (min-width: 441px) and (max-width: 750px) {
    .sec03_en {
        padding: 0 20px;
    }
}

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

    .pc440 {
        display: none !important
    }

    main {
        padding-top: 80px;
    }

    .sec01_item_center {
        margin: 0 30px;
        width: 300px;
        height: 435px;
    }

    .sec01_item_center .price {
        width: 140px;
        height: 40px;
        font-size: 24px;
    }

    .sec01_item_center::before {
        width: 314px;
        height: 390px;
        border-radius: 20px;
        top: 23px;
        left: -7px;
    }

    .sec01_item_center .slider_wrap {
        top: 40px;
    }

    .sec01_item_center .slider_wrap,
    .sec01_item_center .img {
        height: 180px;
    }

    .sec01_item_left,
    .sec01_item_right,
    .sec01_item_right .img,
    .sec01_item_left .img {
        width: 180px;
        height: 120px;
    }

    .sec01_item_left,
    .sec01_item_right {
        margin-top: 90px;
    }

    .sec01_item_center .slick-dots {
        width: 230px;
    }

    .sec01_item_center .slick-prev,
    .sec01_item_center .slick-next {
        width: 40px;
        height: 40px;
        top: 145px;
        background-size: 8px auto;
    }

    .sec01_item_center .slick-next {
        right: -30px;
    }

    .sec01_item_center .slick-prev {
        left: -30px;
    }

    .sec01_slide_wrap {
        height: 435px;
    }

    .sec03_txt dl {
        flex-direction: column;
    }

    .sec03_txt dl dt {
        margin-bottom: 10px;
    }

    .sec03_txt dt,
    .sec03_txt dd,
    .sec03_txt dd a {
        font-size: 14px;
    }

    .sec03_txt dd {
        line-height: 1.5;
    }

    .sec03_txt {
        padding: 0 0px 10px 0px;
    }

    .nav_map {
        text-align: center;
        background-position: left calc(50% - 45px) top 9px;
    }
}

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

    .ttl .en {
        font-size: 38px;
    }

    .idx_ttl1,
    .sec04_tt {
        font-size: 17px;
    }

    .ttl .ja {
        font-size: 20px;
    }

    .sec01{padding: 130px 0 40px 0;}

    .sec04_ttl .ja {
        font-size: 20px;
    }

    .sec06_g .btn a {
        background-position: right 10px center;
        background-size: 15px auto;
        font-size: 16px;
    }

    .mv_txt h2 {
        font-size: 3.6vw;
    }

    .mv_en {
        font-size: 8.5vw;
    }

    .sec05 .idx_ttl1,
    .sec03_tt {
        font-size: 4.5vw;
    }

    .ft_add_tt {
        font-size: 14px;
        background-position: left calc(50% - 60px) top 4px;
    }

    .mv_right{width: 85%;}
}

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

    .nav_map {
        background-position: left calc(50% - 40px) top 7px;
        font-size: 14px;
    }

    .sec01_item_center {
        width: 260px;
        height: 435px;
    }

    .sec01_item_center::before {
        width: 273px;
    }

    .sec01_item_center .slick-dots {
        width: 200px;
    }

    .sec01_item_center .tag span {
        min-width: 84px;
        margin-right: 2px;
        margin-bottom: 2px;
        font-size: 11px;
    }

    .sec01_item_center .title {
        margin-bottom: 15px;
    }

    .sec03_item .item_l {
        padding-right: 15px;
        padding-left: 15px;
    }

    .sec03_txt dd a {
        font-size: 13px;
    }

    .sec04_ttl .ja {
        font-size: 5.2vw;
        line-height: 7vw;
    }

    .sp_contact_tel .num {
        font-size: 13px;
        padding: 2px 0 1px 16px;
        background-size: 14px auto;
    }

    .sec04 .en {
        font-size: 32px;
    }

    .sec05 .ttl .ja {
        font-size: 19px;
    }

    .btn_group .btn a {
        width: 240px;
        font-size: 15px;
        background-size: 16px auto;
        background-position: right 20px center;
    }

    .sec06_g .btn a {
        background-position: right 10px center;
        background-size: 13px auto;
        font-size: 14px;
    }

    .sec06_g .btn.btn_con a span {
        padding: 5px 0 4px 25px;
    }

    .sec05_item .item_l {
        padding: 0 10px;
    }

    .sec05_txt {
        width: calc(100% + 15px);
    }

    .ft_con_box li a {
        width: 260px;
    }

    .ft_add_tt {
        font-size: 13px;
        background-position: left calc(50% - 57px) top 5px;
    }

    address {
        padding-right: 20px;
        font-size: 12px;
    }

    .sp_contact_tel .time{
        background: url(../images/icon_tel_fix.png) no-repeat left 0px top 3px / 12px;
        padding-left: 15px;
    }
}