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

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

    .hamburger,
    .to_top {
        right: calc(50% - 910px);
    }

    .sec01:before {
        right: -435px;
        top: 350px;
    }
}

@media screen and (min-width: 1801px) {
    .nav_right {
        margin-top: 46px;
    }

    .sec01:before {
        transform: rotate(2deg);
    }

    .sec02_bb .lg {
        position: relative;
        left: 2px;
    }
}

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

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

    .nav_list {
        display: flex;
        justify-content: space-between;
    }

    .nav_list>li>a,
    .nav_list>li>.hook {
        display: flex;
        align-items: center;
        position: relative;
        font-weight: 500;
        padding: 5px 20px;
        height: 60px;
    }

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

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

    .sub {
        position: absolute;
        z-index: 1;
        transition: all .3s;
        border-top: solid 1px #FFF;
        width: 300px;
        top: 100%;
        left: 0;
    }

    .sub ul li a {
        font-size: 16px;
        display: flex;
        width: 100%;
        height: 60px;
        align-items: center;
        letter-spacing: .001em;
        padding: 5px 35px;
        margin: 0 auto;
        border-bottom: solid 1px #FFF;
        color: #fff;
        background: var(--mcolor);
    }

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

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

    .parent:not(:hover) .sub {
        display: none;
    }

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

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

    .to_top:hover,
    .find_a:hover {
        opacity: .8
    }

    .slick-arrow:hover,
    .hamburger:hover {
        opacity: 0.7;
    }

    .sec17_tab li a:hover {
        background: #333;
        border-color: #333;
        color: #fff;
    }

    .h_over a,
    .bnr_over a,
    .sec02_menu li a {
        position: relative;
        z-index: 1;
    }

    .h_over a:after,
    .sec02_menu li a:after,
    .bnr_over a:before {
        position: absolute;
        content: "";
        width: 0%;
        height: 100%;
        left: 0;
        top: 0;
        background-color: rgba(255, 255, 255, 0.2);
        transition: all 0.3s;
        z-index: -1;
    }

    .h_over a:hover:after,
    .sec02_menu li a:hover:after,
    .bnr_over a:hover:before,
    .sec02_menu li a:hover:after {
        width: 100%;
    }

    .sec03_bnr li a:after {
        z-index: inherit;
    }

    .h_over.btn_white a:after {
        background-color: #172f49;
    }

    .h_over.btn_white a:hover {
        color: #fff;
    }

    .h_over.btn_white a:hover:before {
        background: url(../images/arrow_w.svg) no-repeat right bottom;
        transition: all 0.3s;
    }

    .sec17_load dl dd a:hover {
        text-decoration: none;
    }

    .nav_com a:hover {
        color: #D2BD77;
    }

    .sec05_box1>div.item1 {
        min-height: 635px;
    }

    .sec15 .btn_tel {
        margin-left: 20px;
    }

    .ft_contact.box_contact p.btn_com:not(:last-of-type) {
        margin-right: 0px;
    }

    .ft_contact.box_contact p:not(:nth-child(2n)) {
        margin-right: 20px !important;
    }

    .ft_tel.com_tel {
        width: 529px;
    }

    .under.is_scroll .h_inner {
        padding-top: 10px;
    }

    .under.is_scroll .hamburger {
        top: 40px
    }
}

@media screen and (min-width: 751px) and (max-width: 1800px) {
    .sec01_box3 li.item1:before {
        background-size: cover;
    }

    .sec01_box3 li.item1 {
        padding-left: 25px;
        padding-right: 25px;
    }

    .sec01:before {
        width: 1665px;
        height: 1190px;
        right: -440px;
        top: 225px;
        background-size: auto 1190px;
        transform: rotate(2deg);
    }

    .sec01_box3 {
        height: 455px;
    }

    header .box_contact {
        justify-content: flex-end;
    }

    .mv_txt {
        height: 200px;
        padding-top: 20px;
    }

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

    .mv .inner {
        padding-top: 110px;
    }

    .sec01_box2 .item2 {
        padding: 52px 40px 48px 40px;
    }

    .sec01:before {
        right: -650px;
    }

    .nav_logo {
        margin-bottom: 20px;
    }

    nav .box_contact {
        margin-bottom: 0px;
    }

    nav .com_add,
    nav .ft_map_txt .tt {
        font-size: 14px;
        margin-bottom: 4px;
    }

    nav .box_contact p.btn_com {
        height: 60px;
    }

    nav .box_contact p.btn_com a {
        font-size: 18px;
    }

    nav .box_contact p.btn_com a .sm {
        font-size: 14px;
    }

    .sec01_box3_en {
        margin-bottom: 25px;
    }

    .sec01_box3_ja .lg {
        font-size: 30px;
    }

    .sec01_box4 {
        height: auto;
    }

    .sec01_box4 .item1 {
        padding-top: 100px;
    }

    .sec01_box4 .item2 {
        padding-top: 120px;
    }

    .sec05:after {
        right: calc(50% - 705px);
    }
}

@media screen and (min-width: 751px) and (max-width: 1600px) {
    #logo {
        width: 370px;
        transition: all 0.3s;
    }

    .is_scroll #logo {
        padding-top: 5px;
    }

    h1 {
        margin-right: -250px;
    }

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

    .is_scroll .hamburger,
    .under.is_scroll .hamburger {
        top: 26px
    }

    .is_scroll .h_box h1 {
        margin-bottom: -6px;
    }

    .is_scroll .h_right .box_contact p.btn_com {
        margin-bottom: 10px;
    }

    .h_right .box_contact p.btn_com {
        height: 64px;
    }

    .h_right .box_contact p.btn_com a {
        font-size: 18px;
    }

    .hamburger {
        right: 30px;
        width: 64px;
        height: 64px;
    }

    .hamburger-box {
        height: 14px;
    }

    .hamburger-box .tt {
        left: -5px;
        top: 23px;
        font-size: 14px;
    }

    .h_inner {
        padding-left: 30px;
        padding-right: 105px;
    }

    .mv {
        height: 720px;
    }

    .mv:before {
        background-size: 1580px auto;
        left: calc(50% - 790px);
        width: 1580px;
    }

    .sec09_item .item2 {
        width: 650px;
    }

    .sec11_ja .lg {
        font-size: 41px;
    }

    .sec11_item>div .item_sub1 .point.point2 {
        left: -30px;
        top: 185px;
    }
}

