@charset "utf-8";
/*****************
Project
*****************/
.p_article_container{
  font-family: helvetica neue,noto sans jp,yu gothic,YuGothic,ヒラギノ角ゴ pron w3,hiragino kaku gothic pron,Arial,メイリオ,Meiryo,sans-serif; 
}

/*****************
layout
*****************/
/* ナビ */
.l_nav{
  display: flex;
  align-items: stretch;
}
.l_nav__item{
  display: flex;
  width: 100%
}
.l_nav__target{
  display: block;
  width: 100%
}
.l_nav--local{
  margin: -1px;
}
.l_nav--local > .l_nav__item{
  padding: 1px;
}
@media screen and (max-width: 599px){
  .l_nav--local{
    display: block;
  }
}
/* グリッド */
.l_grid{
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}
.l_grid_item{
  display: flex;
}
.l_grid_inner{
  display: block;
  width: 100%;
}
.l_grid--hasGutter{
  margin: -15px;
}
.l_grid--hasGutter .l_grid_item{
  padding: 15px;
}
.l_grid--serviceTable{
  width: fit-content;
  margin-inline: auto;
}
.l_grid--serviceTable .l_grid_item{
  padding: 5px;
} 
/* 節 */
.l_section{margin-top: 40px}
.l_section + .l_section{margin-top: 60px;}
.l_section_content{margin-top: 15px;}
.l_content_flex{
  display: flex;
  justify-content: space-between;
}
.l_content_flex + .l_content_flex{
  margin-top: 20px;
}
@media screen and (max-width: 599px){
  .l_content_flex{
    display: block;
  }
}
/*****************
module_共通
*****************/

.m_section_heading_primary{
  font-size: 25px;
  color:  #C00000;
  font-weight: bold;
}
.m_section_heading_primary_sub{
  font-size: 20px;
}
.m_section_heading_secondary{
  font-size: 17px;
  font-weight: bold;
  margin-top: 20px;
  margin-bottom: 20px;
}
.m_section_msg {
  margin-bottom: 20px;
}
.m_section_msg_main{
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: 1.5px;
}
.m_section_msg_main + .m_section_msg_list,
.m_section_msg_list + .m_section_msg_list{
  margin-top: 10px;
}
.m_section_msg_list{}
.m_section_msg_listItem{
  position: relative;
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: 1.5px;
}
.m_section_msg_listItem + .m_section_msg_listItem{
  margin-top: 5px;
}
.m_section_msg_listItem-kakko{
  padding-left: 3em;
}
.m_section_msg_listItem-kakko .m_section_msg_listItem_ico{
  position: absolute;
  left: 0;
  display: block;
}
.m_section_msg_listItem-dot{
  padding-left: 1em;
}
.m_section_msg_listItem-dot::before{
  content: "・";
  position: absolute;
  left: 0;
  display: block;
}
.m_section_figure_img-center{
  text-align: center;
}
.m_section_figure_text-caption + .m_section_figure_img{
  margin-top: 15px;  
}
.m_section_figure_img-right{
  text-align: right;
}
.m_section_figure_img_main{
  vertical-align: bottom;
}
.m_section_figure_img-right .m_section_figure_img_main{
  float: none;
}
.m_section_figure_text{
  margin-top: 10px;
  font-size: 10px;
}
.m_section_figure_text-caption{
  margin-top: 0px;
  text-align: right;
}
.m_section_btn{
  text-align: right;
  margin-top: 40px;
}
.m_section_btn + .m_section_btn{
  margin-top: 20px;
}
.m_section_btn_target{
  border: 1px solid #EB9999;
  border-radius: 32px;
  color: #C00000;
  font-size: 15px;
  font-weight: bold;
  padding: 4px 16px;
  display: inline-flex;
  align-items: center;
  text-align: left;
}
.m_section_btn_target:after{
  content: "\f105";
  font: 700 15px "font awesome 5 free";
  text-decoration: none;
  margin-left: 10px;
}
.m_section_btn_target:hover{
  background-color: #C00000;
  color: #fff;
  transition: .3s;
  text-decoration: none;
}
.m_section_msg_main-attention{
  font-size: 10px;
}
@media screen and (max-width: 599px){
  .m_section_btn{
    text-align: center;
  }
  .m_section_figure {
    margin: auto;
  }
  .m_section_figure + .m_section_figure{
    margin-top: 30px;
  }
}

