<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">.sp_640, .sp_440, .sp_360 {
    display: none !important
}
:root {
    /* COLOR TEXT */
    --txt: #2E2E2E;
    /* MAIN COLOR  */
    --mcolor: #1EB9DC;
    --mcolor2: #87CDBE;
    --mcolor3: #FFD200;
    /* SUB COLOR */
    --sub01: #61BBA8;
}
@media screen and (min-width: 751px) {
    .sp {
        display: none !important;
    }
    .hamburger {
        display: none;
        position: fixed;
        z-index: .under main .sec_pickup
    }
    /* nav */
    .main_nav .nav_list &gt; li.parent {
        position: relative;
    }
    .main_nav .nav_list &gt; li.parent::after {
        content: "";
        position: absolute;
        border-top: 10px solid #FFD200;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        bottom: -15px;
        left: calc(50% - 5px);
    }
    .main_nav .nav_list &gt; li.parent:hover::after {
        border-top-color: var(--mcolor);
    }
    .main_nav .nav_list &gt; li.parent &gt; a {
        cursor: default
    }
    .main_nav .sub {
        position: absolute;
        z-index: 1;
        transition: all .3s;
        opacity: 0;
        visibility: hidden;
        border-top: solid 1px #FFF;
        width: 300px;
        top: calc(100% + 20px);
        left: calc(50% - 150px)
    }
    .main_nav .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;
        border-left: none;
        border-right: none;
        color: #2E2E2E;
        justify-content: center;
        text-align: center;
        background: var(--mcolor3);
    }
    .main_nav .sub ul li:last-child a {
        border-bottom: none;
    }
    header {
        max-width: 1920px;
        left: 50%;
        transform: translateX(-50%);
    }
    /* hover */
    a:hover {
        text-decoration: none;
    }
    .nav_list &gt; li &gt; a:hover {
        color: #fff;
    }
    .nav_list li a[data-name]:hover::before {
        opacity: 1;
    }
    .main_nav .parent:hover .sub {
        opacity: 1;
        transform: translate(0, 0);
        visibility: visible
    }
    .main_nav .sub a:hover {
        background-color: var(--mcolor);
        text-decoration: none;
    }
    .mv_news .ttl a:hover {
        color: var(--mcolor2)
    }
    .to_top:hover, .btn a:hover {
        opacity: .8
    }
    .h_contact_mail:hover a {
        background-color: var(--txt);
        text-decoration: none;
    }
    .h_contact_mail:hover a span.icon {
        background: url(../images/mail2.png) no-repeat center /contain;
    }
    .h_contact_mail:hover a span.txt {
        color: #fff;
    }
    .mv_contact:hover a {
        text-decoration: none;
    }
    .mv_contact:hover p.txt {
        transform: rotate(-20deg);
        left: 0px;
    }
    .mv_contact:hover p.img {
        transform: rotate(10deg);
    }
    .mv_news a:hover dl dt, .mv_news a:hover dl dd {
        color: var(--mcolor2);
    }
    .mv_news a:hover .icon {
        border-radius: 50%;
        background-color: var(--sub01);
    }
    .mv_news a:hover .icon::before {
        left: 53.3%;
        background: url(../images/w_arrow-right.svg) no-repeat center /contain;
    }
    #sec01 .sec01_wrap .item:hover {
        border-radius: 25px;
    }
    #sec01 .sec01_wrap .item:hover .btn_link {
        background-color: #E3E3E3;
        color: var(--txt);
    }
    #sec01 .sec01_wrap .item:hover .btn_link .icon2 {
        border-radius: 50%;
        background-color: var(--sub01);
        border: 2px solid var(--sub01);
    }
    .main_btn:hover {
        background-color: #f5f5f5;
        border-color: var(--mcolor);
        letter-spacing: 0.3em;
        color: var(--mcolor);
    }
    .main_btn:hover span.non-hover {
        display: none;
    }
    .main_btn:hover span.hover {
        display: block;
    }
    .main_btn:hover span::before {
        background: url(../images/m1_main_icon_01.svg) no-repeat center /contain;
    }
    .main_btn.btn02:hover {
        background-color: #fff;
        border: none;
        color: var(--sub01);
    }
    .main_btn.btn02:hover span::before {
        background: url(../images/m2_main_icon_03.svg) no-repeat center /contain;
    }
    .main_btn.btn03:hover {
        background-color: #fff;
        border-color: var(--sub01);
        color: var(--sub01);
    }
    .main_btn.btn03:hover span::before {
        background: url(../images/m2_main_icon_03.svg) no-repeat center /contain;
    }
    #sec02 .wrapper_bottom .column:hover .txt {
        background-color: var(--mcolor);
        color: #fff;
    }
    #sec02 .wrapper_bottom .column:hover .txt .icon {
        background-image: url(../images/main_icon_02.svg);
    }
    #sec02 .wrapper_banner:hover {
        border-radius: 37px;
    }
    #sec02 .wrapper_banner:hover .banner_top {
        background-color: rgb(46 46 46 / 63%);
    }
    #sec02 .wrapper_banner:hover .banner_top p.icon {
        border-radius: 50%;
    }
    #sec02 .wrapper_banner:hover::before {
        border-radius: 37px;
    }
    #sec03 .swiper-wrapper .swiper-slide:hover {
        border-radius: 20px;
        overflow: hidden;
    }
    #sec03 .swiper-wrapper .swiper-slide:hover .img {
        opacity: .36;
        border-radius: 20px;
    }
    #sec03 .swiper-wrapper .swiper-slide:hover p, #sec03 .swiper-wrapper .swiper-slide:hover .icon {
        opacity: 1;
    }
    #sec05 .main_btn:hover::before {
        left: 42px;
    }
    .ft_top .box2 .column.column2:hover {
        background-color: var(--txt);
    }
    .ft_top .box2 .column.column1:hover {
        background-color: var(--mcolor);
    }
    .ft_top .box2 .column.column1:hover p, .ft_top .box2 .column.column1:hover p a {
        color: #fff
    }
    .ft_top .box2 .column.column1 p a {
        pointer-events: none;
    }
    .ft_top .box2 .column.column2:hover p.des {
        color: #fff;
    }
    .ft_top .box4 li:hover a {
        border-radius: 17px;
    }
    .ft_top .box4 li.btn1:hover a {
        background-color: var(--mcolor);
        border-color: var(--mcolor);
    }
    .ft_top .box4 li.btn2:hover a {
        background-color: var(--sub01);
        border-color: var(--sub01);
    }
    .ft_top .box4 li:hover .icon {
        border-radius: 50%;
    }
    .ft_top .box4 li.btn1:hover .icon::before {
        background: url(../images/m1_main_icon_01.svg) no-repeat center /contain;
    }
    .ft_top .box4 li.btn2:hover .icon::before {
        background: url(../images/m2_main_icon_03.svg) no-repeat center /contain;
    }
    .ft_link .list_btn li a:hover {
        color: #fff;
        background-color: var(--txt);
        letter-spacing: 0.3em;
    }
    .ft_link .list_btn li a:hover span::before {
        background-image: url(../images/main_icon_05.svg);
    }
    .ft_link .item ul li a:hover {
        letter-spacing: 0.3em;
    }
    .ft_link .flex_center a:hover {
        background-color: var(--txt);
        color: #fff;
    }
    .ft_link .flex_center a:hover span::before {
        background-image: url(../images/w_mail2.svg);
    }
    /*  FOOTER */
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
    .h_box {
        max-width: 100%;
        padding-left: 25px;
    }
    header .logo {
        left: 25px;
        width: 200px;
    }
    .nav_list {
        margin-right: 15px;
    }
    .nav_list &gt; li &gt; a, .nav_list li [data-name]::before, .main_nav .sub ul li a {
        font-size: 14px;
    }
    .main_nav .sub {
        width: 200px;
    }
    .nav_list li [data-name]::before {
        letter-spacing: .15em;
    }
    .nav_list &gt; li &gt; a {
        padding: 0 12px;
    }
    .h_contact_tel {
        padding: 15px 20px 0 0;
    }
    .h_contact_tel .tel {
        font-size: 24px;
    }
    .h_contact_tel span.time {
        font-size: 12px;
    }
    .h_contact_mail a {
        width: 200px;
        height: 80px;
    }
    .h_line {
        width: 80px;
        height: 80px;
    }
    .main_nav {
        padding: 30px 0 0 0;
    }
    .h_contact_mail a span.icon {
        width: 48px;
        height: 48px;
    }
    .h_line a {
        width: 46px;
    }
    header.active {
        top: 15px;
        width: calc(100% - 30px);
    }
    .mv .abs {
        left: 30px;
        font-size: 14px;
    }
    .mv_txt {
        left: 150px;
        bottom: 140px;
    }
    .mv_flex .item {
        width: 160px;
        height: 160px;
    }
    .mv_txt h2 {
        font-size: 42px;
        margin-bottom: 30px;
    }
    .mv_txt h2 span.big {
        font-size: 130%;
    }
    .mv_txt h2 span.small {
        font-size: 93%;
    }
    .mv_txt h2 span.en {
        font-size: 120%;
    }
    .mv_flex .item span.txt {
        font-size: 15px;
    }
    .mv_contact {
        bottom: 150px;
    }
    .mv_contact p.img {
        width: 200px;
    }
    .mv_contact p.txt {
        left: 10px;
        width: 200px;
        height: 60px;
        font-size: 14px;
    }
    .mv_news {
        width: 45.05%;
        height: 80px;
        padding: 0 30px;
    }
    .mv_news .ttl {
        margin-right: 40px;
    }
    .mv_news .ttl::after {
        right: -20px;
    }
    .mv_news dl {
        margin-right: 20px;
    }
    #sec01::before {
        width: 750px;
        height: 508px;
    }
    #sec01 .ttl::before {
        top: -18px;
        right: -75px;
        width: 80px;
        height: 74px;
    }
    #sec02::before {
        top: -95px;
        width: 476px;
        height: 375px;
    }
    #sec02 .sec02_wrapper .block_img {
        border: 10px solid #fff;
        width: 52.34%;
        height: 410px;
    }
    #sec02 .sec02_wrapper.wrap1 .block_img {
        top: -40px;
        left: -10px;
    }
    #sec02 .sec02_wrapper.wrap2 .block_img {
        top: -40px;
        right: -10px;
    }
    #sec02 .sec02_wrapper.wrap2 .block_img .img {
        width: 50%;
    }
    #sec02 .sec02_wrapper.wrap2 .block_img::before {
        top: calc(50% - 10px);
        height: 10px;
    }
    #sec02 .sec02_wrapper.wrap2 .block_img::after {
        left: calc(50% - 10px);
        width: 10px;
    }
    #sec02 .sec02_wrapper .des {
        width: 59.17%;
        height: auto;
        padding-bottom: 30px;
    }
    #sec02 .sec02_wrapper .des .is_des {
        margin: 10px 0 0 200px;
    }
    #sec02 .sec02_wrapper .is_des .ttl_child span.en {
        margin-bottom: 10px;
        font-size: 15px;
    }
    #sec02 .sec02_wrapper .is_des .ttl_child {
        margin-bottom: 20px;
        font-size: 32px;
    }
    #sec02 .sec02_wrapper .is_des p.txt {
        margin-bottom: 30px;
    }
    #sec02 .sec02_wrapper .des p.num {
        left: 65%;
        font-size: 100px;
    }
    #sec02 .sec02_wrapper.wrap2 .des .is_des {
        margin: 20px 0 0 100px;
    }
    #sec02 .sec02_wrapper.wrap2 .des p.num {
        left: 58.5%;
    }
    #sec04::before {
        top: -100px;
        left: -160px;
        width: 830px;
        height: 467px;
    }
    #sec04 .wrapper .column {
        width: 32%;
        margin-bottom: 35px;
    }
    #sec04 .inner {
        margin-bottom: 70px;
    }
}
@media screen and (max-width: 1280px){
    #sec01 h3.ttl-sec01-01::after {
        top: -115px;
        right: -129px;
        width: 200px;
        height: 130px;
    }
}
/* screen-min:750px */
@media screen and (max-width: 750px) {
	.mv_bg .swiper-wrapper {
		    justify-content: center;
	}
	
    main {
        margin-top: 0 !important;
    }
    /* root */
    img {
        max-width: 100%;
        width: auto;
        height: auto;
    }
    #wrapper {
        padding-top: 50px;
    }
    #wrapper, header, main, footer, .inner {
        width: 100% !important;
        min-width: unset !important
    }
    header {
        max-width: 100%;
        position: fixed
    }
    .pc {
        display: none !important
    }
    .inner {
        padding: 0 15px
    }
    /* nav */
    .main_nav {
        padding: 90px 15px 0;
        margin-bottom: 30px;
    }
    .main_nav .nav_list {
        flex-direction: column;
        margin-right: 0;
    }
    .main_nav .nav_list ul, .main_nav .nav_list li {
        width: 100%
    }
    .main_nav .parent .sub ul li {
        background: var(--mcolor3);
        padding: 0;
    }
    .main_nav .parent .sub ul li a {
        display: block;
        padding: 15px 30px;
    }
    .main_nav .parent .sub ul li:not(:last-child) {
        border-bottom: 1px solid #fff;
    }
    .main_nav ul.nav_list &gt; li:last-child a {
        border-bottom: 1px solid #fff;
    }
    .nav_list li [data-name]::before {
        display: none;
    }
    .nav_list &gt; li &gt; a {
        border-top: 1px solid #fff;
        color: #fff;
        width: 100%;
        padding: 15px;
        text-decoration: none;
        border-right: 0;
    }
    .nav_list li:nth-child(2) a {
        border-left: none
    }
    .nav_list &gt; li.parent &gt; a::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 15px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 9px 9px 0 9px;
        border-color: var(--mcolor3) transparent transparent transparent;
        transition: all ease.5s;
    }
    .nav_list &gt; li.parent.active &gt; a::after {
        transform: rotate(-180deg);
    }
    .nav_list li:first-child a {
        border-left: none;
    }
    .nav_list li:last-child a {}
    /* .main_nav a {
        display: block;
        padding: 13px 15px 12px;
        color: #fff;
        font-size: 16px;
        font-weight: 600;
        border-bottom: solid 1px #fff
    }

    .main_nav a:not([href]) {
        position: relative;
        padding-left: 15px
    }

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

    .main_nav a:not([href])::after {
        transform: rotate(-90deg);
    }

    .main_nav a.open:not([href])::after {
        transform: rotate(0);
    } */
    .main_nav .sub {
        display: none
    }
    .main_nav .sub ul:not(:last-child) {
        margin-bottom: 15px
    }
    .main_nav .sub a {
        color: #2E2E2E;
        border-bottom: none;
    }
    .hamburger {
        position: fixed;
        right: 1%;
        top: -10px;
        z-index: 99;
        font: inherit;
        overflow: visible;
        margin: 0;
        cursor: pointer;
        transition-timing-function: linear;
        transition-duration: .5s;
        transition-property: opacity, filter;
        text-transform: none;
        color: inherit;
        border: 0;
    }
    /*=====================================================
                          C U S T O M
    ======================================================*/
    /*============ Header ============*/
    header {
        max-width: 100vw;
        height: 50px;
        padding-left: 0;
    }
    header .logo {
        /* display: none; */
        position: absolute;
        top: 20px;
        left: 15px;
        width: 125px;
    }
    .h_right {
        display: block;
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100vh;
        overflow-y: scroll;
        padding-bottom: 80px;
        z-index: 98;
        background: var(--mcolor);
        transition: all ease .5s;
    }
    .h_right.active {
        right: 0;
    }
    header.active .h_right {
        padding-bottom: 120px;
    }
    .h_box {
        padding-left: 15px;
        max-width: 100%;
    }
    .h_contact .is_contact {
        flex-wrap: wrap;
        padding: 0 15px;
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
    }
    .h_contact_tel, .h_contact_mail, .h_line {
        width: 100%;
        height: 90px;
        border-radius: 10px;
        margin-bottom: 20px;
        overflow: hidden;
    }
    .h_contact_tel {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        flex-direction: column;
        background-color: #fff;
        padding: 10px 0 0 50px;
    }
    .h_contact_tel a {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }
    .h_contact_tel::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 25px;
        transform: translateY(-50%);
        width: 50px;
        height: 50px;
        background: url(../images/tel_01.svg) no-repeat center /contain;
    }
    .h_contact_tel .tel {
        font-size: 24px;
        color: var(--txt);
    }
    .h_contact_tel span.time {
        font-size: 12px;
    }
    .h_contact_tel br {
        display: none;
    }
    .h_contact_tel span.time {
        display: inline-block;
        margin-top: 3px;
    }
    .h_contact_mail a {
        justify-content: flex-start;
        width: 100%;
        height: 100%;
        border-radius: 10px;
        padding-left: 25px;
    }
    .h_contact_mail a span.icon {
        width: 51px;
        height: 51px;
        background-image: url(../images/mail3.svg);
    }
    .h_line a {
        justify-content: flex-start;
        padding-left: 25px;
        text-decoration: none;
    }
    .h_line a img {
        width: 50px;
        margin-right: 30px;
    }
    .h_contact_mail a span.txt {
        font-size: 16px;
    }
    .h_line a span {
        font-size: 16px;
        color: #fff;
        font-weight: 700;
        line-height: 1.5em;
    }
    .h_line {
        margin-bottom: 30px !important;
    }
    header.active {
        top: 0;
        border-radius: 0;
        left: 0;
        transform: translateX(0);
    }
    header.active .logo {
        width: 250px;
        top: 10px;
    }
    header.active .hamburger {
        top: -10px;
    }
    /*============ Main ============*/
    .main_btn {
        width: 100%;
        max-width: 290px;
        height: 55px;
        font-size: 15px;
        padding-left: 20px;
        margin: 0 auto;
    }
    .main_btn span::before {
        top: calc(50% - 10px);
        width: 15px;
        height: 19px;
    }
    /* main visual */
    .mv::after {
        height: calc(100% - 200px);
    }
    .mv_bg, .mv_slide {
        height: 445px;
    }
    .mv_bg, .mv_bg::before {
        border-radius: 20px 0 0 20px;
        overflow: hidden;
    }
    .mv_slide .swiper-slide {
        border-radius: 20px 0 0 20px;
        overflow: hidden;
        margin-right: 0;
    }
    .mv_bg img {
        height: 100%;
        object-fit: cover;
    }
    .mv_txt {
        bottom: auto;
        top: 50px;
        left: 54.5%;
        transform: translateX(-50%);
    }
    .mv_txt h2 {
        font-size: 26px;
        margin-bottom: 25px;
    }
    .mv_txt h2 span.big {
        font-size: 130%;
        line-height: 1.3em;
    }
    .mv_txt h2 span.small {
        font-size: 93%;
        line-height: 1.3em;
    }
    .mv_txt h2 span.en {
        display: inline-block;
        margin: 10px 0;
        font-size: 180%;
        line-height: 1.3em;
    }
    .mv_flex .item {
        position: relative;
        width: 140px;
        height: 140px;
        margin-right: 10px;
    }
    .mv_flex .item::before {
        zoom: 25%;
    }
    .mv_flex .item span.txt {
        font-size: 14px;
    }
    .mv_flex .item &gt; br {
        display: none;
    }
    .mv_flex .item span.num {
        left: 0;
        font-size: 18px;
        display: inline-block;
        margin-bottom: 10px;
    }
    .mv_flex .item span.num::before {
        top: 12px;
        right: 0;
        height: 20px;
    }
    .mv_flex .item:nth-child(1) span.num {
        top: 0;
    }
    .mv_news {
        position: relative;
        bottom: auto;
        right: auto;
        margin: 40px 0 0 auto;
        max-width: 100%;
        width: 95%;
        padding: 20px 10px 20px 30px;
    }
    .mv_contact {
        position: relative;
        bottom: auto;
        right: auto;
        padding: 60px 0 40px;
    }
    .mv_contact .img {
        width: 50vw;
        max-width: 220px;
        margin: 0 auto;
    }
    .mv_contact p.txt {
        font-size: 14px;
        width: 190px;
        height: 65px;
        left: 52%;
        transform: translateX(-50%);
    }
    .mv_news a .icon {
        border-radius: 50%;
    }
    .mv_news a .icon::before {
        left: 53.3%;
    }
    .mv .abs {
        font-size: 10px;
        left: 2vw;
        top: 10%;
        transform: translateY(-10%);
    }
    /* sec01 */
    #sec01 {
        padding: 0 0 150px;
        overflow: initial;
    }
    #sec01::before, #sec01 .sec01_wrapper.wrapper1::before {
        display: none;
    }
    #sec01 .ttl {
        font-size: 28px;
        width: max-content;
        margin: 0 auto 30px;
    }
    #sec01 .ttl::before {
        top: -20px;
        left: -74px;
        width: 15vw;
        height: 14vw;
        max-width: 74px;
        max-height: 67px;
    }
    /*  */
    #sec01 h3.ttl-sec01-02::before,
    #sec01 h3.ttl-sec01-02::after{
        z-index: 99;
        top: -80px;
        width: 20vw;
        height: 150px;
    }
    #sec01 h3.ttl-sec01-02::before {
        left: -8vw;
    }
    #sec01 h3.ttl-sec01-02::after{
        right: -10vw;
    }
    /*  */
    #sec01 .ttl span.big {
        font-size: 115%;
    }
    #sec01 .ttl span.small {
        font-size: 50%;
    }
    #sec01 .sec01_wrapper.wrapper1, #sec01 .sec01_wrapper {
        padding-left: 0;
        flex-wrap: wrap;
    }
    #sec01 .sec01_column {
        width: 100%;
        position: relative;
        right: -15px;
        margin-bottom: 20px;
        margin-right: 0;
    }
    #sec01 .sec01_column:not(:last-child) {
        margin-right: 0;
    }
    #sec01 .sec01_column .item {
        height: auto;
        border-radius: 30px 0 0 30px;
        padding: 15px 0;
    }
    #sec01 .sec01_column .item p {
        font-size: 16px;
    }
    #sec01 .sec01_column .item p br {
        display: none;
    }
    #sec01 .sec01_list {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        margin-top: 20px;
        position: relative;
    }
    #sec01 .sec01_list .img {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 49%;
    }
    #sec01 .sec01_list .img:first-child {
        position: absolute;
        top: -15px;
        left: -25vw;
        width: 70vw;
        height: 47vw;
    }
    #sec01 .sec01_block {
        position: relative;
        margin-top: 40px;
        max-width: 560px;
        margin-left: auto;
        margin-right: auto;
        padding: 50px 0 60px;
    }
    #sec01 .sec01_block::before, #sec01 .sec01_block::after {
        content: '';
        position: absolute;
        z-index: 3;
        pointer-events: none;
    }
    #sec01 .sec01_block::before {
        bottom: -120px;
        left: 0;
        width: 45vw;
        height: 44vw;
        max-width: 162px;
        max-height: 159px;
        background: url(../images/sec01_img_06.png) no-repeat center /contain;
    }
    #sec01 .sec01_block::after {
        bottom: -100px;
        right: 0;
        width: 50vw;
        height: 40vw;
        max-width: 180px;
        max-height: 144px;
        background: url(../images/sec01_img_07.png) no-repeat center /contain;
    }
    #sec01 h4::before, #sec01 h4::after {
        display: none;
    }
    #sec01 .sec01_content {
        top: -20px;
        width: 80%;
        height: 40px;
        font-size: 16px;
    }
    #sec01 h4 span.ttl_02 {
        font-size: 32px;
        padding-left: 0;
    }
    #sec01 h4 span.small {
        font-size: 13px;
    }
    #sec01 .sec01_wrap {
        flex-wrap: wrap;
        flex-direction: column;
        align-items: center;
    }
    #sec01 .sec01_wrap .item:not(:last-child) {
        margin-right: 0;
        margin-bottom: 30px;
    }
    #sec01 .sec01_wrap .item .img img {
        width: auto;
    }
    #sec01 .sec01_wrap .item .btn_link {
        font-size: 16px;
        height: 50px;
    }
    /* sec02 */
    #sec02 {
        padding: 60px 0 0;
    }
    #sec02::before {
        display: none;
    }
    #sec02 .sec02_top {
        flex-direction: column;
        margin-bottom: 30px;
    }
    #sec02 .ttl {
        font-size: 28px;
        text-align: center;
        width: max-content;
        margin: 0 auto 30px;
    }
    #sec02 .ttl::before {
        top: -35px;
        left: -40px;
        width: 80px;
        height: 47px;
    }
    #sec02 .ttl span.en {
        font-size: 120%;
    }
    #sec02 .ttl span.lt50 {
        font-size: 100%;
    }
    #sec02 .content {
        padding: 0;
    }
    #sec02 .content p.ttl-child {
        font-size: 20px;
        text-align: center;
    }
    #sec02 .content p {
        font-size: 14px;
    }
    #sec02 .sec02_wrapper.wrap1, #sec02 .sec02_wrapper.wrap2 {
        flex-wrap: wrap;
        justify-content: initial;
        margin-bottom: 40px;
    }
    #sec02 .sec02_wrapper .block_img {
        position: relative;
        width: 95%;
        height: auto;
        border: 5px solid #fff;
    }
    #sec02 .sec02_wrapper.wrap1 .block_img {
        top: auto;
        left: -5px;
        border-radius: 0 30px 30px 0;
    }
    #sec02 .sec02_wrapper.wrap2 .block_img {
        top: auto;
        right: -5px;
        border-radius: 30px 0 0 30px;
    }
    #sec02 .sec02_wrapper .des {
        width: 95%;
        height: auto;
        margin-left: auto;
        border-radius: 0;
        margin-top: -50px;
    }
    #sec02 .sec02_wrapper .des .is_des {
        width: 100%;
        padding: 60px 15px 40px;
        margin: 0;
    }
    #sec02 .sec02_wrapper.wrap1 .des .is_des {
        padding: 60px 6% 40px 15px;
    }
    #sec02 .sec02_wrapper.wrap2 .des .is_des {
        padding: 60px 15px 40px 7%;
    }
    #sec02 .sec02_wrapper .des p.num {
        top: 50px;
        left: auto;
        right: 0;
        font-size: 60px;
    }
    #sec02 .sec02_wrapper .is_des .ttl_child span.en {
        font-size: 14px;
        margin-bottom: 10px;
    }
    #sec02 .sec02_wrapper .is_des .ttl_child {
        font-size: 30px;
        margin-bottom: 20px;
    }
    #sec02 .sec02_wrapper .is_des p.bl {
        font-size: 18px;
    }
    #sec02 .sec02_wrapper .is_des p.txt {
        font-size: 14px;
        margin-bottom: 30px;
        letter-spacing: -0.03em;
    }
    #sec02 .sec02_wrapper.wrap2 .img {
        width: 50%;
    }
    #sec02 .sec02_wrapper.wrap2 .block_img {
        margin-left: auto;
    }
    #sec02 .sec02_wrapper.wrap2 .block_img::before {
        top: calc(50% - 5px);
        height: 5px;
    }
    #sec02 .sec02_wrapper.wrap2 .block_img::after {
        left: calc(50% - 5px);
        width: 5px;
    }
    #sec02 .sec02_wrapper.wrap2 .des {
        margin-right: auto;
        margin-left: initial;
        border-radius: 0;
    }
    #sec02 .sec02_wrapper.wrap2 .des p.num {
        left: auto;
        right: 30px;
        transform: translateX(0);
    }
    #sec02 .sec02_wrapper.wrap2 .des .is_des {
        margin: 0;
    }
    #sec02 .wrapper_bottom {
        width: 100%;
        max-width: 340px;
        margin: 0 auto 60px;
    }
    #sec02 .wrapper_bottom .column {
        width: 100%;
    }
    #sec02 .wrapper_bottom .column:not(:last-child) {
        margin-bottom: 50px;
    }
    #sec02 .wrapper_bottom .column .txt {
        font-size: 18px;
        height: 65px;
    }
    #sec02 .wrapper_bottom .column .txt .icon {
        width: 15px;
        height: 19px;
        padding-left: 50px;
    }
    #sec02 .sec02_bottom {
        width: 100%;
        max-width: 560px;
    }
    #sec02 .sec02_bottom::before {
        width: 25vw;
        height: 18vw;
        max-width: 120px;
        max-height: 85px;
        top: -30px;
        left: -15px;
    }
    #sec02 .sec02_bottom::after {
        display: none;
    }
    #sec02 .wrapper_banner .banner_top {
        height: auto;
        padding: 30px 30px 0;
    }
    #sec02 .wrapper_banner .banner_top .sp {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        bottom: -2px;
    }
    #sec02 .wrapper_banner .banner_top .img {
        width: 50%;
        margin-bottom: 0;
        margin-top: 20px;
    }
    #sec02 .banner_top h4 {
        font-size: 24px;
        text-align: center;
    }
    #sec02 .banner_top p {
        font-size: 14px;
        margin-bottom: 20px;
        text-align: center;
    }
    #sec02 .wrapper_banner .banner_top p.icon {
        position: relative;
        top: auto;
        right: auto;
        margin-left: 30px;
        width: 45px;
        height: 45px;
    }
    #sec02 .banner_top p.icon::before {
        width: 15px;
        height: 19px;
    }
    #sec02 .banner_center, .ft_top .banner_center {
        padding-left: 0;
        font-size: 16px;
        height: 45px;
    }
    #sec02 .wrapper_banner .banner_bottom, .ft_top .wrapper_banner .banner_bottom {
        height: auto;
        padding: 15px 0 40px;
    }
    #sec02 .banner_bottom .is_bottom, .ft_top .banner_bottom .is_bottom {
        max-width: 100%;
        flex-wrap: wrap;
    }
    #sec02 .is_bottom .item.item1, .ft_top .is_bottom .item.item1, #sec02 .is_bottom .item.item2, .ft_top .is_bottom .item.item2 {
        width: 50%;
        top: 0;
        left: 0;
        margin-bottom: 20px;
    }
    #sec02 .is_bottom .item.item3, .ft_top .is_bottom .item.item3 {
        top: 0;
        left: 0;
        width: 100%;
        display: flex;
        justify-content: center;
        padding: 0 15px;
    }
    #sec02 .is_bottom .is_l, .ft_top .is_bottom .is_l {
        margin-right: 0;
        width: 40%;
    }
    #sec02 .is_bottom .item.item1 p.img, .ft_top .is_bottom .item.item1 p.img, #sec02 .is_bottom .item.item2 p.img, .ft_top .is_bottom .item.item2 p.img {
        margin-bottom: -5px;
        width: 100%;
        text-align: center;
    }
    #sec02 .is_bottom .item p.img, .ft_top .is_bottom .item p.img {
        display: flex;
        justify-content: center;
        align-items: center;
        min-height: 63px;
        margin-bottom: 0;
    }
    #sec02 .is_bottom .item p.img img, .ft_top .is_bottom .item p.img img {
        object-fit: contain;
    }
    #sec02 .is_bottom .item.item1::after, .ft_top .is_bottom .item.item1::after {
        top: 0;
        right: 0;
    }
    #sec02 .is_bottom .item.item2::after, .ft_top .is_bottom .item.item2::after {
        display: none;
    }
    #sec02 .is_bottom .item p, .ft_top .is_bottom .item p {
        font-size: 14px;
        text-align: center;
        width: 100%;
    }
    #sec02 .wrapper_banner {
        border: none;
    }
    #sec02 .wrapper_bottom .num {
        top: -50px;
        font-size: 60px;
    }
    /* sec03 */
    #sec03 {
        padding: 40px 0;
    }
    #sec03 .ttl {
        font-size: 28px;
        margin-bottom: 30px;
    }
    #sec03 .ttl .img {
        display: flex;
        width: 80px;
        height: 47px;
        margin: 0 auto 10px;
    }
    #sec03 .swiper-wrapper {
        margin-bottom: 30px;
    }
    #sec03 .swiper-wrapper .swiper-slide {
        width: 230px;
        height: 150px;
    }
    #sec03 .swiper-wrapper .swiper-slide .content p {
        font-size: 16px;
    }
    #sec03 .swiper-wrapper .swiper-slide {
        border-radius: 20px;
        margin-right: 15px;
        margin-left: 15px;
    }
    #sec03 .swiper-wrapper .swiper-slide .img {
        opacity: .5;
        border-radius: 20px;
        overflow: hidden;
    }
    #sec03 .swiper-wrapper .swiper-slide .content p, #sec03 .swiper-wrapper .swiper-slide .content .icon {
        opacity: 1;
    }
    #sec03 .swiper-wrapper .swiper-slide .content .icon {
        width: 45px;
        height: 45px;
    }
    /* sec04 */
    #sec04 {
        padding-top: 60px;
    }
    #sec04 .inner {
        margin-bottom: 20px;
    }
    #sec04::before {
        display: none;
    }
    #sec04 .ttl {
        text-align: center;
        padding-right: 0;
        font-size: 36px;
        width: max-content;
        margin: 0 auto 20px;
    }
    #sec04 .ttl::before {
        top: -25px;
        width: 100px;
        height: 43px;
    }
    #sec04 .ttl span.en {
        font-size: 120%;
    }
    #sec04 p.des {
        font-size: 14px;
        width: max-content;
        margin: 0 auto;
        padding-right: 0;
        position: relative;
        left: 30px;
    }
    #sec04 .wrapper {
        max-width: 420px;
        margin: 0 auto 10px;
        padding: 0 15px;
    }
    #sec04 .wrapper .column:nth-child(1), #sec04 .wrapper .column:nth-child(4), #sec04 .wrapper .column:nth-child(3), #sec04 .wrapper .column:nth-child(6) {
        border-radius: 20px;
        left: auto;
        right: auto;
    }
    #sec04 .wrapper .column {
        margin-bottom: 30px;
    }
    #sec04 .wrapper .img .num {
        font-size: 56px;
        bottom: 40px;
    }
    #sec04 .wrapper .content {
        padding: 20px 15px 30px;
        height: auto;
    }
    #sec04 .column .content h5 {
        font-size: 20px;
    }
    #sec04 .content p {
        font-size: 14px;
        letter-spacing: -0.075em;
    }
    #sec05 {
        padding: 80px 0 40px;
    }
    #sec05 .wrapper {
        flex-wrap: wrap;
        min-height: auto;
        margin-bottom: 40px;
    }
    #sec05 .wrapper .column1 {
        padding-top: 0;
        padding-right: 0;
        width: 100%;
    }
    #sec05 .wrapper .column2::before {
        display: none;
    }
    #sec05 .wrapper .column1 .img {
        display: none;
    }
    #sec05 .wrapper .ttl {
        font-size: 28px;
        width: max-content;
        margin: 0 auto 20px;
    }
    #sec05 .wrapper .ttl::before {
        top: -30px;
        width: 100px;
        height: 43px;
    }
    #sec05 .wrapper .ttl span.en {
        font-size: 150%;
    }
    #sec05 .wrapper .column1 .txt {
        font-size: 14px;
    }
    #sec05 .sec05_btn {
        flex-wrap: wrap;
        padding-left: 0;
        width: 100%;
        max-width: 290px;
        margin: 0 auto;
    }
    #sec05 .sec05_btn li {
        width: 100%;
    }
    #sec05 .sec05_btn li:nth-child(1) {
        margin-right: 0;
        margin-bottom: 30px;
    }
    #sec05 .sec05_btn li:nth-child(1) a, #sec05 .sec05_btn li:nth-child(2) a {
        width: 100%;
    }
    /*============ Footer ============*/
    footer {
        margin-bottom: 50px;
    }
    .ft_top {
        padding: 30px 0 40px;
        background-attachment: initial;
        min-height: auto;
        background-position: top;
    }
    .ft_top::before, .ft_top::after {
        display: none;
    }
    .ft_top .ttl {
        font-size: 20px;
        margin-bottom: 30px;
    }
    .ft_top .ttl span.en {
        font-size: 15px;
    }
    .ft_top .sp {
        text-align: center;
        margin-bottom: 30px;
    }
    .ft_top .sp a {
        display: inline-block;
        width: 180px;
        margin: 0 auto;
    }
    .ft_top .box1 {
        border-radius: 0;
        max-width: 420px;
        margin: 0 auto 40px;
    }
    .ft_top .box1::before {
        border-radius: 0;
    }
    .ft_top .box1::after {
        display: none;
    }
    .ft_top .box1 .box1_t {
        height: auto;
        padding: 15px 0;
        border-radius: 0;
    }
    .ft_top .box1 .box1_t p {
        font-size: 20px;
    }
    .ft_top .box1_b {
        flex-wrap: wrap;
        padding: 20px 30px;
    }
    .ft_top .box1_b .content {
        display: flex;
        justify-content: center;
        padding-left: 0;
    }
    .ft_top .box1_b .column {
        width: 100%;
    }
    .ft_top .box1_b .column:not(:last-child) {
        margin-bottom: 50px;
    }
    .ft_top .box1_b .column:not(:last-child)::before {
        top: auto;
        bottom: -25px;
        width: 100%;
        height: 1px;
    }
    .ft_top .box1_b .txt {
        width: 100%;
        height: 35px;
        font-size: 14px;
    }
    .ft_top .box1_b .txt2 {
        width: 50px;
        height: 50px;
        font-size: 13px;
    }
    .ft_top .box1_b .txt3 {
        font-size: 24px;
    }
    .ft_top .box1_b .txt3 span.num {
        font-size: 180%;
    }
    .ft_top .box2 {
        flex-wrap: wrap;
        max-width: 420px;
        margin: 0 auto;
    }
    .ft_top .box3 {
        max-width: 420px;
        margin: 0 auto 40px;
    }
    .ft_top .box2 .column.column1, .ft_top .box2 .column.column2 {
        width: 100%;
        height: auto;
        margin-bottom: 40px;
    }
    .ft_top .box2 .column.column1 {
        align-items: center;
        padding: 20px 15px 20px 35%;
    }
    .ft_top .box2 .column.column1::before {
        top: auto;
        bottom: -1px;
        left: 6px;
        width: 30vw;
        height: 39vw;
        max-width: 122px;
        max-height: 154px;
    }
    .ft_top .box2 .column.column1 .txt {
        margin-right: 0;
        margin-bottom: 10px;
    }
    .ft_top .box2 .column.column1 {
        min-height: 110px;
    }
    .ft_top .box2 .column.column2 {
        min-height: 115px;
    }
    .ft_top .box2 .column.column2 .txt {
        margin-bottom: 5px;
    }
    .ft_top .box2 .column.column2 {
        padding-top: 13px;
    }
    .ft_top .box2 .column &gt; p.txt {
        width: 100%;
        height: 35px;
        font-size: 16px;
    }
    .ft_top .box2 .column.column1 p a {
        font-size: 24px;
    }
    .ft_top .box2 .column.column1 p span {
        font-size: 12px;
    }
    .ft_top .box2 .column.column2 {
        align-items: center;
        padding: 20px 35% 20px 15px;
    }
    .ft_top .box2 .column.column2::before {
        top: auto;
        bottom: 0;
        right: 8px;
        width: 30vw;
        height: 40vw;
        max-width: 128px;
        max-height: 164px;
    }
    .ft_top .box2 .column.column2 p.des {
        font-size: 20px;
        padding-left: 0;
        text-align: center;
    }
    .ft_top .box4 {
        flex-wrap: wrap;
        max-width: 290px;
        margin: 0 auto;
    }
    .ft_top .box4 li {
        width: 100%;
        height: 60px;
    }
    .ft_top .box4 li:not(:last-child) {
        margin-bottom: 30px;
    }
    .ft_top .box4 li a {
        border: 1px solid #fff;
        font-size: 16px;
        padding-right: 45px;
    }
    .ft_top .box4 li .icon {
        width: 35px;
        height: 35px;
        right: 15px;
    }
    .ft_top .box4 li .icon::before {
        width: 15px;
        height: 19px;
    }
    .ft_center {
        padding: 40px 0 0;
    }
    .ft_center .wrapper {
        flex-wrap: wrap;
        max-width: 420px;
        margin: 0 auto 40px;
    }
    .ft_center .ft_logo {
        width: 100%;
        max-width: 330px;
        margin: 0 auto 20px;
    }
    .ft_center .column1, .ft_center .column2 {
        width: 100%;
    }
    .ft_center .column1 {
        margin-bottom: 20px;
    }
    .ft_center .column1 dl {
        align-items: baseline;
    }
    .ft_center .column1 dl dt {
        width: 30%;
        font-size: 14px;
    }
    .ft_center .column1 dl dd {
        width: 70%;
        font-size: 14px;
        letter-spacing: 0;
    }
    .ft_center .column2 .img {
        right: auto;
    }
    .ft_center .column2 p.txt {
        width: 80%;
        height: 60px;
        left: 50%;
    }
    .ft_center .column2 .circle {
        bottom: 20px;
        right: -20px;
        font-size: 12px;
        width: 100px;
        height: 100px;
    }
    .ft_center .map {
        height: 250px;
    }
    .ft_link {
        padding: 40px 0;
    }
    .ft_link .list_btn {
        flex-wrap: wrap;
        margin: 0 auto 30px;
        max-width: 420px;
    }
    .ft_link .list_btn li {
        width: 100%;
        height: 55px;
    }
    .ft_link .list_btn li:first-child {
        margin-right: 0;
    }
    .ft_link .list_btn li:not(:last-child) {
        margin-bottom: 20px;
        margin-right: 0;
    }
    .ft_link .wrapper {
        flex-wrap: wrap;
        max-width: 420px;
        margin: 0 auto 30px;
    }
    .ft_link .wrapper .item {
        width: 100%;
        height: auto;
    }
    .ft_link .wrapper .item:not(:last-child) {
        margin-bottom: 30px;
    }
    .ft_link .wrapper .item ul {
        padding: 20px 15px;
    }
    .ft_link .flex_center a {
        font-size: 14px;
        height: 65px;
        width: 100%;
        max-width: 290px;
    }
    /* sp contact */
    .sp_contact {
        display: flex;
        justify-items: center;
        align-items: center;
        width: 100%;
        height: 50px;
        position: fixed;
        left: 0;
        z-index: 99;
        bottom: -55px;
        transition: all 0.3s;
    }
    .sp_contact.show {
        bottom: 0;
    }
    .sp_contact li {
        width: 50%;
        height: 100%;
    }
    .sp_contact li:last-child {
        width: 40%;
    }
    .sp_contact li a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        font-size: 12px;
        color: #fff;
        line-height: 1.3em;
        font-weight: bold;
    }
    .sp_contact li a img {
        width: 30px;
        display: inline-block;
        margin-right: 10px;
    }
    .sp_contact li:last-child a img {
        margin-right: 5px;
    }
    .sp_contact li.sp_contact_mail a {
        color: var(--txt);
    }
    .sp_contact .sp_contact_tel a img {
        width: 30px;
    }
    .sp_contact_tel {
        background-color: var(--mcolor)
    }
    .sp_contact_mail {
        background-color: var(--mcolor3)
    }
    .sp_contact_line {
        background-color: #06C355;
    }
    .sp_contact_mail a span::before {
        background: url(../images/ic_h_mail4.svg) no-repeat center /20px;
    }
    .ft_bottom {
        padding: 15px 0;
    }
    .ft_bottom address {
        font-size: 14px;
    }
    /* to top */
    .to_top {
        width: 50px;
        height: 50px;
        right: 10px
    }
    .to_top a {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .to_top a img {
        width: 19px;
    }
    .to_top::before {
        width: 10px;
        height: 10px;
        left: 10px;
        top: 10px
    }
    .to_top::after {
        width: 10px;
        height: 10px;
        left: 10px;
        top: 20px
    }
    #loading p.img {
        position: relative;
        width: 200px;
        height: 108;
    }
    #loading p.img span.last {
        width: 200px;
    }
    header .h_contact {
        padding-bottom: 120px;
    }
    .mv_news dl {
        flex-direction: column;
        margin-right: 0;
    }
    .mv_news a {
        display: flex;
        width: 100%;
        justify-content: space-between;
    }
    .mv_news a dl dt {
        width: 100%;
        text-align: center;
        margin-bottom: 15px;
    }
    .mv_news a dl dd {
        font-size: 20px;
        position: relative;
        display: inline-block;
        padding-right: 35px;
        line-height: 1.5;
    }
    .mv_news a dl dd::after {
        content: "";
        position: absolute;
        width: 26px;
        height: 26px;
        background: url(../images/arrow-right.svg) no-repeat center /7px #FFF;
        right: 0;
        top: calc(50% - 13px);
        border: 2px solid var(--sub01);
        border-radius: 50%;
    }
    .mv_news .is_news {
        width: 100%;
    }
    .mv_news a .icon {
        display: none;
    }
    /*============ END 750 ============ */
}
@media screen and (max-width: 640px){
    #sec01 .sec01_block{
        margin-top: 100px;
    }
    #sec01 h3.ttl-sec01-02::before,
    #sec01 h3.ttl-sec01-02::after{
        z-index: 99;
        top: -150px;
        width: 20vw;
        height: 150px;
    }
    #sec01 h3.ttl-sec01-02::before{
        left: -3vw;
    }
    #sec01 h3.ttl-sec01-02::after{
        right: -2vw;
    }
}
@media screen and (max-width: 620px){
    #sec01 h3.ttl-sec01-01::after {
        top: 50%;
        transform: translateY(-50%);
        right: -100px;
        width: 15vw;
      }
}
@media screen and (max-width: 560px){
    #sec01 .ttl::before{
        background: none;
    }
    #sec01 h3.ttl-sec01-01::before {
        background: none;
    }
    #sec01 h3.ttl-sec01-01::after {
        background: none;
    }
    
    #sec01 h3.ttl-sec01-02::before,
    #sec01 h3.ttl-sec01-02::after{
        width: 25vw;
        height: 150px;
    }
}
/* screen-max:460px */
@media screen and (max-width: 440px) {
    .sp_440 {
        display: block !important;
    }
    .ft_bnn li {
        width: 100%;
    }
    .ft_bnn li:last-child {}
    .mv_flex .item {
        width: 85px;
        height: 85px;
    }
    .mv_flex .item span.txt {
        font-size: 10px;
    }
    .mv_news {
        padding: 20px 10px 10px;
        display: flex;
        flex-direction: column;
        height: auto;
    }
    .mv_news a dl dd {
        font-size: 18px;
        line-height: 1.8;
    }
    .mv_news .ttl {
        font-size: 18px;
        margin-right: 30px;
    }
    .mv_news .ttl {
        text-align: center;
        margin-right: 0;
        margin-bottom: 10px;
    }
    .mv_news .ttl a {
        width: max-content;
        margin: 0 auto;
        padding: 0 0 5px 0;
    }
    .mv_news .ttl::after {
        top: auto;
        left: 50%;
        transform: translateX(-50%);
        bottom: -5px;
        width: 80%;
        height: 1px;
    }
    .mv_news a {
        position: relative;
        padding: 10px 0;
    }
    .mv_news a .icon {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: -15px;
        border-radius: 50%;
        width: 22px;
        height: 22px;
    }
    .mv .abs {
        left: 1vw;
    }
    #sec01 .ttl::before {
        right: -15vw;
    }
    #sec01 .ttl {
        font-size: 5vw;
        margin-right: 14vw;
    }
    #sec01 .ttl.ttl-sec01-01  {
        margin: 0 auto 30px;
    }
    #sec01 h3::after{
        top: -90px;
        width: 28vw;
        right: -87px;
    }
    #sec01 h3 span.ttl_02{
        font-size: 28px;
    }
    #sec01 .ttl span.small {
        font-size: 60%;
    }
    #sec01 h4 span.ttl_02 {
        font-size: 8vw;
    }
    #sec01 .sec01_wrap {
        padding: 0 15px;
    }
    #sec01 .sec01_wrap .item {
        width: 100%;
    }
    #sec02 .sec02_bottom::before {
        left: 0;
    }
    #sec04 .ttl {
        font-size: 6vw;
    }
    #sec04 p.des {
        width: auto;
        left: 0;
        text-align: center;
    }
    #sec04 .ttl::before {
        top: -35px;
    }
    #sec05 .wrapper .ttl {
        font-size: 5.5vw;
    }
    #sec05 .wrapper .ttl::before {
        width: 90px;
        height: 39px;
        left: -39px;
    }
    .ft_top .box2 .column {
        border-radius: 20px;
    }
    .ft_top .box2 .column.column1 {
        padding: 12px 7px 0 35%;
    }
    .ft_top .box2 .column.column2 {
        padding: 13px 35% 7px 15px;
    }
    .ft_top .box2 .column.column1 p span {
        position: relative;
        top: -7px;
    }
    .ft_link .list_btn li a, .ft_link .item .sub, .ft_link .item ul li a {
        font-size: 14px;
    }
    .to_top.show {
        bottom: 100px !important;
    }
    .ft_bottom {
        padding: 30px 0 10px;
    }
    .ft_top .ttl span.en {
        display: inline-block;
        margin-bottom: 5px;
    }
    .mv_txt {
        top: 80px;
    }
    .ft_top .box2 .column.column1::before {
        max-width: 108px;
        max-height: 140px;
    }
    .ft_top .box2 .column.column2::before {
        max-width: 108px;
        max-height: 144px;
        bottom: -1px;
    }
    .mv_news dl {
        width: 100%;
    }
    .sp_contact li a {
        font-size: 2.6vw;
    }
}
/* screen-max: 360px */
@media screen and (max-width: 360px) {
    .sp_360 {
        display: block !important;
    }
    #sec02 .sec02_wrapper .is_des p.bl {
        font-size: 17px;
    }
    #sec01 .sec01_block{
        margin-top: 80px;
    }
}</pre></body></html>