:root{
    --color-white: #FFFFFF;
    --color-red: #E50B00;
    --color-black: #000000;
    --color-black-333333: #333333;
    --color-black-1F1F1F: #1F1F1F;
    --color-black-535353: #535353;
    --color-red-BC0000: #BC0000;
    --color-red-E61F17: #E61F17;
}
body {
    font-size: 14px;
    padding: 0;
    margin: 0;
    font-family: "Hiragino Sans", "ヒラギノ角ゴ", sans-serif;
    font-weight: 400;
    line-height: 1.5;
    color: #1F1F1F;
}
html, body, div, h1 , h2, h3, h4, h5 , h6, p, blockquote, q, pre, table, caption, colgroup, col, tbody, thead, tfoot, tr, th, td, ul, ol, li, dl, dt, dd, form, fieldset, legend, label, input, span, a, img, em, ins, del, cite, abbr, sup, sub, dfn, code, var, samp, kbd, object, script, noscript, style, iframe, embed, param, map, area, menu, hr, address, small, strong, i, b, article, aside, figure, footer, header, hgroup, nav, section, figcaption, time, video, audio, mark, ruby, rt, rp, bdo, source, canvas, details, summary, command, datalist, keygen, output, progress, meter {
	margin: 0;
	padding: 0;
	word-wrap: break-word;
	word-break: break-all;
}
*,
:before,
:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    text-decoration: none;
}

a:hover,
button:hover  {
    opacity: 0.8;
}

a:hover,
a:focus {
    text-decoration: none;
}

ul {
    position: relative;
    margin: 0;
    padding: 0;
}

ul:after {
    content: "";
    display: table;
    clear: both;
}

li {
    list-style-type: none;
}

textarea{
    resize: none;
}
textarea.form-control:focus,
input.form-control:focus,
button:focus,
select.form-control:focus {
    outline: none;
}
button:focus{
    box-shadow: none;
}
img {
    vertical-align: middle;
    border-style: none;
}

.font-wbold{
    font-weight: bold;
}
.fonts-Roboto {
    font-family: 'Roboto', sans-serif;
}
.fonts-Hiragino{
    font-family: "Hiragino Sans", "ヒラギノ角ゴ", sans-serif;
}
.font-w300{
    font-weight: 300;
}

.font-w400{
    font-weight: 400;
}



.fonts-35{
    font-size: 35px;
}
.fonts-42{
    font-size: 42px;
}
/* ======= */
.row{
    margin-left: -15px;
    margin-right: -15px;
}
.row>*{
    padding-left: 15px;
    padding-right: 15px;
}


/* =============== */
.lineheight-1 {
    line-height: 1;
}

.lineheight-15 {
    line-height: 1.5;
}

.lineheight-18 {
    line-height: 1.8;
}

.lineheight-2 {
    line-height: 2;
}

.zIndex-15{
    z-index: 15;
}
.zIndex-16{
    z-index: 16;
}
/* ==== */

