@charset "utf-8";

/* グーグルリキャプチャ */
.grecaptcha-badge { visibility: hidden; }
.recaptcha_txt{
    font-size:.7rem;
    text-align: center;
}
.recaptcha_txt a{
    color:#336699;
}





html {
    font-size: 14px;
}

body {
    font-size: 1rem;
    font-family: "Noto Sans JP", sans-serif;
    font-feature-settings: "palt"1;
    color: #111;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    letter-spacing: 0.1em;
    background: #fff;
}

#error-404-wrapper {
    background: #fff;
    z-index: 10;
    position: relative;
}


#fade-wrap {
    width: 100%;
    background: #fff !important
}

#fade-wrap::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 9999;
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity .8s ease;
    transition: opacity .8s ease
}

#fade-wrap.fadeout::after {
    opacity: 1
}




.wf-notosansjapanese {
    font-family: "Noto Sans JP";
}

.notoserif {
    font-family: 'Noto Serif JP', serif;
}


#main {
    width: 100%;
}


.moviebtn {
    margin-right: 1rem;
}


@media (min-width: 751px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}



h1,
h2,
h3,
h4,
h5,
h6,
.faux-heading {

    font-weight: 500;
    line-height: 1.25;
    margin: 0rem 0 1.5rem;
    font-feature-settings: "palt"1;
}






p {

    margin-bottom: 1em;
    font-feature-settings: "palt"1;
    text-align: justify;
    text-justify: inter-ideograph;
    word-break: break-all;
    line-height: 160%;
}




* {
    box-sizing: border-box;
}

ul {
    margin: 0 0 0 15px;
    padding: 0;
    list-style: none;
}

a {
    color: #333;
    text-decoration: none;
    outline: none;
}


.brsp {
    display: none;
}



.brpc {
    display: none;
}

.catch_sp_left {
    display: none;
}
.catch_sp_right {
    display: none;
}


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

    h3 {
        font-size: 1.3rem;
        margin-bottom: 1rem;
    }

}


.content{
    position:relative;
    z-index: 20;
}

.wrapper {
    margin: 0;
    padding: 0;
}



figure {
    margin: 0;
}




#side-bnr a {
    position:relative;
    display:block;
    width:40px;
    height:40px;
    margin-bottom:2rem;
    transition: all .6s;
}

#side-bnr a:hover {
    opacity: 0.3;
}





.page-3submenu{
    display:flex;
    border:1px solid #ccc;
    border-radius:.8rem;
    flex-wrap: wrap;
    background:#fff; 
    justify-content: space-between;
    margin-top:5rem;
}


.page-3submenu .submenu {
    width:33.3%;
    
    border-right:1px solid #ccc;
    display:flex;
    justify-content: space-between;
}

.page-3submenu .submenu a img {
    width:100%;
    max-width:20px;
}

.page-3submenu .submenu:nth-of-type(3n+1) a {
    border-radius:.8rem 0rem 0rem .8rem;
}

.page-3submenu .submenu:nth-of-type(3n) a {
    border-radius:0rem .8rem .8rem 0rem;
}


.page-3submenu .submenu a {
    padding:1.6rem 2rem;
    display:flex;
    width:100%;
    font-weight:500;
    justify-content: space-between;
    align-items: center;
    -webkit-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -moz-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -o-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    transition: background 0.1s linear 0s, color 0.1s linear 0s;
}

.page-3submenu .submenu a:hover {
    background:#eee;
    color:#1D65AC;
}

.page-3submenu .submenu:nth-of-type(3n) {
    border-right:none;
}



.vmenu{
    margin:5rem 0 5rem 0;
}


.page-3submenu.vmenu .submenu a {
    color:#1D65AC;
    padding:1rem 2rem;
    display:flex;
    width:100%;
    font-weight:700;
    justify-content: space-between;
    align-items: center;
    -webkit-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -moz-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -o-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    transition: background 0.1s linear 0s, color 0.1s linear 0s;
}

.page-3submenu.vmenu .submenu a:hover {
    background:#E2ECF5;
    color:#1D65AC;
}














.page-2submenu{
    display:flex;
    border:1px solid #ccc;
    border-radius:.8rem;
    flex-wrap: wrap;
    background:#fff; 
    justify-content: space-between;
}


.page-2submenu .submenu {
    width:50%;
    
    border-right:1px solid #ccc;
    display:flex;
    justify-content: space-between;
}

.page-2submenu .submenu a img {
    width:100%;
    max-width:20px;
}

.page-2submenu .submenu:nth-of-type(2n+1) a {
    border-radius:.8rem 0rem 0rem .8rem;
}

.page-2submenu .submenu:nth-of-type(2n) a {
    border-radius:0rem .8rem .8rem 0rem;
}


.page-2submenu .submenu a {
    color:#1D65AC;
    padding:1.6rem 2rem;
    display:flex;
    width:100%;
    font-weight:500;
    justify-content: space-between;
    align-items: center;
    -webkit-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -moz-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -o-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    transition: background 0.1s linear 0s, color 0.1s linear 0s;
}

.page-2submenu .submenu a:hover {
    background:#E2ECF5;
    color:#1D65AC;
}

.page-2submenu .submenu:nth-of-type(2n) {
    border-right:none;
}


.page-2submenu .submenu.special a {
    color:#DB002B;
    padding:1rem 2rem;
    display:flex;
    width:100%;
    font-weight:700;
    justify-content: space-between;
    align-items: center;
    -webkit-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -moz-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -o-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    transition: background 0.1s linear 0s, color 0.1s linear 0s;
}

.page-2submenu .submenu.special a:hover {
    background:#FBE2E7;
    color:#DB002B;
}




.page-2submenu .submenu.normal a {
    color:#111;
    padding:1rem 2rem;
    display:flex;
    width:100%;
    font-weight:700;
    justify-content: space-between;
    align-items: center;
    -webkit-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -moz-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -o-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    transition: background 0.1s linear 0s, color 0.1s linear 0s;
}

.page-2submenu .submenu.normal a:hover {
    background:#eee;
    color:#1D65AC;
}






.ceoname {
    margin-top: .5rem;
    text-align: right;
    font-size: .9rem;
}

.ceoname span {
    font-size: 1rem;
    font-weight: 600;
}











.vegas-block {
    display: none !important;
    height: 1px !important;

}

.vegas-sp-block {
    display: none !important;
    height: 1px !important;
}




.video-box {
    position: relative;
    overflow: hidden;

    width: calc(100% - 120px);
    height: 100vh;
    float: right;
}

.video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}



.page-link {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #0680de;
    background-color: #fff;
    border: 1px solid #dee2e6;
}



.page-item.active .page-link {
    z-index: 1;
    color: #fff;
    background-color: #0680de;
    border-color: #0680de;
}


.page-link:focus {
    outline: #0680de;
    box-shadow: none;
}



.pagination {
    justify-content: center;
}



/* 018 */
#top-ourworks .circle-button,
#topinformation .circle-button,
.proftable .circle-button,
.flex_wrap-flow .circle-button {
    text-align: center;

}

.circle-button a {
    position: relative;
    display: inline-flex;
    justify-content: start;
    align-items: center;
    margin: 0 auto;
    padding: 10px 25px 10px 60px;
    color: #111;
    font-weight: 500;
    transition: all 0.3s;
}

.circle-button a:before,
.circle-button a:after {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
}

.circle-button a:before {
    width: 0.5rem;
    height: 0.5rem;
    left: 1.1rem;
    border-top: solid 2px #111;
    border-right: solid 2px #111;
    z-index: 2;
    transform: translateY(-50%) rotate(45deg);
    transition: all 0.3s;
}

.circle-button a:after {
    left: 0;
    background: #fff;
    border: 1px solid #111;
    z-index: 1;
    width: 3rem;
    height: 3rem;
    border-radius: 4rem;
    transform: translateY(-50%);
    transition: all .3s;
}

.circle-button a span {
    position: relative;
    z-index: 3;
    transition: all 0.3s;
}

.circle-button a:hover span {
    color: #fff;
}

.circle-button a:hover:before {
    left: 2rem;

    border-top: solid 2px #fff;
    border-right: solid 2px #fff;

}

.circle-button a:hover:after {
    right: 0;
    width: 100%;
    background: #2185D0;
    border: 1px solid #111;
}


.proftable .circle-button {
    margin-top: 2rem;

}





.flex_wrap-flow .circle-button {
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
}

.flex_wrap-flow .circle-button a {
    color: #fff;
    font-weight: 700;
}

.flex_wrap-flow .circle-button a:before {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;

    width: 0.7rem;
    height: 0.7rem;
    left: 1.1rem;
}

.circle-button a:hover:before {
    left: 2.5rem;


}

.flex_wrap-flow .circle-button a:after {
    background: none;
    border: 1px solid #fff;
    width: 3rem;
    height: 3rem;
}


.flex_wrap-flow .circle-button a:hover:after {
    right: 0;
    width: 100%;
    background: #2185D0;
}


/* font-family */

#splash-logo,
.top-lead,
h1,
h2,
h3 span,
#g-nav,
#pc-nav,
.openbtn,
#footer {
    letter-spacing: 0.1em;

}

#pc-nav {}



/* splash */

#splash-logo {
    font-size: 1.2rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: #000;
}


#splash-logo_up {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#splash-logo_low {
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
}


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

    #splash-logo_up {
        top: 48.5%;
    }

    #splash-logo_low {
        top: 56%;
    }

}



.googleMap {

    position: relative;
    width: 100%;
    height: 450px;

}




.stopmove {
    display: none;
}





.scrolldown2 {
    position: absolute;
    bottom: -80px;
    left: 50%;
    z-index: 30;
}



.scrolldown2 span {
    position: absolute;
    left: 10px;
    bottom: 10px;
    color: #fff;
    font-size: .7rem;
    letter-spacing: .05em;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl
}

.scrolldown2:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: -2px;
    width: 5px;
    height: 10px;
    border-radius: 0%;
    background: #fff;
    animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite
}

@keyframes circlemove {
    0% {
        bottom: 45px
    }

    100% {
        bottom: -5px
    }
}

@keyframes cirlemovehide {
    0% {
        opacity: 0
    }

    50% {
        opacity: 1
    }

    80% {
        opacity: .9
    }

    100% {
        opacity: 0
    }
}

.scrolldown2:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 50px;
    background: #fff
}




#vegas {
    
    top: 70px !important;
}


/* g-nav */




#g-nav .site-logo a {
    color: #111;

    display: block;
    margin-top: 3rem;
    text-align: center;

}

#g-nav .site-logo a img {

    margin-bottom: 1rem;

}











/*  headmenu  */


#sub-nav.navbar{
    height:100px;
    padding:10px 0;
}




.custom-logo-link img {
    width: 400px;
}

.navbar-toggler {
    position: absolute;
    right: 10px;
    top: 15px;
}

.navbar-nav {
    padding-left: 10px;
}


#navbarNavDropdown01 ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: table;
    table-layout: fixed;
    width: 100%;
}

#navbarNavDropdown01 ul li {
    display: table-cell;
    box-sizing: border-box;
}

#navbarNavDropdown01 ul li a {
    display: block;
    padding: .4em .8em;
    text-decoration: none;
    color: #333;
    background: #fff;
    text-align: center;
}

#navbarNavDropdown01 ul li a:hover {
    background: #eee;
}


.dropdown:hover>.dropdown-menu01 {
    display: block;
    //For animation
    max-height: 400px;
    opacity: 1;
}

.dropdown>.dropdown-menu01 {
    margin: 0;
    // For animation
    transition: all 0.3s;
    max-height: 0;
    display: block;
    overflow: hidden;
    opacity: 0;
}


#main-menu {
    display: none;
}






#headnav {
    text-align: center;
    display: inline-flex;
    align-items: center;
    margin-right: 2rem;
    gap: 1rem;
}

#wrapper-navbar {
    position: relative;
    z-index: 15;
    height: 180px;
}


#main-nav.navbar{
    justify-content: center;
    background:#000;
    height:80px;
}

#main-nav{
    z-index: 120;
    
}




.navbar {
    padding: 0;
    background: #fff;
}


.menu_title {
    color: #111;
    font-size: 2rem;
    font-weight:700;
    text-align: left;
    letter-spacing: 1px;
    line-height: 120%;
    padding: 2rem 1rem 0 3rem;
}

.menu_title.special {
    color: #DB002B;
    
}

.menu_title.higher {
    color: #0055AA;
    
}


.menu_title span {
    color: #000;
    font-size: 1rem;

    display: block;
}


.megamenulist {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    text-align: left;
    gap: 0 2rem;
    padding: 2rem 0;
}

.megamenulist a {
    width: 31%;
    padding: 1.5rem 2rem 1.5rem 0rem;
    border-bottom: 1px solid #ccc;
    margin-bottom: 1rem;
    transition: all .8s cubic-bezier(0.19, 1, 0.22, 1);
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.megamenulist a:hover {
    border-bottom: 1px solid #0055AA;
}


.megamenulist a:hover .dli-arrow-right {
    background: #0055AA;
}

.megamenulist a:hover .dli-arrow-right::before {
    border-color: #0055AA;
}



.dli-arrow-right {
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1;
    position: relative;
    width: 1.5em;
    height: 0.1em;
    background: #aaa;
    transition: all .8s cubic-bezier(0.19, 1, 0.22, 1);
}

.dli-arrow-right::before {
    content: '';
    width: 0.65em;
    height: 0.65em;
    border: 0.1em solid #aaa;
    border-left: 0;
    border-bottom: 0;
    transform: rotate(45deg);
    transform-origin: top right;
    position: absolute;
    top: 50%;
    right: -0.05em;
    box-sizing: border-box;
}



#gnav {
    display: block;
    text-align: left;
    padding: 0;
}



#gnav>ul {
    list-style: none;
    margin: 0;
    padding: 0;

    width: 100%;

}

#gnav>ul>li {
    display: inline-block;
    border-left: 1px solid #fff;
}

#gnav>ul>li:hover {
    color: #fff;

}

#gnav>ul>li:hover>a {
    color: #666;
}

#gnav>ul>li:hover .menu {
    max-height: 9999px;
    opacity: 1;
}

#gnav>ul>li>a {
    transition: all .2s ease-in;

    display: block;
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-left:calc(.6rem + 10 * ((100vw - 320px) / 1120));
    padding-right:2rem;

    padding-right:calc(.6rem + 10 * ((100vw - 320px) / 1120));
    
    


    text-decoration: none;
    color: #fff;

    text-align: center;
    font-weight:700;
    
    font-size: .9rem;
}

#gnav>ul .menu {
    transition: all .2s ease-in;
    max-height: 0;
    opacity: 0;
    overflow: hidden;

    width: 100%;
    left: 0;
    text-align: center;
    position: absolute;
    background-color: #efefef;
    z-index: 999;
    margin-top: -1px;

}

#gnav>ul .menu img {
    margin-bottom: .3rem;
}


#gnav img{
    width: 32px;
    height: 32px;
    margin-right: 6px;
    
}




#gnav>ul .menu .menu_inner {
    padding: 1em 0 2em 0;
}

#gnav>ul .menu .menu_inner li {
    display: inline-block;
    margin: 0 .5em;
}

#gnav>ul .menu a {
    color: #111;
}

.contact_btn {}



.contact_btn a {
    width: 100%;
    border-radius: 3rem;
    padding: .5rem 1rem .5rem 1rem;
    border: 1px solid #cc0000;
    background-color: #cc0000;

    transition: all .3s;
    font-size: 1rem;

    color: #fff;
}


.contact_btn a:hover {
    border: 1px solid #cc0000;
    background: #fff;
    color: #cc0000;
}











#head-subnav {
    text-align: center;
    display: inline-flex;
    align-items: center;
    margin-right: 2rem;
    gap: 1rem;
}




#g-subnav {
    display: block;
    text-align: left;
}



#g-subnav>ul {
    list-style: none;
    margin: 0;
    padding: 0;

}

#g-subnav>ul>li {
    display: inline-block;

}

#g-subnav>ul>li:hover {
    color: #fff;

}


#g-subnav>ul>li:hover .menu {
    max-height: 9999px;
    opacity: 1;
}

#g-subnav>ul>li>a {
    transition: all .2s ease;

    display:flex;
    align-items: center;
    padding-top: 4px;
    padding-bottom: 4px;

    padding-left:calc(.4rem + 6 * ((100vw - 320px) / 1120));
    padding-right:calc(.4rem + 6 * ((100vw - 320px) / 1120));

    text-decoration: none;
    color: #000;

    text-align: center;
    
    background:#ffff35;
    font-size: .8rem;
    
}

#g-subnav>ul .menu {
    transition: all .2s ease;
    max-height: 0;
    opacity: 0;
    overflow: hidden;

    width: 283px;
    position: absolute;
    background-color: #ffff35;
    z-index: 999;

}

#g-subnav>ul .menu img {
    margin-bottom: .3rem;
}


#g-subnav>ul .menu .menu_inner {
    padding: 1em 0 2em 0;
}

#g-subnav>ul .menu .menu_inner li {
    display: inline-block;
    margin: 0 .5em;
}

#g-subnav>ul .menu a {
    color: #111;
    display: block;
    width: 100%;
    padding: .5rem 1rem .5rem 1.5rem;
    transition: all .2s ease;
    font-size:.8rem;
    position: relative;
}


#g-subnav>ul .menu a:hover {
    color: #111 !important;
    
}


#g-subnav>ul .menu a:hover {
    background: #eaa503;
    
    color:#fff
}


#g-subnav img{
    width:32px;
    height:32px;
    margin-right:6px
}




.nav01c img{
    width:32px;
    height:32px;
    margin-right:12px
}



.higer_head {
    text-align:right;
    position:relative;
}

.higer_head img {
    filter: drop-shadow(0px 0px 15px rgb(0, 0, 0, .2));
    width:90%
  }

  .higer_head::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background-color: #0055AA;
    z-index: -1;
  }
  



#higher_menu{
    background:#0055AA;
 position:relative;
 height:80px; 
 display:flex;
 align-items: center;
}




#higher_menu .inner, #special_menu .inner {
    width:100%;
    max-width:1200px;
    display:flex;
    align-items: center;
    justify-content:space-between;
    margin:0 auto;
}

#higher_menu ul, #special_menu ul{
    display:flex;
    
}


#higher_menu .inner li a, #special_menu .inner li a {
    color:#fff;
    padding:1.5rem 1.1rem;
    position: relative;
    height:80px;
    display:inline-flex;
    align-items: center;
  }


  #higher_menu .inner li a::before, #special_menu .inner li a::before {
    background: #FFFF00;
    content: '';
    width: 100%;
    height: 4px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
  }
  #higher_menu .inner li a:hover::before, #special_menu .inner li a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
  




  .special_head {
    text-align:right;
    position:relative;
}

.special_head img {
    filter: drop-shadow(0px 0px 15px rgb(0, 0, 0, .2));
    width:90%
  }

  .special_head::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background-color: #DB002B;
    z-index: -1;
  }



  #special_menu{
    background:#DB002B;
 position:relative;
 height:80px;
 display:flex;
 align-items: center;
}




.menu_head{
    font-size:2rem;
    font-weight:800;
    color:#fff;
    margin-left: 15px;
}

.menu_head a{
    color:#fff;
}

.menu_head span{
    font-size:1rem;
    font-weight:400;
}

.menu_head img{
    width:50px;
}







.mmimg {
    padding: 30px 10px 10px 10px;
}

.morebtn {
    text-align: center;
    width: 160px;
    margin: 0 auto 5px auto;
}

.morebtn a {
    border: 1px solid #ccc;
    padding: 5px 0px;
    font-size: 16px;
    display: block;
    background: #fff;
    -webkit-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -moz-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -o-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    transition: background 0.2s linear 0s, color 0.2s linear 0s;

}


.morebtn a:hover {
    border: 1px solid #85C0DB;
    background: #85C0DB;
    color: #fff;
    text-decoration: none;
}

.schoolbtn {
    text-align: center;
    width: auto;
    margin: 0 5px 5px auto;
    display: inline-block;
}

.schoolbtn a {
    white-space: nowrap;
    padding: 11px 15px;
    font-size: 1em;
    font-weight: 700;
    letter-spacing: 0;
    display: block;
    color: #036eb8;
    background: #f1f1f1;
    -webkit-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -moz-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -o-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    transition: background 0.2s linear 0s, color 0.2s linear 0s;

}


.schoolbtn a:hover {
    background: #036eb8;
    color: #fff;
    text-decoration: none;
}





.backlistbtn {
    text-align: center;
    width: auto;
    margin: 0 10px 5px auto;
}

.backlistbtn a {
    white-space: nowrap;
    border: 1px solid #ccc;
    padding: 10px 12px;
    font-size: .9em;
    font-weight: 700;
    letter-spacing: 0;
    display: block;
    color: #036eb8;
    background: #f1f1f1;
    -webkit-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -moz-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -o-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    transition: background 0.2s linear 0s, color 0.2s linear 0s;

}


.backlistbtn a:hover {
    border: 1px solid #036eb8;
    background: #036eb8;
    color: #fff;
    text-decoration: none;
}




.contactbtn {
    text-align: center;
    width: auto;
    margin: 0 auto 5px auto;
    display: inline-block;
}

.contactbtn a {
    white-space: nowrap;
    color: #003281;
    padding: 11px 15px;
    font-size: 1em;
    font-weight: 700;
    letter-spacing: 0;
    display: block;
    background: #fded02;
    -webkit-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -moz-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -o-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    transition: background 0.2s linear 0s, color 0.2s linear 0s;

}


