@charset "utf-8";
/* CSS Document */
/*---------------------------------
# reset
---------------------------------*/
*{border:0;margin:0;outline:0;padding:0;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;font:inherit;font-family:inherit;font-size:100%;font-style:inherit;font-weight:inherit;text-decoration:none;vertical-align:baseline}
body,html{width:100%;height:100%}
body{font-size:10px;font-size:1rem;font-size:inherit;line-height:1;text-align:justify;text-justify:inter-ideograph;position:relative;-webkit-text-size-adjust:100%;-o-text-size-adjust:100%;text-size-adjust:100%;font-family:sans-serif;word-wrap:break-word}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}img{width:auto;height:auto;max-width:100%;vertical-align:bottom}
audio,canvas,video{display:inline-block}
br,hr{display:block;line-height:initial}ol,ul{list-style:none}
blockquote,q{quotes:none}
blockquote::after,blockquote::before,q::after,q::before{content:'';content:none}
input,select{vertical-align:middle}
table{border-collapse:collapse;border-spacing:0;empty-cells:show}
div,p{word-break:break-all}
pre{text-align:left;white-space:pre;white-space:pre-wrap;white-space:pre-line}
img[width=0],img[width=1]{display:none}

html { font-size: 62.5%; font-size: calc(100vw / 37.5); }
body {
	background: 0;
  color: #000;
  font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+1p", sans-serif;
  line-height: 1.6;
  scroll-behavior: smooth;
  text-align: justify;
}
h1, h2, h3 ,h4 ,h5 {
  line-height: 1.3;
}
p { margin-bottom: .5em; }
.textMin { font-family: "Noto Serif JP","Hiragino Mincho ProN",HGS明朝E,游明朝,"Yu Mincho",YuMincho,メイリオ,Meiryo,serif; }
.textStd { font-family: "Hiragino Kaku Gothic Std", "Hiragino Kaku Gothic StdN"; }
.textYuG { font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体"; }

/************************* color */
.col_1 { color: #fff; }
.col_2 { color: #373582; }
.col_3 { color: #3467c4; }
.col_4 { color: #0599d9; }
.bg-col_1 { background-color: #373582; }
.bg-col_2 { background-color: #e5f0e9; }
.bg-col_3 { background-color: #d8e6f0; }
.bg-col_4 { background-color: #ebecf2; }
.bg-grad_1 { background: linear-gradient(to bottom, #fff, #eceff3); }

/************************** font */
/*font-size*/
body { font-size: 1.6em; }
.fs-h2 { font-size: 23px; font-size: 2.3rem; }
.fs-h3 { font-size: 20px; font-size: 2rem; }
.fs-h4 { font-size: 18px; font-size: 1.8rem; }
.fs-la { font-size: 18px; font-size: 1.8rem; }
.fs-md { font-size: 14px; font-size: 1.4rem; }
.esg__squareTitle { font-size: 23px; font-size: 2.3rem; }
.Bread { font-size: 14px; font-size: 1.4rem;}

@media (min-width: 960px) {
  html { font-size: 62.5%; }
  body { line-height: 2; }
  .fs-h2 { font-size: 34px; font-size: 3.4rem; }
	.fs-h3 { font-size: 24px; font-size: 2.4rem; }
	.fs-h4 { font-size: 20px; font-size: 2rem; }
	.esg__squareTitle { font-size: 30px; font-size: 3rem; }
}

/*font-weight*/
h1, h2, h3, h4, h5, em, strong, .Mbold {
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.bold { font-weight: bold; }
.normal { font-weight: normal; }

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right{ text-align: right; }
.text-indent { text-indent: -1em; padding-left: 1em; }
.text-pre-wrap { white-space: pre-wrap; }
/*文字隠し*/
.text-clear {
  display: block;
  width: 0;
  height: 0;
  overflow: hidden;
}

/********************** position */
.relative { position: relative; }
.absolute { position: absolute; }
.center-x { left: 50%; transform: translateX(-50%); }
.center-y { top: 50%; transform: translateY(-50%); }
.center-xy { left: 50%; top: 50%; transform: translate(-50%, -50%); }
.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.ai-c {
  -webkit-box-align: center;
  -ms-flex-align: center;
      align-items: center;
}
.ai-e {
	-webkit-box-align: end;
	-ms-flex-align: end;
			align-items: flex-end;
}
.flex-jc-sb {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack:justify;
  -ms-flex-pack: justify;
      justify-content: space-between;
}
.flex-jc-so {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
.flex-jc-c {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
      justify-content: center;
}
.no-wrap {
  -webkit-flex-wrap: nowrap !important;
  -ms-flex-wrap: nowrap !important;
      flex-wrap: nowrap !important ;
}
.flex-1 {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 0%;
      flex: 1 0 0%;
}
.fd-c {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
/*文字左寄せ 要素中央寄せ*/
.unit-center {
  display: block;
  text-align: center;
}
.unit-center > * {
  display: inline-block;
  text-align: left;
}
/*文字左寄せ 要素右寄せ*/
.unit-right {
  display: block;
  text-align: right;
}
.unit-right > * {
  display: inline-block;
  text-align: left;
}

/************************* space */
.MT1 { margin-top: 10px; margin-top: 1rem; }
.MT1-5 { margin-top: 15px; margin-top: 1.5rem; }
.MT2 { margin-top: 20px; margin-top: 2rem; }
.MT2-5 { margin-top: 25px; margin-top: 2.5rem; }
.MT3 { margin-top: 30px; margin-top: 3rem; }
.MT4 { margin-top: 40px; margin-top: 4rem; }
.MT5 { margin-top: 50px; margin-top: 5rem; }
.MB1 { margin-bottom: 10px; margin-bottom: 1rem; }
.MB1-5 { margin-bottom: 15px; margin-bottom: 1.5rem; }
.MB2 { margin-bottom: 20px; margin-bottom: 2rem; }
.MB2-5 { margin-bottom: 25px; margin-bottom: 2.5rem; }
.MB3 { margin-bottom: 30px; margin-bottom: 3rem; }
.MB4 { margin-bottom: 40px; margin-bottom: 4rem; }
.MB5 { margin-bottom: 50px; margin-bottom: 5rem; }
.main .M0, .HeadContainer .M0, .FootContainer .M0 { margin: 0; }
.MLauto { margin-left: auto; }
.MRauto { margin-right: auto; }
.MLRauto { margin-left: auto; margin-right: auto; }

/****************** 親要素突き抜け */
.penetrate {
  margin-left: calc( ( 100% - 100vw ) / 2 );
  margin-right: calc( ( 100% - 100vw ) / 2 );
}

/********************** Clearfix */
/* For modern browsers */
.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}
.clearfix::after { clear: both; }
/* For IE 6/7 (trigger hasLayout) */
.clearfix { *zoom: 1; }

/************************** icon */
.r-brackets-l {
  display: inline-block;
  position: relative;
  padding-left: 1em;
}
.r-brackets-l::before {
  content: ">";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) scale(0.6,1);
  display: inline-block;
  line-height: 1;
}
.r-brackets-r {
  display: inline-block;
  position: relative;
  padding-right: 1em;
}
.r-brackets-r::after {
  content: ">";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) scale(0.6,1);
  display: inline-block;
  line-height: 1;
}
ul.circle > li:before, ol.circle > li:before, dl.circle dd:before {
  content:"●";
  width:1em;
  height:1em;
  padding-right:.2em;
  -webkit-transform:scale(.9,.9);
  -moz-transform:scale(.9,.9);
  transform:scale(.9,.9)
}
ul.square > li::before, ol.square > li::before, dl.square dd::before {
  content:"■";
  width:1em;
  height:1em;
  padding-right:.2em;
  -webkit-transform:scale(.9,.9);
  -moz-transform:scale(.9,.9);
  transform:scale(.9,.9)
}
a {
  color: inherit;
  text-decoration: none;
  display: inline-block;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(250, 234, 217, 0.3);
  -webkit-touch-callout: none;
}
a:hover, a:active {
  cursor: pointer;
}
a:hover:not(.no-active) {
  text-decoration: underline;
  opacity: .8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
}
a:hover img, a:active img {
  opacity: .8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
}
a img {
  transition: opacity .4s ease-out;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  border: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

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

/*---------------------------------
# common
---------------------------------*/
/*[class*=""] {}*/
.wrap {
	background: 0;
	overflow: hidden;
	text-align: inherit;
}
a#Top {
	display: inline;
}

/*---------------------------------
# header
---------------------------------*/
.HeadContainer .HeadInner {
	width: 100%;
	max-width: 1050px;
	margin: 0 auto;
}
.HeadContainer .HeadInner > div {
	padding-left: 1.5rem;
}
.HeadContainer .HeadInner .HeadLogo {
	width: 20%;
	max-width: 145px;
  padding: .5rem 0;
}
.HeadContainer .HeadText, .HeadContainer .nav li {
	color: #373582;
}
.HeadContainer .HeadText {
	margin: 0;
}
.HeadContainer .nav li {
	text-align: center;
}
.HeadContainer .nav li span	{
	display: block;
	font-size: .7em;
}
.HeadContainer .nav li.btn-contact {
	background-color: #373582;
	color: #fff;
  font-size: 1.13em;
}
.HeadContainer .nav li:not(.btn-contact) {
	display: none;
}

/*---------------------------------
# main
---------------------------------*/
.main .PageContainer {
	width: auto;
  background: 0;
  border-top: 0;
  padding: 0 0 70px;
}
.main .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.main .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.eyecatch.penetrate h1 img {
	width: 100%;
}

/*---------------------------------
# Sustainability
---------------------------------*/
#Sustainability .esg__squareTitle {
	background-color: #373582;
	color: #fff;
  width: 75%;
  max-width: 510px;
	padding: 4rem 0;
	margin-top: -5rem;
	position: relative;
	z-index: 2;
}
#Sustainability .esg__squareTitle .br-type__top,
#Sustainability .esg__squareTitle .br-type__bottom {
	display: block;
	position: relative;
}
#Sustainability .esg__squareTitle .br-type__top::after,
#Sustainability .esg__squareTitle .br-type__bottom::after {
	content: "";
	display: inline-block;
	background: url(/img/esg/br-type_ttl.png) no-repeat top left;
	background-size: contain;
	padding-top: 30%;
  width: 80vw;
	height: auto;
	position: absolute;
	left: -.5em;
}
#Sustainability .esg__squareTitle .br-type__top::after {
	bottom: -2.5rem;
}
#Sustainability .esg__squareTitle .br-type__bottom::after {
	bottom: -6rem;
	transform: scale(1, -1);
}
#Sustainability .esg__secTitle {
	font-family: "Hiragino Mincho ProN",HGS明朝E,游明朝,"Yu Mincho",YuMincho,メイリオ,Meiryo,serif;
	text-align: center;
	border-bottom: 1px solid #373582;
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	position: relative;
}
#Sustainability .esg__secTitle::after {
	content: "";
	display: inline-block;
	background-color: #e8341a;
	width: 30%;
	max-width: 230px;
	height: 1px;
	position: absolute;
	bottom: -1px;
	left: 50%;
	transform: translateX(-50%);
}
#Sustainability .esg__secTitle.brB__none {
	border-bottom: 0;
}
#Sustainability .esg__secTitle.brB__none::after {
	content: none;
}
#Sustainability .esg__secTitle span {
	display: block;
}
#Sustainability .esg__secTitle span.small {
	font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+1p", sans-serif;
	font-size: .5em;
	margin-top: 1rem;
}
#Sustainability .esg__secTitle span.sp {
	display: none;
}