@media screen and (min-width: 751px) and (max-width: 1450px) {
    .h_inner .box_contact {
        justify-content: flex-end;
        width: 720px;
    }

    nav .com_tel {
        height: 60px;
    }

    .nav_logo img {
        width: 400px;
    }

    nav .com_add,
    nav .ft_map_txt .tt {
        margin-bottom: 3px;
    }

    nav .ft_map_txt .ft_map_link a {
        background-size: 15px auto;
    }

    .nav_left {
        margin-right: 100px;
    }

    nav .inner {
        padding: 0 30px;
    }

    nav .box_contact p.btn_com {
        height: 50px;
    }

    nav .box_contact p.btn_com a .sm {
        font-size: 13px;
    }

    nav .box_contact p.btn_com a {
        font-size: 16px;
    }

    .mv {
        height: 600px;
    }

    .mv:before {
        background-size: 1500px auto;
        left: calc(50% - 750px);
        width: 1500px;
    }

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

    .mv_txt {
        height: 166px;
        padding-top: 15px;
    }

    .mv_list li {
        height: 80px;
        font-size: 21px;
    }

    .mv_list {
        bottom: -40px;
    }

    .mv .inner {
        padding-top: 175px;
    }

    .sec01_box1 li.item1 {
        top: -45px;
    }

    .sec01_box4 {
        padding-left: 30px;
        height: auto;
    }

    .sec05_box1 .ttl .ja .lg {
        font-size: 40px;
    }

    .sec01_box4 .item1 {
        width: 50%;
        padding-top: 110px;
    }

    .sec01_box4 .item1 .img {
        height: calc(100% + 25px);
    }

    .sec01_box4 .item1 .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .sec01_box3 {
        height: 405px;
    }

    .sec01_box3 li.item2 {
        padding-top: 15px;
    }

    .sec01_box3 li.item1 {
        padding-top: 35px;
        width: 645px;
        flex-shrink: 0;
        margin-right: 40px;
    }

    .sec01_box3_en,
    .sec01_box4 .sec01_box3_en {
        margin-bottom: 15px;
    }

    .sec01_box3_ja {
        margin-bottom: 15px;
    }

    .sec01_box4 .item2 {
        padding-top: 100px;
    }

    .sec05_img:before,
    .sec06_img::before {
        width: 1600px;
        left: calc(50% - 800px);
        background-size: 1600px;
    }

    .sec06 .sec05_box1 {
        margin-top: -335px;
    }

    .sec07:before {
        left: calc(50% - 1180px);
    }

    .sec07_img {
        left: -25px;
        width: 300px;
        height: 300px;
    }

    .sec08_list>li {
        width: 160px;
        height: 160px;
        font-size: 18px;
    }

    .sec08_list {
        width: 360px;
        top: -100px;
    }

    .sec10_item {
        left: 0;
    }

    .sec10_item>.item1 {
        margin-right: 0;
    }

    .sec10_item>.item2 {
        width: 650px;
    }

    .sec11_item>div .item_sub1,
    .sec14_item .item1 {
        width: 690px;
    }

    .sec11_item>div .item_sub1 .point {
        width: 170px;
        height: 170px;
        font-size: 20px;
    }

    .sec11_item .item_sub2 {
        padding: 30px 25px 101px 140px;
    }

    .sec11 .seccom_en1 {
        margin-bottom: 0px;
    }

    .sec11_ja .lg {
        font-size: 40px;
    }

    .sec11_ja {
        margin-bottom: 7px;
    }

    .sec11_item .item2 .item_sub2 {
        padding: 85px 25px 102px 30px;
    }

    .sec11_item>div.item2:before {
        height: 540px;
    }

    .sec11_item>div .item_sub1 .point.point1 {
        left: -110px;
    }

    .sec11_item>div .item_sub1 .point.point2 {
        left: -35px;
        top: 200px;
    }

    .sec11_item .item2 .item_sub2 {
        margin-left: 0px;
    }

    .sec14_item .item2 {
        padding-top: 0;
    }

    .sec14 .seccom_en1 {
        margin-bottom: 20px;
    }

    .sec01_box5 {
        padding-bottom: 110px;
    }

    .sec02 {
        position: relative;
        padding-top: 110px;
        z-index: 1;
        height: 1059px;
    }

    .sec01:before {
        right: -690px;
        transform: rotate(5deg);
        background-size: auto 1165px;
        height: 1165px;
    }
}

@media screen and (min-width: 751px) and (max-width: 1280px) {
    .sec01_box4 .item2 {
        padding-top: 55px;
    }

    .sec01_box3_en {
        margin-bottom: 10px;
    }

    .sec01_box3_ja {
        margin-bottom: 7px;
    }

    .sec01_box3 {
        height: 380px;
    }

    .sec01_box3_txt p {
        margin-bottom: 10px;
    }

    .sec01_box3_ja .lg {
        font-size: 30px;
    }

    .h_right .box_contact p.btn_com a {
        font-size: 18px;
    }

    .sec01_box3 li.item1 {
        width: 615px;
    }

    .sec01:before {
        right: -785px;
    }
}

