@charset "utf-8";

/* --------------------------------
   □ base
-------------------------------- */
body {
	display: grid;
    min-height: 100vh;
    grid-template-rows: auto 1fr;
}
/* --------------------------------
   □ header
-------------------------------- */
header .area, footer .area {
    font-size: 75%;
    text-align: left;
}
header .contents {
    width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
	justify-content:space-between;
    position: relative;	
	height: auto;
    padding: 16px 0;
    text-align: left;
    box-sizing: border-box;	
}
header h1 {
    width: 174px;
	margin:0;
}
header p.group {
    margin: 0 0 0 4.6em;
    width: 160px;
}
@media only screen and ( max-width : 767px ) {
	header .contents {
		width:100%;
		padding:16px;
	}
    
    header h1,
    header p.group {
        width: 100px;
    }
}
/* --------------------------------
   □ footer
-------------------------------- */
footer {
    clear: both;
    background: #fbeaf8;
    border-top: 3px solid #c01443;
}
footer .area {
    position: relative;
    padding: 29px 0 25px 0;
    width: 1200px;
    margin: 0 auto;
}
footer .area ul.siteTree {
    display: flex;
    flex-wrap: wrap;
    align-items: normal;
    justify-content: space-between;
    width: 930px;
    float: left;
	padding:0;
	margin:0 0 30px;
}
footer .area ul.siteTree li {
    display: inline;
    float: left;
}
footer .area ul.siteTree li dl {
	line-height:2.0;
}
footer .area ul.siteTree li dl dt a,
footer .area ul.sub-siteTree li a {
    font-size: .9rem;
	color:#333;
	text-decoration:none;
}
footer .area ul.siteTree li dl dt a sup {
    vertical-align: 0;
    position: relative;
    font-size: 14px;
    line-height: normal;
    padding-right: 2px;
}
footer .area ul.siteTree li dl dt a.external,
footer .area ul.sub-siteTree li a.external {
	background:url(../images/common/icon/icon-external-bk.png) no-repeat right;
	padding-right:1em;
}
footer .area ul.siteTree li dl dd {
    margin: 0 0 15px 0;
    margin-top: 12px;
    line-height: 1.2em;
}
footer .area ul.siteTree li dl dd a {
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: .8rem;
}
footer .area ul.siteTree li dl dd a::before {
    position: absolute;
    top: 0;
    left: 3px;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 4px;
    height: 4px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
footer .companyProfile {
    float: left;
    width: 240px;
	margin: 0 0 0 30px;
}
footer .companyProfile dt {
    margin: 8px 0 12px;
    width: 175px;
}
footer .companyProfile dd {
	margin-left:0;
}
footer .companyProfile dd p {
	margin-bottom:15px;
}

footer .companyProfile dd table th{
	width:4em;
	vertical-align:top;
}

footer .companyProfile dd table td{
	line-height:1.8;
}
footer p.copyright{
	margin:0;
	padding:10px;
	text-align:center;
	background:#c01443;
	color:#fff;
	line-height:2.0;
}
footer .area .sub-siteTree-wrap {
    display: flex;
    justify-content: left;
    gap: 100px;
    width: 100%;
    border-top: 1.5px solid #c01443;
    padding-top: 30px;
}
footer .area .sub-siteTree-wrap .footer-brand {
    width: 174px;
}
footer .area ul.sub-siteTree {
    display: flex;
    gap: 40px;
    font-size: .9rem;
	margin:0;
	padding:0;
}
footer .area ul.sub-siteTree li {
	list-style:none;
}
@media only screen and ( max-width : 767px ) {
	footer .area,
	footer .area ul.siteTree,
	footer .area ul.siteTree li{
		width:100%;
		box-sizing:border-box;
	}

	footer .area ul.siteTree li{
		padding-bottom:30px;
	}

	footer .area ul.siteTree li dt{
		padding-bottom:10px;
	}	

	footer .area{
		padding:29px 10px 25px;
	}
	
	footer .companyProfile{
		float:unset;
		margin-left:0;
	}

    footer .area .sub-siteTree-wrap {
		flex-wrap:wrap;
		gap:0;
	}

    footer .area .sub-siteTree-wrap .footer-brand {
		width:100px;
	}

	footer .area ul.sub-siteTree {
		flex-wrap:wrap;
		gap: 10px;
		padding:20px 0 5px;
	}

	footer .area ul.sub-siteTree li {
		width:100%;
	}
}


