@charset "UTF-8";
/* 共通
---------------------------------------------------------------------------- */
html,
body {
  color: #333;
}

img {
  border: 0;
  max-width: 100%;
  vertical-align: baseline;
}

body .content .page-company-default .container-content img {
	margin: 0;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
*:before, *:after { box-sizing: inherit; }

a {
  text-decoration: none;
  color: #333;
}
a.underline,
a .underline{
	text-decoration: underline;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

figure {
  margin: 0;
	padding: 0;
}

/* https://www.shinetsu.co.jp/wp-content/themes/shinetsu/style.css fix */
.sustainability-contents .arrow-icon {
	display: inline-block;
	/*display: flex; /* 空白も範囲になる */
  /*display: inline; /* 改行で矢印と被る */
}
.sustainability-contents .arrow-icon:after {
  top: calc(1rem); /* 1.25rem line-height:1.8;, Meiryo -1px */
}

.sustainability-contents .page-index-box .arrow-icon:after {
  top: calc(1.25rem - 1px); /* 1.25rem line-height:2;, Meiryo -1px */
}

.sustainability-contents img{
	vertical-align: middle;
}

/* sustainability
---------------------------------------------------------------------------- */
.sustainability-contents{ /* page-company-default */
	padding: 30px 0;
  color: #333333;
	line-height: 1.8;
}

@media screen and (min-width: 768px) { /* pc */
	div.sustainability-contents{
		padding: 60px 0;
	}
}

.sustainability-contents.pt0{
	padding-top: 0;
}

.sustainability-contents.pb0{
	padding-bottom: 0;
}

.indent {
  text-indent: 1em;
}

.indent-num {
  padding-left: 1.5em;
  text-indent: -1.5em;
}

.indent-num .num{
	display: inline-block;
	width: 1.5em;
}

.indent-num1 {
  padding-left: 1em;
  text-indent: -1em;
}

.indent-num1 .num{
	display: inline-block;
	width: 1em;
}

.indent-num2 {
  padding-left: 2em;
  text-indent: -2em;
}

.indent-num2 .num{
	display: inline-block;
	width: 2em;
}

.indent-num3 {
  padding-left: 3em;
  text-indent: -3em;
}

.indent-num3 .num{
	display: inline-block;
	width: 3em;
}

.indent *,
.indent-num *,
.indent-num1 *,
.indent-num2 *,
.indent-num3 *{
  padding-left: 0;
  text-indent: 0;
}

.sustainability-contents .ml1em{
	margin-left: 1em;
}

.sustainability-contents .pd0{
	padding:0;
}

.disp-ib{
	display: inline-block;
}

@media screen and (min-width: 768px) { /* pc */
	.pc-disp-ib{
		display: inline-block;
	}
	.pc-disp-block{
		display: block;
	}
	.pc-nowrap{
		white-space: nowrap;
	}
	
	div.sustainability-contents a:hover img.alpha{
		opacity: 0.8;
	}
}

.sustainability-contents .textalign-l{
	text-align: left;
}

.sustainability-contents .textalign-r{
	text-align: right;
}

.sustainability-contents .textalign-c{
	text-align: center;
}

.sustainability-contents .color-green01{
	color: #008482;
}

.sustainability-contents .width100per{
	width: 100%;
}

.sustainability-contents .fw-bold{
	font-weight: bold;
}
.sustainability-contents .fw-nomal{
	font-weight: normal;
}
.sustainability-contents .nowrap{
	white-space: nowrap;
}
.sustainability-contents .longurl{
	word-break: break-all;
}

/* layout
---------------------------------------------------------------------------- */
.container-content {
  max-width: 1190px;
  width: 100%;
	margin: 0 auto;
}
@media screen and (min-width: 768px) and (max-width: 1189px) {
	div.container-content {
    padding: 0 3.36vw;
  }
}
@media screen and (min-width: 1190px) {
  div.container-content {
    padding: 0 40px;
  }
}

/* seiction marign */
.sustainability-contents .sec + .sec{ 
	margin-top: 40px;
}

.sustainability-contents .sec-sub + .sec-sub{ 
	margin-top: 40px;
}

.sustainability-contents .sec-sub02{ 
	margin-top: 20px;
}

@media screen and (min-width: 768px){
	div.sustainability-contents .sec + .sec{  
		margin-top: 80px;
	}
	div.sustainability-contents .sec-sub + .sec-sub{ 
		margin-top: 80px;
	}
	div.sustainability-contents .sec-sub02{ 
		margin-top: 40px;
	}
}
	

/* heading
---------------------------------------------------------------------------- */
/* common */
.wrapp-title-page .hgroup { /* h1に副題がある時。pが副題だけど通常h1の仕様 */
	
}

.wrapp-title-page .hgroup p{
	font-size: 1.777777rem;
	margin-bottom: 0.2em;
}

.wrapp-title-page .hgroup h1{
	font-size: 1.438rem; /* 23px */
}

@media screen and (min-width: 768px){
	div.wrapp-title-page .hgroup p{
		font-size: 2.3125rem;
	}
	div.wrapp-title-page .hgroup h1{
		font-size: 1.875rem;
	}
}



.heading-a { /* 下線 */
  position: relative;
  border-bottom: 3px solid #e4e4e4;
  width: 100%;
  display: block;
  margin: 0 0 16px;
  padding: 0 0 13px;
	line-height: 1.8;
}
.heading-a > * {
  margin: 0;
	padding: 0px ;
  display: inline-block;
  font-size: 2rem;
  font-weight: normal;
	color: #008482;
}

.heading-a > *:after {
  content: '';
  position: absolute;
  top: auto;
  bottom: -3px;
  left: 0;
  background: #008482;
  width: 35px;
	height: 3px;
}

@media screen and (min-width: 768px){
	div.heading-a {
		padding: 0 0 20px;
		margin: 0 0 20px;
	}
	div.heading-a > * {
	}
}

.heading-a + .heading-b,
.heading-a + .sec-sub > .heading-b{
	margin-top: 40px;
}

.heading-b { /* 水色背景 */
  background-color: #e0f3f2;
  padding: 0.6em 0.5em 0.5em 0.5em;
	margin-bottom: 16px;
	line-height: 1.6;
}

.heading-b > *{
  margin: 0;
	padding: 0;
  font-size: 1.5rem;
	font-weight: bold;
	color: #333;
	line-height: 1.3;
}

div.heading-b_nobg { /* 背景無し */
  background-color: inherit;
  padding: 0;
}

.heading-c {
  margin-bottom: 0.5em;
}

.heading-c > *,
body .content .page-company-default .container-content .heading-c h4{
  margin: 0;
	padding: 0;
  font-weight: bold;
	font-size: 1.25rem;
}

.heading-d > *,
body .content .page-company-default .container-content .heading-d h5{
  margin: 0;
	padding: 0;
  font-weight: bold;
	font-size: 1rem;
}


/* sub page common
---------------------------------------------------------------------------- */
/* overview */
.sustainability-contents .overview-box{
	
}

.sustainability-contents .overview-box .title-box {
	padding-right: 1em;
	margin-bottom: 1em;
	overflow: hidden;
	border-top: 8px solid #008482;
	
	position: relative;
	z-index: 1;
}

.sustainability-contents .overview-box .title-box h2{
	font-size: 175.00%; /* 28px */
	display: inline-block;
	background-color: #008482;
	color: #fff;
	min-width: 8em;
	position: relative;
	z-index: 1;
	
	margin-top: -6px;
	padding-left: 0.45em;
}

.sustainability-contents .overview-box .title-box h2::before{
	content: "◆"; /* 機種依存文字ではない */
	display: inline-block;
	width: 1.3em;
}

.sustainability-contents .overview-box .title-box h2::after{
	content: " ";
	width:0;
	height:0;
	border-style:solid;
	border-width: 0 100px 100px 100px;
	border-color: transparent transparent #008482 transparent;
	transform-origin:left bottom;
	transform:rotate(-45deg);
	
	position: absolute;
	z-index: 0;
	left: 100%;
	bottom: 0;
}

@media screen and (min-width: 768px) { /* pc */
	div.sustainability-contents .overview-box .title-box h2{
		min-width: 10em;
	}
}

.sustainability-contents .overview-box .inner-sec + .inner-sec{
	margin-top: 2em;
}

/* page index */
.sustainability-contents .page-index-box{
	line-height: 2;
	padding: 24px 0;
	
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
}

.sustainability-contents .page-index-box ul{
	margin: 0;
	padding: 0;
}

.sustainability-contents .page-index-box ul.list-sub{
	margin: 0 0 1em 1.25em;
	padding: 0;
}

.sustainability-contents .page-index-box ul.list-sub a{
	color: #333;
	display: inline-block;
	padding-left: 1em;
	position: relative;
}

.sustainability-contents .page-index-box ul.list-sub a::before{
	content: " ";
	position: absolute;
	top: 0.6em;
	left: -0.1em;
	
	border-top: solid 1px #333;
  border-right: solid 1px #333;
  width: 0.6em;
  height: 0.6em;
  transform: rotate(45deg);
}

.sustainability-contents .page-index-box ul > li:last-child ul.list-sub{
	margin-bottom: 0;
}

@media screen and (min-width: 768px) { /* pc */
	div.sustainability-contents .page-index-box{
		padding: 40px 0;
	}
}

/* sec text */
.sustainability-contents .sec-text-box p + p{
	margin-top: 1em;
}

.sustainability-contents .note-box{
	font-size: 0.75em;
	margin-top: 0.5em;
}

/* sec img */
.img-ib-box {
  display: inline-block;
  text-align: left;
}

/* table */
.sustainability-contents .table-box{
	font-size: 0.75em;
	overflow-wrap: anywhere;
}

.sustainability-contents .table-box table tr td.no-border,
.sustainability-contents .table-box table tr th.no-border{
	border: none;
}

.sustainability-contents .table-box table caption{
	text-align: left;
	font-weight: bold;
}

.sustainability-contents .table-box table{
}

.sustainability-contents .table-box table th,
.sustainability-contents .table-box table td{
	border-collapse: collapse;
	border: 1px solid #008482;
	padding: 0.2em 0.5em;
}

.sustainability-contents .table-box table td.bg-green01,
.sustainability-contents .table-box table th.bg-green01{
	background-color: #008482;
	color: #fff;
	border-right: 1px solid #fff;
}

.sustainability-contents .table-box table td:last-child,
.sustainability-contents .table-box table th:last-child{
	border-right: 1px solid #008482;
}

.sustainability-contents .table-box table th.border-bottom-white{
	border-bottom: 1px solid #fff;
}

.sustainability-contents .table-box table td.border-top-white{
	border-top: 1px solid #fff;
}

.sustainability-contents .table-box table th.border-left-white{
	border-left: 1px solid #fff;
}

.sustainability-contents .table-box table th.border-right-white{
	border-right: 1px solid #fff;
}

.sustainability-contents .table-box table th.border-right-green{
	border-right: 1px solid #008482;
}

.sustainability-contents .table-box table td.border-none,
.sustainability-contents .table-box table th.border-none{
	border: none;
}

.sustainability-contents .table-box table th + td{
}

.sustainability-contents .table-box table td.pd0{
	padding: 0;
}

.sustainability-contents .table-box table .bg-green02{
	background-color: #edf3f2;
}


@media screen and (min-width: 768px) { /* pc */
	div.sustainability-contents .table-box{
		font-size: 1em;
	}
	div.sustainability-contents .table-box table caption{
	}
}

/* list */
.sustainability-contents .basic-list-box{
}

.sustainability-contents .basic-list-box ul,
.sustainability-contents .basic-list-box ol{
	margin-left: inherit;
	padding-left: 40px;
}

.sustainability-contents .basic-list-box ul{
	list-style-type: disc;
}

.sustainability-contents .basic-list-box ol{
	list-style-type: decimal;
}

.sustainability-contents .basic-list-box li{
	list-style: inherit;
	margin-left: inherit;
}

/* list margin-left 0 */
.sustainability-contents .ml0-list-box{
}

.sustainability-contents .ml0-list-box ul li{
	position: relative;
	padding-left: 1em;
}

.sustainability-contents .ml0-list-box ul li::before{
	content: " ";
	display: block;
	background-color: #000;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	position: absolute;
	top: calc(0.9em - 3px - 1px); /* line-height:1.8, Meiryo -1px */
	left: 0;
}

/* list paren, (n)*/
.sustainability-contents ol.paren{
	padding-left: 0;
}
.sustainability-contents ol.paren li {
	list-style-type: none;
	counter-increment: cnt;
	text-indent: -3em;
	padding: 0;
	margin-left: 3em;
}
.sustainability-contents ol.paren li:before {
	display: inline-block;
	text-align: right;
	width: 3em;
	content: "("counter(cnt) ")";
	margin: 0;
	padding-right: 0.5em;
	text-indent: 0;
}


/* link icon */
.sustainability-contents .icon-pdf::after{
	content: url("/jp/sustainability/assets/images/common/icn_pdf.svg");
	display: inline-block;
	margin: 5px 0 0 5px;
	line-height: 1;
	vertical-align: middle;
}

.sustainability-contents .icon-blank::after {
  content: '\f35d';
  margin-left: 5px;
  font-family: "Font Awesome 5 bold";
  font-size: 0.8rem;
}

/* sec flex */
.sustainability-contents .alignitem-center{
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.sustainability-contents .alignitem-end{
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

.sustainability-contents .justify-center{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

/* flex1 */
@media screen and (min-width: 768px) { /* pc */
	div.sustainability-contents .pc-flex-box1{
		display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
		
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	div.sustainability-contents .pc-flex-box1 .item-box{
		-ms-flex-preferred-size: 48%;
		flex-basis: 48%;
	}
}

/* flex pc2sp1 */
.sustainability-contents .pc-flex-box2{
	
}

.sustainability-contents .pc-flex-box2 .item-box + .item-box{
	margin-top: 32px;
}

@media screen and (min-width: 768px) { /* pc */
	div.sustainability-contents .pc-flex-box2{
		display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	}
	div.sustainability-contents .pc-flex-box2 .item-box{
		-ms-flex-preferred-size: 48%;
		flex-basis: 48%;
	}
	div.sustainability-contents .pc-flex-box2 .item-box:nth-child(2){
		margin-top: 0;
	}
}

/* flex pc3sp2 */
.sustainability-contents .flex-box-pc3sp2{
	display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.sustainability-contents .flex-box-pc3sp2 .item-box{
	-ms-flex-preferred-size: 48%;
	flex-basis: 48%;
}

.sustainability-contents .flex-box-pc3sp2 .item-box + .item-box{
	margin-top: 32px;
}

.sustainability-contents .flex-box-pc3sp2 .item-box:nth-child(2){
	margin-top: 0;
}

@media screen and (min-width: 768px) { /* pc */
	div.sustainability-contents .flex-box-pc3sp2{
		
	}
	div.sustainability-contents .flex-box-pc3sp2 .item-box{
		-ms-flex-preferred-size: 32%;
		flex-basis: 32%;
	}
	div.sustainability-contents .flex-box-pc3sp2 .item-box:nth-child(3){
		margin-top: 0;
	}
}


/* assignment list */
.sustainability-contents .assignment-list-box{
	line-height: 1.4;
}

.sustainability-contents .assignment-list-box ul{
	margin: 0;
	padding: 0;
	
	display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
	
	-ms-flex-wrap: wrap;
  flex-wrap: wrap;
	
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.sustainability-contents .assignment-list-box ul li{
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	
	display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}

.sustainability-contents .assignment-list-box ul li + li{
	margin-top: 2%;
}

.sustainability-contents .assignment-list-box ul li a{
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	
	display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
	
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	
	border: 2px solid #008482;
	padding: 0.5em 1em 0.5em 0.5em;
	
	position: relative;
	z-index: 1;
	
	color: #333;
	min-height: 5.2em;
	
	transition: .5s;
}

.sustainability-contents .assignment-list-box ul li a:hover{
	background-color: #a3d1d1;
	border-color: #a3d1d1;
}

.sustainability-contents .assignment-list-box ul li a::before{
	content: " ";
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	
	width: calc(20% - 1.6em);
	height: 90%;
	top: 5%;
	left: 1em;
	
	position: absolute;
	z-index: 0;
}

.sustainability-contents .assignment-list-box ul li a .inner{
	-ms-flex-preferred-size: calc(100% - 20%);
	flex-basis: calc(100% - 20%);
	
	margin-left: auto;
}

.sustainability-contents .assignment-list-box ul li.li01 a::before{
	background-image: url("/jp/sustainability/assets/images/esg_issue/assignment_icon01.svg");
}

.sustainability-contents .assignment-list-box ul li.li02 a::before{
	background-image: url("/jp/sustainability/assets/images/esg_issue/assignment_icon02.svg");
}

.sustainability-contents .assignment-list-box ul li.li03 a::before{
	background-image: url("/jp/sustainability/assets/images/esg_issue/assignment_icon03.svg");
}

.sustainability-contents .assignment-list-box ul li.li04 a::before{
	background-image: url("/jp/sustainability/assets/images/esg_issue/assignment_icon04.svg");
}

.sustainability-contents .assignment-list-box ul li.li05 a::before{
	background-image: url("/jp/sustainability/assets/images/esg_issue/assignment_icon05.svg");
}

.sustainability-contents .assignment-list-box ul li.li06 a::before{
	background-image: url("/jp/sustainability/assets/images/esg_issue/assignment_icon06.svg");
}

.sustainability-contents .assignment-list-box ul li.li07 a::before{
	background-image: url("/jp/sustainability/assets/images/esg_issue/assignment_icon07.svg");
}

.sustainability-contents .assignment-list-box ul li.li08 a::before{
	background-image: url("/jp/sustainability/assets/images/esg_issue/assignment_icon08.svg");
}

.sustainability-contents .assignment-list-box ul li.li09 a::before{
	background-image: url("/jp/sustainability/assets/images/esg_issue/assignment_icon09.svg");
}

@media screen and (min-width: 768px){
	div.sustainability-contents .assignment-list-box ul li{
		-ms-flex-preferred-size: 49%;
		flex-basis: 49%;
	}
	
	div.sustainability-contents .assignment-list-box ul li:nth-child(2){
		margin-top: 0;
	}
}

@media screen and (min-width: 960px){
	div.sustainability-contents .assignment-list-box ul li{
		-ms-flex-preferred-size: 32%;
		flex-basis: 32%;
	}
	
	div.sustainability-contents .assignment-list-box ul li:nth-child(3){
		margin-top: 0;
	}
}

/* green border box */
.sustainability-contents .green-border-box{
	border: 1px solid #008482;
	padding: 16px;
}

/* green border box with title */
.sustainability-contents .green-border-box-with-title{
}

.sustainability-contents .green-border-box-with-title .title-box{ /* heading-c */
	overflow: hidden;
	background-color: #008482;
	color: #fff;
	font-size: 1.25rem;
}

.sustainability-contents .green-border-box-with-title .title-box .title-main{
	padding: 0.5em 16px;
	font-weight: bold;
	float: left;
	font-size: 1em;
}

.sustainability-contents .green-border-box-with-title .title-box .title-sub{
	padding: 0.5em 16px 0.5em 2%;
	float: right;
	display: inline-block;
	background-color: #4ca9a7;
	margin-left: 10%;
	
	position: relative;
	z-index: 1;
}

.sustainability-contents .green-border-box-with-title .title-box .title-sub::before{
	content: " ";
	width:0;
	height:0;
	border-style:solid;
	border-color: transparent transparent #4ca9a7 transparent;
	border-width: 0px 0px 500px 500px;
	position: absolute;
	z-index: 0;
	right: 99.9%;
	top: 0;
}

.sustainability-contents .green-border-box-with-title .border-box{
	padding: 16px;
	border-left: 1px solid #4ca9a7;
	border-right: 1px solid #4ca9a7;
	border-bottom: 1px solid #4ca9a7;
}

@media screen and (min-width: 768px){
	div.sustainability-contents .green-border-box-with-title .title-box .title-sub{
		max-width: 90%;
		padding-left: 3vw;
	}
}

/* green border topics */
.sustainability-contents .green-border-topics-box{
	border: 1px solid #008482;
}
.sustainability-contents .green-border-topics-box .title-box{
	border-bottom: 1px solid #008482;
	font-size: 150.00%; /* 24px */
	font-weight: bold;
}
.sustainability-contents .green-border-topics-box .title-box .icon-box {
	text-align: center;
	padding: 8px 48px 4px 16px;
	max-width: 10em;
	width: 50%;
	background-color: #008482;
	color: #fff;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.sustainability-contents .green-border-topics-box .title-box .icon-box::before{
		content: " ";
		position: absolute;
		top: 0;
		right: 0;
		z-index: 0;
		width: 0;
		
		height: 0;
		border-style: solid;
		border-color: transparent transparent #fff transparent;
		border-width: 0px 0px 10em 10em;
}
.sustainability-contents .green-border-topics-box .title-box .text-box{
	color: #008482;
	padding: 12px 16px 8px;
}

.sustainability-contents .green-border-topics-box .title-box .text-box > *{
	font-weight: bold;
}

.sustainability-contents .green-border-topics-box .inner-padding-box{
	padding: 16px;
}

@media screen and (min-width: 768px){
	div.sustainability-contents .green-border-topics-box .title-box{
		display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
		overflow: hidden;
	}
	
	div.sustainability-contents .green-border-topics-box .title-box .icon-box{
		-ms-flex-preferred-size: 240px;
		flex-basis: 240px;

		padding: 12px 60px 8px 0;
	}
	div.sustainability-contents .green-border-topics-box .title-box .text-box{
		-ms-flex-preferred-size: calc(100% - 240px);
		flex-basis: calc(100% - 240px);
		
		padding: 12px 16px 8px 0;
	}
}


/* photo-link-list-box */ /* esg_environment, esg_employ/human-rights/ */
.photo-link-list-box{}

.photo-link-list-box > ul{
	display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
	-ms-flex-wrap: wrap;
  flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.photo-link-list-box > ul > li{
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	
	display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}

.photo-link-list-box > ul > li + li{
	margin-top: 16px;
}

.photo-link-list-box > ul > li .li-container{
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	
	display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
	
	background-color: #e0f3f2;
	position: relative;
	min-height: 120px;
}
.photo-link-list-box > ul > li .li-container::before{
	content: " ";
	display: block;
	width: 50%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 0;
	
	background-repeat: no-repeat;
	background-position: center right;
	background-size: cover;
}

.photo-link-list-box > ul > li .li-container::before{
	background-color: #ddd; /* default bg */
}

.photo-link-list-box > ul > li .li-container .text-box{
	-ms-flex-preferred-size: 50%;
	flex-basis: 50%;
	
	border-left: solid #008482 8px;
	padding: 16px 8px 16px 16px;
	position: relative;
}

.photo-link-list-box > ul > li .li-container .text-box .title-box{
	font-size: 175.00%; /* 28px */
}

.photo-link-list-box > ul > li a.li-container{ /* single link */
	position: relative;
}
.photo-link-list-box > ul > li a.li-container::after{ /* icon arrow */
	content: " ";
	position: absolute;
	top: calc(50% - 26px);
	right: 4%;
	z-index: 0;
	
	width: 52px;
	height: 52px;
	display: block;
	background-image: url("/jp/sustainability/assets/images/common/icn_link_circle-arrow.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

.photo-link-list-box > ul > li a.li-container:hover::after{
	background-image: url("/jp/sustainability/assets/images/common/icn_link_circle-arrow_on.svg");
}

.photo-link-list-box > ul > li .li-container .text-box ul li{
	margin-top: 0.5em;
}

.photo-link-list-box > ul > li .li-container .text-box a{
	display: block;
	margin-left: 1.8em;
	position: relative;
	font-weight: bold;
}
.photo-link-list-box > ul > li .li-container .text-box a::after{
	content: " ";
	position: absolute;
	top: calc(0.9em - 9px - 1px); /* line-height:1.8;, bg:18px, Meiryo -1px */
	left: -1.8em;
	z-index: 0;
	
	width: 18px;
	height: 18px;
	background-image: url("/jp/sustainability/assets/images/common/icn_arrow_bg-wh.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

.photo-link-list-box > ul > li .li-container .text-box a:hover::after{
	background: url("/jp/sustainability/assets/images/top/icn_arrow_on.svg");
}

.photo-link-list-box > ul > li .li-container .text-box a *{
	text-indent: 0;
	margin-left: 0;
}

/* title a */
.photo-link-list-box > ul > li .li-container .text-box .title-box a {
	font-weight: normal;
	margin: 0;
}
.photo-link-list-box > ul > li .li-container .text-box .title-box a::after {
	display: none;
}

.photo-link-list-box > ul > li .li-container .text-box .title-box a:hover,
.photo-link-list-box > ul > li .li-container .text-box .title-box a:hover * {
	text-decoration: underline;
}

@media screen and (min-width: 768px) { /* pc */
	div.sustainability-contents .photo-link-list-box > ul > li{
		-ms-flex-preferred-size: 48%;
		flex-basis: 48%;
	}
	
	div.sustainability-contents .photo-link-list-box > ul > li + li{
		margin-top: 4%;
	}
	
	div.sustainability-contents .photo-link-list-box > ul > li:nth-child(2){
		margin-top: 0;
	}
	
	div.sustainability-contents .photo-link-list-box > ul > li .li-container{
		min-height: 216px;
	}
}



















	
	
	

/* Below is the original
---------------------------------------------------------------------------- */
.l-content01 {
  width: 1110px;
  margin: 45px auto 100px;
}

.l-content02 {
  width: 1110px;
  margin: 0 auto;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .l-content01 {
    width: 93.2vw;
    margin: 3.78vw auto 8.4vw;
  }
  .l-content02 {
    width: 93.2vw;
  }
}
@media screen and (max-width: 991px) {
  .container-content {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .l-content01 {
    width: 94%;
    margin: 6vw auto 13.33vw;
  }
  .l-content02 {
    width: 100%;
    margin: 0 auto;
  }
}

.m-mh01 {
  font-size: 1.88rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #1d4293;
  padding-left: 40px;
  line-height: 1.2;
  position: relative;
}
.m-mh01::before {
  content: "";
  width: 26px;
  height: 3px;
  background-color: #1d4293;
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  margin: auto;
}

.m-mh02 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #1d4293;
  letter-spacing: 0.1em;
  margin: 0 0 25px;
  line-height: 1.2;
}

.m-sh01 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  margin-bottom: 15px;
}

.m-sh02 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #333333;
  letter-spacing: 0.1em;
  margin: 25px 0 20px;
}

.m-mh01-logo01::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_01_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.m-mh01-logo02::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_02_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.m-mh01-logo03::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_03_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.m-mh01-logo04::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_04_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.m-mh01-logo05::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_05_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.m-mh01-logo06::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_06_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.m-mh01-logo07::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_07_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.m-mh01-logo08::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_08_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.m-mh01-logo09::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_09_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.m-mh01-logo10::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_10_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.m-mh01-logo11::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_11_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.m-mh01-logo12::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_12_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.m-mh01-logo13::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_13_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.m-mh01-logo14::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_14_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.m-mh01-logo15::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_15_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.m-mh01-logo16::after {
  background-image: url(/jp/sustainability/assets/images/sustainability/common/sdg_icon_16_ja_2-290x290.png);
  content: "";
  display: inline-block;
  width: 90px;
  height: 90px;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-mh01 {
    font-size: 2.52vw;
    padding-left: 3.36vw;
  }
  .m-mh01::before {
    width: 2.18vw;
    height: 0.25vw;
  }
  .m-mh02 {
    font-size: 2.35vw;
    margin: 0 0 2.1vw;
  }
  .m-sh01 {
    font-size: 1.51vw;
    margin-bottom: 1.26vw;
  }
  .m-sh02 {
    font-size: 1.68vw;
    margin: 2.1vw 0 1.68vw;
  }
  .m-mh01-logo01::after,
.m-mh01-logo02::after,
.m-mh01-logo03::after,
.m-mh01-logo04::after,
.m-mh01-logo05::after,
.m-mh01-logo06::after,
.m-mh01-logo07::after,
.m-mh01-logo08::after,
.m-mh01-logo09::after,
.m-mh01-logo10::after,
.m-mh01-logo11::after,
.m-mh01-logo12::after,
.m-mh01-logo13::after .m-mh01-logo14::after .m-mh01-logo15::after .m-mh01-logo16::after {
    width: 7.56vw;
    height: 7.56vw;
    margin: 0 0 0 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .m-mh01 {
    font-size: 6vw;
    padding-left: 8vw;
  }
  .m-mh01::before {
    width: 5.2vw;
    height: 0.6vw;
  }
  .m-mh02 {
    font-size: 5.6vw;
    margin: 0 0 5vw;
  }
  .m-sh01 {
    font-size: 3.6vw;
    margin-bottom: 3vw;
  }
  .m-sh02 {
    font-size: 4.8vw;
    line-height: 1.5;
    margin: 5vw 0 4vw;
  }
  .m-mh01-logo01::after,
.m-mh01-logo02::after,
.m-mh01-logo03::after,
.m-mh01-logo04::after,
.m-mh01-logo05::after,
.m-mh01-logo06::after,
.m-mh01-logo07::after,
.m-mh01-logo08::after,
.m-mh01-logo09::after,
.m-mh01-logo10::after,
.m-mh01-logo11::after,
.m-mh01-logo12::after,
.m-mh01-logo13::after,
.m-mh01-logo14::after,
.m-mh01-logo15::after,
.m-mh01-logo16::after {
    width: 18vw;
    height: 18vw;
    margin: 0 0 0 3vw;
  }
}
.m-mb01 {
  font-size: 1.32188rem;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.08em;
  margin-top: 20px;
  padding-bottom: 3px;
  border-bottom: 2px solid #96a7cd;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-mb01 {
    font-size: 1.76vw;
    margin-top: 1.68vw;
    padding-bottom: 0.25vw;
    border-bottom: 0.16vw solid #96a7cd;
  }
}
@media screen and (max-width: 767px) {
  .m-mb01 {
    font-size: 4.23vw;
    line-height: 1.9;
    margin-top: 4vw;
    padding-bottom: 0.6vw;
  }
}
.m-txt01 {
  font-size: 1.13rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.56;
  margin: 20px 0 0;
  color: #333333;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-txt01 {
    font-size: 1.51vw;
    margin: 1.68vw 0 0;
  }
}
@media screen and (max-width: 767px) {
  .m-txt01 {
    font-size: 3.6vw;
    margin: 4vw 0 0;
  }
}
.m-list01 {
  padding-left: 1em;
  text-indent: -1em;
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: 0.08em;
  line-height: 1.7;
  color: #333333;
}

.m-list02 {
  padding-left: 1em;
  text-indent: -1em;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 0.08em;
  line-height: 1.7;
  color: #333333;
}

.m-list03 {
  font-weight: 400;
  font-size: 0.88rem;
  letter-spacing: 0.08em;
  line-height: 1.7;
  color: #333333;
  padding-left: 0;
}

.m-list-bg {
  background: #e6edf2;
  padding: 0 30px 15px;
}

.m-list-line {
  border-top: 2px solid #d7d8d8;
  padding-top: 15px;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-list01 {
    font-size: 1.68vw;
  }
  .m-list02 {
    font-size: 1.34vw;
  }
  .m-list03 {
    font-size: 1.17vw;
  }
}
@media screen and (max-width: 767px) {
  .m-list01 {
    font-size: 4vw;
  }
  .m-list02 {
    font-size: 3.4vw;
  }
  .m-list03 {
    font-size: 3.4666666667vw;
    padding-left: 0;
    line-height: 1.5;
  }
}
.m-text-index {
  padding-left: 1em;
  text-indent: -1em;
}

/* 主なリスクと機会
  ---------------------------------------------------------------------------- */
.m-risk-box {
  margin: 80px 0 0;
}

.m-risk-box-cont {
  margin: 45px 0 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  justify-content: space-between;
}

.m-risk-box-cont-det {
  width: 535px;
  border: 1px solid #e6e6e6;
  padding: 40px 15px 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}

.m-risk-box-cont-det-ttl {
  position: absolute;
  width: 90px;
  left: 0;
  right: 0;
  top: -15px;
  margin: auto;
  border: 1px solid #333333;
  text-align: center;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #333333;
}

.m-risk-box-cont-det-ttl span {
  background-color: #fff;
  width: 90px;
  display: inline-block;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-risk-box {
    margin: 6.72vw 0 0;
  }
  .m-risk-box-cont {
    margin: 3.78vw 0 0;
  }
  .m-risk-box-cont-det {
    width: 44.95vw;
    padding: 3.36vw 1.26vw 1.68vw;
  }
  .m-risk-box-cont-det-ttl {
    width: 7.56vw;
    top: -1.26vw;
    font-size: 1.68vw;
  }
  .m-risk-box-cont-det-ttl span {
    width: 7.56vw;
  }
}
@media screen and (max-width: 767px) {
  .m-risk-box {
    margin: 12vw 0 0;
  }
  .m-risk-box-cont {
    margin: 9vw 0 0;
    display: block;
  }
  .m-risk-box-cont-det {
    width: 100%;
    padding: 8vw 2.93vw 4vw;
  }
  .m-risk-box-cont-det:last-child {
    margin: 9vw 0 0;
  }
  .m-risk-box-cont-det-ttl {
    width: 18vw;
    top: -3vw;
    font-size: 4vw;
  }
  .m-risk-box-cont-det-ttl span {
    width: 17.8vw;
  }
}
/* 信越化学グループのアプローチ
  ---------------------------------------------------------------------------- */
.m-group-box {
  margin: 80px 0 0;
}

.m-group-box-ttl01 {
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #333333;
  margin: 25px 0 0;
}

.m-group-box-txt01 {
  font-size: 1.313rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #1d4293;
  background-color: #e6edf2;
  padding: 20px 20px;
  margin: 20px 0 0;
  line-height: 1.43;
}

.m-group-box-ttl02 {
  font-size: 1.32rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #333333;
  margin: 40px 0 15px;
  padding: 0 0 10px;
  border-bottom: 2px solid #869ac5;
}

.m-group-box-table {
  width: 100%;
  margin: 30px 0 0;
}

.m-group-box-table th {
  text-align: center;
  padding: 10px;
  color: #ffffff;
  background-color: #1d4293;
  font-size: 1rem;
  font-weight: 700;
  border: 1px solid #d7d8d8;
}

.m-group-box-table td {
  padding: 15px;
  border: 1px solid #d7d8d8;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.m-group-box-txt02 {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 0.88rem;
  letter-spacing: 0.08em;
  line-height: 1.71;
  color: #333333;
  margin: 25px 0 0;
  font-weight: 400;
}

.m-group-box-list {
  font-size: 1.13rem;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-group-box {
    margin: 6.72vw 0 0;
  }
  .m-group-box-ttl01 {
    font-size: 1.68vw;
    margin: 2.1vw 0 0;
  }
  .m-group-box-txt01 {
    font-size: 1.76vw;
    padding: 1.68vw;
    margin: 1.68vw 0 0;
  }
  .m-group-box-ttl02 {
    font-size: 1.76vw;
    margin: 3.36vw 0 1.26vw;
    padding: 0 0 0.84vw;
    border-bottom: 0.16vw solid #869ac5;
  }
  .m-group-box-table {
    margin: 2.52vw 0 0;
  }
  .m-group-box-table th {
    padding: 0.84vw;
    font-size: 1.34vw;
  }
  .m-group-box-table td {
    padding: 1.26vw;
    font-size: 1.34vw;
  }
  .m-group-box-txt02 {
    font-size: 1.17vw;
    margin: 2.1vw 0 0;
  }
  .m-group-box-list {
    font-size: 1.51vw;
  }
}
@media screen and (max-width: 767px) {
  .m-group-box {
    margin: 12vw 0 0;
  }
  .m-group-box-ttl01 {
    font-size: 4vw;
    margin: 5vw 0 0;
  }
  .m-group-box-txt01 {
    font-size: 4.2vw;
    padding: 4vw 3vw;
    margin: 4vw 0 0;
    line-height: 1.5;
  }
  .m-group-box-ttl02 {
    font-size: 4.8vw;
    margin: 8vw 0 4vw;
    padding: 0 0 2vw;
  }
  .m-group-box-table-wrap {
    overflow-x: auto;
    white-space: nowrap;
  }
  .m-group-box-table {
    width: 200%;
    margin: 4vw 0 0;
  }
  .m-group-box-table th {
    padding: 2vw;
    font-size: 3.4vw;
  }
  .m-group-box-table td {
    font-size: 3.4vw;
  }
  .m-group-box-txt02 {
    font-size: 2.8vw;
    margin: 5vw 0 0;
  }
  .m-group-box-list {
    font-size: 3.6vw;
  }
}
/* 課題の認識
  ---------------------------------------------------------------------------- */
.p-nobg-txt01 {
  font-weight: 400;
  font-size: 1.13rem;
  padding: 35px 25px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
}

.p-nobg-txt01-detail {
  letter-spacing: 0.08em;
  line-height: 1.56;
  margin: 0 0 25px;
  color: #333333;
}

.p-nobg-txt01-detail:last-child {
  margin: 0;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .p-nobg-txt01 {
    font-size: 1.51vw;
    padding: 2.94vw 2.1vw 0;
  }
  .p-nobg-txt01-detail {
    margin: 0 0 2.1vw;
  }
}
@media screen and (max-width: 767px) {
  .p-nobg-txt01 {
    font-size: 3.6vw;
    padding: 5vw 5vw 0;
    margin: 0;
  }
  .p-nobg-txt01-detail {
    margin: 0 0 5vw;
  }
}
/* 活動実績
  ---------------------------------------------------------------------------- */
.m-results-box {
  margin: 80px 0 0;
}

.m-results-box-inner {
  margin: 10px 0 0;
  padding: 25px 15px 25px;
  background-color: #f5f7fa;
  border: 1px solid #dbe1ef;
  letter-spacing: 0.08em;
}

.m-results-box-link01 {
  font-size: 1.25rem;
  font-weight: 500;
}

.m-results-box-link01 a {
  color: #1d4293;
  display: block;
  position: relative;
}

.m-results-box-link01 a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 14px;
  height: 14px;
  border-top: 3px solid #1d4293;
  border-right: 3px solid #1d4293;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.m-results-box-list {
  font-weight: 500;
  font-size: 1.13rem;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
  justify-content: flex-start;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
  align-items: stretch;
  margin: 10px 0 0;
}

.m-results-box-list li {
  width: 260px;
  background-color: #ffffff;
  margin: 10px 12px 0 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
  line-height: 1.44;
}

.m-results-box-list li:nth-child(4n) {
  margin: 10px 0 0;
}

.m-results-box-list li a {
  color: #1d4293;
  display: block;
  position: relative;
  width: 260px;
  padding: 12px 0 12px 20px;
}

.m-results-box-list li a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 8px;
  height: 8px;
  border-top: 2px solid #1d4293;
  border-right: 2px solid #1d4293;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-results-box {
    margin: 6.72vw 0 0;
  }
  .m-results-box-inner {
    margin: 0.84vw 0 0;
    padding: 2.1vw 1.26vw;
  }
  .m-results-box-link01 {
    font-size: 1.68vw;
  }
  .m-results-box-link01 a::before {
    right: 0.42vw;
    width: 1.17vw;
    height: 1.17vw;
    border-top: 0.25vw solid #1d4293;
    border-right: 0.25vw solid #1d4293;
  }
  .m-results-box-list {
    font-size: 1.51vw;
    margin: 0.84vw 0 0;
  }
  .m-results-box-list li {
    width: 21.8vw;
    margin: 0.84vw 1vw 0 0;
  }
  .m-results-box-list li:nth-child(4n) {
    margin: 0.84vw 0 0;
  }
  .m-results-box-list li a {
    width: 21.8vw;
    padding: 1vw 0 1vw 1.68vw;
  }
  .m-results-box-list li a::before {
    right: 1.68vw;
    width: 0.67vw;
    height: 0.67vw;
    border-top: 0.16vw solid #1d4293;
    border-right: 0.16vw solid #1d4293;
  }
}
@media screen and (max-width: 767px) {
  .m-results-box {
    margin: 12vw 0 0;
  }
  .m-results-box-inner {
    margin: 2vw 0 0;
    padding: 5vw 3vw 5vw;
  }
  .m-results-box-link01 {
    font-size: 4vw;
  }
  .m-results-box-link01 a::before {
    right: 3vw;
    width: 1.8vw;
    height: 1.8vw;
    border-top: 2px solid #1d4293;
    border-right: 2px solid #1d4293;
  }
  .m-results-box-list {
    font-size: 3.6vw;
    display: block;
    margin: 6vw 0 0;
  }
  .m-results-box-list li {
    width: 100%;
    margin: 2vw 0 0;
    padding: 4vw 3vw;
  }
  .m-results-box-list li a {
    width: 100%;
    padding: 0;
  }
  .m-results-box-list li a::before {
    width: 1.8vw;
    height: 1.8vw;
    right: 0;
  }
}
/* 社員の取り組み
  ---------------------------------------------------------------------------- */
.m-torikumi-box-inner {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  justify-content: space-between;
  padding: 30px;
  margin: 25px 0 0;
  background-color: #e6edf2;
  font-weight: 500;
  color: #333333;
}

.m-torikumi-box-blok {
  background-color: #e6edf2;
  padding: 0 30px 20px;
}

.m-torikumi-box-column {
  background-color: #e6edf2;
  padding: 30px;
  margin: 25px 0 0;
}

.m-torikumi-box-column-item {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  justify-content: space-between;
  font-weight: 500;
  color: #333333;
}

.m-torikumi-box-area {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  justify-content: space-between;
}

.m-torikumi-box-area-txt {
  width: 660px;
}

.m-torikumi-box-area-img {
  width: 350px;
  margin-top: 25px;
}

.m-torikumi-box-area-img img {
  width: 100%;
}

.m-torikumi-box-img-box {
  width: 230px;
}

.m-torikumi-box-txt {
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin: 5px 0 0;
}

.m-torikumi-box-txt span {
  font-weight: 700;
}

.m-torikumi-box-detail {
  width: 760px;
}

.m-torikumi-box-detail-ttl {
  font-size: 1.31rem;
  color: #1d4293;
  letter-spacing: 0.08em;
  font-weight: 500;
}

.m-torikumi-box-detail-txt {
  font-size: 1.13rem;
  color: #333333;
  letter-spacing: 0.08em;
  line-height: 1.56;
  margin: 20px 0 0;
}

.m-torikumi-box-detail-txt span {
  font-weight: 700;
}

.m-torikumi-box-notice {
  background-color: #e6edf2;
}

.m-torikumi-box-notice-txt {
  font-size: 0.875rem;
  font-weight: 400;
  color: #333333;
  letter-spacing: 0.08em;
  line-height: 1.7;
  border-top: 1px solid #999999;
  width: 95%;
  margin: 0 auto;
  padding: 20px 0 25px;
}

.m-torikumi-box-list-wrap {
  display: block;
  margin: 0;
  padding-top: 0;
}

.m-torikumi-box-list {
  padding-top: 15px;
  border-top: 2px solid #999999;
}

.p-blue-txt01 {
  color: #1d4293;
}

.m-torikumi-img-box {
  margin: 35px 0 0;
}

.m-torikumi-img {
  text-align: center;
}

.m-torikumi-img-txt {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.1em;
  margin: 20px 0 0;
  color: #333333;
}

.m-torikumi-box-item {
  background-color: #e6edf2;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-torikumi-box-inner {
    padding: 2.52vw;
    margin: 2.1vw 0 0;
  }
  .m-torikumi-box-blok {
    padding: 0 2.52vw 2.52vw;
  }
  .m-torikumi-box-column {
    padding: 2.52vw;
    margin: 2.1vw 0 0;
  }
  .m-torikumi-box-area-txt {
    width: 55.4vw;
  }
  .m-torikumi-box-area-img {
    width: 29.4vw;
    margin-top: 2.1vw;
  }
  .m-torikumi-box-img-box {
    width: 19.3vw;
  }
  .m-torikumi-box-txt {
    font-size: 1.34vw;
    margin: 0.42vw 0 0;
  }
  .m-torikumi-box-detail {
    width: 63.8vw;
  }
  .m-torikumi-box-detail-ttl {
    font-size: 1.76vw;
  }
  .m-torikumi-box-detail-txt {
    font-size: 1.51vw;
    margin: 1.68vw 0 0;
  }
  .m-torikumi-box-notice-txt {
    font-size: 1.17vw;
    padding: 1.68vw 0 2.1vw;
  }
  .m-torikumi-box-list {
    padding-top: 1.26vw;
    border-top: 0.16vw solid #999999;
  }
  .m-torikumi-img-box {
    margin: 2.94vw 0 0;
  }
  .m-torikumi-img-txt {
    font-size: 1.68vw;
    margin: 1.68vw 0 0;
  }
}
@media screen and (max-width: 767px) {
  .m-torikumi-box-inner {
    display: block;
    padding: 6vw;
    margin: 5vw 0 0;
  }
  .m-torikumi-box-blok {
    padding: 0 6vw 6vw;
  }
  .m-torikumi-box-column {
    padding: 6vw;
    margin: 5vw 0 0;
  }
  .m-torikumi-box-column-item {
    display: block;
  }
  .m-torikumi-box-area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .m-torikumi-box-area-txt {
    width: 100%;
  }
  .m-torikumi-box-area-img {
    width: 100%;
    margin-top: 5vw;
  }
  .m-torikumi-box-area-img img {
    width: 100%;
  }
  .m-torikumi-box-img-box {
    width: 100%;
  }
  .m-torikumi-box-img img {
    width: 100%;
  }
  .m-torikumi-box-txt {
    font-size: 3.2vw;
    margin: 1vw 0 0;
  }
  .m-torikumi-box-detail {
    width: 100%;
    margin: 8vw 0 0;
  }
  .m-torikumi-box-detail-ttl {
    font-size: 4.2vw;
    line-height: 1.2;
  }
  .m-torikumi-box-detail-txt {
    font-size: 3.6vw;
    margin: 4vw 0 0;
  }
  .m-torikumi-box-notice-txt {
    font-size: 2.8vw;
    padding: 4vw 0 5vw;
  }
  .m-torikumi-img-box {
    margin: 7vw 0 0;
  }
  .m-torikumi-img img {
    width: 100%;
  }
  .m-torikumi-img-txt {
    font-size: 4vw;
    margin: 4vw 0 0;
  }
}
/* ESGの重要課題（ページ下部にある緑のリンク）
  ---------------------------------------------------------------------------- */
.m-esg-box {
  margin: 80px 0 0;
}

.m-esg-box-list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
  justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
  align-items: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  letter-spacing: 0.08em;
}

.m-esg-box-list li {
  width: 545px;
  margin: 20px 20px 0 0;
  background-color: #51b5ae;
}

.m-esg-box-list li a {
  display: block;
  color: #ffffff;
  font-size: 1.13rem;
  padding: 20px 20px 20px 45px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-weight: 500;
  position: relative;
}

.m-esg-box-list li a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 8px;
  height: 8px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.m-esg-box-list li a:first-child {
  padding: 25px 20px 25px 45px;
}

.m-esg-box-list li a span {
  font-size: 1.25rem;
  display: inline-block;
  margin: 0 35px 0 0;
}

.m-esg-box-list li:first-child {
  width: 100%;
}

.m-esg-box-list li:nth-child(2n+1) {
  margin: 20px 0 0 0;
}

.m-esg-box-list li:hover {
  background-color: #00a88f;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-esg-box {
    margin: 6.72vw 0 0;
  }
  .m-esg-box-list li {
    width: 45.79vw;
    margin: 1.68vw 1.68vw 0 0;
  }
  .m-esg-box-list li a {
    font-size: 1.51vw;
    padding: 1.68vw 1.68vw 1.68vw 3.78vw;
  }
  .m-esg-box-list li a::before {
    right: 1.68vw;
    width: 0.67vw;
    height: 0.67vw;
    border-top: 0.16vw solid #ffffff;
    border-right: 0.16vw solid #ffffff;
  }
  .m-esg-box-list li a:first-child {
    padding: 2.1vw 1.68vw 2.1vw 3.78vw;
  }
  .m-esg-box-list li a span {
    font-size: 1.68vw;
    margin: 0 2.94vw 0 0;
  }
  .m-esg-box-list li:nth-child(2n+1) {
    margin: 1.68vw 0 0 0;
  }
}
@media screen and (max-width: 767px) {
  .m-esg-box {
    margin: 12vw 0 0;
  }
  .m-esg-box-list {
    display: block;
  }
  .m-esg-box-list li {
    width: 100%;
    margin: 4vw 0 0 0;
    line-height: 1.5;
  }
  .m-esg-box-list li a {
    font-size: 3.6vw;
  }
  .m-esg-box-list li a::before {
    right: 4vw;
    width: 1.8vw;
    height: 1.8vw;
  }
  .m-esg-box-list li a:first-child {
    padding: 5vw 10vw 5vw 5vw;
  }
  .m-esg-box-list li a span {
    display: block;
    font-size: 4vw;
  }
  .m-esg-box-list li:nth-child(2n+1) {
    margin: 4vw 0 0 0;
  }
}
.m-gray-txt01 {
  font-weight: 400;
  font-size: 1.13rem;
  background-color: #e6edf2;
  padding: 30px 25px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 30px 0 0;
}

.m-gray-txt01-detail {
  letter-spacing: 0.08em;
  line-height: 1.56;
  margin: 0 0 25px;
  color: #333333;
}

.m-gray-txt01-detail:last-child {
  margin: 0;
}

.m-gray-txt01-detail-mh {
  color: #1d4293;
  font-weight: 700;
  font-size: 1.25rem;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-gray-txt01 {
    font-size: 1.51vw;
    padding: 2.52vw 2.1vw;
    margin: 2.52vw 0 0;
  }
  .m-gray-txt01-detail {
    margin: 0 0 2.1vw;
  }
  .m-gray-txt01-detail-mh {
    font-size: 1.68vw;
  }
}
@media screen and (max-width: 767px) {
  .m-gray-txt01 {
    font-size: 3.6vw;
    padding: 5vw;
    margin: 6vw 0 0;
  }
  .m-gray-txt01-detail {
    margin: 0 0 5vw;
  }
  .m-gray-txt01-detail:last-child {
    margin: 0;
  }
  .m-gray-txt01-detail-mh {
    font-size: 4vw;
  }
}
.m-text-link01 {
  font-weight: 500;
  font-size: 1.13rem;
  margin: 10px 0 0;
}

.m-text-link01 a {
  color: #1d4293;
  position: relative;
  padding: 0 0 0 20px;
}

.m-text-link01 a::before {
  position: absolute;
  top: 7px;
  left: 0;
  content: "";
  vertical-align: middle;
  width: 8px;
  height: 8px;
  border-top: 2px solid #1d4293;
  border-right: 2px solid #1d4293;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-text-link01 {
    font-size: 1.51vw;
    margin: 0.84vw 0 0;
  }
  .m-text-link01 a {
    padding: 0 0 0 1.68vw;
  }
  .m-text-link01 a::before {
    top: 0.58vw;
    width: 0.67vw;
    height: 0.67vw;
    border-top: 0.16vw solid #1d4293;
    border-right: 0.16vw solid #1d4293;
  }
}
@media screen and (max-width: 767px) {
  .m-text-link01 {
    font-size: 3.6vw;
    margin: 2vw 0 0;
    line-height: 1.36;
  }
  .m-text-link01 a {
    padding: 0 0 0 4vw;
  }
  .m-text-link01 a::before {
    width: 1.8vw;
    height: 1.8vw;
    margin: inherit;
    top: 0.8vw;
  }
  .m-text-link01-pdf img {
    width: 3.5vw;
  }
}
.m-img-box01 {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.m-img-box01-detail {
  margin: 40px 0 0 30px;
  width: 350px;
}

.m-img-box01-detail:first-child {
  margin: 40px 0 0 0;
}

.m-img-box01-txt {
  font-weight: 500;
  text-align: center;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #3a3a3a;
  margin: 10px 0 0;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-img-box01-detail {
    margin: 3.36vw 0 0 2.52vw;
    width: 29.4vw;
  }
  .m-img-box01-detail:first-child {
    margin: 3.36vw 0 0 0;
  }
  .m-img-box01-txt {
    font-size: 1.34vw;
    margin: 0.84vw 0 0;
  }
}
@media screen and (max-width: 767px) {
  .m-img-box01 {
    display: block;
  }
  .m-img-box01-detail {
    margin: 8vw 0 0 0;
    width: 100%;
  }
  .m-img-box01-detail:first-child {
    margin: 8vw 0 0 0;
  }
  .m-img-box01-img img {
    width: 100%;
  }
  .m-img-box01-txt {
    font-size: 3.2vw;
    margin: 3vw 0 0;
  }
}
.m-cont-box {
  margin: 80px 0 0;
}

.m-cont-box02 {
  margin: 60px 0 0;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-cont-box {
    margin: 6.72vw 0 0;
  }
  .m-cont-box02 {
    margin: 5vw 0 0;
  }
}
@media screen and (max-width: 767px) {
  .m-cont-box {
    margin: 12vw 0 0;
  }
  .m-cont-box02 {
    margin: 12vw 0 0;
  }
}
.m-table01 {
  width: 100%;
  margin: 30px 0 0;
  letter-spacing: 0.1em;
}

.m-table01 th {
  text-align: center;
  padding: 12px;
  color: #ffffff;
  background-color: #1d4293;
  font-size: 1rem;
  font-weight: 700;
  border: 1px solid #d7d8d8;
}

.m-table01 td {
  padding: 12px;
  border: 1px solid #d7d8d8;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #3a3a3a;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-table01 {
    margin: 2.52vw 0 0;
  }
  .m-table01 th {
    padding: 1vw;
    font-size: 1.34vw;
  }
  .m-table01 td {
    padding: 1vw;
    font-size: 1.34vw;
  }
}
@media screen and (max-width: 767px) {
  .m-table-wrap01 {
    overflow-x: auto;
    white-space: nowrap;
  }
  .m-table01 {
    width: 200%;
    margin: 4vw 0 0;
  }
  .m-table01 th {
    padding: 3vw;
    font-size: 3.6vw;
  }
  .m-table01 td {
    font-size: 3.6vw;
    padding: 3vw;
  }
}
/* ESGの重要課題の特定
  ---------------------------------------------------------------------------- */
.m-issue-process-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 30px 0 0;
  width: 100%;
}

.m-issue-process-box-inner {
  margin: 10px 5px 0;
  width: calc(33.3333333333% - 12px);
  background-color: rgba(204, 235, 233, 0.4);
  border: 1px solid #dbe1ef;
  letter-spacing: 0.08em;
}

.m-issue-process-box-link01 {
  font-size: 1.25rem;
  font-weight: 500;
}

.m-issue-process-box-link01 a {
  color: #333333;
  display: block;
  position: relative;
  font-weight: 600;
  line-height: 1.56;
  height: 89px;
  position: relative;
  font-size: 1rem;
}

.m-issue-process-box-link01 a span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  padding-left: 30px;
}

.m-issue-process-icon a {
  color: #009b94 !important;
  font-weight: 500;
  font-size: 1.25rem;
  height: 72px;
}

.m-issue-process-icon a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 14px;
  height: 14px;
  border-top: 3px solid #009b94;
  border-right: 3px solid #009b94;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-issue-process-box {
    margin: 2.52vw 0 0;
  }
  .m-issue-process-box-inner {
    margin: 0.84vw 0.42vw 0;
    width: calc(33.3333333333% - 1vw);
  }
  .m-issue-process-box-link01 {
    font-size: 1.68vw;
  }
  .m-issue-process-box-link01 a {
    height: 7.47vw;
    font-size: 1.34vw;
  }
  .m-issue-process-box-link01 a span {
    padding-left: 2.52vw;
  }
  .m-issue-process-icon a {
    font-size: 1.68vw;
    height: 6vw;
  }
  .m-issue-process-icon a::before {
    right: 1.68vw;
    width: 1.17vw;
    height: 1.17vw;
    border-top: 0.25vw solid #009b94;
    border-right: 0.25vw solid #009b94;
  }
}
@media screen and (max-width: 767px) {
  .m-issue-process-box {
    margin: 5.3333333333vw 0 0;
  }
  .m-issue-process-box-inner {
    width: 100%;
  }
  .m-issue-process-box-link01 {
    font-size: 5.3333333333vw;
  }
  .m-issue-process-box-link01 a {
    height: 23.7333333333vw;
    font-size: 4.2666666667vw;
  }
  .m-issue-process-box-link01 a span {
    padding: 5.3333333333vw;
  }
  .m-issue-process-icon a {
    font-size: 5.3333333333vw;
    height: 19.2vw;
  }
  .m-issue-process-icon a::before {
    right: 5.3333333333vw;
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    border-top: 0.8vw solid #009b94;
    border-right: 0.8vw solid #009b94;
  }
}
/* ページ内リンク
  ---------------------------------------------------------------------------- */
