@charset "utf-8";



/* ====================================================================
 footer
==================================================================== */

#footer {
	background-color:#fffff !important;
}

/**/
#footer-pagetop {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 100;
}
#footer-pagetop a {
    display: block;
    width: 46px;
    height: 46px;
    overflow: hidden;
    background: url("../img/footer-pagetop-icon01.png") 0 0 no-repeat;
    background-size: contain;
    text-indent: 100%;
    white-space: nowrap;
}
#footer-pagetop a:hover {
    opacity: .75;
}
@media print, screen and (max-width: 768px) {
    #footer-pagetop a {
        width: 34px;
        height: 34px;
    }
}
@media print, screen and (max-width: 414px) {
    #footer-pagetop {
        bottom: 10px;
        right: 10px;
    }
}

/**/
#footer-contact {
    width: 100%;
    background: #f8f8f8;
	 margin: 0 auto;
}
#footer.hide-footer-contact #footer-contact {
    display: none;
}
#footer-contact > .inner {
    mini-width: 980px;
    margin: 0 auto;
    padding: 50px 20px;
}
#footer-contact > .inner .footer-contact-title {
    margin: 0 0 35px;
    font-size: 2.4rem;
    text-align: center;
}
#footer-contact > .inner .footer-contact-text {
    text-align: center;
    line-height: 1.8;
}
@media print, screen and (max-width: 768px) {
    #footer-contact {
        min-width: 100%;
        margin: 0 0 30px;
    }
    #footer-contact > .inner {
        width: 100%;
        padding: 40px 20px;
    }
    #footer-contact > .inner .footer-contact-title {
        margin: 0 0 20px;
    }
}
@media print, screen and (max-width: 414px) {
    #footer-contact > .inner {
        padding: 40px 10px;
    }
    #footer-contact > .inner .footer-contact-title {
        font-size: 2.2rem;
    }
}

/**/
#footer-nav {
    /*max-width: 980px;*/
	width: 100%;
	margin: 0 auto;
    border-top: 1px solid #0099ff;
    font-size: 1.4rem;
	background-color: #ffffff;

}
#footer-nav > .inner {
    /*width: 980px;*/
    max-width: 980px;;
    margin: 0 auto;
    padding: 40px 20px 1px;

}
#footer-nav > .inner .footer-main-nav {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
#footer-nav .inner .footer-main-nav a,
#footer-nav .inner .footer-main-nav a:visited {
    color: #333333;
    text-decoration: none;
    outline: none;
    -webkit-transition: all .1s ease-out;
    transition: all .1s ease-out;
}
#footer-nav .inner .footer-main-nav a:hover,
#footer-nav .inner .footer-main-nav a:active,
#footer-nav .inner .footer-main-nav a:focus {
    color: #0099ff;
}



#footer-nav > .inner .footer-main-nav > li {
    width: calc((100% - 60px) / 4);
    margin: 0 20px 40px 0;
}
#footer-nav > .inner .footer-main-nav > li:nth-of-type(4n) {
    margin-right: 0;
}
#footer-nav > .inner .footer-main-nav > li .title {
    margin: 0 0 20px;
    font-size: 1.6rem;
    font-weight: bold;
	color:#333333;
}
#footer-nav > .inner .footer-main-nav > li ul {}
#footer-nav > .inner .footer-main-nav > li ul li {
    margin: 0 0 5px;
}
#footer-nav > .inner .footer-main-nav > li ul li a {
    display: inline-block;
    padding: 0 0 0 1.143em;
    background: url("../img/icon-arrow-right01-blue01.png") 0 .35em no-repeat;
    background-size: .36em auto;
}
#footer-nav > .inner .footer-main-nav-sp {
    display: none;
}
@media print, screen and (max-width: 768px) {
    #footer-nav {
        min-width: auto;
        border-top: 0 none;
    }
    #footer-nav > .inner {
        width: auto;
        margin: 0 auto;
        padding: 0 20px 1px;
    }
    #footer-nav > .inner .footer-main-nav {
        display: none;
    }
    #footer-nav > .inner .footer-main-nav-sp {
        display: block;
        border-top: 1px solid #0099ff;
    }
    #footer-nav > .inner .footer-main-nav-sp > li {
        border-bottom: 1px solid #0099ff;
    }
    #footer-nav > .inner .footer-main-nav-sp > li > a {
        display: block;
        padding: 10px 35px 10px 20px;
        background: url("../img/icon-arrow-right01-blue01.png") calc(100% - 20px) 50% no-repeat;
        background-size: 7px auto;
		color:#333333;
    }
    #footer-nav > .inner .footer-main-nav-sp > li .title {
        padding: 10px 35px 10px 20px;
        background: url("../img/icon-arrow-down01-blue01.png") calc(100% - 18px) 50% no-repeat;
        background-size: 12px auto;
        cursor: pointer;
		color:#333333;
    }
    #footer-nav > .inner .footer-main-nav-sp > li .title:hover {
        color: #0099ff;
    }
    #footer-nav > .inner .footer-main-nav-sp > li .title.is-open {
        background-image: url("../img/icon-cross01-blue01.png");
    }
    #footer-nav > .inner .footer-main-nav-sp ul {
        display: none;
        margin: 0 0 10px;
    }
    #footer-nav > .inner .footer-main-nav-sp ul li {}
    #footer-nav > .inner .footer-main-nav-sp ul li a {
        display: block;
        padding: 5px 20px 5px 36px;
        background: url("../img/icon-arrow-right01-blue01.png") 20px .72em no-repeat;
        background-size: 6px auto;
		color:#333333;

    }

    #footer-nav > .inner .footer-main-nav-sp ul li a:hover{
		color: #0099ff;
		text-decoration: none;
	}
}
@media print, screen and (max-width: 414px) {
    #footer-nav {}
    #footer-nav > .inner {
        padding: 0 10px 1px;
    }
    #footer-nav > .inner .footer-main-nav-sp > li > a {
        padding: 10px 25px 10px 10px;
        background-position-x: calc(100% - 10px);
    }
    #footer-nav > .inner .footer-main-nav-sp > li .title {
      padding: 10px 25px 10px 10px;
      background-position-x: calc(100% - 9px);
    }
    #footer-nav > .inner .footer-main-nav-sp ul li a {
        padding: 5px 10px 5px 26px;
        background-position-x: 10px;
    }
}