.contactbtn a:hover {
    background: #85C0DB;
    color: #fff;
    text-decoration: none;
}




.taikenbtn {
    text-align: center;
    width: auto;
    margin: 0 auto 5px auto;
    display: inline-block;
}

.taikenbtn a {
    white-space: nowrap;
    color: #003281;
    padding: 11px 15px;
    font-size: 1em;
    font-weight: 700;
    letter-spacing: 0;
    display: block;
    background: #fded02;
    -webkit-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -moz-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -o-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    transition: background 0.2s linear 0s, color 0.2s linear 0s;

}


.taikenbtn a:hover {
    background: #85C0DB;
    color: #fff;
    text-decoration: none;
}








/*pc-nav*/

#pc-nav span.bgLRextend::before {
    background: #0b1642;
}


@media screen and (max-width:990px) {
    #pc-nav {
        display: none;
    }
}



#right-sidebar {}

aside {
    margin-bottom: 3rem;
}


#archive-wrapper {
    padding: 0px 0 0rem 0;
}


#search-wrapper {
    margin: 130px 0 3rem 0;
}


.search-page-header {
    display: block;
}

.search-page-header h1 {
    position: relative;
    margin-bottom: 3rem;
}

.search-title {
    font-size: 1.5rem;
}

.search-main article {
    margin-bottom: 4rem;
}


.search-main .btn-secondary {
    font-size: 14px;
    margin-top: 1rem;
}



.widget-title {
    font-size: 1.2rem;
    color: #111;
    border-bottom: 1px solid #666;
    margin-bottom: 1rem;
    padding-bottom: .5rem;
}



@media screen and (min-width:1060px) {
    .brmid {
        display: none;
    }
}


/* heading */

h1 {
    text-transform: uppercase;
    font-size: 1.5rem;

    line-height: 1;
    letter-spacing: 0.2em;
    margin: 0;
}




@media screen and (max-width:550px) {
    h1 {
        font-size: 1.2rem;
        top: 10%;
    }
}


h1 a {
    color: #eb6100;
}

h2 {
    text-transform: uppercase;
    font-size: 2rem;
}



.logosub{
    padding: 0 0 0 2rem;
    display:flex;
justify-content:flex-start;
align-items: center;
width:100%;
line-height:100%;
}

.logosub a{
    margin:0 0 0 0;
    padding:0;
}

.logosub span{
    height:23px;
    margin:0 1rem 0 0;

}

.logosub img{
height:23px;
}


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

/* lead */


#container.dotbg {
    background: url(../imgs/dot_bg.png) repeat 0 0;
}


.top-lead {
    position: absolute;
    bottom: 2%;
    right: 5%;
    z-index: 10;
}



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

    .top-lead {
        width: 95%;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }

}



.top-lead a {
    display: block;



    -webkit-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -moz-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -o-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    transition: background 0.2s linear 0s, color 0.2s linear 0s;
}


.top-lead a:hover {


    text-decoration: none;
}



.top-lead span.bgLRextend::before {
    background: #0b1642;
}

@media screen and (max-width:550px) {
    .top-lead {
        font-size: 2.2rem;
    }
}

@media screen and (max-width:380px) {
    .top-lead {
        font-size: 1.8rem;
    }
}



.top-recruit {
    position: absolute;
    bottom: 5%;
    right: 5%;
    z-index: 10;
    width: 170px;
    height: 170px;
    border-radius: 50%;
    background: #2185d0;
    text-align: center;
    transition: all 0.4s;
}

.top-recruit-ttl {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.2;
    margin-top: 60px;
    position: relative;
    color: #fff;
}

.top-recruit-ttl span {

    font-size: .8rem;
    transition: all 0.4s;
    display: block;
    padding-top: .4rem;
}


.top-recruit:hover {
    color: #c5241c;
}


.top-recruit::after {
    content: "";
    display: block;
    position: absolute;
    border: 1px solid #fff;
    border-radius: 50%;
    top: 5px;
    left: 5px;
    width: 160px;
    height: 160px;

    transition: all .6s;
}


.top-recruit:hover::after {
    transform: rotate(180deg);

}




.top-recruit .inner a:hover {

    border: 1px solid #c5241c;
    color: #c5241c;
    text-decoration: none;
}




.top-recruit .inner a span {
    width: 100%;

}








.btn-entry {
    position: absolute;
    bottom: 5%;
    right: 5%;
    z-index: 10;
    width: 170px;
    height: 170px;
    border-radius: 50%;
    background: #f9f22f;
    text-align: center;
    transition: all 0.4s;
}

.btn-entry-ttl {
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.2;
    margin-top: 55px;
    position: relative;
    color: #111;
}

.btn-entry-ttl span {

    font-size: .8rem;
    transition: all 0.4s;
    display: block;
    padding-top: .4rem;
}


.btn-entry:hover {
    background: #f9f22f;
}


.btn-entry:hover .btn-entry-ttl {
    color: #111;
}


.btn-entry::after {
    content: "";
    display: block;
    position: absolute;
    border: 1px dashed #fff;
    border-radius: 50%;
    top: 5px;
    left: 5px;
    width: 160px;
    height: 160px;

    transition: all .6s;
}


.btn-entry:hover::after {
    transform: rotate(30deg);
    border: 1px dashed #111;

}




.btn-entry .inner a:hover {

    border: 1px solid #c5241c;
    color: #c5241c;
    text-decoration: none;
}




.btn-entry .inner a span {
    width: 100%;

}


.kyu{
    font-weight:700;
    font-size:1.5rem;
    display:inline-block;
    
}



.headimgs{
    display:flex;
    justify-content: center;
    align-items: center;
    position:relative;
}


.headimg_left{
    background: url(../imgs/headimg_l.jpg) center top no-repeat;
        background-size: cover;
        width:50%;
        height:90vh;
        position:relative;
}

.headimg_right{
    background: url(../imgs/headimg_r.jpg) center top no-repeat;
        background-size: cover;
        width:50%;
        height:90vh;
        position:relative;
}


.catalog_btn_left{
        position:absolute;
        left:20px;
        bottom:200px;
        z-index: 200;
}
.catalog_btn_left img{
    width:100%;
    max-width:150px;
    max-height:150px;
}


.catalog_btn_right{
    position:absolute;
    left:20px;
    bottom:200px;
    z-index: 200;
}
.catalog_btn_right img{
width:100%;
max-width:150px;
max-height:150px;
}


.catalog_btn_left a::before {
    content: "";
    display: block;
    position: absolute;
    border: 3px solid #fff;
    border-radius: 50%;
    top: 0px;
    left: 0px;
    width: 150px;
    height: 150px;

    transition: all .6s;
    
}

.catalog_btn_left a:hover::before {
    content: "";
    display: block;
    position: absolute;
    border: 3px solid #DB002B;
    border-radius: 50%;
    top: 0px;
    left: 0px;
    width: 150px;
    height: 150px;

    transition: all .6s;
}



.catalog_btn_left a::after {
    content: "";
    display: block;
    position: absolute;
    border: 2px solid #DB002B;
    border-radius: 50%;
    top: 5px;
    left: 5px;
    width: 140px;
    height: 140px;

    transition: all .6s;
}


.catalog_btn_left a:hover::after {
    transform: rotate(30deg);
    border: 1px dashed #DB002B;

}



.catalog_btn_right a::before {
    content: "";
    display: block;
    position: absolute;
    border: 3px solid #fff;
    border-radius: 50%;
    top: 0px;
    left: 0px;
    width: 150px;
    height: 150px;

    transition: all .6s;
}

.catalog_btn_right a:hover::before {
    content: "";
    display: block;
    position: absolute;
    border: 3px solid #0055AA;
    border-radius: 50%;
    top: 0px;
    left: 0px;
    width: 150px;
    height: 150px;

    transition: all .6s;
}



.catalog_btn_right a::after {
    content: "";
    display: block;
    position: absolute;
    border: 2px solid #0055AA;
    border-radius: 50%;
    top: 5px;
    left: 5px;
    width: 140px;
    height: 140px;

    transition: all .6s;
}


.catalog_btn_right a:hover::after {
    transform: rotate(30deg);
    border: 1px dashed #0055AA;

}





.headimg_left_btn_sp{
    display:none;
}


.headimg_right_btn_sp{
    display:none;
}






.top-catch {
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    width:100%;
    text-align:center
}


.top-catch img {
    margin:0 3rem 1rem 3rem;
}


.top-catch span.catchtxt {
    font-size: 2.4rem;
    color: #fff;

    font-weight: 700;
    display: inline-flex;

    letter-spacing: .1rem;
    line-height: 120%;
}

.top-catch span.red {

    color: #cc0000;
}


.top-catch span.catchsubtxt {
    font-size: 1.2rem;
    color: #000;

    font-weight: 500;
    display: inline-flex;
    margin-top: 1.5rem;
    letter-spacing: .1rem;
    line-height: 135%;
    font-family: 'Zen Old Mincho', serif;
}












.top-catch-recruit {
    position: absolute;
    bottom: 12%;
    left: 2%;
    z-index: 10;
}

.top-catch-recruit span {
    font-size: 6rem;

    color: #fff;
    padding: 2px 0px 2px 0px;
    font-weight: 500;
    display: inline-flex;
    margin-bottom: 1rem;
    letter-spacing: 0;
    line-height: 105%;
}

.top-catch-recruit span.sub-catch {
    font-size: 1.3rem;
    border-bottom: 1px solid #fff;
    padding: 0;
}





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

    
    


    .top-catch-recruit {
        bottom: 18%;
        left: 0%;
    }

    .top-catch-recruit span {
        font-size: 2.4rem;
        background: #fff;
        color: #000;
        line-height: 140%;
        padding: 2px 8px 2px 8px;
    }

    .top-catch-recruit span.sub-catch {
        padding: 2px 8px 2px 8px;
        font-size: 1rem;
    }




}


.overlay {
    width: 100%;
    height: 100vh;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 9;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%);

    animation-name: PageshadeAppear;
    animation-duration: .1s;
    animation-delay: 0s;
    animation-fill-mode: forwards;
    opacity: 0;

}



@keyframes PageshadeAppear {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}





.thumb-box {
    width: 420px;
    height: 300px;
    overflow: hidden;
    margin: 0 auto 0rem auto;
    text-align: center;
}



.thumb-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}





/* main-area */

#main-area {
    width: 95%;
    margin: 0 auto;
    padding: 50px 0;
    max-width: 1400px;


}



.content-wrapper {
    padding-top: 120px;
    background: #fff;
}




.main-area {
    width: 90%;
    margin: 0 auto;
    max-width: 1400px;
    padding: 0 0;
    position: relative;
}


.left-txt{
    position:relative;
}


.left-txt:before{
    position:absolute;
    background: url(../imgs/left_txt.svg) left top no-repeat;
    content:"";
    left:-50px;
    top:30px;
height:3500px;
width:200px;
z-index: 1;
}









#policy {
    width: 90%;
    margin: 0 auto 0 auto;
    padding: 50px 0;
    max-width: 800px;
}

.pp_h1 {
    font-size: 2rem;
    letter-spacing: .1rem;
    line-height: 160%;
    margin-bottom: 3rem;
}


.pp_main h1 {
    font-size: 1.5rem;
}

.pp_main h2 {
    margin: 3rem 0 1rem 0;
    font-size: 1.4rem;
}

.pp_main h3 {
    margin: 3rem 0 1rem 0;
    font-size: 1.2rem;
}

.pp_main ol {
    margin-left: 1rem;
}

.pp_main li {
    margin-bottom: 1rem;
}

.pp_main p {
    line-height: 180%;
}



/* SNS area */
#sns_area{
    background: url(../imgs/sns_bg.jpg) center center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    padding:7rem 0 4rem 0;
    position:relative;
    text-align: center;
}

#sns_area:after{
    content:"";
    background: url(../imgs/car_bg.png) right bottom no-repeat;
    background-size: 600px;
    mix-blend-mode: multiply;
    opacity: 0.3;
    width: 100%;
    height: 100%;
    position:absolute;
    right:-16rem;
    bottom:-13rem;
    z-index: 10;
}

#sns_area .main-area{
    z-index: 20;
}


#sns_area h2{
    font-size:5rem;
    font-weight:800;
    margin-bottom:0;
    text-shadow: 4px 3px 0px #fff;
    letter-spacing: 1px;
}

#sns_area p{
    text-align: center;
    font-weight:600;
    font-size: 1.3rem;
}


.sns-title{
    background:#fff;
    padding:1rem;

}

.sns-title img{
    height:100%;
    max-height:60px;
}

.sns-text{
    padding:2rem
}

.sns-text h3 {
    font-size: 1.5rem;
    margin-bottom:10px;
}


.sns-insta {
    position: relative;
    background: linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%);

    color:#ffffff;
}




.sns-fb {
    background:#0666FE;
    color:#ffffff;
}

.sns-line{
    background:#08C655;
    color:#ffffff;
}



.sns-text a {
    border:1px solid #fff;
    border-radius:3rem;
    padding:.5rem 1rem;
    color:#fff;
    transition: 0.4s;
    font-weight:700;
    margin:0 auto;
    width:260px;
    display:block;
    text-align: center;
    }
    
    .sns-text a:hover {
    background: #fff;
    color: #111;
    text-decoration: none;
    }

    


    


    #overview_area{
        
        padding:5rem 0 3rem 0;
        position:relative;
        text-align: center;
    }
    
    
    
    #overview_area .main-area{
        z-index: 20;
    }
    
    
    #overview_area h2{
        font-size:5rem;
        font-weight:800;
        margin-bottom:0;
        text-shadow: 4px 3px 0px #FFFF00;
        text-transform: capitalize;
        letter-spacing: -1px;
        line-height:100%;
        margin-bottom:1.2rem;
    }
    
    #overview_area p{
        text-align: center;
        font-weight:600;
        font-size:1.3rem;
        margin-bottom:0
    }






    #oc_area {
    padding: 5rem 0 5rem 0;
    position: relative;
    text-align: center;
    }


    #oc_area h2{
        font-size:5rem;
        font-weight:800;
        margin-bottom:10px;
        text-shadow: 4px 3px 0px #FFFF00;
        text-transform: capitalize;
        letter-spacing: -2px;
        line-height:100%;
    }
    
    #oc_area p{
        text-align: center;
        font-weight:600;
        font-size:1.3rem;
        margin-bottom:0
    }


    #oc_area img {
        margin-bottom: 4rem;
        }




/* topics */

#topics {
    border-left: 3px solid #000;
    padding: 0 0 0 20px;
    position: relative;
}

@media screen and (max-width:768px) {
    #topics {
        margin: 0 0 100px 0;
    }
}

#topics h2 {
    font-size: 1.5rem;
}

#topics h2 span.bgLRextend::before {
    background: #333;
}

.bx-wrapper {
    box-shadow: none;
    border: none;
}

/* topinformation */



#topinformation .btn {

    margin: 0 auto;
}

#topinformation .bgappear {
    background: none;


}


#topinformation {

    margin: 0 0 0 0;
    padding: 4rem 0 5rem 0;
    background: #F8F4EB;
}



#topinformation .content {
    width: 100%;
    text-align: center;
}

@media screen and (max-width:768px) {
    #topinformation .img {
        width: 100%;
        min-height: 290px;
        margin: 0 0 50px 0;
    }

    #topinformation .content {
        width: 100%;
    }

    #topinformation p.vision-txt {
        text-align: left;
    }


}






#topinformation .topinformation-lead {
    position: relative;
    color: #000;
    font-size: 1rem;
    font-weight: bold;
    margin: 0 0 90px 0;
}

@media screen and (max-width:768px) {
    #topinformation .topinformation-lead {
        font-size: 1rem;
    }

}

#topinformation .topinformation-lead::after {
    content: '';
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    margin: auto;

    background: #e60020;
    width: 12em;
    height: 3px;
}


.newslist {
    border-bottom: 1px solid #333;
    margin-bottom: 2rem;
}

.fa-stack {
    line-height: 1em !important;
}

.newslist .newsdate {
    padding-left: 0;
}



.headline {
    text-align: center;
    position: relative;
    padding-left: 15px;
    padding-right: 15px;
}


.headline h2 {
    margin-top: 0;
    margin-bottom: 2rem;
    position: relative;
    display: inline-block;
    text-transform: none;
    font-size: 1.8rem;
    font-weight:800;
    padding-bottom: 6px;
    letter-spacing: 1px;
}


.headline.jp h2 {
    font-size: 2rem;
    padding-bottom: .5rem;
}



.headline.white h2 {
    color: #fff;
}




.headline h2 span {
    color: #cc0000;
}








.face {
    position: absolute;
    right: -50px;
    bottom: -50px;
}


.service-detail-txt {
    position: relative;
}



.service-btnarea {
    display: flex;
    justify-content: flex-start;
}





.service-detail-illust {
    width: 120px;
    margin-left: -3rem;
    margin-top: 1rem;
}






/* aboutus */

#aboutus {
    margin-right: 5rem;
    margin-bottom: 8rem;
    padding: 1rem 0 8rem 0;
    background: #e7ebf0;
    border-radius: 0 1.5rem 1.5rem 0;
}


#aboutus h2 {
    text-align: center;
    margin: 0 0 60px 0;

    color: #000;

    font-size: 2rem;
    letter-spacing: 0;
    line-height: 100%;

}



.service_about {
    display: flex;
    flex-wrap: wrap;
}

#aboutus .content {
    width: 100%;
    text-align: left;

}

#aboutus .content-area {
    background: #e7ebf0;
    position: absolute;
    border-radius: 15px;
    bottom: 0rem;
    left: 0rem;
    padding: 3rem;
    width: 48%;
}

.about-img {

    text-align: center;
}

.about-img img {
    width: 70%;
}



#aboutus p {
    line-height: 2;
    margin: 0rem 0 .8rem 0;
}

.about-lead {
    position: relative;
    display: inline-block;
    color: #cc0000;
    font-size: 1rem;
    font-weight: bold;
    margin: 0rem 0 0rem 0;
}


.about-lead.white {
    color: #fff;
}


@media screen and (max-width:768px) {
    #aboutus .about-lead {
        font-size: 1rem;
    }

    #aboutus p {
        line-height: 150% !important;
    }



    #aboutus {
        margin-right: 5rem;
        margin-bottom: 4rem;
        padding-bottom: 0rem;
    }


}





.lead-txt {
    text-align: center;
    font-weight: bold;
    margin: 0rem 30px 4rem 30px;
    font-size: 1.2rem;
    line-height: 200%;
}



#aboutus .service-area {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 300px 0 300px 0;
}

@media screen and (max-width:768px) {
    #aboutus .service-area {
        margin: 0 0 200px 0;
    }
}

@media screen and (max-width:590px) {
    #aboutus .service-area {
        margin: 0 0 50px 0;
    }

}



#top-service {

    position: relative;
    background: #fff;
    z-index: 10;

}



#top-service:before {
    border-right: 100px solid #F8F4EB;
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    z-index: -1;
}





.top-service-area {
    display: flex;
    justify-content: space-between;

    flex-wrap: wrap;
    padding-bottom: 3rem;
}

.top-service-img {}


.top-service-box {
    width: 60%;
}

.top-service-img-left {
    width: 20%;
    flex-direction: column;
    margin-top: auto;
    padding-right: 2rem;
    margin-bottom: -5rem;
}

.top-service-img-right {
    width: 20%;
    margin-left: auto;
    flex-direction: column;
    padding-left: 2rem;
}




@media screen and (max-width:991px) {
    .top-service-box {
        width: 80%;
        margin-left: auto;
        margin-right: auto;

    }

    .top-service-img-left {
        width: 50%;
        margin-top: 2rem;
        margin-left: auto;
        margin-right: auto;
        order: 1;
        padding-right: 0;
    }

    .top-service-img-right {
        display: none;
    }


    .top-service-img-left img,
    .top-service-img-right img {
        border-radius: 0;
    }




}



.top-service-list {
    font-size: 2rem;
    color: #111;
    font-weight: 700;

}

.top-service-list ul {}




.top-service-list li {
    font-size: 1.6rem;
    color: #111;
    font-weight: 700;
    position: relative;
    padding: 4rem 1rem 4rem 1rem;
    border-bottom: 1px solid #aaa;

    -webkit-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -moz-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -o-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    transition: background 0.2s linear 0s, color 0.2s linear 0s;
    flex-wrap: wrap;
    display: flex;
    justify-content: start;

    align-items: center;

}


.top-service-list li:nth-child(even) {
    flex-direction: row-reverse;
}






.top-service-list li:last-child {
    border-bottom: none;

}






.top-service-list li a {
    -webkit-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -moz-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -o-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    transition: background 0.2s linear 0s, color 0.2s linear 0s;

    color: #111;
}

.top-service-list li a:hover {
    color: #aaa;
}



.our-service-box {
    background: #fff;
    padding: 2rem;
}


.our-service-title-area {
    border-left: 2px solid #ffc2c2;
    padding: .5rem 1rem;
    margin-bottom: 2rem;
}

.our-service-title-area.carport-txt {

    margin-bottom: 0rem;
}

.our-service-title {
    color: #cc0000;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.8rem;
    margin-bottom: 1rem;
}

.our-service-title-area p {
    margin-bottom: 0;
}

.chikudenchi-box {
    background: #fff;
}


