@charset "UTF-8";

/* button */
.pageContents .button {
  width:314px;
  margin:30px 0 0;
}
.sustainability .button,
.pressrelease .button {
  width:350px;
  margin-left:auto !important;
  margin-right:auto !important;
}
.pageContents .button a {
	color:#fff;
	font-size:16px;
	font-weight:700;
	line-height:1;
  letter-spacing:.05em;
	width:100%;
	height:80px;
	padding:0 0 0 20px;
	display:flex;
	align-items:center;
	position:relative;
	background:#da6634;
	border:solid 2px #da6634;
	border-radius:10px;
	overflow:hidden;
	transition:ease .3s;
}
.sustainability .button a,
.pressrelease .button a {
  color:#373737;
  padding:0 0 0 30px;
  background:#fff;
	border:solid 1px #373737;
}
.pageContents .button a .arrow {
	position:relative;
	z-index:1;
}
.pageContents .button a::before {
	content:"";
	width:32px;
	height:32px;
	background:url(../img/common/ico_btn_arrow_w.svg) no-repeat 0 0;
	background-size:100% auto;
	position:absolute;
	top:50%;
	right:20px;
	transform: translateY(-50%);
	z-index:1;
	transition:ease .3s;
}
.sustainability .button a::before,
.pressrelease .button a::before {
  background-image:url(../img/common/ico_btn_arrow.svg);
  right:30px;
}

/* ホバー設定 */
.pageContents .button a::after {
	content:"";
	width:150%;
	height:150%;
	display: block;
	background:#fff;
	position: absolute;
	top:0;
	left:-200%;
	z-index:0;
	transition: ease .4s;
}
.sustainability .button a::after,
.pressrelease .button a::after {
  background:#373737;
}

#wrapper,
#container {
  overflow:inherit;
}
.secttl {
  margin:0 0 60px;
  overflow:hidden;
}
.secttl .inner {
  max-width:1700px;
  margin:0 auto;
  padding:0 50px;
}
.secttl .ttlbox {
  padding:75px 0 90px;
  position:relative;
}
.secttl .bgtxt {
  font-family:roboto-condensed, sans-serif;
  color:#ccc;
  font-size:300px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  position:absolute;
  top:-20px;
  left:120px;
  opacity:.1;
}
.secttl h1 {
  font-family:roboto-condensed, sans-serif;
  color:#222;
  font-size:120px;
  font-weight:700;
  line-height:1;
  width:fit-content;
  position:relative;
}
.secttl h1 .sub {
  font-family: "noto-sans-cjk-jp", sans-serif;
  color:#d95e29;
  font-size:24px;
  font-weight:700;
  line-height:1;
  letter-spacing:.1em;
  position:absolute;
  bottom:-30px;
  right:0;
}
.pankuzu {
  display: flex;
}
.pankuzu li {
  color:#363636;
  font-size:16px;
  line-height:1;
  letter-spacing:.05em;
  position:relative;
}
.pankuzu li + li {
  padding-left:32px;
}
.pankuzu li + li::before {
  content:"";
  width:8px;
  height:8px;
  display:block;
  background:url(../img/common/ico_arrow_pankuzu.svg) no-repeat 0 0;
  background-size:100% auto;
  position:absolute;
  top:5px;
  left:12px;
}
.pankuzu li a {
  color:#363636;
  display:inline-block;
  position:relative;
  transition:ease .3s;
}
.pankuzu li a::before {
  content:"";
  width:100%;
  height:1px;
  background:#d95e29;
  display:block;
  position:absolute;
  bottom:-5px;
  left:0;
  transform:scaleX(0);
  transition:ease .3s;
}