.m-page-link {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
  justify-content: flex-start;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
  align-items: stretch;
}

.m-page-link li {
  width: 270px;
  margin: 0 10px 10px 0;
  font-weight: 500;
  font-size: 1.13rem;
  background-color: #f5f7fa;
  border-bottom: 3px solid #1d4293;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  line-height: 1.44;
}

.m-page-link li a {
  color: #1d4293;
  display: block;
  border: 1px solid #dbe1ef;
  border-bottom: none;
  width: 100%;
  padding: 0 0 0 20px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 60px;
}

.m-page-link li a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 8px;
  height: 8px;
  border-top: 2px solid #1d4293;
  border-right: 2px solid #1d4293;
  -webkit-transform: rotate(133deg);
  transform: rotate(133deg);
}

.m-page-link li:nth-child(4n) {
  margin: 0 0 10px 0;
}

.m-page-link li .m-page-link-2-line {
  padding: 3px 0 3px 20px;
}

.m-page-link-sub {
  background: #fff !important;
  border-bottom: 1px solid #dbe1ef !important;
}

.m-page-link-sub a {
  color: #333 !important;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-page-link li {
    width: 22vw;
    margin: 0 0.84vw 0.84vw 0;
    font-size: 1.51vw;
    border-bottom: 0.25vw solid #1d4293;
  }
  .m-page-link li a {
    padding: 0 0 0 1.68vw;
    height: 5vw;
  }
  .m-page-link li a::before {
    right: 1.26vw;
    width: 0.67vw;
    height: 0.67vw;
    border-top: 0.16vw solid #1d4293;
    border-right: 0.16vw solid #1d4293;
  }
  .m-page-link li:nth-child(4n) {
    margin: 0 0 0.84vw 0;
  }
  .m-page-link li .m-page-link-2-line {
    padding: 0.25vw 0 0.25vw 1.68vw;
  }
}
@media screen and (max-width: 767px) {
  .m-page-link {
    display: block;
  }
  .m-page-link li {
    width: 100%;
    margin: 0 0 2vw 0;
    font-size: 3.6vw;
  }
  .m-page-link li a {
    padding: 4vw 0 4vw 4vw;
    height: inherit;
  }
  .m-page-link li a::before {
    width: 1.8vw;
    height: 1.8vw;
    right: 3vw;
  }
  .m-page-link li .m-page-link-2-line {
    padding: 4vw 0 4vw 4vw;
  }
}
.m-mv-img img {
  width: 100%;
}