.chikudenchi-bg {
    background: url(../imgs/chikudenchi_katei_bg.jpg) left center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}



.linkbtn {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    text-align: left;
    padding: 0rem 2rem;
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
}

.linkbtn a {
    width: 100%;
    border-radius: 3rem;
    padding: 1rem 2rem 1rem 2rem;
    border: 1px solid #666;
    background-color: rgba(255, 255, 255, 0.562);
    margin-bottom: 1rem;
    transition: all .3s;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #111;
}

.linkbtn a .red {
    color: #cc0000;
}



.linkbtn a:hover {
    border: 1px solid #cc0000;
    background: #cc0000;
    color: #fff;
}

.linkbtn a:hover .red {
    color: #fff;
}


.linkbtn a:hover .dli-arrow-right {
    background: #fff;
}

.linkbtn a:hover .dli-arrow-right::before {
    border-color: #fff;
}



.dli-arrow-right {
    display: inline-block;
    vertical-align: middle;
    color: #111;
    line-height: 1;
    position: relative;
    width: .8em;
    height: 0.1em;
    background: #111;
    transition: all .3s;
}

.dli-arrow-right::before {
    content: '';
    width: 0.65em;
    height: 0.65em;
    border: 0.1em solid #111;
    border-left: 0;
    border-bottom: 0;
    transform: rotate(45deg);
    transform-origin: top right;
    position: absolute;
    top: 50%;
    right: -0.05em;
    box-sizing: border-box;
}








.linkbtn-white {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    text-align: left;
    padding: 0rem 2rem;
    width: 400px;
    width: 100%;
    margin: 0 auto;
}

.linkbtn-white {
    width: 100%;
    max-width: 270px;
    border-radius: 3rem;
    padding: .8rem 1rem .8rem 1rem;
    border: 1px solid #fff;
    background-color: rgba(0, 0, 0, 0.2);

    margin: 0 auto 1rem auto;
    transition: all .3s;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
}

.linkbtn-white a .red {
    color: #cc0000;
}



.bnr_recruit-text a:hover .linkbtn-white {
    border: 1px solid #ffff35;
    background: #ffff35;
    color: #111;
}

.linkbtn-white a:hover .red {
    color: #fff;
}


.linkbtn-white a:hover .dli-arrow-right-white {
    background: #fff;
}

.linkbtn-white a:hover .dli-arrow-right-white::before {
    border-color: #fff;
}



.dli-arrow-right-white {
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    position: relative;
    width: 1.5em;
    height: 0.1em;
    background: #fff;
    transition: all .3s;
}

.dli-arrow-right-white::before {
    content: '';
    width: 0.65em;
    height: 0.65em;
    border: 0.1em solid #fff;
    border-left: 0;
    border-bottom: 0;
    transform: rotate(45deg);
    transform-origin: top right;
    position: absolute;
    top: 50%;
    right: -0.05em;
    box-sizing: border-box;
}




.top-service-img_sp {
    display: none;
}



.service-number {
    position: relative;
    width: 100%;
    height: auto;
    max-width: 200px;
    display: block;
    margin-right: 3rem;
}



.service-number.right {
    margin-left: 3rem;
    margin-right: 0rem;
}



.top-service-list li .top-service-title {
    width: calc(100% - 260px);
}

.top-service-list li .top-service-title.last {
    width: auto;
}


.reason-txt_pc {
    color: #111;
}

.reason-txt_sp {
    display: none;
}





.service-map {
    position: absolute;
    width: 100%;
    height: auto;
    max-width: 300px;
    right: -4rem;
    bottom: -6rem;
}


.top-service-list li a span {
    font-size: 1rem;
    color: #a9d5f7;
    padding-right: 1rem;
}


.top-service-list li a:hover span {
    color: #2185D0;
}

.top-service-list li p {
    font-size: 1rem;
    font-weight: 400;
    margin-top: 1.5rem;

}


.top-service-title {
    color: #cc0000;
    -webkit-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -moz-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -o-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    transition: background 0.2s linear 0s, color 0.2s linear 0s;
}

.top-service-list li a:hover .top-service-title {
    color: #111;
}


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

    .top-service-list li a {
        color: #111;
    }

    .top-service-list li a:hover {
        color: #aaa;
    }

    .top-service-list li a span {
        color: #2185D0;
    }

    .top-service-list li a:hover span {
        color: #a9d5f7;
    }

    .top-service-list li {
        font-size: 1.5rem;
        padding: 2rem 0rem;

    }

    .service-map {
        display: none;
    }



}




#top-our-service {
    padding-bottom: 4rem;
    position: relative;
    background: #F8F4EB;
    overflow: hidden;
}



#top-ourworks {
    background: #F8F4EB;
}

.top-ourworks-bg {

    padding: 1rem 0 1rem 0;
    background: url("../imgs/top-our-works_bg.jpg") no-repeat center center;
    background-size: cover;
}


.no-jirei {
    color:#fff;
    font-weight:700;
font-size:1.5rem;
width:100%;
text-align:center;
}



#service-list {
    padding: 0rem 0 0rem 0;
    position: relative;
    overflow: hidden;
}


#service-list h2 {
    text-align: center;
    margin: 0 0 100px 0;
}

@media screen and (max-width:768px) {
    #service-list h2 {
        margin: 0 0 50px 0;
    }

}


#service-list .content {
    width: 100%;
    text-align: center;
}


#service-list h2 {
    color: #e60020;
    margin: 0 0 10px 0;
}

.service-txt {
    text-align: left;

}



#service-list p {
    line-height: 2;
    margin: 0 0 3rem 0;
}

#service-list .service-lead {
    position: relative;
    color: #000;
    font-size: 1rem;
    font-weight: bold;
    margin: 0 0 90px 0;
}

@media screen and (max-width:768px) {
    #service-list .service-lead {
        font-size: 1rem;
    }

}

#service-list .service-lead::after {
    content: '';
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    margin: auto;

    background: #e60020;
    width: 12em;
    height: 3px;
}



#service-list .service-area {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 300px 0 300px 0;
}

@media screen and (max-width:768px) {
    #service-list .service-area {
        margin: 0 0 200px 0;
    }
}

@media screen and (max-width:590px) {
    #service-list .service-area {
        margin: 0 0 50px 0;
    }

}




.service-list {
    display: flex;
    justify-content: space-around;
    align-items: start;
    flex-wrap: wrap;
    padding: 3rem 0 3rem 0;
    width: 100%;
    margin: 0 auto;
    max-width: 1000px;
    gap: 40px 16px;
    font-size: .7rem;
    color: #000;
    font-weight: 600;
}




@media screen and (min-width:601px) {
    .service-list {
        font-size: 1rem;
    }

}




.service-list::after {
    display: block;
    content: "";
    width: calc(25% - 16px);
}



.flex_wrap-service {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 8rem;
}


.flex_wrap-service h3 {
    font-size: 1.1rem;
    line-height: 1.6rem;
}


.service-left {
    width: 50%;
}


.service-right {
    width: 50%;
}






.service-intro-text {

    width: calc(100% - 10vw);
    margin: 0 auto 3rem auto;
}



#top-recruit {
    background: #F8F4EB;
    margin-bottom:6rem;
    width:100%;
    max-width: 1600px;
    margin-left:auto;
    margin-right:auto;
}









.bnr_2col {
    margin: 0 0 0 0;
    width: 50%;
    z-index: 5;
    border:1px solid #fff;
}










.top-recruit-title {
    margin-bottom: -0.5rem;
    margin-left: 2rem;
    margin-right: 0rem;
    z-index: 10;
}



.bnr_3col {
    margin: 0 0 0 0;
    width: 33.3%;
    z-index: 5;
    border:1px solid #fff;s
    
}








.bnr_recruit-text {
}


.bnr_recruit-text a {

    padding: 6.2rem 1rem 3.1rem 1rem;
    text-align: left;
    display:block;
    
    transition: all .3s;
    background-color: rgba(0,0,0,0.7);

}

.bnr_message {
    background-image: url("../imgs/bnr_message.jpg") ;
    background-position:center center;
    background-repeat:no-repeat;
    
    background-size: auto 100%;
    transition: all .3s;
}

.bnr_message:hover{
    background-size: auto 110%;
}

.bnr_shisetu {
    background: url("../imgs/bnr_shisetu.jpg") no-repeat center center;
    background-size: auto 100%;
    transition: all .3s;
}
.bnr_shisetu:hover{
    background-size: auto 110%;
}


.bnr_access {
    background: url("../imgs/bnr_access.jpg") no-repeat center center;
    background-size: auto 100%;
    transition: all .3s;
}
.bnr_access:hover{
    background-size: auto 110%;
}
.bnr_enkaku {
    background: url("../imgs/bnr_enkaku.jpg") no-repeat center center;
    background-size: auto 100%;
    transition: all .3s;
}
.bnr_enkaku:hover{
    background-size: auto 110%;
}
.bnr_info {
    background: url("../imgs/bnr_info.jpg") no-repeat center center;
    background-size: auto 100%;
    transition: all .3s;
}
.bnr_info:hover{
    background-size: auto 110%;
}


.bnr_recruit-text a:hover{
    
    background-color: rgba(0,0,0,0.1);
}



.bnr_recruit-text h3 {
    font-weight: 700;

    margin-bottom: 2rem;

    text-align: center;

}


.bnr_recruit-text .btn {
    text-align: right;
}



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

    


}



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



    .top-recruit-title {
        margin-bottom: auto;
        margin-top: -8.5rem;
        margin-left: 0rem;
        width: 102%;
    }


    .bnr_recruit-text {
        padding-bottom: 0rem;
        border-radius: 0;
    }


}





#recruit_intro {

    padding-top: 80px;
    padding-bottom: 20px;


}

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



#recruit_intro .txtbox {
    width: 60%;
    margin: 0 auto;
    text-align: center;
    font-size: 1.4rem;
    margin-bottom: 10px;
    position: relative;
    font-family: 'Noto Serif JP', serif;
}


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

    #recruit_intro .txtbox {
        font-size: 1.6rem;

    }

}



#recruit_intro .message .txtbox .ttl {
    display: inline-block;
    font-size: 3rem;
    margin-bottom: 20px;
    position: relative;
}


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

    #recruit_intro .txtbox {
        width: 90%;
        font-size: 1.2rem;
        margin-bottom: .8rem;
        letter-spacing: 0.02em;
    }

}









.flex_wrap-strength {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 8rem;
    background: #F0F0F0;
    z-index: -1;
    position: relative;
    padding-bottom: 3rem;
}





.strength-left {
    width: 50%;
    margin-bottom: 3rem;
}


.strength-right {
    width: 50%;
    margin-bottom: 3rem;
}


.strength_img_area {
    z-index: -1;
    position: relative;
}


.strength_txt_area {
    width: 85%;
    padding: 2rem;
    background: #fff;
    margin: -10rem auto 0 auto;
    position: relative;
}


.strength_no {
    width: 70px;
    height: 70px;
    margin-right: 20px;
    margin-top: -40px;
    position: absolute;
    top: 0;
    right: 0;
    content: "";
}

.strength_no img {
    height: 70px;
    width: auto;
}


.strength_title {
    color: #2185D0;
    margin-bottom: 1.8rem;
    font-size: 1.5rem;
    font-weight: 500;
}

.strength_title span {
    border-bottom: 1px solid #2185D0;
    padding-bottom: .3rem;
    line-height: 2.5rem;

}









.proftable {
    margin-bottom: 8rem;
}


.proftitle {
    background: #F5F5F5;
    padding: 1.5rem 1rem;
    font-size: 1rem;
    line-height: 180%;
    font-weight: 600;
    text-align: center;
    margin: 0;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

}





.proftxt {
    padding: 1.5rem 1rem;
    margin-bottom: 0;
}


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

    .proftitle {
        text-align: left;
        padding: 1.5rem 1rem .3rem 1rem;
    }

    .proftxt {
        padding: .3rem 1rem 1.5rem 1rem;
        margin-bottom: 0;
        align-items: center;
    }

}


.profline {
    border-bottom: 1px solid #aaa;
    background: #fff;
}

.proftable .profline:first-of-type {
    border-top: 1px solid #fff;


}


.recruit_name {

    font-size: 1.6rem;
    text-align: center;

    background: #2185D0;
    color: #fff;
    padding: 1rem;
    justify-content: center;
    display: flex;
    align-items: center;
}


.recruit_name span {
    font-size: .8rem;
    padding-right: 1rem;
    font-weight: 400;
    color: #fff;
    letter-spacing: 0.02em;
    line-height: 200%;
}










.recmorebtn {
    text-align: center;

}

.recmorebtn a {
    position: relative;
    white-space: nowrap;
    color: #111;
    margin: 0 auto;
    max-width: 420px;
    padding: 10px 15px;
    font-size: 1.1rem;
    letter-spacing: 0;
    text-decoration: none;
    display: block;
    border: 1px solid #111;
    transition: 0.4s;

    background: linear-gradient(to left,
        #fff 50%, #c5241c 50%, #c5241c 100%);
    background: linear-gradient(to left,
        #fff 50%, #c5241c 50%);

    background-position: 100% 0;
    background-size: 840px 100px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}


.recmorebtn a:hover {
    background-position: 0 100px;
    color: #fff;
    text-decoration: none;
}

.recarrow {
    position: absolute;
    right: 10px;
    top: 8px;

}


.recmorebtn i {
    position: absolute;
    right: 10px;
    top: 15px;
}



.headimg_left_btn_pc{
    padding:2rem;
    display:flex;
    justify-content: space-evenly;
    align-items: center;
    background: url(../imgs/headimg_l_btn_pc.png) right top no-repeat;
    background-size: cover;
    width:100%;
    height:auto;
    color:#fff;
    position:absolute;
    bottom:0;
}

.headimg_right_btn_pc{
    padding:2rem;
    display:flex;
    justify-content: space-evenly;
    align-items: center;
    background: url(../imgs/headimg_r_btn_pc.png) right top no-repeat;
    background-size: cover;
    width:100%;
    height:auto;
    color:#fff;
    position:absolute;
    bottom:0;
}

.btn_txt p{
    margin-bottom:0;
}

.headimg_left_btn_pc h3{
    font-weight:700;
    margin-bottom:0;
    font-size:2.5rem;
    line-height:100%;
}
.headimg_left_btn_pc h3 span{
    font-size:3rem;
}


.headimg_right_btn_pc h3{
    font-weight:700;
    margin-bottom:0;
    font-size:2.5rem;
    line-height:100%;
}
.headimg_right_btn_pc h3 span{
    font-size:3rem;
}


.headimg_left_btn_pc .btn_link {
border:1px solid #fff;
border-radius:3rem;
padding:1rem 1.5rem;
color:#fff;
transition: 0.4s;
font-weight:700;
margin:0 auto;
width:170px;
display:block;
text-align: center;
}

.headimg_left_btn_pc:hover .btn_link {
background: #fff;
color: #cc0000;
text-decoration: none;
}


.headimg_right_btn_pc .btn_link {
border:1px solid #fff;
border-radius:3rem;
padding:1rem 1.5rem;
color:#fff;
transition: 0.4s;
font-weight:700;
margin:0 auto;
width:170px;
display:block;
text-align: center;
}

.headimg_right_btn_pc:hover .btn_link {
background: #fff;
color: #336699;
text-decoration: none;
}




/* カリキュラム */

#nenji_one, #nenji_two, #nenji_three {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 0 0 0;
}

#nenji_three {
    padding-bottom: 8rem;
}

.carr_content {
    display:flex;
    flex-wrap:wrap;
    justify-content: center;
    align-items: center;
}

.carr_block {
    width:50%;
    padding:2rem 4rem;
    text-align:center;
}

.practice_block{
    margin-bottom:3rem;
}

.carr_block h3 {
    font-weight:800;
    font-size:1.7rem;

}
.carr_block p{
    margin-bottom:3rem;
}


.carr_title {
    text-align:center;
    margin-bottom:3rem;
}

.carr_title img {
    max-width:240px;
}

.carr_time{
    text-align:center;
    margin-bottom:3rem;
    }

.carr_time img{
    width:100%;
max-width: 400px;
max-height: 108px;
}

.carr_time img.three_digit{
max-height: 94px;
}


.carr_detail{
    background:#F3EFEB;
    padding:10rem 0 0rem 0;
}

.car_detail_content {
    background:#fff;
    padding:1rem 4rem;
}

.carr_step{
    text-align:center;
    margin-bottom:3rem;
    margin-top:-6rem;
}

.carr_step img{
    max-width: 160px;
    }

    .car_detail_content h4{
        font-size:1.5rem;
        font-weight:800;
        display:flex;
        align-items: center;
        line-height: 100%;
    }

    .car_detail_content h4 img{
        width:1.5rem;
        margin-right:5px;
        margin-top:3px;
    }

    .car_detail_content h5{
        font-size: 1.1rem;
        font-weight:700;
        margin-bottom:1rem;
    }

.practice_image{
    margin-bottom:1rem;
}


.carr_area {
    margin-bottom:2rem;
}

.haba100 {
    width:100%;
}



.time_table{
    margin-bottom:4rem;
}
.time_table p{
    font-size:.9rem;
}


.time_table table{
    border:1px solid #333;
    width:100%;
    margin-bottom:.5rem;
}

.time_table th{
    border:1px solid #111;
    background:#4D4D4D;
    color:#fff;
    text-align:center;
    padding:.5rem .5rem;
}

.time_table td{
    border:1px solid #333;
    padding:.5rem .5rem;
    text-align:center;
}

.time_table td span.time{
    white-space:nowrap;
}


td.number {
    background:#003BAA;
    color:#fff;
}

td.time {
    background:#558DC6;
    color:#fff;
}


.kamoku_object {
    color:#003BAA;
    border-bottom:1px solid #333;
    padding-bottom:.5rem;
    margin-bottom:.5rem;
}

.kamoku {
    display:flex;
}
.gakka_title {
    color:#003BAA;
    font-weight:700;
    margin-right:1rem;
    
}

.gakka_text{
    margin-bottom:1rem;
}

.gakka_text span{
    font-weight:700;
}





td.number.special {
    background:#DB002B;
}

td.time.special {
    background:#E75571;
}


.kamoku_object.special {
    color:#DB002B;
}

.gakka_title.special {
    color:#DB002B;
}







/* スクールライフ */

.schedule_wrap{
position:relative;
    padding:5rem 0;
}


.schedule_wrap::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 70%;
    height: 100%;
    background-color: #F3EFEB;
    z-index: -1;
}




.sche_line{
display:flex;

justify-content: flex-start;
gap:0 5rem;
align-items: stretch;
}

.sche_left{
    width:40%;
    
}

.sche_right{
    width:60%;
   
}

.scheblock{
    display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  flex-flow: column;
  
}


.between{
  flex-grow: 1;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;

}




.sche_right img {
    border-right:3px solid #fff;
    border-bottom:3px solid #fff;
}


.month_wrap{
    display:flex;
    flex-wrap: wrap;
align-items: center;
justify-content: flex-start;
border-bottom:1px solid #707070;
padding:3rem 0;
gap:1rem 2.5rem;
}

.month_area{
    width:140px;
}
.month_area img{
    width:auto;
    max-height:140px;
}
.test_txt{
    color:#7F1084;
}

.sche_txt li{
    list-style-type: disc;
    font-size:.9rem;
}


.taiken_txt{
    color:#DB002B;
}







/* 卒業後の進路 */

#syushokusaki {
    
    position: relative;
    padding-top:5rem;
}



#syushokusaki::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 70%;
    height: 100%;
    background-color: #F3EFEB;
    z-index: -1;
}


#syushokusaki h2.inagu-title{
    background:#003BAA;
    font-size:1.4rem;
    font-weight:700;
    color:#fff;
    padding: 0.5rem 2rem;
    text-align: center;
}

#syushokusaki h2.inagu-title.special{
    background:#DB002B;
}

.inaugu_list{
    margin-bottom:8rem;
}

.inaugu_list ul{
    display:flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-left:0;
    gap:1rem;
}

.inaugu_list li{
    width: calc(50% - 2rem);
    list-style-type: disc;
    margin-bottom:.5rem;
    margin-left:1rem;
}

.inagu_caution{
    font-size:.8rem;
    margin-top: 4rem;
}

.inagu-rate{
    width:100%;
}
.inagu-rate img{
    width:100%;
    max-width:350px;
}

.inagu-txt h4{
    color:#003BAA;
}

.edu-txt h4 {
    color: #003BAA;
}


.inagu-txt.special h4{
    color:#DB002B;
}

.edu-txt.special h4 {
    color: #DB002B;
}


.flex_wrap-edu {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 8rem;
    gap:3rem;
}


.edu-intro {
    font-size:1.2rem;
    font-weight:700;
    margin-bottom:1rem;
}


.flex_wrap-edu h3 {
    font-size: 1.1rem;
    line-height: 1.6rem;
}

.edu-txt{
    width: 100%;
    max-width:480px;
    padding-right:2rem;
    margin-left:auto;
}


.edu-left {
    width: calc(50% - 3rem);
}


.edu-right {
    width: 50%;
}






.flex_wrap-inagu {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 8rem;
    gap:3rem;
}


.flex_wrap-inagu h3 {
    font-size: 1.1rem;
    line-height: 1.6rem;
}

.inagu-txt{
    width:100%;
    max-width:450px;
    padding-right:2rem;
}


.inagu-left {
    width: 50%;
}


