.sp440 {

    display: none
}



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

    /* 2024.4.30 add. */
    .box_news {
     /* width: 58.25%; */
        width: 1111px;
    }

    a[href^="tel:"] {

        pointer-events: none;

    }

    .nav_new {
        min-width: 1154px;
    }

    .sp {

        display: none !important;

    }

    .letter_0 {
        letter-spacing: 0;
    }

    .lightboxOverlay,.lightbox {
        min-width: 1260px;
    }

    .h_box {
        min-width: 1260px;
    }

    body.is_active {
        overflow-y: hidden;
    }



    header.show #logo {

        padding: 10px 0 5px 60px;

        width: 240px;

    }

    .btn.black a {
        height: 64px;
    }

    .hamburger {
        top: 36px;
    }

    header.show .hamburger {
        top: 19px;
    }

    /* nav */

    nav {

        position: fixed;

        top: 0;

        left: 0;

        width: 100%;

        height: 100%;

        background: url(../images/bg_nav.jpg) repeat;
        z-index: 2;

    }

    nav .inner {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
    }

    nav .nav_wraper {
        width: 100%;
        height: auto;
        padding-top: 100px;
        padding: 100px 15px 76px;
        overflow-y: auto;
    }



    nav .nav_logo {

        position: absolute;

        top: 60px;

        left: 51px;

    }

    /* mv */

    .main_slider .slide_item .bg {
        width: 1920px;
        left: -8px;
    }


    /* sec01 */
    .sec01 .container {
        max-width: 1900px;
    }

    .sec01_top {
        margin-right: 62px;
    }

    .sec01 .ttl {
        width: 400px;
    }

    .sec01_top .ttl .ja {
        position: relative;
        top: -3px;
    }

    .sec01_top .list_home_blog {
        width: 100%;
        flex: 1;
        margin-left: 50px;
    }

    .sec01_box_movie .movie_list {
        width: calc(100% - 450px);
    }

    .sec01_box_movie {
        padding-top: 60px;
        margin-top: 0;
        padding-bottom: 60px;
        margin-bottom: 0;
        border-bottom: 1px solid #575757;
    }

    .sec01_bottom .btn_box p.btn.black {
        margin-bottom: 9px;
    }

    .sec01 .btn_box {
        margin-top: -230px;
    }

    /* sec02 */
    .sec02_bottom .btn a { 
        width: 320px;
    }
    /* sec05 */
    .sec05_list .it_big.is04 .dect {
        max-width: 430px;
        margin-left: -110px;
        z-index: -1;
    }

    /* sec08 */

    .sec08 .container::before {

        left: -8px;

    }


    .box_link::after,
    .hv_01 a:before {

        content: "";

        position: absolute;

        top: -10px;

        left: -10px;

        right: -10px;

        bottom: -10px;

        background: #fff;

        transform: scale(0.9, 0.9);

        opacity: 0;

        transition: all 0.3s;

        border-radius: 5px;

        -webkit-box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1);

        box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1);

        -webkit-transition: all 300ms cubic-bezier(0.165, 0.84, 0.44, 1);

        -moz-transition: all 300ms cubic-bezier(0.165, 0.84, 0.44, 1);

        -ms-transition: all 300ms cubic-bezier(0.165, 0.84, 0.44, 1);

        -o-transition: all 300ms cubic-bezier(0.165, 0.84, 0.44, 1);

        transition: all 300ms cubic-bezier(0.165, 0.84, 0.44, 1);

        pointer-events: none;

        pointer-events: none;

        z-index: -1;

    }

    .box_link:not(.none_hv):hover::after,
    .hv_01:hover a:before {

        transform: scale(1, 1);

        opacity: 1;

    }
    .sec08_bl_under .btn_line a:hover,
    .box_link:not(.none_hv):hover,
    .hv_01:hover {

        transform: translateY(-10px);

        z-index: 2;

    }



    .sec01_list .hv_01:hover {
        /* color: var(--txt); */
        transform: translateY(0px);
        opacity: 0.9;

    }

    .sec01_list .hv_01:hover .wrap_txt .time::before {
        background-color: var(--black);
    }

    .sec02 .box_link {
        min-height: 270px;
        padding-top: 40px;
        width: 100%;
        margin-top: 50px;
    }


    /*  FOOTER */

    .ft_bnn li:not(:last-child) {

        margin-right: 30px;

    }

    .to_top {

        bottom: 40px;

    }

    /* hover */

    .nav_new .nav_new_list > li:hover {
        background-color: var(--black);
    }

    .sec08_list li:hover,

    .tmp_slick .slick-prev:hover,

    .tmp_slick .slick-next:hover{

        transform: translateY(-10px);

        box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.4);

    }

    .hamburger-box:hover,
    .sec09_list li:hover {
        opacity: .7;
    }



    .sec04 .container:hover,
    .nav_new_sub > li:hover {

        transform: translateY(-10px);

        filter: brightness(0.9);

    }



    .tmp_slick .slick-prev:hover,

    .tmp_slick .slick-next:hover {

        background-color: var(--txt);

    }



    .tmp_slick .slick-prev:hover::before {

        background-image: url(../images/prev_wh.png);

    }



    .tmp_slick .slick-next:hover::before,
    .sec01_list .slick-prev:hover::before {

        background-image: url(../images/next_wh.png);

    }

    .sec01_list .slick-next:hover::before {
        background-image: url(../images/prev_wh.png);
    }



    .nav_list>li:hover>a,

    .ft_link .content ul li a:hover,

    .box_news .txt a:hover {

        text-decoration: underline;

    }



    .parent:hover .sub {

        opacity: 1;

        transform: translate(0, 0);

        visibility: visible
    }



    .sub a:hover {

        background-color: var(--scolor);

        text-decoration: none;

    }



    .ft_bnn li a:hover,

    .to_top:hover,
    .ft_bottom .content:hover,
    .mv_badge a:hover  {

        transform: translateY(-10px);

    }



    .box_news .news_btn a:hover,
    .h_contact a:not(.none_hv):hover,
    .sec02 .box_list_btn li a:hover {

        transform: translateY(-6px);

    }


    .under main .un_col.un_2col li .btn a:hover,
    .btn a:hover {

        transform: translateY(-8px);

        background: var(--txt);

        border-color: var(--txt);

        color: #fff;

        box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.4);

    }



    .btn a:hover::before {

        background-image: url(../images/ic_arrow_dif.png);

    }



    .btn.black a:hover {

        transform: translateY(-10px);

        background: #fff;

        border-color: #fff;

        color: var(--txt);

        box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.4);

        border-color: #929292;

    }



    .btn.black a:hover::before {

        background-image: url(../images/ic_arrow_bl.png);

    }



    .sec03_list li:hover {

        background-color: rgb(255 255 255 / 20%);

        transition-delay: 80ms;

        transition-duration: 300ms;

        transition-timing-function: ease-in-out;

    }



    .sec03_list li:hover .img_hv {

        opacity: 1;

        transform: translate(0px, 0px);

        transition-delay: 150ms;

        transition-duration: 400ms;

        transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);

    }



    .mv_txt .txt .aos_txt span {

        display: inline-block;

    }

    .sec06_list li:hover {
        /*color: var(--txt);*/
		color:#fff;
    }
    .sec06_list li:hover .two_txt span{/*border-
        color: var(--txt);*/
		border-color:#fff;}


    .sec06_list li:hover .content .sub_txt::before {
        background-image: url(../images/ic_map.png);
    }




    [data-aos][data-aos][data-aos-duration="1500"],

    body[data-aos-duration="1500"] [data-aos] {

        transition: -webkit-transform 1.5s cubic-bezier(.25, .82, .355, 1);

        -webkit-transition: -webkit-transform 1.5s cubic-bezier(.25, .82, .355, 1);

        transition: transform 1.5s cubic-bezier(.25, .82, .355, 1);

        transition: transform 1.5s cubic-bezier(.25, .82, .355, 1), -webkit-transform 1.5s cubic-bezier(.25, .82, .355, 1);

    }



    [data-aos^=fade][data-aos^=fade].aos-animate {

        opacity: 1;

        -webkit-transform: translateY(0);

        transform: translateY(0);

    }



    [data-aos=fade-up] {

        -webkit-transform: translateY(110%);

        transform: translateY(110%);

    }

    .sec08.top_sale .ttl {
        left: 0;
        position: relative;
        top: -10px;
    }

    .sec08_list{position: relative;padding-bottom: 120px;}
    .sec08_list li.it04{position: absolute;bottom: 0;left: calc(50% - 300px);width: 600px;height: 100px;}
    .sec03_list li h4 img.logo_basis_wh{ max-width: 157px; height: auto;}
    .sec03_list li h4 img.logo_rhouse_n3{ max-width: 255px; height: auto;}
}



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

    /* 2024.4.30 add. */
    .box_news {
        width: 56.25%;
    }

    nav {

        overflow-y: scroll;

    }



    nav::-webkit-scrollbar {

        width: 0;

    }



    nav::-webkit-scrollbar-track {

        background-color: #292929;

    }

    nav .inner {
        height: auto;
    }

    .hamburger {
        top: 44px;
        right: 20px;
    }

    .h_right {
        margin-left: 30px;
        width: 100%;
        max-width: 1000px;  
    }

    header.show .hamburger {
        top: 18px;
    }

    .h_contact {
        margin-right: 90px;
    }
    .h_contact a {
        padding: 0 10px;
        min-height: 40px;
        min-width: 125px;
    }
    .h_contact a span{
       letter-spacing: 0;
    }
    .h_contact_chat a span::before {
        width: 20px;
        height: 20px;
        left: -3px;
        top: -2px;
    }

    .h_contact_cal a span::before {
        width: 24px;
        height: 20px;
        left: -3px;
        top: -3px;
    }

    .h_contact_mail a span::before {
        width: 22px;
        height: 23px;
        left: -3px;
        top: -6px;
    }

    .h_contact_ins a span::before {
        width: 22px;
    height: 22px;
    left: -1px;
    top: -4px;
    }

    .h_contact_yt a span::before {
        width: 26px;
        height: 26px;
        left: -5px;
        top: -6px;
    }

    .h_contact_line a span::before {
        width: 22px;
        height: 22px;
        left: -2px;
        top: -4px;
    }

    #logo {
        padding: 30px 0 10px 30px;
    }

    .nav_new {
        min-width: auto;
    }

    .nav_new_sub > li .txt .en {
        font-size: 14px;
    }

    .nav_new_sub > li .txt .ja {
        font-size: 13px;
    }
    .nav_new_sub > li .txt .ja::before {
        top: 9px;
    }
    .nav_new_sub > li .txt .ja_dif {
        letter-spacing: -0.09em;
    }
    .nav_new_sub > li .pic {
        height: 100px;
    }
    /* mv */
    .main_slider .sub_slider {
        padding-left: 280px;
        padding-right: 50px;
    }


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

    .en.big {

        font-size: 150px;

    }


    .box_link {
        width: calc(100% - 30px);
        padding-left: 30px;

    }

    .box_link .dect {
        width: 600px;

    }


    .tmp_slick .slick-prev {
        right: calc(100% + 250px);
    }

    .tmp_slick .slick-next {
        right: calc(100% + 150px);

    }

    .sec01_list .slick-next {
        right: calc(100% + 250px);
    }

    .sec01_list .slick-prev {
        right: calc(100% + 150px);
    }

    .sec01 .btn_box {
        margin-top: -150px;
    }

    .sec01 .sec01_box_movie .btn_box {
        margin-top: 20px;
    }

    .sec07_list.tmp_slick .slick-prev {
        right: 250px;
    }

    .sec07_list.tmp_slick .slick-next {
        right: 150px;
    }

    .box_link .txt::before {
        right: -144px;
        top: 27px;
    }

    /* mv */

    .mv_bg,

    .main_slider .slide_item {

        height: 100vh;

    }


    .mv_txt .txt {
        font-size: 40px;
        /* padding-top: 120px; */
        /* padding-bottom: 100px; */
        padding: 230px 0 80px 30px;
    }

    .mv_txt .txt .pic {
        width: 300px;
    }

    .slide_item.is02 .mv_txt .txt .pic {
        right: 0;
    }



    /* sec01 */

    .sec01 .container {

        padding: 0 50px;

    }

    .sec01 .ttl {
        width: 300px;
    }

    .sec01_top {
        margin-left: auto;
        margin-right: auto;
    }

    .sec01_bottom {

        padding-left: 50px;

    }


    .sec01_top .list_home_blog {
        margin-left: 30px;
    }

    .sec01_list li {
        margin: 5px;
        width: calc(100% / 3 - 10px);
    }

    .sec01_box_movie {
        padding-top: 50px;
        margin-top: 50px;
    }

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

    .sec01_box_movie .movie_list {
        margin-left: 30px;
    }
    .sec01_list li .wrap_txt .txt {
        font-size: 18px;
    }

    .sec01_list .slick-prev, .sec01_list .slick-next {
        top: 150px;
    }

    /* sec02  */
    .sec02_top {
        padding: 0 30px;
    }

    .sec02_top .pic {
        width: 50%;
    }

    .sec02_top .pic.is01 {
        left: 45px;
    }

    .sec02_top .pic.is02 {
        right: 45px;
    }

    .sec02_top .pic img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .sec02_top .txt {
        font-size: 50px;
        margin-bottom: 0px;
        margin-top: 210px;
        height: 350px;
    }

    .sec02 .container::before {

        width: calc(100% - 100px);

        height: calc(100% - 340px);

        bottom: 140px;

    }

    .sec02_bottom {
        margin-left: 0;
        padding: 0 30px;
    }
    
    .sec02 .box_link {
        max-width: calc(100% - 60px);
    }

    .sec03_list {
        padding: 0 30px;
    }

    .sec03_block .en.big {

        left: 20px;
        top: -83px;
    }



    /* sec04 */
    .sec04 .container {
        padding-left: 30px;
    }

    .sec04 .inner {
        padding: 0 30px;
    }

    /* .sec04 .container .link_wrap::before {
        right: 30px;
    } */
    .sec04 .ttl::before {
        left: 0;
    }

    .sec04 .dect {

        max-width: 720px;

    }




    /* sec05 */

    .sec05 .container::before {

        width: 590px;

    }



    .sec05 .container::after {

        width: 500px;

    }

    .sec05_list {
        padding: 0 30px;
    }

    .sec05_list .it_big.is02 {
        left: 25px;
    }

    .sec05 .container .en.big {

        left: 20px;

        top: -10px;

    }



    .sec05_list .is01 .dect {

        max-width: 720px;

    }



    .sec05_list .it_sm .ttl .en {

        font-size: 80px;

    }



    .sec05_list li h4.ttl .ja {

        font-size: 30px;

    }



    .sec05_list li.is01 .link_wrap::after {

        right: 30px;

    }



    .sec05_list .it_big {

        margin-left: calc(100% - 1070px);

    }



    .sec05_list .it_sm .left,
    .sec05_list .it_sm .right {

        width: calc(50% - 40px);

    }

    .sec05_list .it_sm .left .link_wrap::after,
    .sec05_list .it_sm .right .link_wrap::after {

        width: 100%;

    }

    .sec05_list .it_sm .left {

        padding-left: 20px;

        left: 20px;

    }

    .sec05_list .it_sm .right {

        padding-left: 20px;

        right: 20px;

    }



    /* sec06 */

    .sec06_block .wrap_txt {

        padding-right: 30px;

    }



    .sec06_list li .pic {

        height: 300px;

    }



    /* sec07 */
    .sec07 .container::before {
        width: 40%;
    }

    .sec07_list li,
    .sec09_list li {
        margin-left: 10px;
        margin-right: 10px;
    }

    .sec07_list li .pic {
        height: 300px;
    }

    .sec07 .box_link .txt::before {

        width: 209px;
        height: 63px;
        right: -95px;
        top: 35px;

    }


    /* sec08 */

    .sec08_block {
        justify-content: space-between;
        padding: 0 45px;
    }

    .sec08_block .ttl {
        left: 0;
        top: -70px;
        position: relative;
    }



    .sec08_block .ttl::before {
        width: 200px;
        height: 66px;
        left: -10px;
        bottom: 0px;
    }



    .sec08_block .ttl .en {

        font-size: 100px;

    }

    .sec08_list {
        margin-left: 0;
    }



    .sec08_list li {

        width: 270px;

        height: 270px;

        padding-top: 30px;

    }



    .sec08_list li .wrap_txt {

        padding-top: 70px;

    }



    .sec08_list li .wrap_txt .txt {

        font-size: 20px;

    }



    .sec08_list li .wrap_txt .en {

        font-size: 18px;

    }
    /* sec09 */

    .sec09_list li .pic {
        height: auto;
    }
    .sec09_list li .sub_txt {
        font-size: 13px;
        padding-left: 45px;
        letter-spacing: 0;
    }
    .sec09_list li .sub_txt::before {
        width: 35px;
        left: 0;
    }
    .sec07_list li .txt, .sec09_list li .txt { 
        font-size: 16px;
    }

    /* sec10 */
    .sec10 .inner {
        padding: 0 30px;
    }
    .sec10 .box_link .txt {
        font-size: 32px;
    }

    .sec10 .box_link .txt::before {
        width: 273px;
        height: 82px;
        right: -10px;
        top: 52px;
    }

    footer {
        padding-bottom: 90px;
    }

    .ft_bottom {
        padding-top: 120px;
    }

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

}

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

    /* 2024.4.30 add. */
    .box_news {
        width: 57.5%;
    }

    .slide_item.is02 .mv_txt .txt .pic {
        bottom: -70px;
    }

    .sec01_list li .pic {

        height: 254px;

    }
}