#Sustainability .ProductCatContents {
  background: inherit;
  margin: 0;
  padding: 0;
}
#Sustainability .bge-contents {
  margin-top: 0;
}
#Sustainability .section {
	margin: 8rem auto;
	position: relative;
}
#Sustainability .esg__contribution-list {
	margin-top: 3rem;
}
#Sustainability .esg__contribution-list li:not(:last-of-type) {
	margin-bottom: 3rem;
}
#Sustainability .esg__contribution-list .flex-img {
  width: 77%;
  max-width: 540px;
  margin: 0 auto;
}
#Sustainability .esg__contribution-list .flex-text {
	padding: 10rem 3rem 3.5rem;
	margin-top: -5rem;
	position: relative;
}
#Sustainability .esg__contribution-list .flex-text::before {
	content: "";
	display: inline-block;
	background-color: #fff;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

/* esg --------------------------
---------------------------------*/
#Sustainability .esg .sec01 {
	margin-top: 12rem;
}
#Sustainability .esg .sec-unit {
	margin: 4rem auto;
}
#Sustainability .esg .sec02::before {
	content: "";
	display: inline-block;
	background-color: #f9f9f9;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 8rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
#Sustainability .esg .sec03 {
	padding-top: 4rem;
}
#Sustainability .esg .eyecatch {
	position: relative;
}
#Sustainability .esg .eyecatch::before {
	content: "";
	display: inline-block;
	background: url(/img/esg/esg-bg01_sp.png) no-repeat top center;
	background-size: cover;
	padding-top: 312%;
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
#Sustainability .esg .eyecatch h1 {
	position: relative;
	z-index: 2;
}
#Sustainability .esg .eyecatch img {
	width: 100%;
}
#Sustainability .esg .esg__eyecatchText {
	margin-top: -3rem;
	position: relative;
}
#Sustainability .esg .esg__eyecatchText .esg__notes {
	padding: 6rem 3rem;
	margin: -3rem 6rem 0 0;
	position: relative;
	z-index: 1;
	text-align: justify;
}
#Sustainability .esg .esg__eyecatchText .esg__notes::before {
	content: "";
	display: inline-block;
	background-color: #fff;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	z-index: -1;
}
#Sustainability .esg .esg__eyecatchText .esg__square {
	background-color: #373582;
  color: #fff;
	width: 13.5rem;
	height: 13.5rem;
	text-align: center;
	position: absolute;
  bottom: -8rem;
  right: 3rem;
	z-index: 2;
}
#Sustainability .esg .esg__eyecatchText .esg__square span {
	display: block;
}
#Sustainability .esg .esg__eyecatchText .esg__square .br-type {
	position: relative;
	padding-bottom: .5em;
	margin-bottom: .5em;
}
#Sustainability .esg .esg__eyecatchText .esg__square .br-type::after {
	content: "";
	display: inline-block;
	background: url(/img/esg/br-type_name.png) no-repeat top left;
	background-size: contain;
	padding-top: 51%;
  width: 207%;
	height: auto;
	position: absolute;
	right: 0;
	bottom: 0;
}
#Sustainability .esg .esg__philosophy-list {
	margin-top: 4.5rem;
	padding-bottom: 6rem;
	position: relative;
}
#Sustainability .esg .esg__philosophy-list::after {
	content: "";
	display: inline-block;
	background: url(/img/esg/esg-bg02_sp.png) no-repeat bottom center;
	background-size: 100% auto;
	padding-bottom: 72%;
	width: 100vw;
	height: auto;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