.pageCols {
  width:100%;
  max-width:1700px;
  margin:0 auto;
  padding:0 50px 200px;
  position: relative;
  display:flex;
  flex-direction:row-reverse;
}
.pageNavi {
  width:250px;
}
.pageNavi ul {
  padding:20px 0;
  background:#fff;
  border-radius:10px;
  box-shadow:0 0 18px 0 rgba(0, 0, 0, 0.1);
  position:sticky;
  top:150px;
}
.pageNavi ul li + li {
  margin-top:20px;
}
.pageNavi ul li a {
  font-size:16px;
  font-weight:400;
  line-height:1.33;
  letter-spacing:.05em;
  padding:10px 20px 10px 30px;
  display:block;
  transition:ease .3s;
}
.pageNavi ul li.current a {
  color:#fff;
  background:#d95e29;
}
.pageContents {
  width:1140px;
  margin-right:90px;
}
.pageContents section {
  margin:150px 0 0;
}
.pageContents section:first-child {
  margin-top:0 !important;
}

.imgcol {
  width:100%;
  display:flex;
  margin:60px 0 0;
}
.pageContents section > *:first-child {
  margin-top:0 !important;
}
.imgcol .image {
  min-width:400px;
  width:400px;
  margin:0 60px 0 0;
  overflow:hidden;
  border-radius:10px;
}
.imgcol .text {
  padding:0;
}
.pageContents h2 {
  color:#222;
  font-size:30px;
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.2;
  padding:8px 0 8px 14px;
  margin:0 0 30px;
  border-left:solid 3px #d95e29;
}
.pageContents h3 {
  color:#222;
  font-size:26px;
  font-weight:700;
  letter-spacing:.05em;
  line-height:1.6;
  margin:0 0 20px;
}
.pageContents h3 .subttl {
  color:#d95e29;
  font-size:14px;
  line-height:1;
  display:block;
  margin:0 0 5px;
}
.pageContents .midsec h3 {
  font-size:22px;
  letter-spacing:.1em;
  margin:0 0 20px;
  padding:0 0 0 27px;
  position:relative;
}
.pageContents .midsec h3::before {
  content:"";
  width:20px;
  height:3px;
  display: block;
  background:#d95e29;
  position: absolute;
  top:50%;
  left:0;
  transform: translateY(-50%);
}
.pageContents p {
  font-size:18px;
  letter-spacing:.1em;
  line-height:1.77;
  margin:0;
}
.pageContents p a {
  color:#373737;
  display:inline-block;;
  position:relative;
  transition:ease .3s;
}
.pageContents p a::before {
  content:"";
  width:100%;
  height:1px;
  display:block;
  background:#373737;
  position:absolute;
  bottom:0;
  transition:ease .3s;
}
.midsec {
  margin:60px 0 0;
}

.philosophy_message {
  padding:75px 0 0;
}
.philosophy .philosophy_message h3 {
  width:765px;
  line-height:1;
  margin:0 auto 35px;
}
.philosophy .philosophy_message h4 {
  font-family:roboto-condensed, sans-serif;
  color:#d95e29;
  font-size:30px;
  font-weight:700;
  line-height:1;
  text-align:center;
}
.philosophy .philosophy_message p {
  font-size:18px;
  line-height:1.77;
  letter-spacing:.1em;
  text-align:center;
  margin:55px 0 0;
}
.philosophy_message p .st {
  color:#d95e29;
  font-weight:900;
}
ul.dotlist li {
  list-style:square;
}
.philosophy ul li {
  font-size:18px;
  line-height:1.77;
  margin:10px 0 0 2.7em;
}
.philosophy ul li::marker {
  color:#d95e29;
}
.message .twocol {
  flex-direction:row-reverse;
  align-items:flex-start;
}
.message .twocol .image {
  min-width:400px;
  width:400px;
  margin-left:60px;
  overflow:hidden;
  border-radius:10px;
}
.message .text p {
  font-size:18px;
  line-height:1.77;
  letter-spacing:.1em;
}
.message .text p .bd {
  font-weight:900;
}
.message .text p.name {
  font-size:22px;
  text-align:right;
  margin:25px 0 0;
}
.message .intro {
  padding:30px;
  margin:60px 0 0;
  background:#fff;
  border-radius:10px;
  box-shadow:0 0 18px 0 rgba(0, 0, 0, 0.1);
}
.message .intro .twocol,
.message .health .twocol {
  flex-direction:row;
}
.message .intro .image {
  min-width:360px;
  width:360px;
  margin:0 30px 0 0;
  border-radius:0;
}
.message .health .twocol .image {
  min-width:400px;
  width:400px;
  margin:0 60px 0 0;
}