/*
アイコン
*****************/
.m_hasIco{
  position: relative;
  display: block;
}
.m_hasIco::before{
  content: "";
  position: absolute;
  left: 0;
  display: block;
}
.m_hasIco-ast{
  padding-left: 1em;
}
.m_hasIco-ast::before{
  content: "※";
}
.m_hasIco-dot{
  padding-left: 1em;
}
.m_hasIco-dot::before{
  content: "・";
}
.m_hasIco-link{
  padding-left: 1.2em;
}
.m_hasIco-link::before{
  top: .65em;
  width: .4em;
  height: .4em;
  border-bottom: 1px solid;
  border-right: 1px solid;
  transform: rotate(-45deg);
}

/*
ローカルナビ
*****************/
.m_localNav{
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 5em;
  color: inherit;
  font-size: 14px;
  background: #ccc;
}
.m_localNav:hover{
  text-decoration: none;
  color: #fff;
  background: #c00000;
}
@media screen and (max-width: 599px){
  .m_localNav{
    height: 4em;
  }
}

/*
コラム
*****************/
.m_section_column{
  margin-bottom: 20px;
  padding: 24px 16px;
  border: 1px solid #acacac;
  border-radius: 16px;
  background: #fbfbfb;
}
.m_section_heading_column{
  position: relative;
  padding-left: 90px;
  font-weight: bold;
  font-size: 17px;
  margin-bottom: 16px;
}
.m_section_heading_column::before{
  content: url(/resource/img/ir/sustainable/icon_column.svg);
  position: absolute;
  left: 0;
  display: block;
}

/*
メディアデザイン
*****************/
.m_section_msg_media{}
.m_section_msg_media::after{
  content: "";
  display: block;
  clear: both;
}
.m_section_msg_media_img{
  float: right;
  margin: 0 0 0 16px;
}
@media screen and (max-width: 768px){
  .m_section_msg_media_img{
    float: none;
    margin: 0 0 16px 0;
  }
}
/*
環境_目標
*****************/

.m_content_flex-environmentGoal .m_section_figure{
  max-width: 345px;
  margin-top: 10px;
}
@media screen and (max-width: 768px){
  .m_content_flex-environmentGoal .m_section_figure{
    max-width: 48%;
  }
}
@media screen and (max-width: 599px){
  .m_content_flex-environmentGoal .m_section_figure{
    max-width: 345px;
    margin-top: 30px;
  }  
}
/*
環境_体制　CO₂削減委員会
*****************/

.m_section_figure_img-environmentSystem{
  margin-top:30px;
}
.m_section_figure_img-environmentSystem .m_section_figure_img_main{
  max-width: 730px;
}
@media screen and (max-width: 768px){
  .m_section_figure_img-environmentSystem{
    overflow-x: auto;
    height: 188px;
  }
  .m_section_figure_img-environmentSystem .m_section_figure_img_main{
    padding: 0 5px 5px 0;
  }
}

/*
環境_取り組み_TCFD
*****************/

.m_section_tcfd{
  display: flex;
  justify-content: space-around;
  align-content: center;
  border: 1px solid #1CA9D0;
  padding: 28px;
  margin-bottom: 30px;
}
.m_section_tcfd .m_section_figure_img{
  display: flex;
  align-items: center;
}
.m_section_tcfd .m_section_figure_text{
  width: 370px;
  letter-spacing: 0.6px;
  margin-top: 0;
  color: #727172;
}
@media screen and (max-width: 768px){
  .m_section_tcfd{
    display: block;
  }
  .m_section_tcfd .m_section_figure_img{
    justify-content: center;
  }
  .m_section_tcfd .m_section_figure_text{
    width: auto;
    margin-top: 10px;
  }
}

/*
環境_環境データ
*****************/

.m_section_table{
  margin-top:30px;
}
.m_section_tableInner{
  border: 1px solid #707070;
  font-size: 15px;
}
.m_section_table_line{
  display: flex;
}
.m_section_table_line + .m_section_table_line{
  border-top: 1px solid #707070;
}
.m_section_table_line_heading{
  background-color: #FFF0E5;
}
.m_section_table_cell:first-of-type{
  width: 245px;
}
.m_section_table_cell{
  width: 160px;
  padding: 6px 6px 6px 10px;
}
.m_section_table_cell + .m_section_table_cell{
  border-left: 1px solid #707070;
}
.m_section_table + .m_section_msg{
  margin-top: 25px;
}
.m_section_msg_main-attention + .m_section_msg_main-attention{
  margin-top: 5px;
}
@media screen and (max-width: 768px){
  .m_section_table{
    overflow-x: auto;
    padding: 0 5px 5px 0;
  }
  .m_section_tableInner{
    min-width: 730px;
  }
}