/* タイトル サブ
  ---------------------------------------------------------------------------- */
.m-title-sub {
  font-size: 2rem;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-title-sub {
    font-size: 2.68vw;
  }
}
@media screen and (max-width: 767px) {
  .m-title-sub {
    font-size: 6.4vw;
  }
}
/* ページナビリンク
  ---------------------------------------------------------------------------- */
.m-nav-link {
  width: 1110px;
  margin: 45px auto 50px;
  font-size: 1.125rem;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
  align-items: stretch;
  line-height: 1.5;
}

.m-nav-link li {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
  min-height: 50px;
  border-bottom: solid 3px #fff;
}

.m-nav-link li:hover {
  border-bottom: solid 3px #009B94;
}

.m-nav-link li a {
  color: #333333;
  width: 320px;
  text-align: center;
  padding: 10px;
}

.m-nav-link-active {
  border-bottom: solid 3px #009B94 !important;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-nav-link {
    width: 93.2vw;
    margin: 3.7vw auto 4.2vw;
    font-size: 1.51vw;
  }
  .m-nav-link li {
    min-height: 4.2vw;
    border-bottom: solid 0.25vw #fff;
  }
  .m-nav-link li:hover {
    border-bottom: solid 0.25vw #009B94;
  }
  .m-nav-link li a {
    width: 26.89vw;
    padding: 0.84vw;
  }
  .m-nav-link-active {
    border-bottom: solid 0.25vw #009B94 !important;
  }
}
@media screen and (max-width: 767px) {
  .m-nav-link {
    width: 94%;
    margin: 9vw auto 10vw;
    font-size: 3.6vw;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    line-height: 1.5;
  }
  .m-nav-link li {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
    justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
    align-items: flex-start;
    min-height: auto;
  }
  .m-nav-link li a {
    width: 100%;
    text-align: left;
    padding: 2vw;
  }
  .m-nav-link li + li {
    margin-top: 4vw;
  }
}
.m-bg {
  background-color: rgba(204, 235, 233, 0.6) !important;
}