img{
    max-width: 100%;
    height: auto;
}
.clearfix:after {
    content: " ";
    display: block;
    clear: both;
}
/* ==== */
.container--wrapper{
    max-width: 1348px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
@media (min-width: 1399px) {
    .container--1290{
        max-width: 1320px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 15px;
        padding-right: 15px;
    }
}
@media (min-width: 1640px) {
    .container--1390{
        max-width: 1420px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 15px;
        padding-right: 15px;
    }
    .container--1440{
        max-width: 1470px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 15px;
        padding-right: 15px;
    }
    .container--1540{
        max-width: 1570px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 15px;
        padding-right: 15px;
    }
}
.background-FFFFFF{
    background-color: var(--color-white);
}
/*===============================================*/

.body-wrapper {
    position: relative;
    overflow: hidden;
}
.head-wrapper{
    background-color: rgb(245 245 245 / 90%);
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 100;
}
.head-wrapper.fs-nav{
    background-color: #F5F5F5;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.15);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.15);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.15);
}
.head-wrapper .image-logo img{
    max-width: 125px;
}
.head--menu li{
    flex: 1 auto;
    position: relative;
}
.head--menu li a{
    display: block;
    padding: 27px 30px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: var(--color-black-1F1F1F);
    position: relative;
}
.fs-nav .head--menu li a{
    padding-top: 22px;
    padding-bottom: 22px;
}
.head--menu li a span{
    position: relative;
}
.head--menu li a span::after{
    position: absolute;
    content: "";
    left: 0;
    bottom: -4px;
    width: 0;
    height: 2px;
    background-color: var(--color-red);
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    visibility: hidden;
}
.head--menu li.active a span::after,
.head--menu li a:hover span::after{
    width: 100%;
    opacity: 1;
    visibility: visible;
}
.icon-dropdown-menu{
    position: absolute;
    left: calc(100% + 6px);
    top: 50%;
    transform: translateY(-50%);
    width: 13px;
}

.head--menu li:hover a,
.head--menu li.active a{
    color: var(--color-red);
    opacity: 1;
}
.btn--red{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 43px;
    border: 2px solid var(--color-white);
    background-color: var(--color-red);
    border-radius: 45px;
    -webkit-box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.15);
    -moz-box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.15);
    box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.15);
    position: relative;
    
}
.btn--red,
.head--menu li.li-contact .btn--red path,
.top-digilo-page .btn--red path,
.digilo--detail-page .btn--red path,
.digilo--detail-page h3 a{
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.digilo--detail-page .btn--red,
.top-digilo-page .btn--red,
.head--menu li.li-contact .btn--red{
    color: var(--color-white);
}
.head--menu li.li-contact .btn--red{
    display: flex;
    margin-left: 40px;
    padding: 0 0 0 0;
    width: 156px;
    box-shadow: none;
}
.btn--red svg{
    position: absolute;
    right: 17px;
    top: 50%;
    transform: translateY(-50%);
}
.head--menu li.li-contact a:hover,
.digilo--detail-page .btn--red:hover,
.top-digilo-page .btn--red:hover{
    background-color: var(--color-white);
    color: var(--color-red);
    border-color: var(--color-red);
}
.head--menu li.li-contact .btn--red:hover path,
.digilo--detail-page .btn--red:hover path,
.top-digilo-page .btn--red:hover path{
    stroke: var(--color-red)
}
.digilo--detail-page h3:hover a{
    color: var(--color-red);
}

.head--menu li .sub-menu{
    position: absolute;
    left: 0;
    top: 100%;
    width: 215px;
    background-color: #F6F6F6;
    -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1);
    -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1);
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1);
    opacity: 0;
    padding: 20px 0;
    -webkit-transform-origin: 0 0 0;
    transform-origin: 0 0 0;
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    -webkiit-transform: scaleY(0);
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
}
.head--menu li:hover .sub-menu{
    opacity: 1;
    -ms-transform: scaleY(1);
    -webkit-transform: scaleY(1);
    -moz-transform: scaleY(1);
    -o-transform: scaleY(1);
    transform: scaleY(1);
    visibility: visible;
}
.head--menu li .sub-menu li{
    position: relative;
}
.head--menu li .sub-menu li:first-child::before{
    position: absolute;
    content: "";
    left: 33px;
    bottom: calc(100% + 19px);
    width: 30px;
    height: 16px;
    background-image: url('../img/icon/Polygon2.svg');
    background-size: 100%;
    background-repeat: no-repeat;
    filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.1));
}
.head--menu li .sub-menu li a{
    padding: 17px 15px 17px 26px;
    color: var(--color-black-1F1F1F);
}
.head--menu li .sub-menu li:hover a{
    background-color: var(--color-white);
}


/* ==== */
.footer-wrapper{
    padding: 170px  0 13px;
    background-color: #F5F5F5;
    z-index: 51;
    position: relative;
}
.menu--footer li:not(:last-child){
    margin-bottom: 15px;
}
.menu--footer a{
    color: var(--color-black-1F1F1F);
}
.footercopy--right{
    text-align: right;
    font-size: 10px;
}
/* == */
/* ==========================|Menu--Mobile|=========================== */