/* 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: 140%;

    }



    img {

        max-width: 100%;

        height: auto;

    }



    #wrapper,

    header,

    main,

    footer,

    .inner {

        width: 100% !important;

        min-width: unset !important
    }



    .pc {

        display: none !important
    }

    .sp_top {
        display: block;
    }

    body.is_active {
        overflow-y: hidden;
    }

    /* NAV */

    nav {

        display: block;

        position: fixed;

        top: 80px;

        left: 0;

        width: 100%;

        height: calc(100vh - 80px);
        overflow: auto;
        padding-bottom: 100px;

        z-index: 100;

        display: none;

        background: var(--mcolor);

    }

    .under #header:not(.show) nav {
        top: 105px;
    }

    nav .inner {

        padding: 0;

    }



    nav .ft_info {

        margin-top: 50px;

    }


    .nav_list {

        flex-direction: column
    }



    .nav_list ul,

    .nav_list li {

        width: 100%
    }



    .nav_list .parent .sub ul li {

        background: var(--gray);

    }



    .nav_list .parent .sub ul li:not(:last-child) {

        border-bottom: 1px solid var(--mcolor)
    }



    .nav_list .sub_btn,

    .nav_list a {

        display: block;

        padding: 13px 15px 12px;

        color: #fff;

        font-size: 17px;

        font-weight: 600;

        border-bottom: solid 1px var(--black);

    }



    .nav_list a {

        font-size: 16px;

        letter-spacing: 0;

    }



    .nav_list .sub_btn {

        position: relative;

        padding-left: 15px
    }

    .nav_list .sub_btn.none_ic::before,
    .nav_list .sub_btn.none_ic::after {
        display: none;
    }

    .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 a {

        color: var(--mcolor);

    }



    .hamburger {

        position: absolute;

        right: 1%;

        top: 20%;

        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
    }

    #index .hamburger{
        top: 34%;
    }
    #index #header.show .hamburger{
        top: 20%;
    }



    /*=====================================================

                          C U S T O M

    ======================================================*/



    /*============ HEADER ============*/

    #logo {

        padding: 0;

        width: 90px;

    }



    .h_box {

        height: 80px
    }



    .h_box.is_active {

        background: var(--mcolor);

    }



    .h_inner {

        padding: 0 10px;

        flex-wrap: wrap;

    }

    .h_box .tag_h1{
        position: sticky;
        width: 100%;
        padding: 5px;
        font-size: 85%;
        display: block;
        top: 0;
        left: 0;
    }

    .h_right {
        display: flex;
    }

    .h_right .h_contact_yt,
    .h_right .h_contact_ins {
         margin: 0 5px 0 0;
    }
    .h_right .h_contact_line {
        padding-right: 50px;
        margin-bottom: 0;
    }

    .h_right .h_contact_line a,
    .h_right .h_contact_ins a,
    .h_right .h_contact_yt a {
        width: auto;
        padding: 24px 5px 0px;
        height: 55px;
        display: flex;
        justify-content: center;
        align-items: center;
        background: url(../images/bg_ins.jpg) repeat;
        position: relative;
    }

    #contact_note {
        margin: 20px auto 0px;
        width: 100%;
        font-size: 18px;
    }

    .h_right .h_contact_yt a {
        background: var(--black02);
        color: #fff;
        padding: 24px 10px 0;
    }

    .h_right .h_contact_line a{background: #585858;color: #fff;}

    .h_right .h_contact_line a span,
    .h_right .h_contact_ins a span,
    .h_right .h_contact_yt a span {
        font-size: 10px;
        letter-spacing: 0;
    }

    .h_right .h_contact_line a span::before,
    .h_contact_ins a span::before {
        width: 20px;
        height: 20px;
        left: calc(50% - 10px);
        top: 8px;
    }

    .h_right .h_contact_yt a span::before {
        width: 30px;
        height: 30px;
        left: calc(50% - 15px);
        top: 3px;
    }

    /*============ Main ============*/

    .ttl {
    }


    .ttl .en {

        font-size: 40px;

    }



    .en.big {

        font-size: 12vw;

    }



    .ttl .ja {

        font-size: 18px;

    }



    .btn a {

        width: 250px;

        height: 54px;

        font-size: 16px;

    }



    .btn a::before {

        right: -18px;

        top: calc(50% - 4px);

        width: 32px;

        height: 6px;

    }



    .tmp_slick .slick-prev,

    .tmp_slick .slick-next {

        width: 40px;

        height: 40px;

        top: inherit;
        z-index: 2;
        bottom: -55px;
    }



    .tmp_slick .slick-prev,
    .sec07_list.tmp_slick .slick-prev {

        right: 50%;

    }



    .tmp_slick .slick-next,
    .sec07_list.tmp_slick .slick-next {

        right: calc(50% - 50px);

    }



    .tmp_slick .slick-prev::before,

    .tmp_slick .slick-next::before {

        width: 17px;

        height: 4px;

        top: calc(50% - 2px);

        left: calc(50% - 8px);

    }



    /* MAIN VISUAL */

    .mv_bg,

    .main_slider .slide_item {

        height: 520px;
    }



    .mv_txt .txt {

        font-size: 25px;

        padding: 0 15px 80px 15px;

    }



    .mv_txt .txt .pic {
        right: 20px;
        bottom: 25px;
        width: 239px;
        height: 56px;
    }

    .mv_badge {
        display: none;
    }



    .main_slider .slide_item.is02 .bg {

        background-image: url(../images/mv_img02_sp.jpg) !important;

    }

    .main_slider .sub_slider {
        padding: 0;
        flex-direction: column;
        justify-content: center;
        height: calc(100% - 50px);
    }

    .main_slider .sub_slider .box {
        height: 40%;
        max-width: 100%;
    }

    .main_slider .sub_slider .mv_list .slick-list,
    .main_slider .sub_slider .mv_list .slick-list .slick-track {
        height: 100%;
    }

    .main_slider .sub_slider .box:last-child {
        margin-left: 0;
        margin-top: 15px;
    }

    .main_slider .sub_slider .mv_list {
        align-items: center;
        flex-direction: row;
    }

    .main_slider .sub_slider .mv_list li {
        margin: 0 5px 0 0;
    }

    .main_slider .sub_slider .slick-slide img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }


    .box_news {

        width: 100%;

        height: auto;

        padding: 10px 15px;

    }



    .box_link {

        width: calc(100% - 30px);
        max-width: 540px;
        margin: 0px auto 0;
        padding: 0px 15px 50px;
        flex-direction: column;

    }

    .box_link .bg_flow::before {
        width: 30%;
        height: 100%;
        background-position: center;
    }
            

    .sec10 .bg_flow::before {
        left: unset;
        right: 0;
    }

    .box_link .txt {

        font-size: 20px;

        margin: 0 auto 30px !important;
        padding: 5px 10px;
        line-height: 1.5;
    }

    .box_link .txt::before {

        right: -15px;

        top: 35px;

        width: 135px;

        height: 50px;

    }



    .box_link .pic {

        position: relative;
        top: 0;
        width: calc(100% + 30px);
        left: -15px !important;
        margin-bottom: 50px;

    }



    .box_link .dect {

        margin-top: 20px;

        max-width: 100%;

    }


    /* .sec01_list li .pic, */
    .sec06_list li .pic {
        height: 200px;
    }

    .sec07_list li .pic {

        height: 35vw;

    }

    .sec01_top.topin.blog_tp {
        padding-bottom: 20px;
        margin-bottom: 20px;
        padding-top: 20px;
        margin-top: 0;
        border-bottom: 1px solid #575757
    }

    /* sec01 */

    .sec01 {

        padding-top: 50px;
        padding-bottom: 0;

    }
    .sec01.movie_sc {
        padding-bottom: 40px;
        padding-top: 20px;
    }

    .sec01.bottom{
        padding-top: 0;
        padding-bottom: 0;
    }

    .sec01 .container {

        padding: 0 15px;

    }



    .sec01_top {

        padding-top: 20px;
        flex-direction: column;
        margin-left: 0;
    }
    
    .sec01_top.topin {
        padding-bottom: 40px;
    }

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

    .sec01_box_movie .ttl {
        margin-left: 0;
        text-align: center;
    }

    .sec01_list,
    .sec01_box_movie .movie_list {
        width: 100%;
        margin: 30px 0 70px 0;
        padding: 0 20px;

    }
    .sec01_list .slick-arrow{width: 30px;height: 30px;top: calc(50% - 15px);}
    .sec01_list .slick-prev {
        right: -5px;
        
    }

    .sec01_list.list_home_blog {
        flex-direction: column;
        margin-bottom: 20px;
    }
    .sec01_list.list_home_blog li {
        margin: 0 0 10px;
    }
    .sec01_list.list_home_blog li .pic{
        max-height: unset;
    }

    .sec01 .btn_box {
        margin-bottom: 20px;
    }

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

    .sec01 .sec01_box_movie .btn_box {
        margin-top: 40px;
    }


    .sec01_list .slick-next {
        left: -5px;
        right: inherit;
    }


    .sec01_list li {

        margin: 0 5px;
        width: 100%;
    }



    .sec01_list li .wrap_txt {

        margin-top: 15px;

    }



    .sec01_list li .wrap_txt p:not(:last-child) {

        margin-bottom: 5px;
    }

    .sec01_list li .wrap_txt .time {
        font-size: 12px;
        padding-left: 0;
    }

    .sec01_list li .wrap_txt .time::before {
        width: 40px;
    }


    .sec01_list li .wrap_txt .txt {
        font-size: 14px;
        height: 56px;
    }

    .sec01_box_movie {
        margin-top: 15px;
        border-bottom:1px solid #575757 ;
    }

    .sec01_box_movie .movie_list {
        flex-wrap: wrap;
        padding: 0px;
        position: relative;
        margin-bottom: 0;
    }


    .sec01_box_movie .movie_list li {
        margin-bottom: 20px;
        width: 100%;
        margin: 0 5px 0;
    }

    .slick_top_sp .slick-prev,
    .slick_top_sp .slick-next {
        top: calc(50% - 20px);
        background: #fff;
        z-index: 2;
    }

    .slick_top_sp .slick-prev {
        left: 0;
    }

    .slick_top_sp .slick-next {
        right: 0;
    }

    .sec01_box_movie .slick-arrow {
        background: #fff;
    }
    .sec01_box_movie  .slick-prev::before {
        background-image: url(../images/next.png)
    }
    .sec01_box_movie  .slick-next::before {
        background-image: url(../images/prev.png)
    }

    /* sec02 */

    .sec02 {

        padding-top: 0px;
        /* padding-bottom: 50px; */
    }


    .sec02 .container::before {

        top: 160px;

        bottom: inherit;

        width: 100%;

        height: calc(100% - 160px);

        left: 0;

    }



    .sec02_top .ttl {

        padding-left: 0;
        text-align: center;

    }


    .sec02_top .pic {

        position: relative;
        width: auto;
    }



    .sec02_top .pic.is01 {

        margin-top: 30px;

        top: 0;
        left: 0;
        margin-right: 30px;
    }



    .sec02_top .txt {

        margin-top: 0;
        margin-bottom: -46vw;
        left: 15px;
        top: -53vw;
        font-size: 20px;
        text-align: center;
    }



    .sec02_top .pic.is02 {

        right: 0px;

        z-index: 1;
        margin-left: 30px;
    }



    .sec02_top .btn {

        justify-content: center;

        padding-right: 0;

        margin-top: 50px;

    }



    .sec02_bottom {

        margin-top: 50px;

        flex-direction: column;

    }



    .sec02_bottom .box_left {
        margin-right: 0;
    }



    .sec02_bottom .dect {

        font-size: 14px;

    }

    .sec02_bottom .dect:last-child {

        margin-top: 0;

    }



    .sec02_bottom .box_right {
        width: 100%;
        margin-top: 20px;
        position: unset;
    }

    .sec02_bottom .btn {
        justify-content: center;
        padding-right: 0;
    }
    .sec02 .box_link {
        padding-top: 45px;
        min-height: auto;
        margin: 30px auto;
    }

    .sec02 .box_list_btn {
        margin-top: 40px;
        padding-right: 0;
        padding-left: 15px;
        justify-content: center;
    }

    .sec02 .box_list_btn li {
        font-size: 16px;
        margin: 0;
    }
    .sec02 .box_list_btn li:not(:last-child) {
        margin: 0px 0px 20px 0;
    }
    
    .sec02 .box_list_btn li:first-child {
        margin-right: 20px;
    }

    .sec02 .box_list_btn li a::before {
        background: url(../images/ic_arrow_bl.png) no-repeat right 8px center /12px #fff;
        width: 30px;
        height: 30px;
        top: calc(50% - 15px);
    }

    /* sec03 */

    .sec03 {

        padding-top: 0px;
        padding-bottom: 0px;
        color: #fff;

    }

    .sec03_block .en.big {

        left: 10px;

        top: -3px;

    }

    .sec03_top {

        padding-left: 0;

    }

    .sec03_top .ttl::before {
        left: 0;
        top: -30px;
        height: 90px;
    }

    .sec03_top .dect {

        margin-top: 20px;

        max-width: 100%;

    }

    .sec03_list {

        margin-top: 30px;
        margin-bottom: 50px;

    }



    .sec03_list li {

        padding: 60px 0 90px;

        flex-direction: column;

    }



    .sec03_list li.is02 {

        padding-left: 0;

    }



    .sec03_list li::after {

        right: calc(50% - 25px);

        top: inherit;

        bottom: 20px;

        width: 50px;

        height: 50px;

        background-position-x: 15px;

    }



    .sec03_list li h4 {
        margin-bottom: -90px;
        width: 250px;
        text-align: center;
        position: relative;
        z-index: 1;
        min-width: unset;
        padding: 10px 30px;
    }

    .sec03_list li .txt {
        max-width: 100%;
        margin: -100px 0px 0;
        background: rgb(39 39 39 / 80%);
        padding: 0 10px;

    }



    .sec03_list li.is02 .txt {

        margin-left: 0;

    }

    .sec03_list li.is02 h4 .logo_basis_wh.sp{
        position: relative;
        top: 20px;
    }

    /* sec04 */

    .sec04 .container {

        min-height: auto;

        padding: 50px 15px 60px;

    }