.m-bold {
  font-weight: bold;
}

/* レイアウト
---------------------------------------------------------------------------- */
.l-content {
  max-width: 1180px;
  width: 100%;
  margin: 0 auto;
  padding: 0 40px;
}

@media screen and (max-width: 1279px) and (min-width: 768px) {
  .l-content {
    max-width: 92.1vw;
    padding: 0 3.125vw;
  }
}
@media screen and (max-width: 767px) {
  .l-content {
    padding: 0 5.3333333333vw;
  }
}
/* common
---------------------------------------------------------------------------- */
/* 共通
---------------------------------------------------------------------------- */
.l-content,
.container-content {
  max-width: 1190px;
  width: 100%;
  padding: 0 40px;
}

.header .header-inner {
  max-width: 100%;
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .l-content,
.container-content {
    padding: 0 3.36vw !important;
  }
}
@media screen and (max-width: 767px) {
  .l-content,
.container-content {
    padding: 0 5.3333333333vw !important;
  }
}
/* タイトル系
---------------------------------------------------------------------------- */
.m-mh {
  margin-bottom: 30px;
}

.m-mh-en {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.1875;
  font-weight: bold;
  font-family: "Montserrat", sans-serif;
  color: #1d4293;
  padding-left: 22px;
  margin-bottom: 12px;
  background: url(../../images/common/icn_mh.svg) no-repeat center left/14px;
}

