.sp440, .sp425, .sp360 {
    display: none
}
@media screen and (min-width: 1921px) {
    .sec05:before {
        width: 100%;
        left: 0;
        background-size: cover;
    }
    .sec05 .ttl_h2 {
        top: 475px;
        max-width: 1270px;
    }
    .mv_bg, .mv_slider_ite {
        height: 1400px;
    }
    .sec10 {
        max-width: 100%;
    }
    .sec10:before {
        left: calc(50% - 960px);
    }
    .sec10:after {
        right: calc(50% - 960px);
    }
    .sec10_img_sm {
        right: calc(50% - 960px);
    }
}
@media screen and (min-width: 751px) {
    .sp {
        display: none !important
    }
    /* NAV */
    .h_box {
        min-width: 1240px;
    }
    .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 img:hover, .find_a:hover, .sroll:hover {
        opacity: .8
    }
    .sec11_tab li a:hover {
        background: #717171;
        color: #fff;
    }
    .sec11_tab li a:hover:after {
        border-right: 4px solid transparent;
        border-left: 4px solid transparent;
        border-top: 5px solid #fff;
        opacity: 1;
    }
    .sec07_list li.item3 {
        padding-left: 5px;
    }
    .sec07_list li.item1 {
        padding-left: 10px;
    }
    .sec08_item > div.item1 .btn a {
        left: -5px;
    }
    .sec08_item > div.item2 .btn a {
        left: -12px;
    }
    .sec09 .ttl_h2 .ja .lg1 {
        font-size: 100%;
        margin-top: -2px;
    }
    .ft_contact.boxcontact > p.contact_tel a {
        padding-right: 19px;
    }
    .ft_info {
        position: relative;
        top: 0px;
    }
    .hamburger:hover, .to_top:hover {
        background-color: var(--scolor);
    }
    .btn.h_over a:hover {
        background: var(--mcolor);
        border-color: var(--mcolor);
        color: #fff;
    }
    .sec09_item > div:hover:before {
        transform: scale(1.1);
    }
    .sec11_load dl dd a:hover, .nav_list li a:hover {
        color: var(--mcolor);
    }
    .mv_slider .slick-dots li:hover {
        background: #b49531;
    }
    .contact_mail a {
        padding-left: 8px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1800px) {
    .h_left {
        width: 670px;
        flex-shrink: 0;
    }
    .h_contact.boxcontact > p a {
        width: 190px;
        font-size: 22px;
    }
    .c_info.h_info {
        max-width: 270px;
    }
    .c_info.h_info li {
        width: 130px;
        font-size: 13px;
        letter-spacing: 0em;
    }
    .h_inner {
        padding: 0px 100px 0px 0px;
    }
    .contact_tel.h_contact_tel a span {
        font-size: 15px;
        margin-right: 4px;
        bottom: -1px;
    }
    .h_hour {
        font-size: 12px;
        letter-spacing: 0em;
        padding-top: 30px;
        margin-right: 10px;
        white-space: nowrap;
    }
    .mv_slider .slick-dots {
        left: 0px;
    }
    .mv_bg, .mv_slider_ite {
        width: calc(100% - 70px);
        height: calc(100vh - 100px);
        min-height: 500px;
    }
    .mv_txt h2 {
        font-size: 40px;
    }
    .mv_txt h2 .bg {
        padding: 11px 11px 8px 11px;
    }
    .sroll {
        left: 250px;
    }
    .mv:before {
        height: 250px;
    }
    .mv_en {
        left: 24px;
        font-size: 18px;
        bottom: 290px;
    }
    .mv_txt {
        top: calc(50% - 60px);
    }
    .sec01 .inner {
        padding-top: 220px;
    }
    .sec01:before {
        width: 100%;
        left: 0;
        background-size: 100%;
        background-color: #3B2E01;
    }
}
@media screen and (min-width: 751px) and (max-width: 1500px) {
    .is_scroll .h_box .h_left {
        transform: translateY(-18px);
        padding-bottom: 0;
    }
    #logo {
        width: 260px;
    }
    .h_left {
        width: 560px;
        padding-top: 10px;
        padding-bottom: 1px;
        padding-left: 30px;
    }
    h1 {
        font-size: 12px;
        margin-bottom: 10px;
    }
    .sec10 {
        padding-top: 830px;
        padding-bottom: 110px;
    }
    .sec10_img_sm {
        width: 480px;
        top: 670px;
    }
    nav .nav_list li a, nav .nav_ttl {
        font-size: 15px;
    }
    nav .nav_list li {
        margin-bottom: 0px;
    }
    nav .inner .nav_list > div {
        margin-bottom: 10px;
    }
    nav .inner {
        max-width: 930px;
    }
    .mv_txt {
        padding-left: 100px;
    }
    .sec12_slide .item {
        width: 500px;
    }
    .sec10:before, .sec10:after {
        background-size: cover;
        width: 1200px;
        height: 620px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1280px) {
    .c_info.h_info {
        max-width: 240px;
    }
    .c_info.h_info li {
        width: 115px;
        font-size: 12px;
    }
    .h_left {
        width: 530px;
    }
    .sroll a {
        padding-left: 8px;
        display: block;
    }
    .h_contact.boxcontact > p a {
        width: 170px;
        font-size: 20px;
    }
    .contact_tel.h_contact_tel a span {
        font-size: 13px;
        margin-right: 3px;
    }
    .sec11 .inner, .sec08 .inner, .sec07 .inner, .sec06 .inner, .sec05 .inner, .sec04 .inner, .sec03 .inner, .sec02 .inner, .sec01 .inner, .sec10 .inner, .ft_link .inner {
        padding-left: 30px;
        padding-right: 30px;
    }
    .ft_txt_con {
        max-width: 1200px;
    }
    .sec08_item > div {
        width: calc(50% - 15px);
    }
    .sec08_item > div:not(:last-child) {
        margin-right: 30px;
    }
    .sec07_txt {
        max-width: 550px;
    }
    .sec07 .inner:before {
        width: 1200px;
    }
    .sec06_pickup {
        width: 1200px;
    }
    .sec03_item > div {
        width: calc(33.333% - 27px);
    }
    .sec03_item > div:not(:nth-child(3n)) {
        margin-right: 40px;
    }
    .sec03 .ttl_h2:before {
        width: 630px;
    }
    .sec07_img {
        width: 602px;
    }
    .sec10_img_sm {
        width: 400px;
        top: 670px;
    }
    .sec10 {
        padding-top: 810px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1200px) {
    nav {
        height: 100%;
    }
    .sec05 .ttl_h2 {
        max-width: 1200px;
        top: 170px;
        position: absolute;
    }
    .sec05:before {
        background-size: cover;
        left: 0;
        top: 0px;
        background-attachment: scroll;
        background-position: center top;
    }
    .sec09 .inner {
        padding-right: 90px;
        padding-left: 30px;
    }
    nav .nav_list li {
        line-height: 1.6;
    }
    .nav_ttl {
        margin-bottom: 10px;
    }
    .sec01:after {
        bottom: -105px;
    }
}
/* screen-min:750px */
@media screen and (max-width: 750px) {
    .inner {
        padding: 0 10px;
    }
    img {
        max-width: 100%;
        height: auto;
    }
    #wrapper, header, main, footer, .inner {
        width: 100% !important;
        min-width: unset !important
    }
    .pc {
        display: none !important
    }
    body.is_nav {
        overflow: hidden;
    }
    body.mac nav {
        padding-bottom: 160px;
    }
    .h_inner {
        padding: 0;
    }
    #logo {
        width: 270px;
        margin-bottom: 14px;
    }
    .c_info li {
        width: calc(50% - 5px);
        height: 30px;
        font-size: 12px;
        color: #b49531;
    }
    .c_info.h_info {
        max-width: 310px;
        background: #fff;
        padding-right: 20px;
        padding-bottom: 10px;
        position: relative;
        left: -10px;
        padding-left: 10px;
    }
    .h_left {
        width: 100%;
        background: none;
        flex-direction: column;
        padding: 9px 10px 10px;
    }
    .is_scroll .h_box .h_left {
        transform: translateY(-25px);
    }
    /* NAV */
    nav {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: calc(100vh - 0px);
        overflow: auto;
        z-index: 100;
        display: none;
        background: #333333;
        padding-bottom: 80px;
        padding-top: 139px;
    }
    nav .inner {
        padding: 0 10px;
        flex-direction: column-reverse;
        height: auto;
    }
    .nav_list > div {
        width: 100%;
        margin-bottom: 31px;
    }
    nav .inner .nav_list > div {
        margin-bottom: 27px;
    }
    .hamburger-box .tt {
        left: -8px;
        top: 25px;
        font-size: 12px;
    }
    .nav_list {
        flex-direction: column
    }
    nav .inner .nav_list {
        width: 100%;
    }
    .nav_list ul, .nav_list li {
        width: 100%
    }
    .nav_list li {
        margin-bottom: 6px;
    }
    .nav_list li a {
        display: block;
        background-position: left top 10px;
    }
    .ft_link {
        padding: 48px 0 15px;
    }
    .ft_link .nav_list li {
        margin-bottom: 6px;
    }
    .nav_ttl.mt1 {
        margin-top: 33px;
    }
    .nav_ttl.mt2 {
        margin-top: 32px;
    }
    .nav_link.mb1 {
        margin-bottom: 33px;
    }
    .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: 60px;
        height: 60px;
        padding-top: 15px;
        display: flex;
        top: 36px;
        transition: all 0.3s;
    }
    .hamburger--3dxy.is_active .hamburger-inner::before {
        transform: translate3d(0, 4px, 0) rotate(45deg);
        width: 22px;
    }
    .hamburger--3dxy.is_active .hamburger-inner::after {
        transform: translate3d(0, -15px, 0) rotate(-46deg);
        width: 22px;
    }
    .hamburger--3dxy.is_active .hamburger-inner {
        margin-top: -9px;
    }
    .hamburger-inner::before {
        top: -10px;
    }
    .hamburger-inner::after {
        bottom: -9px;
    }
    .hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {
        width: 23px;
    }
    .hamburger-box {
        width: 23px;
    }
    .is_scroll .hamburger {
        transform: translateY(-26px);
    }
    .is_scroll.is_nav .hamburger {
        transform: translateY(0px);
    }
    /*=====================================================
                          C U S T O M
    ======================================================*/
    /*============ HEADER ============*/
    h1 {
        font-size: 12px;
        margin-bottom: 8px;
        width: 100%;
        margin-right: 0;
    }
    .h_box {
        height: 60px
    }
    .is_scroll .h_box {
        height: 80px;
    }
    /*============ Main ============*/
    main {
        padding-top: 116px;
    }
    /* MAIN VISUAL */
    .mv {
        padding-bottom: 100px;
    }
    .mv_slider .slick-dots {
        bottom: 9vw;
        left: 0;
    }
    .mv_bg, .mv_slider_ite, .mv_slider_ite .bg {
        height: 159vw;
        width: 100%;
    }
    .mv_txt h2 {
        font-size: 25px;
    }
    .mv_txt h2 .bg {
        padding: 4.1vw 4vw 3.9vw 2.4vw;
        margin-bottom: 1.7vw;
    }
    .mv_txt h2 .bg2 {
        padding: 4.5vw 3.8vw 3.5vw 2vw;
        letter-spacing: 0.02em;
    }
    .mv_txt h2 {
        font-size: 7.8vw;
        line-height: 8vw;
        padding-left: 1.2vw;
    }
    .mv:after {
        height: 200px;
        left: calc(50% - 4001px);
        bottom: -100px;
    }
    .sroll {
        left: 30px;
        bottom: 70px;
    }
    .sroll a {
        display: block;
        padding-left: 7px;
    }
    .mv_txt {
        top: auto;
        bottom: 25.2vw;
    }
    /* sec01 */
    .sec01 {
        padding-bottom: 40px;
    }
    .sec01:before {
        width: 100%;
        background: url(../images/idx_bg01_sp.png)#3B2E01 no-repeat center top/contain;
        left: 0;
    }
    .sec01:after {
        background: url(../images/arrow_lg_sp.png) no-repeat center top/contain;
        width: 100%;
        height: 107px;
        bottom: -107px;
    }
    .sec01 .inner {
        padding-top: 350px;
    }
    .sec01 .ttl_h2 {
        margin-bottom: 48px;
    }
    .sec01_item {
        flex-wrap: wrap;
        max-width: 414px;
        margin: 0 auto 67px;
    }
    .sec01_item > div p .line:before {
        width: 97%;
        left: 3px;
        bottom: 0px;
    }
    .sec01_item > div {
        width: 194px;
        height: 194px;
        margin-bottom: 19px;
    }
    .sec01_item > div p {
        font-size: 23px;
        padding-bottom: 2px;
    }
    .sec01_item > div p .line {
        font-size: 24px;
        padding-bottom: 3px;
    }
    .sec01_item > div:before {
        left: 5px;
        top: 5px;
        bottom: 5px;
        right: 5px;
    }
    .sec01_sty {
        font-size: 30px;
        line-height: 1.7em;
    }
    .sec01_sty .sm {
        font-size: 25px;
    }
    .sec01_sty .point:before {
        width: 9px;
        height: 9px;
    }
    .sec01_sty .line {
        position: relative;
        margin-top: 31px;
        display: inline-block;
        line-height: 1;
    }
    .sec01_sty .line:before {
        bottom: -9px;
        left: 15px;
        width: calc(100% - 33px);
    }
    /* sec02 */
    .sec02 {
        padding-bottom: 75px;
        padding-top: 68vw;
    }
    .sec02:before {
        background: url(../images/idx_img_01_sp.png) no-repeat center top / contain;
        width: 100%;
        height: 630px;
        left: 0;
    }
    .sec02 .ttl_h2 .ja {
        line-height: 1.2;
    }
    .sec02 .ttl_h2 .yl {
        font-size: 35px;
        line-height: 1.39;
    }
    .sec02 .ttl_h2 .yl .lg {
        font-size: 128.5%;
    }
    .sec02_item .item1 {
        margin-right: 0;
    }
    .sec02_item {
        flex-direction: column;
        padding-bottom: 0;
    }
    .sec02 .ttl_h2 {
        margin-bottom: 44px;
    }
    .sec02_map {
        margin-bottom: 11px;
        text-align: center;
    }
    .sec02_ttl {
        font-size: 25px;
        margin-bottom: 30px;
    }
    .sec02_img {
        text-align: center;
    }
    .sec02_item .item2 {
        padding-top: 41px;
    }
    .sec02_txt {
        margin-bottom: 44px;
    }
    .sec03 .ttl_h2 {
        flex-direction: column;
        margin-bottom: 41px;
        align-items: flex-start;
    }
    .sec03 .ttl_h2 .ja {
        margin-right: 0px;
        margin-bottom: 9px;
    }
    .sec03 .ttl_h2 .en {
        background: #fff;
        padding-right: 10px;
    }
    .sec03 .ttl_h2:before {
        width: calc(100% - 10px);
        right: auto;
        top: 70px;
        left: 10px;
    }
    /* sec03 */
    .sec03_item > div {
        width: 100%;
        margin-bottom: 36px;
    }
    .sec03_item > div:not(:nth-child(3n)) {
        margin-right: 0;
    }
    .sec03_img {
        margin-bottom: 21px;
        text-align: center;
    }
    .sec03_item {
        padding: 0 17px;
        margin-bottom: 10px;
    }
    /* sec04 */
    .sec04_item {
        flex-direction: column;
    }
    .sec04_item > div.item1 .wrap {
        margin-left: 0;
    }
    .sec04_item > div .wrap {
        background: #fff;
        width: 100%;
        height: auto;
        padding: 21px 20px 32px;
    }
    .sec04_item > div, .sec04_item > div.item2 {
        align-items: center;
        flex-direction: column;
    }
    .sec04_img img, .sec04_img, .sec04_box {
        width: 100%;
    }
    .sec04_txt {
        margin-bottom: 15px;
    }
    .sec04_round li {
        width: 120px;
        height: 120px;
        font-size: 15px;
        line-height: 1.4;
        flex-shrink: 0;
    }
    .sec04_round li:not(:last-child) {
        margin-right: 15px;
    }
    .item1 .sec04_round {
        bottom: 20px;
        right: 10px;
    }
    .sec04_txt p {
        line-height: 1.875;
    }
    .sec04_item > div.item1 {
        margin-bottom: 60px;
    }
    .sec04_round li:before {
        left: 4px;
        bottom: 4px;
        right: 4px;
        top: 4px;
    }
    .item2 .sec04_round {
        bottom: 24px;
        left: 10px;
    }
    .item2 .sec04_round li:not(:last-child) {
        margin-right: 22px;
    }
    .sec04_item > div.item2 .wrap {
        margin-right: 0;
    }
    .item2 .sec04_txt {
        margin-bottom: 14px;
    }
    /* sec05 */
    .sec05 {
        padding-top: 88px;
        padding-bottom: 102px;
    }
    .sec05 .ttl_h2 .ja {
        margin-bottom: 11px;
    }
    .sec05:before {
        background: url(../images/idx_bg02_sp.png) #000 center top 0px no-repeat;
        width: 100%;
        height: 100%;
        left: 0;
        background-attachment: scroll;
        background-size: contain;
    }
    .sec05 .ttl_h2 {
        position: static;
        margin-bottom: 404px;
        margin-left: 0;
    }
    .sec05_item {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-right: auto;
        width: 100%;
    }
    .sec05 .inner {
        flex-direction: column;
    }
    .sec05_item > div {
        width: 100%;
        height: auto;
        padding: 40px 10px 39px;
    }
    .sec05_item > div:before {
        width: 68px;
        height: 68px;
    }
    .sec05_img {
        text-align: center;
    }
    /* sec06 */
    .sec06 {
        padding-top: 98px;
        padding-bottom: 90px;
    }
    .sec06 .ttl_h2 .ja {
        line-height: 1.5;
    }
    .sec06 .ttl_h2 {
        margin-bottom: 53px;
    }
    .sec06_pickup {
        width: 100%;
        height: auto;
        flex-direction: column;
        margin-bottom: 40px;
        padding: 44px 5px 35px;
    }
    .sec06_pickup p {
        font-size: 24px;
        line-height: 1.5;
    }
    .sec06_pickup p:not(:last-child) {
        margin-bottom: 23px;
    }
    .sec06_con .item1 {
        width: 100%;
        margin-right: 0;
    }
    .sec06_img {
        margin-bottom: 17px;
        text-align: center;
    }
    .sec06_txt p:not(:last-child) {
        margin-bottom: 29px;
    }
    .sec06_name .sm {
        font-size: 19px;
        margin-bottom: 6px;
    }
    .sec06_name .mid {
        font-size: 20px;
    }
    .sec06_name .mid .lg {
        margin: 0 13px 0 11px;
    }
    .sec06_name .mid .en {
        font-size: 15px;
    }
    .sec06_item {
        flex-direction: column;
        margin-bottom: 40px;
    }
    .sec06_item > li {
        width: 100%;
        height: auto;
        padding: 0px 10px;
    }
    .sec06_item > .item2 {
        padding-bottom: 15px;
        padding-top: 35px;
    }
    .sec06_item > li .title:before {
        left: auto;
        width: calc(100% - 20px);
        right: 0;
    }
    .sec06_item > li .title {
        width: 100%;
        margin-bottom: 6px;
    }
    .sec06_item > .item1 .txt1 p {
        margin-bottom: 2px;
    }
    .sec06_item > .item1 {
        margin-bottom: 20px;
        padding-bottom: 9px;
    }
    .sec06_item > .item1 .txt1 p .space {
        width: 85px;
    }
    .sec06_txt {
        margin-bottom: 33px;
    }
    .sec06_name {
        padding-bottom: 55px;
    }
    /* sec07 */
    .sec07 {
        padding-top: 439px;
        padding-bottom: 100px;
    }
    .sec07:after {
        height: 340px;
    }
    .sec07 .inner:before {
        width: calc(100% - 20px);
        top: -38px;
    }
    .sec07_item {
        flex-direction: column-reverse;
    }
    .sec07 .ttl_h2 .ja {
        line-height: 1.49;
        margin-bottom: 9px;
    }
    .sec07 .ttl_h2 .ja .lg {
        font-size: 116.6%;
    }
    .sec07 .ttl_h2 {
        top: 0;
        margin-bottom: 54px;
    }
    .sec07_img {
        margin-bottom: 17px !important;
        text-align: center;
    }
    .sec07_item .item1 {
        margin-top: 0;
    }
    .sec07_txt {
        max-width: inherit;
        margin-bottom: 26px;
    }
    .sec07_list {
        margin-bottom: 19px;
        margin-top: 0;
        flex-wrap: wrap;
    }
    .sec07_list li {
        width: calc(50% - 10px);
        height: 80px;
        font-size: 14px;
        margin-bottom: 20px;
        line-height: 1.42;
    }
    .sec07_list li:not(:nth-child(2n)) {
        margin-right: 20px;
    }
    .sec07_list li:not(:last-child) {
        margin-right: 0;
    }
    .sec07_ttl {
        margin-bottom: 12px;
    }
    .sec07_txt p {
        line-height: 1.875;
    }
    /* sec08 */
    .sec08_item > div {
        width: 100%;
    }
    .sec08_img {
        max-width: 420px;
        margin: 0 auto;
    }
    .sec08_list li {
        width: 186px;
        height: 56px;
        font-size: 14px;
        line-height: 1.28;
        padding-top: 3px;
    }
    .sec08_list li:not(:last-child) {
        margin-right: 14px;
    }
    .sec08_list {
        max-width: 420px;
        margin: -35px auto 17px;
    }
    .sec08_txt {
        margin-bottom: 35px;
    }
    .sec08_txt p {
        line-height: 1.875;
    }
    .sec08 .btn a {
        margin: 0 auto;
    }
    .sec08_item {
        flex-direction: column;
    }
    .sec08_item > div.item1 {
        margin-bottom: 80px;
    }
    /* sec09 */
    .sec09 {
        padding-top: 0;
        padding-bottom: 80px;
    }
    .sec09 .inner {
        padding-right: 10px;
        flex-direction: column;
    }
    .sec09 .ttl_h2 .mt1 {
        margin-top: 83px;
    }
    .sec09 .ttl_h2 {
        text-align: left;
        margin-left: auto;
        top: 4px;
        margin-bottom: 50px;
        padding-right: 10px;
    }
    .sec09 .ttl_h2 .ja {
        line-height: 1.24;
        margin-left: 11px;
        letter-spacing: 0.197em;
    }
    .sec09 .ttl_h2 .en {
        margin-top: 84px;
    }
    .sec09_item {
        max-width: 430px;
        margin: 0 auto;
        width: 100%;
    }
    .sec09_item > div {
        width: 100%;
        height: 210px;
        margin-right: 0;
    }
    .sec09_item > div.item2 {
        margin-bottom: 30px;
    }
    .sec09_item > div:nth-child(n+3) {
        width: calc(50% - 6px);
        height: 156px;
    }
    .sec09_item > div:nth-child(n+3) > a .sm {
        font-size: 15px;
    }
    .sec09_item > div:nth-child(n+3) > a .lg {
        font-size: 25px;
    }
    .sec09_item > div.item3 {
        margin-right: 12px;
    }
    /* sec10 */
    .sec10 {
        padding-top: 725px;
        padding-bottom: 100px;
    }
    .sec10_txt.idx_com p {
        line-height: 1.875;
    }
    .sec10_txt.idx_com p:not(:last-child) {
        margin-bottom: 30px;
    }
    .sec10:before, .sec10:after {
        width: 764px;
        height: 393px;
    }
    .sec10:before {
        background: url(../images/idx_img_24_sp.jpg) no-repeat right top/cover;
        right: 20px;
        left: auto;
    }
    .sec10:after {
        background: url(../images/idx_img_25_sp.jpg) no-repeat right top/cover;
        left: -20px;
        top: 62px;
        right: auto;
        width: calc(100% + 20px);
    }
    .sec10_img_sm {
        width: 337px;
        right: 0;
        top: 420px;
    }
    .sec10 .ttl_h2 .ja {
        margin-bottom: 7px;
    }
    .sec10 .ttl_h2 {
        margin-bottom: 40px;
    }
    .sec10 .btn a {
        margin: 0 auto;
    }
    .sec10 .ttl_h2 .ja .lg {
        font-size: 116%;
    }
    /* sec11 */
    .sec11 {
        padding: 93px 10px 100px;
    }
    .sec11 .ttl_h2 .ja {
        margin-bottom: 6px;
    }
    .sec11 .ttl_h2 {
        margin-bottom: 43px;
    }
    .sec11 .inner {
        max-width: inherit;
        padding: 36px 10px 44px;
    }
    .sec11_load dl {
        padding-bottom: 7px;
        margin-bottom: 30px;
    }
    .sec11_load dl dd a {
        display: block;
        width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .sec11_tab {
        margin-bottom: 40px;
    }
    .sec11_wrap {
        margin: 0 auto 39px;
    }
    .sec11_tab li {
        line-height: 1.4;
        text-align: center;
    }
    /* sec12 */
    /*============ FOOTER ============*/
    footer {
        margin-bottom: 80px;
    }
    .ft_w {
        flex-direction: column;
        margin-bottom: 30px;
    }
    .ft_top {
        padding-top: 100px;
        padding-bottom: 0px;
    }
    .ft_logo {
        width: 318px;
        margin: 0 auto 23px;
    }
    .ft_logo a {
        left: 15px;
    }
    .ft_contact {
        flex-direction: column;
        padding: 40px 10px 42px;
        margin-bottom: 35px;
    }
    .ft_contact.boxcontact > p:not(:last-child) {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .ft_contact.boxcontact > p:not(:last-child), .ft_contact.boxcontact > p:not(:last-child) a {
        width: 100%;
    }
    .sika_bnr {
        position: relative;
        margin-top: -2px;
        width: 100%;
        background: #fff;
        text-align: center;
    }
    .sika_bnr img {
        width: 217px;
    }
    .boxcontact > p a.sika_bnr a {
        width: 100%;
    }
    .ft_contact.boxcontact > p a {
        height: 80px;
        width: 100%;
    }
    .ft_bt .inner {
        flex-direction: column;
    }
    .ft_addr {
        line-height: 1.875;
        margin-bottom: 16px;
    }
    .ft_txt {
        font-size: 11px;
        margin-left: 14px;
    }
    .ft_txt p {
        font-size: 16px;
    }
    .ft_txt_con {
        margin: 0 auto 45px;
        padding: 46px 10px 0;
    }
    .ft_info {
        margin-bottom: 27px;
    }
    .ft_calc {
        margin-bottom: 5px;
    }
    .ft_box_map {
        width: 100%;
    }
    .ft_map {
        height: 197px;
        margin-bottom: 3px;
    }
    .ft_link_gg .txt {
        letter-spacing: 0em;
    }
    .ft_bt {
        margin-bottom: 52px;
    }
    .ft_bnr {
        height: auto;
        padding: 50px 0 42px;
    }
    .ft_bnr .inner {
        flex-wrap: wrap;
        max-width: 440px;
    }
    .ft_bnr .inner p {
        width: calc(50% - 5px);
        margin-bottom: 8px;
    }
    .ft_bnr .inner p:not(:nth-child(2n)) {
        margin-right: 10px;
    }
    .c_info.ft_info {
        margin: 0 auto;
    }
    .ttl_h2 .ja {
        font-size: 30px;
        line-height: 1.75;
    }
    .ttl_h2 .en {
        font-size: 15px;
    }
    address {
        font-size: 14px;
        padding: 13px 0px 12px;
    }
    /* SP CONTACT */
    .sp_contact {
        display: flex;
        justify-content: center;
        align-items: center;
        width: calc(100% - 60px);
        height: 80px;
        position: fixed;
        left: 0;
        z-index: 99;
        bottom: -85px;
        transition: all 0.3s;
    }
    .sp_contact.show {
        bottom: 0;
    }
    .sp_contact p {
        margin-bottom: 0;
        width: 50%;
    }
    .sp_contact.boxcontact > p a {
        height: 80px;
        width: 100%;
    }
    .sp_contact.boxcontact > p.contact_tel a {
        font-size: 20px;
    }
    .sp_contact.boxcontact > p.contact_tel a > span {
        font-size: 13px;
        bottom: -2px;
        margin-right: 6px;
    }
    .sp_contact.boxcontact > p.contact_mail a span {
        font-size: 18px;
    }
    /* TO TOP */
    .to_top {
        width: 60px;
        height: 80px;
        right: 0px;
        border: none;
        bottom: -85px;
        transition: all 0.3s;
    }
    .to_top.show {
        bottom: 0;
    }
    /*============ END 750 ============ */
}
@media screen and (min-width: 640px) and (max-width: 750px) {
    .mv_txt h2 {
        font-size: 5.8vw;
        line-height: 4vw;
    }
    .mv_txt {
        bottom: 18.2vw;
    }
    .sec01 .ttl_h2, .sec02 .ttl_h2, .sec02_map, .sec02_note, .ft_info, .ft_box_map {
        max-width: 410px;
        margin-left: auto;
        margin-right: auto;
    }
    .ft_info, .ft_box_map {
        max-width: 420px;
    }
    .sec02 .ttl_h2, .sec02_map, .sec02_note {
        max-width: 430px;
    }
    .sec05_item > div {
        padding: 30px 30px 29px;
        max-width: 500px;
    }
    .sec09 .ttl_h2 {
        margin-left: calc(50% + 100px);
    }
    .ft_contact.boxcontact > p {
        max-width: 400px;
    }
}
/* screen-max:440px */
@media screen and (max-width: 440px) {
    .sp440 {
        display: block !important;
    }
    .pc440 {
        display: none !important
    }
}
/* screen-max: 425px */
@media screen and (max-width: 425px) {
    .sp425 {
        display: block !important;
    }
    .c_info.h_info {
        max-width: 280px;
        padding-right: 10px;
        padding-bottom: 0px;
    }
    .mv_txt {
        bottom: 32.2vw;
    }
    .sec01_item {
        max-width: 370px;
    }
    .sec01_item > div {
        width: 170px;
        height: 170px;
    }
    .sec01_item > div p {
        font-size: 20px;
        line-height: 1.4;
    }
    .sec01_item > div p .line {
        font-size: 21px;
        padding-bottom: 1px;
    }
    .sec01_item > div:before {
        left: 3px;
        top: 3px;
        bottom: 3px;
        right: 3px;
    }
    .sec01 .inner {
        padding-top: 295px;
    }
    .sec01_sty {
        font-size: 25px;
        line-height: 1.7em;
    }
    .sec01_sty .line:before {
        bottom: -6px;
        height: 2px;
    }
    .sec01_sty .point:before {
        width: 7px;
        height: 7px;
    }
    .sec01_item > div p .line:before {
        height: 1px;
    }
    .sec02 {
        padding-top: 69vw;
    }
    .sec03 .ttl_h2 .ja {
        font-size: 27px;
    }
    .sec03 .ttl_h2:before {
        top: 66px;
    }
    .sec03_item {
        padding: 0 10px;
    }
    .btn a {
        width: 290px;
    }
    .sec04_round li {
        width: 110px;
        height: 110px;
        font-size: 13px;
    }
    .sec04_round li:not(:last-child) {
        margin-right: 10px;
    }
    .item1 .sec04_round {
        bottom: 10px;
    }
    .item2 .sec04_round li:not(:last-child) {
        margin-right: 10px;
    }
    .item2 .sec04_round {
        bottom: 10px;
    }
    .sec05_item > div:before {
        width: 60px;
        height: 60px;
    }
    .ttl_h2 .ja, .sec07_ttl, .sec08_ttl {
        font-size: 26px;
    }
    .sec06_pickup p {
        font-size: 5.2vw;
        line-height: 8vw;
    }
    .sec06_pickup p:not(:last-child) {
        margin-bottom: 7vw;
    }
    .sec06_pickup:before {
        background-size: 40px auto;
    }
    .sec07:before {
        width: 1500px;
        left: calc(50% - 750px);
        background-size: 1500px auto;
    }
    .sec07 {
        padding-top: 350px;
    }
    .sec09_item > div:nth-child(n+3) > a .sm {
        font-size: 13px;
    }
    .sec10:before, .sec10:after {
        width: 650px;
        height: 330px;
    }
    .sec10_img_sm {
        width: 300px;
        top: 360px;
    }
    .sec10 {
        padding-top: 640px;
    }
    .ft_link_gg .txt, .ft_link_gg a {
        font-size: 13px;
    }
    .ft_link_gg .txt {
        padding-top: 6px;
    }
    address {
        font-size: 12px;
        padding: 13px 0px 12px;
    }
    .sp_contact.boxcontact > p.contact_mail a span {
        font-size: 16px;
        padding-left: 23px;
    }
    .sp_contact.boxcontact > p.contact_tel a {
        font-size: 18px;
    }
    .sp_contact.boxcontact > p.contact_tel a > span {
        font-size: 11px;
        margin-right: 3px;
    }
    .ft_txt .txt1, .ft_txt .txt2 {
        margin-right: 10px;
    }
}
/* screen-max: 360px */
@media screen and (max-width: 360px) {
    .sp360 {
        display: block !important;
    }
    #logo {
        width: 240px;
    }
    .c_info.h_info li {
        font-size: 11px;
        width: calc(50% - 2px);
        margin-bottom: 4px;
    }
    .c_info.h_info {
        max-width: 250px;
        padding-bottom: 6px;
    }
    .sroll {
        bottom: 40px;
    }
    .sec01 .inner {
        padding-top: 260px;
    }
    .sec01_item > div {
        width: 142px;
        height: 142px;
    }
    .sec01_item > div p .line {
        font-size: 17px;
        padding-bottom: 0px;
    }
    .sec01_item > div p {
        font-size: 17px;
    }
    .sec01_item > div p .line:before {
        height: 1px;
    }
    .sec01_item > div:before {
        left: 2px;
        top: 2px;
        bottom: 2px;
        right: 2px;
    }
    .sec01_sty {
        font-size: 20px;
    }
    .sec02_ttl {
        margin-bottom: 20px;
    }
    .sec02_note {
        font-size: 13px;
    }
    .sec03 .ttl_h2 .ja {
        font-size: 23px;
    }
    .sec03 .ttl_h2:before {
        top: 58px;
    }
    .sec04 .btn a, .sec05 .btn a, .sec11 .btn a {
        width: 270px;
        font-size: 15px;
    }
    .sec04_ttl {
        font-size: 18px;
    }
    .ttl_h2 .ja, .sec07_ttl, .sec08_ttl {
        font-size: 24px;
    }
    .sec06_item > .item1 .txt1 p, .sec06_item > li .txt {
        font-size: 15px;
    }
    .sec06_item > .item1 .txt1 p .space {
        width: 70px;
    }
    .sec06_item > .item1 {
        margin-bottom: 40px;
    }
    .sec06_name .mid {
        font-size: 18px;
    }
    .sec08_list li:not(:last-child) {
        margin-right: 5px;
    }
    .sec09_item > div.item3 {
        margin-right: 10px;
    }
    .sec09_item > div:nth-child(n+3) {
        width: calc(50% - 5px);
    }
    .sec09_item > div {
        margin-bottom: 10px;
    }
    .sec09_item > div:nth-child(n+3) > a .sm {
        font-size: 11px;
    }
    .sec09_item > div:nth-child(n+3) > a .lg {
        font-size: 23px;
    }
    .sec10:before, .sec10:after {
        width: 600px;
        height: 310px;
    }
    .sec10_img_sm {
        width: 270px;
        top: 340px;
    }
    .sec10 {
        padding-top: 600px;
    }
    .sec11_tab li {
        font-size: 14px;
    }
    .sec11_tab li a {
        letter-spacing: 0em;
    }
    .ft_addr {
        font-size: 14px;
    }
    .ft_link_gg .txt, .ft_link_gg a {
        font-size: 11px;
    }
    .ft_link_gg a {
        background-size: 9px auto;
        padding: 3px 0 3px 13px;
    }
    .ft_link_gg .txt {
        padding-top: 3px;
    }
    .sp_contact.boxcontact > p.contact_tel a {
        font-size: 16px;
    }
    .sp_contact.boxcontact > p.contact_tel a > span {
        font-size: 10px;
        margin-right: 2px;
    }
    .ft_txt {
        letter-spacing: 0em;
    }
    .ft_txt {
        margin-left: 0;
    }
    .sp_contact {
        height: 60px;
        bottom: -65px;
    }
    .sp_contact.boxcontact > p a, .to_top {
        height: 60px;
    }
    footer {
        margin-bottom: 60px;
    }
}