/* 
    .sec04 .container .link_wrap::before {
        width: 140px;
        height: 240px;
        right: 15px;
        top: calc(100% - 50px);
    } */

    .sec04 .ttl {
        padding-left: 0;
        margin: 0 auto 47px;
        width: fit-content;
        display: block;
    }

    .sec04 .ttl::before {
        left: -10px;
        bottom: 10px;
        width: 78px;
        height: 33px;
    }

    .sec04 .ttl .en {

        font-size: 50px;

    }

    .sec04 .ttl::after {

        right: calc(50% - 25px);

        top: 100%;

        width: 40px;

        height: 40px;

        background: url(../images/next.png) no-repeat right 11px center /16px #fff;

    }

    .sec04 .dect {

        margin-top: 20px;

        max-width: 100%;

    }

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

    .sec05_video video {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .sec05 .container {

        padding-top: 10px;

    }

    .sec05 .container::after {
        display: none;
    }

    .sec05 .container::before {
        top: 0;
        width: 100%;
        height: calc(100% + 50px);
        right: 0;
    }

    .sec05_list h4.ttl {
        text-align: center;
        margin-top: -30px;
        z-index: 1;
        margin-bottom: 20px;
        padding: 0;
    }

    .sec05 .container .en.big {

        left: 17px;

        top: 0;

        font-weight: 500;

    }

    .sec05_list {

        padding: 0 15px;

    }



    .sec05_list .is01 {

        margin-left: 0;
        margin-bottom: 40px;
    }



    .sec05_list .is01 .ttl {

        text-align: left;
    }



    .sec05_list li .link_wrap::before {

        display: none;

    }



    /* .sec05_list .it_big,
    .sec05_list li.it_big.is04 {

        margin: 30px 0 0;

        display: block;

        padding: 0;

        width: 100%;

        right: 0 !important;

        left: 0 !important;

    }




    .sec05_list .it_big h4.ttl .en {

        font-size: 50px;

    } */



    .sec05_list li h4.ttl .ja {
        margin: 0 !important;
        font-size: 22px;

    }


    .sec05_list .is01 .dect {

        max-width: 100%;

        margin-top: 35px;

    }

    .sec05_list li:not(.is01) {
        min-height: auto;
        height: 50vw;
        margin-bottom: 30px;
        align-items: flex-end;
    }

    .sec05_list li:not(.is01)::after {
        right: 20px;
        top: calc(50% - 18px);
        width: 35px;
        height: 35px;
        background: url(../images/ic_arrow_bl.png) no-repeat right 9px center /16px #fff;
        border-width: 1px;
    }

    .sec05_list li:not(.is01) .ttl {
        padding: 0 0 10px 15px;
        text-align: left;
    }

    .sec05_list li:not(.is01) .ttl .en {
        font-size: 8vw;
    }

    .sec05_list li h4.ttl .ja {
        font-size: 5.2vw;
    }

    /* sec06 */
    .sec06 {
        padding: 0;
    }

    .sec06 .container {
        padding: 30px 15px 40px;
    }

    .sec06 .container .inner {
        padding: 0;
    }
    .sec06_block {

        padding-left: 0;

    }

    .sec06_block .content,
    .sec07_block .content {
        flex-direction: column;
        align-items: flex-start;
    }

    .sec06_block .dect {
        padding-left: 15px;
        margin: 20px 0 0;
    }
    .sec06_block .wrap_txt {

        margin-top: 20px;

        flex-direction: column;

        align-items: center;

    }

    .sec06_list {

        margin-top: 40px;
        padding: 0 20px;
    }

    .sec06_list li {
        width: 100%;
        margin: 0 5px 30px;
    }

    .sec06_list li .pic {

        margin-bottom: 20px;

    }

    .sec06_list li .content {

        padding: 0;

    }

    .sec06_list li .two_txt {
        height: 37px;
        padding-left: 0;
    }
    .sec06_list li .two_txt span {
        font-size: 14px;
        padding: 0 10px;
    }
    .sec06_list li .content .txt_case span.is02 {
        font-size: 20px;
    }

    .sec06_list li .content .txt {

        font-size: 16px;    
        letter-spacing: 0;

    }

    /* sec07 */

    .sec07 {

        padding-top: 0;

    }

    .sec07 .container {

        padding-bottom: 10px;

    }

    .sec07 .container::before {

        height: calc(100% - 150px);

        width: 50%;

    }

    .sec07 .container::after {
        background-color: #4c4c4c;
        top: -30px;
    }


    .sec07_block {

        padding-left: 0;
    }


    .sec07_block .dect {

        margin: 20px 0 0;

        max-width: 100%;
        padding-left: 20px;
    }

    .sec07_list {

        margin: 20px 0 0px 0;
        padding: 0 20px;
    }

    .sec07_list li {
        max-width: none;
        margin: 0 10px;

    }

    .sec07_list.tmp_slick .slick-prev,
    .sec07_list.tmp_slick .slick-next {
        top: calc(50% - 20px);
        z-index: 2;
    }

    .sec07_list.tmp_slick .slick-prev {
        left: 10px;
    }

    .sec07_list.tmp_slick .slick-next {
        right: 10px;
    }

    .sec07_list li .pic {

        margin-bottom: 20px;

    }

    .sec07_list li .sub_txt {

        font-size: 14px;

        margin-bottom: 10px;

    }

    .sec07_list li .txt {

        font-size: 16px;
        height: 90px;
        max-height: 90px;
        letter-spacing: 0.04em;
    }

    /* sec08 */

    .sec08 .container {

        padding: 50px 0 30px;
        background: url(../images/sec08_img01_sp.jpg) center / cover no-repeat;
        min-height: auto;
    }

    .sec08_block {

        flex-direction: column;

    }

    .sec08_block .ttl {

        position: relative;

        left: 0;

        top: 0;

    }

    .sec08_block .ttl::before {

        left: -60px;

        bottom: 0px;

        width: 140px;

        height: 46px;

    }

    .sec08_block .ttl .en {

        font-size: 50px;

    }

    .sec08_block .ttl .ja {

        font-size: 18px;

    }

    .sec08_bl_under {
        margin-bottom: 20px;
    }

    .sec08.top_sale .container {
        padding-top: 50px;
        padding-bottom: 30px;
        min-height: auto;
    }

    .sec08_bl_under h4 {
        font-size: 22px;
        padding-bottom: 10px;
        margin-bottom: 25px;
    }

    .sec08_list {
        flex-wrap: wrap;
        align-items: center;
        width: 100%;
        max-width: 440px;
        margin: 30px auto;
        justify-content: center;
    }

    .sec08_list li:last-child,
    .sec08_list li:not(:last-child) {
        margin: 0 2.5px 5px;
    }

    .sec08_list li {
        width: 155px;
        height: 165px;
        padding-top: 10px;
    }
    /*.sec08:not(.top_sale) .sec08_list li.it03,
    .sec08:not(.top_sale) .sec08_list li.it04{
        height: 150px;
     }*/


    .sec08_list li::before {
        width: 24px;
        height: 24px;
        bottom: 10px;
        left: calc(50% - 12px);
        background: url(../images/ic_arrow_bl.png) no-repeat 6px 10px /9px;
    }

    .sec08_list li.it01::before {
        background: url(../images/ic_arrow_wh.png) no-repeat 6px 10px /9px;
    }

    .sec08_list li .wrap_txt {
        padding-top: 52px;
    }

    .sec08_list li.it02 .wrap_txt {
        padding-top: 34px;
    }

    .sec08_list li .wrap_txt::before {
        left: calc(50% - 18px);
        width: 36px;
        height: 35px;
    }

    .sec08_list li.it02 .wrap_txt::before {
        width: 32px;
        height: 29px;
        left: calc(50% - 18px);
        top: 2px;
    }

    .sec08_list li.it03 .wrap_txt::before {
        width: 36px;
        height: 38px;
        top: 0;
        left: calc(50% - 18px);
    }

    .sec08_list li .wrap_txt .txt {
        font-size: 15px;
        line-height: 1.3;
    }

    .sec08_list li .wrap_txt .en {
        font-size: 14px;
    }


    /* sec09 */
    .sec09 .container {
        padding-bottom: 0;
    }

    .sec09_block .ttl {
        padding: 50px 0 0 0px;
    }

    .sec09_block .ttl .en {
        font-size: 20px;
    }

    .sec09_list {
        margin-top: 30px;
        padding: 0 20px;
        margin-bottom: 50px;
    }

    .sec09_list .slick-prev,
    .sec09_list .slick-next {
        top: calc(50% - 20px);
        z-index: 2;
        background: #fff;
    }

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

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

    .sec09_list li {
        margin: 5px;
        width: 33.33333333%;
        max-width: none;
    }

    .sec07_list li .pic,
    .sec01_list li .pic,
    .sec09_list li .pic {
        margin-bottom: 15px;
    }

    .sec07_list li .sub_txt,
    .sec09_list li .sub_txt {
        font-size: 14px;
        margin-bottom: 10px;
    }

    .sec09_list li .sub_txt {
        padding-left: 30px;
        height: 42px;
        margin-bottom: 0;
        font-size: 13px;
    }
    .sec09_list li .sub_txt::before {
        width: 22px;
    }

    .sec07_list li .txt,
    .sec09_list li .txt {
        font-size: 16px;
    }

    .sec09_list li .pic {
        height: 45vw;
        background: transparent;
        overflow: hidden;
    }

    /* sec10 */
    .sec10 {    
        padding: 0 0 50px;
    }

    .sec10 .container {
        padding: 0px 0 50px;
    }

    .sec10 .container::before {
        width: 60%;
    }

    .sec10 .box_link {
        padding: 40px 15px;
        min-height: auto;
    }

    .sec10 .pic {
        left: 0 !important;
        top: 0;
        height: 100%;
        width: 70%;
        position: absolute;
    }

    .sec10 .box_link .pic::before {
        width: 143%;
    }

    .sec10 .box_link .pic img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }

    .sec10 .box_link .link_wrap::before {
        right: 20px;
        top: unset;
        bottom: calc(50% - 20px);
        width: 40px;
        height: 40px;
        background: url(../images/next.png) no-repeat right 12px center / 16px #fff;
    }

    .sec10 .box_link .txt {
        margin: 0 !important;
    }

    .sec10 .box_link .txt::before {

        width: 170px;

        height: 51px;

        right: -50px;
        top: 55px;

    }


    /*============ FOOTER ============*/

    footer {

        padding: 0px 0 130px;

    }



    .ft_top {

        padding-top: 50px;

        padding-bottom: 50px;

    }



    .ft_info {

        flex-direction: column;

        padding-right: 0;

    }

    .ft_info .wrap_txt {

        flex-direction: column;

        align-items: center;

    }

    .ft_info_tel {

        margin: 30px 0;

    }

    .ft_info_tel .time {

        font-size: 16px;

        margin-bottom: 16px;

    }

    .ft_info_tel a {

        font-size: 32px;

        padding-left: 32px;

    }

    .ft_info_add {

        margin: 25px 0 0;

    }

    .ft_info_add p {

        font-size: 14px;

    }

    .ft_info_add .txt {

        margin-bottom: 12px;
        letter-spacing: 0;
        line-height: 1.8em;

    }

    .ft_info_add .txt.is02 span:first-child {
        margin-right: 20px;
    }


    .ft_map_iframe {

        height: 200px;

    }



    .ft_bottom {

        padding-top: 35px;

    }



    .ft_bottom .inner {

        flex-direction: column;

        align-items: center;

    }

    /* .ft_bottom .content {

        max-width: 100%;
        padding-right: 50px;
    }

    .ft_bottom .content .link_wrap::after {
        top: calc(50% - 15px);
        width: 30px;
        height: 30px;
        background: url(../images/next_wh.png) no-repeat right 8px center / 13px;
    }


    .ft_bottom .content .box1 {

        width: 100%;

    }



    .ft_bottom .content .box1 img {

        width: calc(100% - 200px);

        max-width: 156px;

    }



    .ft_bottom .btn_find {

        width: 190px;

        height: 36px;

        font-size: 14px;

    }



    .ft_bottom .content .link_wrap::before {

        right: 0px;

        bottom: -30px;

        width: 163px;

        height: 59px;

    } */



    address {

        margin-top: 0px;

        text-align: center;

    }





    /* sp contact */

    .sp_contact {

        display: flex;

        justify-items: center;

        align-items: center;
        flex-wrap: wrap;

        width: 100%;

        height: 100px;

        position: fixed;

        left: 0;

        z-index: 99;

        bottom: -105px;

        transition: all 0.3s;

    }



    .sp_contact.show {

        bottom: 0;

    }



    .sp_contact li {
        width: calc(100% / 3);
        height: 50px;
    }

    .sp_contact li.sp_contact_full {
        background: url(../images/bg_gray02.jpg) repeat;
    }

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


    .sp_contact li.sp_contact_mail {
        flex-shrink: 0;
    }


    .sp_contact li a {

        width: 100%;

        height: 100%;

        display: flex;

        justify-content: center;

        align-items: center;

        color: #fff;

        font-size: 14px;
        line-height: 1.4;
        text-align: center;
    }

    .sp_contact li.sp_contact_mail a {
        letter-spacing: 0;
    }

    .sp_contact li.sp_contact_full a{
        color: var(--txt);
    }


    .sp_contact li a span {

        position: relative;

        padding-left: 25px
    }

    .sp_contact li.sp_contact_chat span {
        padding-left: 30px;
    }


    .sp_contact li a span::before {

        content: "";

        position: absolute;

        width: 20px;

        height: 22px;

        left: 0px;

        top: calc(50% - 11px);

    }



    .sp_contact li.sp_contact_tel a span::before {

        left: 0;

    }

    .sp_contact_tel {

        background: var(--black);

    }



    .sp_contact_tel a span::before {

        background: url(../images/ic_phone.png) no-repeat center /12px
    }



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

    .sp_contact_chat {
        background: url(../images/bg_brown.jpg) repeat;
    }


    .sp_contact li.sp_contact_mail a span {

        color: var(--txt);

    }

    .sp_contact_mail a span::before {

        background: url(../images/ic_calendar.png) no-repeat center /20px;

    }

    .sp_contact li.sp_contact_chat a span::before {
        background: url('../images/ic_chat.png') no-repeat center /20px;
        top: calc(50% - 10px);
    }

    .sp_contact li.sp_contact_full a span {
        padding-left: 30px;
    }

    .sp_contact li.sp_contact_full a span::before {
        top: calc(50% - 13px);
        background: url(../images/ic_h_mail.png) no-repeat center / 20px;
    }

    /* to top */

    .to_top {
        width: 50px;
        height: 50px;
        right: 0;
        bottom: 50px;
    }



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

    .sec08_list li.it04 .wrap_txt{flex-direction: column;justify-content: center;}
    .sec08_list li.it04 .wrap_txt::before{margin:0 0 10px;}

    /* 2024.4.30 modified. */
    .limit_txt {
        display: block;
        height: auto;
        max-height: 3em;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: normal;
        line-height: 1.0;
    }

    .h_contact.sp{
        justify-content: center;
        margin: 0 auto;
    }


    .fs30{
        font-size: 3vw;
    }
    .flex_box_end .item {
        width: 100%;
        margin: 0;
    }
    .flex_box_rn {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .title_h3_bold {
        font-size: 2.7vw;
    }
    .abs_img {
        position: absolute;
        top: -65px;
        right: 0;
        max-width: 30vw;
    }
    .relative_img {
        position: relative;
        padding-top: 40px;
    }
    .abs_img {
        position: absolute;
        top: -50px;
        right: 0;
        max-width: 35vw;
    }
    .pickup_abs {
        position: absolute;
        left: -20px;
        top: -10px;
        max-width: 200px;
    }
    .pickup {
        padding: 60px 15px 60px 15px !important;
        margin-bottom: 50px !important;

    }

    .wrap_line{
        margin: 0 auto 50px;
    }

    .modal-content {
        width: 100%;
        max-width: 300px;
        padding: 1rem;
    }

    .wrap_line .sub-text {
        font-size: 18px;
      }

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

}