.m-mh-ja {
  display: block;
  font-size: 2.5rem;
  line-height: 1.5;
  font-weight: 400;
}

.m-ttl {
  color: #1d4293;
  font-size: 1.875rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin: 75px 0 20px;
  position: relative;
  padding-left: 50px;
}
.m-ttl::before {
  position: absolute;
  top: 50%;
  left: 0;
  content: "";
  width: 30px;
  height: 3px;
  background: #1d4293;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.m-mv {
  background-color: rgba(204, 235, 233, 0.6);
  padding: 28px 0;
}

.m-mv-ttl {
  font-size: 2.3125rem;
  line-height: 1.3513513514;
  letter-spacing: 0.1em;
  font-weight: 400;
}
.m-mv-ttl span {
  font-size: 1.875rem;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 400;
}

@media screen and (max-width: 1279px) and (min-width: 768px) {
  .m-mh {
    margin-bottom: 2.3vw;
  }
  .m-mh-en {
    font-size: 1.25vw;
    padding-left: 1.7vw;
    margin-bottom: 0.93vw;
    background: url(../../images/common/icn_mh.svg) no-repeat center left/1.09vw;
  }
  .m-mh-ja {
    font-size: 3.125vw;
  }
  .m-ttl {
    font-size: 2.52vw;
    margin: 6.3vw 0 1.68vw;
    padding-left: 5.3333333333vw;
  }
  .m-ttl::before {
    width: 4vw;
    height: 0.2666666667vw;
  }
  .m-mv {
    padding: 2.18vw 0;
  }
  .m-mv-ttl {
    font-size: 2.89vw;
  }
  .m-mv-ttl span {
    font-size: 2.34vw;
  }
}
@media screen and (max-width: 767px) {
  .m-mh {
    margin-bottom: 4vw;
  }
  .m-mh-en {
    font-size: 4.2666666667vw;
    padding-left: 5.8666666667vw;
    margin-bottom: 2.1333333333vw;
    background: url(../../images/common/icn_mh.svg) no-repeat center left/3.7333333333vw;
  }
  .m-mh-ja {
    font-size: 6.9333333333vw;
    line-height: 1.3;
  }
  .m-ttl {
    font-size: 5.6vw;
    margin: 13.3333333333vw 0 5.3333333333vw;
    line-height: 1.3;
    padding-left: 10.6666666667vw;
  }
  .m-ttl::before {
    width: 8vw;
    height: 0.8vw;
  }
  .m-mv {
    padding: 4vw 0;
  }
  .m-mv-ttl {
    font-size: 6.6666666667vw;
  }
  .m-mv-ttl span {
    font-size: 5.3333333333vw;
  }
}
/* テキスト系
---------------------------------------------------------------------------- */
.m-txt01 {
  font-size: 1.25rem;
  line-height: 1.8;
  font-weight: 400;
}

