/*sustainability.css*/

p {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0;
}

p.sub_title {
  font-size: 18px;
}

.one_column_cont h2 {
  letter-spacing: 0;
}

.one_column_cont h3:after {
  border: 3px solid #0072C1;
}

.one_column_cont h3 {
  background: none;
}

.one_column_cont.sustainability_cont {
  padding-bottom: 20px;
}

.sustainability_cont h2 p {
  display: inline-block;
  background: #fff;
  font-size: 16px;
  font-weight: 600;
  padding: 2px 10px 4px 10px;
  margin-left: 10px;
  line-height: 1.2;
}

.sustainability_cont h2 p>span {
  color: #bb1b21;
}

.sustainability_cont h2 p>span>span {
  font-size: 24px;
}

.mb5{
  margin-bottom: 5px;
}

.w5p {
  width: 5%;
}
.w10p {
  width: 10%;
}
.w15p {
  width: 15%;
}
.w20p {
  width: 20%;
}
.w25p {
  width: 25%;
}
.w30p {
  width: 30%;
}
.w35p {
  width: 35%;
}
.w40p {
  width: 40%;
}
.w45p {
  width: 45%;
}
.w50p {
  width: 50%;
}
.w55p {
  width: 55%;
}
.w60p {
  width: 60%;
}
.w65p {
  width: 65%;
}
.w70p {
  width: 70%;
}
.w75p {
  width: 75%;
}
.w80p {
  width: 80%;
}
.w85p {
  width: 85%;
}
.w90p {
  width: 90%;
}
.w95p {
  width: 95%;
}

ul.itemization {
  margin-bottom: 30px;
}
ul.itemization li {
  font-size: 16px;
  font-weight: 600;
}
ul.itemization li.non_bold {
  font-weight: normal !important;
}
.indent10 {
  padding-left: 10px;
}
.indent20 {
  padding-left: 20px;
}
.indent30 {
  padding-left: 30px;
}
.indent40 {
  padding-left: 40px;
}
.indent50 {
  padding-left: 50px;
}
.indent60 {
  padding-left: 60px;
}

.img_right , .img_left {
  display: flex;
  justify-content: space-between;
}
.img_right img {
  margin-left: 20px;
}
.img_left img {
  margin-right: 20px;
}

.text_img {
  font-weight: 600;
  font-size: 18px;
  margin-bottom: 30px;
}

.link_text li {
  padding: 10px;
  letter-spacing: 1px;
  font-size: 16px;
  position: relative;
}
.link_text li a {
  font-weight: 600;
  color: #0074bf;
  border-bottom: solid 1px #0074bf;
  position: absolute;
}
.link_text li a::before {
  content: "";
  width: 8px;
  height: 8px;
  display: inline-block;
  margin: auto;
  box-sizing: border-box;
  border: 6px solid transparent;
  border-left: 10px solid #0074bf;
}

.link_text_c li {
  padding: 10px;
  letter-spacing: 1px;
  font-size: 18px;
  padding-left: 340px;
  position: relative;
}
.link_text_c li a {
  font-weight: 600;
  color: #0074bf;
  border-bottom: solid 1px #0074bf;
  position: absolute;
}
.link_text_c li a::before {
  content: "";
  width: 8px;
  height: 8px;
  display: inline-block;
  margin: auto;
  box-sizing: border-box;
  border: 6px solid transparent;
  border-left: 10px solid #0074bf;
}

/* color="#0074bf" */
/* color="#b3d3ea" */

/* color="#75bd01" */
/* color="#d5ebb2" */

/* color="#ffbe00" */
/* color="#fff2cc" */

/* color="#92c0cf" */

/* color="#6451e1" */
/* color="#d0caf6" */


/*---------------------------------------------
TOP(ページ)
---------------------------------------------*/