/* screen-max:460px */

@media screen and (max-width: 440px) {
    .abs_img {
    
        top: -18px;
        right: 0;
   
    }

    .sp440 {

        display: block !important;

    }



    .pc440 {

        display: none !important
    }

    .main_slider .sub_slider {
        height: calc(100% - 90px);
    }

    .box_news {

        align-items: center;

        justify-content: center;

        flex-direction: column;

    }

    .box_news .news_list {

        width: 100%;

    }

    .box_news .wrap_txt {

        justify-content: center;

        width: 100%;

    }



    .box_news .txt {

        padding-left: 18px;

    }



    .box_news .news_btn {

        width: 100%;

        border-top: 1px solid #a6a6a6;

        border-left: 0;

        margin-top: 5px;

        padding-top: 5px;

    }



    .box_news .news_btn a {

        width: 100%;

        border: 0;

    }



    .box_news .news_btn a::before {

        right: calc(50% - 80px);

    }

    /* .sec01_list li .pic {
        height: 35vw;
    } */

    .sec06_list li .pic {

        height: 60vw;
    }

    .sec02_top .txt {
        text-align: left;
        top: -50vw;
    }

    .sec02 .box_list_btn {
        justify-content: space-between;
    }


    .sec02 .box_list_btn li:first-child {
        margin-right: 0;
    }

    .sec07_list li .pic {
        height: 60vw;
    }


    /* sec05 */

    /* sec06 */

    .sec06_list li {
        width: 100%;
        margin: 0 5px 30px 0;
    }



    .ft_bnn li {

        width: 100%;

    }



    .sec09_list li .pic {
        height: auto;
    }

    /* 2024.4.30 modified. */
    .limit_txt {
        display: block;
        height: auto;
        max-height: 3em;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: normal;
        line-height: 1.0;
    }


    .line_check {
        width: auto;
        margin: 0 15px;
        padding-top: 15px;
        border-top: 1px solid #575757;
      }
}


