@charset "utf-8";
/* CSS Document */
/* common
-------------------------------------------------- */
body {
	font-size: 10px;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	line-height: 0;
	color: #222;
	vertical-align: baseline;
}
a { 
	display: inline-block;
	text-decoration: underline;
	transition: .4s all;
}
a:hover { text-decoration: none;}

img { 
	display: inline-block;
	width:100%; 
	height: auto;
}
a img:hover {
	opacity: .65;
}

.inner {
	width:94%;
	max-width:1280px;
	margin:0 auto;
}

main {
	padding-bottom:15em;
}
main p,
main ul,
main ol,
main dl {
	font-size:1.5em;
	line-height: 1.6;
}

.pc { display: block;}
.sp { display: none;}

@media (max-width: 640px) {
/* SP用 */
	.sp { display: block;}
	.pc { display: none;}
}

/* header
-------------------------------------------------- */
header {
	display: flex;
	justify-content: space-between;
	padding: 10px 20px;
	align-items: center;
	height:60px;
	color: #fff;
	font-size:1.3em;
	background: #009f90;
}
header .logo {
	width:38px;
}

@media (max-width: 640px) {
/* SP用 */
}


/* footer
-------------------------------------------------- */
footer {
	display: flex;
	justify-content: center;
	padding:40px 25px;
	align-items: center;
	color: #fff;
	font-size:1.3em;
	line-height: 1.1;
	background: #009f90;
}
footer a {
	color: #fff;
}
footer .logo {
	width:60px;
	margin:0 auto 4em;
}
footer ul {
	display: flex;
	justify-content: center;
	margin-bottom: 1.2em;
}
footer ul li {
	position: relative;
	padding:0 1em;
	font-size: 1.3em;
}
footer ul li::before {
	content:'';
	position: absolute;
	left: 0;
	top:1px;
	width:1px;
	height:12px;
	background: #fff;
}
footer ul li:nth-child(1)::before { width:0;}

footer .copy {
	display: block;
	margin-top: 1.1em;
	text-align: center;
	font-size: 1.1em;
}

@media (max-width: 640px) {
/* SP用 */
}


/* index
-------------------------------------------------- */
.kv {
	padding: 16em 0;
}
.kv .logo--area {
	margin:0 0 0 7.5%;
	background: url("../img/title_bg.png") center right repeat-x;
	background-size: auto 120px;
}
.kv .logo--area img {
	height:100px;
	width:auto;
}
@media (max-width: 640px) {
/* SP用 */
	.kv {
		padding: 12em 0;
	}
	.kv .logo--area {
		margin:0 0 0 7.5%;
		background: url("../img/title_bg.png") center right repeat-x;
		background-size: auto 96px;
	}
	.kv .logo--area img {
		height:80px;
		width:auto;
	}
}

h1 {
	color: #009f90;
	font-size: 2.8em;
	line-height: 1.8;
}
.ul--brands {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	
	margin-bottom:12%;
}
.ul--brands li {
	width:22%;
}
.ul--brands li:nth-child(4) img { border: 1px solid #bbb;}

h2 {
	position: relative;
	margin:3.3em 0 1.4em;
	padding:0 0 .3em 1em;
	font-size:1.8em;
	line-height: 1.8;
	border-bottom:1px solid #ddd;
}
h2::before {
	content:'';
	position: absolute;
	left: 0;
	top:2px;
	width:5px;
	height:1.5em;
	background:#bbb;
}

@media (min-width: 641px) {
/* PC用 */
	.lead { margin:0 20% 10em;}
}
@media (max-width: 640px) {
/* SP用 */
	h1 {
		font-size:1.7em;
		margin:0 0 1em;
	}
	.ul--brands {
		margin:0 8% 15%;
	}
	.ul--brands li {
		width:45%;
		margin-bottom: 1.2em;
	}
}

@media (max-width: 640px) {
/* SP用 */
}



/* about
-------------------------------------------------- */
.about--area {}
.dl--about01 {
	display: flex;
	flex-wrap: wrap;
	margin:0 28% 1.8em;
}
.dl--about01 dt {
	width:15%;
	font-weight: bold;
}
.dl--about01 dd {
	width:70%;
	margin-left: 40px;
}
.dl--about01 dd + dd {
	margin-top: 1.2em;
	margin-left:calc(15% + 40px);
}
@media (min-width: 641px) {
/* PC用 */
	.about--area {
		display: flex;
		justify-content: center;
		margin: 12em 20%;
	}
	.about--area .logo {
		width:120px;
	}
	.about--area .txt {
		padding-left: 50px;
	}
}
@media (max-width: 640px) {
/* SP用 */
	.about--area {
		margin: 7em 5%;
	}
	.about--area .logo {
		width:120px;
	}
	.about--area .txt {
		margin-top:2em;
	}
	
	.dl--about01 {
		margin:0 0 1.8em;
	}
	.dl--about01 dt {
		width:20%;
		font-weight: bold;
	}
	.dl--about01 dd {
		width:70%;
		margin-left: 20px;
	}
	.dl--about01 dd + dd {
		margin-top: 1.2em;
		margin-left:calc(20% + 20px);
	}
}

@media (max-width: 640px) {
/* SP用 */
}

@media (max-width: 640px) {
/* SP用 */
}



/* policy
-------------------------------------------------- */
.policy .inner { padding-top:8em;}
.policy ol li {
	margin:1.3em 0 0;
}
.policy p + p { margin: 1em 0 0 2em;}
.policy ol li > p { font-size:1em;}
@media (max-width: 640px) {
/* SP用 */
	.policy p + p { margin: 1em 0 0 1em;}
}
@media (max-width: 640px) {
/* SP用 */
	.policy {
		padding-top:4em;
	}
	.policy .inner { padding-top:0;}
}



/* 
-------------------------------------------------- */
@media (max-width: 640px) {
/* SP用 */
}


/* 
-------------------------------------------------- */
@media (max-width: 640px) {
/* SP用 */
}


/* 
-------------------------------------------------- */
@media (max-width: 640px) {
/* SP用 */
}