/*
サステナブル_行動指針
*****************/
.m_guideline{}
.m_guideline__item{
  padding: 10px 16px;
  border: 1px solid #CD3737;
  border-left-width: 20px;
  font-size: 24px;
  line-height: 1;
}
.m_guideline__item + .m_guideline__item{
  margin-top: 16px;
}
@media screen and (max-width: 768px){
  .m_guideline__item{
    font-size: 16px;
    line-height: 1.4;
  }
}

/*
サステナブル_マテリアリティの特定
*****************/
.m_materialityIdentification{
  max-width: 600px;
  margin: 0 auto;
}
.m_materialityIdentification__item{}
.m_materialityIdentification__item + .m_materialityIdentification__item{
  position: relative;
  margin-top: 27px;
  padding-top: 27px;
}
.m_materialityIdentification__item + .m_materialityIdentification__item::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  width: 20px;
  padding-top: calc(20px * 32 / 20);
  margin: 0 auto;
  background: url(/resource/img/ir/sustainable/sustainability/arrow_image.svg);
  transform: translateY(-50%);
}
.m_materialityIdentification__msg{
  padding: 16px 24px;
  text-align: center;
  font-size: 15px;
  background: #FDF0EE;
}
@media screen and (max-width: 768px){
  .m_materialityIdentification__msg{
    text-align: left;
  }
  .m_materialityIdentification__msg br{
    display: none;
  }
}

/*
サステナブル_マテリアリティのラッパー
*****************/
.m_materialityWrap{}
.m_materialityWrap__heading{
  display: flex;
  align-items: stretch;
  padding: 8px 0;
  border-top: 1px solid;
}
.m_materialityWrap__headingCol{
  width: 100%;
}
.m_materialityWrap__ttl{
  text-align: center;
  font-size: 14px;
}
.m_materialityWrap__body{
  border-bottom: 1px solid;
}
.m_materialityWrap__item{
  border-top: 1px solid;
}
.m_materialityWrap__footer{
  position: relative;
  margin-top: 40px;
  padding-top: 40px;
}
.m_materialityWrap__footer::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  width: 50px;
  padding-top: 50px;
  margin: 0 auto;
  background: url(/resource/img/ir/sustainable/sustainability/plus_image.svg);
  transform: translateY(-50%);
}
@media screen and (max-width: 768px){
  .m_materialityWrap__heading{
    display: none;
  }
  .m_materialityWrap__body{
    border-bottom: none;
  }
  .m_materialityWrap__item + .m_materialityWrap__item{
    margin-top: 16px;
  }
}

/*
サステナブル_マテリアリティ
*****************/
.m_materiality{
  display: flex;
  align-items: stretch;
}
.m_materiality__item{
  display: flex;
  width: 100%;
}
.m_materiality__heading{
  display: flex;
  width: 100%;
}
.m_materiality__mark{
  flex: 0 0 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  color: #fff;
  font-size: 20px;
}
.m_materiality__ttl{
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 16px;
  font-size: 12px;
}
.m_materiality__todoList{
  padding: 16px;
}
.m_materiality__todo{
  position: relative;
  padding-left: 1em;
  font-size: 12px;
}
.m_materiality__todo::before{
  content: "・";
  position: absolute;
  left: 0;
}
.m_materiality__todo + .m_materiality__todo{
  margin-top: 4px;
}
.m_materiality__icos{
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  width: 204px;
  padding: 16px;
  margin: 0 auto;
}
.m_materiality__ico{
  padding: 1px;
  line-height: 0;
  text-align: center;
}
.m_materiality__ico img{
  max-width: 100%;
  height: auto;
}
.m_materiality--s{}
.m_materiality--s .m_materiality__mark{
  background: #E84263;
}
.m_materiality--s .m_materiality__ttl{
  color: #E84263;
  background: #FDF1F0;
}
.m_materiality--e{}
.m_materiality--e .m_materiality__mark{
  background: #95C61B;
}
.m_materiality--e .m_materiality__ttl{
  color: #95C61B;
  background: #F7FAED;
}
.m_materiality--g{}
.m_materiality--g .m_materiality__mark{
  background: #5676B9;
}
.m_materiality--g .m_materiality__ttl{
  color: #5676B9;
  background: #F0F1F9;
}
@media screen and (max-width: 768px){
  .m_materiality{
    display: block;
  }
  .m_materiality__ttl{
    padding: 8px;
  }
  .m_materiality__ttl br{
    display: none;
  }
  .m_materiality__todoList{
    padding: 8px;
  }
  .m_materiality__todoList::before{
    content: "主な取り組み";
    display: block;
    margin-bottom: 10px;
  }
  .m_materiality__icos{
    width: 100%;
    margin: 0;
    padding: 8px;
  }
  .m_materiality__icos::before{
    content: "関連するSDGs";
    display: block;
    width: 100%;
    margin-bottom: 10px;
  }
}