.inagu-right {
    width: calc(50% - 3rem);
}

.inagu-list_content {
    background:#fff;
    padding:4rem 4rem;
}






/* 卒業生の声 */
.voice-wrapper{
background:#F3EFEB;
padding-top:1px !important;
}


.voice_btn_block {

    display:flex;
    justify-content: space-between;
    align-items: center;
    
    margin:0rem 0 0rem 0;
    width:100%;
    

    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 250;


}

.voice_btn {
width:25%;
box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}

.voice_btn a {
    display:flex;
        align-items: center;
        justify-content: center;
    }


.voice_btn_block img {
    width: 100%;
    max-height:70px;
}
.voice_btn-left  {
    background:#0055AA;
    padding:1rem .5rem;
    
    
  }

  .voice_btn-center  {
    background:#003BAA;
    padding:1rem .5rem;
    
    
  }

  .voice_btn-right  {
    background:#0055AA;
    padding:1rem .5rem;
    
    
  }





  .voice_btn-left_special  {
    background:#DB002B;
    padding:1rem .5rem;
    
    
  }

  .voice_btn-center_special  {
    background:#B50024;
    padding:1rem .5rem;
    
    
  }

  .voice_btn-right_special  {
    background:#DB002B;
    padding:1rem .5rem;
    
    
  }




.voice-sns{
    background:#fff;
    padding:1rem .5rem;
    display:flex;
        align-items: center;
        justify-content:space-around;
}

.voice-sns img{
    width:100%;
    max-width:45px;
}




.flex_wrap-voice {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 8rem;
    gap:3rem;
}


.voice-name {
    font-size:1.4rem;
    font-weight:700;
    margin-bottom:1.5rem;
    line-height:120%;
}

.sub_name{
    font-size:.9rem;
    
}

.voice-txt{
    width: 100%;
    max-width:480px;
    
    margin-left:auto;
    background:#fff;
    padding:4rem 3rem 2rem 3rem;
    margin-right:-8rem;
    margin-top:6rem;
    position:relative;
    
}

.voice-no01{
    position:absolute;
    left:-3rem;
    top:-4rem;
    width:200px;
}

.voice-no02{
    position:absolute;
    right:-3rem;
    top:-4rem;
    width:200px;
}

.voice-left {
    width: calc(40% - 3rem);
    z-index:10;
}


.voice-right {
    width: 60%;
    max-width:1060px;
}



.voice-txt-reverse {
    width: 100%;
    max-width:480px;
    
    margin-right:auto;
    background:#fff;
    padding:4rem 3rem 2rem 3rem;
    margin-left:-8rem;
    margin-top:6rem;
    position:relative;
    
}


.voice-left-reverse {
    width: 60%;
    max-width:1060px;
}


.voice-right-reverse {
    width: calc(40% - 3rem);
    z-index:10;
}


#further{
    position:relative;
    padding-top:5rem;
    padding-bottom: 1px;
}


#further::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 75%;
    height: 100%;
    background-color: #EDE8E4;
    z-index: -1;
}





/* 募集要項 */

.outline_btn a{
background:#0055AA;
padding:2rem 2rem;
display:flex;
font-size:1.2rem;
font-weight:700;
align-items: center;
justify-content: space-between;
color:#fff;
margin-bottom:10rem;
transition: 0.4s;
}


.outline_btn a:hover{
    background:#E2ECF5;
    color:#0055AA;
    }



.outline_btn.special a{
    background:#DB002B;
    }
    
    
.outline_btn.special a:hover{
    color:#DB002B;
    background:#FBE2E7;
    }


.outline_btn.download a{
        background:#FFFF00;
        color:#111;
        max-width:800px;
        width:100%;
        margin:0 auto 3rem auto;
        }

.outline_btn.download a:hover{
    background:#fefec9;
    }


.special .must {
    background-color: #DB002B;
}
.koujyo {
    font-size:.9rem;
    font-weight:500;
}



/* オープンキャンパス */
.oc_flyer{
    width:100%;
    max-width:800px;
    margin:0 auto 5rem auto;
}

.blue_txt{
    color:#0055AA;
}

.red_txt{
    color:#DB002B;
}

#oc_offer{
padding-top:5rem;
    background:#F3EFEB;
}

.fax_tel{
    font-weight:700;
    font-size:1.2rem;
    margin:1rem 0 1rem 0;

}

.offer_announce{
    max-width:800px;
    margin:0 auto 6rem auto;
}


.offer_announce h4 {
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom:3rem;
}
.offer_announce h4 img {
    width: 1.5rem;
}



/* 愛自整会 */

.aizisei-wrap{
    background:#F3EFEB;
}

#about-aizisei{
padding-top:6rem;
padding-bottom:6rem;
}



.kai-wrap{
    width: 100%;
    position:relative;
    left:30vw;
    margin-left:auto;
}


.kai-img{
    width:70%;
    max-width:1200px;
    
}

.kai-txt {
    width:100%;
    max-width: 800px;
    padding-right: 2rem;
    
    margin-top:4rem;
}


.kai-txt h4 {
    color: #111;
    position:relative;
    padding-top:4rem;
}

.kai-txt h4:before {
    background: #0055AA;
    position:absolute;
    height:5px;
    width: calc(30px + 40 * ((100vw - 320px) / 1120));
    content:"";
    top:0;
    left:0;
}


#kaiinkigyou {
    
    position: relative;
    padding:8rem 0;
}


#kaiinkigyou::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 90%;
    height: 100%;
    background-color: #fff;
    z-index: -1;
}

h2.kigyou-title{
    
    font-size:1.6rem;
    font-weight:700;
    margin-bottom:3rem;

    white-space:nowrap;

}

.kigyou-title span{
    color:#9D9D9D;
    font-size:1.1rem;
    font-weight:700;
    
}


.kigyou-list_content{
    display:flex;
    align-items: flex-start;
    justify-content: space-between;
    gap:2rem;
    flex-wrap: wrap;
    width:100%;
}

.kigyou-list-title{
    width:25%;
}


.kigyou_list{
    margin-bottom:8rem;
    width:70%;
    
}

.kigyou_list ul{
    display:flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}

.kigyou_list li{
    width:45%;
    list-style-type: disc;
    margin-bottom:.5rem;
}

.kai-rate img{
    width:100%;
    max-width:500px;
}






/* 企業、団体のみなさまへ */

.announce {
    width:100%;
    max-width:800px;
    margin:0 auto;
}

.announce h3 {
    color:#FFFF00;
    font-weight:700;
    font-size:1.7rem;
    padding:.7rem 1rem 1rem 1rem;
margin-bottom:3.7rem;
    background: #000000 url(../imgs/announce_bg.png) left center no-repeat;
    background-size: cover;
    position:relative;
}
.announce h3:before {
    position:absolute;
    background: #fff;
    content:"";
    height:2px;
    width:100%;
    bottom:7px;
    left:0;
}



.announce_detail{
    margin:5rem 0;
}

.announce_list{
    margin-bottom:2rem;
}

.announce_list h4{
    margin-bottom:.5rem;
    font-size:1.1rem;
    font-weight:700;
}

.pdf_mark {
    width:100%;
    max-width:70px;
    margin:0 1rem;
}


.donation_intro{
    border-left:5px solid #FFFF00;
    padding-left:12px;
    margin-bottom:2rem;
    margin-top:2rem;
}

.signature{
    display:flex;
    align-items: flex-start;
    justify-content: flex-end;
    margin-top:3rem;
    
}

.points {
    width: calc(100% - 2rem);;
    max-width:800px;
    margin:0 auto;
    
}


.points h3 {
    border-left:5px solid #FFFF00;
    padding-left:12px;
    margin-bottom:5rem;
    margin-top:2rem;
    font-size:1.6rem;
}


.points h4 {
    border-bottom:1px solid #333;
    padding-left:12px;
    padding-bottom:1rem;
    margin-bottom:1rem;
    margin-top:2rem;
    font-size:1.2rem;
    font-weight:700;
}

.points p {
    margin-bottom:3rem;
    margin-left:1rem;
    margin-right:1rem;
}


.points ul {
    margin-left:2rem;
    margin-bottom:2rem;
}

.points li {
    list-style-type: disc;
    margin-bottom:1rem;
}

.points li ul {
    margin-top:1rem;
}
.points li ul li {
    list-style-type:decimal;
    margin-bottom:1rem;
}


.send_money {
    margin-bottom:3rem;
    margin-left:2rem;
}

.sm_line{
    display:flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin-bottom:.5rem;
}


.sm_title {
    white-space: nowrap;
    width:100px !important;
    font-weight:700

}
.sm_txt {
    width: calc(100% - 80px);
}

.syomei_table table {
width:100%;
max-width: 600px;
}

.syomei_table td {
    background:#F3EFEB;
    padding:1rem;
    border:1px solid #666;
}

.syomei_table td.price {
    background:#fff;
    text-align: center;
}


.sinsei_table {
    display:flex;
gap:1rem;
margin-bottom:3rem;
}


.sinsei_type{
    background:#9D9D9D;
    padding:1rem .3rem;
    width:2rem;
    text-align: center;
}

.sinsei_type img{
    width:1.2rem;
    height:100%;
}

.sinsei_detail{
    width: calc(100% - 3rem);
}


.sinsei_detail_list{
    display:flex;
    margin-bottom:1.5rem;
    margin-top:1rem;
}

.sinsei_txt h5{
    font-size:1.2rem;
    margin-bottom:0;
    margin-top:.5rem;
}

.schoolname{
    font-weight:700;
    font-size:1.2rem;
    padding-top:1rem;
    padding-bottom:1rem;
    display:block;

}


.sinsei_tab {
    width:100%;
    max-width:300px;
    margin:-1.5rem auto 0 auto;
}






/* company */


.company-content-title {
    border-left: 2px solid #cc0000;
    color: #111;
    font-size: 2rem;
    padding-left: 1.8rem;
    font-weight: 700;
    margin-bottom: 2rem;
}

.company-content-title span {
    display: block;
    color: #cc0000;
    font-size: 1.2rem;
    font-weight: 400;
    margin-bottom: 12px;
}




.greetingtxt {
    font-size: 1.3rem;
    line-height: 2.2rem;
    font-weight: 700;
    margin-bottom: 2rem;

}



#company-intro {
    margin-top: 40vh;

    padding-top: 4rem;
    padding-bottom: 2rem;

}




#company-greeting {
    
    background: #F8F4EB;
    padding-top: 4rem;
    padding-bottom: 4rem;
}




#message-greeting {
    margin-top: 0px;
    background: #fff;
    padding-top: 4rem;
    padding-bottom: 4rem;


}


#message, #facility, #history, #access {
    padding-bottom: 8rem;
}




.message_txt{
    position:relative;
    width:100%;
    max-width:1100px;
    padding:4rem 4rem;
    background:#fff;
    margin:-5rem auto 0 auto;
    z-index:2;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}

.message_txt p{
    line-height: 2.3rem;
}


.schooltxt {
    margin-right:.8rem;
}


.sc_name{
    display: flex;
    justify-content: flex-end;
    margin-top: 3rem;
    flex-flow: column;
    align-items: flex-end;
    margin-left:auto;
}



.principal_name{
    display:flex;
    align-items: center;
    justify-content: space-between;
font-size:1.6rem;
margin-top:.5rem;
letter-spacing: .7rem;

}

.principal_name span{
    font-size:.9rem;
    font-weight:400;
    margin-right:1rem;
    letter-spacing: .2rem;
}



.company-block {
    margin-bottom: 8rem;
    margin-top: 6rem;
}




.ceo-img {
    margin-top: 3rem;
}



#service-outline {
    margin-top: 40vh;
    padding-top: 4rem;
    padding-bottom: 6rem;

}


#recruit-outline {
    padding-top: 20px;
    padding-bottom: 6rem;


}

#company-outline {
    padding-top: 20px;
    padding-bottom: 6rem;
    background: #fff;

}

#company-history {

    background: #faf9f4;
    padding-top: 4rem;
    padding-bottom: 4rem;
    border-top: 1px solid #ccc;

}




#policy-outline {
    margin-top: 40vh;

    padding-bottom: 6rem;

}




.outline-gmap {
    margin-top: 2rem;
    position: relative;
    width: 100%;
    max-width: 400px;
    height: 340px;

    &: after {
        ;
        content: "";
        width: 100%;
        height: 100%;
        display: block;
        background-color: #ff6c00;
        position: absolute;
        top: 0;
        left: 0;
        mix-blend-mode: hue;
        pointer-events: none;
    }

    :;
}




.outline {
    margin: 0 auto 0rem auto;
    width: 100%;
    max-width: 900px;

    padding: 0rem 3rem 2rem 3rem;
}



#company-intro .outline {
    margin-top: -8rem;
    background: #fff;
    max-width: 800px !important;
    line-height: 1.8rem;
}




.company-content-title .ol_line:first-child {
    border-top: 1px solid #333;
}


.ol_line {
    display: flex;
    width: 100%;
    align-items: start;
    justify-content: space-between;
    padding: 35px 0 35px 10px;
    position: relative;
    flex-flow: column;

}


.ol_line::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #aaa;
}

.ol_subject {
    width: 100%;
    font-size: 15px;
    line-height: 28px;

    margin-right: 70px;
    font-weight: 600;

    padding-left: 15px;
    position: relative;
}

.ol_subject:before {
    position: absolute;
    left: 0;
    top: 50%;
    width: 8px;
    content: "";
    height: 2px;
    background: #cc0000;

}




.ol_detail {
    font-size: 15px;
    line-height: 28px;
    width: calc(100% - 100px);
    font-weight: 500;
    text-align: left;
}


.ol_detail ul {
    margin-bottom: 4rem;
    margin-left: 1.5rem;
}

.ol_detail h5 {
    margin-bottom: .8rem;
    font-size: 1.2rem;
    border-bottom: 1px solid #333;
    padding-bottom: .6rem;
}

.ol_detail li {
    list-style-type: circle;
    margin-bottom: .5rem;
}





.h_line {
    display: block;
    width: 100%;
    align-items: start;
    justify-content: space-between;
    padding: 35px 0 35px 10px;
    position: relative;

}

.h_line::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #0168B7;
}


.h_line::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #aaa;
}

.h_subject {
    width: 100%;
    font-size: 15px;
    line-height: 28px;
    text-align: left;
    margin-bottom: 1rem;

}

.h_detail {
    font-size: 15px;
    line-height: 28px;
    width: 100%;
    font-weight: 500;
    text-align: left;
}








/*========= 採用の流れ ===============*/


#recruit_flow {

    background: #faf9f4;
    padding-top: 4rem;
    padding-bottom: 4rem;
    border-top: 1px solid #ccc;

}


.flex_wrap-flow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    background: #F0F0F0;

    position: relative;
    padding: 3rem 0;
}





.flowlink-left {
    width: 100%;
    max-width: 580px;
    position: relative;
    background: #000;
}


.flowlink-right {
    width: 50%;
    margin-bottom: 4rem;
    position: relative;
    background: #000;
}


.flowlink_img_area {
    position: relative;

}

.flowlink_img_area img {
    opacity: .5;

}




.flowlink_txt_area {
    position: absolute;
    content: "";
    left: 0;
    top: 50%;

    width: 100%;
    height: 100%;
    padding: 2rem;

}



.flowllink_title {
    position: absolute;

    font-weight: 700;
    color: #fff;
    font-size: 2rem;
    width: 100%;
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);

}








.flow_line {
    margin-bottom: 3rem;
    position: relative;
    background: #fff;
    padding: 20px 40px 20px 40px;
}


.flow_line:after {
    position: absolute;
    width: 15px;
    height: 15px;
    left: 49%;
    bottom: -25px;
    content: "▼";
}

.flow_line.last_line:after {
    position: absolute;
    width: 0;
    height: 0;
    left: 0;
    bottom: 0;
    content: "";
}


.flow_step {
    width: 100%;
    font-size: 15px;
    line-height: 28px;
    text-align: left;
    margin-bottom: 1rem;

}

.flow_detail {
    font-size: 15px;
    line-height: 28px;
    width: 100%;
    font-weight: 500;
    text-align: left;
}





.flow_no-mark {
    text-align: center;
    width: 80px;
    height: 80px;
    color: #2185D0;
    border: 2px solid #2185D0;
    /* ←上下20pxのボーダー */
    background-color: #fff;
    border-radius: 50%;
    margin: 0 auto;
    text-align: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}


.flow_step_txt {
    font-size: 12px;
    line-height: 12px;
    display: block;
}

.flow_step_no {
    font-size: 32px;
    line-height: 34px;
    font-weight: 700;
}


.flow_title {
    font-size: 1.5rem;
    margin-bottom: 1rem;
}







/* gallery */

.img-gallery {
    padding: 0px 0 0px 0;
    margin: 0 0 0px 0;
}

.img-gallery img {
    border-radius: 0px;
}








#gallery h2 {

    text-align: center;
    margin: 0 0 30px 0;

    font-size: clamp(20px, 4vw, 38px);
    font-weight: 400;
    line-height: 1.4;

    border-bottom: 1px solid #111;
    padding-bottom: 1rem;

}

@media screen and (max-width:768px) {
    #gallery h2 {
        margin: 0 0 50px 0;
    }

}


#gallery p {
    line-height: 2;
    margin: 0 0 10px 0;
}


.season-name {
    background: #111;
    color: #fff;
    padding: 2px 8px;
    display: inline-block;
    margin-bottom: 2rem;
}


.season-name a {
    color: #fff;
}



#gallery .gallery-area {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 0 200px 0;
}

@media screen and (max-width:768px) {
    #gallery .gallery-area {
        margin: 0 0 200px 0;
    }
}

@media screen and (max-width:590px) {
    #gallery .gallery-area {
        margin: 0 0 50px 0;
    }

}




#gallery .gallery-area .img {
    width: 50%;

    overflow: hidden;
    display: flex;
    align-items: flex-start;
}

#gallery .gallery-area .content {
    width: 46%;
    background: #fff;

    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}


@media screen and (max-width:900px) {
    #gallery .gallery-area .img {
        width: 100%;
        height: 100%;
    }

    #gallery .gallery-area .img img {
        width: 100vw;
        height: 100%;
        z-index: 2;
    }

    #gallery .gallery-area .content {
        width: 100%;
        top: -15px;
        animation: none;
        opacity: 1;
        z-index: 1;
    }


}



.item-description {
    background: #f5f5f5;
    padding: 2rem;

    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;

}

.item-description_item_name {
    width: 100%;
}


.item-description_title {
    width: 20%;
    margin-bottom: 1rem;
}

.item-description_text {
    width: 70%;
    margin-bottom: 1rem;
}


#gallery .gallery-area .content-area {
    padding: 40px;
    text-align: left;

}


#gallery .gallery-area .content-area h3 {
    font-size: clamp(16px, 4vw, 20px);
    margin: 0 0 20px 0;
    font-weight: 600;
}

#gallery .gallery-area .content-area h3 span {
    font-weight: bold;
    text-transform: uppercase;
    display: block;
    font-size: 1.2rem;
}


#gallery .gallery-area .content-area h3.philosophy-title {
    text-align: center;
    font-size: 2rem;
    margin: 0 0 30px 0;
    padding-bottom: 1rem;
    border-bottom: 2px solid #111;
}


#gallery .gallery-area .content-area p {
    margin: 0 0 30px 0;
}

#gallery .btn {
    text-align: right;
}





.gallery-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-left: 7rem;
    padding-right: 7rem;
}


.gallery-list::after {
    display: block;
    content: "";
    width: 30%;
}



.gallery-list-box {
    width: 30%;
}




.gallery-list-box img {
    margin-bottom: 1rem;
}




.gallery-list-box-title h3 {
    font-size: clamp(17px, 2.8vw, 20px);
    margin-bottom: 1.5rem;
    font-weight: 600;
}








.other_posts {
    width: 100%;
    text-align: center;
    margin: 5rem 0 3rem 0;
}











.slider1 img,
.slider2 img {
    width: 100%;
    /*スライダー内の画像を横幅100%に*/
    height: auto;
}

.slider1 .slick-slide,
.slider2 .slick-slide {
    margin: 0 1px 2px 1px;
    /*スライド左右の余白調整*/
}




#service .orderflow-area {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-end;

}





#service .orderflow-area:nth-of-type(2n) {
    flex-direction: row-reverse;
}


#service .orderflow-area .img {
    width: 80%;
}

#service .orderflow-area .content {
    width: 40%;
    position: relative;
    top: 0px;
    right: -70px;

    justify-content: center;
    align-items: center;

    z-index: 10;
}

#service .orderflow-area .content.left {
    right: auto;
    left: -70px;
}








#service .orderflow-area .content-area {
    padding: 40px 40px 40px 0px;
    background: #fff;
    border-radius: 0 15px 0 0;
}






#service .orderflow-area .content-area h3 {
    text-align: left;
    font-size: 1.5rem;
    margin: 0 0 20px 0;
    position: relative;

}




.sec-about-img {
    border-radius: 15px;
}



#service .btn {
    text-align: right;
}





/* service */

#service01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 0 0 0;
    padding-top: 5rem;
}


#service02,
#service03,
#service04,
#service05,
#service06,
#service07 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin: 5rem 0 0 0;
}



#service01 .content,
#service02 .content,
#service03 .content,
#service04 .content,
#service05 .content,
#service06 .content,
#service07 .content {
    width: 100%;

}