.pageContents table {
  width:100%;
}
.pageContents table th,
.pageContents table td {
  color:#373737;
  font-size:18px;
  line-height:1.77;
  letter-spacing:.1em;
  padding:45px 10px 10px;
  border-bottom:solid 2px #d95e29;
}
.pageContents table tbody tr:nth-child(1) th,
.pageContents table tbody tr:nth-child(1) td {
  padding-top:0;
}
.pageContents table th {
  font-weight:700;
  text-align:left;
  border-bottom:solid 2px transparent;
  position:relative;
}
.pageContents table th::before {
  content:"";
  width:calc(100% - 20px);
  height:4px;
  background:#d95e29;
  display:block;
  position:absolute;
  left:0;
  bottom:-3px;
}
.pageContents table td ul li {
  font-size:18px;
  line-height:1.77;
  letter-spacing:.1em;
}
.pageContents table td ul.dotlist li {
  list-style:disc;
  margin-left:1.25em;
}
.pageContents table td ul.numlist li {
  list-style:none;
  position:relative;
  padding-left:2.5em;
}
.pageContents table td ul.numlist li .num {
  position:absolute;
  left:0;
}

.sustainability p {
  text-align:center;
  margin:60px 0 0;
}

.newslist {
  width:100%;
  display:flex;
  margin:60px 0 0;
}
.newslist .item {
  width:calc(33.33% - 20px);
  margin:0 0 0 30px;
  display:flex;
}
.newslist .item:nth-child(3n-2) {
  margin:0;
}
.newslist .item a {
	padding:10px 10px 20px;
	display:block;
	background:#fff;
	border-radius:10px;
  position: relative;
  box-shadow:0 0 18px 0 rgba(0, 0, 0, 0.1);
}
.newslist .item a .image {
	position: relative;
	overflow: hidden;
}
.newslist .item a .image img {
	transition:ease .3s;
}
.newslist .item .date {
	display:flex;
	align-items: center;
	margin:20px 20px 12px;
}
.newslist .item .date h4 {
	font-size:12px;
	line-height:1;
	padding:3px 8px 4px;
	background:#fff;
	box-shadow:0 0 18px 0 rgba(0, 0, 0, 0.1);
}
.newslist .item p {
	font-size:15px;
	line-height:1.4;
	letter-spacing:.05em;
	margin:0 20px;
}
.newslist .item .date p {
	font-size:14px;
	line-height:1;
	margin:0 0 0 10px;
}
.newslist .item .pickup {
	width:76px;
	position: absolute;
	top:18px;
	left:-10px;
}


