.company_contact {
	width:100%;
	height:220px;
	box-sizing:border-box;
	background-color:#3cc0d5;
	font-size:3.4rem;
	font-weight:500;
	position:relative;
	overflow:hidden;
    transition:.3s;
}
.company_contact span {
	color:#FFFFFF;
	line-height:1;
	letter-spacing:.1em;
}
.company_contact .icon_mail {
	width:70px;
	height:70px;
	background-color:#FFFFFF;
	border-radius:50%;
	position:relative;
	margin-right:20px;
}
.company_contact .icon_mail img {
	width:40%;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
}
.company_contact .bgtxt {
    position:absolute;
    width:6em;
    text-align:center;
    font-size:26rem;
    font-weight:300;
    bottom:-.2em;
    opacity:.1;
    transition:.3s;
}
.company_contact:hover {
	background-color:#21a9bf;
}
.company_contact:hover .bgtxt {
    opacity:.3;
}

.footer_wrap {
	text-align:center;
	box-sizing:border-box;
	padding:120px 0;
	background-color:#f6f6f6;
}
.footer_inner {
	width:calc(100% - 60px);
	max-width:1300px;
}
.footer_logo_wrap {
	width:300px;
	margin-right:auto;
	text-align:left;
}
.footer_logo {
	width:260px;
	margin-bottom:20px;
}
.footer_logo_menu {
	width:260px;
	margin-bottom:30px;
}
.footer_logo_menu a {
	font-size:1.3rem;
	box-sizing:border-box;
	padding-left:1em;
	background:url(../img/common/arrow.png) no-repeat left center;
	background-size:auto 80%;
	transition:.3s;
}
.footer_logo_menu a:hover {
    color:#ffa800;
}
.footer_logo2 {
	width:60%;
	margin-bottom:40px;
}
.copyright {
	font-size:1.2rem;
	line-height:1;
	color:#a4a4a4;
}
.menu-fmenu0-container {
	margin-right:100px;
	padding-bottom:12px;
}
.menu-fmenu1-container {
	margin-right:100px;
	padding-bottom:18px;
}
.footer_inner ul.menu {
    text-align:left;
}
.footer_inner ul.menu > li {
    font-size:1.5rem;
    line-height:1;
    margin-bottom:1.5em;
}
.footer_inner ul.menu > li a {
	transition:.3s;
}
.footer_inner ul.menu > li a:hover {
    color:#ffa800;
}

.footer_inner ul.menu > li:last-child,
.footer_inner ul.menu > li:last-child li:last-child {
	margin-bottom:0;
}
.footer_inner ul.menu > li ul {
	padding-top:1em;
}
.footer_inner ul.menu > li li {
    font-size:1.6rem;
    line-height:1;
    margin-bottom:1em;
}
.footer_inner ul.menu > li li a {
	color:#1c4388;
	font-size:1.3rem;
	box-sizing:border-box;
	padding-left:1em;
	background:url(../img/common/arrow.png) no-repeat left center;
	background-size:auto 80%;
}

body #to_top_scrollup {
	padding:0;
}


@media screen and (max-width:1200px){
	
.company_contact {
	height:160px;
	font-size:3.0rem;
}
.company_contact .icon_mail {
	width:60px;
	height:60px;
}
.company_contact .bgtxt {
    font-size:18rem;
}
	
}

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

.company_contact {
	font-size:2.0rem;
	height:100px;
}
.company_contact span {
	color:#FFFFFF;
	line-height:1;
	letter-spacing:.1em;
}
.company_contact .icon_mail {
	width:40px;
	height:40px;
	margin-right:10px;
}
.company_contact .bgtxt {
    width:100vw;
    font-size:25vw;
    overflow:hidden;
    bottom:-0.1em;;
}
	
.footer_wrap {
	padding:45px 0 30px;
}
.footer_inner {
	width:calc(100% - 40px);
	position:relative;
	box-sizing:border-box;
	padding-bottom:60px;
	max-width:400px;
}
.footer_inner.fbox.alend {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
	align-content: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.footer_logo_wrap {
	width:100%;
}
.footer_logo {
	width:150px;
}
.footer_logo_menu {
}
.footer_logo2 {
	width:120px;
}
.copyright {
	font-size:1.1rem;
	position:absolute;
	left:20px;
	bottom:0px;	
}
.menu-fmenu0-container,
.menu-fmenu1-container,
.menu-fmenu2-container {
	margin:0;
	padding:0;
	width:auto;
}
.footer_inner ul.menu > li {
    font-size:1.2rem;
    line-height:1;
    margin-bottom:1.5em;
}

.footer_inner ul.menu > li:last-child,
.footer_inner ul.menu > li:last-child li:last-child {
	margin-bottom:0;
}
.footer_inner ul.menu > li ul {
	padding-top:1.5em;
}
.footer_inner ul.menu > li li {
    font-size:1.2rem;
    margin-bottom:1.5em;
}
.footer_inner ul.menu > li li a {
	font-size:1.1rem;
}

}

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

}