.sustainability_top01 {
  background-image: url(/assets/smc_img/about/sustainability/ja-jp/images/top02_1.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 450px;
  margin-bottom: 50px;
  padding: 20px 0 15px 0;
  position: relative;
}
.sustainability_top01>h1{
  color: #fff;
  font-size: 38px;
  font-weight: bold;
  margin: 0;
  margin-left: 20px;
}
.sustainability_top01>div {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
}

.sustainability_top02 {
  background-image: url(/assets/smc_img/about/sustainability/ja-jp/images/top03.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 305px;
  margin-bottom: 50px;
  padding: 10px 0 15px 0;
  position: relative;
}
.sustainability_top02>h1{
  color: #fff;
  font-size: 38px;
  font-weight: bold;
  margin: 0;
  margin-left: 650px;
}
.sustainability_top02>div {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-end;
}

.sustainability_top03 {
  background-image: url(/assets/smc_img/about/sustainability/ja-jp/images/top04.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 305px;
  margin-bottom: 50px;
  padding: 10px 0 15px 0;
  position: relative;
}
.sustainability_top03>h1{
  color: #fff;
  font-size: 38px;
  font-weight: bold;
  margin: 0;
  margin-left: 20px;
}
.sustainability_top03>div {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
}

.sustainability_top04 {
  background-image: url(/assets/smc_img/about/sustainability/ja-jp/images/top05.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 250px;
  margin-bottom: 50px;
  padding: 10px 0 15px 0;
  position: relative;
}
.sustainability_top04>h1{
  color: #fff;
  font-size: 38px;
  font-weight: bold;
  margin: 0;
  margin-left: 650px;
}
.sustainability_top04>div {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-end;
}

.sustainability_top05 {
  background-image: url(/assets/smc_img/about/sustainability/ja-jp/images/top06.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 250px;
  margin-bottom: 50px;
  padding: 10px 0 15px 0;
  position: relative;
}
.sustainability_top05>h1{
  color: #fff;
  font-size: 38px;
  font-weight: bold;
  margin: 0;
  margin-left: 20px;
}
.sustainability_top05>div {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
}

.sustainability_top06 {
  background-image: url(/assets/smc_img/about/sustainability/ja-jp/images/top07.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 180px;
  margin-bottom: 50px;
  padding: 10px 0 15px 0;
  position: relative;
}
.sustainability_top06>h1{
  color: #fff;
  font-size: 34px;
  font-weight: bold;
  margin: 0;
  margin-left: 650px;
}
.sustainability_top06>div {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-end;
}



/*---------------------------------------------
sustainability(ページ)
---------------------------------------------*/

h3.top_message {
  margin-top: 10px;
  margin-bottom: 0;
  padding: 0;
  color: #0072C1;
  font-weight: 600;
  font-size: 30px;
}

p.text_title {
  font-size: 60px;
  margin-bottom: 40px;
}

div.portrait_textbox {
  height: 752px;
}
div.portrait_textbox img.portrait {
  float: left;
}
div.portrait_textbox div.text_box {
  display: flex;
  flex-flow: column;
  height: 100%;
  justify-content: space-between;
}
div.portrait_textbox p.text_body {
  line-height: 2.2;
  margin-left: 30px;
  margin-top: -10px;
  letter-spacing: 0.3px;
}
div.portrait_textbox p.ruby {
  display: grid;
  margin-left: 30px;
  margin-bottom: 10px;
  width: 52px;
  text-align: center;
}
div.portrait_textbox p.ruby img.sign {
  max-width: 264px;
  margin-top: 15px;
}

 p.ruby1 {
  text-align: left;
 padding-left:30px;

}

.clause {
  margin-bottom: 40px;
}
.clause h3 {
  padding: 0;
  color: #0072C1;
  font-weight: 600;
  margin-bottom: 0;
line-height:24px;
}

.clause_sub {
  margin-bottom: 20px;
}

span.example {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 3px;
}

ul.example {
  margin-bottom: 15px;
  margin-top: 5px;
}
ul.example li {
  font-size: 16px;
  font-weight: 600;
}
ul.example li.subhead {
  margin-bottom: 4px;
}
ul.example li.indent {
  padding-left: 15px;
  font-weight: normal !important;
}
ul.example li.indent_bold {
  padding-left: 15px;
  margin-top: 10px;
  margin-bottom: 5px;
}

p.text_end {
  line-height: 2;
}
p.text_sign {
  line-height: 2;
  text-align: end;
}

.materiality {
  margin-bottom: 40px;
}
.materiality h3 {
  padding: 0;
  color: #0072C1;
  font-size: 26px;
  font-weight: 600;
  margin-bottom: 0;
  border-bottom: solid 1px rgb(200, 200, 200);
}
.materiality p {
  margin: 8px 0 8px 0;
}
.materiality .sus {
  justify-content: center;
}

.sdgs {
  margin-bottom: 40px;
}

.promotionsystem {
  margin-bottom: 30px;
}


/*---------------------------------------------
environment(ページ)
---------------------------------------------*/

.environment_cont h2:before {
  border-color: #75bd01;
}

.environment_cont h3 {
  padding: 0;
  color: #75bd01;
  font-weight: 600;
  margin-bottom: 0;
}

.environment_cont .sus_outline ul li a span {
  border: 1px solid #74be00;
  color: #74be00;
}
.environment_cont .sus_outline ul li a span:after {
  border-top: solid 1px #74be00;
  border-right: solid 1px #74be00;
}
.environment_cont .sus_outline ul li a span:hover {
  background-color: #d5ebb2;
}
.environment_cont .sus_outline ul li a.checked span {
  background-color: #d5ebb2;
}

.environment_cont .sus {
  justify-content: center;
}
.environment_cont .linkbutton_cn {
  width: 420px;
}
.environment_cont .annotation {
  font-size: xx-small;
  vertical-align: super;
}
.environment_cont ul.itemization li {
  margin-bottom: 10px;
}

.sub_topics li {
  margin: 5px;
  padding-left: 10px;
  font-size: 16px;
}
.sub_topics_min {
  margin-top: 10px;
}
.sub_topics_min li {
  font-size: 14px;
}

.tcfd_img {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}


/*---------------------------------------------
society(ページ)
---------------------------------------------*/

.society_cont h2:before {
  border-color: #ffbe00;
}

.society_cont h3 {
  padding: 0;
  color: #ffbe00;
  font-weight: 600;
  margin-bottom: 0;
}

.society_cont ul.itemization li {
  margin-bottom: 4px;
}

.society_cont .sus_outline ul li a span {
  border: 1px solid #ffbe00;
  color: #ffbe00;
}
.society_cont .sus_outline ul li a span:after {
  border-top: solid 1px #ffbe00;
  border-right: solid 1px #ffbe00;
}
.society_cont .sus_outline ul li a span:hover {
  background-color: #fff2cc;
}
.society_cont .sus_outline ul li a.checked span {
  background-color: #fff2cc;
}


/*---------------------------------------------
governance(ページ)
---------------------------------------------*/

.governance_cont h2:before {
  border-color: #6450e1;
}

.governance_cont h3 {
  padding: 0;
  color: #6450e1;
  font-weight: 600;
  margin-bottom: 10px;
}

.governance_cont ul.itemization li {
  margin-bottom: 4px;
}

.governance_cont .sus_outline ul li a span {
  border: 1px solid #6450e1;
  color: #6450e1;
}
.governance_cont .sus_outline ul li a span:after {
  border-top: solid 1px #6450e1;
  border-right: solid 1px #6450e1;
}
.governance_cont .sus_outline ul li a span:hover {
  background-color: #d0caf6;
}
.governance_cont .sus_outline ul li a.checked span {
  background-color: #d0caf6;
}

.governance_cont .linkbutton_end {
  margin-right: auto;
}


/*---------------------------------------------
TitleSub
---------------------------------------------*/

.sustainability_titlesub {
  background-image: url(/assets/smc_img/about/sustainability/ja-jp/images/top01-2.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 195px;
  margin-bottom: 40px;
  margin-top: 15px;
  padding: 23px 0 17px 0;
  position: relative;
}
.sustainability_titlesub>div {
  position: absolute;
  top: 26%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 100%;
}
.sustainability_titlesub h1 {
  color: #fff;
  font-size: 52px;
  font-weight: bold;
  margin: 0;
  margin-left: 40px;
  margin-top: 70px;
  letter-spacing: 2px;
}
.sustainability_titlesub>div p {
  color: #fff;
  font-size: 20px;
  margin-left: 50px;
  letter-spacing: 1px;

}

.sustainability_titlesub>div p.cou_global {
 float: right;
padding-right:20px;


}

.sustainability_titlesub>div p.cou_global a{
  font-size: 16px;
text-decoration: underline;
text-underline-offset: 8px;
margin-bottom -40px!important;
  font-weight: 500;
  color: #ffffff!important;
  line-height: 30px;
cursor: pointer!important;
}

.sustainability_titlesubseries {
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 250px;
  margin-bottom: 60px;
  margin-top: 15px;
  padding: 23px 0 17px 0;
  line-height: 20px;
}
.sustainability_titlesubseries>div {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 100%;
}
.sustainability_titlesubseries h1 {
  color: #fff;
  font-size: 42px;
  font-weight: bold;
  margin: 0;
  margin-left: 20px;
  margin-bottom: 40px;
}

.titlesub_sustainability {
  background-image: url(/assets/smc_img/about/sustainability/ja-jp/images/sustainability01.jpg);
}
.titlesub_environment {
  background-image: url(/assets/smc_img/about/sustainability/ja-jp/images/environment01.jpg);
}
.titlesub_society {
  background-image: url(/assets/smc_img/about/sustainability/ja-jp/images/society01.jpg);
}
.titlesub_governance {
  background-image: url(/assets/smc_img/about/sustainability/ja-jp/images/governance01.jpg);
}

/*---------------------------------------------
FooterSub
---------------------------------------------*/

.footer_wrap {
  background-color: #f2f2f2;
  width: 100vw;
}

.footer_wrap .menu_box {
  background-color: transparent;
  width: 100%;
  max-width: 1120px;
  display: block;
  height: auto;
  margin: 0 auto;
}

.footer_wrap .menu_box .box_copy {
  display: block;
  width: 270px;
  font-size: 20px;
  font-weight: 600;
  padding: 9px 0;
  text-align: left;
  color: #fff;
  background-color: #0072C1;
  position: relative;
  padding: 9px 0;
}

.footer_wrap .menu_box .box_copy:before {
  content: "";
  position: absolute;
  background-color: #0072C1;
  margin-left: calc(((100vw - 100%) / 2) * -1);
  right: 270px;
  content: '';
  width: 100%;
  height: 100%;
  top: 0;
}

.footer_wrap .menu_box .box_copy:after {
  content: "";
  position: absolute;
  border-top: 48px solid #0072C1;
  border-right: 48px solid transparent;
  border-left: 48px solid transparent;
  top: 0;
  right: -48px;
}

.footer_table {
  display: flex;
  justify-content: space-between;
  padding: 40px 0;
  width: 100%;
}

.footer_column {
  display: flex;
  flex-flow: column;
  width: 29%;
}

.footer_row {
  height: 180px;
}

.footer_table .footer_column ul {
  display: block;
}

.footer_table .footer_column ul li {
  float: none;
  padding: 6px 0;
}

.footer_table .footer_column ul li a {
  color: #333333;
  padding-left: 1.0em;
  text-indent: -1.0em;
  display: block;
}

.footer_table .footer_column ul li a::before {
  content: "";
  width: 10px;
  height: 10px;
  display: inline-block;
  margin: auto;
  box-sizing: border-box;
  border: 5px solid transparent;
  border-left: 8px solid #0072c1;
}

.footer_column_titile {
  padding-bottom: 2px;
  color: #333332;
  border-bottom: 2px solid #666;
  font-size: 18px;
  margin-bottom: 10px;
  font-weight: 700;
}


/*---------------------------------------------
others_linkbutton_set
---------------------------------------------*/

.transparent,
.sus,
.sus_outline {
  display: flex;
  align-items: flex-end;
}

.sus_outline {
  margin-bottom: 50px;
}

.linkbutton_lg {
  width: 380px;
  margin: 20px;
}


.linkbutton_cn {
  width: 380px;
  margin: 20px;
  text-align: center;
}

.linkbutton_sm {
  width: 255px;
  margin: auto;
  height: 80px;
}

.linkbutton_three {
  width: 340px;
  margin: auto;
  height: 70px;
}

.linkbutton_sm a , .linkbutton_three a {
  display: flex;
  height: 100%;
}

.linkbutton_start {
  margin-left: 0;
}
.linkbutton_end {
  margin-right: 0;
}

.transparent ul li a span {
  font-size: 16px;
  display: block;
  width: 100%;
  padding: 12px 0 13px 25px;
  background-color: transparent;
  border: solid 1px #fff;
  color: #fff;
  position: relative;
}
.transparent ul li a span:after {
  content: '';
  width: 12px;
  height: 12px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -4px;
  transform: rotate(45deg);
}
.transparent ul li a span:hover {
  background-color: rgba(255, 255, 255, 0.4);
}


.tmmr_bt {
    display: block;
    background: #ffffff;
    margin: 0 auto;
  margin-bottom: 16px;
    position: relative;
}

.tmmr_bt span {
    color: #0072c1!important;
    font-size: 16px;
  font-weight: 600;
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

.tmmr_bt :after {
  content: '';
  width: 12px;
  height: 12px;
  border: 0;
  border-top: solid 2px #0072c1;
  border-right: solid 2px #0072c1;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -4px;
  transform: rotate(45deg);
}

.tmmr_bt : hover {
    cursor:pointer;
    opacity: 0.8;
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)";
    -moz-opacity:0.8;
    -khtml-opacity: 0.8;
    zoom:1;
}



.sus ul li a span {
  font-size: 16px;
  display: block;
  width: 100%;
  padding: 12px 0 13px 25px;
  background-color: #0072C1;
  color: #fff;
  position: relative;
}
.sus ul li a span:after {
  content: '';
  width: 12px;
  height: 12px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -4px;
  transform: rotate(45deg);
}
.sus ul li.linkbutton_cn a span {
  padding: 18px 0 20px 0;
  font-size: 20px;
}

.sus_outline ul {
  display: contents;
}
.sus_outline ul li a span {
  font-size: 16px;
  display: block;
  width: 100%;
  padding: 12px 0 13px 25px;
  border: 1px solid #0072C1;
  background-color: #fff;
  color: #0072C1;
  position: relative;
}
.sus_outline ul li a span:after {
  content: '';
  width: 12px;
  height: 12px;
  border: 0;
  border-top: solid 1px #0072C1;
  border-right: solid 1px #0072C1;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -4px;
  transform: rotate(45deg);
}
.sus_outline ul li a span:hover {
  background-color: #b3d3ea;
}
.sus_outline ul li.linkbutton_sm a span , .sus_outline ul li.linkbutton_three a span {
  display: flex;
  align-items: center;
  padding: 4px 8px 6px 10px;
  font-size: 17px;
}
.sus_outline ul li a.checked {
  cursor: default;
  opacity: 1;
}
.sus_outline ul li a.checked span {
  background-color: #b3d3ea;
}


/*---------------------------------------------
others_return_sustainability_top
---------------------------------------------*/

.return_sustainability_top {
  text-align: end;
  margin-top: 20px;
  letter-spacing: 1px;
  font-size: 18px;
  position: relative;
}

.return_sustainability_top ul li a {
  font-weight: 600;
  color: #0074bf;
  border-bottom: solid 1px #0074bf;
  position: absolute;
  top: 100px;
  right: 0;
}

.return_sustainability_top ul li a::before {
  content: "";
  width: 10px;
  height: 10px;
  display: inline-block;
  margin: auto;
  box-sizing: border-box;
  border: 7px solid transparent;
  border-left: 12px solid #0074bf;
}