/* screen-min:750px */
@media screen and (max-width: 750px) {
    img {
        max-width: 100%;
        height: auto;
    }

    #wrapper,
    header,
    main,
    footer,
    .inner {
        width: 100% !important;
        min-width: unset !important
    }

    .pc {
        display: none !important
    }

    body.is_nav {
        overflow: hidden;
    }

    body.mac nav {
        padding-bottom: 160px;
    }

    /* NAV */
    nav {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: calc(100vh - 0px);
        overflow: auto;
        z-index: 100;
        display: none;
        background: var(--mcolor);
        padding-bottom: 80px;
        padding-top: 97px;
    }

    nav .inner {
        padding: 0 10px;
        flex-direction: column-reverse;
        height: auto;
    }

    nav .ft_map_txt {
        flex-direction: column;
    }

    nav .ft_map_txt .ft_map_link {
        margin-bottom: 14px;
    }

    .nav_com .nav1,
    .nav_com .nav3 .nav_sub1 {
        width: 100%;
    }

    .nav_left {
        max-width: 355px;
        margin: 0 auto;
    }

    nav .com_tel .tt {
        font-size: 16px;
    }

    nav .nav_com {
        margin-bottom: 45px;
        max-width: 355px;
    }

    nav .com_tel {
        width: 100%;
        margin-bottom: 20px;
        padding-top: 6px;
        padding-bottom: 8px;
    }

    .nav_logo {
        max-width: 323px;
        margin: 0 auto 18px;
    }

    nav .nav_com .nav2 {
        justify-content: space-between;
        max-width: 340px;
    }

    nav .nav_com .nav2 .nav_sub2,
    nav .nav_com .nav3 .nav_sub2 {
        left: 0;
    }

    .nav_com .nav3 .nav_sub2 {
        width: 100%;
    }

    .nav_com .nav2 .nav_sub1 {
        width: 195px;
    }

    nav .nav_com ul li a {
        display: block;
    }

    nav .nav_com .nav2 .big {
        margin-bottom: 10px;
    }

    nav .nav_com .nav3 .big {
        margin-bottom: 15px;
    }

    nav .com_add {
        margin-bottom: 6px;
    }

    nav .ft_map_txt .tt {
        margin-bottom: 11px;
    }

    .hamburger-box .tt {
        left: -7px;
        top: 18px;
        font-size: 11px;
    }

    .nav_list {
        flex-direction: column
    }

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

    .nav_list .parent .sub ul li {
        background: #fff;
    }

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

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

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

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

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

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

    .sub {
        display: none
    }

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

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

    .hamburger,
    .under .hamburger {
        position: fixed;
        right: 10px;
        font: inherit;
        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;
        width: 50px;
        height: 50px;
        padding-top: 11px;
        display: flex;
        top: 30px;
        transition: all 0.3s;
    }

    .is_scroll .hamburger {
        transform: translateY(-19px);
    }

    .is_scroll.is_nav .hamburger {
        transform: translateY(0px);
    }

    /*=====================================================
                          C U S T O M
    ======================================================*/
    /*============ HEADER ============*/
    h1 {
        font-size: 8px;
        margin-bottom: 9px;
        margin-right: 0px;
        max-width: 100%;
    }

    .hamburger-inner,
    .hamburger-inner::after,
    .hamburger-inner::before {
        width: 20px;
        height: 1px;
    }

    .h_box {
        padding-bottom: 15px;
    }

    .hamburger-box {
        width: 20px;
        height: 15px;
    }

    .hamburger-inner::before {
        top: -7px;
    }

    .hamburger-inner::after {
        bottom: -7px;
    }

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

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

    .h_inner,
    .under .h_inner {
        padding: 7px 10px 0px 10px;
    }

    .h_left {
        width: 100%;
    }

    #logo img {
        width: 275px;
    }

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

    .mv_txt {
        width: calc(100% - 20px);
        height: 200px;
        padding-top: 46px;
        position: absolute;
    }

    

    .mv_list li:before {
        left: 1px;
        top: 1px;
        right: 1px;
        bottom: 1px;
    }

    .mv_list {
        flex-wrap: wrap;
        width: 100%;
        padding: 0 5px;
        bottom: -116px;
    }

    .mv_list li {
        width: calc(50% - 10px);
        font-size: 15px;
        height: 68px;
        margin-bottom: 10px;
    }

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

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

    .mv_list li.item4 {
        font-size: 13px;
    }

    .mv_list li .sm {
        font-size: 12px;
    }

    .mv_list li .num {
        font-size: 20px;
        margin: 0 2px 0 3px;
    }

    .mv_list li p .space1 {
        margin: 0 0px 0 6px;
    }

    /* sec01 */
    .sec01_box1 {
        flex-direction: column;
        margin-bottom: 98px;
    }

    .sec01 .ttl .lg {
        text-indent: 2px;
        padding-left: 3px;
        left: -5px;
        position: relative;
    }

    .sec01_box1 .inner {
        padding: 0 10px;
    }

    .sec01_box1 li.item1 {
        height: auto;
        top: 0;
        padding: 45px 20px 132px;
    }

    .sec01_box1 li,
    .sec01_box1 li.item1 .wrap {
        width: 100%;
    }

    .sec01_box1 li.item1:after {
        background: url(../images/idx_img_01_sp.png) no-repeat center top/187px;
        width: 187px;
        height: 261px;
        right: 0;
        top: auto;
        bottom: -3px;
    }

    .company_name {
        margin-bottom: 11px;
    }

    .company_txt {
        margin-bottom: 21px;
    }

    .sec01_box1 li.item1:before {
        background-size: cover;
    }

    .sec01_map {
        height: 250px;
    }

    .sec01:before {
        position: absolute;
        content: "";
        background: url(../images/idx_bg_01_sp.png) no-repeat right top/573px;
        width: 573px;
        height: 385px;
        right: -220px;
        top: 760px;
    }

    .sec01_box2 {
        flex-direction: column;
        margin-bottom: 40px;
        padding-right: 0;
    }

    .sec01_box2 .ttl .en {
        margin-bottom: 50px;
    }

    .sec01_box2 .item1 {
        width: 100%;
        margin-bottom: 35px;
        position: relative;
        left: -5px;
    }

    .sec01_box2 .item2 {
        padding: 10px 5px 15px 5px;
        margin-top: 0;
        position: relative;
        width: calc(100% + 5px);
    }

    .sec01_box3 {
        height: auto;
        flex-direction: column;
        padding-bottom: 99px;
    }

    .sec01_box3 li.item1 {
        width: 100%;
        padding: 21px 20px 0 13px;
        margin-right: 0;
        margin-bottom: 50px;
    }

    .sec01_box3 li.item1 .img {
        margin-bottom: -20px;
    }

    .sec01_box3_en .txt {
        top: calc(50% - 18px);
        font-size: 22px;
        left: 26px;
    }

    .sec01_box5 .sec01_box3_en .txt {
        top: calc(50% - 16px);
    }

    .sec01_box3_en .num {
        font-size: 64px;
    }

    .sec01_box3 li.item2 {
        width: 100%;
        padding: 0px 10px;
    }

    .sec01_box4 .item1:before {
        display: none;
    }

    .sec01_box4 .item2 {
        position: relative;
    }

    .sec01_box4 .item2:before {
        position: absolute;
        content: "";
        background: #51A2A2;
        width: 225px;
        height: 100%;
        right: 0;
        top: 0;
        clip-path: polygon(91.6% 0%, 100% 0, 100% 100%, 0% 100%);
    }

    .sec01_box3_en {
        margin-bottom: 38px;
    }

    .sec01_box4 .sec01_box3_en {
        margin-bottom: 35px;
    }

    .sec01_box3_ja .sm {
        font-size: 18px;
    }

    .sec01_box4 .sec01_box3_ja .sm {
        margin-bottom: 4px;
    }

    .sec01_box3_ja .lg {
        font-size: 25px;
    }

    .sec01_box4 {
        height: auto;
        flex-direction: column;
    }

    .sec01_box4 .item1 {
        padding-top: 0;
        right: 0;
    }

    .sec01_box4 .item2 {
        margin-right: 0;
        padding-top: 32px;
        background: #297E80;
        padding: 32px 15px 97px 10px;
    }

    .sec01_box4 .item2 .wrap {
        padding-left: 0;
        position: relative;
    }

    .sec01_box5 {
        min-height: inherit;
        margin-top: 0;
        padding-top: 110px;
        padding-bottom: 100px;
    }

    .sec01_box5 .btn a {
        max-width: 340px;
    }

    .sec01_box5 .inner {
        padding: 0 10px;
    }

    .sec01_box5:before {
        background: url(../images/idx_bg_03_sp.jpg) no-repeat center top;
        left: calc(50% - 960px);
        width: 1384;
        height: 100%;
    }

    .sec01_box5 .sec01_box3_en {
        margin-bottom: 38px;
    }

    .sec01_box5 .sec01_box3_ja .sm {
        letter-spacing: 0.05em;
        margin-bottom: 4px;
    }

    .sec01_box5 .sec01_box3_ja .lg {
        font-size: 30px;
    }

    .sec01_box5_item li:not(:last-child):before {
        background: url(../images/icon_x_sp.svg) no-repeat center top;
        width: 19px;
        height: 20px;
        top: calc(50% - 10px);
        right: -27px;
    }

    .sec01_box5_item {
        max-width: 355px;
        margin: 0 auto 27px;
    }

    .sec01_box5_item li:not(:last-child) {
        margin-right: 35px;
    }

    .sec01_box5_txt {
        margin: 0 auto 50px;
    }

    .sec01_box5 .sec01_box3_ja {
        margin-bottom: 28px;
    }

    .sec01_box3_txt {
        max-width: inherit;
    }

    /* sec02 */
    .sec02 {
        padding-top: 92px;
        height: auto;
    }

    .sec02:before {
        background-size: cover;
        height: calc(100% - 105px);
    }

    .sec02 .inner {
        padding: 0 10px;
    }

    .sec02 .ttl .sm {
        font-size: 18px;
        margin-bottom: 3px;
        padding-right: 0;
    }

    .sec02 .ttl .lg {
        font-size: 30px;
    }

    .sec02_menu li {
        width: calc(50% - 10px);
        height: 167px;
        margin-bottom: 21px;
    }

    .sec02_menu li:not(:nth-child(5n)) {
        margin-right: 0px;
    }

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

    .sec02_menu li a .sm {
        font-size: 10px;
        margin-bottom: 4px;
    }

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

    .sec02_menu li.item1 a {
        background-size: 27px auto;
        background-position: center top 33px;
    }

    .sec02_menu li.item2 a {
        background-size: 57px auto;
        background-position: center top 41px;
    }

    .sec02_menu li.item3 a {
        background-size: 82px auto;
        background-position: center top 51px;
    }

    .sec02_menu li.item4 a {
        background-size: 26px auto;
        background-position: center top 35px;
    }

    .sec02_menu li.item5 a {
        background-size: 27px auto;
        background-position: center top 31px;
    }

    .sec02_menu li.item6 a {
        background-size: 44px auto;
        background-position: center top 29px;
    }

    .sec02_menu li.item7 a {
        background-size: 44px auto;
        background-position: center top 29px;
    }

    .sec02_menu li.item8 a {
        background-size: 44px auto;
        background-position: center top 31px;
    }

    .sec02_menu li.item9 a {
        background-size: 26px auto;
        background-position: center top 35px;
    }

    .sec02_menu li.item10 a {
        background-size: 31px auto;
        background-position: center top 31px;
    }

    .sec02_menu li.item11 a {
        background-size: 48px auto;
        background-position: center top 37px;
    }

    .sec02_menu li.item12 a {
        background-size: 34px auto;
        background-position: center top 26px;
        padding-top: 90px;
    }

    .sec02 .ttl {
        margin-bottom: 38px;
    }

    .sec02 .ttl .en {
        margin-bottom: 48px;
    }

    .sec02_menu li a {
        padding-top: 97px;
    }

    .sec02_menu li a:before {
        width: 6px;
        height: 6px;
        right: 8px;
        bottom: 8px;
    }

    .sec02_menu {
        position: relative;
        max-width: 355px;
        margin: 0 auto -105px;
    }

    /* sec03 */
    .sec03 {
        height: auto;
        background: linear-gradient(#2e5580 0%, #297e80 100%);
        padding-top: 190px;
        padding-bottom: 100px;
    }

    .sec03_ttl {
        max-width: 355px;
        margin: 0 auto;
    }

    .sec03 .inner {
        padding: 0 10px;
    }

    .sec03:before {
        background: url(../images/idx_bg_05_sp.png) no-repeat right top /319px;
        left: auto;
        right: 0;
        width: 100%;
    }

    .sec03 .en {
        margin-bottom: 40px;
    }

    .sec03 .ja {
        border-bottom: none;
        display: inline;
        line-height: 1.59;
    }

    .sec03 .ja .lg {
        font-size: 30px;
        background: linear-gradient(to bottom, rgba(192, 176, 125, 0) 0%, rgba(192, 176, 125, 0) 96%, rgba(192, 176, 125, 0.5) 96%, rgba(192, 176, 125, 1) 96.1%, rgba(192, 176, 125, 1) 98%, rgba(192, 176, 125, 0) 99%, rgba(192, 176, 125, 0) 100%);
        padding-bottom: 2px;
    }

    .sec03_bnr {
        flex-direction: column;
        justify-content: center;
        text-align: center;
        max-width: 356px;
        margin: 36px auto 0;
    }

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

    /* sec04 */
    .sec04 {
        height: auto;
        padding-top: 74px;
        padding-bottom: 0;
    }

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

    .sec04_tel {
        display: flex;
        width: 100%;
        height: 160px;
        flex-direction: column;
        align-items: center;
        /* justify-content: center; */
        position: relative;
        max-width: 337px;
        margin: 0 auto;
        padding-top: 12px;
    }

    .sec04_tel .title:before {
        height: 1px;
        left: 20px;
        bottom: -12px;
        top: auto;
        width: calc(100% - 40px);
    }

    .sec04 .ttl .lg {
        font-size: 30px;
        line-height: 1.5;
    }

    .sec04 .ttl .en {
        margin-bottom: 41px;
    }

    .sec04 .ttl .lg .point {
        padding-top: 6px;
    }

    .sec04_wrap {
        padding: 0 8px 25px 8px;
    }

    .sec04_tel .title {
        width: 100%;
    }

    .sec04 .ttl:before,
    .sec04 .ttl:after {
        width: calc(50% - 100px);
        top: 17px;
    }

    .sec04 .ttl {
        margin-top: -42px;
        margin-bottom: 34px;
    }

    .sec04 .sec04_txt {
        margin-bottom: 43px;
    }

    .sec04_tel .tel_num {
        padding-left: 0;
        padding-top: 38px;
    }

    .sec04_box {
        padding: 25px 0px 27px 0px;
        margin: 0 auto 50px;
    }

    .sec04:before {
        background: url(../images/idx_bg_06_sp.jpg) no-repeat center top / cover;
        width: 1872px;
        left: calc(50% - 936px);
        height: calc(100% + 50px);
    }

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

    .sec05_box1 {
        flex-direction: column;
        margin-top: 0;
        margin-bottom: 39px;
    }

    .sec05_box1>div {
        width: 100%;
    }

    .sec05_img:before,
    .sec06_img:before {
        display: none;
    }

    .sec05_img {
        height: auto;
        margin-bottom: 0;
    }

    .sec05_box1>div.item1 {
        width: calc(100% - 10px);
        padding-top: 60px;
        padding-bottom: 45px;
    }

    .sec05 .sec05_box1>div.item1:before {
        background: url(../images/idx_img_32_sp.png) no-repeat right top;
        width: 125px;
        height: 206px;
        right: 0px;
        top: -94px;
        background-size: 125px auto;
    }

    .sec05_box1 .ttl .ja .sm {
        font-size: 18px;
        margin-bottom: 3px;
    }

    .sec05_box1 .ttl .ja .lg {
        font-size: 30px;
    }

    .sec05_box1 .ttl .ja .lg .mid {
        font-size: 100%;
    }

    .sec05_box1>div .wrap {
        width: 100%;
        padding: 0 10px;
    }

    .sec05_box1 .ttl .en {
        margin-bottom: 46px;
    }

    .sec05_point,
    .sec06_point {
        position: static;
        width: 100%;
        height: auto;
    }

    .sec05_point li,
    .sec06_point li {
        position: relative;
        left: 0 !important;
        top: 0 !important;
    }

    .sec05_point,
    .sec06_point {
        display: flex;
        flex-wrap: wrap;
        max-width: 314px;
        margin: 0 auto 10px;
        justify-content: space-between;
        position: relative;
        left: 5px;
        top: 0;
    }

    .sec05_point li.item1 p,
    .sec05_point li.item3 p,
    .sec06_point li.item1 p,
    .sec06_point li.item3 p {
        line-height: 1.7;
    }

    .sec05_point li {
        width: 151px;
        height: 151px;
    }

    .sec05_point li,
    .sec06_point li {
        font-size: 16px;
        margin-bottom: 11px;
    }

    .sec05_point li p .num,
    .sec06_point li p .num {
        font-size: 36px;
    }

    .sec05_box1 .ttl {
        margin-bottom: 28px;
    }

    .sec05_point li.item2 p .sm {
        font-size: 95%;
    }

    .sec05_point li.item4,
    .sec05_point li.item3 {
        font-size: 14px;
    }

    .sec05_point li.item3 p .num {
        font-size: 214%;
    }

    .sec05_note {
        position: static;
        color: #333;
        font-size: 14px;
        line-height: 1.4;
    }

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

    .sec05_bnr {
        width: calc(100% - 20px);
        height: auto;
        padding: 34px 13px 40px 11px;
        margin-bottom: 48px;
    }

    .sec05_bnr:before {
        left: 5px;
        top: 5px;
        bottom: 5px;
        right: 5px;
    }

    .sec05_tt {
        font-size: 25px;
        padding-bottom: 17px;
        line-height: 1.5;
        margin-bottom: 22px;
        white-space: nowrap;
        border-bottom: none;
        position: relative;
    }

    .sec05_tt:before {
        position: absolute;
        content: "";
        width: calc(100% - 30px);
        height: 1px;
        background: #c0b07d;
        left: 0;
        right: 0;
        bottom: 0;
        margin: 0 auto;
    }

    .sec05_tt .mid {
        font-size: 80%;
    }

    .sec05_txt2 {
        padding: 0px;
    }

    .sec05_bnr:after {
        background: url(../images/idx_img_07_sp.png) no-repeat right top/201px;
        width: 201px;
        height: 231px;
        right: -20px;
        bottom: -340px;
        z-index: 9;
    }

    .sec05:after {
        width: 422px;
        height: 282px;
        right: -68px;
        bottom: -49px;
    }

    .sec05:before {
        width: 375px;
        height: 500px;
    }

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

    .sec06 .sec05_box1>div.item1,
    .sec06 .sec05_box1>div.item2 {
        width: 100%;
    }

    .sec06 .sec05_box1 {
        margin-top: 0;
    }

    .sec06_img {
        height: auto;
        margin-bottom: 0;
    }

    .sec06 .sec05_box1>div.item1:before {
        width: 190px;
        height: 167px;
        left: 52px;
        bottom: -53px;
        z-index: 9;
        background: url("../images/idx_img_09_sp.png") no-repeat right top/190px;
    }

    .sec06 .sec05_box1>div .wrap {
        margin-left: 0;
        padding-top: 0;
        padding-bottom: 51px;
    }

    .sec05_box1>div.item1 {
        width: calc(100% - 10px);
        padding-bottom: 45px;
    }

    .sec02_bb {
        left: auto;
        top: 0px;
        width: 125px;
        height: 130px;
        padding-bottom: 12px;
        right: 10px;
        background-size: 125px auto;
    }

    .sec02_bb .sm {
        font-size: 23px;
        margin-bottom: 1px;
    }

    .sec02_bb .lg {
        font-size: 28px;
    }

    .sec06_point li {
        font-size: 14px;
    }

    .sec06_point li.item3 {
        font-size: 13px;
    }

    .sec06 .sec05_box1>div.item2 {
        padding-top: 58px;
    }

    .sec06_point {
        max-width: 294px;
        margin-bottom: 25px;
        left: 0px;
    }

    .sec06_point li {
        width: 137px;
        height: 137px;
    }

    .sec06:before {
        width: 275px;
        height: 215px;
    }

    .sec06 .sec05_box1>div.item1 {
        padding-top: 0;
        padding-bottom: 0;
    }

    .sec06_txt {
        max-width: inherit;
        margin-bottom: 38px;
    }

    /* sec07 */
    .sec07 {
        position: relative;
        background: url("../images/sec07_bg_pr.jpg") no-repeat center top/cover;
        padding-bottom: 101px;
    }

    .sec07:before {
        display: none;
    }

    .sec07 .inner {
        position: static;
        padding: 0 10px;
    }

    .sec07_img img {
        width: 206px;
    }

    .sec07_item {
        flex-direction: column-reverse;
    }

    .sec07_item .item2 {
        width: 100%;
    }

    .sec07_item>div {
        position: static;
    }

    .sec07_img {
        left: 45px;
        top: -35px;
        width: 173px;
        height: 173px;
    }

    .sec07_img2 {
        left: 11px;
        top: -40px;
        width: 173px;
    }

    .sec07_item .item1 {
        max-width: inherit;
        padding-top: 0;
    }

    .sec07_ttl .sm {
        font-size: 18px;
    }

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

    .sec07_img_lg {
        margin-bottom: 50px;
    }

    .sec07_img_lg img {
        width: 100%;
    }

    .sec07_ttl {
        margin-bottom: 35px;
    }

    /* sec08 */
    .sec08_img {
        width: calc(100% + 115px);
        left: -57px;
        margin-bottom: 56px;
    }

    .sec08:before {
        display: none;
    }

    .sec08 .inner {
        margin-top: 0;
        padding: 0px 10px 103px;
        margin-bottom: 0;
    }

    .sec08_ttl .ja .sm {
        font-size: 18px;
        margin-bottom: 2px;
    }

    .sec08_ttl .en {
        margin-bottom: 47px;
    }

    .sec08_ttl .ja .lg {
        font-size: 30px;
        padding-right: 0;
        line-height: 1.45;
    }

    .sec08_list {
        width: auto;
        top: 0;
        max-width: 293px;
        margin: 0 auto 35px;
    }

    .sec08_list>li {
        width: 137px;
        height: 137px;
        font-size: 14px;
    }

    .sec08_list>li.item2 {
        font-size: 15px;
    }

    .sec08_txt {
        max-width: inherit;
        margin: 0 auto 45px;
    }

    .sec08_img_sp img {
        width: 100%;
        height: auto;
    }

    /* sec09 */
    .sec09 {
        padding-bottom: 49px;
    }

    .sec09 .inner {
        padding: 0 10px;
    }

    .sec09:before,
    .sec10:before {
        background: url(../images/idx_bg_10_sp.jpg) no-repeat center top/cover;
        width: 1920px;
        height: 100%;
    }

    .sec09_item .item1 {
        padding-top: 0;
        width: calc(100% - 20px);
        margin: 0 auto 40px;
    }

    .sec09_item {
        flex-direction: column;
        padding-top: 105px;
    }

    .sec09_item .item2 {
        padding: 38px 10px 33px 10px;
        width: 100%;
        margin-top: 0;
        margin-right: 0;
    }

    .sec09 .ttl .ja .lg {
        font-size: 30px;
    }

    .sec09 .ttl {
        margin-bottom: 37px;
    }

    .sec09:after {
        height: calc(100% - 412px);
        background: linear-gradient(180deg, rgba(41, 126, 128, 1) 0%, rgba(46, 85, 128, 1) 100%);
    }

    .sec09_ttl {
        margin-bottom: 31px;
    }

    .sec09_list {
        flex-direction: column;
    }

    .sec09_list>.list1 {
        margin-right: 0;
        margin-bottom: 15px;
    }

    .sec09_img img,
    .sec10_img img {
        width: 100%;
    }

    /* sec10 */
    .sec10 {
        padding-bottom: 151px;
    }

    .sec10_item {
        left: 0;
        flex-direction: column;
    }

    .sec10_item>.item1 {
        margin-top: 50px;
        margin-right: auto;
        padding: 0 5px;
        margin-bottom: 45px;
        margin-left: auto;
        width: 100%;
    }

    .sec10_item>.item2 {
        padding: 37px 10px 41px 10px;
        width: 100%;
        margin-top: 0;
        margin-right: 0;
    }

    .sec10:after {
        height: calc(100% - 285px);
        bottom: 100px;
        background: linear-gradient(180deg, rgba(41, 126, 128, 1) 0%, rgba(46, 85, 128, 1) 100%);
    }

    .sec10_txt {
        padding-right: 0px;
        margin-bottom: 39px;
    }

    .sec10_item>.item1 img {
        width: 100%;
    }

    /* sec11 */
    .sec11 {
        margin-top: 0;
        padding-top: 0px;
    }

    .sec11_ttl .ja .num {
        font-size: 335%;
    }

    .sec11_img {
        height: 281px;
        margin-bottom: 238px;
    }

    .sec11_img:before {
        background: url(../images/idx_img_16_sp.jpg) no-repeat center top/cover;
        width: 750px;
        left: calc(50% - 375px);
    }

    .sec11:before {
        display: none;
    }

    .sec11_ttl {
        top: 56px;
    }

    .sec11_ttl .ja .lg {
        font-size: 30px;
    }

    .sec11_ttl .ja .sm {
        font-size: 18px;
    }

    .sec11_item>div .item_sub1 {
        left: 0;
        padding-right: 38px;
    }

    .sec11_item>div.item2 .item_sub1 {
        left: auto;
        right: 0;
        padding-right: 0;
        padding-left: 40px;
    }

    .sec11_item>div.item2 .item_sub1 .img {
        margin-bottom: 0;
    }

    .sec11_item>div,
    .sec11_item>div.item2 {
        flex-direction: column;
    }

    .sec11_item>div.item2 {
        padding-top: 100px;
        padding-bottom: 49px;
    }

    .sec11_item>div .item_sub1 .point {
        right: 10px;
        top: -30px;
        width: 137px;
        height: 137px;
        font-size: 15px;
    }

    .sec11_item .item_sub2,
    .sec11_item .item2 .item_sub2 {
        padding: 6px 10px 101px 10px;
        margin-left: 0;
    }

    .sec11_item .item2 .item_sub2 {
        padding-top: 31px;
        margin-right: 0;
        padding-bottom: 64px;
    }

    .sec11_item>div .item_sub1 .point.point1 {
        left: 10px;
        top: -50px;
    }

    .sec11_item>div .item_sub1 .point.point2 {
        left: 79px;
        top: 84px;
    }

    .sec11_item .item_sub2 {
        padding-bottom: 51px;
    }

    .sec11_item>div.item1:before {
        display: none;
    }

    .sec11_item>div.item2:before {
        background: linear-gradient(180deg, rgba(41, 126, 128, 1) 0%, rgba(46, 85, 128, 1) 100%);
        height: 100%;
    }

    .seccom_en1 .num {
        font-size: 64px;
    }

    .seccom_en1 .txt {
        font-size: 22px;
    }

    .sec11_ja .sm {
        font-size: 18px;
    }

    .sec11_ja .lg {
        font-size: 30px;
    }

    .seccom_en1 {
        margin-bottom: 25px;
    }

    .sec11_ja .sm .num {
        font-size: 28px;
    }

    .sec11_ja {
        margin-bottom: 25px;
    }

    .item2 .sec11_en {
        margin-bottom: 38px;
    }

    .sec11_txt {
        max-width: inherit;
    }

    /* sec12 */
    .sec12 {
        height: auto;
        padding-bottom: 101px;
        padding-top: 114px;
    }

    .sec12_en .txt {
        left: 0;
    }

    .sec12_en {
        padding-right: 0;
    }

    .sec12:before {
        background-size: auto 100%;
    }

    .sec12 .inner {
        padding: 0 10px;
    }

    .sec12_list {
        flex-wrap: wrap;
        justify-content: space-between;
        max-width: 355px;
        margin: 0 auto 28px;
    }

    .sec12_list li {
        width: calc(50% - 5.5px);
        margin-bottom: 20px;
    }

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

    .sec12_list li .img {
        height: auto;
    }

    .sec12_list li .tt {
        font-size: 15px;
        bottom: 13px;
        width: calc(100% - 20px);
    }

    .sec12 .ttl .ja .sm {
        font-size: 18px;
        margin-bottom: 3px;
    }

    .sec12 .ttl .ja {
        margin-bottom: 35px;
    }

    .sec12 .seccom_en1 {
        margin-bottom: 48px;
    }

    .sec12 .ttl {
        margin-bottom: 22px;
    }

    /* sec13 */
    .sec13_item {
        flex-direction: column;
    }

    .sec13_item>div {
        width: 100%;
        height: auto;
        padding-bottom: 55px;
        padding-top: 111px;
    }

    .sec13_item>div.item2 {
        padding-bottom: 103px;
    }

    .sec13_img {
        margin-bottom: 36px;
    }

    .sec13_img img {
        width: 100%;
    }

    .sec13_item>div .wrap {
        width: 100%;
        padding: 0 10px;
    }

    .sec13_item>div.item2 .wrap {
        margin-left: 0;
    }

    .sec12 .ttl .ja .lg {
        font-size: 30px;
        padding-right: 0;
    }

    .sec13 .ja .sm {
        font-size: 18px;
    }

    .sec13 .ja .lg {
        font-size: 30px;
        text-align: center;
    }

    .sec13 .seccom_en1 {
        margin-bottom: 47px;
        padding-right: 0;
    }

    .sec13 .seccom_en1 .txt {
        left: 0;
        right: 0;
        margin: 0 auto;
    }

    .sec13 .ja {
        margin-bottom: 40px;
    }

    .sec13 .item2 .ja {
        margin-bottom: 82px;
    }

    .item2 .sec13_list {
        margin-bottom: 21px;
    }

    .item2 .sec13_list li {
        margin-bottom: 15px;
    }

    .sec13_list li:nth-child(1) {
        margin-right: 15px;
    }

    .sec13_list li {
        width: calc(50% - 8px);
    }

    .sec13_list {
        max-width: 355px;
        margin-bottom: 17px;
        margin-left: auto;
        margin-right: auto;
    }

    .sec13_list li .tt {
        padding: 9px 5px 5px;
        font-size: 13px;
        width: 100%;
        bottom: 0;
        left: 0;
    }

    .sec13_list li.sub3 .tt {
        padding: 5px 5px 4px;
    }

    .sec13_txt {
        margin-bottom: 46px;
    }

    .sec13_item>div.item1:before {
        background: url(../images/idx_bg_15_l_sp.jpg) no-repeat center top / cover;
    }

    .sec13_item>div.item2:before {
        background: url(../images/idx_bg_15_r_sp.jpg) no-repeat center top / cover;
    }

    /* sec14 */
    .sec14 {
        flex-direction: column;
        padding-bottom: 33px;
    }

    .sec14:before {
        width: 185px;
        height: 150px;
        left: -8px;
        bottom: -50px;
    }

    .sec14:after {
        width: 100%;
        height: 200px;
        bottom: -16px;
    }

    .sec14_item {
        flex-direction: column;
        padding-bottom: 0;
    }

    .sec14 .ja .sm {
        font-size: 18px;
    }

    .sec14 .ja .lg {
        font-size: 30px;
    }

    .sec14_item .item2 {
        padding: 10px 10px 98px 10px;
        top: 0;
        margin-left: 0;
    }

    .sec14_item .item1 {
        right: 0;
        padding-right: 40px;
        margin-bottom: 20px;
    }

    .sec14 .seccom_en1 {
        margin-bottom: 38px;
    }

    .sec14 .ja {
        margin-bottom: 30px;
    }

    .sec14_txt {
        max-width: inherit;
    }

    /* sec15 */
    .sec15 {
        position: relative;
        color: #fff;
        padding-top: 102px;
        height: auto;
        padding-bottom: 107px;
        background: none;
    }

    .sec15 .inner {
        max-width: 355px;
    }

    .sec15:before {
        background: url(../images/idx_bg_12_sp.jpg) no-repeat center top/cover;
        width: 100%;
        height: 100%;
        left: 0;
        z-index: -1;
    }

    .sec15_en {
        font-size: 35px;
        margin-bottom: 47px;
    }

    .sec15_wrap {
        flex-direction: column;
        padding-bottom: 39px;
        margin-bottom: 40px;
    }

    .sec15 .ttl .sm {
        font-size: 18px;
        margin-bottom: 3px;
    }

    .sec15 .ttl .lg {
        font-size: 30px;
    }

    .sec15_tt {
        width: 100%;
        height: 90px;
        font-size: 18px;
        max-width: 355px;
        line-height: 1.5;
        padding-top: 0;
    }

    .sec15 .ttl {
        top: 0;
        margin-bottom: 18px;
    }

    .sec15 .btn a {
        width: 100%;
        height: 68px;
        font-size: 18px;
    }

    .sec15 .btn a:before {
        width: 10px;
        height: 10px;
        background-size: 10px auto;
    }

    .sec15 .btn.btn3 a {
        font-size: 18px;
    }

    .sec15 .btn {
        margin-right: 0;
        margin-bottom: 20px;
    }

    .sec15 .btn:not(:nth-child(2n)) {
        margin-right: 9px;
    }

    .sec15 .btn a .sm {
        font-size: 15px;
    }

    /* sec16 */
    .sec16 {
        padding-top: 93px;
        padding-bottom: 100px;
    }

    .sec16 .inner {
        padding: 0 10px;
    }

    .sec16_item .ttl {
        width: 100%;
    }

    .sec16_item .ttl .ja .lg {
        font-size: 30px;
    }

    .sec16_item .ttl .en {
        margin-bottom: 45px;
    }

    .sec16_item .ttl .ja {
        margin-bottom: 8px;
    }

    .sec16_item {
        flex-direction: column;
    }

    .sec16_item .item_slider {
        margin-bottom: 92px;
    }

    .sec16_slider .slick-prev {
        right: calc(50% + 50px);
        left: auto;
    }

    .sec16_slider .slick-next {
        left: calc(50% - -50px);
    }

    /* sec17 */
    .sec17 {
        padding-top: 95px;
        padding-bottom: 100px;
    }

    .sec17 .inner {
        padding: 0 10px;
    }

    .sec17 .ttl .ja .lg {
        font-size: 30px;
    }

    .sec17_tab li {
        height: 40px;
        font-size: 12px;
        width: calc(25% - 4px);
        margin-right: 0;
    }

    .sec17_tab li:not(:last-child) {
        margin-right: 5px;
    }

    .sec17_tab li a {
        padding-top: 3px;
    }

    .sec17_tab li a:before {
        border-right: 15px solid transparent;
        border-left: 15px solid transparent;
        border-top: 8px solid #333;
        bottom: -9px;
    }

    .sec17_load dl dt .cate {
        font-size: 14px;
        min-width: 100px;
    }

    .sec17_load dl dt .date {
        font-size: 18px;
        position: relative;
        top: 4px;
    }

    .sec17_load dl dd {
        font-size: 16px;
        line-height: 1.8;
        width: 100%;
        -webkit-line-clamp: 2;
    }

    .sec17_load dl {
        padding-bottom: 17px;
    }

    .sec17 .ttl {
        margin-bottom: 33px;
        align-items: center;
    }

    .sec17_tab {
        margin: 0px auto 28px;
    }

    /* sec18 */
    .sec18 {
        padding-top: 105px;
    }

    .sec18 .inner {
        padding: 0 10px;
    }

    .sec18 .en {
        margin-bottom: 46px;
    }

    .sec18 .ja .lg {
        font-size: 30px;
    }

    .sec18_item {
        flex-wrap: wrap;
        margin-bottom: 37px;
    }

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

    .sec18_item li {
        width: calc(25% - 8px);
    }

    .sec18_item li .tt {
        font-size: 10px;
    }

    .sec18_item li .tt span {
        padding-right: 20px;
        background: url(../images/arrow_up_sm.svg) no-repeat right top 3px/ 8px;
        display: inline-block;
    }

    .sec18_item li .img {
        margin-bottom: 6px;
    }

    .sec18_txt {
        margin-bottom: 30px;
    }

    .sec18_txt p {
        font-size: 15px;
    }

    .sec18_tt.tt1:after {
        width: 22px;
        height: 22px;
        background-size: 22px auto;
    }

    .sec18_tt:after {
        top: 3px;
    }

    .sec18_tt {
        font-size: 20px;
        margin-bottom: 15px;
    }

    .sec18_tt.tt1 span {
        padding-left: 33px;
        padding-right: 20px;
    }

    .sec18_tt:before {
        top: 49%;
    }

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

    .sec18_bnr {
        margin: 18px auto 0;
        width: 100%;
        height: 78px;
        max-width: 355px;
    }

    .sec18_bnr:before {
        left: 2px;
        right: 2px;
        bottom: 2px;
        top: 2px;
        border-radius: 7px;
    }

    .sec18_bnr img {
        width: 270px;
    }

    /*============ FOOTER ============*/
    .sec06 .sec05_box1 .btn a,
    .sec07_item .btn a,
    .sec11_item .item_sub2 .btn a,
    .sec16 .btn a,
    .sec10 .btn a {
        margin-left: auto;
        margin-right: auto;
    }

    .box_contact {
        display: flex;
        width: 100%;
        flex-wrap: wrap;
    }

    .box_contact p {
        width: calc(50% - 4.5px);
    }

    .ft_contact.box_contact p {
        width: calc(50% - 7px);
    }

    .box_contact p.btn_com:not(:last-of-type) {
        margin-right: 0;
    }

    .ft_contact.box_contact p {
        height: 47px;
        margin-bottom: 13px;
    }

    .ft_contact.box_contact p:not(:nth-child(2n)) {
        margin-right: 14px;
    }

    .ft_contact.box_contact p a {
        font-size: 16px;
        padding-top: 3px;
    }

    .box_contact p.btn_com a:before {
        background-size: 8px auto;
    }

    .ft_contact.box_contact p a .sm {
        font-size: 13px;
    }

    .ft_contact.box_contact p.btn3 a .sm {
        font-size: 13px;
        margin-bottom: 2px;
    }

    .box_contact p.btn_tel {
        width: 100%;
        padding-top: 9px;
    }

    .btn_tel a .sm {
        margin-bottom: 8px;
    }

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

    .ttl .sm {
        font-size: 18px;
    }

    .ttl .lg {
        font-size: 32px;
    }

    footer {
        margin-bottom: 50px;
    }

    address {
        padding: 27px 10px 60px;
        font-size: 14px;
        line-height: 1.46;
        letter-spacing: 0.05em;
    }

    .com_tel {
        width: 100%;
        height: auto;
        margin-bottom: 20px;
        flex-direction: column;
        padding: 3px 5px 3px 5px;
    }

    .com_calc_txt {
        font-size: 14px;
    }

    .com_calc {
        margin-bottom: 4px;
    }

    .com_tel .tt {
        font-size: 18px;
        padding-right: 0;
        padding-top: 3px;
        margin-bottom: 20px;
    }

    .com_tel .tt:before,
    nav .com_tel .tt:before {
        background: url(../images/arrow_tel_sp.svg) no-repeat center;
        width: 27px;
        height: 7px;
        top: auto;
        bottom: -13px;
        right: 0;
        left: 0;
        margin: 0 auto;
    }

    nav .com_tel .tt:before {
        background: url(../images/arrow_tel_w_sp.svg) no-repeat center;
        height: 9px;
        width: 40px;
        bottom: -14px;
    }

    .btn_blue1 a,
    .btn_blue2 a,
    .btn.btn_white a,
    .btn_yl a,
    .btn_blue3 a,
    .btn a {
        width: 100%;
        max-width: 355px;
    }

    .ft_top {
        padding-top: 143px;
        padding-bottom: 101px;
    }

    .ft_top .inner {
        padding: 0 10px;
    }

    .ft_logo {
        margin-bottom: 36px;
        width: calc(100% + 25px);
        max-width: 360px;
        margin-left: auto;
        margin-right: auto;
    }

    .ft_top_item .item1 {
        width: 100%;
        margin-bottom: 40px;
    }

    .ft_bnr2,
    .ft_top_item .item1 {
        max-width: 355px;
        margin-left: auto;
        margin-right: auto;
    }

    .ft_txt {
        margin: 32px auto 44px;
    }

    .ft_top_item {
        flex-direction: column;
        margin-bottom: 2px;
    }

    .ft_map {
        height: 200px;
        margin-bottom: 4px;
    }

    .ft_map iframe {
        width: 100%;
        height: 100%;
    }

    .ft_contact.box_contact {
        width: 100%;
        margin-bottom: 16px;
    }

    .ft_map_txt .tt {
        font-size: 15px;
        line-height: 1.92;
    }

    .ft_map_txt .ft_map_link {
        font-size: 15px;
        margin-top: 30px;
    }

    .com_add {
        font-size: 15px;
        line-height: 1.66;
        margin-bottom: 17px;
    }

    .ft_link {
        padding-top: 13px;
    }

    .ft_link .inner {
        padding: 0 10px;
    }

    .ft_bnr3,
    .ft_bnr4,
    .ft_bnr5 {
        flex-wrap: wrap;
    }

    .ft_bnr3 li,
    .ft_bnr4 li,
    .ft_bnr5 li {
        width: calc(20% - 4px);
    }

    .ft_bnr3 li {
        height: 73px;
    }

    .ft_bnr4 li {
        height: 72px;
    }

    .ft_bnr3 li a,
    .ft_bnr4 li a {
        font-size: 11px;
    }

    .ft_bnr3 li.item4 a,
    .ft_bnr3 li.item5 a {
        font-size: 13px;
        line-height: 1.46;
    }

    .ft_bnr3 li:last-child,
    .ft_bnr4 li:last-child,
    .ft_bnr5 li:last-child {
        margin-right: 0;
    }

    .ft_bnr3 li,
    .ft_bnr4 li,
    .ft_bnr5 li {
        margin-right: 5px;
    }

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

    .sp_contact.box_contact p.btn_com {
        height: 100%;
    }

    .sp_contact.box_contact p.btn_com a:before {
        background-size: 5px auto;
    }

    .sp_contact.box_contact p.btn_com a {
        font-size: 13px;
    }

    .sp_contact.box_contact p.btn_com {
        margin-bottom: 0;
    }

    .sp_contact.box_contact p.btn_com {
        width: 25%;
    }

    .sp_contact.box_contact p.btn_com:not(:last-of-type) {
        border-right: 1px #fff solid;
    }

    .sp_contact.box_contact p.btn_com a {
        padding: 0 0 28px;
    }

    .sp_contact.box_contact p.btn_com.btn3::after,
    .sp_contact.box_contact p.btn_com a::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
    }

    .sp_contact.box_contact p.btn_com.btn1 a {
        padding-top: 0;
    }

    .sp_contact.box_contact p.btn_com.btn4 a {
        background: #297E80;
    }

    .sp_contact.box_contact p.btn_com.btn1 a::after {
        background: url('../images/ic_cal.svg') center /cover no-repeat;
        width: 22px;
        height: 21px;
        bottom: 14px;
    }

    .sp_contact.box_contact p.btn_com.btn4 a::after {
        background: url('../images/ic_tel.svg') center /cover no-repeat;
        width: 19px;
        height: 19px;
        bottom: 16px;
    }

    .sp_contact.box_contact p.btn_com.btn2 a::after {
        background: url('../images/ic_mail.svg') center /cover no-repeat;
        width: 26px;
        height: 18px;
        bottom: 15px;
    }

    .sp_contact.box_contact p.btn_com.btn3::after {
        background: url('../images/ic_line.svg') center /cover no-repeat;
        width: 21px;
        height: 19px;
        bottom: 14px;
    }

    .sp_contact.box_contact p.btn_com.btn3 {
        position: relative;
    }

    .sp_contact.box_contact p.btn_com.btn3 a {
        position: absolute;
        top: 0;
        width: 60px;
        height: 60px;
        background: #06C755;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        font-weight: 600;
        padding: 0;
        transition: all ease 0.3s;
        opacity: 0;
        pointer-events: none;
        font-size: 11px;
    }

    .sp_contact.box_contact p.btn_com.btn3 a::before {
        right: 2px;
    }

    .sp_contact.box_contact p.btn_com.btn3 .left {
        left: calc(50% - 60px);
    }

    .sp_contact.box_contact p.btn_com.btn3 .right {
        left: calc(50% + 1px);
    }

    .sp_contact.box_contact p.btn_com.btn3 .lg {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        font-family: var(--f-yumin);
        color: #fff;
        line-height: 1.4;
        position: relative;
        font-size: 20px;
        padding-bottom: 28px;
        background: #06C755;
        font-size: 13px;
    }

    .sp_contact.box_contact p.btn_com.btn3.active a {
        top: -61px;
        opacity: 1;
        pointer-events: inherit;
    }

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

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

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

    .ft_bnr3 li a,
    .ft_bnr4 li a {
        font-size: 14px;
    }

    .ft_bnr3 li,
    .ft_bnr4 li,
    .ft_bnr5 li {
        width: calc(50% - 5px);
    }

    .ft_bnr3,
    .ft_bnr4,
    .ft_bnr5 {
        margin-bottom: 1px;
        max-width: 355px;
        margin: 0 auto;
    }

    .ft_bnr3 li,
    .ft_bnr4 li,
    .ft_bnr5 li {
        margin-right: 0;
        margin-bottom: 10px;
    }

    .ft_bnr4 {
        margin-bottom: 2px;
    }

    .ft_bnr3 li:not(:nth-child(2n)),
    .ft_bnr4 li:not(:nth-child(2n)),
    .ft_bnr5 li:not(:nth-child(2n)) {
        margin-right: 10px;
    }

    .ft_bnr5 {
        margin-bottom: 12px;
    }

    .sec11_img:before {
        width: 708px;
        left: calc(50% - 354px);
        background-size: 708px;
    }
}