#service-works {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin: 30vh 0 0 0;
    padding-top: 6rem;
    padding-bottom: 6rem;
    background: #F8F4EB;

}






.pointimg {
    width: calc(40% + 10 * ((100vw - 320px) / 1120));
}

.service h3 {
    position: relative;
    margin: 0 0 1.5em 0;
    padding: 1.5rem 6px 2.8rem 6px;
    min-width: 120px;
    max-width: 100%;
    color: #111;
    text-align: center;
    font-size: 2.5rem;
    font-weight: 800;
    text-shadow: 2px 2px 0px #FFFF00;
    text-transform: capitalize;
    line-height: 100%;
}

.service h3 img {
    width:50px;
    margin-right:1rem;
}

.service .suben {
    display:block;
    position: relative;
    margin: 0 0 0 0;
    padding: 1.5rem 6px 0 6px;
    min-width: 120px;
    max-width: 100%;
    color: #666;
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    text-transform: capitalize;
    line-height: 100%;
}

.service h3:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    background: #aaa;
    margin-left:-32px;
    width:64px;
    height:3px;
}


.info_title_wrap {

}






.service .info_title_wrap h3 {
    position: relative;
    margin: 0 0 0 0;
    padding: 1.5rem 0 2.8rem 0;
    min-width: 120px;
    max-width: 100%;
    color: #111;
    text-align: left;
    font-size: 2rem;
    font-weight: 800;
    text-shadow: none;
    text-transform: none;
    line-height: 100%;
}

.service .info_title_wrap .suben {
    display:block;
    position: relative;
    margin: 0 0 0 0;
    padding: 1.5rem 0 0 0;
    min-width: 120px;
    max-width: 100%;
    color: #666;
    text-align: left;
    font-size: 1rem;
    font-weight: 600;
    text-transform: capitalize;
    line-height: 100%;
}


.service .info_title_wrap h3:before {
    background: none;
}





.service h4 {
    border-left:5px solid #139AE5;
    padding-left:.8rem;
    margin-top:3rem;
}

.service-table table{
    border:1px solid #333;
    width:100%;
}

.service-table th{
    border:1px solid #333;
    background:#139AE5;
    color:#fff;
    padding:1rem 1.5rem;
    width:30%;
}


.service-table td{
    border:1px solid #333;
    background:#fff;
    padding:1rem 2rem;
    width:70%;
}








.katei-content h3 {
    position: relative;
    margin: 0 0 7rem 0;
    padding: 1.5rem 6px 2.8rem 6px;
    min-width: 120px;
    max-width: 100%;
    color: #111;
    text-align: center;
    font-size: 2.5rem;
    font-weight: 800;
    text-transform: capitalize;
    line-height: 140%;
}

.katei-content h3 img {
    width:50px;
    margin-right:1rem;
}

.katei-content .suben {
    display:block;
    position: relative;
    margin: 0 0 0 0;
    padding: 1.5rem 6px 0 6px;
    min-width: 120px;
    max-width: 100%;
    color: #003BAA;
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    text-transform: capitalize;
    line-height: 100%;
}

.katei-content .suben.special {
    color: #DB002B;
    
}

.katei-content h3:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    background: #aaa;
    margin-left:-32px;
    width:64px;
    height:3px;
}







.banner_area {
    width:100%;
    max-width:1000px;
    margin:0 auto 6rem auto;
}


.content_bnr{
    margin-top:1rem;
    
    padding:0rem 0 2rem 0;
    position:relative;
    z-index:200;
}




.content_bnr.bnr01:before{
    left:0;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: #0055AA url(../imgs/content_bnr_bg01.png) left top no-repeat;
    background-size: contain;
    z-index:-1;

}


.content_bnr.bnr01:after{
    right:-17rem;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: url(../imgs/content_bnr_bg01.jpg) right top no-repeat;
    background-size: contain;
    z-index:-1;

}


.content_bnr.bnr02:before{
    right:0;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: #003BAA url(../imgs/content_bnr_bg02.png) right top no-repeat;
    background-size: contain;
    z-index:-1;

}


.content_bnr.bnr02:after{
    left:-10rem;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: url(../imgs/content_bnr_bg02.jpg) left top no-repeat;
    background-size: contain;
    z-index:-1;

}




.content_bnr.bnr03:before{
    left:0;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: #0055AA url(../imgs/content_bnr_bg03.png) left top no-repeat;
    background-size: contain;
    z-index:-1;

}


.content_bnr.bnr03:after{
    right:-5rem;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: url(../imgs/content_bnr_bg03.jpg) right top no-repeat;
    background-size: contain;
    z-index:-1;

}



.content_bnr.bnr04:before{
    right:0;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: #003BAA url(../imgs/content_bnr_bg04.png) right top no-repeat;
    background-size: contain;
    z-index:-1;

}


.content_bnr.bnr04:after{
    left:-10rem;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: url(../imgs/content_bnr_bg04.jpg) left top no-repeat;
    background-size: contain;
    z-index:-1;

}







.content_bnr.bnr01_special:before{
    left:0;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: #DB002B url(../imgs/content_bnr_bg01_special.png) left top no-repeat;
    background-size: contain;
    z-index:-1;

}


.content_bnr.bnr01_special:after{
    right:-17rem;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: url(../imgs/content_bnr_bg01_special.jpg) right top no-repeat;
    background-size: contain;
    z-index:-1;

}


.content_bnr.bnr02_special:before{
    right:0;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: #BE0025 url(../imgs/content_bnr_bg02_special.png) right top no-repeat;
    background-size: contain;
    z-index:-1;

}


.content_bnr.bnr02_special:after{
    left:-10rem;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: url(../imgs/content_bnr_bg02_special.jpg) left top no-repeat;
    background-size: contain;
    z-index:-1;

}




.content_bnr.bnr03_special:before{
    left:0;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: #DB002B url(../imgs/content_bnr_bg03_special.png) left top no-repeat;
    background-size: contain;
    z-index:-1;

}


.content_bnr.bnr03_special:after{
    right:-5rem;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: url(../imgs/content_bnr_bg03_special.jpg) right top no-repeat;
    background-size: contain;
    z-index:-1;

}



.content_bnr.bnr04_special:before{
    right:0;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: #BE0025 url(../imgs/content_bnr_bg04_special.png) right top no-repeat;
    background-size: contain;
    z-index:-1;

}


.content_bnr.bnr04_special:after{
    left:-10rem;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    background: url(../imgs/content_bnr_bg04_special.jpg) left top no-repeat;
    background-size: contain;
    z-index:-1;

}







.content_bnr_sp {
    display:none;
}

.content_bnr_sp img {
    margin-bottom:10px;
}






.inner-wrap{
    width:100%;
    max-width: 1000px;
    margin:0 auto 0 auto;
    color:#fff;
    padding:0 15px;
}


.left-inner{
    width: calc(40% + 150 * ((100vw - 320px) / 1120));
}

.right-inner{
    width: calc(40% + 150 * ((100vw - 320px) / 1120));
    margin-left:auto;
}



.content_bnr h3{
    font-size:2.3rem;
    font-weight:800;

}

.content_bnr h3 img{
    width:auto;
    max-height:62px;
    margin-top:2.5rem;
}



.content_bnr h4{
    font-size:1.5rem;
    margin-bottom:1rem;
    font-weight:700;
}

.content_bnr p{
    margin-bottom:2.5rem;
}


.bnr_number {
    font-size:5rem;
    letter-spacing: 0;
    
}



#service-slide{
    background:#fff;
    padding:3rem;
    position:relative;
}


#service-slide:after{
    content:"";
    background: url(../imgs/car_bg.png) right top no-repeat;
    background-size: 600px;
    mix-blend-mode: multiply;
    opacity: 0.3;
    width: 100%;
    height: 100%;
    position:absolute;
    right:-35rem;
    top:-16rem;
    z-index: 1;
}





#higer-under{
    
    padding:3rem 0 8rem 0;
    position:relative;
}

#higer-under::after {
    content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 70%;
  height: 100%;
  background-color: #F3EFEB;
  z-index: -1;
  }





.facility_intro h2{
    font-size:5rem;
    font-weight:800;
    margin-bottom:1rem;
    text-shadow: 4px 3px 0px #ccc;
    text-transform: capitalize;
    letter-spacing: 0;
    line-height:100%;
}
.facility_intro h2 span{
    color:#0055AA;
}

.facility_intro h2.special span{
    color:#DB002B;
}

.facility_intro p{
    font-size:1.3rem;
    font-weight:800;
}


.bnr_btn a {
    border:1px solid #fff;
    border-radius:3rem;
    padding:.5rem 1rem;
    color:#fff;
    transition: 0.4s;
    font-weight:700;
    
    width:220px;
    display:block;
    text-align: center;
    
    }
    
    .bnr_btn a:hover {
    background: #fff;
    color: #111;
    text-decoration: none;
    }



    .facility-text {}

    .facility-text h4 {
        font-weight: 600;
        font-size: 1.4rem;
        margin-bottom: 1rem;
        color: #0055AA;
    
        display: flex;
        align-items: center;
        justify-content: flex-start;
    
    }
    .facility-text h4.special {
        color: #DB002B;
    }
    
    .facility-text h4 span {
        font-weight: 400;
        font-size: 3.5rem;
        margin-right: 1rem;
    }
    
    
    .facility-text h4.color-black {
        color: #111;
    }

    
    .link_btn a {
        border:1px solid #0055AA;
        border-radius:3rem;
        padding:.5rem 1rem;
        color:#0055AA;
        transition: 0.4s;
        font-weight:700;
        
        width:220px;
        display:block;
        text-align: center;
        
        }
        
        .link_btn a:hover {
        background: #0055AA;
        color: #fff;
        text-decoration: none;
        }
    





        .link_btn.special-btn a {
            border:1px solid #DB002B;
            color:#DB002B;
            }
            
            .link_btn.special-btn a:hover {
            background: #DB002B;
            color: #fff;
            text-decoration: none;
            }



.voice_intro{
    text-align: center;
    }
        
.voice_intro h2{
    font-size:5rem;
    font-weight:800;
    margin-bottom:1rem;
    text-shadow: 4px 3px 0px #ccc;
    text-transform: capitalize;
    letter-spacing: 0;
    line-height:100%;

}


.voice_intro p{
    text-align: center;
    font-size:1.3rem;
    font-weight:800;
    }

.voice_intro h2 span{
    color:#0055AA;
}

.voice_intro h2.special span{
    color:#DB002B;
}


.voice-text p{
    text-align: center;
}


.voice-btn {
    display:flex;
    justify-content: center;
    
}









.swiper-button-next{

}


.swiper-button-prev, .swiper-button-next{
    background:#fff;
    border-radius:50%;
    padding:1.5rem;

}
.swiper-button-prev:after, .swiper-button-next:after{
    
    font-size:20px !important;
    font-weight:700;
}



.swiper-wrap{
    width: 100%;
    max-width: 680px;
    margin:0 auto;

}


.swiper-slide {
    position: relative;
  }
  .swiper-catch {
    position: absolute;
    top: 0;
    left: -50px;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;

    display: flex;
    align-items: flex-end;

  }
  .swiper-catch * {
    flex-shrink: 0;
  }
  .swiper-catch h1 {
    font-size: 3rem;
    font-weight: bold;
  }
  .swiper-catch p {
    font-size: 1rem;
    margin: 0;
    line-height: 1.75;
  }
  @keyframes swiperCatchAnimation {
    0% {
      opacity: 0;
      transform: translateX(0);
    }
    100% {
      opacity: 1;
      transform: translateX(50px);
    }
  }
  .swiper-slide .swiper-catch {
    opacity: 0;
  }
  .swiper-slide-active .swiper-catch {
    animation-name: swiperCatchAnimation;
    animation-duration: 0.4s;
    animation-delay: 0.6s;
    animation-fill-mode: both;
  }



  .swiper-slide .swiper-catch .swiper-catch-inner img {
    width: calc(240px + 500 * ((100vw - 320px) / 1120));
    max-width: 660px;
  }


.swiper-bg{
    background:#333;
}


.special .swiper-button-prev,
.special .swiper-button-next {
  
  color: #DB002B;
}







.footer_btn_block{
    z-index: 100;
    position:relative;
}

  .footer_btn_block img{
height:30px
  }


  .footer_btn-left a {
    background:#558DC6;
    padding:1.5rem 1rem;
    width:100%;
    display:block;

  }

  .footer_btn-center a {
    background:#1C67B3;
    padding:1.5rem 1rem;
    width:100%;
    display:block;
  }

  .footer_btn-right a {
    background:#003BAA;
    padding:1.5rem 1rem;
    width:100%;
    display:block;
  }





  .special .footer_btn-left a {
    background:#EF8DA0;
    padding:1.5rem 1rem;
    width:100%;
    display:block;

  }

  .special .footer_btn-center a {
    background:#E3385A;
    padding:1.5rem 1rem;
    width:100%;
    display:block;
  }

  .special .footer_btn-right a {
    background:#DB002B;
    padding:1.5rem 1rem;
    width:100%;
    display:block;
  }


.setsubi_intro {
    margin:0 15px
}



.facility_map{
    width:100%;
    max-width:1100px;
    margin:7rem auto 0 auto;
    padding:0 15px;
}


.faci_purple{
    color:#773687;
}

.faci_green{
    color:#008129;
}

.faci_red{
    color:#DB002B;
}

.faci_blue{
    color:#003BAA;
}

.faci_black{
    color:#111;
}

.faci_brown{
    color:#9F6636;
}


.red{
    color:#DB002B;
}

.blue{
    color:#003BAA;
}

.faci_purple h4{
    border-left:4px solid #773687;
    border-bottom:1px solid #333;
    padding-bottom:.5rem;
    font-size:1.7rem;
    padding-left:.8rem;
}


.faci_green h4{
    border-left:4px solid #008129;
    border-bottom:1px solid #333;
    padding-bottom:.5rem;
    font-size:1.7rem;
    padding-left:.8rem;
}

.faci_red h4{
    border-left:4px solid #DB002B;
    border-bottom:1px solid #333;
    padding-bottom:.5rem;
    font-size:1.7rem;
    padding-left:.8rem;
}


.faci_blue h4{
    border-left:4px solid #003BAA;
    border-bottom:1px solid #333;
    padding-bottom:.5rem;
    font-size:1.7rem;
    padding-left:.8rem;
}

.faci_black h4{
    border-left:4px solid #111;
    border-bottom:1px solid #333;
    padding-bottom:.5rem;
    font-size:1.7rem;
    padding-left:.8rem;
}


.faci_brown h4{
    border-left:4px solid #9F6636;
    border-bottom:1px solid #333;
    padding-bottom:.5rem;
    font-size:1.7rem;
    padding-left:.8rem;
}







.solar-detail-box {

    background: #fff;
    border-radius: 1rem;
    text-align: center;
    padding: 1rem 1rem .5rem 1rem;
    margin-bottom: 2rem;

}


#service h4 {
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 1rem;
}

.detail-title {
    color: #cc0000;
    font-size: 1.2rem;

}


.solar-detail-number {
    width: 40px;
    height: 40px;
    line-height: 40px;
    background-color: #cc0000;
    margin: 0 auto 1rem auto;
    color: #fff;
    font-size: 1.3rem;
    font-weight: 500;
    border-radius: 50%;
    text-align: center;
    box-sizing: border-box;
    position: relative;
    margin-top: -2.5rem;
}


.solar-detail-box p {
    font-size: .9rem;
}



.form-area {
    
    padding: 5rem 2rem 2rem 2rem;
    margin-top: -4rem;
}




.melit-area {
    margin-top: 5rem;
}


.melit-text {}

.melit-text h4 {
    font-weight: 600;
    font-size: 1.4rem;
    margin-bottom: 1rem;
    color: #1D65AC;
    border-bottom: 1px solid #414141;
    padding-bottom: 1rem;

    display: flex;
    align-items: center;
    justify-content: flex-start;

}


.melit-text h4 span {
    font-weight: 400;
    font-size: 3.5rem;
    margin-right: 1rem;
}


.melit-text h4.color-black {
    color: #111;
}



.melit-text.tsuyomi h4 {
    font-weight: 600;
    font-size: 1.4rem;
    margin-bottom: 1rem;
    color: #1D65AC;
    border-bottom: none;
    padding-bottom: 0rem;
    display: flex;
    align-items: centers;
    background: #fff;
    line-height: 140%;
    padding: 1rem 1rem;
}


.melit-text.tsuyomi h4 span {
    font-weight: 600;
    font-size: 2.2rem;
    margin-right: 1rem;
}




.melit-text.kentou {
    background: #E5F0FB;
    border-radius: .6rem;
    padding: 2rem 2rem 1rem 2rem;
    margin-bottom: 5rem;
}

.melit-text.kentou h4 {
    font-weight: 600;
    font-size: 1.4rem;
    margin-bottom: 1rem;
    color: #1D65AC;
    border-bottom: none;
    padding-bottom: 0rem;
    display: flex;
    align-items: centers;
    background: none;
    line-height: 100%;
    padding: 1rem 0rem;
}


.melit-text.kentou h4 span {
    font-weight: 600;
    font-size: 2.2rem;
    margin-right: 1rem;
}



.melit_point {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-top: 3rem;
}

.melit_point img {
    width: calc(100px + 80 * ((100vw - 320px) / 1120));
}



.carport_melit {
    background: #fff;
    position: relative;
    padding: 1px 1rem 1rem 1rem;
    margin-bottom: 3rem;
    border-radius: 1rem;
}


.carport-melit-num {
    border-radius: 1rem 0 1rem 0;
    position: absolute;
    left: 0;
    top: 0;
    background: #cc0000;
    font-size: .8rem;
    color: #fff;
    padding: 0rem .7rem .1rem .7rem;
}

.carport-melit-num span {
    font-size: 1.2rem;
}



.warranty-text {
    border-bottom: 1px solid #414141;
    margin-bottom: 5rem;
    padding-bottom: 3rem;
}


.warranty-text.last {
    border-bottom: none;
}





.warranty-text h4 {
    font-weight: 600;
    font-size: 1.4rem;
    margin-bottom: 1rem;
    color: #111;
    padding-bottom: 1rem;
}


.warranty-text h4 span {
    font-weight: 500;
    color: #cc0000;
    font-size: 2rem;
    margin-right: 1rem;
}

.warranty-text p {
    margin-bottom: 2rem;
    line-height: 200%;
}

.warranty-caution {
    font-size: .9rem !important;
}

.caution_txt {
    font-size: .9rem !important;
    color: #cc0000;
}




.homeuse_battery_melit {
    background: #fff;
    position: relative;
    padding: 1px 1rem 1rem 1rem;
    margin-bottom: 3rem;

}


.homeuse_battery_melit-num {
    position: relative;
    border-radius: 1rem;
    background: #cc0000;
    font-size: .8rem;
    color: #fff;
    width: 100px;
    padding: 1rem 1rem 1.5rem 1rem;
    text-align: center;
    line-height: 1.6rem;
    white-space: nowrap;
}


.homeuse_battery_melit-num:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    border: 10px solid transparent;
    border-top: 10px solid #cc0000;
}



.homeuse_battery_melit-num span {
    font-size: 2.2rem;
}



.homeuse_battery_melit-img {
    width: 100%;
    max-width: 700px;
    margin: 1rem auto 2rem auto;
}


.homeuse_melit-text {
    display: flex;
    justify-content: flex-start;
    gap: 2rem;

}


.melit-num_area {
    width: 15%;
}

.battery_melit-text {
    width: 80%;
}


.battery_melit-text h4 {
    color: #1D65AC;
}





.homeuse_melit-text .melit-text h4 {

    border-bottom: none;

}


.homeuse_melit-text .melit-text h4 span {
    font-weight: 400;
    font-size: 3.5rem;
    margin-right: 1rem;
}


.iedenchi_bg {
    background: #EBDA83 url("../imgs/iedenchi_bg.jpg") no-repeat center center;
    background-size: cover;
    width: 100%;
}


.iedenchi {
    position: relative;
    background: #fff;
    padding: 2rem;
}


.iedenchi_logo {
    position: absolute;
    width: calc(70px + 40 * ((100vw - 320px) / 1120));
    right: 2rem;
    top: 2rem;
}


.iedenchi_box {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    margin-bottom: 3rem;
}


.product_name {
    display: block;
    font-weight: 700;

    font-size: calc(2rem + 40 * ((100vw - 320px) / 1120));

    line-height: 100%;
    margin-bottom: 2rem;
    color: #000;
}

.product_name span {
    display: block;
    font-weight: 700;
    font-size: 35%;
    line-height: 140%;
    color: #000;
}

.spec_txt {
    text-align: center;
    width: 100%;
    margin-bottom: 2rem;
}

.iedenchi_img {
    width: 100%;
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    justify-content: center;
}

.monitor {
    width: 30%;
    order: 1;
}

.hontai {
    width: 68%;
    order: 2;
}



.spec_txt p {
    margin: 0;
}


.spec_dot {
    display: block;
    font-size: 2.5rem;
    line-height: 140%;
    color: #B4A452;
}


.iedenchi_spec {
    display: inline-block;
    border-bottom: 3px solid #B4A452;
    font-size: 3.5rem;
    color: #B4A452;
    font-weight: 700;
    line-height: 80%;
    position: relative;
}

.iedenchi_spec span {
    font-size: 60%;
    color: #111;
}

.iedenchi_spec span.unit {
    color: #B4A452;
}


.iedenchi_img img {
    width: 100%;
    max-width: 600px;
}