@media screen and (max-width:1580px) {
/* button */
.pageContents .button {
  width:19.87vw;
  margin:1.89vw 0 0;
}
.sustainability .button,
.pressrelease .button {
  width:22.15vw;
}
.pageContents .button a {
	font-size:1.01vw;
	height:5.06vw;
	padding:0 0 0 1.26vw;
	border-radius:.63vw;
}
.sustainability .button a,
.pressrelease .button a {
  padding:0 0 0 1.89vw;
}
.pageContents .button a::before {
	width:2.02vw;
	height:2.02vw;
	right:1.26vw;
}
.sustainability .button a::before,
.pressrelease .button a::before {
  right:1.89vw;
}

.secttl {
  margin:0 0 3.79vw;
}
.secttl .inner {
  padding:0 3.16vw;
}
.secttl .ttlbox {
  padding:4.74vw 0 5.69vw;
}
.secttl .bgtxt {
  font-size:18.98vw;
  top:-1.26vw;
  left:7.59vw;
}
.secttl h1 {
  font-size:7.59vw;
}
.secttl h1 .sub {
  font-size:1.51vw;
  bottom:-1.89vw;
}
.pankuzu li {
  font-size:1.01vw;
}
.pankuzu li + li {
  padding-left:2.02vw;
}
.pankuzu li + li::before {
  width:.5vw;
  height:.5vw;
  top:.31vw;
  left:.75vw;
}
.pageCols {
  padding:0 3.16vw 12.65vw;
}
.pageNavi {
  width:15.82vw;
}
.pageNavi ul {
  padding:1.26vw 0;
  border-radius:.63vw;
  box-shadow:0 0 1.13vw 0 rgba(0, 0, 0, 0.1);
  top:9.49vw;
}
.pageNavi ul li + li {
  margin-top:1.26vw;
}
.pageNavi ul li a {
  font-size:1.01vw;
  padding:.63vw 1.26vw .63vw 1.89vw;
}
.pageContents {
  width:72.15vw;
  margin-right:5.69vw;
}
.pageContents section {
  margin:9.49vw 0 0;
}
.imgcol {
  margin:3.79vw 0 0;
}
.imgcol .image {
  min-width:25.31vw;
  width:25.31vw;
  margin:0 3.79vw 0 0;
  border-radius:.63vw;
}
.pageContents h2 {
  font-size:1.89vw;
  padding:.5vw 0 .5vw .88vw;
  margin:0 0 1.89vw;
}
.pageContents h3 {
  font-size:1.64vw;
  margin:0 0 1.26vw;
}
.pageContents h3 .subttl {
  font-size:.88vw;
  margin:0 0 .31vw;
}
.pageContents .midsec h3 {
  font-size:1.39vw;
  margin:0 0 1.26vw;
  padding:0 0 0 1.7vw;
}
.pageContents .midsec h3::before {
  width:1.26vw;
  height:.18vw;
}
.pageContents p {
  font-size:1.13vw;
}
.midsec {
  margin:3.79vw 0 0;
}

.philosophy_message {
  padding:4.74vw 0 0;
}
.philosophy .philosophy_message h3 {
  width:48.41vw;
  margin:0 auto 2.21vw;
}
.philosophy .philosophy_message h4 {
  font-size:1.89vw;
}
.philosophy .philosophy_message p {
  font-size:1.13vw;
  margin:3.48vw 0 0;
}
.philosophy ul li {
  font-size:1.13vw;
  margin:.63vw 0 0 2.7em;
}
.message .twocol .image {
  min-width:25.31vw;
  width:25.31vw;
  margin-left:3.79vw;
  border-radius:.63vw;
}
.message .text p {
  font-size:1.13vw;
}
.message .text p.name {
  font-size:1.39vw;
  margin:1.58vw 0 0;
}
.message .intro {
  padding:1.89vw;
  margin:3.79vw 0 0;
  border-radius:.63vw;
  box-shadow:0 0 1.13vw 0 rgba(0, 0, 0, 0.1);
}
.message .intro .image {
  min-width:22.78vw;
  width:22.78vw;
  margin:0 1.89vw 0 0;
}
.message .health .twocol .image {
  min-width:25.31vw;
  width:25.31vw;
  margin:0 3.79vw 0 0;
}

.pageContents table th,
.pageContents table td {
  font-size:1.13vw;
  padding:2.84vw .63vw .63vw;
}
.pageContents table th::before {
  width:calc(100% - 1.26vw);
}
.pageContents table td ul li {
  font-size:1.13vw;
}

.sustainability p {
  margin:3.79vw 0 0;
}

.newslist {
  margin:3.79vw 0 0;
}
.newslist .item {
  width:calc(33.33% - 1.26vw);
  margin:0 0 0 1.89vw;
}
.newslist .item a {
  padding:.72vw .72vw 1.44vw;
	border-radius:.72vw;
  box-shadow:0 0 1.3vw 0 rgba(0, 0, 0, 0.1);
}
.newslist .item .date {
  margin:1.44vw 1.44vw .86vw;
}
.newslist .item .date h4 {
  font-size:.86vw;
  padding:.21vw .57vw .28vw;
  box-shadow:0 0 1.3vw 0 rgba(0, 0, 0, 0.1);
}
.newslist .item p {
	font-size:1.08vw;
	margin:0 1.44vw;
}
.newslist .item .date p {
	font-size:1.01vw;
	margin:0 0 0 .72vw;
}
.newslist .item .pickup {
	width:5.5vw;
	top:1.3vw;
	left:-.72vw;
}

}


