@charset "UTF-8";

/* button */
.pageContents .button {
  width:350px;
  margin:30px auto 0;
}
.pageContents .button a {
	color:#373737;
	font-size:16px;
	font-weight:700;
	line-height:1;
  letter-spacing:.05em;
	width:100%;
	height:80px;
	padding:0 0 0 30px;
	display:flex;
	align-items:center;
	position:relative;
	background:#fff;
	border:solid 1px #373737;
	border-radius:10px;
	overflow:hidden;
	transition:ease .3s;
}
.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.svg) no-repeat 0 0;
	background-size:100% auto;
	position:absolute;
	top:50%;
	right:30px;
	transform: translateY(-50%);
	z-index:1;
	transition:ease .3s;
}

/* ホバー設定 */
.pageContents .button a::after {
	content:"";
	width:150%;
	height:150%;
	display: block;
	background:#373737;
	position: absolute;
	top:0;
	left:-200%;
	z-index:0;
	transition: ease .4s;
}

#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.visible {
  display:block;
}
.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 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:22px;
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.6;
  margin:60px 0 20px;
  padding:0 0 0 27px;
  position:relative;
}
.pageContents h3::before {
  content:"";
  width:20px;
  height:3px;
  display: block;
  background:#d95e29;
  position: absolute;
  top:50%;
  left:0;
  transform: translateY(-50%);
}
.pageContents h4 {
  font-size:24px;
  font-weight:900;
  line-height:1.33;
  letter-spacing:.1em;
  margin:25px 0 0;
}
.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;
}

.safety {
  margin:0;
}
.esg {
  margin:150px 0 0;
}

.pageContents .box {
  padding:30px;
  margin:40px auto 0;
  background:#fff;
  border-radius:10px;
  box-shadow:0 0 18px 0 rgba(0, 0, 0, 0.1);
  position:relative;
}

.accordion {
  margin:60px 0 0;
  padding:0 70px;
}
.accordion details {
  background:#fff;
  border:solid 1px #ddd;
  border-radius:10px;
}
.accordion summary {
	color:#222;
	font-size:16px;
	font-weight:700;
  letter-spacing:.1em;
	padding:18px 60px 18px 30px;
	position:relative;
	list-style:none;
	cursor:pointer;
  transition:ease .3s;
}
.accordion summary::after {
  content:"";
  width:14px;
  height:7px;
  display: block;
  background:url(../img/common/ico_arrow_menu_bk.svg) no-repeat 0 0;
  background-size:100% auto;
  position:absolute;
  top:24px;
  right:30px;
  transition:ease .3s;
}
.accordion details:open summary {
  color:#db6e3e;
}
.accordion details:open summary::after {
  transform:rotateX(180deg);
}
.accordion summary::-webkit-details-marker {
	display:none;
}
.safety_box {
  padding:10px 45px 30px;
}
.safety_box ul {
  width:100%;
  display:flex;
  flex-wrap:wrap;
}
.safety_box ul li {
  font-size:16px;
  line-height:1.77;
  letter-spacing:.1em;
  margin:0 0 0 1.5em;
  width:calc(50% - 1.5em);
  list-style:disc;
}
.safety_box ul li a {
  display:inline-block;
  position:relative;
  text-decoration:underline;
  transition:ease .3s;
}
.safety_box ul li a[href$=".pdf"] {
  padding-right:23px;
  background:url(../img/common/ico_pdf.png) no-repeat right 0 center;
  background-size:14px auto;
}

.safety h4 {
  margin-bottom:10px;
}
.safety p.sml {
  font-size:16px;
  margin:15px 0 0;
}

.imgcol {
  width:100%;
  display:flex;
  align-items:center;
  margin:0;
}
.imgcol .image {
  min-width:400px;
  width:400px;
  margin:0 30px 0 0;
  overflow:hidden;
  display:flex;
  justify-content:space-between;
}
.imgcol .image .img {
  display:block;
}
.imgcol .image .gala {
  padding-right:30px;
  border-right:solid 1px #bbb;
}
.imgcol .image .img img {
  width:auto;
  height:90px;
  display:block;
}
.imgcol .text {
  padding:0;
}

