@charset "UTF-8";



header *, footer *,
header *::after, footer *::before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/*
------------------------------------------------
header
------------------------------------------------
*/
header {
    margin-top: 10px;
}
header .box-header-content a {
    height: fit-content;
}
header .box-header-content img {
    height: 127px;
    padding-top: 5px;
}


header address {
    font-style: normal;
    font-size: 0.9em;
    margin: 3.5em 0 0.5em;
}
header address strong {
    color: #11678F;
    font-size: 1.5em;
}
header address .box-tel p:first-child {
    margin-right: 1em;
}

header .box-header-links {
    font-size: 0.9em;
    margin-bottom: 2em;
}
header .box-header-links a:first-child {
    margin-right: 1em;
}
header .box-header-links a::before {
    content: url("../img/icon_arrow_tri.svg");
    margin-right: 0.5em;
}

header .nav-grobal {
    color: #fff;
    background: #11678F;
}
header .nav-grobal p,
header .nav-grobal a,
header .nav-grobal a:visited {
    color: #fff;
    width: 100%;
    display: block;
    padding: 1em 0;
}

header .nav-grobal .box-gnav {
    text-align: center;
}
header .nav-grobal .box-gnav a {
    text-decoration: none;
}
header .nav-grobal .box-gnav > li {
    width: 16.7%;
    position: relative;
    -webkit-transition: all .5s;
    transition: all .5s;
}
header .nav-grobal .box-gnav > li:hover {
    background: #1486b5;
}
header .nav-grobal .box-gnav > li::after{
    content: url("../img/icon_line_ie.gif");
    -ms-content: url("../img/icon_line_ie.gif");
    margin: 7px 0;
    -ms-margin: 7px 0;
}
header .nav-grobal .box-gnav > li:first-child::before {
    content: url("../img/icon_line_ie.gif");
    -ms-content: url("../img/icon_line_ie.gif");
    margin: 7px 0;
    -ms-margin: 7px 0;
}