.iedenchi_link_btn {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    margin-bottom: 2rem;
}


.iedenchi-link-txt {
    display: flex;
    align-items: center;
}


.iedenchi-link-name {
    font-weight: 700;
    font-size: 2rem;
    padding-right: 1rem;
}



.iedenchi_link_btn a {
    background: #cc0000;
    border: 1px solid #cc0000;
    color: #fff;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2rem;

    transition: 0.2s cubic-bezier(0.7, 0, 0.2, 1);

}

.iedenchi_link_btn a:hover {
    background: #fff;
    color: #cc0000;
    border: 1px solid #cc0000;


}

.point_title {
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 1rem;
}


.point_title span {
    font-size: 250%;

}

.five_points {
    margin-bottom: 5rem;
}


.five_point_area {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
    width: 100%;
}

.point_box {
    background: #F8EFDA;
    border-radius: 1rem;
    padding: 2rem;
    text-align: center;
    width: 32%;
}

.point_box p {
    margin: 2rem 0 0 0;
    text-align: center;
}


.nagare-wrap {
    margin-top:7rem;
}

.nagare-area {
    background: #fff;
    padding: 3rem 2rem;
    
    position: relative;
    border-bottom:1px dotted #333;
    position:relative;
}

.nagare-area:before {
    background: #AAC6E2;
    width:5px;
    height:100%;
    position:absolute;
    left:21.5%;
    bottom:0;
    content:"";
}


.page-3submenu.nidan .submenu:nth-of-type(1), .page-3submenu.nidan .submenu:nth-of-type(2), .page-3submenu.nidan .submenu:nth-of-type(3) {
    border-bottom:1px solid #ccc;
}


.nagare-area:first-of-type:before {
    height:50%;
    bottom:0;
}


.nagare-area:last-of-type:before {
    height:50%;
    top:0;
    bottom:auto;
}


.nagare-area .row {
    align-items: center;

}

.nagare-dot {
    font-weight: 600;
    font-size: 1.4rem;
    color: #1D65AC;
    text-align:center

}

.nagare-text{
    width:100%;
    padding-right:300px;
}

.nagare-text img{
    position:absolute;
    right:0;
    top:0;
    z-index: 200;
    width: calc(200px + 150 * ((100vw - 320px) / 1120));
}


.nagare-text img.history-img_01 {
max-width: 280px;
}

.nagare-text img.history-img_02 {
    max-width: 280px;
}

.nagare-text img.history-img_03 {
    max-width: 380px;
    margin-top:-5rem;
    margin-right:-1rem;
}

.nagare-text img.history-img_04 {
    max-width: 220px;
    margin-right:-4rem;
}

.nagare-text img.history-img_05 {
    max-width: 390px;
    margin-top:-8rem;
    margin-right:-6rem;
}

.nagare-text img.history-img_06 {
    max-width: 280px;
    margin-right:4rem;
    margin-top:-3rem;
}



.steptxt {
    text-align: center;
    
    color: #333;


}

.steptxt span {
    display: block;
    font-weight: 700;
    font-size: 3rem;
    color: #AAC6E2;
    margin-bottom: 0rem;
    line-height: 2.6rem;
}




.nagare_arrow {
    position: absolute;
    bottom: -5.5rem;
    left: 55px;
    width: 100%;
    max-width: 30px;
}

.arrow_small {
    width: 30px;
    bottom: -6rem;
    left: 62px;
}






/*アコーディオン メニュー*/


.accordion-area h4 {
    margin-bottom: 0;
}

.title {
    position: relative;
    cursor: pointer;
    font-size: 1.5rem;
    font-weight: 700;
    padding: 3% 40px 3% 3%;
    transition: all .5s ease;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
background:#003BAA;
color:#fff;
height:600px;
max-height:105px;

}

.num {
    font-size: 2rem;
    margin-right: 2rem;
    background: #1D65AC;
    color: #fff;
    padding: 0 0.8rem 0.6rem 0.8rem;
    border-radius: 2rem;
}

.answer {
    font-size: 2rem;
    margin-right: 2rem;
    background: #cc0000;
    color: #fff;
    padding: 0 1rem 0.4rem 1rem;
    border-radius: 2rem;

}

.accordion-area h5 {
    color:#003BAA;
    font-size:1.2rem;
    font-weight:700;
    margin-bottom:1rem;
}


.sikaku01 {
    background: #003BAA url(../imgs/sikaku01_bg.jpg) no-repeat right center;
    background-size: contain;

}

.sikaku02 {
    background: #003BAA url(../imgs/sikaku02_bg.jpg) no-repeat right center;
    background-size: contain;

}

.sikaku03 {
    background: #003BAA url(../imgs/sikaku03_bg.jpg) no-repeat right center;
    background-size: contain;

}

.sikaku04 {
    background: #003BAA url(../imgs/sikaku04_bg.jpg) no-repeat right center;
    background-size: contain;

}
.sikaku06 {
    background: #003BAA url(../imgs/sikaku06_bg.jpg) no-repeat right center;
    background-size: contain;

}
.sikaku11 {
    background: #003BAA url(../imgs/sikaku11_bg.jpg) no-repeat right center;
    background-size: contain;

}



.accordion-area h5.special {
    color:#DB002B;
    font-size:1.2rem;
    font-weight:700;
    margin-bottom:1rem;
}


.sikaku01.special {
    background: #DB002B url(../imgs/sikaku01_bg.jpg) no-repeat right center;
    background-size: contain;

}

.sikaku02.special {
    background: #DB002B url(../imgs/sikaku02_bg_s.jpg) no-repeat right center;
    background-size: contain;

}

.sikaku03.special {
    background: #DB002B url(../imgs/sikaku03_bg.jpg) no-repeat right center;
    background-size: contain;

}

.sikaku04.special {
    background: #DB002B url(../imgs/sikaku04_bg_s.jpg) no-repeat right center;
    background-size: contain;

}

.sikaku05.special {
    background: #DB002B url(../imgs/sikaku05_bg_s.jpg) no-repeat right center;
    background-size: contain;

}
.sikaku06.special {
    background: #DB002B url(../imgs/sikaku06_bg_s.jpg) no-repeat right center;
    background-size: contain;

}

.sikaku07.special {
    background: #DB002B url(../imgs/sikaku07_bg_s.jpg) no-repeat right center;
    background-size: contain;

}


.sikaku08.special {
    background: #DB002B url(../imgs/sikaku08_bg_s.jpg) no-repeat right center;
    background-size: contain;

}

.sikaku09.special {
    background: #DB002B url(../imgs/sikaku09_bg_s.jpg) no-repeat right center;
    background-size: contain;

}

.sikaku10.special {
    background: #DB002B url(../imgs/sikaku10_bg_s.jpg) no-repeat right center;
    background-size: contain;

}
.sikaku11.special {
    background: #DB002B url(../imgs/sikaku11_bg_s.jpg) no-repeat right center;
    background-size: contain;

}




.kokkasikaku {
    background:#111;
    color:#f9f22f;
    padding:.2rem .5rem;
    font-size:.9rem;
    font-weight:500;
    margin-left:1rem;
    white-space: nowrap;
}



.minkansikaku {
    background:#FFFF00;
    color:#DB002B;
    padding:.1rem .5rem .2rem .5rem;
    font-size:.9rem;
    font-weight:500;
    margin-left:1rem;
    white-space: nowrap;
}


.sikaku-wrap{
    margin-top:3rem;
    margin-bottom:8rem;
    display:flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap:1rem;


}

.sikaku-box{
    background:#fff;
    padding:2rem;
    width: calc(50% - 0.5rem);
}

.sikaku-box img {
    width:40px;
    margin-right:1rem;
}

.blue-wrap-text {
display:flex;
justify-content: center;
}

.blue-wrap-text p {
    background:#003BAA;
    padding:.3rem 1.2rem .5rem 1.5rem;
    color:#fff;
font-weight:700;
font-size:1.4rem;
margin-bottom:3rem;
}


.red-wrap-text {
    display:flex;
    justify-content: center;
    }
    
    .red-wrap-text p {
        background:#DB002B;
        padding:.3rem 1.2rem .5rem 1.5rem;
        color:#fff;
    font-weight:700;
    font-size:1.4rem;
    margin-bottom:3rem;
    }


.seibi_rate{
    width:100%;
    max-width:580px;
    margin:3rem auto 3rem auto;
}



.rate_wrap{
    text-align:center;
}

.rate_wrap img{
    text-align:center;
    width:100%;
    max-width:580px;
}

.flowimg {
    max-width:1000px !important;
}



.rate_txt {
    font-size: calc(5rem + 30 * ((100vw - 320px) / 1120));
    font-weight:800;
    color:#003BAA;
    line-height:100%;
    
}

.rate_txt .rate_head {
    font-size: 30%;
    color:#111;
    line-height:100%;
    

}
.rate_txt .rate_foot {
    font-size: 60%;
    line-height:100%;
}

.sikaku_caution {
    margin-top:1rem;
    font-size: .9rem;
}

.black-circle-text{
    margin:5rem 0;
}


.black-circle-text p {
    background:#111;
    padding:2rem 1rem;
    border-radius:3rem;
    color:#fff;
font-weight:700;
font-size:1.4rem;
margin-bottom:3rem;
display:inline;
}


.kanou-text{
    font-size: calc(2rem + 10 * ((100vw - 320px) / 1120));
    font-weight:800;
    color:#003BAA;
    line-height:120%;
    margin-bottom:3rem;
}

.accordion-area h5.small_midashi{
    font-weight:700;
    color:#003BAA;
    line-height:100%;
    font-size: calc(1.2rem + 8 * ((100vw - 320px) / 1120));
}







.katei-content h3.mitinori-text{
    background:#DB002B;
    font-size: calc(1rem + 8 * ((100vw - 320px) / 1120));
    font-weight:800;
    color:#fff;
    line-height:100%;
    padding:.3rem .3rem;
    margin-bottom:3rem;
}


.katei-content h3.mitinori-text:before {
    
    position: relative;
    background: none;
    
}




/* access */

.access_route{
    width:100%;
    max-width: 1100px;
    padding:15px;
    margin:0 auto 2rem auto;
}



#access {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 0 5rem 0;
    padding-bottom: 0rem;
    padding-top: 5rem;

}


#access h4 {
    font-weight: 700;
    background:#FFFF00;
    padding:.5rem 1rem;
    border-left:none;
    margin-top:6rem;
}



#access .img {
    width: 40%;
    min-height: 590px;
    background: url("../img/pict_01.jpg") no-repeat center;
    background-size: cover;
}

#access .content {
    width: 100%;
    text-align: center;
}





#access p {
    line-height: 2;
    margin: 0 0 10px 0;
}

#access .access-lead {
    position: relative;
    color: #000;
    font-size: 1rem;
    font-weight: bold;
    margin: 0 0 90px 0;
}



#access .access-lead::after {
    content: '';
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    margin: auto;

    background: #e60020;
    width: 12em;
    height: 3px;
}




.access_box {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 3rem auto;

    width: 100%;
    max-width: 900px;
    align-items: center;
}


.access__detail {
    display: flex;
    flex-wrap: wrap;
    margin: 5px auto 2rem auto;
    line-height: 1.3;
    width: 100%;



}

.access__line-bnr {
    padding-left: 15px;
    margin-bottom: 0rem;
    width: 100%;
    max-width: 180px;
}






.access__detail dt {
    width: 120px;
    padding: 40px 0 40px 8px;
    border-bottom:1px solid #ccc;
    color: #000;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.4rem;
    font-size: 1rem;
    position: relative;
    text-align: center;
}

.access__detail dt:before {
    width: 100%;
    height:5px;
    left:0;
    bottom:0;
    background: #FFFF00 left bottom;
    position: absolute;
    content:"";
}





.access__detail dd {
    width: calc(100% - 140px);
    padding: 40px 0 40px 20px;
    border-bottom: 1px solid #ccc;
    letter-spacing: .04em;
    line-height: 1.4rem;
    font-size: 1.1rem;
    margin-bottom: 0;
    text-align: left;
}






.access-shop_odd {
    background: #fff;
    padding-top: 6rem;
    padding-bottom: 4rem;
    border-bottom: 1px solid #ccc;
}



.access-shop_even {
    background: #faf9f4;
    padding-top: 6rem;
    padding-bottom: 4rem;
    border-bottom: 1px solid #ccc;
}


.access-img {
    margin-bottom: 3rem;
}


.seiyu-img {
    max-width: 400px;

}




#schoolinfo {
    
    margin: 0 0 5rem 0;
    padding-top: 5rem;
}





.schoolinfo__detail {
    display: flex;
    flex-wrap: wrap;
    margin: 5px auto 2rem auto;
    line-height: 1.3;
    width: 100%;



}

.access__line-bnr {
    padding-left: 15px;
    margin-bottom: 0rem;
    width: 100%;
    max-width: 180px;
}




.schoolinfo__detail a {
    
    padding: 40px 0 40px 20px;
    display:flex;
    align-items: center;
    justify-content: space-between;
    width:100%;
    border-bottom:1px solid #ccc;
    -webkit-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -moz-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -o-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    transition: background 0.1s linear 0s, color 0.1s linear 0s;

}



.schoolinfo__detail dt {
    width: 120px;
    
    color: #000;
    font-weight: 700;
    letter-spacing: .04em;
    height:50px;
    
    text-align: center;
    display:flex;
    align-items: center;
}





.schoolinfo__detail dd {
    
    margin-bottom:0;
    width: calc(100% - 120px);
height:50px;
    display:flex;
    align-items: center;
    justify-content: space-between;
    
}


.schoolinfo__detail dd img{
    width: 30px;
    margin:0 1rem 0 1.5rem;
}

.schoolinfo__detail a:hover {
    
    background:#F3EFEB;
    color:#111;
    
}

.schoolinfo__detail dd p {
    margin-bottom:0;
}



.infoblock h3 {
    position: relative;
    margin: 0 0 1.5em 0;
    padding: 1.5rem 6px 2.8rem 6px;
    min-width: 120px;
    max-width: 100%;
    color: #111;
    text-align: center;
    font-size: 2rem;
    font-weight: 800;
    text-shadow: none;
    text-transform: capitalize;
    line-height: 100%;
}


.infoblock{
    margin-bottom:3rem;
}



.no-bg {
    width: 50%;
    right: -25%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 300px 0;
    color: #fff;
}



.policy_paragraph {
    line-height: 200%;

    
    margin: 0 auto 3rem auto;
}


.policy_area {
    background: #fff;
    position: relative;
    padding: 7rem 6rem 4rem 6rem;
    margin-bottom: 3rem;

}




/* contact */


.wpcf7 {
    max-width: 100%;
    margin: 0 auto !important;
}


.wpcf7-list-item {
    display: inline-block;
    margin-bottom: 1rem;
}

.policy_link {
    margin: 0 0 0 3rem;
}


#mailmain {
    padding-top: 1rem;
    margin: 0rem 0 0rem 0;
}


#mailmain p {
    line-height: 2.2;
}


.koumoku {
    
    padding: 10px 20px 20px 20px !important;
    display:flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap:1rem 0rem;
}




.contmark {
    padding: 16px 0 16px 0px;

}

.conttext {
    padding: 10px 0 0px 0px;
    margin: 0 0 3em 0;

}




#contact-wrapper {
    padding-bottom: 5rem;
    margin: 0 15px;
}



#contact_intro {
    padding-top: 0px;
    padding-bottom: 40px;

}


#contact_intro.txtbox {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    font-size: 1rem;
    margin-bottom: 10px;
    position: relative;
}







.contact-mode .nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;

    max-width: 1200px;
    margin: 0 auto;
}

.contact-mode .nav li {

    width: 23%;
    margin-bottom: 1rem;

}



.contact-mode .nav .item a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 100%;
    border: 1px solid #111;
    -webkit-transition: .5s;
    -moz-transition: .5s;
    transition: .5s;
    padding: 1rem 1rem;
    width: 100%;
}


.contact-mode .nav .item a span {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    text-align: flex-end;
    display: inline-flex;

}




.contact-mode .nav .item a:hover {

    background: #1d2c67;
    color: #fff;
}




.titlecontact {
    position: relative;
    background: url(../imgs/head_contact.jpg) no-repeat center center;
    background-size: cover;
    height: 300px;
}



#pagetitle .titlecontact h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #fff;
    margin: 0;
    padding: 0;
    font-size: 3rem;

}

input,
button,
select,
textarea {
    font-weight: 300;
    font-family: 'Titillium Web', sans-serif;
    outline: 0;
}

input:focus,
textarea:focus,
input[type="text"]:focus {
    outline: 0;
}



form input,
form textarea {
    color: #000;
    font-size: 1.1rem;
}

input {
    font-weight: 500;
    font-family: 'Noto Sans JP', sans-serif;

    outline: 0;
}






.dttxt {
    font-size: .9rem;

}




.button input {
    border: none;
    background: none;
    margin: 0 0 0 0;
    padding: 0;

    width: 100%;


}


input[type="submit"i] {
    white-space: normal;

}



input:-moz-placeholder,
textarea:-moz-placeholder {
    color: #7F8289;
    font-family: 'movText', sans-serif;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color: #7F8289;
    font-family: 'movText', sans-serif;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: #7F8289;
    font-family: 'movText', sans-serif;
}






#formarea {
    margin-bottom: 8rem;
}

#formarea p {
    margin-bottom: 1px;
}

#formarea input,
#formarea textarea {
    border: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;

    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    background: #fbfbfb;
    color: #333;
    font-size: 14px;
    height: auto;
    padding: 12px;
    margin: 0;
    border: 1px solid #cfcfcf;
    resize: both;
}


#formarea input[type=submit] {
    border: none;
    background:#0055AA;
    font-weight:700;
    color: #fff;
    border-radius: 3rem;
    width: 300px;
    letter-spacing: 1rem;
    border: 1px solid #cc0055AA0000;
    -webkit-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -moz-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -o-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    transition: background 0.1s linear 0s, color 0.1s linear 0s;
}

#formarea input[type=submit]:hover {
    border: 1px solid #0055AA;
    background: #fff;
    color: #111;
}



#formarea.special input[type=submit] {
    background:#DB002B;
    font-weight:700;
    color: #fff;
    border-radius: 3rem;
    width: 300px;
    letter-spacing: 1rem;
    border: 1px solid #DB002B;
    -webkit-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -moz-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -o-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    transition: background 0.1s linear 0s, color 0.1s linear 0s;
}

#formarea.special input[type=submit]:hover {
    border: 1px solid #DB002B;
    background: #fff;
    color: #111;
}


.soushin {
    margin: 0 auto;
    text-align: center;
}


#formarea .submit {
    background: #fff;
    color: #111;
    border: 1px solid #111;

    cursor: pointer;
    display: inline-block;
    font-size: 1rem;
    font-weight: 500;
    padding: 8px 40px;
    text-align: center;
    vertical-align: middle;
    width: auto;
    margin: 30px 0;

    letter-spacing: .2rem;
    -webkit-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -moz-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    -o-transition: background 0.1s linear 0s, color 0.1s linear 0s;
    transition: background 0.1s linear 0s, color 0.1s linear 0s;
}

#formarea .submit.entrybutton {
    background: #f4a118;
}

#formarea .submit.entrybackbutton {
    background: #aaa;
}

#formarea .submit:hover {
    background: #1d2c67;
    color: #fff;
    border: 1px solid #1d2c67;
}


#formarea select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    border: 1px solid #ccc;
    margin: 0;
    padding: 0;
    background: none transparent;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
    box-sizing: content-box;
    cursor: pointer;
}

@-moz-document url-prefix() {
    #mailformpro select {
        -moz-appearance: none;
        text-indent: 0.01px;
        text-overflow: '';
    }
}

#formarea select::-ms-expand {
    display: none;
}

@supports (-ms-ime-align:auto) {
    #formarea select {
        -moz-appearance: none;
        text-indent: 0.01px;
        text-overflow: '';
    }
}




#formarea select {
    box-sizing: border-box;
    width: 100%;
    max-width: 870px;
    cursor: pointer;
    

    padding: 0 9px 0 12px;
    background-color: #fbfbfb;
    color: #333 !important;
    font-size: .9rem;
    letter-spacing: .05em;
    -webkit-appearance: button;

    border-radius: 0px;
    -ms-border-radius: 0px;
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;

    border: 1px solid #cfcfcf;
}


#formarea select {
    -webkit-appearance: none;
    /* ベンダープレフィックス(Google Chrome、Safari用) */
    -moz-appearance: none;
    /* ベンダープレフィックス(Firefox用) */
    appearance: none;
    /* 標準のスタイルを無効にする */
}

::-ms-expand {
    /* select要素のデザインを無効にする（IE用） */
    display: none;
}



#formarea select.quaterinput {

    width: 24%;
    max-width: 500px;
}

.quaterinput {
display:inline-block;
    width: 20%;
    max-width: 500px;
}

.halfinput {
    display:inline-block;
        width: 45%;
        max-width: 500px;
    }


.select {
    position: relative;
}


.select:after {
    display: block;
    position: absolute;
    top: 10px;
    right: 10px;
    bottom: 8px;
    width: 0;
    height: 0;
    margin: auto;
    border-width: 8px 6px 0 6px;
    border-style: solid;
    border-color: #034da2 transparent transparent transparent;
    content: "";
}



#formarea .select {
    width: 70px;
    display: inline;
}