/*
サステナブル_中期経営計画
*****************/
.m_mediumPlan{
  display: flex;
  align-items: stretch;
}
.m_mediumPlan__mark{
  flex: 0 0 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  background: #C00000;
}
.m_mediumPlan__inner{
  flex: 1 1 auto;
  display: flex;
  border: 1px solid #C00000;
}
.m_mediumPlan__ttl{
  padding: 16px;
  color: #C00000;
  font-weight: bold;
  font-size: 16px;
}
.m_mediumPlan__body{
  padding: 16px;
  color: #C00000;
  font-size: 15px;
}
@media screen and (max-width: 768px){
  .m_mediumPlan__inner{
    display: block;
  }
  .m_mediumPlan__body{
    padding-top: 0;
  }
}

/* 目次 */
.m_index{}
.m_index__item + .m_index__item{
  margin-top: 20px;
}
.m_index__ttl{
  margin-bottom: 12px;
}
.m_index__ttlLink{
  position: relative;
  padding-left: 20px;
  color: #C00000;
  text-decoration: underline;
  font-weight: bold;
  font-size: 18px;
}
.m_index__ttlLink::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  width: 8px;
  height: 8px;
  margin: auto 0;
  border-top: 2px solid;
  border-right: 2px solid;
  transform: rotate(45deg);
}
.m_index__ttlLink:hover{
  color: #C00000;
  opacity: .7;
}
.m_index__list{
  display: flex;
  flex-wrap: wrap;
  margin: -4px -10px;
}
.m_index__listItem{
  padding: 4px 10px;
}
.m_index__link{
  color: inherit;
  text-decoration: underline;
}
.m_index__link:hover{
  color: inherit;
  opacity: .7;
}

/* 健康宣言 */
.m_declaration{
  border: 1px solid #1590D8;
  padding: 30px;
}
.m_declaration_ttl{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-bottom: 30px;
  color: #1490D8;
  font-size: 28px;
}
.m_declaration_ttl::before,
.m_declaration_ttl::after{
  content: "";
  width: 1em;
  height: 1px;
  display: block;
  background: #1490D8;
}
.m_declaration_ttl::before{
  margin-right: 1em;
}
.m_declaration_ttl::after{
  margin-left: 1em;
}
.m_declaration_msg{
  font-size: 18px;
}
.m_declaration_signWrap{
  display: flex;
  justify-content: flex-end;
}
.m_declaration_sign{
  font-size: 15px;
}
.m_declaration_signItem{}
.m_declaration_signItem + .m_declaration_signItem{
  margin-top: 5px;
}
@media screen and (max-width: 768px){
  .m_declaration{
    padding: 16px;
  }
  .m_declaration_ttl{
    margin-bottom: 15px;
    font-size: 18px;
  } 
  .m_declaration_msg{
    font-size: 15px;
  }
  .m_declaration_sign{
    font-size: 13px;
  }
}


/* 健康経営への投資額 */
.m_investment{}
.m_investment_item + .m_investment_item{
  margin-top: 10px;
}
.m_investment_num{
  line-height: 100%;
  font-size: 20px;
}

