.sp440, .sp425, .sp360, .sp390 {
    display: none
}
@media screen and (min-width: 1921px) {
    .mv:before {
        left: 0;
        background-size: cover;
        width: 100%;
        left: 0;
    }
    nav .inner {
        justify-content: center;
        align-items: center;
        max-width: 1000px;
    }
    .box_calendar_con {
        max-width: 1000px;
    }
    .content, footer {
        margin-right: 480px;
    }
    .mv_wrap, .h_inner {
        max-width: 2500px;
    }
    .box_news {
        left: calc(50% - 1175px);
    }
}
@media screen and (min-width: 751px) {
    h1 {
        display: inline-block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .sp {
        display: none !important
    }
    /* NAV */
    .h_box {
        min-width: calc(var(--container) + 30px);
    }
    /* CUSTOM */
    .find_a, .find_out {
        cursor: pointer;
    }
    /* HOVER */
    .sub a:hover {
        text-decoration: none;
    }
    .find_a:hover, .slick-arrow:hover, .sroll a:hover {
        opacity: .8
    }
    .list_faq dt:hover {
        opacity: 0.7;
    }
    .twentytwenty-handle:hover, .box_calendar_con_w .btn_close:hover, .content .slick-dots li button:hover, .c-calendar__prev:not(:disabled):hover, .c-calendar__next:not(:disabled):hover {
        opacity: 0.8;
    }
    .to_top:hover {
        background-color: var(--mcolor);
        color: #fff;
    }
    .to_top:hover span {
        background: url(../images/btn_top_w.svg) no-repeat center top;
    }
    .nav_list li.big a {
        position: relative;
    }
    .nav_list a:hover, .nav_list > div > .big > a:hover {
        text-decoration: underline;
    }
    .h_contact_sika a, .h_contact .h_contact_tel_tt, .h_contact .contact_calendar {
        -webkit-writing-mode: vertical-rl;
        -moz-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        -webkit-text-orientation: mixed;
        -moz-text-orientation: mixed;
        -ms-text-orientation: mixed;
        text-orientation: upright;
    }
    .sec11_slide .slick-dots li button:hover {
        background: var(--sscolor);
    }
    .nav_list > div ul > li > a:hover:before {
        width: calc(100% - 20px);
    }
    .cta_contact_mail a:hover {
        background: var(--mcolor);
    }
    .un_acc dl:not(.active) dt:hover {
        background: #ccc;
        border-color: #ccc;
    }
    .hamburger:hover {
        background: #ccc;
    }
    .un_acc dl.active dt:hover {
        color: var(--mcolor);
    }
    .sec07 .un_acc dl dt:hover {
        color: var(--mcolor);
    }
    .sec05_slide .slick-dots li:hover button {
        background: var(--mcolor);
    }
    .sec07_slide .slick-dots li:hover button, .content .sec07_slide2 .slick-dots li:hover button {
        background: #fff;
    }
    .sec05_tab li a:hover, .sec12_tab li a:hover, .contact_calendar:hover {
        color: #fff;
        background: var(--mcolor);
        border-color: var(--mcolor);
    }
    .sec05_tab li a:hover:before {
        bottom: 5px;
    }
    .btn_b.h_over a:hover {
        background: var(--mcolor);
        color: #fff
    }
    .btn_b.h_over a:hover:before {
        background: #fff;
    }
    .sec12_load dl dd a:hover, .cta_link a:hover {
        text-decoration: none;
    }
    .h_over a:hover, .h_over a:hover {
        background: #fff;
        color: #333;
        border-color: #fff;
    }
    .h_over a:hover:before {
        background: #333;
    }
    .box_news_load dl dd a:hover, .sec05_slide .tt a:hover {
        text-decoration: underline;
    }
    .sec04_menu .item:hover:after {
        transform: scale(3.5);
    }
    .close_ttl {
        display: none;
    }
}
@media screen and (min-width: 751px) and (max-width: 1800px) {
    h1 {
        max-width: 800px;
    }
    nav .inner, .box_calendar_con {
        max-width: 600px;
    }
    .contact_calendar, .h_contact > .h_contact_r a {
        font-size: 14px;
        letter-spacing: 0.05em;
    }
    .h_contact > .h_contact_r a span {
        margin-bottom: 4px;
    }
    .h_contact > *, .hamburger, .to_top, .h_contact {
        width: 70px;
    }
    .to_top, .hamburger {
        height: 70px;
    }
    .hamburger-inner {
        top: 20px;
    }
    .hamburger {
        font-size: 14px;
        padding-top: 0px;
    }
    .h_right {
        top: 70px;
        height: calc(100% - 140px);
    }
    .h_contact > .h_contact_r a span {
        letter-spacing: 0em;
        height: 32px;
    }
    .tel_space {
        left: 75px;
        top: 0px;
    }
    .h_box {
        height: 100%;
        max-height: 720px;
        padding-bottom: 390px;
    }
    .logo {
        width: 200px;
        margin-top: 10px;
    }
    .mv {
        max-height: 900px;
        min-height: 600px;
    }
    .mv_wrap {
        padding: 140px 0 140px 30px;
    }
    h1 {
        font-size: 12px;
        padding: 15px 0 0 0px;
    }
    .h_wrap {
        gap: 20px;
    }
    .box_list {
        gap: 12px;
    }
    .h_inner {
        padding-left: 30px;
    }
    nav .inner:before {
        width: 300px;
        background-size: 300px auto;
    }
    .nav_list {
        padding: 36px 40px 25px;
        margin-bottom: 0;
        justify-content: center;
    }
    .nav_list > div.nav3 {
        margin-bottom: 0;
    }
    .box_news {
        height: 120px;
        padding-top: 5px;
    }
    .mv_tt .lg img {
        width: 200px;
    }
    .mv_tt .sm {
        margin-top: 0;
    }
    .mv_tt .sm img {
        width: 18px;
    }
    .content, footer {
        margin-right: 110px;
    }
    .sec10_img {
        right: 110px;
    }
    .content:before, footer:after {
        width: 520px;
        left: -40px;
    }
    .c-calendar__table td {
        padding: 4px 5px;
    }
    .c-calendar__title {
        font-size: 30px;
        margin-bottom: 0px;
    }
    .c-calendar__legend li {
        font-size: 13px;
        line-height: 1.7;
    }
    .c-calendar__day {
        font-size: 15px;
    }
    .c-calendar__body {
        margin-bottom: 10px;
    }
    .c-calendar__month {
        font-size: 18px;
        margin-bottom: 10px;
    }
    .c-calendar__table th {
        font-size: 16px;
        padding: 4px 10px;
    }
    .box_calendar_con_w {
        padding-bottom: 15px;
        padding-top: 15px;
    }
    .box_calendar_con {
        right: 70px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1560px) {
    .content, footer, .content2 {
        margin-right: 130px;
    }
    .content:before, footer:after, .content2:before {
        width: 500px;
        left: -30px;
    }
    .sec10_img {
        right: 130px;
    }
    .mv:before {
        background-size: 1700px auto;
        left: calc(50% - 905px);
        width: 1700px;
    }
    .h_wrap .box_list {
        transform: scale(0.82);
        margin-left: -60px;
    }
    .mv_tt .lg img {
        width: 160px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1440px) {
    h1 {
        max-width: 670px;
        margin-bottom: 0px;
    }
    .h_wrap .box_list {
        transform: scale(0.7);
        margin-left: -100px;
    }
    .mv:before {
        left: calc(50% - 845px);
        background-size: 1600px auto;
    }
    .nav_list > div > .big {
        margin-bottom: 5px;
    }
    .nav_list > div.nav1 {
        padding-bottom: 10px;
    }
    .nav_list > div {
        margin-bottom: 15px;
    }
    .nav_list > div.nav2 {
        padding-bottom: 15px;
        margin-bottom: 15px;
    }
    .nav_list > div ul > li {
        margin-bottom: 5px;
    }
    nav .inner:before {
        width: 240px;
        background-size: 240px auto;
    }
    .mv_tt .sm img {
        width: 15px;
    }
    .box_news {
        width: 700px;
        height: 100px;
    }
    .box_news_load dl {
        margin-bottom: 2px;
    }
    .box_news_l {
        width: 140px;
    }
    .box_news_load {
        width: calc(100% - 60px);
    }
    .box_news_r {
        padding-left: 20px;
    }
    .box_calendar_con {
        max-width: 540px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1280px) {
    .h_box {
        height: auto;
        max-height: inherit;
        padding-bottom: 0px;
    }
    .h_wrap {
        gap: 10px;
    }
    .h_wrap .box_list {
        transform: scale(0.64);
        margin-left: -120px;
    }
    .h_wrap .box_list .item p {
        font-size: 17px;
    }
    .logo {
        width: 160px;
        margin-top: 12px
    }
    h1 {
        margin-bottom: 0;
        max-width: 600px;
    }
    nav .inner {
        align-items: center;
    }
    .mv:before {
        left: calc(50% - 850px);
        background-size: cover;
    }
    .mv_tt .sm img {
        width: 18px;
    }
    .mv {
        max-height: 900px;
    }
    .box_news {
        width: 635px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1260px) {
    .h_left {
        max-width: 555px;
    }
    .sec10_tt1 {
        white-space: nowrap;
    }
    .mv:before {
        left: calc(50% - 850px);
    }
    .mv {
        max-height: 100%;
        height: 100%;
    }
}
@media screen and (min-width: 751px) and (max-width: 1100px) {
    nav .inner {
        height: auto;
        min-height: 100%;
    }
}
/* 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
    }
    .hamburger {
        position: fixed;
        right: 0;
        top: 0;
        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;
        top: auto;
        left: auto;
        font-size: 14px;
        width: 64px;
        height: 64px;
        border-radius: 0 0 0 10px;
        padding-top: 0px;
    }
    .h_right {
        height: 64px;
        top: auto;
        left: 0;
        bottom: 0;
    }
    nav {
        height: 100vh;
        padding-top: 44px;
        right: 0;
        background: url(../images/bg_menu.jpg) no-repeat center top / cover;
        overflow: auto;
        pointer-events: auto;
    }
    nav .inner:before {
        width: 258px;
        height: 271px;
        background: url(../images/logo_menu_sp.png) no-repeat center top / 258px;
    }
    nav .inner {
        flex-direction: column-reverse;
        padding: 0px 48px 32px;
        background: none;
        height: auto;
        max-width: inherit;
    }
    .nav_list {
        margin-bottom: 0px;
        flex-direction: column;
        padding: 0;
    }
    .nav_wrap {
        flex-direction: column;
        width: 100%;
    }
    .nav_list > div:not(:last-child) {
        margin-right: 0px;
    }
    .nav_list > div.nav2 ul, .nav_list > div.nav1, .nav_list > div.nav3, .nav_list > div.nav2, .nav_list > div ul > li, .nav_list > div ul, .nav_wrap ul:nth-child(1) {
        width: 100%;
    }
    .nav_list > div:not(:last-child) {
        margin-bottom: 24px;
    }
    .nav_list > div.nav1 {
        padding-bottom: 10px;
    }
    .nav_list > div > .big {
        margin-bottom: 10px;
    }
    .nav_list > div ul > li {
        margin-bottom: 7px;
    }
    .nav_list > div.nav2 {
        padding-bottom: 17px;
    }
    .nav_list > div ul > li > a {
        display: block;
        background-position: left top 9px;
    }
    .nav_ttl {
        width: 100%;
        display: block
    }
    .nav_ttl a {
        display: block
    }
    /*=====================================================
                          C U S T O M
    ======================================================*/
    /*============ HEADER ============*/
    .h_inner {
        padding: 10px 10px 0;
    }
    .logo {
        margin-bottom: 0;
        text-align: center;
    }
    .logo img {
        max-width: 322px;
        width: 100%;
    }
    h1 {
        max-width: calc(100% - 65px);
        margin-bottom: 30px;
        width: 100%;
        color: #333;
        padding: 15px 0 0 0;
    }
    .under h1 {
        margin-bottom: 5px;
        color: #fff;
        letter-spacing: 0em;
        padding: 8px 0 0 0;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }
    header.active #logo {
        width: 238px;
        margin-left: 25px;
        margin-top: 0;
    }
    .h_box {
        z-index: 99;
        margin: 0 auto;
        transition: all 0.3s;
        display: flex;
        width: 100%;
        height: auto;
        position: absolute;
    }
    .h_fixed {
        display: flex;
        position: fixed;
        left: 0;
        top: 0;
        right: 0;
        height: 64px;
        background: rgba(245, 245, 245, 0);
        border-radius: 0 0 10px 10px;
        transition: all 0.3s;
        box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0);
        z-index: 101;
    }
    .is_scroll .h_fixed {
        background: rgba(245, 245, 245, 1);
        box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.04);
    }
    .is_nav .h_fixed, .is_nav.is_scroll .h_fixed {
        box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0);
    }
    .logo_sp, .is_nav .logo_sp, .is_nav.is_scroll .logo_sp {
        visibility: hidden;
        opacity: 0;
    }
    .is_scroll.is_nav .h_fixed {
        background: rgba(245, 245, 245, 0);
    }
    .logo_sp {
        padding: 10px 0 5px 25px;
        transition: all 0.3s;
    }
    .is_scroll .logo_sp {
        visibility: visible;
        opacity: 1;
    }
    .is_scroll:not(.is_nav) .hamburger {
        border-radius: 0 0 10px 0;
    }
    h1, #logo {
        transition: all 0.3s;
    }
    .h_left {
        width: 100%;
        padding: 0 10px 0 13px;
        word-break: break-all;
    }
    .h_wrap {
        gap: 0;
        flex-direction: column;
    }
    .under .h_wrap {
        display: none;
    }
    /*============ Main ============*/
    main {}
    .mv:before {
        position: absolute;
        content: "";
        background: url("../images/main_sp.jpg") no-repeat center top/cover;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
    }
    nav .h_wrap .logo a img {
        max-width: 340px;
        width: 100%;
        margin: 0 auto;
    }
    nav .h_list {
        top: 0;
        max-width: 365px;
        flex-wrap: wrap;
        margin: 0 auto 32px;
    }
    nav .box_list li {
        font-size: 14px;
        text-align: left;
        line-height: 1.71;
    }
    nav .box_list li:not(:last-child) {
        margin-right: 0px;
        margin-bottom: 15px;
    }
    nav .box_list li:nth-child(2) {
        margin-left: 18px;
    }
    /* MAIN VISUAL */
    .mv {
        height: 775px;
        position: relative;
        align-items: flex-start;
        z-index: 101;
    }
    .mv_wrap .mv_tt > .lg img {
        width: 186px;
    }
    .mv_tt {
        flex-direction: column;
    }
    .mv_tt .lg {
        margin-right: 0px;
        margin-bottom: 35px;
    }
    .mv_tt .sm {
        margin-top: 0;
    }
    .mv_tt .sm img {
        width: 190px;
    }
    .under .mv {
        display: none;
    }
    .content {
        width: 100%;
        margin-right: 0px;
        margin-top: 0px;
    }
    .under main .content {
        margin-top: 0;
    }
    .mv_wrap {
        justify-content: flex-end;
        padding: 235px 25px 39px 0;
        height: auto;
    }
    .mv_wrap .mv_tt > .sm .xsm {
        right: -6px;
        bottom: -8px;
    }
    .mv_wrap .mv_tt > .sm.let1 .xsm {
        bottom: 7px;
    }
    .content:before {
        top: 0;
        margin-top: 0;
        display: none;
    }
    /* sec01 */
    .sec01_img img, .sec03_img img, .sec07_img img {
        width: 100%;
    }
    .sec_info_t {
        padding-bottom: 40px;
        background: #fff;
        position: relative;
        z-index: 1;
        padding-top: 40px;
    }
    .sec_info_t .box_list .item {
        background: var(--mcolor);
    }
    .sec_info_t .box_list .item p {
        color: #fff;
        font-weight: 400;
    }
    .btn a, .cta_btn a, .box_tel_blue a {
        width: 100%;
        max-width: 344px;
    }
    .sec07_slide2 .sec07_img {
        text-align: center;
        margin: 0 auto 28px;
    }
    .sec07_sub .inner {
        z-index: 1;
    }
    .sec07_slide2 .twentytwenty-container {
        height: 230px !important;
    }
    /* sec08 */
    .box_white_trans {
        height: 265px;
    }
    .sec08_g, .item5 .sec08_g {
        max-height: inherit;
        margin-bottom: 2px;
    }
    /* sec09 */
    .sec09_img img, .sec09_img2 img {
        width: 100%;
    }
    /* sec10 */
    .sec10_img {
        width: 100%;
        right: 0;
        background-size: 100% auto;
        background-repeat: no-repeat;
    }
    .cta_logo img {
        height: auto;
        width: 100%;
        max-width: 366px;
    }
    .sec12_load dl dd a {
        display: block;
        padding-right: 0;
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    
}
footer .sec_cta {
    padding-top: 105px;
}
.cta_logo {
    margin-bottom: 17px;
}
/*============ FOOTER ============*/
/* SP CONTACT */
.h_contact .h_contact_sub.h_menu, nav .h_menu {
    bottom: auto;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    padding-left: 10px;
    padding-top: 8px;
}
nav .h_menu {
    padding-top: 20px;
    top: 0;
}
.hamburger-inner {
    background: url(../images/icon_menu_sp.svg) no-repeat center top 0px / 40px;
    letter-spacing: 0em;
    top: 16px;
    padding-top: 15px;
}
.hamburger.is_active .hamburger-inner {
    background: url(../images/icon_close_sp.svg) no-repeat center top 0/41px;
    padding-top: 17px;
}
/* TO TOP */
footer {
    margin-bottom: 55px;
}
.under main .ft_top .box_add_txt {
    margin-bottom: 0;
}
address {
    padding: 0 10px 70px;
    margin-top: -1px;
}
.ft_bt .inner {
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
}
.to_top {
    width: 48px;
    height: 48px;
    right: 15px;
    bottom: 80px;
    border-radius: 4px;
    padding-top: 5px;
    opacity: 0;
    visibility: hidden;
}
.to_top.show {
    opacity: 1;
    visibility: visible;
}
.to_top span {
    background: url(../images/arrow_totop_sp.svg) no-repeat center top;
    padding-top: 8px;
}
.h_contact {
    width: 100%;
    height: 60px;
    flex-direction: row;
    pointer-events: none;
    box-shadow: 0px -4px 6px 0px rgba(0, 0, 0, 0.04);
    border-radius: 10px 10px 0 0;
    opacity: 0;
    visibility: hidden;
    transition: all .2s;
}
.h_contact.show {
    opacity: 1;
    visibility: visible;
}
.h_contact > * {
    width: calc(33.333vw - 13px);
}
.hamburger span, .hamburger.is_active span {
    padding-left: 30px;
    background-position: left center;
    padding-top: 0;
}
.hamburger.is_active span {
    background-position: left 5px center;
}
.h_contact > * {
    flex: 1;
    pointer-events: initial;
    height: 64px !important;
}
.contact_calendar, .h_contact > .h_contact_r a {
    flex-direction: column;
}
.h_contact_tel a {
    font-size: 14px;
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center
}
.contact_calendar, .h_contact > .h_contact_r a {
    font-size: 15px;
    letter-spacing: 0.05em;
    padding-top: 7px;
    text-align: center;
}
.contact_calendar {
    line-height: 1.3;
}
.h_contact > .h_contact_r a span {
    width: auto;
    height: 20px;
    padding: 1px 5px 0;
    border: none;
    border-top: 1px #fff solid;
    border-bottom: 1px #fff solid;
    margin-bottom: 0px;
    font-size: 14px;
}
.h_contact_sika a {
    border-radius: 10px 0 0 0;
}
.contact_calendar {
    border-radius: 0 10px 0 0;
}
/*============ END 750 ============ */
}
@media screen and (min-width: 641px) and (max-width: 750px) {}
@media screen and (min-width: 441px) and (max-width: 750px) {
    .mv {
        height: 170vw;
    }
    .box_tel_blue a {
        margin: 0 auto;
    }
    .box_add, .sec02 .ttl, .sec08_g {
        max-width: 440px;
        margin-left: auto;
        margin-right: auto;
    }
    .cta_btn a {
        margin-left: auto;
        margin-right: auto;
    }
    .idx_calc_note, .idx_calc, .sec08_img {
        max-width: 392px;
        margin-left: auto;
        margin-right: auto;
    }
    .sec06_frame {
        background: none;
        border: 2px #ddd dashed;
    }
    .content > section.sec07 {
        background-size: cover;
    }
    .sec12_tab li {
        height: 41px;
        flex: 1;
    }
}
/* screen-max:440px */
@media screen and (max-width: 440px) {
    .sp440 {
        display: block !important;
    }
    .pc440 {
        display: none !important
    }
    .sec05_slide .slick-slide {
        width: 380px;
    }
    .sec05_img .twentytwenty-container {
        height: 240px !important;
    }
    .sec07_slide2 .item {
        margin: 0 5px;
    }
    .sec07_slide2 .un_acc dl, .sec07_slide2 .sec07_img {
        width: calc(100% - 10px);
    }
    .sec07_slide2 .twentytwenty-container {
        height: 226px !important;
    }
}
@media screen and (max-width: 426px) {
    .sp425 {
        display: block !important;
    }
}
@media screen and (max-width: 425px) {
    h1 {
        padding: 5px 0 0 0;
        font-size: 13px;
    }
    .h_left {
        padding: 0;
    }
    .sec01_con {
        padding: 63px 15px 56px;
    }
    .sec01_txt p {
        letter-spacing: 0em;
    }
    .link_gg a {
        font-size: 16px;
        letter-spacing: 0em;
    }
    .box_add_txt {
        font-size: 15px;
    }
    .box_cta {
        padding: 17px 15px 40px;
    }
    .cta_btn, .sec04_menu .item .tt {
        letter-spacing: 0em;
    }
    .sec02 {
        padding-bottom: 100px;
    }
    .sec02 {
        padding-bottom: 80px;
    }
    .sec03 .en_lg, .sec09 .en_lg {
        font-size: 80px;
        top: -40px;
    }
    .sec08_txt {
        padding: 0 15px;
    }
    .sec03_txt {
        padding: 0;
    }
    .sec04 .inner {
        padding: 0 15px;
    }
    .sec04_menu .item a {
        padding: 0px 10px 35px;
    }
    .un_acc dl dd {
        margin: 1px 15px 10px
    }
    .sec05_slide .slick-slide {
        width: 320px;
    }
    .un_acc dl.active dt::after, .un_acc dl.active dt::before {
        right: 15px;
    }
    .sec06 .ttl .en {
        font-size: 40px;
    }
    .sec06_frame {
        background: none;
        border: 2px #ddd dashed;
    }
    .sec07_sub.sub1:after {
        width: 130px;
        background-size: 130px auto;
    }
    .sec07_sub.sub2:after {
        width: 75px;
        background-size: 75px auto;
    }
    .sec07 .sub_ttl .ja .lg {
        font-size: 45px;
    }
    .sec07 .sub2 .sub_ttl .ja .lg {
        font-size: 40px;
    }
    .sec07_slide2 .sec07_img, .sec05_img {
        max-width: 320px;
        min-width: inherit;
        min-height: inherit;
        margin-bottom: 20px;
    }
    .sec05_img .twentytwenty-container {
        height: 190px !important;
    }
    .sec07_con .btn a:before {
        right: 25px;
    }
    .sec07_sub_ttl .lg {
        font-size: 120%;
        letter-spacing: 0em;
    }
    .sec08_label {
        padding: 0 24px;
    }
    .sec08_label li {
        font-size: 16px;
    }
    .sec08_g .sub {
        width: calc(50% - 6px);
    }
    .item5 .sec08_g_ttl {
        font-size: 14px;
        height: 56px;
    }
    .sec08_g {
        margin: 0 auto 2px;
    }
    .sec08_g_ttl {
        font-size: 16px;
        width: calc(100% - 10px);
    }
    .sec08_img {
        padding: 0 15px;
    }
    .sec09_ttl {
        font-size: 18px;
        letter-spacing: 0em;
    }
    .box_his_item dl {
        padding-right: 0px;
    }
    .sec09_ver.sec09_ver2 {
        font-size: 20px;
        left: -10px;
        gap: 8px;
        top: 43px;
    }
    .sec09_ver {
        left: 20px;
        top: 35px;
        gap: 10px;
    }
    .sec10_list {
        padding: 0 20px;
    }
    .sec12_tab {
        gap: 5px;
    }
    .ft_bnr {
        padding: 0 24px;
    }
    .list_faq dt {
        padding: 32px 55px 32px 10px;
    }
    .list_faq dt .ic {
        right: 12px;
    }
    address {
        padding: 0 20px 70px;
        letter-spacing: 0em;
        font-size: 14px;
    }
    .twentytwenty-container {
        height: 204px !important;
    }
    .sec07_slide2 .item {
        width: 300px;
    }
    .sec07_slide2 .sec07_img {
        max-width: 300px;
    }
    .sec07_slide2 .twentytwenty-container {
        height: 182px !important;
    }
}
/* screen-max: 360px */
@media screen and (max-width: 390px) {
    .sp390 {
        display: block !important;
    }
    .sec09_img2 {
        padding-left: 35px;
    }
}
@media screen and (max-width: 374px) {
    .sp360 {
        display: block !important;
    }
    h1, .under h1 {
        padding: 0;
        font-size: 12px;
        margin-bottom: 20px;
    }
    nav .inner {
        padding: 0 25px;
    }
    nav .inner:before {
        width: 240px;
        background-size: 240px auto;
        height: 250px;
    }
    .logo img {
        max-width: 220px;
    }
    .mv_wrap {
        padding: 190px 25px 39px 0;
    }
    .mv_wrap .mv_tt > .lg img {
        width: 130px;
    }
    .mv {
        height: 575px;
    }
    .mv_tt .lg {
        text-align: right;
    }
    .box_list .item p {
        letter-spacing: 0em;
    }
    .sec_tel_ttl {
        font-size: 16px;
        letter-spacing: 0em;
    }
    .sec_tel_ttl span {
        font-size: 80%;
        letter-spacing: 0em;
    }
    .box_tel_blue a .num {
        font-size: 125%;
        letter-spacing: 0em;
    }
    .sec01_txt p.txt_sm {
        font-size: 13px;
    }
    .sec02 .ttl .en {
        font-size: 30px;
        margin-right: 10px;
        letter-spacing: 0;
    }
    .box_add_txt {
        font-size: 14px;
        letter-spacing: 0em;
    }
    .link_gg a {
        font-size: 14px;
        letter-spacing: 0em;
        padding-left: 13px;
    }
    .link_gg a:before {
        width: 10px;
        height: 15px;
    }
    .cta_btn a .sm {
        font-size: 11px;
        height: 25px;
        line-height: 24px;
    }
    .cta_btn.btn_sika a .sm {
        width: 40px;
    }
    .cta_btn a .lg {
        font-size: 13px;
        letter-spacing: 0em;
    }
    .cta_btn a .lg .num {
        font-size: 139%;
        letter-spacing: 0em;
    }
    .cta_btn a {
        gap: 3px;
    }
    .idx_calc_note p {
        font-size: 12px;
    }
    .sec03 .en_lg, .sec09 .en_lg {
        font-size: 70px;
        top: -35px;
    }
    .sec03_ttl {
        font-size: 25px;
    }
    .sec03_txt:before, .sec09_txt:before {
        pointer-events: none;
        background-size: 280px auto;
        width: 280px;
    }
    .btn a, .cta_btn a, .box_tel_blue a, .sec08 .btn a {
        max-width: 280px;
    }
    .sec04_menu .item .tt, .sec04_menu .item .txt {
        font-size: 14px;
    }
    .sec04_menu .item .tt .sm {
        font-size: 11px;
    }
    .sec04_menu .item {
        width: calc(50% - 4px);
    }
    .sec04_menu .item:not(:nth-child(2n)) {
        margin-right: 8px;
    }
    .sec04_menu .item.item1 a, .sec04_menu .item.item2 a, .sec04_menu .item a {
        padding-bottom: 25px;
    }
    .sec04_menu .item1 .tt {
        padding-top: 80px;
        margin-bottom: 0px;
        background-position: center top 15px;
    }
    .sec04_menu .item2 .tt {
        padding-top: 80px;
        line-height: 1.5;
        background-position: center top 20px;
        margin-bottom: 10px;
    }
    .sec04_menu .item3 .tt {
        background-position: center top 22px;
        padding-top: 80px;
        margin-bottom: 15px;
    }
    .sec04_menu .item4 .tt {
        background-position: center top 18px;
        padding-top: 80px;
    }
    .sec04_menu .item5 .tt {
        background-position: center top 20px;
        padding-top: 95px;
        margin-bottom: 10px;
    }
    .sec04_menu .item6 .tt {
        background-position: center top 25px;
        margin-bottom: 8px;
        padding-top: 96px;
    }
    .sec04_menu .item7 .tt {
        padding-top: 80px;
        background-position: center top 15px;
        margin-bottom: 10px;
    }
    .sec04_menu .item8 .tt {
        padding-top: 78px;
        margin-bottom: 0px;
        background-position: center top 20px;
    }
    .sec05_tab li {
        width: calc(50% - 3px);
        font-size: 14px;
    }
    .sec05_slide .slick-slide {
        width: 270px
    }
    .sec05_img {
        width: 270px;
    }
    .sec07_slide2 .item {
        width: 240px
    }
    .sec07_slide2 .item .tt {
        font-size: 16px;
        margin-bottom: 15px;
    }
    .sec07_slide2 .sec07_img {
        width: 240px;
    }
    .sec07_slide2 .twentytwenty-container {
        height: 150px !important;
    }
    .sec05_img .twentytwenty-container {
        height: 150px !important;
    }
    .un_acc dl.active {
        border-radius: 20px;
        padding-bottom: 20px;
    }
    .sec06 .ttl .en {
        font-size: 34px;
    }
    .sec07 .ttl .ja .sm {
        font-size: 16px;
    }
    .sec07 .ttl .ja .lg {
        font-size: 150%;
    }
    .sec07 .ttl.sub_ttl .ja .sm {
        font-size: 15px;
    }
    .sec07_slide .item {
        margin: 0 10px;
        width: 200px;
    }
    .sec07_ttl {
        font-size: 16px;
        letter-spacing: 0em;
    }
    .sec07 .sub2 .sub_ttl .ja .lg {
        font-size: 30px;
    }
    .un_acc dl dt::after, .un_acc dl dt::before {
        right: 15px;
    }
    .un_acc th span {
        font-size: 16px;
    }
    .btn a {
        font-size: 14px;
    }
    .sec08 .ttl.sub_ttl .ja .lg {
        font-size: 21px;
    }
    .sec08_label li {
        font-size: 14px;
    }
    .sec08 .ttl.sub_ttl .ja .sm {
        font-size: 18px;
        letter-spacing: 0em;
    }
    .sec08_g_ttl {
        font-size: 13px;
    }
    .sec08_g {
        padding: 0 15px;
    }
    .sec08_img .num, .sec08_num {
        font-size: 110px;
    }
    .sec08_num {
        top: -50px;
    }
    .sec08_item .item {
        margin-bottom: 80px;
    }
    .item5 .sec08_g_ttl {
        font-size: 12px;
    }
    .sec09_con {
        padding-top: 55px;
    }
    .sec09_ver .mid {
        font-size: 22px;
    }
    .sec09_ver .sm .lg {
        font-size: 132%;
    }
    .sec09_ttl {
        font-size: 16px;
    }
    .box_his_item dl dt {
        width: 80px;
    }
    .sec09_ver.sec09_ver2 span {
        letter-spacing: 0.23em;
    }
    .sec10 .ttl .ja .lg {
        font-size: 146%;
        letter-spacing: 0em;
    }
    .idx_list li {
        font-size: 17px;
    }
    .idx_list li:before {
        width: 22px;
        height: 22px;
        left: 0;
        top: 0px;
    }
    .list_faq dl:first-child dt {
        padding: 27px 45px 13px 10px;
    }
 
    .sec12_tab li {
        font-size: 13px;
    }
    address {
        font-size: 12px;
    }
    .ft_txt {
        padding: 24px 25px 40px;
    }
    .contact_calendar, .h_contact > .h_contact_r a {
        font-size: 14px;
        letter-spacing: 0em;
    }
    .h_contact > .h_contact_r a span {
        font-size: 12px;
    }
    .twentytwenty-container {
        height: 180px !important;
    }
}