@charset "utf-8";

/* all
--------------------------------------------------- */
#page-contents .no-pc {
  display: none;
}
#page-contents br.no-pc {
  display: none;
}
#page-contents .no-sp {
  display: block;
}
@media screen and (max-width: 767px) {
	#page-contents .no-pc {
		display: block;
	}
	#page-contents .no-sp {
		display: none;
	}
}
/* LAYOUT
--------------------------------------------------- */
.contents-area {
  width: 100%;
	max-width: 870px;
	margin: 0 auto;
}
.contents-inner:last-child {
	margin-bottom: 60px;
}
.contents-inner + .contents-inner {
	margin-top: 60px;
}
.contents-inner.gray {
	background: #eaeaea;
	padding: 0 40px;
}
.contents-inner.gray + .contents-inner.gray {
	margin-top: 0;
}
@media screen and (max-width: 870px) {
	.contents-area {
		padding: 0 20px;
	}
}
@media screen and (max-width: 767px) {
	.contents-inner + .contents-inner {
		margin-top: 50px;
	}
	.contents-inner.gray {
		padding: 0 20px;
	}
}
@media screen and (max-width: 480px) {
	.contents-inner + .contents-inner {
		margin-top: 40px;
	}
	.contents-inner.gray {
		padding: 0 20px;
	}
}
/* HEADDING
--------------------------------------------------- */
#page-contents h2 {
  max-width: 870px;
	display: block;
	padding: 0;
	margin: 0 auto;
}
#page-contents h3 {
  font-size: 28px;
	text-align: center;
	display: block;
	padding: 40px 10px;
}
#page-contents h4 {
	display: block;
	font-size: 18px;
	margin: 0 0 30px;
	text-align: center;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
  #page-contents h3 {
    font-size: 24px;
		padding: 35px 10px;
  }
	#page-contents h4 {
		font-size: 16px;
	}
}
@media screen and (max-width: 480px) {
  #page-contents h3 {
    font-size: 20px;
		padding: 30px 10px;
  }
	#page-contents h4 {
		font-size: 14px;
	}
}
/* HERO
--------------------------------------------------- */
.hero {
	padding: 40px 0;
}
.hero-inner {
}
.outline {
	text-align: center;
	font-size: 18px;
	padding-top: 40px;
}
.outline p {
}
@media screen and (max-width: 767px) {
  .hero {
		padding: 35px 0;
	}
	.outline {
		font-size: 16px;
		padding-top: 35px;
	}
}
@media screen and (max-width: 480px) {
  .hero {
		padding: 30px 0;
	}
	.outline {
		font-size: 14px;
		padding-top: 30px;
	}
}
/* PAGE LINK
--------------------------------------------------- */
.page-link-box {
	margin-bottom: 50px;
}
ul.page-link-list {
	display: flex;
}
ul.page-link-list li {
	display: block;
	margin: 0 0.5%;
	flex-grow: 1;
}
ul.page-link-list li:first-child {
	margin: 0 0.5% 0 0;
}
ul.page-link-list li:last-child {
	margin: 0 0 0 0.5%;
}
ul.page-link-list li a {
	display: block;
	padding: 10px 10px;
	text-align: center;
	background: #ababab;
	color: #FFF;
	font-size: 13px;
	text-decoration: none;
}
ul.page-link-list li a:hover {
	opacity: .7;
}
@media screen and (max-width: 767px) {
	.page-link-box {
		margin-bottom: 40px;
	}
	ul.page-link-list {
		flex-wrap: wrap;
	}
	ul.page-link-list li {
		margin: 0 .5% 5px;
		width: calc(97% / 3);
	}
	ul.page-link-list li:first-child {
		margin: 0 .5%;
	}
	ul.page-link-list li:last-child {
		margin: 0 .5%;
	}
	ul.page-link-list li a {
		padding: 7px 7px;
		font-size: 14px;
	}
}
@media screen and (max-width: 640px) {
	.page-link-box {
		margin-bottom: 30px;
	}
	ul.page-link-list li {
		width: calc(98% / 2);
	}
	ul.page-link-list li a {
		padding: 5px 5px;
		font-size: 13px;
	}
}
/* FEELING
--------------------------------------------------- */
.feeling-area {
	display: flex;
	flex-wrap: wrap;
}
.feeling-area .feeling-box {
	width: calc(96% / 2);
	background: #FFF;
	margin-bottom: 30px;
}
.feeling-area .feeling-box:nth-child(1),
.feeling-area .feeling-box:nth-child(3) {
	margin-right: 4%;
}
.feeling-area .fdetail {
	padding: 30px;
}
.feeling-area .fdetail .fttl {
	font-size: 45px;
	color: #ababab;
	line-height: 1;
}
.feeling-area .fdetail .fttl span {
	font-size: 15px;
	padding-left: 1em;
}
.feeling-area .fdetail .fsubttl {
	font-size: 18px;
	color: #000;
}
.feeling-area .fdetail p {
	color: #505050;
}
.feeling-area .fdetail p + p {
	margin-top: 30px;
}
@media screen and (max-width: 767px) {
	.feeling-area .fdetail {
		padding: 20px;
	}
	.feeling-area .fdetail .fttl {
		font-size: 30px;
		line-height: 1.3;
	}
	.feeling-area .fdetail .fttl span {
		display: block;
		padding-left: 0;
	}
	.feeling-area .fdetail .fsubttl {
		font-size: 16px;
	}
}
@media screen and (max-width: 480px) {
	.feeling-area .feeling-box {
		width: calc(100% / 1);
		margin-bottom: 20px;
	}
	.feeling-area .feeling-box:nth-child(1),
	.feeling-area .feeling-box:nth-child(3) {
		margin-right: 0;
	}
	.feeling-area .fimg {
		padding: 20px 20px 0;
	}
	.feeling-area .fimg img {
		display: block;
		margin: 0 auto;
	}
	.feeling-area .fdetail {
		padding: 20px;
	}
	.feeling-area .fdetail .fttl {
		font-size: 30px;
	}
	.feeling-area .fdetail .fsubttl {
		font-size: 14px;
	}
}
/* COMPANY
--------------------------------------------------- */
.company-area .company-list {
	display: flex;
	flex-wrap: wrap;
}
.company-area .company-list dt,
.company-area .company-list dd {
	padding: 10px 10px 10px 0px;
	border-bottom:  dotted 1px #BBB;
}
.company-area .company-list dt {
	width: 30%;
}
.company-area .company-list dd {
	width: 70%;
	padding: 10px;
}
@media screen and (max-width: 767px) {
	.company-area .company-list dt {
		width: 30%;
	}
	.company-area .company-list dd {
		width: 70%;
	}
}
/* ACCESS
--------------------------------------------------- */
.access-area {
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 30px;
}
.access-area div:first-child {
	width: 40%;
	margin-right: 5%;
}
.access-area div:last-child {
	width: 55%;
}
.access-area div img {
	display: block;
	margin: 0 auto;
}
@media screen and (max-width: 480px) {
	.access-area div:first-child {
		width: 100%;
		margin: 0 0 10px;
	}
	.access-area div:last-child {
		width: 100%;
	}
}
/* BRAND
--------------------------------------------------- */
.brand-area {
}
.brand-area .brand-list {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 30px;
}
.brand-area .brand-list li {
	width: calc(98% / 3);
	margin: 0 1% 5px 0;
	display: block;
	line-height: 1;
}
.brand-area .brand-list li:nth-child(3n) {
	margin-right: 0;
}
.brand-area .brand-list li a {
	display: block;
}
.brand-area .brand-list.mb0 {
	margin-bottom: 0px;
}
@media screen and (max-width: 767px) {
	.brand-area .brand-list li {
		width: calc(96% / 2);
		margin: 0 1% 5px;
	}
	.brand-area .brand-list li:nth-child(3n) {
		margin: 0 1% 5px;
	}
}
/* Sustainability
--------------------------------------------------- */
.sstn-area {
}
.sstn-area .sstn-ttl {
	font-size: 23px;
	text-align: center;
	margin: 40px 0 20px;
	font-weight: bold;
}
.sstn-area .sstn-lead {
	text-align: center;
}
.sstn-area .sstn-detail {
	padding: 30px;
	margin-top: 30px;
	background: #FFF;
}
.sstn-area .sstn-detail .sstn-de-ttl {
	font-size: 23px;
	padding-bottom: 10px;
	margin-bottom: 20px;
	display: block;
	border-bottom: solid 1px #101010;
}
.sstn-area .sstn-detail .sstn-detail-box + .sstn-detail-box {
	margin-top: 40px;
}
.sstn-area .sstn-detail .sstn-detail-box img {
	display: block;
	margin: 0 auto;
}
.sstn-area .sstn-detail .sstn-detail-box.sdb01,
.sstn-area .sstn-detail .sstn-detail-box.sdb03 {
	display: flex;
	flex-wrap: wrap;
}
.sstn-area .sstn-detail .sstn-detail-box.sdb01 div:first-child {
	width: 70%;
	margin-right: 5%;
}
.sstn-area .sstn-detail .sstn-detail-box.sdb01 div:last-child {
	width: 25%;
}
.sstn-area .sstn-detail .sstn-detail-box.sdb03 {
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: dotted 1px #d0d0d0;
}
.sstn-area .sstn-detail .sstn-detail-box.sdb03:last-child {
	padding-bottom: 0px;
	margin-bottom: 0px;
	border-bottom: none;
}
.sstn-area .sstn-detail .sstn-detail-box.sdb03 div:first-child {
	width: 50%;
	margin-right: 5%;
}
.sstn-area .sstn-detail .sstn-detail-box.sdb03 div:last-child {
	width: 45%;
}
.sstn-area .sstn-detail .sstn-detail-box.sdb03 .sstn-de-subttl {
	font-size: 23px;
	color: #000;
}
.sstn-area .sstn-detail .sstn-detail-box.sdb03 .sstn-de-sublead {
	font-size: 18px;
	margin: 15px 0 30px;
}
@media screen and (max-width: 767px) {
	.sstn-area .sstn-ttl {
		font-size: 20px;
		margin: 30px 0 20px;
	}
	.sstn-area .sstn-detail {
		padding: 20px;
		margin-top: 20px;
	}
	.sstn-area .sstn-detail .sstn-de-ttl {
		font-size: 18px;
	}
	.sstn-area .sstn-detail .sstn-detail-box.sdb03 .sstn-de-subttl {
		font-size: 18px;
	}
	.sstn-area .sstn-detail .sstn-detail-box.sdb03 .sstn-de-sublead {
		font-size: 14px;
		margin: 15px 0 25px;
	}
	.sstn-area .sstn-detail .sstn-detail-box.sdb03 .notes {
		font-size: 14px;
	}
}
@media screen and (max-width: 640px) {
	.sstn-area .sstn-detail .sstn-detail-box.sdb01 div:first-child,
	.sstn-area .sstn-detail .sstn-detail-box.sdb03 div:first-child {
		width: 100%;
		margin: 0 0 20px;
	}
	.sstn-area .sstn-detail .sstn-detail-box.sdb01 div:last-child,
	.sstn-area .sstn-detail .sstn-detail-box.sdb03 div:last-child {
		width: 100%;
	}
	.sstn-area .sstn-detail .sstn-detail-box img {
		max-width: 240px;
		margin: 0 auto;
	}
}
@media screen and (max-width: 480px) {
	.sstn-area .sstn-ttl {
		font-size: 18px;
		margin: 30px 0 20px;
	}
}
/* CSR
--------------------------------------------------- */
.csr-area {
	padding-bottom: 30px;
}
.csr-area .csr-ttl {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
	.csr-area .csr-ttl {
		font-size: 18px;
		margin-bottom: 10px;
	}
}
/* COMPANY
--------------------------------------------------- */
.corp-area {
}
.corp-area .corp-box + .corp-box {
	margin-top: 40px;
}
.corp-area .corp-ttl {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
}
.corp-area .corp-btn a {
	display: block;
	max-width: 400px;
	margin: 50px auto 0;
	background: #000;
	padding: 10px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	color: #FFF;
}
.corp-area .corp-btn a:hover {
	opacity: .7;
}
.corp-area .corp-bnr a {
	display: block;
	max-width: 500px;
	margin: 30px auto 0;
}
.corp-area .corp-order {
	padding: 30px;
	border: solid 1px #505050;
	display: flex;
	flex-wrap: wrap;
	margin-top: 30px;
}
.corp-area .corp-order div:first-child {
	width: 20%;
	padding: 30px 0 0;
	margin-right: 5%;
}
.corp-area .corp-order div:last-child {
	width: 75%;
}
.corp-area .corp-order div img {
	margin: 0 auto;
	display: block;
}
.corp-area .corp-order div p:first-child {
	font-size: 20px;
	font-weight: bold;
}
.corp-area .corp-order div p + p {
	margin-top: 30px;
}
@media screen and (max-width: 767px) {
	.corp-area .corp-ttl {
		font-size: 18px;
		margin-bottom: 10px;
	}
	.corp-area .corp-btn a {
		margin: 30px auto 0;
		font-size: 16px;
	}
	.corp-area .corp-order {
		padding: 20px;
	}
	.corp-area .corp-order div p:first-child {
		font-size: 16px;
	}
	.corp-area .corp-order div p + p {
		margin-top: 20px;
	}
}
/* NEWS
--------------------------------------------------- */
.news-area {
}
.news-area .news-list {
	padding-bottom: 40px;
	display: block;
}
.news-area .news-list li {
	display: block;
	border-bottom: dotted 1px #BBB;
	padding: 10px 0;
}
/* SITE
--------------------------------------------------- */
.site-area {
}
.site-area .site-list {
	max-width: 430px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
}
.site-area .site-list li {
	display: block;
	width: calc(98% / 2);
	margin: 0 .5%;
}
.site-area .site-list li a {
	display: block;
}
.site-area .site-list li a img {
	display: block;
	margin: 0 auto;
}
@media screen and (max-width: 480px) {
	.site-area .site-list li {
		width: calc(96% / 2);
		margin: 0 1%;
	}
}
/* NOTES
--------------------------------------------------- */
.notes {
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.notes li {
  padding: 0 0 0 1em;
  text-indent: -1em;
  text-align: left;
}
.notes li::before {
  content: "※";
}
.notes.dot li::before {
  content: "・";
}
.notes.sq li::before {
  content: "■";
}
.notes.maru li::before {
  content: "〇";
}
.notes li + li {
  margin: .5em 0 0;
}
@media screen and (max-width: 767px) {
  .notes {}
  .notes li {}
}
@media screen and (max-width: 480px) {
  .notes li + li {
    margin: .5em 0 0;
  }
}