/* 表 */
.m_table{
  width: 100%;
}
.m_table_wrap{
  width: 730px;
  max-width: none;
  table-layout: fixed;
}
.m_table_ttl{
  padding: 10px;
  border: 1px solid #fff;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background: #1590D8;
}
m_table_ttl{
  text-align: left;
}
.m_table_row:nth-child(odd){
  background: #e8f5fd;
}
.m_table_data{
  padding: 5px 10px;
  border: 1px solid #ccc;
}
.m_table_data-center{
  text-align: center;
}
.m_table_data-right{
  text-align: right;
}
.m_table_col{}
.m_table_col-type{
  width: 120px;
}
.m_table_col-contents{
  width: 280px;
}
.m_table_col-unit{
  width: 60px;
}
@media screen and (max-width: 768px){
  .m_table{
    overflow: auto;
  }
}
.m_table--service{}
.m_table--service .m_table_col--haken{
  background: #fce4d6;
}
.m_table--service .m_table_col--bup{
  background: #ddebf7;
}
.m_table--service .m_table_col--douga{
  background: #fff2cc;
}
.m_table--service .m_table_col--leaf{
  background: #e2efda;
}
.m_table--service .m_table_col--stress{
  background: #ffe7ee;
}
.m_table--service .m_table_row-sdgs{
  background: #fff !important;
}
.m_table--service .m_table_ttl{
  height: 100%;
  background: #fff;
  border-color: #ccc;
  padding-inline: 0;
  color: #333;
  font-size: 11px;
  vertical-align: middle;
}
.m_table--service .m_table_ttlImg{
  height: 50px;
}
.m_table--service .m_table_ttlImg--stress{
  height: 80px;
}
.m_table--service .m_table_ttlImg img{
  height: 100%;
  width: 100%;
  object-fit: contain;
}
.m_table--service .m_table_data{
  padding: 10px 3px;
  font-size: 11px;
}
.m_table--service .m_table_row:nth-child(odd){
  background: none;
}
.m_table--tcfd{}
.m_table--tcfd .m_table_col:first-of-type{
  width: 40px;
}
.m_table--tcfd .m_table_col:nth-of-type(2){
  width: 40px;
}
.m_table--tcfd .m_table_col:nth-of-type(3){
  width: 60px;
  text-align: center;
}
.m_table--tcfd .m_table_col:nth-of-type(6){
  width: 50px;
}
.m_table--tcfd .m_table_row-heading{
  background: #ffe9e9 !important;
}
.m_table--tcfd .m_table_ttl{
  background: rgba(255, 255, 255, 0);
  border-color: #ccc;
  padding-inline: 0;
  color: #333;
  font-size: 11px;
  vertical-align: middle;
}
.m_table--tcfd .m_table_ttl-row{
  writing-mode: vertical-lr;
}
.m_table--tcfd .m_table_data{
  padding: 10px 3px;
  font-size: 11px;
}
.m_table--tcfd .m_table_row:nth-child(odd){
  background: none;
}
/* サービス提供方針のラッパー */
.m_servicePolicyWrap{
  border: 1px solid #fff;
}
.m_servicePolicyWrap__item{}
.m_servicePolicyWrap__item + .m_servicePolicyWrap__item{
  border-top: 1px solid #fff;
}
@media screen and (max-width: 768px){
  .m_servicePolicyWrap__item + .m_servicePolicyWrap__item{
    border-top-width: 10px;
  }
}

/* サービス提供方針 */
.m_servicePolicy{
  display: flex;
  align-items: stretch;
}
.m_servicePolicy__ttl{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33.333%;
  font-size: 18px;
  color: #fff;
}
.m_servicePolicy__body{
  width: 66.666%;
  padding: 10px 15px;
  font-size: 13px;
}
.m_servicePolicy:first-of-type{}
.m_servicePolicy:first-of-type .m_servicePolicy__ttl{
  background: #e6b217;
}
.m_servicePolicy:first-of-type .m_servicePolicy__body{
  background: #fff4d4;
}
.m_servicePolicy:nth-of-type(2){}
.m_servicePolicy:nth-of-type(2) .m_servicePolicy__ttl{
  background: #69944b;
}
.m_servicePolicy:nth-of-type(2) .m_servicePolicy__body{
  background: #ebf6e3;
}
.m_servicePolicy:nth-of-type(3){}
.m_servicePolicy:nth-of-type(3) .m_servicePolicy__ttl{
  background: #4d6fab;
}
.m_servicePolicy:nth-of-type(3) .m_servicePolicy__body{
  background: #dee9fc;
}
.m_servicePolicy:nth-of-type(4){}
.m_servicePolicy:nth-of-type(4) .m_servicePolicy__ttl{
  background: #c00000;
}
.m_servicePolicy:nth-of-type(4) .m_servicePolicy__body{
  background: #ffe8e8;
}
.m_servicePolicy:nth-of-type(5){}
.m_servicePolicy:nth-of-type(5) .m_servicePolicy__ttl{
  background: #8853b0;
}
.m_servicePolicy:nth-of-type(5) .m_servicePolicy__body{
  background: #f1e4fb;
}
@media screen and (max-width: 768px){
  .m_servicePolicy{
    display: block;
  }
  .m_servicePolicy__ttl{
    width: 100%;
  }
  .m_servicePolicy__body{
    width: 100%;
  }
}