#Sustainability .esg .esg__philosophy-list li {
	width: 100%;
	border: 1px solid #373582;
	background-color: #fff;
	padding: 4.5rem 3rem 6rem;
	margin-bottom: 1.5rem;
}
#Sustainability .esg .esg__philosophy-list .num {
	position: relative;
}
#Sustainability .esg .esg__philosophy-list .num::before {
	content: "";
	display: inline-block;
	background-color: #373582;
	color: #fff;
	font-weight: bold;
	width: 3rem;
	line-height: 2;
	position: absolute;
	top: 1px;
	left: 1px;
	text-align: center;
}
#Sustainability .esg .esg__philosophy-list .num01::before { content: "1"; }
#Sustainability .esg .esg__philosophy-list .num02::before { content: "2"; }
#Sustainability .esg .esg__philosophy-list .num03::before { content: "3"; }
#Sustainability .esg .esg__philosophy-list .num::after {
	content: "";
	display: inline-block;
	background: url(/img/esg/down-arrow.png) no-repeat top center;
	background-size: contain;
	padding-top: 18%;
	width: 5%;
	height: auto;
	position: absolute;
	top: -18%;
	left: 50%;
	transform: translateX(-50%);
}
#Sustainability .esg .more-btn {
	text-align: center;
}
#Sustainability .esg .more-btn a {
	background-color: #373582;
	border: 1px solid #373582;
  border-radius: 3em;
  color: #fff;
	width: 75%;
	padding: 1.25em;
}
#Sustainability .esg .more-btn a::after {
	content: "→";
	display: inline-block;
	font-size: 1.5em;
	padding-left: 1em;
	vertical-align: middle;
	transition: all .3s ease 0s;
	line-height: 1;
}
#Sustainability .esg .more-btn a:hover {
	background-color: #e8341a;
	text-decoration: none;
	opacity: 1;
}
#Sustainability .esg .more-btn a:hover::after {
	padding-left: 1.5em;
	margin-right: -.5em;
}

/* sdgs --------------------------
---------------------------------*/
#Sustainability .sdgs .esg__secTitle {
	margin-bottom: 1em;
}
#Sustainability .sdgs .esg__contribution-list .flex-text::before {
	background-color: #f9f9f9;
}
#Sustainability .sdgs .eyecatch {
	padding: 0 1.5rem;
}
#Sustainability .sdgs .eyecatch h1 {
	color: #fff;
	font-size: 60px; font-size: 6rem;
	padding: 4rem 0 3.5rem;
	position: relative;
}
#Sustainability .sdgs .eyecatch h1::before {
	content: "";
	background-color: #373582;
	width: 100vw;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
#Sustainability .sdgs .eyecatch h1 .small {
	font-size: .13em;
}
#Sustainability .sdgs .eyecatchImg {
	margin: 3rem 0;
}
#Sustainability .sdgs .eyecatch h2 .small {
	font-size: .7em;
}
#Sustainability .sdgs .esg__icon-list li {
	width: calc((100% / 3) - 1rem);
	margin-bottom: 1.5rem;
}
#Sustainability .sdgs .theme-table {
	background-color: #fff;
	margin-top: 3rem;
}
#Sustainability .sdgs .theme-table th,
#Sustainability .sdgs .theme-table td {
	border: 1px solid #373582;
	padding: 1px;
	vertical-align: middle;
}
#Sustainability .sdgs .theme-table thead th {
	border-bottom: 0;
}
#Sustainability .sdgs .theme-table thead p {
	color: #fff;
	background-color: #373582;
	padding: 1em;
	text-align: center;
}
#Sustainability .sdgs .theme-table tbody tr:first-of-type th,
#Sustainability .sdgs .theme-table tbody tr:first-of-type td {
	border-top: 0;
}
#Sustainability .sdgs .theme-table tbody th {
	background-color: #ebeaf2;
	width: 7rem;
	text-align: center;
	padding: .7em;
}
#Sustainability .sdgs .theme-table tbody td:last-of-type {
	width: 11rem;
}
#Sustainability .sdgs .theme-table dl,
#Sustainability .sdgs .theme-table ul {
	padding: .7em;
}
#Sustainability .sdgs .theme-table dl {
	-webkit-box-align: start;
	-ms-flex-align: start;
			align-items: flex-start;
}
#Sustainability .sdgs .theme-table ul li {
	width: calc((100% / 2) - 1rem);
	margin-bottom: 2rem;
}
#Sustainability .sdgs .theme-table dt,
#Sustainability .sdgs .theme-table .small {
	font-size: .8em;
}
#Sustainability .sdgs .theme-table dt {
	color: #fff;
	background-color: #373582;
	border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  margin-top: 1em;
	line-height: 1;
}
#Sustainability .sdgs .theme-table dd {
	line-height: 1.6;
}
#Sustainability .sdgs .theme-list {
	position: relative;
	margin-top: -5rem;
	padding: 8rem 0 10rem;
}
#Sustainability .sdgs .theme-list::before {
	content: "";
	background-color: #f9f9f9;
	width: 100vw;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
#Sustainability .sdgs .theme-list .ph-img {
	margin: 2rem 0;
	text-align: center;
}
#Sustainability .sdgs .theme-list .ph-img.bg__typeA {
	background-color: #eeeff1;
	padding: 2rem;
}
#Sustainability .sdgs .theme-list figcaption {
	margin-top: 1em;
	line-height: 1.4;
}
#Sustainability .sdgs .theme-list .bg__typeA figcaption {
	margin: 0 0 1em;
}
#Sustainability .sdgs .theme-list .unit {
	margin-top: 4rem;
}
#Sustainability .sdgs .theme-list .text h3 {
	margin-bottom: 1em;
}
#Sustainability .sdgs .theme-list .text p:not(:last-of-type) {
	margin-bottom: 2em;
}
#Sustainability .sdgs .theme-point {
	background-color: #fff;
	padding: 2rem;
}
#Sustainability .sdgs .theme-point .flex-img {
	width: 8.75rem;
}
#Sustainability .sdgs .theme-point ul li:not(:last-of-type) {
	margin-bottom: 1rem;
}
#Sustainability .sdgs .theme-point .flex-text {
	padding-left: 1em;
}
#Sustainability .sdgs .theme-numTitle {
	font-size: 22px; font-size: 2.2rem;
	margin-bottom: 1.5em;
	padding-top: 2em;
	text-align: center;
}
#Sustainability .sdgs .theme-numTitle span:not(.num) {
	display: inline-block;
	text-align: left;
}
#Sustainability .sdgs .theme-numTitle .num {
	color: #fff;
	font-size: .85em;
	display: block;
	margin-bottom: 1.5em;
	text-align: center;
	position: relative;
}
#Sustainability .sdgs .theme-numTitle span.num::before {
  content: "";
  background-color: #373582;
  display: inline-block;
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: -1;
}
#Sustainability .sdgs .more-btn {
	text-align: center;
}
#Sustainability .sdgs .more-btn a {
	border: 1px solid #373582;
  border-radius: 3em;
  color: #373582;
	width: 75%;
	padding: 1.25em;
}
#Sustainability .sdgs .more-btn a::after {
	content: "→";
	display: inline-block;
	font-size: 1.5em;
	padding-left: 1em;
	vertical-align: middle;
	transition: all .3s ease 0s;
	line-height: 1;
}
#Sustainability .sdgs .more-btn a:hover {
	background-color: #373582;
	color: #fff;
	text-decoration: none;
	opacity: 1;
}
#Sustainability .sdgs .more-btn a:hover::after {
	padding-left: 1.5em;
	margin-right: -.5em;
}
#Sustainability .sdgs .involve {
	border: 1px solid #373582;
	padding: 2rem 2.5rem;
	margin: 2rem 0;
}