.mmenu--mobile,
.navbar--address {
    display: none;
}
@media (max-width: 767px) {
    .mmenu--mobile {
        left: -100%;
        top: 0;
        position: fixed;
        width: 100%;
        z-index: 250;
        opacity: 0;
        -webkit-transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
        display: block;
        height: 100%;
        visibility: hidden;
        background-color: var(--color-black-1F1F1F);
    }
    .mmenu--mobile.active-mm {
        opacity: 1;
        left: 0;
        visibility: visible;
    }
    .mmenu--mobile .mmenu-body {
        position: relative;
        background-color: var(--color-B30120);
        height: 100%;
        z-index: 15;
        padding: 99px 24px 15px 20px;
    }
    .content-mm{
        height: 100%;
        overflow: auto;
    }
    .mmenu--mobile .logo--mobile {
        position: absolute;
        top: 17px;
        left: 50%;
        -webkit-transform: translate(-50%, 0%);
        -moz-transform: translate(-50%, 0%);
        -o-transform: translate(-50%, 0%);
        -ms-transform: translate(-50%, 0%);
        transform: translate(-50%, 0%);
    }
    .mmenu--mobile .logo--mobile img {
        width: 210px;
        max-width: inherit;
    }
    .mmenu-ul li {
        position: relative;
        list-style-type: none;
    }
    .mmenu-ul li a {
        color: var(--color-white);
        font-size: 16px;
        position: relative;
        display: flex;
        align-items: center;
        height: 71px;
        border-bottom: 1px solid rgb(255 255 255 / 30%);
    }
    .mmenu-ul li .icon---bar{
        position: absolute;
        right: 0;
        top: 10px;
        height: 50px;
        width: 50px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }
    .mmenu-ul li .icon---bar img{
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }
    .mmenu-ul li .icon---bar.toggle img{
        -webkit-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
        -o-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
    }
    .mmenu-ul li.mmenu-close a{
        border: 1px solid var(--color-white);
        padding: 2px 10px;
        width: calc(100% - 20px);
        margin: 0 auto;
    }
    .m--backdrop {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        opacity: 0;
        transition: all .1s ease-in-out;
    }
    .active-mm .m--backdrop {
        left: 0;
        opacity: 1;
    }
    .mmenu-ul li .sub-menu{
        display: none;
        padding-left: 15px;
    }
    .mmenu-ul li .sub-menu li a{
        height: 59px;
        font-size: 13px;
    }
}
/* ================== */
.bg-F5F5F5{
    background-color: #F5F5F5;
}
.bg-F4F4F4{
    background-color: #F4F4F4;
}
.color--red{
    color: var(--color-red);
}
.color--black{
    color: var(--color-black);
}
.color--white{
    color: var(--color-white);
}
.scroll_top{
    position: absolute;
    bottom: calc(100% + 75px);
    right: -2px;
    cursor: pointer;
}

@media (min-width: 1200px) {
    .scroll_top img{
        width: 55px;
    }
}
.scroll_top:hover{
    opacity: 0.8;
}
.logo--mmenu-sp,
.navbar_menu_sp,
.bottom--mm-address,
.d-none,
.m-sp575{
    display: none;
}