/* 環境への取り組みの歴史リストラッパー */
.m_envHistoryListWrap{
  display: flex;
  align-items: stretch;
  gap: 10px;
  position: relative;
}
.m_envHistoryListWrap::before{
  content: "";
  display: block;
  flex: 0 0 64px;
  background: linear-gradient(to bottom, #14ae66, #cae196);
}
.m_envHistoryListWrap::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  display: block;
  width: 64px;
  height: 10px;
  clip-path: polygon(0 0, 50% 101%, 101% 0, 101% 101%, 0 101%);
  background: #fff;
}
.m_envHistoryListWrap__body{
  flex: 1 1 auto;
}
.m_envHistoryListWrap__item{
  position: relative;
  padding-left: 74px;
  margin-left: -74px;
}
.m_envHistoryListWrap__item + .m_envHistoryListWrap__item{
  margin-top: 10px;
}
.m_envHistoryListWrap__item + .m_envHistoryListWrap__item::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 64px;
  height: 20px;
  clip-path: polygon(0 0, 50% 50%, 101% 0, 101% 50%, 50% 101%, 0 50%);
  background: #fff;
  transform: translateY(-50%);
}

/* 環境への取り組みの歴史リスト */
.m_envHistoryList{
  position: relative;
}
.m_envHistoryList__year{
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  width: 64px;
  height: 1em;
  margin: auto;
  line-height: 1;
  color: #fff;
  font-size: 16px;
  text-align: center;
}
.m_envHistoryList__body{
  padding: 10px;
  border: 1px solid #add25c;
}
.m_envHistoryList__item + .m_envHistoryList__item{
  margin-top: 3px;
  padding-top: 3px;
  border-top: 1px dotted #add25c;
}

/* 環境への取り組みの歴史 */
.m_envHistory{
  display: flex;
}
.m_envHistory__month{
  flex: 0 0 4em;
  text-align: center;
}
.m_envHistory__ttl{
  flex: 0 0 6em;
  text-align: center;
}
.m_envHistory__body{
  flex: 1 1 auto;
}
.m_envHistory__msg{
  position: relative;
  padding-left: 1em;
}
.m_envHistory__msg::before{
  content: "";
  position: absolute;
  left: 0;
  top: calc((1lh - 1em) / 2 + .15em);
  display: block;
  width: .7em;
  height: .7em;
  border-radius: 50%;
  background: #8cc224;
}
.m_envHistory--en .m_envHistory__month{
  flex: 0 0 3em;
}
.m_envHistory--en .m_envHistory__ttl{
  flex: 0 0 9em;
}
@media screen and (max-width: 599px){
  .m_envHistory{
    flex-wrap: wrap;
  }
  .m_envHistory__month{
    text-align: left;
  }
  .m_envHistory__ttl{
    text-align: left;
  }
  .m_envHistory__body{
    width: 100%;
    margin-top: 3px;
    padding-left: 1em;
  }
  .m_envHistory--en .m_envHistory__ttl{
    flex: 0 0 calc(100% - 3em);
  }
  .m_envHistory--en .m_envHistory__ttl br{
    display: none;
  }
}

/* 海外投資家とのMTG */
#chartOverseaInvestorMtg .value-label { 
  font-size: 15px;
}
#chartOverseaInvestorMtg .number-label {
  font-size: 18px;
}
#chartOverseaInvestorMtg  .legend-text {
  font-size: 15px;
}

/* F式リスト型ラインナップ */
.m_fLineupList{}
.m_fLineupList__heading{
  margin-bottom: 10px;
}
.m_fLineupList__ttl{
  line-height: 1.4;
  font-weight: bold;
  font-size: 16px;
  padding-right: 5px;
  color: #75192b
}
.m_fLineupList__body{}
.m_fLineupList__item + .m_fLineupList__item{
  margin-top: 8px;
}
.m_fLineupList__link{
  position: relative;
  display: block;
  padding-left: 12px;
  color: #333;
  font-weight: bold;
  font-size: 12px;
  transition: opacity .3s;
}
/* .m_fLineupList__link::after{
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  display: block;
  width: 4px;
  height: 4px;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(-45deg);
}*/
.m_fLineupList__link:hover{
  opacity: .7;
}
.m_fLineupList__link--comingsoon{
  color: #7a7a7a;
}
.m_fLineupList__link--comingsoon::before{
  opacity: .7;
}
.m_fLineupList__link--comingsoon::after{
  content: "coming soon";
  color: #d66c00;
  font-weight: bold;
  margin-left: 10px;
}
[service_type].m_fLineupList__link{
  position: relative;
  padding-left: 52px;
}
/*[service_type].m_fLineupList__link::after{
  content: none;
}*/
[service_type].m_fLineupList__link::before{
  position: absolute;
  top: 2px;
  left: 0;
  display: block;
  padding: 2px 3px;
  border: 1px solid;
  border-radius: 2px;
  line-height: 1;
  letter-spacing: 0;
  font-size: 10px;
  min-width: 40px;
  text-align: center;
}