ul.sdgs_list {
  width:100%;
  max-width:825px;
  display:flex;
  flex-wrap:wrap;
  margin:25px auto 0;
}
ul.sdgs_list li {
  width:calc(16.66% - 12.5px);
  margin:15px 0 0 15px;
}
ul.sdgs_list li:nth-child(6n-5) {
  margin-left:0;
}

.esg .twocol {
  justify-content:space-between;
}
.esg .twocol .box {
  width:calc(50% - 30px);
  padding:30px 20px;
  margin:0;
}
.esg .twocol .box .image {
  width:100%;
  display:flex;
  justify-content:center;
}
.esg .twocol .box .image img {
  width:calc(25% - 8.25px);
  margin:0 0 0 11px;
  display:block;
}
.esg .twocol .box .image img:nth-child(1) {
  margin:0;
}
.esg .twocol .box .text {
  margin:25px 0 0;
}
.pageContents .esg h4 {
  color:#da6634;
  margin:0 0 25px;
}
.pageContents .esg p.info {
  margin:25px 0 0;
}
.pageContents .esg p.info + p {
  margin-top:45px;
}
.esg .privacy {
  margin-top:60px;
}
.esg .privacy p {
  text-align:center;
}


@media screen and (max-width:1580px) {
/* button */
.pageContents .button {
  width:22.15vw;
  margin:1.89vw auto 0;
}
.pageContents .button a {
	font-size:1.01vw;
	height:5.06vw;
	padding:0 0 0 1.89vw;
	border-radius:.63vw;
}
.pageContents .button a::before {
	width:2.02vw;
	height:2.02vw;
	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 h2 {
  font-size:1.89vw;
  padding:.5vw 0 .5vw .88vw;
  margin:0 0 1.89vw;
}
.pageContents h3 {
  font-size:1.39vw;
  margin:3.79vw 0 1.26vw;
  padding:0 0 0 1.7vw;
}
.pageContents h3::before {
  width:1.26vw;
  height:.18vw;
}
.pageContents h4 {
  font-size:1.51vw;
  margin:1.58vw 0 0;
}
.pageContents p {
  font-size:1.13vw;
}

.pageContents .box {
  padding:1.89vw;
  margin:2.53vw auto 0;
  border-radius:.63vw;
  box-shadow:0 0 1.13vw 0 rgba(0, 0, 0, 0.1);
}

.accordion {
  margin:3.79vw 0 0;
  padding:0 4.43vw;
}
.accordion details {
  border-radius:.63vw;
}
.accordion summary {
	font-size:1.01vw;
	padding:1.13vw 3.79vw 1.13vw 1.89vw;
}
.accordion summary::after {
  width:.88vw;
  height:.44vw;
  top:1.51vw;
  right:1.89vw;
}
.safety_box {
  padding:.63vw 2.84vw 1.89vw;
}
.safety_box ul li {
  font-size:1.01vw;
}
.safety_box ul li a[href$=".pdf"] {
  padding-right:1.45vw;
  background:url(../img/common/ico_pdf.png) no-repeat right 0 center;
  background-size:.88vw auto;
}

.safety h4 {
  margin-bottom:.63vw;
}
.safety p.sml {
  font-size:1.01vw;
  margin:.94vw 0 0;
}

.esg {
  margin:9.49vw 0 0;
}

.imgcol .image {
  min-width:25.31vw;
  width:25.31vw;
  margin:0 1.89vw 0 0;
  border-radius:.63vw;
}
.imgcol .image .gala {
  padding-right:1.89vw;
}
.imgcol .image .img img {
  height:5.69vw;
}

ul.sdgs_list {
  max-width:52.216vw;
  margin:1.58vw auto 0;
}
ul.sdgs_list li {
  width:calc(16.66% - .79vw);
  margin:.94vw 0 0 .94vw;
}

.esg .twocol .box {
  width:calc(50% - 1.89vw);
  padding:1.89vw 1.26vw;
}
.esg .twocol .box .image img {
  width:calc(25% - .52vw);
  margin:0 0 0 .69vw;
}
.esg .twocol .box .text {
  margin:1.58vw 0 0;
}
.pageContents .esg h4 {
  margin:0 0 1.58vw;
}
.pageContents .esg p.info {
  margin:1.58vw 0 0;
}
.pageContents .esg p.info + p {
  margin-top:2.84vw;
}
.esg .privacy {
  margin-top:3.79vw;
}


}


@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 h2 {
  font-size:4.8vw;
  padding:2.13vw 0 2.13vw 3.2vw;
  margin:0 0 4vw;
}
.pageContents h3 {
  font-size:4.26vw;
  margin:16vw 0 4vw;
  padding:0 0 0 5.33vw;
}
.pageContents h3::before {
  width:4.26vw;
  height:.66vw;
}
.pageContents h4 {
  font-size:4.8vw;
  margin:6.66vw 0 0;
}
.pageContents p {
  font-size:3.73vw;
  letter-spacing:.05em;
  line-height:2;
}
.pageContents p a.sp {
  display:inline-block !important;
}

.accordion {
  margin:10.66vw 0 13.33vw;
  padding:0;
}
.accordion details {
  border-radius:1.33vw;
}
.accordion details + details {
  margin-top:8vw;
}
.accordion summary {
  font-size:3.73vw;
	padding:4vw 8vw 4vw 4vw;
}
.accordion summary::after {
  width:2.66vw;
  height:1.46vw;
  top:5.33vw;
  right:5.33vw;
}
.safety_box {
  padding:0 4vw 5.33vw;
}
.safety_box ul {
  display:block;
}
.safety_box ul li {
  font-size:3.2vw;
  width:auto;
  margin-top:1.33vw;
}
.safety_box ul li a[href$=".pdf"] {
  padding-right:4.33vw;
  background:url(../img/common/ico_pdf.png) no-repeat right 0 center;
  background-size:3.2vw auto;
}
.safety h4 {
  margin-bottom:2vw;
}
.safety p.sml {
  font-size:3.2vw;
  margin:4vw 0 0;
}

.details {
  position:relative;
}
.esg {
  margin:21.33vw 0 0;
}
.pageContents .box {
  padding:6.66vw 5.33vw;
  margin:8vw auto 0;
  border-radius:1.33vw;
  box-shadow:0 0 2.4vw 0 rgba(0, 0, 0, 0.1);
}

.imgcol {
  display:block;
  margin:0;
}
.imgcol .image {
  min-width:inherit;
  width:100%;
  margin:0 0 6.66vw;
  border-radius:1.33vw;
  justify-content:center;
}
.imgcol .image .gala {
  padding-right:8vw;
}
.imgcol .image .sdg {
  padding-left:8vw;
}
.imgcol .image .img img {
  height:13.33vw;
}

ul.sdgs_list {
  max-width:none;
  margin:4vw 0 0;
}
ul.sdgs_list li {
  width:calc(25% - 1.995vw);
  margin:2.66vw 0 0 2.66vw;
}
ul.sdgs_list li:nth-child(6n-5) {
  margin-left:2.66vw;
}
ul.sdgs_list li:nth-child(4n-3) {
  margin-left:0;
}

.esg .twocol {
  display:block;
}
.esg .twocol .box {
  width:auto;
  padding:6.66vw 5.33vw;
}
.esg .twocol .box + .box {
  margin-top:10.66vw;
}
.esg .twocol .box .image img {
  width:calc(25% - 1vw);
  margin:0 0 0 1.33vw;
}
.esg .twocol .box .text {
  margin:5.33vw 0 0;
}
.pageContents .esg h4 {
  line-height:1.5;
  margin:0 0 4vw;
}
.pageContents .esg p.info {
  margin:4vw 0 0;
}
.pageContents .esg p.info + p {
  margin-top:8vw;
}
.esg .privacy {
  margin-top:8vw;
}

}


@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_w.svg);
}
.pageContents .button a:hover,
.pageContents .button a:focus {
  color:#fff;
}
.pageContents p a:hover,
.pageContents p a:focus {
  color:#da6634;
}
.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);
}
.safety_box ul li a:hover,
.safety_box ul li a:focus {
  color:#da6634;
  text-decoration:none;
}

}