@media screen and (max-width:767px) {
/* button */
.pageContents .button {
  width:69.33vw;
  margin:6.66vw auto 0;
}
.pageContents .button a {
	font-size:3.46vw;
	height:16vw;
	padding:0 0 0 5.33vw;
	border-radius:1.33vw;
}
.pageContents .button a::before {
	width:6.4vw;
	height:6.4vw;
	right:4vw;
}

#wrapper {
  overflow:hidden;
}
.secttl {
  margin:0 0 9.33vw;
}
.secttl .inner {
  padding:0 5.33vw;
}
.secttl .ttlbox {
  padding:10.66vw 0 11.33vw;
}
.secttl .bgtxt {
  font-size:32vw;
  top:0;
  left:9.33vw;
}
.secttl h1 {
  font-size:13.33vw;
}
.secttl h1 .sub {
  font-size:3.2vw;
  bottom:-4vw;
}
.pankuzu li {
  font-size:3.2vw;
}
.pankuzu li + li {
  padding-left:6.66vw;
}
.pankuzu li + li::before {
  width:1.6vw;
  height:1.6vw;
  top:.8vw;
  left:2.4vw;
}

.pageCols {
  margin:0 auto;
  padding:0 5.33vw 26.66vw;
}
.pageNavi {
  display:none !important;
}
.pageContents {
  width:100%;
  margin-right:0;
}
.pageContents section {
  margin:18.66vw 0 0;
}
.imgcol {
  display:block;
  margin:6.66vw 0 0;
}
.imgcol .image {
  min-width:inherit;
  width:100%;
  margin:0 0 6.66vw;
  border-radius:1.33vw;
}
.pageContents h2 {
  font-size:4.8vw;
  padding:2.13vw 0 2.13vw 3.2vw;
  margin:0 0 4vw;
}
.pageContents h3 {
  font-size:4.8vw;
  margin:0 0 4.66vw;
}
.pageContents h3 .subttl {
  font-size:3.2vw;
  margin:0 0 2vw;
}
.pageContents .midsec h3 {
  font-size:4.26vw;
  margin:0 0 4vw;
  padding:0 0 0 5.33vw;
}
.pageContents .midsec h3::before {
  width:4.26vw;
  height:.66vw;
}
.pageContents p {
  font-size:3.73vw;
  letter-spacing:.05em;
  line-height:2;
}
.pageContents p a::before {
  background:#d95e29;
}

.midsec {
  margin:13.33vw 0 0;
}