/*---------------------------------
# Mij
---------------------------------*/
/* mij --------------------------
---------------------------------*/
#Mij .HeadContainer {
	background-color: #fff;
	width: 100%;
	position: fixed;
	z-index: 3;
	height: 60px;
	overflow: hidden;
}
#Mij .Bread {
	margin-top: 6rem;
}
#Mij .mij .eyecatch-sub {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}
#Mij .mij .catchcopy {
  width: 63%;
  margin: -11rem auto 0;
}
#Mij .mij .eye-sub__contact {
  background-color: #f8f8f8;
  margin: -5rem 1.5rem 0;
  padding: 9rem 0 1rem;
}
#Mij .mij .eye-subTitle {
	font-size: 20px;
	font-size: 2rem;
	font-weight: normal;
	display: inline-block;
	text-align: center;
	position: relative;
	left: 50%;
  transform: translateX(-50%);
	line-height: 1.6;
}
#Mij .mij .eye-subTitle em {
	border-bottom: .1rem solid;
	font-size: 1.2em;
	display: block;
	margin-bottom: .5em;
	position: relative;
}
#Mij .mij .eye-subTitle .parenthe::before,
#Mij .mij .eye-subTitle .parenthe::after {
	content: "";
	display: inline-block;
	background-color: #000;
	position: absolute;
}
#Mij .mij .eye-subTitle .parenthe:first-of-type::before {
	width: 7.5rem;
	height: .2rem;
	top: -3rem;
	left: -4rem;
}
#Mij .mij .eye-subTitle .parenthe:first-of-type::after {
	width: .2rem;
	height: 7.5rem;
	top: -3rem;
	left: -4rem;
}
#Mij .mij .eye-subTitle .parenthe:last-of-type::before {
	width: 7.5rem;
	height: .2rem;
	bottom: -3rem;
	right: -4rem;
}
#Mij .mij .eye-subTitle .parenthe:last-of-type::after {
	width: .2rem;
	height: 7.5rem;
	bottom: -3rem;
	right: -4rem;
}
#Mij .mij .mij__item {
	margin: 0 -1.5rem;
	position: relative;
	z-index: 2;
}
#Mij .mij .mij__item + .mij-btn__contact {
  margin: -5rem auto -6rem;
  position: relative;
  z-index: 1;
}
#Mij .mij .eye-sub__question {
	padding: 7rem 2.2rem 3rem;
	margin-bottom: 6rem;
	position: relative;
}
#Mij .mij .eye-sub__question::before {
	content: "";
	display: inline-block;
	background-color: #bae4fe;
	width: 100vw;
	height: 115%;
	position: absolute;
	top: -15%;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
#Mij .mij .eye-sub__question::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4rem 30rem 0 30rem;
	border-color: #bae4fe transparent transparent transparent;
	position: absolute;
	bottom: -3rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
#Mij .mij .eye-sub__question .flex-text {
	font-size: 18px;
	font-size: 1.8rem;
	margin: 3rem 0;
}
#Mij .mij .mij__secTitle {
	font-size: 30px;
	font-size: 3rem;
	margin-bottom: 1em;
	text-align: center;
}
#Mij .mij .mij__caption {
	margin-bottom: 1.5em;
}
#Mij .mij .mij__caption span {
	background-color: #f8f8f8;
	font-size: 18px;
	font-size: 1.8rem;
	padding: .1em .5em;
}
#Mij .mij .txt-br__b {
	border-bottom: .1rem solid;
	padding-bottom: .2em;
}
#Mij .mij .point-list li:not(:first-of-type):not(:last-of-type) {
	margin: 3rem 0;
}
#Mij .mij .point-list .arrow {
	position: relative;
}
#Mij .mij .point-list .arrow::before {
	content: "";
	display: inline-block;
	background: url(/img/mij/mij-arrow_sp.svg) no-repeat;
	background-size: contain;
  padding-top: 8%;
  width: 8%;
	height: auto;
  position: absolute;
  top: 4rem;
  left: 50%;
  transform: translateX(-50%);
}
#Mij .mij .point-list em {
	display: block;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: center;
}
#Mij .mij .sec02 .point-list em {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: normal;
}
#Mij .mij .sec02 .point-list .arrow dd {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
}
#Mij .mij .point-list__img {
	margin: 4rem 0;
	padding: 0 2.2rem 3rem;
	position: relative;
}
#Mij .mij .point-list__img::before {
	content: "";
	display: inline-block;
	background-color: #f8f8f8;
	width: 100%;
	height: calc(100% - 30px);
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
#Mij .mij .point-list__img figcaption {
	font-weight: bold;
	margin-top: 1.5em;
	text-align: center;
}
#Mij .mij .table-unit {
	padding: 0 2.2rem 3rem;
	margin-bottom: 5rem;
	position: relative;
}
#Mij .mij .table-unit::before {
	content: "";
	display: inline-block;
	background-color: #f8f8f8;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 1em;
	left: 0;
	z-index: -1;
}
#Mij .mij .mij-table {
	width: 100%;
}
#Mij .mij .mij-table thead th,
#Mij .mij .mij-table tbody .num {
	color: #3b7ddc;
	font-family: "Noto Serif JP",serif;
	font-weight: bold;
	text-align: center;
}
#Mij .mij .mij-table thead th {
	font-size: 18px;
	font-size: 1.8rem;
}
#Mij .mij .mij-table tbody {
	counter-reset: number 0;
}
#Mij .mij .mij-table tbody tr {
	counter-increment: number 1;
	margin-top: .5em;
}
#Mij .mij .mij-table tbody tr .num::before {
	content: "";
	display: inline-block;
	background-color: #3b7ddc;
	width: 4rem;
	height: .1rem;
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%) rotate(-35deg);
}
#Mij .mij .mij-table tbody tr .num::after {
	content: "0" counter(number);
	font-size: 2em;
	display: inline-block;
  margin-top: .2em;
  padding-left: .5em;
  vertical-align: text-top;
}
#Mij .mij .mij-table tbody .num {
	border-bottom: 1px solid #000;
	font-size: 11px;
	font-size: 1.1rem;
	padding: 1em 1em .5em;
  margin-bottom: 1em;
  position: relative;
}