@media (max-width: 1199px) {
    .head--menu li a{
        padding-left: 18px;
        padding-right: 18px;
    }
    .scroll_top{
        right: 10px;
    }
}
@media (max-width: 1024px) {
    .footer-wrapper{
        padding: 80px 0 15px;
    }
}
@media (max-width: 991px) {
    .head--menu li a{
        padding-left: 12px;
        padding-right: 12px;
        font-size: 12px;
    }
    .head--menu li.li-contact .btn--red{
        margin-left: 16px;
        width: 140px;
    }
    .scroll_top{
        bottom: calc(100% + 60px);
    }
}
@media (max-width: 767px) {
    .head-wrapper{
        padding: 15px 0 15px;
        background-color: transparent;
        z-index: 999;
        position: absolute;
        -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.05);
        -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.05);
        box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.05);
    }
    .head-wrapper .image-logo{
        position: relative;
        left: -5px;
    }
    .head-wrapper .image-logo img{
        max-width: 100px;
    }
    .head-wrapper .toggle-active .logo--page{
        display: none;
    }
    .head-wrapper .toggle-active .logo--mmenu-sp{
        display: block;
    }
    .head--menu{
        display: none;
    }
    .navbar_menu_sp{
        display: block;
        margin-right: 4px;
        cursor: pointer;
    }
    .navbar_menu_sp:hover{
        color: var(--color-red);
    }
    .navbar_menu_sp .icon-bar{
        display: block;
        height: 13px;
        width: 42px;
        position: relative;
    }
    .navbar_menu_sp .icon-bar span{
        position: absolute;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: var(--color-black-1F1F1F);
        -webkit-transition: all 0.3s ease 0s;
        -moz-transition: all 0.3s ease 0s;
        -o-transition: all 0.3s ease 0s;
        transition: all 0.3s ease 0s;
    }
    .navbar_menu_sp .icon-bar span:nth-child(2n+1){
        top: 0;
    }
    .navbar_menu_sp .icon-bar span:nth-child(2n+2){
        top: 10px;
    }
    .navbar_menu_sp.nav--active .icon-bar span:nth-child(2n+1){
        transform: rotate(45deg);
        top: 16px;
    }
    .navbar_menu_sp.nav--active .icon-bar span:nth-child(2n+2){
        transform: rotate(-45deg);
        top: 16px;
    }
    .navbar_menu_sp .fonts-10{
        line-height: 1;
    }
    .navbar_menu_sp.nav--active .icon-bar span{
        background-color: var(--color-white);
    }
    .navbar_menu_sp.nav--active .fonts-10{
        opacity: 0;
    }
    
    .footer-wrapper{
        padding: 40px 0 80px;
    }
    .image--logo-footer,
    .image-iso{
        text-align: center;
    }
    .image--logo-footer{
        padding-top: 30px;
        margin-top: 30px;
        border-top: 1px solid var(--color-black-535353);
    }
    .footercopy--right{
        text-align: center;
    }
    .menu--footer{
        margin-top: 30px;
    }
    .bottom--mm-address{
        display: flex;
    }
    .bottom--mm-address a{
        display: flex;
        align-items: center;
        justify-content: center;
        width: calc(50% - 5px);
        height: 58px;
        border-radius: 10px;
        flex-wrap: wrap;
        position: relative;
        padding: 11px 0;
    }
    .bottom--mm-address a:first-child{
        background-color: var(--color-white);
        color: var(--color-black-1F1F1F);
        margin-right: 10px;
    }
    .bottom--mm-address a:last-child{
        background-color: var(--color-red);
        color: var(--color-white);
        padding-right: 13px;
        font-size: 14px;
    }
    .bottom--mm-address a .icon-right,
    .navbar--address a .icon-right{
        position: absolute;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
    }
    .navbar--address span,
    .bottom--mm-address span{
        display: block;
        text-align: center;
        margin-top: 6px;
        width: 100%;
        padding-left: 10px;
    }
    /*  */
    .navbar--address{
        display: block;
        position: fixed;
        left: 0;
        bottom: 0;
        z-index: 200;
        width: 100%;
    }
    .navbar--address ul{
        display: flex;
    }
    .navbar--address li{
        flex: 0 0 50%;
        max-width: 50%;
    }
    .navbar--address a{
        display: flex;
        align-items: center;
        justify-content: center;
        height: 58px;
        color: var(--color-white);
        padding: 14px 0 12px;
        flex-wrap: wrap;
    }
    .navbar--address span{
        padding-left: 30px;
        margin-top: 0;
    }
    .navbar--address li:first-child a{
        background-color: var(--color-black-1F1F1F);
    }
    .navbar--address li:first-child a img{
        margin-left: -8px;
    }
    .navbar--address li:last-child a{
        background-color: var(--color-red);
        font-size: 14px;
        padding-right: 13px;
        font-weight: 700;
    }
    .scroll_top {
        bottom: calc(100% + 20px);
    }
    .breadcrumb--bar-menu{
        position: relative;
        z-index: 50;
    }
}
@media (max-width: 575px) {
    .m-pc575{
        display: none;
    }
    .m-sp575{
        display: block;
    }
    .bottom--mm-address span{
        padding-left: 0;
    }
    .footer-wrapper{
        padding-top: 0;
    }
    .menu--footer{
        margin-top: 0;
    }
    .footer-wrapper .flex-row-reverse .col-6{
        flex: 0 0 auto;
        width: 100%;
    }
    .menu--footer li:not(:last-child) {
        margin-bottom: 0;
    }
    .menu--footer li a {
        padding: 6px 0;
        display: block;
        font-weight: 400 !important;
    }
    .menu--footer li:first-child a{
        padding: 10px 15px;
        width: calc(100% + 30px);
        position: relative;
        left: -15px;
        background-color: var(--color-white);
        font-weight: 700 !important;
    }
    .image--logo-footer img,
    .image-iso img{
        max-width: 55%;
    }
    .scroll_top {
        bottom: calc(100% - 20px);
    }
}