.m-txt02 {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 400;
}

@media screen and (max-width: 1279px) and (min-width: 768px) {
  .m-txt01 {
    font-size: 1.56vw;
  }
  .m-txt02 {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .m-txt01 {
    font-size: 4.2666666667vw;
    line-height: 1.75;
  }
  .m-txt02 {
    font-size: 4.2666666667vw;
  }
}
/* ボタン系
---------------------------------------------------------------------------- */
.m-btn01-wrap {
  margin-top: 40px;
}

.m-btn01 {
  display: inline-block;
  border: 1px solid #1d4293;
  border-radius: 30px;
  width: 230px;
  padding: 15px 0 15px 50px;
  background: #fff url(../../images/common/icn_btn_blue.svg) no-repeat center right 13px/12px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.m-btn01:hover {
  color: #fff;
  background: #1d4293 url(../../images/common/icn_btn_white.svg) no-repeat center right 13px/12px;
}

@media screen and (max-width: 1279px) and (min-width: 768px) {
  .m-btn01-wrap {
    margin-top: 3.125vw;
  }
  .m-btn01 {
    border-radius: 2.34vw;
    width: 17.9vw;
    padding: 1.17vw 0 1.17vw 3.9vw;
    background: #fff url(../../images/common/icn_btn_blue.svg) no-repeat center right 1vw/0.93vw;
  }
  .m-btn01:hover {
    background: #1d4293 url(../../images/common/icn_btn_white.svg) no-repeat center right 1vw/0.93vw;
  }
}
@media screen and (max-width: 767px) {
  .m-btn01-wrap {
    margin-top: 5.3333333333vw;
  }
  .m-btn01 {
    border-radius: 8vw;
    width: 61.3333333333vw;
    padding: 2.6666666667vw 0 2.6666666667vw 13.3333333333vw;
    background: #fff url(../../images/common/icn_btn_blue.svg) no-repeat center right 3.4666666667vw/3.2vw;
  }
  .m-btn01:hover {
    background: #1d4293 url(../../images/common/icn_btn_white.svg) no-repeat center right 3.4666666667vw/3.2vw;
  }
}
/* パーツ系
---------------------------------------------------------------------------- */
.m-anchor {
  background: #fff;
  padding: 45px 0 40px;
}

.m-anchor-ttl {
  font-size: 1.375rem;
  line-height: 1.2727272727;
  letter-spacing: 0.08em;
  font-weight: bold;
  color: #1d4293;
}

.m-anchor-list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  margin-top: 15px;
}

.m-anchor-list-item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 270px;
          flex: 0 0 270px;
}

