.sp440 {
    display: none
}
@media screen and (min-width: 1921px) {
    .h_inner {
        max-width: 1920px;
    }
    .sec06_ttl {
        left: calc(50% - 960px);
    }
    .sec12_wrap {
        position: relative;
    }
    .sec12-item-l .sec12_ttl .en {
        left: -295px;
        top: -78px;
    }
    .sec12-item-r .sec12_ttl .en {
        right: -340px;
        bottom: -90px;
    }
    .ft_info_l p, .ft_info_l img {
        height: 753px;
    }
    .sec11_ttl .en {
        left: calc(50% - 980px);
    }
}
@media screen and (min-width: 751px) {
    .sp {
        display: none !important
    }
    .grecaptcha-badge {
        bottom: 134px !important;
        z-index: 5;
    }
    /* NAV */
    .h_box {
        min-width: calc(var(--container) + 30px);
    }
    .hamburger {
        display: none;
    }
    nav .inner {
        width: 100%;
        padding: 0px;
    }
    .nav_list {
        display: flex;
        justify-content: space-between;
    }
    .nav_list > li > a, .nav_list > li > .hook {
        display: flex;
        align-items: center;
        position: relative;
        height: 40px;
        background: rgba(255, 255, 255, 0.71);
        backdrop-filter: blur(6px);
        border-radius: 20px;
        color: #414141;
        font-size: 16px;
        font-weight: 700;
        padding: 0 20px;
    }
    .nav_list > li > .hook {
        padding: 0 40px 0 20px;
    }
    .nav_list > li:not(:last-child) {
        margin-right: 10px;
    }
    .nav_list > li.parent {
        position: relative;
    }
    .nav_list > li.parent > .hook {
        cursor: default;
        position: relative;
    }
    .nav_list > li.parent > .hook:before, .nav_list > li.parent > .hook:after {
        background: var(--mcolor);
        width: 2px;
        height: 10px;
        right: 20px;
        top: calc(50% - 5px);
        position: absolute;
        content: "";
        transition: all 0.3s;
    }
    .nav_list > li.parent > .hook:after, .nav_list > li.parent:hover > .hook:before {
        transform: rotate(90deg);
    }
    .nav_list > li.parent:hover > .hook {
        color: var(--mcolor);
    }
    .nav_list > li.parent:hover > .hook:before {
        opacity: 0;
    }
    .sub {
        position: absolute;
        z-index: 1;
        transition: all .3s;
        opacity: 0;
        visibility: hidden;
        width: 428px;
        top: 100%;
        left: calc(50% - 214px);
        border-radius: 20px;
        padding-top: 9px;
    }
    .sub02 .sub {
        width: 362px;
        left: calc(50% - 181px);
    }
    .sub04 .sub {
        width: 286px;
        left: auto;
        right: 0px;
    }
    .sub ul {
        background: var(--mcolor);
        padding: 20px 0;
        border-radius: 20px;
    }
    .sub ul .tt {
        background: #fff;
        width: calc(100% - 40px);
        text-align: center;
        border-radius: 28px;
        margin: 10px auto;
        font-weight: 500;
        position: relative;
    }
    .sub ul li a {
        font-size: 16px;
        font-weight: 500;
        display: table;
        width: auto;
        letter-spacing: .001em;
        padding: 5px 30px;
        color: #fff;
        background: url(../images/arrow_sub.png) no-repeat right center / 26px;
        padding-right: 40px;
        text-align: left;
    }
    /* CUSTOM */
    .find_a, .find_out {
        cursor: pointer;
    }
    /* HOVER */
    .nav_list > li:hover > a {
        color: var(--mcolor);
        text-decoration: none;
    }
    .parent:hover .sub {
        opacity: 1;
        transform: translate(0, 0);
        visibility: visible
    }
    .sub a:hover {
        text-decoration: none;
    }
    .to_top img:hover, .find_a:hover, .sub ul li a:hover {
        opacity: .8
    }
    .btn a:hover {
        background: url("../images/arrow02_blue.png")#fff no-repeat right 24px center /13px;
        color: var(--mcolor);
    }
    .sec02-item-r .sec02_txt {
        margin-bottom: 96px;
    }
    .sec05 .btn a:hover {
        background: url("../images/arrow02_blue.png")#EFEFEF no-repeat right 24px center /13px;
    }
    .sec04_wrap:hover .sec04_arrow {
        background: url(../images/arrow_blue.svg)#fff no-repeat center center / 32px;
    }
    .sec08_bnr:hover {
        background: url("../images/idx_par02_hover.png") repeat left top;
    }
    .sec08_bnr:hover .sec08_bnr_tt02 {
        color: #fff;
    }
    .sec08_bnr:hover .sec08_icon {
        background: url(../images/arrow_blue.svg)#EFEFEF no-repeat center center / 32px;
    }
    .sec08-sub02:hover:after {
        background: url("../images/idx_pp08_over.png") no-repeat center top/151px;
        width: 151px;
    }
    .sec08-sub01:hover:after {
        background: url("../images/idx_pp07_over.png") no-repeat center top/147px;
        width: 147px;
    }
    .sec08-sub03:hover:after {
        background: url("../images/idx_pp09_over.png") no-repeat center top/148px;
        width: 148px;
    }
    .sec08-item li:hover {
        border: 5px #BFBFBF solid;
        background: #fff;
    }
    .sec08-item li:hover .sec08_txt, .sec08-item li:hover .sec08_tt01 {
        color: #414141;
    }
    .sec08-item li:hover .sec08_tt01 span {
        color: var(--mcolor);
    }
    .sec08-item li:hover .sec08_icon01 {
        background: url("../images/arrow_w02.svg")var(--scolor) no-repeat left 25px center/13px;
    }
    .icon_idx a:hover {
        background: var(--mcolor);
    }
    .ft_link ul li a:hover {
        color: var(--mcolor);
    }
    .icon_red a:hover {
        background: url(../images/arrow_blue.svg)#EFEFEF no-repeat center center / 32px;
    }
    .mv_list li:not(:last-child) {
        margin-right: 15px;
    }
    .sec10-item li:not(:nth-child(3n)) {
        margin-right: 15px;
    }
    .ft_bt li:not(:last-child) {
        margin-right: 17px;
    }
    .sec10-item li:hover {
        background: var(--mcolor);
        color: #fff;
        border-radius: 20px;
    }
    .sec12-item-l .sec12_load dl:hover {
        background: url("../images/arrow_blue_sm.svg") no-repeat right 3px center;
    }
    .sec12-item-l .sec12_load dl:hover a {
        color: var(--mcolor)
    }
    .sec12-item-r .sec12_load dl:hover {
        background: url("../images/arrow_red_sm.svg") no-repeat right 3px center;
    }
    .sec12-item-r .sec12_load dl:hover a, .ft_link ul li.big a:hover {
        color: var(--scolor)
    }
    .sec12_btn a:hover, .sec12-item-r .sec12_btn a:hover {
        background: #fff;
        color: var(--txt);
    }
    .ft_bt li.ft_bt_mail a:hover, .h_contact_mail a:hover {
        background: var(--mcolor);
    }
    .sec06-slide .slick-dots button:hover {
        background: var(--scolor);
    }
    .sec06-slide_nav_bt:hover {
        background: url("../images/arrow_blue02.svg") #fff no-repeat right 20px center;
        color: var(--mcolor);
    }
    .idx_load_news dl:hover:before {
        background: url("../images/arrow_w.svg")var(--mcolor) no-repeat center center/8px;
    }
    .sec08_bnr:hover .sec08_bnr_tt01 {
        background: #fff;
        color: var(--mcolor);
    }
    .sec08-item li:hover:before {
        height: 30px;
        width: 27px;
        bottom: -31px;
        right: 60px;
    }
    .sec08-item li:hover > a:before {
        width: 17px;
        height: 21px;
        bottom: -20px;
        right: 65px;
        background-color: #fff;
        clip-path: polygon(100% 0, 0 0, 0 89%);
        transform: rotate(0deg);
    }
    .sec08-item li:hover a:before {
        opacity: 1;
    }
    .sec08-item li:hover:before {
        background: #BFBFBF;
    }
    .sec08-sub03 .sec08_txt {
        letter-spacing: 0.03em;
    }
    .sec08-sub03 .sec08_tt01 {
        margin-bottom: 11px;
    }
    .slide-item02 .sec06_num {
        left: 330px;
    }
    .slide-item01 .sec06_ttl03, .slide-item02 .sec06_ttl03 {
        margin-bottom: 15px;
    }
    .slide-item02 .sec06_ttl03 {
        width: calc(100% + 20px);
    }
    .slide-item02 .sec06_ttl02 {
        margin-bottom: 17px;
    }
    .slide-item04 .sec06_ttl02 {
        margin-bottom: 12px;
    }
    .slide-item04 .sec06_ttl03 {
        line-height: 1.7;
        margin-bottom: 15px;
    }
    .slide-item04 .sec06_txt {
        margin-bottom: 23px;
    }
    .sec06_ttl02.sm {
        line-height: 1.4;
        margin-bottom: 15px;
        position: relative;
        margin-top: -35px;
    }
    .ft_box_info dd p {
        font-size: 18px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1800px) {
    .h_left {
        width: 24%;
        margin-right: 10px;
        min-width: 290px;
    }
    .head_ttl {
        font-size: 12px;
        width: 255px;
    }
    #logo {
        width: 265px;
    }
    .nav_list > li > a, .nav_list > li > .hook {
        font-size: 15px;
        padding: 0 32px 0 14px;
    }
    .sec10_ttl .en {
        font-size: 8.9vw;
        line-height: 10vw;
        left: -5.8vw;
    }
    .sec02_en {
        font-size: 8.8vw;
        line-height: 10vw;
        top: 6vw;
    }
    .mv {
        height: calc(100vh - 17px);
        min-height: 600px;
    }
    .mv_txt h2 img {
        width: 700px;
    }
    .sec05_en {
        bottom: 15px;
        font-size: 9vw;
        left: -97px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1560px) {
    .nav_list > li:not(:last-child) {
        margin-right: 5px;
    }
    .nav_list > li > a, .nav_list > li > .hook {
        font-size: 14px;
    }
    .nav_list > li > a {
        padding: 0 14px;
    }
    .h_right {
        padding-right: 20px;
    }
    .nav_list > li > .hook {
        padding: 0 26px 0 10px;
    }
    .nav_list > li.parent > .hook:before, .nav_list > li.parent > .hook:after {
        right: 13px;
    }
    .sec02-item-r, .sec02-item-l {
        background-size: 700px auto;
    }
    .sec05-item:before {
        width: 260px;
        height: 234px;
        left: -55px;
        background-size: 260px auto;
    }
    .sec09_en {
        font-size: 136px;
    }
    .mv_tt01 {
        font-size: 22px;
        margin-bottom: 20px;
    }
    .top-test .mv_tt01,
    .index-page .mv_tt01{
        font-size: 22px;
    }
    .mv_list li {
        height: 90px;
        font-size: 15px;
        line-height: 1.4;
        box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.16);
        padding-top: 0px;
    }
    .mv_txt {
        padding-top: 160px;
        height: 100%;
        display: flex;
        flex-direction: column;
        padding-bottom: 100px;
        justify-content: center;
    }
    .mv_txt h2 {
        margin-bottom: 20px;
    }
    .box_news {
        width: 705px;
        height: 70px;
        right: 0;
        bottom: 30px;
        padding-left: 30px;
    }
    .box_news .slick-slide {
        padding-bottom: 5px;
    }
    .box_news .slick-slide dd {
        line-height: 1.4
    }
    .box_news .slick-slide dd, .box_news .slick-slide dt {
        font-size: 16px;
    }
    .box_news_ttl {
        margin-right: 20px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1450px) {
    .h_left {
        width: 290px;
        margin-right: 10px;
    }
    #logo {
        width: 260px;
    }
    .nav_list > li > a, .nav_list > li > .hook {
        font-size: 0.96vw;
        white-space: nowrap;
    }
    .sec02-item-r, .sec02-item-l {
        background-size: 500px auto;
    }
    .sec03 .inner:before {
        width: 1270px;
        left: calc(50% - 634px);
        background-size: 200px auto, 200px auto;
        background-position: left -10px bottom, right -20px bottom;
    }
    .sec03.fix_top{
        height: 285px;
    }
    .sec03.fix_top .inner:before{
        background-position: left 5px bottom, right 10px bottom;
    }
    .sec03.fix_top .sec03_ttl .mid{
        font-size: 28px;
    }
    .sec03.fix_top .sec03_ttl .lg{
        font-size: 36px;
    }
    .sec06-item-con {
        padding: 68px 20px 50px 70px;
    }
    .sec06_num {
        left: 335px;
    }
    .sec06-slide .slick-dots {
        left: 157px;
    }
    .sec09_en {
        font-size: 125px;
        right: -20px;
    }
    .sec09_ttl01 .bb {
        width: 170px;
        left: -88px;
    }
    .sec12-item-l .sec12_ttl .en {
        left: 18px;
        top: 40px;
    }
    .sec12_ttl .en {
        font-size: 100px;
    }
    .ft_info_l {
        width: calc(50% - 107px);
        margin-right: 47px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1260px) {
    .sec10_ttl .en {
        font-size: 100px;
        line-height: 1;
    }
    .sec05_en {
        font-size: 117px;
        left: -100px;
    }
    .nav_list > li > a, .nav_list > li > .hook {
        font-size: 12px;
    }
}
/* screen-min:750px */
@media screen and (max-width: 750px) {
    body.is_active {
        overflow: hidden;
    }
    h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
        font-size: 160%;
    }
    img {
        max-width: 100%;
        height: auto;
    }
    #wrapper, header, main, footer, .inner {
        width: 100% !important;
        min-width: unset !important
    }
    .pc {
        display: none !important
    }
    header.is_active .h_box {
        background: rgba(255, 255, 255, 1);
    }
    /* NAV */
    nav {
        display: block;
        position: fixed;
        left: 0;
        width: 100%;
        height: calc(100vh - 70px);
        overflow: auto;
        padding-bottom: 120px;
        z-index: 100;
        display: none;
        background: #fff;
    }
    nav ul {
        background: var(--mcolor);
    }
    nav .inner {
        padding: 0;
    }
    .nav_info {
        display: flex;
        justify-content: center;
        margin-top: 30px;
    }
    .top-test .nav_info , .index-page .nav_info{
        flex-direction: column;
        align-items: center;
    }
    .top-test .nav_info p:not(:last-child),
    .index-page .nav_info p:not(:last-child){
        margin-right: 0;
    }
    .nav_info p:not(:last-child) {
        margin-right: 40px;
    }
    .nav_info .h_contact_mail a, .nav_info .h_contact_line a {
        width: 265px;
    }
    .nav_info .h_contact_mail a span, .nav_info .h_contact_line a span {
        width: 50px;
        height: 50px;
        font-size: 11px;
    }
    .nav_list {
        flex-direction: column
    }
    .nav_list ul, .nav_list li {
        width: 100%;
        text-align: center;
    }
    .nav_list .parent .sub ul li {
        background: #fff;
    }
    .nav_list .parent .sub ul li {
        border-bottom: 1px solid var(--mcolor)
    }
    .nav_list .hook, .nav_list a {
        display: block;
        padding: 15px 8px 14px;
        color: #fff;
        font-size: 16px;
        font-weight: 600;
        border-bottom: solid 1px #fff;
        line-height: 1.5;
    }
    .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(--txt);
        border-bottom: none;
        font-size: 15px;
        background: url("../images/arrow_sub_blue.png") no-repeat right 10px center/18px;
    }
    .hamburger {
        position: absolute;
        right: 8px;
        bottom: 8px;
        font: inherit;
        display: block;
        overflow: visible;
        margin: 0;
        cursor: pointer;
        transition-timing-function: linear;
        transition-duration: .15s;
        transition-property: opacity, filter;
        text-transform: none;
        color: inherit;
        border: 0;
        z-index: 101
    }
    /*=====================================================
                          C U S T O M
    ======================================================*/
    /*============ HEADER ============*/
    .h_left {
        /* width: 240px;
        height: 60px; */
        background: #fff;
        padding-left: 15px;
        border-radius: 0;
        padding-bottom: 0;
    }
    .head_ttl {
        display: none;
    }
    .h_box {
        height: 75px;
        background: #fff;
        z-index: 997;
    }
    /*============ Main ============*/
    main {
        padding-top: 75px;
    }
    /* MAIN VISUAL */
    .mv {
        height: calc(110vw + 204px);
    }
    .mv::before {
        height: calc(110vw - 0px);
    }
    .mv video {
        height: 110vw;
    }
    .mv.fix_top,
    .mv.fix_top .inner{
        height: auto;
    }
    .mv_txt {
        padding-top: 14.6vw;
    }
    .mv_txt h2 {
        width: 85vw;
        display: table;
        margin: 0 auto 4vw;
        padding: 0;
    }
    .top-test .mv_txt h2{
        margin-bottom: 0;
        width: 90vw;
    }
    .top-test .mv_txt h2,
    .top-test .mv_txt h2.h201 span,
    .top-test .mv_tt01{
        font-size: 4.5vw;
    }
    .mv_tt01_sub1{
        margin: 2vw 0 1vw;
        font-size: 5vw;
        padding: 5px 15px;
    }
    .top-test .mv > div.inner{
        padding: 0 8px;
    }
    /*  */
    
    .index-page .mv_txt h2{
        margin-bottom: 0;
        width: 90vw;
    }
    .index-page .mv_txt h2,
    .index-page .mv_txt h2.h201 span,
    .index-page .mv_tt01{
        font-size: 4.5vw;
    }
    .mv_tt01_sub1{
        margin: 2vw 0 1vw;
        font-size: 5vw;
        padding: 5px 15px;
    }
    .index-page .mv > div.inner{
        padding: 0 8px;
    }
    .mv_tt01 {
        font-size: 4vw;
        margin-bottom: 3vw;
        letter-spacing: 0em;
        line-height: 7vw;
        text-shadow: 0.2vw 0.2vw 0.4vw rgba(66, 68, 90, 1);
    }
    .mv_list {
        flex-wrap: wrap;
        margin: 0 auto;
        justify-content: space-between;
        max-width: 76vw;
    }
    .mv_list li {
        width: calc(50% - 1vw);
        height: 16vw;
        font-size: 2.8vw;
        line-height: 4vw;
        border-width: 3px;
        margin-bottom: 2vw;
    }
    .top-test .mv_list li { font-size: 3.2vw;}

    .box_news {
        position: relative;
        width: 100%;
        height: auto;
        border-radius: 0;
        padding-left: 0px;
        flex-direction: column;
        background: #f7f7f7;
        padding: 45px 15px 53px 30px;
        bottom: 4px;
        margin: 0px;
    }
    .box_news:before {
        position: absolute;
        content: "";
        width: 100%;
        height: calc(100% - 70px);
        background: #fff;
        /* left: -15px; */
        right: -15px;
        margin: 0 auto;
        border-radius: 999px 0 0 999px;
        top: 35px;
        z-index: -1;
    }
    .idx_load_news {
        width: 100%;
        /*        max-width: 500px;*/
        margin: 0 auto;
    }
    .idx_load_news dl {
        flex-direction: column;
        padding: 0 15px;
    }
    .box_news_ttl {
        font-size: 24px;
        margin-right: 0;
        line-height: 1em;
        margin-bottom: 9px;
    }
    .idx_load_news dt {
        font-size: 14px;
    }
    .idx_load_news dl:before {
        right: 0;
        width: 40px;
        height: 40px;
        top: calc(50% - 20px);
    }
    .idx_load_news dd {
        padding-right: 45px;
    }
    /* sec01 */
    .sec01 {
        margin-bottom: 50px;
    }
    .sec01 .inner {
        border-width: 2px;
        padding: 30px 15px 40px;
        width: calc(100% - 30px) !important;
    }
    .sec01-item {
        flex-direction: column;
        max-width: 290px;
        margin: 0 auto;
    }
    .sec01-item li:not(:last-child) {
        margin-bottom: 30px;
    }
    .sec01-item .tt {
        font-size: 22px;
        margin-bottom: 5px;
    }
    .sec01_tt {
        font-size: 25px;
        margin-bottom: 15px;
    }
    /* sec02 */
    .sec02 {
        padding-top: 50px;
    }
    .sec02_ttl .point {
        width: 56px;
        height: 56px;
        margin-left: -12px;
        font-size: 28px;
        padding-bottom: 0px;
    }
    .sec02_en {
        font-size: 9vw;
        top: 50px;
    }
    .sec02_ttl .wrap .sm:nth-of-type(1) {
        margin-right: 16px;
    }
    .sec02_ttl .wrap .sm ~ .sm {
        margin-left: 5px;
    }
    .sec02_ttl {
        margin: 0 auto 50px;
        font-size: 24px;
    }
    .sec02_ttl .wrap {
        background-size: 20px auto;
        padding: 0px 18px 0 27px;
    }
    .sec02-item {
        flex-direction: column;
    }
    /* sec03 */
    .sec02-item li {
        width: calc(100% - 15px);
        padding: 40px 15px 70px;
    }
    .sec02-item-r {
        margin-left: auto;
    }
    .sec02_wrap {
        width: 100%;
        max-width: 340px;
        margin: 0 auto;
    }
    .sec02_txt p {
        height: 50px;
        line-height: 50px;
        font-size: 16px;
        padding: 0 20px;
        margin-bottom: 35px;
    }
    .sec02_ttl01 .lg {
        font-size: 32px;
        margin-bottom: 10px;
    }
    .sec02_ttl01 .sm {
        font-size: 24px;
    }
    .sec02_ttl01 {
        margin-bottom: 30px;
    }
    .sec02-item-l, .sec02-item-r {
        background-size: 80% auto;
    }
    .sec02-item-l {
        margin-bottom: 70px;
        background-position: left bottom -1px;
    }
    .sec02_txt {
        margin-bottom: 45px;
    }
    .sec02-item-r .sec02_txt p:nth-child(4) {
        margin-right: 25px;
    }
    .sec02-item-l:before, .sec02-item-r:before {
        right: 0;
        left: 0;
        margin: 0 auto;
    }
    .sec02-item li:before {
        height: 13px;
        top: -30px;
        background-size: 30px auto;
        width: 30px;
    }
    .sec02-item .sec02-item-r::before {
        top: -42px;
    }
    .sec03 {
        height: auto;
    }
    .sec03 .inner {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .sec03 .inner:before {
        left: 0;
        background-size: 130px;
        max-width: 600px;
        margin: 0 auto;
        right: 0;
        width: 100%;
        bottom: -1px;
    }
    .sec03_ttl .mid {
        font-size: 22px;
        text-align: center;
        margin-bottom: 10px;
    }
    .sec03_ttl .lg {
        font-size: 30px;
    }
    .sec03_ttl .lg .bg_blue {
        background: var(--mcolor);
        color: #fff;
        width: 156px;
        height: 38px;
        line-height: 38px;
        text-align: center;
        font-size: 18px;
        margin: 5px 0;
    }
    .sec03_ttl .lg {
        flex-direction: column;
    }
    .sec03_ttl .sm {
        font-size: 18px;
        text-align: center;
    }
    /* sec04 */
    .sec04 {
        padding-top: 50px;
        background: url("../images/idx_ bg02_sp.jpg") no-repeat left 20% top/cover;
    }
    .sec04_ttl .lg {
        flex-direction: column;
        font-size: 38px;
    }
    .sec04_ttl .lg .bg_white {
        width: 164px;
        height: 36px;
        font-size: 18px;
        margin: 5px auto 15px;
    }
    .sec04_wrap {
        width: 100%;
        padding: 25px 15px 400px 15px;
        max-width: 520px;
        margin: 40px auto 30px;
        border-width: 4px;
        background-size: 25px auto;
        border-radius: 15px;
        height: 500px
    }
    .sec04_l_ttl01 {
        font-size: 28px;
    }
    .sec04_l_bb span {
        font-size: 18px;
        height: 34px;
    }
    .sec04_l_bb01 {
        width: 86px;
    }
    .sec04_l_bb02 {
        width: 48px;
    }
    .sec04_l_ttl02 {
        font-size: 23px;
    }
    .sec04_r {
        right: 0;
        bottom: -4px;
        left: 0;
        margin: 0 auto;
        text-align: center;
        width: 190px;
    }
    .sec04-txt {
        margin-bottom: 30px;
    }
    .sec04-txt p {
        letter-spacing: 0em;
    }
    .sec04_img {
        width: 100%;
        margin: 40px auto 0;
        max-width: 400px;
    }
    .sec04_ttl .sm {
        font-size: 18px;
        width: 270px;
        height: 40px;
        margin-bottom: 10px;
    }
    .sec04_l_w {
        display: table;
        margin: 0px auto 10px;
    }
    .sec04_l {
        width: 100%
    }
    .sec04_l_txt {
        text-align: center;
        letter-spacing: 0em;
    }
    .sec04:before {
        border-width: 21px 10px 0 10px;
    }
    .sec04_l_bb span:before, .sec04_l_bb span.sec04_l_bb02:before {
        left: 0;
        right: 0;
        margin: 0 auto;
    }
    .sec04_l_bb {
        margin-bottom: 15px;
    }
    .sec04_arrow {
        top: auto;
        bottom: 170px;
        right: calc(50% - 125px);
    }
    /* sec05 */
    .sec05 {
        padding-bottom: 75px;
    }
    .sec04_l_bb span:not(:last-of-type) {
        margin-right: 5px;
    }
    .sec05-item {
        flex-direction: column-reverse;
    }
    .sec05_sm {
        text-align: center;
    }
    .sec05_ttl {
        font-size: 26px;
        margin-bottom: 25px;
        text-align: center;
    }
    .sec05_sm {
        font-size: 22px;
    }
    .sec05-img {
        width: 100%;
        max-width: 300px;
        margin: 0 auto 20px;
    }
    .sec05-img:before {
        border-width: 4px;
    }
    .sec05_bb {
        width: 90px;
    }
    .sec05-item-l {
        padding-top: 45px;
        margin-right: 0;
    }
    .sec05-item-r .btn a {
        margin-right: auto;
    }
    .sec05-item:before {
        width: 170px;
        height: 158px;
        left: calc(50% - 200px);
        bottom: -76px;
        background-size: 170px auto;
    }
    .sec05_en {
        bottom: 60px;
        font-size: 15vw;
        left: 0;
        line-height: 15vw;
    }
    .sec05_txt {
        margin-bottom: 35px;
    }
    .sec05-item-r {
        padding-top: 10px;
    }
    .sec05_ttl .blue .line:before {
        width: 110%;
        height: 10px;
        left: -4%;
    }
    /* sec06 */
    .sec06-slide_nav {
        width: 100%;
        left: 0;
        top: 130px;
        max-width: 540px;
    }
    .sec06_ttl .en {
        font-size: 50px;
        line-height: 1.5;
    }
    .sec06_ttl .ja {
        font-size: 24px;
        left: 0;
        top: 22px;
        right: 0;
    }
    .sec06_ttl {
        top: 30px;
        left: 0;
        right: 0;
        margin: 0 auto;
        text-align: center;
    }
    .sec06-item-con {
        width: calc(100% - 30px);
        height: 100%;
        padding: 30px 20px 55px;
        min-height: inherit;
        position: relative;
        top: 0px;
        left: 0px;
        border-radius: 15px;
        max-width: 500px;
        margin: 0 auto;
        display: flex;
    }
    .sec06-slide_nav_bt {
        width: calc(50% - 10px);
        height: 70px;
        border-radius: 5px;
        padding-left: 10px;
        font-size: 15px;
        letter-spacing: 0em;
        margin: 0 5px 10px;
        line-height: 1.3;
    }
    .sec06-slide_nav_bt.slick-current, .sec06-slide_nav_bt {
        background-size: 10px auto;
    }
    .sec06-slide_nav .slick-track {
        flex-direction: row;
        flex-wrap: wrap;
        width: 100% !important;
    }
    .sec06-slide-item {
        padding: 360px 0 100px;
    }
    .slide-item01 {
        background: url("../images/idx_bg01_01_sp.jpg") no-repeat left top/cover;
    }
    .slide-item02 {
        background: url("../images/idx_bg01_02_sp.jpg") no-repeat left top/cover;
    }
    .slide-item03 {
        background: url("../images/idx_bg01_03_sp.jpg") no-repeat left top/cover;
    }
    .slide-item04 {
        background: url("../images/idx_bg01_04_sp.jpg") no-repeat left top/cover;
    }
    .sec06-item-w {
        width: 100%;
    }
    .sec06-slide_nav_bt span {
        font-size: 24px;
        width: 38px;
    }
    .sec06-slide_nav .slick-list {
        padding: 0 15px !important;
    }
    .sec06_num {
        font-size: 50px;
        top: -58px;
        left: 0;
        right: 0;
        margin: 0 auto;
        text-align: center;
    }
    .sec06_ttl02 {
        font-size: 24px;
        line-height: 1.4;
        margin-bottom: 15px;
        text-align: center;
        letter-spacing: 0em;
    }
    .sec06_ttl03 {
        text-align: center;
        margin-bottom: 15px;
        line-height: 1.6;
        font-size: 18px;
    }
    .sec06_txt {
        margin-bottom: 20px;
    }
    .sec06-item-w .icon_red a {
        margin: 0 auto;
    }
    .sec06-slide .slick-dots {
        left: 0;
        bottom: 120px;
        right: 0;
        margin: 0 auto;
    }
    .sec06 .icon_red a {
        margin-top: auto;
    }
    .sec07 {
        padding-top: 50px;
        padding-bottom: 0;
    }
    .top-test .sec07 , .index-page .sec07 {
        padding-top: 20px;
    }
    .sec07_ytb {
        max-width: 500px;
        width: calc(100% - 44px);
        margin-bottom: 25px;
    }
    .sec07_ytb:before {
        width: calc(100% + 68px);
        left: -34px;
        top: 0vw;
        right: 0;
        margin: 0 auto;
        background-size: 24px auto;
    }
    .sec07_ytb iframe {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }
    .sec06_img_sp {
        text-align: center;
    }
    .sec06_img_sp img {
        margin: 0 auto;
    }
    /* sec07 */
    .sec07_txt {
        font-size: 18px;
        line-height: 1.5;
    }
    /* sec08 */
    .sec08_bnr:before {
        width: 140px;
        height: 187px;
        left: 10px;
        background-size: 140px auto;
    }
    .sec08_bnr_tt01 {
        margin-bottom: 10px;
        font-size: 18px;
        border-radius: 9999px;
        line-height: 1.4;
        padding: 10px 30px;
        width: auto;
        height: auto;
    }
    .sec08_bnr_tt02 {
        font-size: 32px;
    }
    .sec08_bnr {
        width: 100%;
        height: 150px;
        background-size: 25px auto;
        border-radius: 15px;
        padding-bottom: 0px;
        margin-bottom: 45px;
        border-width: 3px;
    }
    .sec08 {
        padding-top: 50px;
        padding-bottom: 110px;
        background: url("../images/idx_bg03_sp.png") no-repeat center bottom/750px;
    }
    .sec08_bnr > a {
        width: calc(100% + 8px);
        height: calc(100% + 8px);
        left: -4px;
        bottom: -4px;
    }
    .sec08_en {
        font-size: 50px;
        white-space: nowrap;
    }
    .sec08_ttl .ja {
        font-size: 24px;
        top: 13px;
        padding: 0 30px;
        background-size: 20px auto;
        background-position: left top 10px, right top 10px;
    }
    .sec08_ttl {
        margin-bottom: 40px;
    }
    .sec08-item {
        flex-direction: column;
        max-width: 400px;
        margin: 0 auto;
    }
    .sec08-item li {
        width: 100%;
        height: auto;
        border-radius: 20px;
        padding: 20px 20px 80px 20px;
    }
    .sec08-item li:not(:last-child) {
        margin-bottom: 80px;
    }
    .sec08-sub01:after, .sec08-sub02:after {
        background-size: 90px auto;
        width: 90px;
        height: 147px;
        bottom: -77px;
    }
    .sec08-sub03:after {
        background-size: 100px auto;
        width: 100px;
        height: 138px;
        bottom: -70px;
    }
    .sec08_icon01 {
        width: 40px;
        height: 40px;
        top: 205px;
        right: 25px;
        background-size: 10px auto;
        background-position: left 17px center;
    }
    .sec08_tt01 {
        font-size: 22px;
        margin-bottom: 10px;
    }
    .sec08_ttl .ja .point:before {
        top: -3px;
        width: 6px;
        height: 6px;
    }
    .sec09 {
        background: url(../images/idx_bg04_sp.jpg) no-repeat center top / cover;
        height: auto;
        padding-top: 50px;
    }
    .sec09_en {
        font-size: 42px;
        top: 134px;
        left: 0;
        margin: 0 auto;
        text-align: right;
        right: 0;
    }
    .sec09 .inner:before {
        width: calc(100% - 15px);
        height: 100%;
        right: 50px;
        border-radius: 0 15px 0 0;
    }
    .sec09_ttl01 .txt {
        width: 100%;
        height: 61px;
        border-radius: 50px;
        font-size: 18px;
        margin: 0 auto;
        line-height: 1.4;
        text-align: center;
    }
    .sec09_ttl01 {
        position: relative;
        margin-bottom: 30px;
        width: 260px;
        margin: 0 auto 25px;
    }
    .sec09_ttl .lg {
        font-size: 28px;
        text-align: center;
    }
    .sec09_ttl .sm {
        font-size: 24px;
        text-align: center;
    }
    .sec09_ttl01 .bb {
        left: -60px;
        top: -60px;
        width: 100px;
    }
    .sec09 .inner {
        padding: 30px 65px 50px 15px;
    }
    .sec09 .btn a {
        margin: 0 auto;
    }
    .sec09_txt {
        width: 100%;
        padding-right: 50px;
    }
    .sec09 .inner:after {
        width: 106px;
        height: 152px;
        right: 0;
        bottom: 0;
        background-size: 106px auto;
    }
    .sec09_ttl, .sec09_txt {
        margin-bottom: 25px;
    }
    .sec10-item li {
        width: calc(50% - 5px);
        margin-bottom: 10px;
        padding: 10px 10px 15px;
    }
    .sec10-item li:not(:nth-child(2n)) {
        margin-right: 10px;
    }
    .sec10-img {
        border-radius: 5px;
        height: 25vw;
    }
    .sec10-img {
        margin-bottom: 10px;
    }
    .sec10-tt {
        font-size: 16px;
        margin-bottom: 5px;
    }
    .sec10-point {
        line-height: 1.5;
    }
    .sec10 {
        padding-top: 50px;
        background-size: 1000px auto;
        padding-bottom: 50px;
    }
    .sec10_ttl .en {
        font-size: 7.5vw;
        top: 10px;
        left: 0px;
    }
    .sec10_ttl .ja {
        font-size: 24px;
    }
    .sec10_bb {
        width: 120px;
    }
    .sec10_ttl {
        margin-bottom: 40px;
    }
    .sec10-item:before {
        background-size: 120px auto;
        width: 120px;
        left: 0;
        top: -78px;
    }
    .sec11 {
        padding-top: 45px;
        padding-bottom: 20px;
		background: url(../images/company_img_1.jpg) no-repeat center 0;
        background-size: auto 100%;
    }
	.sec11 .box_sec01 {
		border: 3px var(--mcolor) solid;
		padding: 30px 20px 40px;
		margin: 40px auto 20px;
		max-width: 90%;
	}
    .sec11_ttl .en {
        font-size: 50px;
        left: 0;
        top: 27px;
        right: 0;
    }
    .sec11_ttl {
        margin-bottom: 20px;
        text-align: center;
    }
    .sec11_ttl .ja {
        font-size: 24px;
    }
    .sec11_ttl01 {
        font-size: 20px;
        text-align: center;
        margin-bottom: 30px;
    }
    .sec11-img {
        width: 100%;
        max-width: 260px;
        margin: 0 auto 25px;
        right: 0;
    }
    .sec11_img01:before {
        border-width: 5px;
    }
    .sec11_bb {
        width: 90px;
        height: 90px;
        bottom: -5px;
        font-size: 14px;
    }
    .sec11_bb .sm {
        font-size: 12px;
    }
    .sec11_txt, .sec11-item-l, .sec12_wrap {
        width: 100%;
    }
    .sec11-item, .sec12-item, .sec12_load dl {
        flex-direction: column;
    }
    .sec12.maxw95 .sec12-item{
        flex-wrap: wrap;
        flex-direction: unset;
    }
    .sec12 {
        padding-top: 50px;
    }
    .sec12_load dl {
        align-items: flex-start;
        padding: 10px 15px 14px 0;
    }
    .sec12-item li {
        width: calc(100% - 15px);
        padding: 50px 15px;
    }
    .btn_dc{margin-top: 20px}
    .sec12-item-r {
        border-radius: 18px 0 0 18px;
        margin-left: auto;
    }
    .sec12-item-l {
        margin-bottom: 20px;
        border-radius: 0 18px 18px 0;
    }
    .sec12-item-l .sec12_ttl .en, .sec12-item-r .sec12_ttl .en {
        left: 0;
        top: 25px;
        right: 0;
        font-size: 50px;
        text-align: center;
    }
    .sec12-item-r .sec12_ttl .en {
        bottom: auto;
    }
    .sec12_wrap_tt {
        justify-content: center;
        margin-bottom: 10px;
    }
    .sec12_ttl .ja {
        font-size: 24px;
        top: -7px;
    }
    .sec12_load dd {
        line-height: 1.5;
        width: 100%;
    }
    .sec12_btn a {
        margin: 40px auto 0;
        width: 260px;
    }
    .sec13-item {
        flex-wrap: wrap;
        justify-content: space-between;
        max-width: 400px;
        margin: 0 auto;
    }
    .sec13-item li {
        width: calc(50% - 6px);
        margin-bottom: 12px;
    }
    .sec13-item li:not(:last-child) {
        margin-right: 0px;
    }
    .sec13_ttl {
        font-size: 22px;
        flex-direction: column;
    }
    .sec13 {
        padding: 50px 0 0px;
    }
    /*============ FOOTER ============*/
    footer {
        margin-bottom: 60px;
    }
    address {
        padding: 15px 15px 14px;
        font-size: 14px;
    }
    .ft_box_info dt:before, .ft_box_info dt:after {
        width: 96px;
    }
    .ft_map {
        height: 299px;
    }
    .ft_info {
        background-size: 750px auto;
        background-position: center top;
    }
    .ft_info ul {
        flex-direction: column;
        height: auto;
    }
    .ft_info ul li {
        margin-bottom: 20px;
    }
    .ft_info_l, .ft_info_r, .ft_info_r_w {
        width: 100%;
    }
    .ft_info_r_w {
        max-width: 290px;
        margin: 0 auto;
    }
    .ft_box_info dt {
        width: 100%;
    }
    .ft_info_r {
        padding-top: 20px;
    }
    .logo_ft {
        margin-bottom: 20px;
    }
    .logo_ft img {
        width: 260px;
    }
    .ft_box_info dd p {
        letter-spacing: 0em;
        font-size: 14px;
        line-height: 1.5;
    }
    .ft_box_info dd p:first-of-type {
        margin-bottom: 2px;
    }
    .ft_box_info dd p {
        margin-bottom: 7px;
    }
    .ft_box_info dd span {
        width: 94px;
    }
    .ft_box_info01 span {
        margin-right: 10px;
    }
    .ft_tel a {
        font-size: 30px;
        padding: 10px 0 12px 40px;
        letter-spacing: 0.05em;
        background-size: 40px auto;
    }
    .ft_tel {
        margin-bottom: 10px;
    }
    .ft_box_info {
        margin-bottom: 15px;
        padding-left: 0px;
    }
    .ft_bt li.ft_bt_mail a span {
        padding-left: 38px;
        background-size: 28px auto;
        padding-bottom: 3px;
    }
    .ft_bt li.ft_bt_line a span {
        padding: 5px 0 5px 46px;
        background-size: 36px auto;
    }
    .ft_bt li a {
        width: 290px;
        height: 70px;
        font-size: 18px;
    }
    .sec06-item-con .icon_red {
        width: auto;
        margin: auto auto 0;
        right: inherit;
    }
    .arrow_white, .arrow_red a, .icon_red a, .sec06 .icon_red a, .sec08_icon, .sec04_arrow {
        width: 50px;
        height: 50px;
        background-size: 16px auto;
        left: 0;
        right: 0;
        margin: 0 auto;
    }
    .sec08_icon {
        right: 15px;
        top: calc(50% - 26px);
        left: inherit;
    }
    .btn a {
        width: 290px;
        height: 58px;
        font-size: 16px;
        background-size: 10px auto;
    }
    .under main .btn a {
        line-height: 1.4;
    }
    /* SP CONTACT */
    .sp_contact {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        height: 60px;
        position: fixed;
        left: 0;
        z-index: 99;
        bottom: -90px;
        transition: all 0.3s;
        backdrop-filter: blur(20px);
        background: rgba(255, 255, 255, 0.6);
        filter: brightness(1);
        padding: 5px;
    }
    .sp_contact.show {
        bottom: 0;
    }
    .sp_contact li {
        width: calc(50% - 62px);
        height: 100%;
        border-radius: 5px;
    }
    .sp_contact li a {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        font-size: 13px;
        position: relative;
        font-weight: 700;
        line-height: 1.3;
    }
    .sp_contact li a span {
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: #FCE800;
        color: #DE0000;
        font-size: 7px;
        left: -10px;
        position: absolute;
        top: -14px;
        font-weight: 700;
    }
    .sp_contact li.sp_contact_line a span {
        color: #05ac08;
    }
    .sp_contact_tel {
        background-color: var(--mcolor);
    }
    .sp_contact li.sp_contact_tel a {
        color: #fff;
        font-family: var(--f-en);
        font-weight: 700;
        font-size: 15px;
    }
    .sp_contact li.sp_contact_tel {
        width: 100px;
    }
    .sp_contact_mail {
        background-color: var(--scolor)
    }
    .sp_contact_line {
        background-color: #05ac08;
    }
    /* TO TOP */
    .to_top {
        width: 50px;
        height: 50px;
        right: 10px;
        z-index: 8;
        bottom: 45px;
    }
    .grecaptcha-badge {
        bottom: 128px !important;
        z-index: 5;
    }
	#company main #content .box_bg_fixed {
        background: url(../images/un_bg_bnr.jpg) no-repeat center center / cover;
        background-attachment: inherit;
        padding: 100px 0 0;
        margin-top: -86px;
        z-index: 1;
    }
    #company main #topic_path {
        z-index: 5;
    }
	.supervisioninfo {
	  width: 100%;
	}
	.supervisioninfo dl dt{
        width: 30%;
        margin-top: 0;
    }
    .supervisioninfo dl dd{
        width: 65%;
    }
    .supervisioninfo .ttldate .ttl {
      font-size: 20px;
    }
    .supervisioninfo dd .name {
      font-size: 20px;
    }
    .supervisioninfo dd .button {
      width: 240px;
      height: 45px;
    }
    .sec02_txt_sub{
        font-size: 100%;
    }
    .sec04_l_ttl02 {
        line-height: 1.5;
        margin-bottom: 10px;
    }
    .sec03.fix_top .sec03_ttl .mid {
        font-size: 20px;
        margin-bottom: 5px;
    }
    .sec03.fix_top .sec03_ttl .lg{
        font-size: 26px;
    }
    .sec03.fix_top .sec03_ttl_h4{
        font-size: 16px;
    }
    .sec03.fix_top .inner:before{
        left: 0;
        left: -2vw;
    }
    .sec13.fix_top{
        padding-bottom: 40px;
    }
    .sec04 .box04_iframe{
        padding-bottom: 50px;
    }
    .sec04 .sec04_ttl_yt{
        padding-bottom: 30px;
        font-size: 25px;
    }
    .sec04 .box04_flex_iframe .item_yt{
        width: 48.5%;
        margin-bottom: 2%;
    }
    .top-test .sec12-item li ,
    .index-page .sec12-item li{
        width: 100%;
    }
    .sec12.maxw95 .inner .sec12-item-l, 
    .sec12.maxw95 .inner .sec12-item-r{
        padding: 50px 15px;
    }

    /*  */
    .top-test .h_contact_tel_sp a {
        font-size: 30px;
        padding: 0 0 0 40px;
        letter-spacing: 0.05em;
        background-size: 40px auto;

        font-weight: 700;
        font-family: var(--f-en);
        color: var(--mcolor);
        display: table;
        margin: 0 auto;
        background: url(../images/icon_tel.png) no-repeat left center / 42px;
    }
    .top-test .h_contact_tel_sp > .time{
        display: block;
        text-align: center;
        font-size: 14px;
    }

    .top-test .sp_contact  { padding: 5px 15px;}
    .top-test .sp_contact li{
        width: calc(100%/3 - 15px);
    }
    .top-test .sp_contact li.sp_contact_tel2{
        width: calc(100%/3 - 15px);
        background-color: var(--mcolor);
    }
    .top-test .sp_contact li.sp_contact_tel2 a {
        padding: 5px 0 0;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
    .top-test .sp_contact li.sp_contact_tel2 p.tel-txt{
        position: relative;
        font-size: 17px;
        font-weight: 700;
        letter-spacing: 0.05em;
        margin-bottom: 0;

        display: flex;
        justify-content: center;
        align-items: center;
        gap: 5px;
        line-height: 1em;
    }
    .top-test .sp_contact li.sp_contact_tel2 p.tel-txt img{
        width: 20px;
        height:20px;
    }
    .top-test .sp_contact li.sp_contact_tel2 p.tel-note{
        font-size: 10px;
        position: relative;
        top: -5px;
    }
    .top-test .sp_contact li.sp_contact_tel2 a span{ color: var(--mcolor);}

    /*  */
   
   .h_contact_tel_sp a {
        font-size: 30px;
        padding: 0 0 0 40px;
        letter-spacing: 0.05em;
        background-size: 40px auto;

        font-weight: 700;
        font-family: var(--f-en);
        color: var(--mcolor);
        display: table;
        margin: 0 auto;
        background: url(../images/icon_tel.png) no-repeat left center / 42px;
    }
    .h_contact_tel_sp > .time{
        display: block;
        text-align: center;
        font-size: 14px;
    }

    .sp_contact  { padding: 5px 15px;}
    .sp_contact li{
        width: calc(100%/3 - 15px);
    }
    .sp_contact li.sp_contact_tel2{
        width: calc(100%/3 - 15px);
        background-color: var(--mcolor);
    }
    .sp_contact li.sp_contact_tel2 a {
        padding: 5px 0 0;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
    .sp_contact li.sp_contact_tel2 p.tel-txt{
        position: relative;
        font-size: 17px;
        font-weight: 700;
        letter-spacing: 0.05em;
        margin-bottom: 0;

        display: flex;
        justify-content: center;
        align-items: center;
        gap: 5px;
        line-height: 1em;
    }
    .sp_contact li.sp_contact_tel2 p.tel-txt img{
        width: 20px;
        height:20px;
    }
    .sp_contact li.sp_contact_tel2 p.tel-note{
        font-size: 10px;
        position: relative;
        top: -5px;
    }
    .sp_contact li.sp_contact_tel2 a span{ color: var(--mcolor);}

    /*============ END 750 ============ */
}
@media screen and (max-width: 640px) {
	.supervisioninfo dl{
        justify-content: center
    }
    .supervisioninfo dl dt {
        width: 100%;
        max-width: 240px;
		margin-bottom: 15px;
    }
    .supervisioninfo dl dd {
        width: 100%;
        text-align: justify;
    }
    .supervisioninfo dd .name {
        width: 100%;
        text-align: center
    }
    .supervisioninfo dd .button{
        margin: 0 auto 15px;
    }
    .sec06-slide_nav_bt {
        height: 70px;
        font-size: 2.7vw;
        line-height: 3.2vw;
        padding-left: 2vw;
    }
    .sec06-slide_nav_bt.slick-current, .sec06-slide_nav_bt {
        background-size: 1.5vw auto;
        background-position: right 2vw center;
    }
    .sec06-slide_nav_bt span {
        font-size: 4.2vw;
        width: 5.5vw;
    }
    .sec08_bnr:before {
        width: 85px;
        height: 115px;
        background-size: 85px auto;
        left: 5px;
    }
    .sec08_bnr {
        max-width: 450px;
        margin: 0 auto 40px;
    }
    .sec08_bnr .icon_red a {
        width: 40px;
        height: 40px;
    }
    .sec08_icon {
        top: calc(50% - 20px);
    }
    .sec09 .btn a {
        margin: 0 auto;
        width: 220px;
    }
    .sec02-item-l, .sec02-item-r {
        background-size: 90% auto;
    }
    .nav_info {
        flex-direction: column;
        align-items: center;
    }
    .nav_info p:not(:last-child) {
        margin-right: 0px;
    }

    .top-test .sp_contact {
        padding: 5px 8px;
    }
    .top-test .sp_contact li a{
        font-size: 12px;
    }
    .top-test .sp_contact li a span {
        left: -8px;
        top: -17px;
        font-size: 6px;
        width: 27px;
        height: 27px;
    }
    .top-test .sp_contact li.sp_contact_tel2 {
        width: calc(100% / 2 - 22px);
        background-color: var(--mcolor);
    }
    
    .top-test .sp_contact li {
        width: calc(50% / 2 + 6px);
    }
    .top-test .sp_contact li.sp_contact_tel2 p.tel-txt{ width: 100%;}
    /*  */
    
    .sp_contact {
        padding: 5px 8px;
    }
    .sp_contact li a{
        font-size: 12px;
    }
    .sp_contact li a span {
        left: -8px;
        top: -17px;
        font-size: 6px;
        width: 27px;
        height: 27px;
    }
    .sp_contact li.sp_contact_tel2 {
        width: calc(100% / 2 - 22px);
        background-color: var(--mcolor);
    }
    
    .sp_contact li {
        width: calc(50% / 2 + 6px);
    }
    .sp_contact li.sp_contact_tel2 p.tel-txt{ width: 100%;}
}
@media screen and (max-width: 480px) {
    .sec03_ttl .mid {
        font-size: 20px;
        margin-bottom: 5px;
    }
    .sec03_ttl .lg {
        font-size: 26px;
    }
    .sec03_ttl .lg .bg_blue {
        width: 140px;
        height: 34px;
        line-height: 34px;
        font-size: 16px;
    }
    .sec03_ttl .sm {
        font-size: 16px;
    }
    .sec03_ttl .lg {
        margin-bottom: 10px;
    }
    .sec03 .inner:before {
        background-size: 95px auto;
    }
    .sec08_bnr_tt01 {
        font-size: 16px;
        padding: 10px 20px;
    }

    .top-test .sp_contact li.sp_contact_tel2 a {
        padding: 5px 0 0 6px;
        flex-wrap: wrap;
    }
    .top-test .sp_contact li.sp_contact_tel2 p.tel-txt{
        font-size: 12px;
    }
    .top-test .sp_contact li.sp_contact_tel2 p.tel-note{font-size: 8px;}
    .top-test .sp_contact li.sp_contact_tel2 p.tel-txt img {
        width: 15px;
        height:15px;
    } 
    /*  */
    .sp_contact li.sp_contact_tel2 a {
        padding: 5px 0 0 6px;
        flex-wrap: wrap;
    }
    .sp_contact li.sp_contact_tel2 p.tel-txt{
        font-size: 12px;
    }
    .sp_contact li.sp_contact_tel2 p.tel-note{font-size: 8px;}
    .sp_contact li.sp_contact_tel2 p.tel-txt img {
        width: 15px;
        height:15px;
    }
}
@media screen and (min-width: 441px) {
    .box_440 {
        display: none;
    }
}
/* screen-max:440px */
@media screen and (max-width: 440px) {
    .sp440 {
        display: block !important;
    }
    .pc440 {
        display: none !important
    }
    .mv_list {
        max-width: 90vw;
    }
    .mv_list li {
       height: 16vw;
    font-size: 2.6vw;
    line-height: 3.8vw;
    border-width: 3px;
    }
    .sec02_ttl .point {
        width: 50px;
        height: 50px;
        margin-left: -12px;
        font-size: 24px;
    }
    .sec02_ttl {
        font-size: 20px;
    }
    .sec02_ttl .wrap {
        background-size: 15px auto;
        padding: 0px 13px 0 22px;
    }
    .sec02_en {
        top: 55px;
    }
    .sec02_txt p {
        height: 46px;
        line-height: 46px;
        font-size: 14px;
    }
    .sec02_txt p:nth-child(3) {
        margin-left: 35px;
    }
    .sec02-item-r .sec02_txt p:nth-child(3) {
        margin-left: 10px;
    }
    .sec02-item-r .sec02_txt p:nth-child(4) {
        margin-right: 44px;
    }
    .sec04_l_ttl01 {
        font-size: 6.6vw;
        line-height: 9vw;
        letter-spacing: 0em;
        white-space: nowrap;
    }
    .sec04_wrap {
        padding-bottom: 410px;
        height: 490px;
    }
    .sec04_arrow {
        bottom: 150px;
    }
    .sec04_arrow {
        bottom: 170px;
    }
    .sec04_wrap > a {
        width: calc(100% + 8px);
        height: calc(100% + 8px);
        left: -4px;
        top: -4px;
    }
    .sec04_l_ttl02 {
        font-size: 5.1vw;
        line-height: 6vw;
        white-space: nowrap;
    }
    .sec04_l_txt {
        font-size: 14px;
    }
    .sec04_l_bb span {
        font-size: 16px;
        height: 32px;
    }
    .sec04_l_bb01 {
        width: 76px;
    }
    .sec04_l_bb span:before, .sec04_l_bb span.sec04_l_bb02:before {
        left: 0;
        right: 0;
        margin: 0 auto;
    }
    .sec04_l_bb span:not(:last-of-type) {
        margin-right: 4px;
    }
    .sec04_l_bb02 {
        width: 50px;
    }
    .sec04_l_ttl02 span {
        font-size: 70%;
    }
    .sec04 {
        background-position: left -100px top;
    }
    .sec05_ttl {
        font-size: 6.2vw;
        line-height: 10vw;
    }
    .sec05_sm {
        font-size: 20px;
    }
    .sec06-slide_nav_bt {
        font-size: 3.3vw;
        line-height: 4.5vw;
    }
    .sec08_bnr_tt01 {
        font-size: 14px;
    }
    .sec08_bnr_tt02 {
        font-size: 26px;
    }
    .sec08_bnr:before {
        width: 70px;
        height: 93px;
        background-size: 70px auto;
        left: 4px;
    }
    .sec08_icon {
        right: 8px;
    }
    .sec08_bnr {
        height: 120px;
    }
    .sec09_ttl .sm {
        font-size: 20px;
    }
    .sec09_ttl .lg {
        font-size: 24px;
    }
    .sec09_ttl01 .bb {
        left: -23px;
        top: -40px;
        width: 64px;
    }
    .sec09 .inner {
        padding-top: 100px;
    }
    .sec09_ttl01 {
        width: 226px;
    }
    .sec09 .inner {
        padding: 30px 65px 90px 15px;
    }
    .sec09 .btn a {
        margin: 0;
    }
    .sec09_en {
        top: 8vw;
    }
    .sec09_txt {
        padding-right: 0;
    }
    .sec05-item:before {
        left: 0;
    }
    .sp_contact {
        bottom: -75px;
    }
    .sp_contact li.sp_contact_tel {
        width: 80px;
    }
    .sp_contact li {
        /* width: calc(50% - 52px); */
    }
    .sp_contact li a span {
        /* left: -11px;
        top: -20px; */
    }
    .sec08_icon {
        width: 40px;
        height: 40px;
    }
    .sec07_ytb:before {
        left: -30px;
        top: 1vw;
        background-size: 20px auto;
        width: calc(100% + 60px);
    }
	.supervisioninfo .ttldate{
        flex-wrap: wrap;
    }
    .supervisioninfo .ttldate .ttl{
        margin-right: 15px;
    }
}
/* screen-max: 360px */
@media screen and (max-width: 360px) {
    .sec02_ttl .point {
        width: 46px;
        height: 46px;
        font-size: 22px;
    }
    .sec02_ttl {
        font-size: 16px;
    }
    .sec05_ttl {
        font-size: 6vw;
        line-height: 10vw;
    }
    .sec05_sm {
        font-size: 5.7vw;
        line-height: 8vw;
    }
    .sec05_txt p {
        font-size: 14px;
    }
    .sec05-item:before {
        width: 140px;
        height: 130px;
        background-size: 140px auto;
    }
    .sec06_ttl .en {
        font-size: 54px;
    }
    .sec06_ttl02 {
        font-size: 20px;
        margin-bottom: 10px;
    }
    .sec06_ttl03 {
        font-size: 16px;
    }
    .sec06_txt p {
        font-size: 14px;
    }
    .sec04-txt p {
        font-size: 15px;
    }
    .sec07_txt {
        font-size: 16px;
    }
    .sec08_bnr_tt01 {
        font-size: 3.5vw;
    }
    .sec08_bnr_tt02 {
        font-size: 23px;
    }
    .sec08_ttl .ja {
        font-size: 21px;
        padding: 0 24px;
        background-size: 16px auto;
        background-position: left top 10px, right top 10px;
    }
    .sec09 .btn a {
        width: 200px;
    }
    .sec09_ttl .lg {
        font-size: 21px;
    }
    .sec09_txt p {
        font-size: 14px;
    }
    .sec13_ttl {
        font-size: 20px;
    }
    .sec13-item li .tt .sm {
        font-size: 12px;
    }
    .sec08_bnr:before {
        width: 58px;
        height: 79px;
        background-size: 58px auto;
    }
}