/* rj
---------------------------------*/
.rj .section {
	margin: 4.5rem auto;
}
.rj .sec-unit {
	margin: 3.5rem 0;
}
.rj .sec-unit.bg__typeA {
	padding: 3.5rem 0;
	position: relative;
}
.rj .sec-contact {
	color: #fff;
	box-shadow: 0 0 8px #00000063;
	background: -moz-linear-gradient(top, #3c7cdb, #0bb1f0);
  background: -webkit-linear-gradient(top, #3c7cdb, #0bb1f0);
  background: linear-gradient(to bottom, #3c7cdb, #0bb1f0);
	width: 92%;
	max-width: 980px;
	position: relative;
	z-index: 1;
}
.rj .sec-contact .sec-inner {
	padding: 5rem 2.5rem;
	position: relative;
}
.rj .sec-contact .sec-inner::before {
	content: "";
	display: inline-block;
	border: 1px solid #97b9ec;
	width: 96%;
	height: 96%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
.rj .sec-contact h2 {
	font-size: 20px;
	font-size: 2rem;
	text-align: center;
	line-height: 2;
	margin-bottom: 1em;
}
.rj [class*="Title"] {
	line-height: 1.6;
}
.rj [class*="Title"] .small {
	line-height: 1.8;
}
.rj .eye-sub__contact {
	color: #fff;
	box-shadow: 0 0 8px #00000063;
	background: -moz-linear-gradient(top, #3c7cdb, #0bb1f0);
  background: -webkit-linear-gradient(top, #3c7cdb, #0bb1f0);
  background: linear-gradient(to bottom, #3c7cdb, #0bb1f0);
	width: 88%;
	max-width: 980px;
	margin: -9rem auto 0;
	position: relative;
	z-index: 1;
	padding: 3.5rem 1.5rem;
}
.rj .eye-sub__contact::before {
	content: "";
	display: inline-block;
	border: 1px solid #3c7cdb;
	width: 104%;
	height: 102%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
.rj .eye-sub__contact .eye-subTitle {
	font-size: 21px;
	font-size: 2.1rem;
}
.rj .eye-sub__contact h3 {
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.6;
}
.rj .eye-sub__contact dt {
	font-weight: bold;
	margin: 1em 0 .5em;
}
.rj .eye-sub__contact .fx-r {
	text-align: center;
}
.rj .eye-sub__point {
	background-color: #f8f8f8;
}
.rj .eye-sub__point > div {
	margin-top: -10rem;
	padding: 14rem 1.5rem 5rem;
}
.rj .eye-sub__point h3 {
	font-size: 25px;
	font-size: 2.5rem;
	color: #3b7ddc;
	line-height: 1.8;
}
.rj .eye-sub__point .fx-r li {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	margin-top: 1em;
	line-height: 1;
}
.rj .eye-sub__point .fx-r li::before {
	content: "";
	display: inline-block;
	box-shadow: 0 0 8px #00000063;
	background: -moz-linear-gradient(top, #3c7cdb, #0bb1f0);
  background: -webkit-linear-gradient(top, #3c7cdb, #0bb1f0);
  background: linear-gradient(to bottom, #3c7cdb, #0bb1f0);
	width: 1.5rem;
	height: 1.5rem;
	margin-right: 1em;
	vertical-align: middle;
}
.rj .rj__secTitle {
	font-size: 25px;
	font-size: 2.5rem;
	text-align: center;
}
.rj .rj__secTitle .small {
	display: block;
	font-size: .68em;
	margin-top: 1em;
}
.rj .rj__secUnitTitle {
	color: #3b7ddc;
	font-size: 23px;
	font-size: 2.3rem;
	margin-bottom: 1em;
	text-align: center;
}
.rj .rj__secUnitTitle .small {
	font-size: .9em;
}
.rj .technology-list li {
	color: #3b7ddc;
	border: 1px solid;
	font-weight: bold;
	width: calc((100% / 2) - 1rem);
	text-align: center;
	line-height: 3;
}
.rj .br-b__unit {
	border-bottom: 1px solid #3b7ddc;
	padding: 3.5rem 0;
	margin: 3.5rem 0 0;
	overflow: hidden;
}
.rj .br-b__unit .br-bTitle {
	color: #fff;
	background-color: #3b7ddc;
	display: inline-block;
	min-width: 10rem;
	padding: .5em 1em;
	position: relative;
	top: -3rem;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
}
.rj .br-b__unit .br-bTitle.lg__type {
	max-width: 30rem;
}
.rj .br-b__unit .br-bTitle::before {
	content: "";
	display: inline-block;
	background-color: #3b7ddc;
	width: 100vw;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
.rj .br-b__unit dl {
	margin: -1em 0;
}
.rj .br-b__unit dl div  {
  counter-increment: number 1;
}
.rj .br-b__unit dl .num {
	color: #3b7ddc;
	font-weight: bold;
	position: relative;
}
.rj .br-b__unit dl .num::before {
	content: "0" counter(number);
  font-family: "Noto Serif JP","Hiragino Mincho ProN",HGS明朝E,游明朝,"Yu Mincho",YuMincho,メイリオ,Meiryo,serif;
  font-size: 1.875em;
  display: inline-block;
	padding: 0 .25em .25em 0;
  vertical-align: text-bottom;
}
.rj .br-b__unit dl .num::after {
	content: "";
  display: inline-block;
  background-color: #3b7ddc;
	width: 4rem;
	height: 0.1rem;
	position: absolute;
	left: 1.5rem;
	bottom: 2rem;
	transform: rotate(-35deg);
}
.rj .br-b__unit dl .num + dd {
	margin: .5em 0 1em;
}
.rj .br-b__unit figure .small {
	font-size: .9em;
}
.rj .fx-r .br-b__unit figcaption .arrow {
	display: block;
	text-align: center;
}
.rj .achiev-list {
	margin-top: 3.5rem;
}
.rj .achiev-list .achiev-item {
	border-top: 1px solid #3b7ddc;
	padding: 2.5rem 0;
}
.rj .achiev-list .achiev-item:last-of-type {
	border-bottom: 1px solid #3b7ddc;
}
.rj .achiev-list .rj__achievTitle em {
	font-size: 23px;
	font-size: 2.3rem;
	color: #3b7ddc;
}
.rj .achiev-list .rj__achievTitle em .small {
	display: inline;
	font-size: .9em;
}
.rj .achiev-list .rj__achievTitle .small {
	display: block;
	margin-top: .5em;
}
.rj .achiev-list dl + .rj__achievTitle {
	margin-top: 2.5rem;
}
.rj .achiev-list dl div {
	margin: 2.5rem 0 0;
}
.rj .achiev-list dl dt {
	background-color: #3b7ddc;
	display: inline-block;
	color: #fff;
	font-weight: bold;
	padding: .25em 1em;
	line-height: 1;
}
.rj .achiev-list dl li {
	margin: .5em 0;
	padding-left: 1em;
	text-indent: -1em;
}
.rj .achiev-list dl li::before {
	content: "・";
}

@media (min-width: 560px) {
	/* sdgs --------------------------
	---------------------------------*/
	#Sustainability .sdgs .theme-list .ph-img li {
		width: 50%;
	}
}

@media (min-width: 960px) {
  .sp { display: none; }
  .pc { display: inline; }

  /*-------------------------------
  # common
  -------------------------------*/

  /*-------------------------------
  # header
  -------------------------------*/
 	.HeadContainer .HeadInner > div {
		padding-left: 0;
	}
	.HeadContainer .HeadInner .HeadLogo {
		max-width: 121px;
	}
	.HeadContainer .menu-trigger {
		display: none;
	}
	.HeadContainer .nav li:not(.btn-contact) {
		padding: 8px 30px;
		border-left: 1px solid;
	}
	.HeadContainer .nav li.btn-contact {
		padding: 33px 0 33px 60px;
		position: relative;
		z-index: 1;
	}
	.HeadContainer .nav li.btn-contact::before {
		content: "";
		display: inline-block;
    background-color: #373582;
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: -1;
	}

  /*-------------------------------
  # main
  -------------------------------*/
  /*-------------------------------
  # Sustainability
  -------------------------------*/
  #Sustainability .esg__squareTitle {
    max-width: 340px;
    height: 200px;
    padding: 0;
  }
	#Sustainability .esg__squareTitle .br-type__top::after,
	#Sustainability .esg__squareTitle .br-type__bottom::after {
		content: "";
		display: inline-block;
		padding-top: 0;
	  width: 367px;
		height: 57px;
		position: absolute;
		left: -.5em;
	}
	#Sustainability .esg__squareTitle .br-type__top::after {
		bottom: -20px;
	}
	#Sustainability .esg__squareTitle .br-type__bottom::after {
		bottom: -77px;
	}

	#Sustainability .esg__contribution-list {
		margin-top: 140px;
	}
	#Sustainability .esg__contribution-list li {
		padding-left: 40px;
	}
	#Sustainability .esg__contribution-list .flex-img {
	  max-width: 360px;
	}
  #Sustainability .esg__contribution-list .flex-text {
	  -webkit-box-flex: 1;
	  -ms-flex: 1 0 0%;
	      flex: 1 0 0%;
    padding: 50px 50px;
    margin: 0;
  }
  #Sustainability .esg__contribution-list .flex-text::before {
  	width: 120%;
  	top: 50%;
  	left: auto;
  	right: 0;
  	transform: translateY(-50%);
  }

	/* esg --------------------------
	---------------------------------*/
	#Sustainability .esg .sec01 .esg__squareTitle {
		margin-top: -140px;
	}
	#Sustainability .esg .sec02::before {
		width: 100vw;
	}
	#Sustainability .esg .sec03 {
		padding-top: 60px;
	}
	#Sustainability .esg .eyecatch::before {
		background: url(/img/esg/esg-bg01_pc.png) no-repeat top center;
		background-size: cover;
		padding-top: 120%;
		width: 100vw;
	}
  #Sustainability .esg .esg__eyecatchText .esg__notes {
    width: 800px;
    padding: 100px 180px 100px 40px;
    margin: -30px 0 0;
    line-height: 2;
  }
	#Sustainability .esg .esg__eyecatchText .esg__notes::before {
		width: 100vw;
	}
	#Sustainability .esg .esg__eyecatchText .esg__square {
    width: 180px;
    height: 180px;
    top: 55%;
    bottom: auto;
    transform: translateY(-50%);
    right: 70px;
	}
	#Sustainability .esg .esg__eyecatchText .esg__square .br-type::after {
		padding-top: 0;
	  width: 237px;
		height: 59px;
	}
	#Sustainability .esg .sub-img {
		padding-left: 40px;
	}
	#Sustainability .esg .esg__philosophy-list::after {
    background: url(/img/esg/esg-bg02_pc.png) no-repeat bottom center;
    background-size: 100% auto;
    padding-top: 28%;
	}
	#Sustainability .esg .esg__philosophy-list li {
		width: 300px;
		padding: 70px 40px;
	}
	#Sustainability .esg .esg__philosophy-list .num::before {
		width: 40px;
		line-height: 2.5;
	}
	#Sustainability .esg .esg__philosophy-list .num::after {
    padding-top: 27%;
    width: 8%;
    top: -35px;
  }
  #Sustainability .esg .sec02 .text {
  	position: absolute;
  	top: 170px;
  	right: 125px;
  }

	/* sdgs --------------------------
	---------------------------------*/
	#Sustainability .sdgs .esg__contribution {
		margin: 0 -40px;
	}
	#Sustainability .sdgs .esg__contribution-list {
		margin-top: 30px;
	}
	#Sustainability .sdgs .sec-inner {
		padding: 0 40px;
	}
	#Sustainability .sdgs .sec-unit:not(.esg__contribution) {
		padding: 0 50px;
	}
	#Sustainability .sdgs .eyecatch {
		padding: 0 40px;
	}
	#Sustainability .sdgs .eyecatch h1 {
		font-size: 135px; font-size: 13.5rem;
		padding: 150px 0 130px;
	}
	#Sustainability .sdgs .eyecatch h1 > * {
		display: inline-block;
		vertical-align: middle;
	}
	#Sustainability .sdgs .eyecatch h1 .small {
    padding-left: 1em;
	}
	#Sustainability .sdgs .eyecatchImg {
		margin: 60px 0;
	}
	#Sustainability .sdgs .eyecatchText {
		padding: 0 50px;
	}
	#Sustainability .sdgs .esg__icon-list li {
		width: calc((100% / 4) - 20px);
		margin-bottom: 30px;
	}
	#Sustainability .sdgs .esg__icon-list li:nth-of-type(5) {
		margin-left: auto;
	}
	#Sustainability .sdgs .esg__icon-list li:nth-of-type(6) {
		margin: 0 20px 30px;
	}
	#Sustainability .sdgs .esg__icon-list li:nth-of-type(7) {
		margin-right: auto;
	}
	#Sustainability .sdgs .theme-table tbody td:last-of-type {
		width: 25rem;
	}
	#Sustainability .sdgs .theme-table ul li:nth-last-of-type(-n+2) {
		margin-bottom: 0;
	}
	#Sustainability .sdgs .theme-table dd {
		padding-left: .7em;
	}
	#Sustainability .sdgs .theme-list {
		margin-top: -100px;
		padding: 150px 0;
	}
	#Sustainability .sdgs .theme-list .ph-img {
		margin: 40px 0;
	}
	#Sustainability .sdgs .theme-list .ph-img li {
		width: auto;
	}
	#Sustainability .sdgs .theme-list .ph-img.bg__typeA {
		padding: 40px;
	}
	#Sustainability .sdgs .theme-list .unit {
		margin-top: 60px;
	}
	#Sustainability .sdgs .theme-list .text {
		letter-spacing: .04em;
	}
	#Sustainability .sdgs .theme-point {
		padding: 40px;
	}
	#Sustainability .sdgs .theme-point ul li:not(:last-of-type) {
		margin-bottom: 20px;
	}
	#Sustainability .sdgs .theme-point .flex-img {
		width: 100px;
	}
	#Sustainability .sdgs .theme-point .flex-text {
		padding-left: 30px;
	}
	#Sustainability .sdgs .theme-numTitle {
		font-size: 28px; font-size: 2.8rem;
	}
	#Sustainability .sdgs .more-btn a {
		max-width: 300px;
	}
	#Sustainability .sdgs .involve {
		padding: 25px 50px;
		margin: 40px 0;
	}

	/*-------------------------------
  # Mij
  -------------------------------*/
	#Mij .HeadContainer {
		height: 130px;
	}
	#Mij .Bread {
		margin-top: 130px;
	}
  #Mij .mij .mij-btn__contact {
  	background: url(/img/mij/mij-btn-contact_on.svg) no-repeat;
  	background-size: contain;
    display: block;
    max-width: 510px;
    margin: 0 auto;
  }
	#Mij .mij .mij-btn__contact.btn__detail {
		background: url(/img/mij/mij-btn-detail_on.svg) no-repeat;
		background-size: contain;
	}
  #Mij .mij .mij-btn__contact:hover {
  	opacity: 1;
  }
  #Mij .mij .mij-btn__contact:hover img {
  	visibility: hidden;
  }
  #Mij .mij .eyecatch-sub {
  	padding-bottom: 60px;
  }
  #Mij .mij .catchcopy {
  	max-width: 380px;
  	margin: -110px -40px 0 auto;
    position: relative;
    z-index: 1;
  }
  #Mij .mij .eye-sub__contact {
  	padding: 110px 0;
  	margin: -110px 0 -70px;
  	position: relative;
  }
  #Mij .mij .eye-subTitle {
  	font-size: 26px;
    font-size: 2.6rem;
  }
  #Mij .mij .mij__item {
  	max-width: 655px;
  	position: absolute;
    bottom: -12%;
    left: 15px;
  }
  #Mij .mij .mij__item + .mij-btn__contact {
  	max-width: 410px;
    position: absolute;
    bottom: -10px;
    right: 0;
	}
	#Mij .mij .eye-sub__question {
		padding: 180px 130px 0;
	}
	#Mij .mij .eye-sub__question::before {
		height: 102%;
		top: auto;
		bottom: 0;
	}
	#Mij .mij .eye-sub__question .flex-jc-sb {
		margin-bottom: 70px;
	}
	#Mij .mij .eye-sub__question .flex-img {
		max-width: 400px;
	}
	#Mij .mij .eye-sub__question .flex-text {
	  -webkit-box-flex: 1;
	  -ms-flex: 1 0 0%;
	      flex: 1 0 0%;
	  padding: 0 0 0 40px;
	}
	#Mij .mij .eye-sub__question::after {
		border-width: 20vh 100vw 0 100vw;
		bottom: -10vh;
	}
	#Mij .mij .eye-sub__question .eye-sub__question_what img {
		max-width: 480px;
	}
	#Mij .mij .mij__secTitle {
		font-size: 42px;
    font-size: 4.2rem;
    letter-spacing: .1em;
	}
	#Mij .mij .mij__caption span {
	  font-size: 22px;
	  font-size: 2.2rem;
	  padding: 0.1em 1em;
	}
  #Mij .mij .point-list {
  	padding: 0 20px;
  }
	#Mij .mij .point-list .arrow {
	  display: -webkit-box;
	  display: -webkit-flex;
	  display: -ms-flexbox;
	  display: flex;
	  -webkit-box-pack:justify;
	  -ms-flex-pack: justify;
      	justify-content: space-between;
	  -webkit-box-align: center;
	  -ms-flex-align: center;
	      align-items: center;
	}
	#Mij .mij .point-list .arrow::before {
    background: url(/img/mij/mij-arrow_pc.svg) no-repeat;
    background-size: contain;
    padding-top: 0;
    width: 31px;
		height: 28px;
    top: 50%;
    left: 42%;
    transform: translateY(-50%);
	}
	#Mij .mij .point-list em {
    font-size: 22px;
    font-size: 2.2rem;
    text-align: left;
	}
	#Mij .mij .point-list .arrow dd {
		font-size: 18px;
    font-size: 1.8rem;
    width: 48%;
		text-align: justify;
	}
	#Mij .mij .sec02 .point-list .arrow::before {
		left: 35.5%;
	}
	#Mij .mij .sec02 .point-list em {
		font-size: 18px;
		font-size: 1.8rem;
	}
	#Mij .mij .sec02 .point-list .arrow dd {
		font-size: 22px;
    font-size: 2.2rem;
		width: 59%;
	}
	#Mij .mij .txt-br__b {
		padding-bottom: 0.4em;
	}
	#Mij .mij .point-list__img {
	  display: -webkit-box;
	  display: -webkit-flex;
	  display: -ms-flexbox;
	  display: flex;
	  -webkit-flex-wrap: wrap;
	  -ms-flex-wrap: wrap;
        flex-wrap: wrap;
	  -webkit-box-pack:justify;
	  -ms-flex-pack: justify;
      	justify-content: space-between;
		padding: 0 60px 30px;
		margin: 80px 0;
	}
	#Mij .mij .point-list__img li:not(.youtube) {
		max-width: 400px;
	}
	#Mij .mij .point-list li:not(:first-of-type):not(:last-of-type) {
		margin: 20px 0;
	}
	#Mij .mij .point-list__img li.youtube {
		margin-top: 30px;
	}
	#Mij .mij .table-unit {
		padding: 0 60px 3rem;
		margin-bottom: 80px;
	}
	#Mij .mij .table-unit::before {
		height: 89.5%;
		top: 2em;
	}
	#Mij .mij .mij-table thead th {
    font-size: 28px;
    font-size: 2.8rem;
	}
	#Mij .mij .mij-table.step thead th:first-of-type {
		padding-left: 5em;
	}
	#Mij .mij .mij-table tbody td {
		vertical-align: middle;
		padding: .75em;
	}
	#Mij .mij .mij-table tbody .num {
    border-bottom: 0;
    font-size: 14px;
    font-size: 1.4rem;
    padding: .75em 50px .75em 0;
    margin-bottom: 0;
    line-height: 1.4;
    width: 165px;
	}
	#Mij .mij .mij-table tbody tr .num::before {
    width: 50px;
    height: 1px;
    top: 45%;
    left: 35%;
	}
	#Mij .mij .mij-table tbody tr .num::after {
		margin-top: 0;
	}
	#Mij .mij .mij-table tbody .num + td,
	#Mij .mij .mij-table.step tbody .num + td + td {
		padding-left: 40px;
		position: relative;
	}
	#Mij .mij .mij-table tbody .num + td::before,
	#Mij .mij .mij-table.step tbody .num + td + td::before {
		content: "";
		display: inline-block;
		background-color: #000;
		width: 40px;
    height: 1px;
    position: absolute;
    top: 50%;
    left: -20px;
    transform: translateY(-50%) rotate(90deg);
    z-index: 1;
	}
	#Mij .mij .mij-table.step tbody .num + td {
		width: 550px;
	}

	/* rj
	---------------------------------*/
	.rj .btn__typeA {
		background: url(/img/rj/rj-btn_on01.svg) no-repeat;
    background-size: contain;
	}
	.rj .btn__typeB {
		background: url(/img/rj/rj-btn_on02.svg) no-repeat;
    background-size: contain;
	}
	.rj [class*="btn__type"]:hover {
		opacity: 1;
	}
 	.rj [class*="btn__type"]:hover img {
    visibility: hidden;
	}
	.rj .section {
		margin: 90px auto;
	}
	.rj .sec-unit {
		margin: 60px 0;
	}
	.rj .sec-contact {
		width: 100%;
	}
	.rj .sec-contact .sec-inner {
		padding: 40px 0;
	}
	.rj .sec-contact .sec-inner::before {
		width: 98%;
    height: 92%;
	}
	.rj .sec-contact h2 {
		margin: 0;
		padding-right: 1em;
	}
	.rj .eye-sub__contact {
		padding: 70px 0;
	}
	.rj .eye-sub__contact::before {
		height: 104%;
	}
	.rj .eye-sub__contact .eye-subTitle {
		font-size: 38px;
    font-size: 3.8rem;
		margin-bottom: 1.5em;
	}
	.rj .eye-sub__contact h3 {
		font-size: 28px;
    font-size: 2.8rem;
	}
	.rj .eye-sub__contact [class^=flex] > div {
		max-width: 50%;
	}
	.rj .eye-sub__contact .fx-l {
		padding-right: 60px;
		margin-right: 50px;
		border-right: 1px solid #77c5f1;
	}
	.rj .eye-sub__point > div {
		max-width: 980px;
		padding: 180px 0 80px;
		margin: -100px auto 0;
	}
	.rj .eye-sub__point h3 {
    font-size: 28px;
    font-size: 2.8rem;
	}
	.rj .eye-sub__point .fx-r {
		padding-left: 60px;
	}
	.rj .eye-sub__point .fx-r li {
		font-size: 20px;
		font-size: 2rem;
		margin-top: 1.5em;
	}
	.rj .eye-sub__point .fx-r li:first-of-type {
		margin-top: 0;
	}
	.rj .sec-unit [class^=flex] > div {
		width: calc(50% - 20px);
	}
	.rj .sec-inner .sec-unit:nth-of-type(2) .fx-l {
		width: 45%;
		padding: 0 40px;
	}
	.rj .sec-inner .sec-unit:nth-of-type(2) .fx-r {
		width: 52%;
	}
	.rj .rj__secTitle {
		font-size: 38px;
		font-size: 3.8rem;
	}
	.rj .rj__secTitle .small {
		font-size: .526em;
	}
	.rj .technology-list {
		padding: 0 20px;
	}
	.rj .technology-list li {
		width: calc((100% / 5) - 20px);
		line-height: 4;
	}
	.rj .rj__secUnitTitle {
		font-size: 28px;
    font-size: 2.8rem;
		margin-bottom: .5em;
	}
	.rj .sec-unit.bg__typeA {
		background-color: #f8f8f8;
		padding: 60px;
	}
	.rj .sec-unit.bg__typeA .fx-r {
		max-width: 380px;
	}
	.rj .br-b__unit {
		padding: 10px 30px 30px 20px;
	}
	.rj .br-b__unit .br-bTitle {
		font-size: 20px;
		font-size: 2rem;
		top: -10px;
	}
	.rj .br-b__unit .br-bTitle.lg__type {
		max-width: 350px;
	}
	.rj .br-b__unit.fd-c {
		min-height: 30rem;
		padding: 10px 20px 20px;
	}
	.rj .br-b__unit.fd-c figure {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
				align-items: center;
		-webkit-box-flex: 1;
		-ms-flex: 1 0 0%;
				flex: 1 0 0%;
	}
	.rj .br-b__unit figure img {
		max-width: 238px;
	}
	.rj .br-b__unit figure figcaption {
		-webkit-box-flex: 1;
		-ms-flex: 1 0 0%;
				flex: 1 0 0%;
	}
	.rj .br-b__unit dl .num::after {
		bottom: 2.5rem;
	}
	.rj .br-b__unit dl .num + dd {
		margin: .5em 0 0;
	}
	.rj .sec-unit .unit-center p {
		max-width: 780px;
	}
	.rj .achiev-list .achiev-item {
		padding: 40px 0;
	}
	.rj .achiev-list .rj__achievTitle em {
		font-size: 28px;
		font-size: 2.8rem;
	}
	.rj .achiev-list .fx-l {
		max-width: 420px;
	}
	.rj .achiev-list .fx-r {
		-webkit-box-flex: 1;
		-ms-flex: 1 0 0%;
				flex: 1 0 0%;
		padding-left: 40px;
	}
	.rj .achiev-list .achiev-use {
		min-width: 280px;
	}
	.rj .achiev-list dl li {
		margin: 0;
	}

  /*-------------------------------
  # footer
  -------------------------------*/
}