/* screen-max: 360px */

@media screen and (max-width: 360px) {

    .mv_txt .txt {

        letter-spacing: -0.05em;

    }

    .box_link .txt {

        font-size: 18px;

    }



    .sec04 .ttl {

        padding-right: 30px;

    }

    .sec04 .ttl::after {
        right: -20px;
    }


    .sec04 .ttl .en {

        font-size: 45px;

    }

    .sec08_list {

        flex-direction: column;

    }

    .sec08_list li:not(:last-child) {

        margin-right: 0px;

    }



    .ft_info_add p {

        font-size: 13px;

        letter-spacing: 0;

    }

    .ft_bottom .content {
        padding-right: 0px;
    }

    .ft_bottom_list {
        padding-right: 50px;
    }

    .ft_bottom .content .link_wrap::after {
        top: calc(50% - 4px);
    }

    .sp_contact li.sp_contact_mail a {
        font-size: 13px;
    }

    .sp_contact li a span::before {
        left: 2px;
    }

    .sp_contact li.sp_contact_tel a span {
        font-size: 13px;
        padding-left: 14px;
    }

    .sp_contact li.sp_contact_tel a span::before {
        left: -4px;
        background: url(../images/ic_phone.png) no-repeat center /10px;
    }

    .sp_contact li.sp_contact_chat {
        padding-right: 50px;
    }

    /* 2024.4.30 modified. */
    .limit_txt {
        display: block;
        height: auto;
        max-height: 3em;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: normal;
        line-height: 1.0;
    }

    .sec09_list{
        flex-wrap: wrap;
    }
    .sec09_list li{
        width: 100%;
    }
    .sec09_list li:not(:last-child){
        margin-bottom: 30px;
    }
}



/* css for IOS */

@supports (-webkit-overflow-scrolling: touch) {}