/**/
#footer-sns4-under {
	width: 100%;
	background-color:#ffffff;
	border-top: 1px solid #0099ff;
}
#footer-sns4 {
	width: 100%;
}
#footer-sns4 ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
   width:100%;
    margin: 0 auto;
    padding: 50px 20px;
}
#footer-sns4 ul li {
    -webkit-flex: 0 0 48px;
    flex: 0 0 48px;
    margin: 0 20px 0 0;
}
#footer-sns4 ul li:last-of-type {
    margin-right: 0;
}
#footer-sns4 ul li a {}
#footer-sns4 ul li a:hover {
    opacity: .75;
}
#footer-sns4 ul li a img {
    width: 100%;
}
@media print, screen and (max-width: 768px) {
#footer-sns4-under {
	width: 100%;
	background-color:#ffffff;
	border-top:none;
	/*border-top: 1px solid #0099ff;*/
}


    #footer-sns4 {
        min-width: auto;
        border-top: 0 none;
    }
    #footer-sns4 ul {
        width: auto;
    }
}
@media print, screen and (max-width: 414px) {
    #footer-sns4 ul {
        padding: 50px 10px;
    }
}

/**/
#footer-main {
    /*min-width: 980px;*/
	width: 100%;
    background: #0099ff;
    color: #ffffff;
    font-size: 1.4rem;
}
#footer-main a {
    color: #ffffff;
}
#footer-main a:hover {
    text-decoration: underline;
}
#footer-main > .inner {
    /*width: 980px;*/
	max-width: 980px;
    margin: 0 auto;
    padding: 40px 20px 10px;
}
#footer-main > .inner .row {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
#footer-main > .inner .row .footer-sub-nav {
    display: -webkit-flex;
    display: flex;
    width: 560px;
    margin: 0 0 40px;
}
#footer-main > .inner .row .footer-sub-nav ul {
    margin: 0 20px 0 0;
}
#footer-main > .inner .row .footer-sub-nav ul:first-of-type {
    width: 240px;
}
#footer-main > .inner .row .footer-sub-nav ul:nth-of-type(2n) {
    margin-right: 0;
}
#footer-main > .inner .row .footer-sub-nav ul li {
    /*margin: 0 0 10px;*/
    margin: 0 0 5px;
}
#footer-main > .inner .row .footer-sub-nav ul li a {
    display: inline-block;
    padding: 0 0 0 1.143em;
    background: url("../img/icon-arrow-right01-white01.png") 0 .35em no-repeat;
    background-size: .36em auto;
}
#footer-main > .inner .row .footer-address {
    margin: 0 0 40px 20px;
    line-height: 1.85;
}
#footer-main > .inner .footer-copy {
    font-size: 1.2rem;
    text-align: center;
}
@media print, screen and (max-width: 768px) {
    #footer-main {
        min-width: auto;
    }
    #footer-main > .inner {
        width: auto;
    }
    #footer-main > .inner .row {
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    #footer-main > .inner .row .footer-sub-nav {
        -webkit-flex: 1 1 100%;
        flex: 1 1 100%;
        margin: 0 0 15px;
    }
    #footer-main > .inner .row .footer-sub-nav ul {
        -webkit-flex: 1 1 calc((100% - 20px) / 2);
        flex: 1 1 calc((100% - 20px) / 2);
        margin: 0 20px 0 0;
    }
    #footer-main > .inner .row .footer-address {
        -webkit-flex: 1 1 100%;
        flex: 1 1 100%;
        margin: 0 0 35px;
    }
}
@media print, screen and (max-width: 414px) {
    #footer-main > .inner {
        padding: 40px 10px 10px;
    }
}