#formarea .seinen select {
    width: 70px;
    margin-top: -3px;
}







label {
    margin-bottom: 0;
    font-weight: 400;
}




.title-contactform7 {
    display: none;
}


.conttext legend {
    display: none;
}


#wpcf7cpcnf th,
#wpcf7cpcnf td {
    padding: 1rem;
}

#wpcf7cpcnf th {
    font-size: .9rem;
}

#wpcf7cpcnf p {
    margin: 0;
    color: #111;
}




input[type=checkbox],
input[type=radio] {
    width: 20px;
}


.checkarea {
    border: 1px solid #ccc;
    padding-left: 15px;
    padding-top: 10px;
    padding-bottom: 10px;
    background: #FBFBFB;
}




.marktxt {
    font-size: 80%;
}

.smallcap {
    font-size: 60%;
}


.dl-horizontal dt {
    text-align: left;
}


.contactcell {
    align-items: flex-start;
    border-top:1px solid #ccc;
    padding-top:2rem;
}

.confirmpage .contactcell {

    border-bottom: 1px dotted #aaa;
    padding-bottom: 5px;
    margin-bottom: 15px;
}


.confirmpage .select:after {
    display: none !important;
}


#mailformtitle h2 {
    font-size: 1.8rem;
    margin-top: 2em;
}

#mailformtitle p {

    margin-top: 2em;
}



.contactline {
    overflow: hidden;
    border: 1px solid #aaa;
    margin-top: 2rem;
    margin-bottom: 3rem;
}

.mailon {
    background: #1d2c67;
    letter-spacing: 0;
    padding: 8px 0 8px 33px;
    position: relative;
    color: #fff;
}

.mailon:after {
    display: block;
    position: absolute;
    top: 13px;
    right: -32px;
    overflow: visible;
    width: 64px;
    height: 64px;

    border: 32px solid;
    border-color: #1d2c67 transparent transparent transparent;
    transform: rotate(45deg);
    content: "";
    z-index: 10;
}



.mailoff {

    background: #fff;
    letter-spacing: 0;
    padding: 8px 0 8px 25px;
    position: relative;
}

.mailoff:after {
    display: block;
    position: absolute;
    top: 13px;
    right: -32px;
    overflow: visible;
    width: 64px;
    height: 64px;
    border: 1px solid;
    border-color: #aaa transparent transparent transparent;
    transform: rotate(45deg);
    content: "";
    z-index: 10;
}



.mailoffcenter {

    background: #fff;
    letter-spacing: 0;
    padding: 8px 0 8px 30px;
    position: relative;
}

.mailoffcenter:after {
    display: block;
    position: absolute;
    top: 13px;
    right: -32px;
    overflow: visible;
    width: 0px;
    height: 0px;


    border: 32px solid;
    border-color: #fff transparent transparent transparent;
    transform: rotate(45deg);
    content: "";
    z-index: 10;
}


.mailend {

    background: #fff;
    letter-spacing: 0;
    padding: 8px 0 8px 25px;
    position: relative;
}

.mailcomplete {
    background: #006cc4;
    letter-spacing: 0;
    padding: 8px 0 8px 25px;
    position: relative;
    color: #fff;
}



.douitxt {
    background: #efefef;
    padding: 15px 30px 30px 30px;
    margin: 30px 0 50px 0;
}


.douitxt .h4 {
    font-size: 1.2rem;
}

.douitxt li {
    font-size: .8rem;
}



/* -------------------------------------------------------------------------- */

/*  informaiton page
/* ---------------------------------------------*---------------------------- */



/* -------------------------------------------------------------------------- */
/*  page heading
/* ---------------------------------------------*---------------------------- */



#philosophy-title {
    margin-bottom: 0;
    height: 15vh;
    background: #fff;
    background-size: cover;
    position: relative;
    color: #111;
    z-index: 3;
}

#philosophy-title h2 {
    font-size: 2rem;
}



#informationtitle {
    margin-bottom: 5rem;
    height: 40vh;
    background: url("../imgs/head-img_news.jpg") no-repeat center;
    background-size: cover;
    position: relative;
    color: #e7ebf0;
}

#informationtitle:before {
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
}


#service-title {
    position: fixed;
    top: 0;
    margin-bottom: 5rem;
    height: 40vh;
    width: 100%;
    background: url("../imgs/head-img_service.jpg") no-repeat center top 20%;
    background-size: cover;
    color: #fff;
}

#service-title:before {
    background: rgba(0, 0, 0, 0.6);
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
}




#service01-title {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_school.jpg") no-repeat center top 20%;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}







#service02-title {
    position: fixed;
    top: 0;
    height: calc(40vh + 80px);
    width: 100%;
    background: url("../imgs/head-img_service02.jpg") no-repeat center top 20%;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}




#service03-title {
    position: fixed;
    top: 0;
    height: calc(55vh + 80px);
    width: 100%;
    background: url("../imgs/head-img_service03.jpg") no-repeat center top 20%;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}


#service04-title {
    position: fixed;
    top: 0;
    height: calc(55vh + 80px);
    width: 100%;
    background: url("../imgs/head-img_service04.jpg") no-repeat center top 20%;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}



#service05-title {
    position: fixed;
    top: 0;
    height: calc(40vh + 80px);
    width: 100%;
    background: url("../imgs/head-img_service05.jpg") no-repeat center top 20%;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}



.section-title {
    padding-top:70px
}





#service06-title {
    height: 460px;
    width: 100%;
    background: url("../imgs/head-img_forcompanies.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}


#service07-title {
    position: fixed;
    top: 0;
    height: calc(30vh + 80px);
    width: 100%;
    background: url("../imgs/head-img_service07.jpg") no-repeat center top 20%;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}


#service08-title {
    position: fixed;
    top: 0;
    height: calc(40vh + 80px);
    width: 100%;
    background: url("../imgs/head-img_service08.jpg") no-repeat center top 20%;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}



#service09-title {
    position: fixed;
    top: 0;
    height: calc(30vh + 80px);
    width: 100%;
    background: url("../imgs/head-img_service09.jpg") no-repeat center top 20%;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}



#companytitle {
    position: fixed;
    top: 0;
    margin-bottom: 5rem;
    height: 45vh;
    width: 100%;
    background: url("../imgs/head-img_company.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}

#companytitle:before {
    background: rgba(0, 0, 0, 0.6);
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
}


#qualifcation-title {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_qualification.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}

#s_qualifcation-title {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_s_qualification.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}



#outline-title {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_h_outline.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}


#opencampus-title {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_opencampus.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}


#request-title {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_request.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}




#curriculum-title {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_curriculum.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}


#curriculum-title_s {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_curriculum_s.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}




#schoollife-title {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_schoollife.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}

#schoollife-title_s {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_schoollife_s.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}


#future-title {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_future.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}


#voice-title {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_voice.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}

#s_voice-title {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_voice_s.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}


#aiziseikai-title {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_aiziseikai.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}


#guardian-title {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_guardian.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}


#students-title {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_students.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}


#policy-title {
    height: 380px;
    width: 100%;
    background: url("../imgs/head-img_school.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}


#accesstitle {
    position: fixed;
    top: 0;
    margin-bottom: 5rem;
    height: 45vh;
    width: 100%;
    background: url("../imgs/head-img_access.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
}

#accesstitle:before {
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
}



#recruittitle {
    position: fixed;
    top: 0;
    margin-bottom: 5rem;
    height: 75vh;
    width: 100%;
    background: url("../imgs/head-img_recruit.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;


}

#recruittitle:before {
    background: rgba(0, 0, 0, 0.3);
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
}




#contacttitle {
    position: fixed;
    top: 0;
    margin-bottom: 5rem;
    height: 45vh;
    width: 100%;
    background: url("../imgs/head-img_contact.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;

}

#contacttitle:before {
    background: rgba(0, 0, 0, 0.4);
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
}




#entrytitle {
    position: fixed;
    top: 0;
    margin-bottom: 5rem;
    height: 45vh;
    width: 100%;
    background: url("../imgs/head-img_entry.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;

}

#entrytitle:before {
    background: rgba(0, 0, 0, 0.4);
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
}



#movietitle {
    margin-bottom: 5rem;
    height: 40vh;
    background: url("../imgs/head-img_movie.jpg") no-repeat center;
    background-size: cover;
    position: relative;
    color: #e7ebf0;
}

#movietitle:before {
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
}



#gallery-title {
    margin-bottom: 5rem;
    height: 40vh;
    background: url("../imgs/head-img_gallery.jpg") no-repeat center;
    background-size: cover;
    position: relative;
    color: #fff;
}

#gallery-title:before {
    background: rgba(0, 0, 0, 0.6);
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
}





.head-en {
    width:100%;
    max-width:900px;
    margin:0 auto;
    max-height:110px;
    text-align: center;
}

.head-en img {
    width:100%;
    height:100%;
    max-width:900px;
    max-height:110px;
}

.head-title {
    margin-top:2rem;
    width: 100%;
    
    text-align: center;
}

.head-title span {
    display: block;
    font-size: .9rem;
    line-height: 1.1rem;
}







.head-title h2 {
    text-transform: capitalize;
    font-size: 1.8rem;
    margin-bottom: 1rem;
    font-weight:700;
}

.head-title h2.underline {
    
    display: inline-block;
}




.head-txt {
    width: 90%;
    margin: 0 auto;
    max-width: 900px;
    padding: 0;
    position: relative;
    font-size: 1.1rem;
    line-height: 160%;
}


.sub_catch {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: .2rem;
}


.newsdate {

    font-size: .8rem;
    padding: 0rem 1rem 0rem 1rem;

    text-align: right;
}




.scname {

    background: #cc0000;

    padding: 6px 8px 6px 8px;
    font-size: .9rem;
    font-weight: 600;
    color: #fff;

    text-align: center;

    line-height: 1.4em;
    margin-bottom: .5rem;
    display: block;

}



.sougou .scname {
    background: #1D65AC;
}

.campaign .scname {
    background: #f6921e;
}

.zaiko .scname {
    background: #009145;
}

.recruit .scname {
    background: #29aae1;
}




.btn-primary {
    color: #fff;
    background-color: #0B1642;
    border-color: #0B1642;
}



.widget ul {
    margin-left: 1.5rem;
    list-style: circle;
}

.widget li {
    margin-bottom: 1rem;

    padding-bottom: 1rem;
    position: relative;
}

.widget li::before {
    border-bottom: 1px dotted #aaa;
    position: absolute;
    left: -1.5rem;
    width: 108%;
    bottom: 0;
    height: 1px;
    content: "";
}



.container-fluid.recruitinfo .col-md {
    padding-right: 0px !important;
    padding-left: 0px !important;

}

.card {
    margin-bottom: 2rem;
    border: none;
    border-radius: 0;
}


.info-card .card {
    background: #F8F4EB;
}

.card-text {
    padding: 0 1rem 1rem 1rem;
}


.card-block {
    position: relative;
}


.tabtag {

    display: block;
    margin: 0 0 0 0;


}



.news-title {
    text-align: center;
    margin-bottom: 3rem;
}

.news-title h3 {
    margin: 0;
    line-height: 1.25;
    font-size: 2rem;
}


.news-title h3 span {
    color: #2185D0;
    font-size: 1rem;
    font-weight: bold;
    padding-bottom: .2rem;
    border-bottom: 1px solid #2185D0;
    display: inline-block;
    margin-bottom: .5rem;
}



.news-item {
    position: relative;
    display: flex;

    justify-content: center;

    flex-flow: column;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}




.news-area {
    width: 90%;
    margin: 0 auto;
    max-width: 900px;
    padding: 50px 50px;
    position: relative;
    background: #fff;
}




.news-outer {

    margin-bottom: 3rem;
}



.news-block {
    display: flex;
    flex-wrap: wrap;
    padding-top: .5rem;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #aaa;
}


.news-block:first-child {

    padding-top: 1.5rem;


    border-top: 1px solid #aaa;
}



.news-date {
    display: inline-block;
    font-size: .9rem;
    padding: 0 1rem 0 1rem;
}



@media screen and (max-width:992px) {
    .news-title {
        width: 100%;
        margin-bottom: 2rem;
        text-align: center;
    }

    .news-outer {
        width: 100%;
        margin-bottom: 3rem;
    }



    .news-block {
        margin-bottom: 2rem;
    }

}





.newsheadtitle {
    padding: 0rem 1rem 0 1rem;
    font-size: 1.1rem;

}


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

    .newsheadtitle {
        width: 100%;
        padding: 0rem 1rem 0 1rem;
    }


}


.newsheadtitle a {
    color: #111;
    font-size: 0.9rem;
}


.posttxt {
    margin-bottom: 2rem;
    font-size: .9rem;
}


.entry-icon-new span {
    margin: 0 0 0 0;
    background: #fff;
    border-radius: 2px;
    color: #e05d48;
    display: inline-block;
    font-weight: 600;
    font-size: .8rem;
    padding: 2px 5px;
    text-align: center;
    border: 2px solid #e05d48;
}


.entry-icon-new {
    margin: 0rem 1rem 0rem 1rem;
    background: #fff;
    border-radius: 2px;
    color: #e05d48;
    display: inline-block;
    font-weight: 600;
    font-size: .8rem;
    padding: 2px 5px;
    text-align: center;
    border: 2px solid #e05d48;
}


.works-thumb-wrap {

    position: relative;
}




.thumbimg {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

.thumbimg a img {
    -webkit-transition: .2s ease-in-out;
    -moz-transition: .2s ease-in-out;
    -ms-transition: .2s ease-in-out;
    -o-transition: .2s ease-in-out;
    transition: .2s ease-in-out;
}


.thumbimg a img:hover {
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
}


.card-title {
    margin-bottom: 1rem;
}



#tieup {
    margin: 0 0 0 0;
    padding: 4rem 0 5rem 0;
    background: #F8F4EB;
}


.tieup-area {
    width: 90%;
    margin: 0 auto;
    max-width: 1200px;
    padding: 50px 50px;
    position: relative;

}



.tieup-box {
    background: #fff;
    padding: 1rem 1rem;
    margin-bottom: 2rem;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}




/* footer */

#footer {
    padding: 100px 0;
    border-top: 1px solid #333;
    text-align: center;
    background: #fff;
    position: relative;
    text-transform: uppercase;
    z-index: 100;
}


.footer-address-list {

    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    gap:3rem 2rem;
}



.footer-address-list li {
    margin-bottom: .5rem;
    list-style-type: none;
    font-size: .8rem;
    color: #fff;
}


.footer-address-list li h4 {
    font-weight:700;
    margin-bottom:0;
    line-height: 120%;
}

.footer-address-list li h4 span {
    font-size:.7rem;
    font-weight:700;
}


.footer-address-list li a {
    color: #fff;
    font-weight: 600;
    position: relative;
    padding-left: .5rem;
}

.footer-address-list .submenu li a:before {
    position: absolute;
    left: 0;
    top: -5px;
    content: "-";
    font-size:1.1rem;
}

.footer-address-list .submenu li a::after {
    background: #FFFF00;
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right bottom;
    transform: scale(0, 1);
    transition: transform .3s;
  }
  .footer-address-list li a:hover::after {
    transform-origin: left bottom;
    transform: scale(1, 1);
  }





.footer-address-list li ul {

    margin-top: .5rem;
    margin-left: 0.4rem;
    
}

.footer-address-list li ul li a {

    font-weight: 400;

}


.footer-address-list li ul li {

    font-weight: 700;
width:100%;
display:inline-flex;
}



.footer-address-list li ul.halflist li {
    width:48%;
}


.footer-second {
    display:inline-flex;
    flex-wrap:wrap;
    align-items:start;
    justify-content:flex-start;
    color:#fff;
    gap:3rem 3.6rem;
    width:100%;
}

.footer-second ul {
    margin:0;
}


.footer-second li a {
    color:#fff;
    font-weight: 400;
    position: relative;
    padding-left:1rem;

}



.footer-second li {
    font-weight: 600;
    margin-bottom: .5rem;
    list-style-type: none;
    font-size: .8rem;
    color: #fff;
    width:100%;

}

.footer-second li a:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "-";
}

.footer-second li a::after {
    background: #FFFF00;
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right bottom;
    transform: scale(0, 1);
    transition: transform .3s;
  }
  .footer-second li a:hover::after {
    transform-origin: left bottom;
    transform: scale(1, 1);
  }




.footer-second ul.sns-foot {
    width:100%;
    
}


.footer-second li.g-navi-sns {
    margin-top:2rem;
    
    padding-top:2rem;
    display: flex;
    justify-content: center;
}


.footer-second li.g-navi-sns a:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
}

.footer-second li a:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "-";
}


.footer-second li.g-navi-sns a::after {
    background: none;
    position: relative;
}


.footer-second h4 {
    font-weight: 700;
    margin-bottom: 0;
    line-height: 120%;

    font-size: 1rem;
    margin-top: .5rem;
    margin-bottom: 1rem;
    border-bottom:1px solid #fff;
    padding-bottom:.5rem

}

.footer-second h4.noline {
    border-bottom:none;
}



.footmailadd {
    display:flex;
    align-items: center;
    justify-content: center;
    gap:2rem;
}
.footmailadd a {
    color: #fff;
    position: relative;
    display:flex;
    align-items: center;
    
}

.footmailadd a::after {
    background: #FFFF00;
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right bottom;
    transform: scale(0, 1);
    transition: transform .3s;
  }
  .footmailadd a:hover::after {
    transform-origin: left bottom;
    transform: scale(1, 1);
  }


  .footmailadd img {
 width:22px;
 margin-right:4px;
}





.opencampus {
    display:inline-flex;
    gap:.5rem
}


.halful {
    width:48%;
    
}


.footer-address-list .footer-logo {
    margin: 0 0 20px 0;
    width: 25%;
}

.footer-address-list .footer-logo.half {
    width: 12.5%;
}



.footer-address-list .footer-logo ul {

    margin: .5rem 0 0 0;
}

.footer-address-list .footer-logo ul li ul {
border-top:1px solid #fff;
padding-top:1rem
}




.footer-logo h4 {
    font-size: 1.1rem;
    margin-top: .5rem;
    margin-bottom: 1rem;
}


.footer-logo img {
    width: 32px;
    height: 32px;
    margin-right: 6px;
}

.footer-second img {
    width: 32px;
    height: 32px;
    margin-right: 6px;
}





.footlogo {}

.footadd_link a {
    transition: .3s;
    color: #000;
    letter-spacing: 0.1rem;
    display: flex;
    align-items: center;
    line-height: 160%;
    font-weight: 700;

}

.footadd_link a span {
    text-align: center;
    font-size: 1.3rem;
}

.footadd_link a span.en {
    font-size: .6rem;
    display: block;
}














.foot-contact-btn {
    text-align: center;
    margin: 0 0 5px 0;
}

.foot-contact-btn a {

    position: relative;
    color: #fff;
    font-weight: 400;
    display: inline-block;
    padding: 15px 30px 18px 30px;
    font-size: 1rem;
    border: 1px solid #fff;
    border-radius: 50px;
    -webkit-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -moz-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -o-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    transition: background 0.2s linear 0s, color 0.2s linear 0s;
}


.foot-contact-btn a:hover {

    background: #2185D0;
    color: #fff;
    text-decoration: none;
}

.foot-contact-btn a i {
    position: absolute;
    right: 10px;
    top: 18px;
    font-size: 1.1rem;
    -webkit-transition: 0.1s linear;
    -moz-transition: 0.1s linear;
    -o-transition: 0.1s linear;
    transition: 0.1s linear;
}

.foot-contact-btn a:hover>i {
    right: 10px;
}










#footer small {
    color: #888;
}





#wrapper-footer section {
    margin-bottom: 0 !important;
}


.top-contact_txt {
    font-size: .9rem;
    margin-top: 1rem;
    margin-bottom: 3rem;
    margin-left: 1rem;
    margin-right: 1rem;
    text-align: center;
}




.contact-lead {
    position: relative;
    display: inline-block;
    color: #fff;
    font-size: 1rem;
    font-weight: bold;
    margin: 0rem 0 1rem 0;
}

@media screen and (max-width:768px) {
    #recruitfootcontact .contact-lead {
        font-size: 1rem;
    }

    #recruitfootcontact p {
        line-height: 150% !important;
    }


}

.contact-lead::after {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;

    background: #fff;

    height: 1px;
}





.recfctitle {
    font-size: 2.5rem;
    font-family: 'Lato', sans-serif;
    margin-bottom: .5rem;
    margin-top: 0 !important;
}

.recfctitle img {
    width: 80%;

}


@media screen and (max-width:768px) {
    .recfctitle {
        font-size: 1.5rem;

    }

    .recfctitle img {
        width: 300px;

    }


}



.recfctxt {

    font-size: .9rem;
    margin-top: 2rem;
}



.recentrybtn {
    text-align: center;
    margin: 0 0 5px 0;
}

.recentrybtn a {
    background: #fff;
    position: relative;
    color: #000;
    font-weight: 700;
    display: inline-block;
    padding: 12px 30px 12px 30px;
    font-size: 1.1rem;
    border: 1px solid #000;
    -webkit-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -moz-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    -o-transition: background 0.2s linear 0s, color 0.2s linear 0s;
    transition: background 0.2s linear 0s, color 0.2s linear 0s;
}


.recentrybtn a:hover {

    background: #c5241c;
    color: #fff;
    text-decoration: none;
}