header .nav-grobal .box-gnav .drop-level-second,
header .nav-grobal .box-gnav .drop-level-fourth {
    position: absolute;
    width: 100%;
    background: #fff;
    visibility: hidden;
    opacity: 0;
    top: 40px;
	left: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    border: 1px solid #dcdcdc;
	z-index: 3;
}
header .nav-grobal .box-gnav .drop-level-second a,
header .nav-grobal .box-gnav .drop-level-third {
    color: #000;
    padding: 0.5em 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
header .nav-grobal .box-gnav .drop-level-third {padding: 0;}
header .nav-grobal .box-gnav .drop-level-first:hover .drop-level-second,
header .nav-grobal .box-gnav .drop-level-third:hover .drop-level-fourth {
    top: 49px;
    visibility: visible;
    opacity: 1;
}
header .nav-grobal .box-gnav .drop-level-third:hover .drop-level-fourth {
    position: relative;
    z-index: auto;
    display: contents;
}
header .nav-grobal .box-gnav .drop-level-third:hover .drop-level-fourth li {
    /* background: #1486b644; */
    border: none; /*　1px solid #1486b6;  #11678f */
}
header .nav-grobal .box-gnav .drop-level-third p{color: #000;}
header .nav-grobal .box-gnav .drop-level-second a:hover,
header .nav-grobal .box-gnav .drop-level-third:hover p,
header .nav-grobal .box-gnav .drop-level-fourth a:hover {
    background: #11678F;
    color: #fff;
}
header div.for-pc{position: relative;}
header div.yasashii{position: fixed;
    top: 5px;
    right: 5px;
    z-index: 11;}
@media screen and (max-width: 768px) {
    header {
        margin-bottom: 1em;
        color: #fff;
    }
    header .logo-sp img {
        width: 200px;
    }
    
    .gnav-sp-checkbox {
        display: none;
    }
    .gnav-sp-togglebutton span,
    .gnav-sp-togglebutton span::after,
    .gnav-sp-togglebutton span::before,
    .gnav-sp-overlay,
    .gnav-sp,
    .gnav-sp .logo-sp img,
    .gnav-sp ul
    .gnav-sp li,
    .gnav-sp label,
    .gnav-sp label::after,
    .gnav-sp a
    .gnav-sp .box-address-content {
        -webkit-transition: all 0.5s;
        transition: all 0.5s;
    }
    .gnav-sp-togglebutton {
        cursor: pointer;
        display: block;
        width: 30px;
        height: 40px;
        position: absolute;
        right: 0;    
        top: 20px;
        z-index: 5;
    }
    .gnav-sp-togglebutton span,
    .gnav-sp-togglebutton span::before,
    .gnav-sp-togglebutton span::after {
        background-color: #000;
        display: block;
        width: 26px;
        height: 3px;
        border-radius: 5px;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        margin: auto;
    }
    .gnav-sp-togglebutton span::before,
    .gnav-sp-togglebutton span::after {
        content: " ";
    }
    .gnav-sp-togglebutton span::before {
        top: 16px;
    }
    .gnav-sp-togglebutton span::after {
        top: -16px;
    }
    .gnav-sp-overlay {
        background: #00709E;
        opacity: 0;
        pointer-events: none;
        height: 100%;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 3;
    }
    .gnav-sp {
        width: 100%;
        height: 100vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        position: fixed;
        pointer-events: none;
        margin: 2em -4% 0 -4%;
        z-index: 4;
    }
    .gnav-sp .logo-sp img {
        width: 200px;
        top: 10px;
        position: fixed;
        opacity: 0;
        left: 4%;
    }
    .gnav-sp a {
        color: rgba(0,0,0,0);
    }
    .gnav-sp a::after {
        opacity: 0;
    }
    .gnav-sp label {
        color: rgba(0,0,0,0);
    }
    .gnav-sp ul {
        border-top: 1px solid rgba(255,255,255,0.01);
    }
    .gnav-sp li {
        font-size: 110%;
        margin-bottom: 1px;
    }
    .gnav-sp strong {
        color: #fff;
    }
    .gnav-sp-checkbox:checked ~ .gnav-sp-togglebutton {
        position: fixed;
        top: 30px;
        right: 4%;
    }
    .gnav-sp-checkbox:checked ~ .gnav-sp-togglebutton span {
        background: transparent;
    }
    .gnav-sp-checkbox:checked ~ .gnav-sp-togglebutton span:before {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: 0;
        background-color: #fff;
    }
    .gnav-sp-checkbox:checked ~ .gnav-sp-togglebutton span:after {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        top: 0;
        background-color: #fff;
    }
    .gnav-sp-checkbox:checked ~ .gnav-sp-overlay {
        opacity: 1;
        pointer-events: auto;
    }
    .gnav-sp-checkbox:checked ~ .gnav-sp {
        pointer-events: auto;
    }
    .gnav-sp-checkbox:checked ~ .gnav-sp .logo-sp img {
        opacity: 1;
    }
    .gnav-sp-checkbox:checked ~ .gnav-sp a {
        color: #fff;
    }
    .gnav-sp-checkbox:checked ~ .gnav-sp a::after {
        opacity: 1;
    }
    .gnav-sp-checkbox:checked ~ .gnav-sp label {
        color: #fff;
    }
    .gnav-sp-checkbox:checked ~ .gnav-sp > ul > li:first-child {
        border-top: 1px solid #0E506F;
    }
    .gnav-sp-checkbox:checked ~ .gnav-sp li:first-child {
        margin-bottom: 0;
    }
    .gnav-sp dd {
        font-size: 80%;
        font-weight: 300;
        margin-bottom: 2%;
    }
    .gnav-sp .btn-dropdown label::after {
        color: rgba(0,0,0,0);
    }
    .gnav-sp .box-address-content {
        text-align: center;
        margin-top: 0;
        opacity: 0;
    }
    header address{margin-top: 0.5em;}
    .gnav-sp-checkbox:checked  ~ .gnav-sp .box-address-content {
        opacity: 1;
    }
    .gnav-sp strong a {
        font-size: 1em;
    }
    header .box-header-links a {
        text-decoration: underline;
    }
    header .box-header-links a:hover {
        text-decoration: none;
    }
    header .box-header-links a::before {
        content: url("../img/icon_arrow_tri_w.svg");
        margin-right: 0.5em;
    }
}

/*
------------------------------------------------
footer
------------------------------------------------
*/
footer { 
    color: #fff;
    background: #00709E;
    margin: 5em -3.2% 0 !important;
}

footer a,
footer a:visited { color: #fff; }

footer .box-footer-content {
    padding: 2% 3.2%;
    position: relative;
}
footer ul > li {
    margin-bottom: 0.8em;
}
footer li {
    font-size: 110%;
}
footer dt {
	margin-bottom: 0.3em;
}
footer dd {
    font-size: 80%;
    font-weight: 300;
    margin-bottom: 3%;
}
footer dd::before {
    content: "- ";
}
footer .btn-page-top {
    position: absolute;
    right: 0;
    font-size: 100%;
    top: -25px;
    padding: 0.5em 2em 0.5em 1em;
    border: 1px #00709E solid;
    border-radius: 5px;
    color: #fff;
    background: #00709E;
}

footer .btn-page-top::after{
    content: url(../img/icon_mini_lchan.png);
    position: absolute;
    top: -9px;
}

footer .box-address-content {
    border-left: 1px #fff solid;
    padding-left: 4%;
    position: relative;
}

footer .box-address-content .logo-losaka {
    margin-bottom: 3%;
}

footer .box-address-content ul { margin-bottom: 5%; }
footer .box-address-content li {
    font-size: 90%;
    font-weight: 300;
    font-style: normal;
    margin-bottom: 1%;
}

footer .box-address-content li strong {
    font-size: 1.5em;
    font-weight: 600
}

footer .btn-contact {
    padding: 0.5em 1em;
    border: 1px #fff solid;
    color: #fff;
    background: #00709E;
	margin-bottom: 20%;
    cursor: pointer;
}
footer .btn-contact:hover {
    color: #00709E;
    background: #fff;
}

footer .box-sns-icon {
    margin-top: 2em;
}
footer .box-sns-icon img {
    margin-right: 1em;
}
footer .box-sns-icon img:hover {
    -webkit-transition: all .2s;
    transition: all .2s;
    opacity: .5;
}

footer small {
    background: #0E506F;
    font-size: 70%;
    text-align: center;
    width: 100%;
    padding: 0.5em 0;
    display: block;
}

@media screen and (max-width: 768px) { 
    footer {
        margin: 5em -4.3% 0 !important;
    }
    footer ul > li {
        margin-bottom: 0;
    }
    footer dd::before {
        content: "";
    }
    
    footer .box-address-content {
        margin: 2em auto;
        text-align: center;
        border: none;
        padding: 0;
    }
    footer .box-address-content .logo-losaka img {
        width: 220px;
        height: 34px
    }
    footer .box-sns-icon {
        position: relative
    }
}


/*
------------------------------------------------
sp footer navigation
------------------------------------------------
*/
@media screen and (max-width: 768px) { 
    footer a,
    header a {
        text-decoration: none;
        font-size: 1.2em;
    }
    footer dd a,
    header .gnav-sp-checkbox:checked ~ .gnav-sp dd a {
        display: block;
        width: 100%;
        height: 100%;
        background: #0E506F;
        padding: 5px 10px;
        font-size: 1.2em;
        border-radius: 3px;
    }
    .gnav-sp .li-no-child a::before {
        display: inline-block;
        width: 8px;
        margin-right: 0.5em;
        opacity: 0;
        content: url("../img/icon_arrow_greater_w.svg");
    }
    footer ul {
        padding: 0 4%;
    }
    footer ul a::before,
    header .gnav-sp-checkbox:checked ~ .gnav-sp .li-no-child a::before {
        display: inline-block;
        width: 8px;
        margin-right: 0.5em;
        opacity: 1;
        content: url("../img/icon_arrow_greater_w.svg");
    }
    header .gnav-sp-checkbox:checked ~ .gnav-sp .li-no-child a.nolink::before {
        content: url("../img/icon_arrow_greater_w.svg");
        transform:rotate(90deg);
    }
    header .gnav-sp-checkbox:checked ~ .gnav-sp dd a.nolink{
        background: #11678F;
    }
    footer dd a::before,
    header .gnav-sp-checkbox:checked ~ header dd a::before {
        width: 6px;
    }
    header li {
        margin-bottom: 0;
    }
    footer .li-no-child,
    .gnav-sp-checkbox:checked ~ .gnav-sp .li-no-child {
        border-bottom: 1px solid #0E506F;
    }
    footer .li-no-child a,
    header .li-no-child a {
        padding: 10px 4%;
        display: block;
        width: 100%;
    }
    footer .btn-dropdown,
    .gnav-sp-checkbox:checked ~ .gnav-sp .btn-dropdown {
        border-bottom: 1px solid #0E506F;
        position: relative;
		z-index: 2;
    }
    footer label,
    header label {
        font-size: 1.2em;
        position: relative;
        display: block;
        width: 100%;
        margin: 0;
        padding: 10px 4%;
        cursor: pointer;
    }
    footer .btn-dropdown-content,
    header .btn-dropdown-content {
        font-size: 1em;
        position: relative;
        overflow: hidden;
        height: 0;
        margin: 0;
        -webkit-transition: 0.4s ease;
                transition: 0.4s ease;
        opacity: 0;
    }
    footer .btn-dropdown input[type=checkbox]:checked ~ .btn-dropdown-content,
    header .btn-dropdown input[type=checkbox]:checked ~ .btn-dropdown-content {
        height: auto;
        padding: 0.5em 4%;
        opacity: 1;
    }
    footer .btn-dropdown label::after {
        color: #fff;
        font-family: 'Font Awesome 5 Free';
        content: '\f067';
        font-weight: 900;
        position: absolute;
        right: 5%;
        top: 10px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-transition: all 0.5s;
        transition: all 0.5s;
    }
    .gnav-sp .btn-dropdown label::after {
        color: rgba(0,0,0,0);
        font-family: 'Font Awesome 5 Free';
        content: '\f067';
        font-weight: 900;
        position: absolute;
        right: 5%;
        top: 10px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    footer .btn-dropdown input[type=checkbox]:checked ~ label::after,
    header .btn-dropdown input[type=checkbox]:checked ~ label::after {
        transform: rotateZ(-135deg);
    }
    .gnav-sp-checkbox:checked ~ .gnav-sp .btn-dropdown label::after {
        color: #fff;
    }
    footer .btn-dropdown input[type=checkbox],
    header .btn-dropdown input[type=checkbox] {
        display: none;
    }
}