.m-anchor-list-item-link {
  display: block;
  font-size: 1.125rem;
  line-height: 1.4444444444;
  letter-spacing: 0.08em;
  font-weight: 400;
  color: #1d4293;
  background: #F5F7FA;
  border: 1px solid #DBE1EF;
  border-bottom: 4px solid #1d4293;
  padding: 15px 15px 15px 20px;
  position: relative;
}
.m-anchor-list-item-link::after {
  position: absolute;
  content: "";
  right: 15px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 2px solid #1d4293;
  border-bottom: 2px solid #1d4293;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 1189px) and (min-width: 768px) {
  .m-anchor {
    padding: 3.78vw 0 3.36vw;
  }
  .m-anchor-ttl {
    font-size: 1.84vw;
  }
  .m-anchor-list {
    margin-top: 1.26vw;
  }
  .m-anchor-list-item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 22.6vw;
            flex: 0 0 22.6vw;
  }
  .m-anchor-list-item-link {
    font-size: 1.5vw;
    border-bottom: 0.33vw solid #1d4293;
    padding: 1.26vw 1.26vw 1.26vw 1.68vw;
  }
  .m-anchor-list-item-link::after {
    right: 1.26vw;
    width: 0.75vw;
    height: 0.75vw;
    border-right: 0.16vw solid #1d4293;
    border-bottom: 0.16vw solid #1d4293;
  }
}
@media screen and (max-width: 767px) {
  .m-anchor {
    padding: 12vw 0 w(80);
  }
  .m-anchor-ttl {
    font-size: 5.6vw;
  }
  .m-anchor-list {
    display: block;
    margin-top: 4vw;
  }
  .m-anchor-list-item {
    width: 100%;
  }
  .m-anchor-list-item + li {
    margin-top: 4vw;
  }
  .m-anchor-list-item-link {
    font-size: 4.8vw;
    border-bottom: 1.0666666667vw solid #1d4293;
    padding: 4vw 4vw 4vw 5.3333333333vw;
  }
  .m-anchor-list-item-link::after {
    right: 4vw;
    width: 2.4vw;
    height: 2.4vw;
    border-right: 0.5333333333vw solid #1d4293;
    border-bottom: 0.5333333333vw solid #1d4293;
  }
}
/* module
---------------------------------------------------------------------------- */
/* RWD表示切り替え
---------------------------------------------------------------------------- */
@media all and (min-width: 768px) {
  .nopc {
    display: none !important;
  }
}
@media all and (max-width: 767px) {
  .nosp {
    display: none !important;
  }
}
.fwb {
  font-weight: bold;
}

/* フォントサイズ
---------------------------------------------------------------------------- */
.fs50 {
  font-size: 5rem !important;
}

.fs49 {
  font-size: 4.9rem !important;
}

.fs48 {
  font-size: 4.8rem !important;
}

.fs47 {
  font-size: 4.7rem !important;
}

.fs46 {
  font-size: 4.6rem !important;
}

.fs45 {
  font-size: 4.5rem !important;
}

.fs44 {
  font-size: 4.4rem !important;
}

.fs43 {
  font-size: 4.3rem !important;
}

.fs42 {
  font-size: 4.2rem !important;
}

.fs41 {
  font-size: 4.1rem !important;
}

.fs40 {
  font-size: 4rem !important;
}

.fs39 {
  font-size: 3.9rem !important;
}

.fs38 {
  font-size: 3.8rem !important;
}

.fs37 {
  font-size: 3.7rem !important;
}

.fs36 {
  font-size: 3.6rem !important;
}

.fs35 {
  font-size: 3.5rem !important;
}

.fs34 {
  font-size: 3.4rem !important;
}

.fs33 {
  font-size: 3.3rem !important;
}

.fs32 {
  font-size: 3.2rem !important;
}

.fs31 {
  font-size: 3.1rem !important;
}

.fs30 {
  font-size: 3rem !important;
}

.fs29 {
  font-size: 2.9rem !important;
}

.fs28 {
  font-size: 2.8rem !important;
}

.fs27 {
  font-size: 2.7rem !important;
}

.fs26 {
  font-size: 2.6rem !important;
}

.fs25 {
  font-size: 2.5rem !important;
}

.fs24 {
  font-size: 2.4rem !important;
}

.fs23 {
  font-size: 2.3rem !important;
}

.fs22 {
  font-size: 2.2rem !important;
}

.fs21 {
  font-size: 2.1rem !important;
}

.fs20 {
  font-size: 2rem !important;
}

.fs19 {
  font-size: 1.9rem !important;
}

.fs18 {
  font-size: 1.8rem !important;
}

.fs17 {
  font-size: 1.7rem !important;
}

.fs16 {
  font-size: 1.6rem !important;
}

.fs15 {
  font-size: 1.5rem !important;
}

.fs14 {
  font-size: 1.4rem !important;
}

.fs13 {
  font-size: 1.3rem !important;
}

.fs12 {
  font-size: 1.2rem !important;
}

.fs11 {
  font-size: 1.1rem !important;
}

.fs10 {
  font-size: 1rem !important;
}

.fs9 {
  font-size: 0.9rem !important;
}

.fs8 {
  font-size: 0.8rem !important;
}

.fs7 {
  font-size: 0.7rem !important;
}

.fs6 {
  font-size: 0.6rem !important;
}