.philosophy_message {
  padding:8vw 0 0;
}
.philosophy .philosophy_message h3 {
  width:100%;
  margin:0 auto 5.33vw;
}
.philosophy .philosophy_message h4 {
  font-size:5.33vw;
}
.philosophy .philosophy_message p {
  font-size:3.73vw;
  margin:10.66vw 0 0;
}
.philosophy ul li {
  font-size:3.73vw;
  margin:2.66vw 0 0 2.7em;
}
.message .twocol {
  display:block;
}
.message .twocol .image {
  min-width:inherit;
  width:64vw;
  margin:0 auto 6.66vw;
  border-radius:1.33vw;
}
.message .text p {
  font-size:3.73vw;
}
.message .text p.name {
  font-size:4.26vw;
  margin:5.33vw 0 0;
}
.message .intro {
  padding:5.33vw;
  margin:10.66vw 0 0;
  border-radius:1.33vw;
  box-shadow:0 0 4.8vw 0 rgba(0, 0, 0, 0.1);
}
.message .intro .twocol,
.message .health .twocol {
  display: block;
}
.message .intro .image {
  min-width:inherit;
  width:100%;
  margin:0 auto 6.66vw;
  border-radius:1.33vw;
}
.message .health .twocol .image {
  min-width:inherit;
  width:64vw;
  margin:0 auto 6.66vw;
}

.pageContents table {
  display: block;
}
.pageContents table th {
  color:#d95e29;
  font-size:4.26vw;
  padding:4vw 2.66vw 1.33vw;
  display:block;
}
.pageContents table td {
  font-size:3.73vw;
  padding:0 2.66vw 4vw;
  display:block;
}
.pageContents table th::before {
  display:none;
}
.pageContents table td ul li {
  font-size:3.73vw;
}
.pageContents table td ul li + li {
  margin-top:1.33vw;
}
.sustainability p {
  margin:6.66vw 0 0;
}
.newslist {
  margin:8vw 0 0;
  display:block;
}
.newslist .item {
  width:100%;
  margin:0 0 8vw !important;
}
.newslist .item a {
	padding:2.13vw 2.13vw 4.26vw;
	border-radius:1.33vw;
  box-shadow:0 0 4.8vw 0 rgba(0, 0, 0, 0.1);
}
.newslist .item .date {
	margin:4vw 2.66vw 2vw;
}
.newslist .item .date h4 {
	font-size:3.2vw;
	padding:.8vw 2.13vw 1.06vw;
	box-shadow:0 0 4.8vw 0 rgba(0, 0, 0, 0.1);
}
.newslist .item p {
	font-size:3.73vw;
	margin:0 2.66vw;
}
.newslist .item .date p {
	font-size:3.46vw;
	margin:0 0 0 2.66vw;
}
.newslist .item .pickup {
	width:16.8vw;
	top:4vw;
	left:-2.13vw;
}



}


@media (hover: hover) {
.pageContents .button a:hover::after,
.pageContents .button a:focus::after {
	left:-45%;
}
.pageContents .button a:hover::before,
.pageContents .button a:focus::before {
	background-image:url(../img/common/ico_btn_arrow_o.svg);
}
.sustainability .button a:hover::before,
.pressrelease .button a:hover::before,
.sustainability .button a:focus::before,
.pressrelease .button a:focus::before {
  background-image:url(../img/common/ico_btn_arrow_w.svg);
}
.pageContents .button a:hover,
.pageContents p a:hover,
.pageContents .button a:focus,
.pageContents p a:focus {
  color:#da6634;
}
.sustainability .button a:hover,
.pressrelease .button a:hover,
.sustainability .button a:focus,
.pressrelease .button a:focus {
  color:#fff;
}
.pageContents p a:hover::before,
.pageContents p a:focus::before {
  transform:scaleX(0);
  background:#da6634;
}
.pageNavi ul li a:hover,
.pageNavi ul li a:focus {
  color:#fff;
  background:#d95e29;
}
.pankuzu li a:hover,
.pankuzu li a:focus {
  color:#d95e29;
}
.pankuzu li a:hover::before,
.pankuzu li a:focus::before {
  transform:scaleX(1);
}

.newslist .item a:hover,
.newslist .item a:focus {
	background:rgba(255,255,255,.95);
}
.newslist .item a:hover .image img,
#links ul li a:hover img,
.newslist .item a:focus .image img,
#links ul li a:focus img {
	transform: scale(1.1);
	opacity:.7;
}

}