@media (max-width: 959px) {
	/*-------------------------------
  hamburger
  -------------------------------*/
  .HeadContainer .menu-trigger {
    background-color: #373582;
    display: block;
    width: 6rem;
    height: 6rem;
    vertical-align: middle;
    cursor: pointer;
    position: relative;
    z-index: 100;
  }
  .HeadContainer .menu-trigger span {
    display: inline-block;
    background-color: #fff;
    border-radius: 1em;
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 3rem;
    height: .3rem;
    transition: all .5s;
  }
  .HeadContainer .menu-trigger span:nth-of-type(1) {
    top: 1.6rem;
  }
  .HeadContainer .menu-trigger span:nth-of-type(2) {
    top: 50%;
    transform: translate(-50%,-50%);
  }
  .HeadContainer .menu-trigger span:nth-of-type(3) {
    bottom: 1.6rem;
  }
  .HeadContainer .menu-trigger.active span:nth-of-type(1) {
    top: 50%;
    transform: translate(-50%,-50%) rotate(-45deg);
  }
  .HeadContainer .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .HeadContainer .menu-trigger.active span:nth-of-type(3) {
    top: 50%;
    transform: translate(-50%,-50%) rotate(45deg);
  }
  .HeadContainer .nav {
    width: 80%;
    max-width: 650px;
    height: 100%;
    padding: 8rem 0;
    background: #3b3984;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10;
    transform: translate(100%);
    transition: all .5s;
  }
  .HeadContainer .nav.open {
    transform: translate(0,0);
    overflow: scroll;
    overflow-x: hidden;
  }
  .FootContainer + .overlay {
    content: "";
    display: block;
    width: 0;
    height: 0;
    background-color: rgb(255 255 255 / .8)!important;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    opacity: 0;
    transition: opacity .5s;
  }
  .FootContainer + .overlay.open {
    width: 100%;
    height: 100vh;
    opacity: 1;
    position: fixed;
  }
  .HeadContainer .nav li {
    color: #fff;
    width: 100%;
    margin-bottom: 1em;
  }
  .HeadContainer .nav li.btn-contact {
    background-color: #e8341a;
    padding: 3rem 0;
    margin-top: 5rem;
  }
  .HeadContainer .nav li:not(.btn-contact) a {
    padding-bottom: .5em;
    margin-bottom: .5em;
    border-bottom: 3px solid #e6e1e0;
    min-width: 5em;
  }

	/*-------------------------------
  # common
  -------------------------------*/
	.Bread {
		padding-left: 1rem;
	}

	/*-------------------------------
  # header
  -------------------------------*/
	.HeadContainer .HeadText {
		font-size: 11px;
		font-size: 1.1rem;
	}

  /*-------------------------------
  # main
  -------------------------------*/
  .main .Container980 {
		max-width: 980px;
	}
	/*-------------------------------
  # Sustainability
  -------------------------------*/
	#Sustainability .esg__secTitle span.sp {
		display: inline;
	}
	#Sustainability .esg__eyecatchText .esg__square {
		font-size: 12px;
		font-size: 1.2rem;
	}
	#Sustainability .sec-inner ,#Sustainability .sub-img {
		padding: 0 1.5rem;
	}

	/* sdgs --------------------------
	---------------------------------*/
	#Sustainability .sdgs .section {
		margin: 4rem auto;
	}
	#Sustainability .sdgs .eyecatch h1 span {
		display: block;
	}
	#Sustainability .sdgs .esg__icon-list li:last-of-type {
		margin-left: auto;
		margin-right: auto;
	}
	#Sustainability .sdgs .theme-table.fs-la {
		font-size: 14px; font-size: 1.4rem;
	}
	#Sustainability .sdgs .theme-table thead p {
		min-height: 5.5em;
	}
	#Sustainability .sdgs .theme-table dl,
	#Sustainability .sdgs .theme-table ul {
		display: block;
	}
	#Sustainability .sdgs .theme-table dt {
	  margin: 0 auto 1em;
	}
	#Sustainability .sdgs .theme-table ul li {
		width: 100%;
	}
	#Sustainability .sdgs .theme-table ul li:last-of-type {
		margin-bottom: 0;
	}
	#Sustainability .sdgs .theme-point {
		-webkit-box-align: start;
		-ms-flex-align: start;
				align-items: flex-start;
	}
	#Sustainability .sdgs .theme-list .ph-img ul li {
		margin-top: 1em;
	}

	/*-------------------------------
  # Mij
  -------------------------------*/
  #Mij .mij .mij-btn__contact {
  	display: block;
  	width: 90%;
  	margin: 0 auto;
  }
	#Mij .eyecatch-sub, #Mij .sec-inner {
		padding: 0 1.5rem;
	}
	#Mij .mij .mij-table tbody,
	#Mij .mij .mij-table tbody tr,
	#Mij .mij .mij-table tbody th,
	#Mij .mij .mij-table tbody td {
		display: block;
	}
	#Mij .mij .mij-table.step thead tr,
	#Mij .mij .mij-table.step tbody tr {
	  display: -webkit-box;
	  display: -webkit-flex;
	  display: -ms-flexbox;
	  display: flex;
	  -webkit-flex-wrap: wrap;
	  -ms-flex-wrap: wrap;
	      flex-wrap: wrap;
	  -webkit-box-align: center;
	  -ms-flex-align: center;
	      align-items: center;
	}
	#Mij .mij .mij-table.step thead th {
		width: 60%;
		text-align: center;
		line-height: 1.2;
	}
	#Mij .mij .mij-table.step thead th:last-of-type {
		width: 40%;
	}
	#Mij .mij .mij-table.step tbody .num {
		width: 100%;
	}
	#Mij .mij .mij-table.step tbody .num + td {
		width: 60%;
		padding-right: 1.5rem;
		border-right: 1px solid;
	}
	#Mij .mij .mij-table.step tbody .num + td + td {
		width: 40%;
		padding-left: 1.5rem;
	}
	#Mij .mij .point-list dt {
		margin-bottom: 5rem;
	}
	#Mij .mij .point-list__img li:last-of-type {
		margin-top: 3rem;
	}
	#Mij .mij .point-list__img figcaption {
		font-size: 12px;
		font-size: 1.2rem;
	}
	#Mij .mij .eye-sub__question .flex-text {
		padding-bottom: 3rem;
	}
	#Mij .mij .point-list__img li:first-of-type {
		margin-bottom: 1em;
	}

	.rj .sec-inner {
		padding: 0 1.5rem;
	}
	.rj .sec-unit.bg__typeA::before {
		content: "";
		display: inline-block;
		background-color: #f8f8f8;
		width: 100vw;
		height: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		z-index: -1;
	}
	.rj .sec-unit [class^=flex] > div {
		width: 100%;
	}
	.rj .sec-unit .fx-r {
		margin-top: 3.5rem;
	}
	.rj .eye-sub__contact .fx-l {
		border-top: 1px solid #77c5f1;
		border-bottom: 1px solid #77c5f1;
		padding: 2.5rem 0;
		margin: 2.5rem 0;
	}
	.rj .eye-sub__point [class^=flex] > div {
		width: 100%;
	}
	.rj .technology-list li:not(:last-of-type) {
		margin-bottom: 2.5rem;
	}
	.rj .br-b__unit figure img {
		display: block;
		width: 57%;
		margin: 0 auto 1em;
	}
	.rj .fx-r .br-b__unit figcaption {
		text-align: center;
	}
	.rj .achiev-list .fx-r {
		width: 100%;
		margin-top: 3rem;
	}
	.rj .achiev-list dl div {
		width: 100%;
	}

  /*-------------------------------
  # footer
  -------------------------------*/
  .FootContainer .FootLink {
    width: 100%;
    padding: 1.5rem;
	}
  .FootContainer .FootLink ul {
    position: sticky;
  }
  .FootContainer .FootLink ul li {
    display: block;
    margin-bottom: .5em;
	}
}

@media (min-width: 560px) and (max-width: 959px) {
	/*-------------------------------
  # Sustainability
  -------------------------------*/
	#Sustainability .sdgs .theme-list .ph-img figcaption {
		font-size: 12px; font-size: 1.2rem;
	}
}