@media screen and (min-width: 441px) and (max-width: 750px) {
    .mv .inner {
        padding: 0 10px 41vw;
    }
}

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

    .sec05_note {
        margin: 0 auto 33px;
        max-width: 314px;
    }
}

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

    .pc440 {
        display: none !important
    }

    .mv .inner {
        padding: 0 10px 14vw;
    }

    .sec18_item li {
        width: calc(50% - 6px);
        margin-bottom: 23px;
    }

    .sec18_item li:nth-child(2) {
        margin-right: 0;
    }

    .sec18_item {
        margin-bottom: 13px;
    }

    .sp_contact.box_contact p.btn_com.btn3 .lg,
    .sp_contact.box_contact p.btn_com a {
        font-size: 11px;
    }
}

@media screen and (max-width: 425px) {
    .sec16_slider .slick-slide {
        width: 300px;
        margin: 0 10px;
    }
}

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

    #logo img {
        width: 235px;
    }

    .mv_txt {
        height: 160px;
        padding-top: 20px;
    }

    .mv .inner {
        padding: 0px 10px 5vw;
    }

    nav .ft_map_txt .tt,
    nav .com_add {
        font-size: 13px;
    }

    nav .nav_com ul li a {
        font-size: 14px;
    }

    .sec01_box1 li.item1 {
        padding: 45px 10px 132px;
    }

    .company_txt p,
    .sec02_menu li a .lg,
    .sec05_note {
        font-size: 13px;
    }

    .sec01:before {
        right: -225px;
        top: 729px;
    }

    .ttl .lg {
        font-size: 26px;
    }

    .ttl .sm,
    .sec11_ja .sm {
        font-size: 16px;
    }

    .sec01_box3_ja .sm,
    .sec02 .ttl .sm {
        font-size: 17px;
    }

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

    .sec01_box5 .sec01_box3_ja .lg,
    .sec02 .ttl .lg,
    .company_name .lg,
    .sec03 .ja .lg,
    .sec04 .ttl .lg,
    .sec05_box1 .ttl .ja .lg,
    .sec11_ja .lg,
    .sec12 .ttl .ja .lg,
    .sec15 .ttl .lg,
    .sec08_ttl .ja .lg,
    .sec16_item .ttl .ja .lg {
        font-size: 24px;
    }

    .sec16_item .ttl .en {
        margin-bottom: 30px;
    }

    .sec04 .ttl:before,
    .sec04 .ttl:after {
        width: calc(50% - 115px);
    }

    .sec04_tel .title {
        font-size: 18px;
    }

    .sec04_tel .tel_num .num {
        font-size: 32px;
    }

    .sec04_tel .tel_num {
        padding-top: 30px;
    }

    .sec04_tel {
        height: 135px;
    }

    .sec05_point {
        left: 0;
    }

    .sec05_point li {
        width: 136px;
        height: 136px;
    }

    .sec05_tt {
        font-size: 20px;
    }

    .sec05_point li,
    .sec06_point li {
        font-size: 15px;
    }

    .sec05_point li.item4,
    .sec05_point li.item3 {
        font-size: 13px;
    }

    .btn_blue1 a,
    .btn_blue2 a,
    .btn.btn_white a,
    .btn_yl a,
    .btn_blue3 a,
    .btn a {
        max-width: 290px;
    }

    .sec06 .sec05_box1>div.item1:before {
        left: 8px;
    }

    .sec05_box1 .ttl .ja .sm,
    .sec09_ttl .sm,
    .sec12 .ttl .ja .sm,
    .sec13 .ja .sm,
    .sec15_tt {
        font-size: 17px;
    }

    .sec07_img {
        width: 175px;
    }

    .sec10:after {
        height: calc(100% - 270px);
    }

    .sec11_item>div .item_sub1 .point {
        width: 120px;
        height: 120px;
        font-size: 14px;
    }

    .sec11_item>div .item_sub1 .point.point2 {
        top: 65px;
    }

    .sec13_list li.sub3 .tt {
        font-size: 11px;
    }

    .sec15_en {
        font-size: 30px;
    }

    .sec16_slider .slick-slide {
        width: 260px;
    }

    .sec17_tab li a {
        letter-spacing: 0em;
    }

    .sec18_item li .tt span {
        padding-right: 15px;
    }

    .ft_map_txt .tt {
        font-size: 13px;
    }

    .ft_map_txt .ft_map_link {
        margin-top: 20px;
    }

    .sp_contact.box_contact p.btn_com a {
        font-size: 10px;
    }
}