.recentrybtn a i {
    position: absolute;
    right: 10px;
    top: 18px;
    font-size: 1.1rem;
    -webkit-transition: 0.1s linear;
    -moz-transition: 0.1s linear;
    -o-transition: 0.1s linear;
    transition: 0.1s linear;
}

.recentrybtn a:hover>i {
    right: 10px;
}





.recentrybtn.opentime a {
    font-size: 0.8rem;

}






.button {
    pointer-events: auto;
    cursor: pointer;

    border: none;

    margin: 0;
    font-family: inherit;
    font-size: inherit;
    position: relative;
    display: flex;
    justify-content: center;
    gap: 0px 20px;
    font-weight: 400;
    font-size: 1.1rem;

}




.button::after {
    position: absolute;
    border-radius: 5px;

    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}







.button .submitbtn01 {
    display: inline;
    background: #fff;
    padding: 1rem 2rem;
    border: 1px solid #000;
    border-radius: 5px;
    transform: translate3d(-6px, -6px, 0);
    transition: transform 0.2s cubic-bezier(0.7, 0, 0.2, 1);
    z-index: 5;
}


.submitbtn01:hover {
    transform: translate3d(0px, 0px, 0);
    color: #069dfd;
    border: 1px solid #069dfd;
}


.button .submitbtn02 {
    display: inline;
    background: #ddd;
    padding: 1rem 2rem;
    border: 1px solid #000;
    border-radius: 5px;
    transform: translate3d(-6px, -6px, 0);
    transition: transform 0.2s cubic-bezier(0.7, 0, 0.2, 1);
    z-index: 5;
}


.submitbtn02:hover {
    transform: translate3d(0px, 0px, 0);
    color: #c5241c;
}








.link-button {
    pointer-events: auto;
    cursor: pointer;
    background: #e7e7e7;
    border: none;
    padding: 1.2rem 3rem 1rem 3rem;
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    position: relative;
    display: inline-block;
}

.link-button::before,
.link-button::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



.link-button--pandora {
    background: #000;
    font-weight: 400;
    font-size: 1.1rem;
    padding: 0;
    border-radius: 5px;
}

.link-button--pandora span {
    display: block;
    background: #fff;
    padding: 1rem 2rem;
    border: 1px solid #000;
    border-radius: 5px;
    transform: translate3d(-6px, -6px, 0);
    transition: transform 0.2s cubic-bezier(0.7, 0, 0.2, 1);
}

.link-button--pandora:hover span {
    transform: translate3d(0px, 0px, 0);
    color: #000;
}










.entry-button {
    pointer-events: auto;
    cursor: pointer;
    background: #2185D0;
    border: none;
    padding: 1.2rem 3rem 1rem 3rem;
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    position: relative;
    display: inline-block;
    width: 100%;
}

.entry-button::before,
.entry-button::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



.entry-button--pandora {
    background: #fff;
    border: 1px solid #2185D0;
    font-weight: 400;
    font-size: 1.6rem;
    padding: 0;
    border-radius: 5px;
}

.entry-button--pandora span {
    display: block;
    background: #2185D0;
    color: #fff;
    font-weight: 400;
    padding: 1.5rem 2rem;

    border-radius: 5px;
    transform: translate3d(-6px, -6px, 0);
    transition: transform 0.2s cubic-bezier(0.7, 0, 0.2, 1);
}

.entry-button--pandora:hover span {
    transform: translate3d(0px, 0px, 0);

}


.foot-contact-box{
    border:1px solid #fff;
    width:100%;
max-width:680px;
    color:#fff;
    margin:0 auto 2.8rem auto;
    padding:1.5rem 1.5rem .5rem 1.5rem;
}



.foot-contact-box p{
    margin-bottom:18px;
}



#wrapper-footer section {
    margin-bottom: 0 !important;
}





.telephonebtn {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom:.6rem;
}


.tel-number {
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 100%;
    position: relative;
    color: #fff;
}






.footlogo {
    margin-bottom: 2rem;
    display: flex;
    justify-content:space-between;
    border-bottom:1px solid #fff;
}



.foot-contact-box h5 {
    font-weight: 700;
    font-size: 1.6rem;
}






.foot-contact .linkbtn a {
    padding: 1rem 2rem 1rem 2rem;

}


.foot-contact .dli-arrow-right {
    background: #cc0000;
}

.foot-contact .dli-arrow-right::before {
    content: '';
    width: 0.65em;
    height: 0.65em;
    border: 0.1em solid #cc0000;
    border-left: 0;
    border-bottom: 0;
    transform: rotate(45deg);
    transform-origin: top right;
    position: absolute;
    top: 50%;
    right: -0.05em;
    box-sizing: border-box;
}




.footadd_text {
    display:flex;
    align-items: start;
}

.mappin{
    width:100%;
    max-width:30px
}




.subfooter {}

.subfooter a {
    color: #fff;
}


#footersns {
    

}


.footadd {
    color: #fff;
    font-size: .9rem;
    margin-left:1rem
}

.footadd a {
    color: #fff;
}

.sns-icon {
    margin-bottom: 2rem;
}


.site-info {
    position: relative;
}

.footerpolicy {
    font-size: .8rem;

}

.pbarea {
    position: absolute;
    left: 0;
    top: 0;
    margin-top: .8em;
    z-index: 10;
}


.copyright {
    font-size: .8rem;
color:#fff;
    text-align: center;
    margin-top: 1em;
}



.footlogo a img {
    width:420px
}




.bgdark {
    background: #192b3a !important;
}


.bgdark.goal {
    background: #fff !important;
}





.wpcf7cp-btns {
    text-align: center;
}


.wpcf7cp-cfm-submit-btn {
    display: inline;
    background: #fff;
    color: #111;
    font-weight: 700;
    padding: 1rem 2rem;
    border: 1px solid #cc0000;
    border-radius: 5px;
    transform: translate3d(-6px, -6px, 0);
    transition: 0.2s cubic-bezier(0.7, 0, 0.2, 1);
    z-index: 5;
}

.wpcf7cp-cfm-submit-btn:hover {
    transform: translate3d(0px, 0px, 0);
    color: #fff;
    background: #cc0000;
    border: 1px solid #cc0000;
}


.wpcf7cp-cfm-edit-btn {
    display: inline;
    background: #fff;
    padding: 1rem 2rem;
    font-weight: 700;
    border: 1px solid #000;
    border-radius: 5px;
    transform: translate3d(-6px, -6px, 0);
    transition: 0.2s cubic-bezier(0.7, 0, 0.2, 1);
    z-index: 5;
}

.wpcf7cp-cfm-edit-btn:hover {
    transform: translate3d(0px, 0px, 0);
    color: #aaa;
    border: 1px solid #aaa;
}




#wpcf7cpcnf {}



/*ContactForm7カスタマイズ*/
#wpcf7cpcnf table {
    width: 80%;
    margin: 0 auto;
    border: 2px solid #aaa;
}

#wpcf7cpcnf table tr {
    border-top: 1px dotted #aaa;
}

#wpcf7cpcnf table {
    display: table;
}


/*入力欄*/
#wpcf7cpcnf input,
#wpcf7cpcnf textarea {
    border: 1px solid #d8d8d8;
}



/* タイトル列 */
@media screen and (min-width: 768px) {
    #wpcf7cpcnf th {
        width: 30%;
        /*横幅*/
        background-color: #ebedf5;
        /*ブルーグレー*/
        font-weight: 500;

    }
}

/* レスポンシブ */
@media screen and (max-width: 768px) {
    #wpcf7cpcnf table {
        width: 95%;
    }

    #wpcf7cpcnf tr,
    #wpcf7cpcnf td,
    #wpcf7cpcnf th {
        display: block;
        width: 100%;
        line-height: 2.5em;
    }

    #wpcf7cpcnf th {
        background-color: #ebedf5;
    }
}











/*========= バー表示のためのCSS ===============*/

/*タイムライン全体の設定*/
.timeline {
    max-width: 1200px;
    width: 100%;
    margin: 50px auto 0 auto;
    padding: 0 30px;
    position: relative;

}

.timeline-box {
    /*線の起点とするためrelativeを設定*/
    position: relative;

    padding: 0 0 10rem 0;

    display: flex;
    align-items: flex-start;
    justify-content: center;


}



.timeline-box:last-child {
    padding: 0 0 0rem 0;



}





.timeline-txt-box {
    margin: 0 0px 0px 0em;
    width: 100%;
    max-width: 480px;
    border: 1px solid #fff;
    border-radius: 5px;
    padding: 5rem 3rem;
    position: relative;
    color: #fff;
}

.timeline-txt-box:after {
    position: absolute;
    content: "";
    width: 80px;
    height: 1px;
    background: #fff;
    right: -80px;
    top: 6px;

}



.timeline-txt-box.goal {
    border: 1px solid #111;
    color: #111;
}




/*タイムラインの見出し横の丸の位置と形状*/
.timeline-txt-box.goal::after {
    background: #111;

}





.timeline-img-box {
    width: 100%;
    max-width: 480px;

    margin-left: 160px;
}


.timeline-step {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 2rem;
}

.timeline-step span {
    font-size: 8rem;
    line-height: 6rem;
}

.timeline-text {}

.leadman {
    position: absolute;
    top: 0;
    left: 0;
    width: 130px;

    left: calc(50% - 65px);

    z-index: 105;
    height: 0;

}



.leadman.endstop {
    position: absolute;
    bottom: 180px !important;
    left: calc(50% - 65px);
    top: auto;

}



.stop {
    position: sticky;
    top: 300px;
}


#end-box {
    position: relative;
    display: flex;
    justify-content: center;
    padding-bottom: 5rem;
    align-items: flex-start;
}

.end_catch {
    margin-bottom: 5rem;
    width: 800px;
    top: -10px;
    position: relative;
    z-index: 100;
}

.catch-on {
    opacity: 0;
    margin-bottom: 5rem;
    width: 800px;
    top: -10px;
    position: absolute;
    z-index: 101;
}

.end_catch-sp {
    display: none;
}

.catch-on-sp {
    display: none;
}



/*絶対配置で線を設定*/
.border-line {
    /*線の位置*/
    position: absolute;
    left: calc(50% - 7px);
    top: 10px;
    width: 15px;
    /*線の太さ*/
    height: 0;
    /*はじめは高さを0に*/
    background: #000;
}

/*タイムラインの見出し横の丸の位置と形状*/
.timeline-box::after {
    content: '';
    position: absolute;
    top: 0px;
    left: calc(50% - 8px);

    width: 16px;
    height: 16px;
    background: #666;
    border-radius: 50%;
}




.border-line-all {
    display: none;
}



.border-line-all.connect {
    /*線の位置*/
    position: absolute;
    left: calc(50% - 7px);
    top: 10px;
    width: 15px;
    height: 100%;
    background: #000;
    display: block;
}








#flow-area {
    margin-top: 40vh;
    padding-top: 4rem;

}



.flow-title {
    text-align: center;
    font-size: 1.2rem;
    color: #fff;
    margin-bottom: 5rem;
    position: relative;
}


.flow-title h2 {
    font-size: 6.8rem;
    line-height: 6.5rem;
    color: #192b3a;
    letter-spacing: 0;
    text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF,
        -1px 1px 0 #FFF, 1px -1px 0 #FFF,
        0px 1px 0 #FFF, 0-1px 0 #FFF,
        -1px 0 0 #FFF, 1px 0 0 #FFF;
}



.flow-title.goal {
    color: #2185d0;
}


.flow-title.goal h2 {
    font-size: 6.8rem;
    line-height: 6.5rem;
    color: #fff;
    letter-spacing: 0;
    text-shadow: 1px 1px 0 #2185d0, -1px -1px 0 #2185d0,
        -1px 1px 0 #2185d0, 1px -1px 0 #2185d0,
        0px 1px 0 #2185d0, 0-1px 0 #2185d0,
        -1px 0 0 #2185d0, 1px 0 0 #2185d0;


}



















.subtitle {
    font-size: 3rem;
    display: inline-block;
    margin-bottom: 0;

}


.suben {
    font-size: .8rem;
    margin: 0 0 3rem 0;

    font-weight: 500;
    color: #2185D0;
}




















.l-news {
    z-index: 1;
    position: relative;

    overflow: hidden;
    background: #fff;
    padding-left: 10.9375vw;
    padding-top: 1rem;
    padding-bottom: 2rem;

}

.l-news .h2 {
    margin-bottom: 30px;
    font-weight: normal;
    letter-spacing: 1px;
    font-size: 36px
}

@media all and (max-width: 768px) {
    .l-news .h2 {
        font-size: 22px;
        line-height: 40px
    }
}

.l-news .button {
    text-align: right;
    margin-right: 10.9375vw
}

@media all and (max-width: 768px) {
    .l-news .button {
        margin-right: 0
    }
}

@media all and (max-width: 768px) {
    .l-news {
        padding-left: 6.66667vw;
        padding-right: 6.66667vw
    }
}

.l-news-bg {
    display: block;
    width: 100%;
    height: 26vw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: #B5E000
}

@media all and (max-width: 768px) {
    .home .l-news-bg {
        display: none
    }
}







#top-movie {
    padding-bottom: 5rem;
}




.toptopics {
    z-index: 1;
    position: relative;
    padding-left: 10.9375vw;
    margin-bottom: 14.84375vw;
    padding-top: 10vw;
    overflow: hidden;
}



.top-mov-area {
    padding-top: 20px
}

@media all and (max-width: 768px) {
    .news-items .l-col {
        padding: 0
    }
}

.news-items .news-item {
    width: 306px;
    margin-right: 40px
}

@media all and (max-width:768px) {
    .news-items .news-item {
        width: 50%;
        margin-right: 4%
    }
}



.news-items .news-item a {
    width: 100%
}

.news-topic {
    line-height: 1.1;
    padding: 2px 4px;
    color: #fff;
    display: none;
    border-color: #red;
    font-family: "futura-pt", sans-serif, "游ゴシック体", "Yu Gothic", YuGothic;
    position: absolute;
    top: 30px;
    left: -30px;
    background-color: #3AC7CC
}

.news-img {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    margin-bottom: 10px;
    width: 100%
}

.news-img::after {
    content: "";
    display: block;
    padding-bottom: 60%
}

.news-data {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    margin-top: 5px
}

.news-data time {
    font-family: "futura-pt", sans-serif, "游ゴシック体", "Yu Gothic", YuGothic;
    text-align: left;
    flex-grow: 1;
    font-size: 16px;
}

.news-data span {
    font-family: "futura-pt", sans-serif, "游ゴシック体", "Yu Gothic", YuGothic;
    font-size: 10px;
    line-height: 1;
    text-align: left;
    padding: 2px 8px 1px 8px;
    border: solid 1px #594b3c;
    letter-spacing: .1em;
    margin-right: 5px;
    color: #594b3c;
    background: #fff;
}

.news-inner {
    padding: 0 0px 20px 0;
    text-align: left
}

.news-inner p {
    font-weight: bold;
    color: #333;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 28px;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif
}


.product-midashi {
    margin-bottom: 10px;
    margin-top: 5px;
    font-size: 18px;
    font-weight: 600;
    color: #45352B;
}

.product-price {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    margin-top: 5px;
    font-size: 13px;
}

.product-inner {
    padding: 5px 0px 10px 0;
    text-align: left
}

@media all and (max-width: 768px) {
    .news-inner p {
        font-size: 12px
    }
}





.js-news-slider {
    padding-top: 80px
}

@media all and (max-width: 768px) {
    .l-news-items .top-mov-area.news-item {
        width: 50%
    }
}


@media all and (max-width: 768px) {
    body:not(.home) .news-items .news-item {
        width: 46%;
        margin: 0 2% 2%
    }
}









.button-line {
    height: 1px;
    width: 100%;
    background-color: #111
}

.button-link {
    display: inline-block;
    font-family: 'Oswald', sans-serif;
    font-weight: 400;
    color: #111;
    font-size: 18px;
    line-height: 1;
    position: relative;
    padding: 23px 50px
}

@media all and (max-width: 768px) {
    .button-link {
        padding: 17px 33px
    }
}

.button-link .button-line {
    height: 1px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #111;
    z-index: 0;
    overflow: hidden
}

.button-link .button-line::before {
    width: 100%;
    content: "";
    display: block;
    top: 0;
    left: 0;
    position: absolute;
    background: #E4E4E4;
    height: 1px;
    z-index: 1;
    transform: scaleX(0);
    transform-origin: right top;
    transition: -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1)
}

.button-link .button-line::after {
    width: 100%;
    content: "";
    display: block;
    top: 0;
    left: 0;
    position: absolute;
    background: #22819E;
    height: 1px;
    z-index: 1;
    transform: scaleX(0);
    transform-origin: right top;
    transition: -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1)
}

.button-link:hover {
    color: #22819E
}

.button-link:hover .button-line:before {
    transform: scaleX(1);
    transform-origin: left top;
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1)
}

.button-link:hover .button-line:after {
    transform: scaleX(1);
    transform-origin: left top;
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition-delay: 0.35s
}

.link-card {
    display: block;
    width: 100%;
}

.link-card .news-img {
    transition: all .8s cubic-bezier(0.19, 1, 0.22, 1)
}

.link-card:hover .news-img {
    transform: translate(-1%, -1%);
    box-shadow: 30px 30px 30px rgba(0, 0, 0, 0.05)
}

@media all and (max-width: 768px) {
    .link-card:hover .news-img {
        box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.05)
    }
}



.link-card .productimg {
    transition: all .8s cubic-bezier(0.19, 1, 0.22, 1)
}

.link-card a:hover .productimg {
    transform: translate(-1%, -1%);
    box-shadow: 30px 30px 30px rgba(0, 0, 0, 0.05)
}

@media all and (max-width: 768px) {
    .link-card:hover .productimg {
        box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.05)
    }
}



.link-wrap .link {
    display: inline-block;
    height: 31px;
    width: 31px;
    transform-origin: center;
    position: relative;
    border: 1px solid #111;
    border-radius: 50%;
    overflow: hidden
}

.link-wrap .link i {
    display: block;
    position: absolute;
    border-bottom: 1px solid #111;
    border-right: 1px solid #111;
    box-sizing: border-box;
    transform-origin: center;
    width: 9px;
    height: 9px;
    top: 50%;
    left: 48%;
    transform: translate(-50%, -50%) rotate(-45deg);
    transition: all .2s cubic-bezier(0.19, 1, 0.22, 1)
}

.link-wrap .link-line {
    height: 1px;
    width: 0%;
    position: absolute;
    top: 50%;
    left: -40%;
    background: #111;
    z-index: 0
}

.link-wrap .link-line::before {
    width: 100%;
    content: "";
    display: block;
    top: 0;
    left: 1px;
    position: absolute;
    background: #E4E4E4;
    height: 1px;
    z-index: 1;
    transform: scaleX(0);
    transform-origin: right top;
    transition: -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1)
}

.link-wrap .link-line::after {
    width: 100%;
    content: "";
    display: block;
    top: 0;
    left: 1px;
    position: absolute;
    background: #22819E;
    height: 1px;
    z-index: 1;
    transform: scaleX(0);
    transform-origin: right top;
    transition: -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1)
}

.link-wrap:hover {
    overflow: visible
}

.link-wrap:hover .link {
    overflow: visible;
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    border: 1px solid #22819E
}

.link-wrap:hover .link i {
    border-bottom: 1px solid #22819E;
    border-right: 1px solid #22819E;
    transition: all .2s cubic-bezier(0.19, 1, 0.22, 1);
    transform: translate(-50%, -50%) rotate(-45deg)
}

.link-wrap:hover .link-line {
    top: 50%;
    width: 100%;
    animation: linkLine 0.2s cubic-bezier(0.19, 1, 0.22, 1) forwards
}

.link-wrap:hover .link-line:before {
    transform: scaleX(1);
    transform-origin: left top;
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1)
}

.link-wrap:hover .link-line:after {
    transform: scaleX(1);
    transform-origin: left top;
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition-delay: 0.35s
}

.link-wrap-small .link {
    height: 22px;
    width: 22px
}

.link-wrap-small .link i {
    width: 7px;
    height: 7px;
    top: 50%
}




.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
}

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



#youtube_wrap {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}

.youtube_modal {
    display: block;
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding-top: 56.25%;
}

.youtube_modal iframe,
.youtube_modal a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}




.viewmorebtn {
    position: absolute;
    right: 5rem;
    bottom: 3rem;
    background: #fff;
}


.viewmore {
    width: 115px;
    height: 71px;
    position: relative;

}


.viewmore:before {
    content: "";
    width: 69px;
    height: 69px;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
    background: #111;
    transition: all .3s cubic-bezier(.39, .575, .565, 1);
}



.viewmore a {
    position: relative;
    text-decoration: none;
    color: #fff;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    height: 100%;
    padding-left: 14px;
    font-size: 12px;
    z-index: 2;
    letter-spacing: 0;
    mix-blend-mode: difference;
}


.viewmore a:hover {
    color: #fff;
}

.viewmore a:after,
.viewmore a:before {
    content: "";
    width: 15px;
    height: 0;
    border-top: 1px solid #fff;
    position: absolute;
    top: calc(50% + 2px);
    right: 0;
}


.viewmore a:after {
    width: 9px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: calc(50% - 1px);
    right: -1px;
}

.viewmore span {
    position: relative;
    z-index: 1;
}

.viewmore:hover:before {
    -webkit-transform: translateY(-50%) translateX(105%) scale(.4);
    transform: translateY(-50%) translateX(105%) scale(.4)
}