/* F式カード（大） */
.m_fCardLg{
  display: block;
  width: 100%;
  color: inherit;
  transition: opacity .3s;
}
.m_fCardLg:hover{
  opacity: .7;
}
.m_fCardLg__ttl{
  position: relative;
  margin-bottom: 4px;
  line-height: 1.4;
  font-weight: bold;
  font-size: 18px;
  height: calc(18px * 2 * 1.4);
  overflow: hidden;
}
.m_fCardLg__ttl::after{
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 3em;
  height: calc(18px * 1.4);
  background: linear-gradient(to left,#fff,rgba(255,255,255,0.96) 25%,rgba(255,255,255,0) 100%)
}
.m_fCardLg__body{}
.m_fCardLg__infos{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 -5px;
}
.m_fCardLg__infosWrap{}
.m_fCardLg__info{
  font-size: 12px;
  padding: 0 5px;
}
.m_fCardLg__info--type{
  color: #666;
}
.m_fCardLg__info--type::before{
  display: block;
  color: #666;
  padding: 2px 3px;
  border: 1px solid;
  border-radius: 2px;
  line-height: 1;
  font-size: 11px;
  min-width: 40px;
  text-align: center;
}
.m_fCardLg__info--date{
  color: #d66c00;
}
.m_fCardLg__infosWrap + .m_fCardLg__img{
  margin-top: 5px;
}
.m_fCardLg__img{
  line-height: 0;
  text-align: center;
}
.m_fCardLg__img img{
  max-width: 100%;
  height: auto;
}
.m_fCardLg__img--certification{}
.m_fCardLg__img--certification img{
  max-height: 100px;
}

.m_fCardLg__img + .m_fCardLg__cont{
  margin-top: 10px;
}
.m_fCardLg__infosWrap + .m_fCardLg__cont{
  margin-top: 10px;
}
.m_fCardLg__cont{
  position: relative;
  max-height: calc(13px * 4 * 1.6);
  line-height: 1.6;
  font-size: 13px;
  overflow: hidden;
}
.m_fCardLg__cont::after{
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 3em;
  height: calc(13px * 1.6);
  background: linear-gradient(to left,#fff,rgba(255,255,255,0.96) 25%,rgba(255,255,255,0) 100%)
}
@media screen and (max-width: 768px){
  .m_fCardLg__ttl{
    height: auto;
    max-height: calc(18px * 2 * 1.4);
  }
}
/* F式カード（小） */
.m_fCardMd{
  display: flex;
  align-items: center;
  width: 100%;
  color: inherit;
  transition: opacity .3s;
}
.m_fCardMd:hover{
  opacity: .7;
}
.m_fCardMd__body{
  flex: 1 1 auto;
}
.m_fCardMd__ttl{
  position: relative;
  height: calc(14px * 2 * 1.5);
  margin-bottom: 4px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
  overflow: hidden;
}
.m_fCardMd__ttl::after{
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 3em;
  height: calc(14px * 1.5);
  background: linear-gradient(to left,#fff,rgba(255,255,255,0.96) 25%,rgba(255,255,255,0) 100%)
}
.m_fCardMd__infosWrap{}
.m_fCardMd__infos{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 -5px;
}
.m_fCardMd__info{
  font-size: 12px;
  padding: 0 5px;
}
.m_fCardMd__info--type{
  color: #666;
}
.m_fCardMd__info--type::before{
  display: block;
  padding: 2px 3px;
  border: 1px solid;
  border-radius: 2px;
  line-height: 1;
  font-size: 11px;
  min-width: 40px;
  text-align: center;
}
.m_fCardMd__info--date{
  color: #d66c00;
}
.m_fCardMd__body + .m_fCardMd__img{
  margin-left: 4px;
}
.m_fCardMd__img{
  flex: 0 0 86px;
  line-height: 0;
  text-align: center;
}
.m_fCardMd__img img{
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 768px){
  .m_fCardMd__ttl{
    height: auto;
    max-height: calc(14px * 2 * 1.5);
  }
}

/* ラベル */
[service_type=douga]::before {
  content: "\52d5\753b\95a2\9023"!important;
  color: #cc2d5e!important;
  background: none!important;
}
[service_type=middle]::before {
  content: "\307e\3068\3081"!important;
  color: #842e30!important;
  background: none!important;
}
[service_type=haken]::before {
  content: "\6D3E\9063"!important;
  color: #842e30!important;
  background: none!important;
}
[service_type=bup]::before {
  content: "\516C\958B"!important;
  color: #0c3f71!important;
  background: none!important;
}
[service_type=other]::before {
  content: "\4ed6\ff7b\ff70\ff8b\ff9e\ff7d"!important;
  color: #e6002d!important;
  background: none!important;
}
[service_type=it]::before {
  content: "IT\FF7B\FF70\FF8B\FF9E\FF7D"!important;
  color: #008d79!important;
  background: none!important;
}
[service_type=free]::before {
  content: "\7121\6599\FF7E\FF90\FF85\FF70"!important;
  color: #333!important;
  background: none!important;
}
[service_type=cont]::before {
  content: "\8AAD\307F\7269"!important;
  color: #0c3f71!important;
  background: none!important;
}
[service_type=consul]::before {
  content: "\30B3\30F3\30B5\30EB"!important;
  color: #7a614f!important;
  background: none!important;
}
[service_type=taiken]::before {
  content: "\4f53\9a13\578b"!important;
  color: #e6002d!important;
  background: none!important;
}

/* Leaf Lightning STUDIO対応 */
[href="/it-tool/studio-pbl.html"] .m_fCardLg__ttl{
  font-size: 0;
}
[href="/it-tool/studio-pbl.html"] .m_fCardLg__ttl::before{
  content: "Leaf lightning STUDIO～定額制eラーニング視聴サービス";
  font-size: 18px;
}
/* オーバーライド用 */
.m_fCardLg:hover{
  text-decoration: none;
  color: inherit;
}

/*****************
utility
*****************/
/*横幅*/
.u_colA{width:auto;}
.u_col1{width:8.333%;}
.u_col2{width:16.667%;}
.u_col3{width:25%;}
.u_col4{width:33.333%;}
.u_col5{width:41.666%;}
.u_col6{width:50%;}
.u_col7{width:58.333%;}
.u_col8{width:66.666%;}
.u_col9{width:75%;}
.u_col10{width:83.33%;}
.u_col11{width:91.666%;}
.u_col12{width:100%;}
@media screen and (max-width:768px){
  .u_resMdCol1{width:8.333%;}
  .u_resMdCol2{width:16.667%;}
  .u_resMdCol3{width:25%;}
  .u_resMdCol4{width:33.333%;}
  .u_resMdCol5{width:41.666%;}
  .u_resMdCol6{width:50%;}
  .u_resMdCol7{width:58.333%;}
  .u_resMdCol8{width:66.666%;}
  .u_resMdCol9{width:75%;}
  .u_resMdCol10{width:83.33%;}
  .u_resMdCol11{width:91.666%;}
  .u_resMdCol12{width:100%;}
}
@media screen and (max-width:599px){
  .u_resSmCol1{width:8.333%;}
  .u_resSmCol2{width:16.667%;}
  .u_resSmCol3{width:25%;}
  .u_resSmCol4{width:33.333%;}
  .u_resSmCol5{width:41.666%;}
  .u_resSmCol6{width:50%;}
  .u_resSmCol7{width:58.333%;}
  .u_resSmCol8{width:66.666%;}
  .u_resSmCol9{width:75%;}
  .u_resSmCol10{width:83.33%;}
  .u_resSmCol11{width:91.666%;}
  .u_resSmCol12{width:100%;}
}
/* 要素を隠す */
.u_hide{
  display: none;
}
@media screen and (max-width: 768px){
  .u_resMdHide{
    display: none;
  }
}
/* 画像 */
.u_liquidImg{
  max-width: 100%;
  height: auto;
}
.u_onlyImg{
  line-height: 0;
  text-align: center;
}

/* 左右中央寄せ(flex) */
.u_justifyContentC{
  display: flex;
  justify-content: center;
}
.u_justifyContentR{
  display: flex;
  justify-content: flex-end;
}

/* 文字間 */
.u_ls0{
  letter-spacing: 0;
}

.m_section_msg_itm{
  padding-left: 1em;
}

/* ページ内リンク */
.sustainable_wellness-lst {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sustainable_wellness-itm{
  flex: 0 0 calc(50% - 4px);
}
.sustainable_wellness-itm a {
  display: inline-block;
  position: relative;
  color: #3E3A39;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.75;
  width: 100%;
  background-color: #eee;
  padding: 6px 8px;
  background-color: #F2F2F2;
  box-sizing: border-box;
}
.sustainable_wellness-itm a::after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  top: 50%;
  right: 8px;
  border-top: 2px solid #CC2914;
  border-right: 2px solid #CC2914;
  transform: translateY(-50%) rotate(135deg);
}

@media screen and (max-width: 768px){
  .sustainable_wellness-itm{
    flex: 0 0 100%;
  }
}

.u_pc {
 display: none;
}

@media screen and (max-width: 768px){
  .u_pc {
    display:block
  }
}