@media screen and (max-width: 767px) {
  .spfs50 {
    font-size: 6.6666666667vw !important;
  }
  .spfs49 {
    font-size: 6.5333333333vw !important;
  }
  .spfs48 {
    font-size: 6.4vw !important;
  }
  .spfs47 {
    font-size: 6.2666666667vw !important;
  }
  .spfs46 {
    font-size: 6.1333333333vw !important;
  }
  .spfs45 {
    font-size: 6vw !important;
  }
  .spfs44 {
    font-size: 5.8666666667vw !important;
  }
  .spfs43 {
    font-size: 5.7333333333vw !important;
  }
  .spfs42 {
    font-size: 5.6vw !important;
  }
  .spfs41 {
    font-size: 5.4666666667vw !important;
  }
  .spfs40 {
    font-size: 5.3333333333vw !important;
  }
  .spfs39 {
    font-size: 5.2vw !important;
  }
  .spfs38 {
    font-size: 5.0666666667vw !important;
  }
  .spfs37 {
    font-size: 4.9333333333vw !important;
  }
  .spfs36 {
    font-size: 4.8vw !important;
  }
  .spfs35 {
    font-size: 4.6666666667vw !important;
  }
  .spfs34 {
    font-size: 4.5333333333vw !important;
  }
  .spfs33 {
    font-size: 4.4vw !important;
  }
  .spfs32 {
    font-size: 4.2666666667vw !important;
  }
  .spfs31 {
    font-size: 4.1333333333vw !important;
  }
  .spfs30 {
    font-size: 4vw !important;
  }
  .spfs29 {
    font-size: 3.8666666667vw !important;
  }
  .spfs28 {
    font-size: 3.7333333333vw !important;
  }
  .spfs27 {
    font-size: 3.6vw !important;
  }
  .spfs26 {
    font-size: 3.4666666667vw !important;
  }
  .spfs25 {
    font-size: 3.3333333333vw !important;
  }
  .spfs24 {
    font-size: 3.2vw !important;
  }
  .spfs23 {
    font-size: 3.0666666667vw !important;
  }
  .spfs22 {
    font-size: 2.9333333333vw !important;
  }
  .spfs21 {
    font-size: 2.8vw !important;
  }
  .spfs20 {
    font-size: 2.6666666667vw !important;
  }
  .spfs19 {
    font-size: 2.5333333333vw !important;
  }
  .spfs18 {
    font-size: 2.4vw !important;
  }
  .spfs17 {
    font-size: 2.2666666667vw !important;
  }
  .spfs16 {
    font-size: 2.1333333333vw !important;
  }
  .spfs15 {
    font-size: 2vw !important;
  }
  .spfs14 {
    font-size: 1.8666666667vw !important;
  }
  .spfs13 {
    font-size: 1.7333333333vw !important;
  }
  .spfs12 {
    font-size: 1.6vw !important;
  }
  .spfs11 {
    font-size: 1.4666666667vw !important;
  }
  .spfs10 {
    font-size: 1.3333333333vw !important;
  }
  .spfs9 {
    font-size: 1.2vw !important;
  }
  .spfs8 {
    font-size: 1.0666666667vw !important;
  }
  .spfs7 {
    font-size: 0.9333333333vw !important;
  }
  .spfs6 {
    font-size: 0.8vw !important;
  }
}
/* clearfix
---------------------------------------------------------------------------- */
.clearfix {
  zoom: 1;
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

/* テキスト
---------------------------------------------------------------------------- */
.tal {
  text-align: left !important;
}

.tac {
  text-align: center !important;
}

.tar {
  text-align: right !important;
}

.fwb {
  font-weight: bold !important;
}

.text-indent {
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (max-width: 767px) {
  .sptal {
    text-align: left !important;
  }
  .sptac {
    text-align: center !important;
  }
  .sptar {
    text-align: right !important;
  }
  .spfwb {
    font-weight: bold !important;
  }
}
/* マージン
---------------------------------------------------------------------------- */
.mt100 {
  margin-top: 100px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.ml100 {
  margin-left: 100px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.ml95 {
  margin-left: 95px !important;
}

.mr95 {
  margin-right: 95px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.ml85 {
  margin-left: 85px !important;
}

.mr85 {
  margin-right: 85px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.ml75 {
  margin-left: 75px !important;
}

.mr75 {
  margin-right: 75px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.ml65 {
  margin-left: 65px !important;
}

.mr65 {
  margin-right: 65px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mt0 {
  margin-top: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.ml0 {
  margin-left: 0px !important;
}

.mr0 {
  margin-right: 0px !important;
}

@media screen and (max-width: 767px) {
  .spmt100 {
    margin-top: 13.3333333333vw !important;
  }
  .spmb100 {
    margin-bottom: 13.3333333333vw !important;
  }
  .spml100 {
    margin-left: 13.3333333333vw !important;
  }
  .spmr100 {
    margin-right: 13.3333333333vw !important;
  }
  .spmt95 {
    margin-top: 12.6666666667vw !important;
  }
  .spmb95 {
    margin-bottom: 12.6666666667vw !important;
  }
  .spml95 {
    margin-left: 12.6666666667vw !important;
  }
  .spmr95 {
    margin-right: 12.6666666667vw !important;
  }
  .spmt90 {
    margin-top: 12vw !important;
  }
  .spmb90 {
    margin-bottom: 12vw !important;
  }
  .spml90 {
    margin-left: 12vw !important;
  }
  .spmr90 {
    margin-right: 12vw !important;
  }
  .spmt85 {
    margin-top: 11.3333333333vw !important;
  }
  .spmb85 {
    margin-bottom: 11.3333333333vw !important;
  }
  .spml85 {
    margin-left: 11.3333333333vw !important;
  }
  .spmr85 {
    margin-right: 11.3333333333vw !important;
  }
  .spmt80 {
    margin-top: 10.6666666667vw !important;
  }
  .spmb80 {
    margin-bottom: 10.6666666667vw !important;
  }
  .spml80 {
    margin-left: 10.6666666667vw !important;
  }
  .spmr80 {
    margin-right: 10.6666666667vw !important;
  }
  .spmt75 {
    margin-top: 10vw !important;
  }
  .spmb75 {
    margin-bottom: 10vw !important;
  }
  .spml75 {
    margin-left: 10vw !important;
  }
  .spmr75 {
    margin-right: 10vw !important;
  }
  .spmt70 {
    margin-top: 9.3333333333vw !important;
  }
  .spmb70 {
    margin-bottom: 9.3333333333vw !important;
  }
  .spml70 {
    margin-left: 9.3333333333vw !important;
  }
  .spmr70 {
    margin-right: 9.3333333333vw !important;
  }
  .spmt65 {
    margin-top: 8.6666666667vw !important;
  }
  .spmb65 {
    margin-bottom: 8.6666666667vw !important;
  }
  .spml65 {
    margin-left: 8.6666666667vw !important;
  }
  .spmr65 {
    margin-right: 8.6666666667vw !important;
  }
  .spmt60 {
    margin-top: 8vw !important;
  }
  .spmb60 {
    margin-bottom: 8vw !important;
  }
  .spml60 {
    margin-left: 8vw !important;
  }
  .spmr60 {
    margin-right: 8vw !important;
  }
  .spmt55 {
    margin-top: 7.3333333333vw !important;
  }
  .spmb55 {
    margin-bottom: 7.3333333333vw !important;
  }
  .spml55 {
    margin-left: 7.3333333333vw !important;
  }
  .spmr55 {
    margin-right: 7.3333333333vw !important;
  }
  .spmt50 {
    margin-top: 6.6666666667vw !important;
  }
  .spmb50 {
    margin-bottom: 6.6666666667vw !important;
  }
  .spml50 {
    margin-left: 6.6666666667vw !important;
  }
  .spmr50 {
    margin-right: 6.6666666667vw !important;
  }
  .spmt45 {
    margin-top: 6vw !important;
  }
  .spmb45 {
    margin-bottom: 6vw !important;
  }
  .spml45 {
    margin-left: 6vw !important;
  }
  .spmr45 {
    margin-right: 6vw !important;
  }
  .spmt40 {
    margin-top: 5.3333333333vw !important;
  }
  .spmb40 {
    margin-bottom: 5.3333333333vw !important;
  }
  .spml40 {
    margin-left: 5.3333333333vw !important;
  }
  .spmr40 {
    margin-right: 5.3333333333vw !important;
  }
  .spmt35 {
    margin-top: 4.6666666667vw !important;
  }
  .spmb35 {
    margin-bottom: 4.6666666667vw !important;
  }
  .spml35 {
    margin-left: 4.6666666667vw !important;
  }
  .spmr35 {
    margin-right: 4.6666666667vw !important;
  }
  .spmt30 {
    margin-top: 4vw !important;
  }
  .spmb30 {
    margin-bottom: 4vw !important;
  }
  .spml30 {
    margin-left: 4vw !important;
  }
  .spmr30 {
    margin-right: 4vw !important;
  }
  .spmt25 {
    margin-top: 3.3333333333vw !important;
  }
  .spmb25 {
    margin-bottom: 3.3333333333vw !important;
  }
  .spml25 {
    margin-left: 3.3333333333vw !important;
  }
  .spmr25 {
    margin-right: 3.3333333333vw !important;
  }
  .spmt20 {
    margin-top: 2.6666666667vw !important;
  }
  .spmb20 {
    margin-bottom: 2.6666666667vw !important;
  }
  .spml20 {
    margin-left: 2.6666666667vw !important;
  }
  .spmr20 {
    margin-right: 2.6666666667vw !important;
  }
  .spmt15 {
    margin-top: 2vw !important;
  }
  .spmb15 {
    margin-bottom: 2vw !important;
  }
  .spml15 {
    margin-left: 2vw !important;
  }
  .spmr15 {
    margin-right: 2vw !important;
  }
  .spmt10 {
    margin-top: 1.3333333333vw !important;
  }
  .spmb10 {
    margin-bottom: 1.3333333333vw !important;
  }
  .spml10 {
    margin-left: 1.3333333333vw !important;
  }
  .spmr10 {
    margin-right: 1.3333333333vw !important;
  }
  .spmt5 {
    margin-top: 0.6666666667vw !important;
  }
  .spmb5 {
    margin-bottom: 0.6666666667vw !important;
  }
  .spml5 {
    margin-left: 0.6666666667vw !important;
  }
  .spmr5 {
    margin-right: 0.6666666667vw !important;
  }
  .spmt0 {
    margin-top: 0vw !important;
  }
  .spmb0 {
    margin-bottom: 0vw !important;
  }
  .spml0 {
    margin-left: 0vw !important;
  }
  .spmr0 {
    margin-right: 0vw !important;
  }
}
/* パディング
---------------------------------------------------------------------------- */
.pt100 {
  padding-top: 100px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.pl100 {
  padding-left: 100px !important;
}

.pr100 {
  padding-right: 100px !important;
}

.pt95 {
  padding-top: 95px !important;
}

.pb95 {
  padding-bottom: 95px !important;
}

.pl95 {
  padding-left: 95px !important;
}

.pr95 {
  padding-right: 95px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pl90 {
  padding-left: 90px !important;
}

.pr90 {
  padding-right: 90px !important;
}

.pt85 {
  padding-top: 85px !important;
}

.pb85 {
  padding-bottom: 85px !important;
}

.pl85 {
  padding-left: 85px !important;
}

.pr85 {
  padding-right: 85px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pl80 {
  padding-left: 80px !important;
}

.pr80 {
  padding-right: 80px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.pl75 {
  padding-left: 75px !important;
}

.pr75 {
  padding-right: 75px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pl70 {
  padding-left: 70px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.pl65 {
  padding-left: 65px !important;
}

.pr65 {
  padding-right: 65px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pl55 {
  padding-left: 55px !important;
}

.pr55 {
  padding-right: 55px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.pr0 {
  padding-right: 0px !important;
}

@media screen and (max-width: 767px) {
  .sppt100 {
    padding-top: 13.3333333333vw !important;
  }
  .sppb100 {
    padding-bottom: 13.3333333333vw !important;
  }
  .sppl100 {
    padding-left: 13.3333333333vw !important;
  }
  .sppr100 {
    padding-right: 13.3333333333vw !important;
  }
  .sppt95 {
    padding-top: 12.6666666667vw !important;
  }
  .sppb95 {
    padding-bottom: 12.6666666667vw !important;
  }
  .sppl95 {
    padding-left: 12.6666666667vw !important;
  }
  .sppr95 {
    padding-right: 12.6666666667vw !important;
  }
  .sppt90 {
    padding-top: 12vw !important;
  }
  .sppb90 {
    padding-bottom: 12vw !important;
  }
  .sppl90 {
    padding-left: 12vw !important;
  }
  .sppr90 {
    padding-right: 12vw !important;
  }
  .sppt85 {
    padding-top: 11.3333333333vw !important;
  }
  .sppb85 {
    padding-bottom: 11.3333333333vw !important;
  }
  .sppl85 {
    padding-left: 11.3333333333vw !important;
  }
  .sppr85 {
    padding-right: 11.3333333333vw !important;
  }
  .sppt80 {
    padding-top: 10.6666666667vw !important;
  }
  .sppb80 {
    padding-bottom: 10.6666666667vw !important;
  }
  .sppl80 {
    padding-left: 10.6666666667vw !important;
  }
  .sppr80 {
    padding-right: 10.6666666667vw !important;
  }
  .sppt75 {
    padding-top: 10vw !important;
  }
  .sppb75 {
    padding-bottom: 10vw !important;
  }
  .sppl75 {
    padding-left: 10vw !important;
  }
  .sppr75 {
    padding-right: 10vw !important;
  }
  .sppt70 {
    padding-top: 9.3333333333vw !important;
  }
  .sppb70 {
    padding-bottom: 9.3333333333vw !important;
  }
  .sppl70 {
    padding-left: 9.3333333333vw !important;
  }
  .sppr70 {
    padding-right: 9.3333333333vw !important;
  }
  .sppt65 {
    padding-top: 8.6666666667vw !important;
  }
  .sppb65 {
    padding-bottom: 8.6666666667vw !important;
  }
  .sppl65 {
    padding-left: 8.6666666667vw !important;
  }
  .sppr65 {
    padding-right: 8.6666666667vw !important;
  }
  .sppt60 {
    padding-top: 8vw !important;
  }
  .sppb60 {
    padding-bottom: 8vw !important;
  }
  .sppl60 {
    padding-left: 8vw !important;
  }
  .sppr60 {
    padding-right: 8vw !important;
  }
  .sppt55 {
    padding-top: 7.3333333333vw !important;
  }
  .sppb55 {
    padding-bottom: 7.3333333333vw !important;
  }
  .sppl55 {
    padding-left: 7.3333333333vw !important;
  }
  .sppr55 {
    padding-right: 7.3333333333vw !important;
  }
  .sppt50 {
    padding-top: 6.6666666667vw !important;
  }
  .sppb50 {
    padding-bottom: 6.6666666667vw !important;
  }
  .sppl50 {
    padding-left: 6.6666666667vw !important;
  }
  .sppr50 {
    padding-right: 6.6666666667vw !important;
  }
  .sppt45 {
    padding-top: 6vw !important;
  }
  .sppb45 {
    padding-bottom: 6vw !important;
  }
  .sppl45 {
    padding-left: 6vw !important;
  }
  .sppr45 {
    padding-right: 6vw !important;
  }
  .sppt40 {
    padding-top: 5.3333333333vw !important;
  }
  .sppb40 {
    padding-bottom: 5.3333333333vw !important;
  }
  .sppl40 {
    padding-left: 5.3333333333vw !important;
  }
  .sppr40 {
    padding-right: 5.3333333333vw !important;
  }
  .sppt35 {
    padding-top: 4.6666666667vw !important;
  }
  .sppb35 {
    padding-bottom: 4.6666666667vw !important;
  }
  .sppl35 {
    padding-left: 4.6666666667vw !important;
  }
  .sppr35 {
    padding-right: 4.6666666667vw !important;
  }
  .sppt30 {
    padding-top: 4vw !important;
  }
  .sppb30 {
    padding-bottom: 4vw !important;
  }
  .sppl30 {
    padding-left: 4vw !important;
  }
  .sppr30 {
    padding-right: 4vw !important;
  }
  .sppt25 {
    padding-top: 3.3333333333vw !important;
  }
  .sppb25 {
    padding-bottom: 3.3333333333vw !important;
  }
  .sppl25 {
    padding-left: 3.3333333333vw !important;
  }
  .sppr25 {
    padding-right: 3.3333333333vw !important;
  }
  .sppt20 {
    padding-top: 2.6666666667vw !important;
  }
  .sppb20 {
    padding-bottom: 2.6666666667vw !important;
  }
  .sppl20 {
    padding-left: 2.6666666667vw !important;
  }
  .sppr20 {
    padding-right: 2.6666666667vw !important;
  }
  .sppt15 {
    padding-top: 2vw !important;
  }
  .sppb15 {
    padding-bottom: 2vw !important;
  }
  .sppl15 {
    padding-left: 2vw !important;
  }
  .sppr15 {
    padding-right: 2vw !important;
  }
  .sppt10 {
    padding-top: 1.3333333333vw !important;
  }
  .sppb10 {
    padding-bottom: 1.3333333333vw !important;
  }
  .sppl10 {
    padding-left: 1.3333333333vw !important;
  }
  .sppr10 {
    padding-right: 1.3333333333vw !important;
  }
  .sppt5 {
    padding-top: 0.6666666667vw !important;
  }
  .sppb5 {
    padding-bottom: 0.6666666667vw !important;
  }
  .sppl5 {
    padding-left: 0.6666666667vw !important;
  }
  .sppr5 {
    padding-right: 0.6666666667vw !important;
  }
  .sppt0 {
    padding-top: 0vw !important;
  }
  .sppb0 {
    padding-bottom: 0vw !important;
  }
  .sppl0 {
    padding-left: 0vw !important;
  }
  .sppr0 {
    padding-right: 0vw !important;
  }
}
/* print
---------------------------------------------------------------------------- */
/* 印刷設定
---------------------------------------------------------------------------- */
@media print {
  * html body {
    zoom: 70%;
  }
}