@charset "UTF-8";
/*-------------------------------------------
Sanitize css
-------------------------------------------*/
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
article, aside, figure, footer, header, hgroup, nav, section {
  display: block;
}

img, object, embed {
  max-width: 100%;
}

html {
  overflow-y: scroll;
}

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th {
  font-weight: bold;
  vertical-align: top;
}

td {
  font-weight: normal;
  vertical-align: top;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 0;
  padding: 0;
}

input, select {
  vertical-align: top;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  white-space: pre-line;
  word-wrap: break-word;
}

table {
  font-size: inherit;
  font: 100%;
}

a:hover, a:active {
  outline: none;
}

strong, th {
  font-weight: bold;
}

td, td img {
  vertical-align: top;
}

sub, sup {
  font-size: 70%;
  line-height: 0;
  position: relative;
}

sub {
  bottom: -0.25em;
}

pre, code, kbd, samp {
  font-family: monospace, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

img {
  vertical-align: bottom;
}


/*-------------------------------------------
basic classes setting
-------------------------------------------*/

body {
  font: 18px "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", sans-serif;
  line-height: 1.75;
  color: #000;
  position: relative;
}

a {
  color: #008756;
  cursor: pointer;
}

a:link {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

i {
  font-style: normal;
}

sup {
  top: -5px;
}

.pcContent {
  display: block;
}

.spContent {
  display: none;
}

.fbold {
  font-weight: bold;
}

.fnormal {
  font-weight: normal;
}

.fcWhite {
  color: #fff;
}

.fcBlack {
  color: #000;
}

.fcGray {
  color: #757575;
}

.fcRed {
  color: #f00;
}

.fcGreen {
  color: #008756;
}

.fcOrange {
  color: #f0831e;
}

.dBlock {
  display: block;
}

.dIblock {
  display: inline-block;
}

.dNone {
  display: none;
}

.pcInline{
  display: inline-block;
}

.mid-inline{
  display:none;
}

.clear {
  clear: both;
}

.br_half{
  display:block;
  height: 0.8em;
  line-height:1;
}

.spEnlargeWrap .spEnlargeSwitch{
  display:none;
}

.mt-inline{
  display:none;
}

/*[in SP]----------------------------------------*/
@media all and (max-width: 896px) {
  .spContent {
     display: inline-block;
   }
   body{
     -webkit-text-size-adjust: 100%;
   }
   .pcInline,
   .sp-none{
     display:none;
   }
}

/*[in PC]----------------------------------------*/
@media screen and (min-width: 897px) {
  body {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5625;
    overflow-x:hidden;
  }
  .pcContent {
    display: none;
  }
  .spContent {
    display: none;
  }
  .pcInline{
    display: inline-block;
  }
}

/* [mq>897 & <1200 Mid] */
@media screen and (min-width: 897px) and (max-width: 1200px) {
  body {
    overflow-x:auto;
  }
  .mid-none{
    display:none;
  }
  .mid-inline{
    display:inline;
  }
}


@media print {
  html, body {
    /*zoom: 0.75;*/
    width: 1000px;
    margin: 0 auto;
  }
  body {
    min-width: 0;
  }
  .pageTop {
    display: none !important;
  }
}

@media screen and (max-width: 896px) {
  .spEnlargeWrap {
    display: inline-block;
    position: relative;
    max-width: 100%;
  }
  .spEnlargeWrap .spEnlargeSwitch {
    display: block;
    position: absolute;
    top: 5px;
    right: 5px;
    width: 44px;
    height: 44px;
  }
}

/* [mq>768 & <897 Mid] */
@media screen and (min-width: 768px) and (max-width: 897px) {
  .mid-space1{
    height:1em;
    display: block;
  }
  .mid-space05{
    height:0.5em;
    display: block;
  }
  .spEnlargeWrap .spEnlargeSwitch{
    display:none;
  }
  .mt-none{
    display:none;
  }
  .mt-inline{
    display:inline;
  }
}
 
/*==========================================
english site setting
===========================================*/

body.enSite, .enSite select, .enSite input, .enSite textarea {
  font: 18px Arial, Tahoma, sans-serif;
  color: #333;
  line-height: 1.5;
  word-break: normal;
  -webkit-text-size-adjust: none;
}

/*=========================================
global templates
=========================================*/

/*-------------------------------------------
footer (included)
-------------------------------------------*/

/*HD footer custom*/

footer[role="contentinfo"] .enFooterInfo .resonaGroupInfo .resonaGroup{
  width:100% !important;
  max-width:1200px;
}

footer[role="contentinfo"] {
  border-top: 1px solid #ddd;
}
footer[role="contentinfo"] .footerInfo .copyRight{
  color:#000;
}

/*HD footer custom*/
/* [mq>768 & <897 Mid] */
@media screen and (min-width: 768px) and (max-width: 897px) {
footer[role="contentinfo"] .footerInfo .resonaGroupInfo dl{
  width:100%;
  margin:0 auto;
}
}

/* [mq>897 & <1200 Mid] */
@media screen and (min-width: 897px) and (max-width: 1200px) {
footer[role="contentinfo"] .footerInfo .copyRight{
  width:calc(100% - 40px) !important;
}
}

/* [mq>913px & <1091px Mid] */
@media screen and (min-width: 913px) and (max-width: 1091px) {

footer[role="contentinfo"] .footerInfo .resonaGroupInfo .resonaGroup dt, footer[role="contentinfo"] .footerInfo .resonaGroupInfo .resonaGroup dt a, footer[role="contentinfo"] .footerInfo .resonaGroupInfo .resonaGroup dt a img{
  width:206px;/*253*/
}
footer[role="contentinfo"] .footerInfo .resonaGroupInfo .resonaGroup dd{
  width:183px !important;/*212 p26*/
}
footer[role="contentinfo"] .footerInfo .resonaGroupInfo dd ul .footerLogoResona, footer[role="contentinfo"] .footerInfo .resonaGroupInfo dd ul .footerLogoResona a, footer[role="contentinfo"] .footerInfo .resonaGroupInfo dd ul .footerLogoResona a img{
  width:66px !important;/*77*/
}
footer[role="contentinfo"] .footerInfo .resonaGroupInfo dd ul .footerLogoSaitama, footer[role="contentinfo"] .footerInfo .resonaGroupInfo dd ul .footerLogoSaitama a, footer[role="contentinfo"] .footerInfo .resonaGroupInfo dd ul .footerLogoSaitama a img{
  width:91px !important;/*109*/
}
/*下段*/
footer[role="contentinfo"] .footerInfo .resonaGroupInfo dl.kmfgGroup{
margin-left:20px !important;
}

footer[role="contentinfo"] .footerInfo .resonaGroupInfo .kmfgGroup dt, footer[role="contentinfo"] .footerInfo .resonaGroupInfo .kmfgGroup dt a, footer[role="contentinfo"] .footerInfo .resonaGroupInfo .kmfgGroup dt a img{
  width:289px !important;/*357*/
}
footer[role="contentinfo"] .footerInfo .resonaGroupInfo .kmfgGroup dd{
  width:182px !important;/*214 p26*/
}
footer[role="contentinfo"] .footerInfo .resonaGroupInfo dd ul .footerLogoKansaimirai, footer[role="contentinfo"] .footerInfo .resonaGroupInfo dd ul .footerLogoKansaimirai a, footer[role="contentinfo"] .footerInfo .resonaGroupInfo dd ul .footerLogoKansaimirai a img{
  width:88px !important;/*106*/
}
footer[role="contentinfo"] .footerInfo .resonaGroupInfo dd ul .footerLogoMinato, footer[role="contentinfo"] .footerInfo .resonaGroupInfo dd ul .footerLogoMinato a, footer[role="contentinfo"] .footerInfo .resonaGroupInfo dd ul .footerLogoMinato a img{
  width:68px !important;/*82*/
}
/*copyright*/
footer[role="contentinfo"] .footerInfo .copyRight{
  background-size:230px !important;
}
}

/*[in xs]----------------------------------------*/
@media screen and (max-width: 374px) {
footer[role="contentinfo"] .footerInfo .resonaGroupInfo .kmfgGroup dt, footer[role="contentinfo"] .footerInfo .resonaGroupInfo .kmfgGroup dt a, footer[role="contentinfo"] .footerInfo .resonaGroupInfo .kmfgGroup dt a img{
  width:100% !important;
}

}

.pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1;
}

.pageTop:hover img {
  opacity: 1;
}

.pageTop img {
  width: 100%;
  height: auto;
}

/*[in SP]----------------------------------------*/

@media screen and (max-width: 896px) {
  .pageTop {
    width: 40px;
    height: 40px;
  }
}

/*[in PC]----------------------------------------*/

@media screen and (min-width: 897px) {
  .pageTop {
    width: 60px;
    height: 60px;
  }
}


/*-------------------------------------------
header
-------------------------------------------*/

header .headerTop h1 {
  color: #000;
  font-size: 18px;
  font-weight: bold;
  margin-left: auto;
}

header .headerTop .logo {
  display: block;
}

header .headerTop .logo img {
  width: auto;
  vertical-align: bottom;
}


/*[in SP]----------------------------------------*/

@media screen and (max-width: 896px) {
  header {
    width: auto;
  }
  header .headerTop {
    margin: 0;
    display: block; 
  }
  header .headerTop .logo{
    display: block;
    position: relative;
    padding:17px 0 10px 13px;
  }
  header .headerTop .logo img {
    height:49.48px;
    width:262.95px;
  }
  header .headerTop h1 {
    font-size: 16px;
    line-height: 1;
    text-align:center;
    padding:10px;
  }
  header .btn_menu {
    width: 60px;
    height: auto;
    margin: 0;
    position: absolute;
    right: 0px;
    top: 20px;
    display: block;
    z-index:21;
  }
  header .btn_menu img {
    width: 36px;
  }  
  header .reportNav {
    width: 300px;
    height: 100%;
    margin-bottom: 0;
    background: #f0fff7;
    box-shadow:0px 0px 10px rgba(0,0,0,0.1);
    position: absolute;
    top: 0;
    right: 0;
    right: -300px;
    display: none;
    z-index: 20;
  }
  header .reportNav nav {
    width: auto;
    padding-left: 0;
    margin: 0px 25px;
    position:relative;
    top:80px;
  }
  header .reportNav nav>ul {
    display: list-item;
  }
  header .reportNav nav>ul>li {
    margin: 0 auto 20px auto;
  }
  header .reportNav nav>ul>li a {
    width: auto;
    height: auto;
    font-size: 18px;
    line-height: 140%;
    display:block;
    vertical-align: top;
    background:url("/integrated_report/asset/images/sp-menu_arrow.svg") no-repeat center left;
    background-size:14px;
    padding-left:20px;
    color:#000;
  }
  .enSite header .reportNav nav>ul>li a{
    background-position:0px 5px;
  }
  header .reportNav nav>ul>li.current {
    border-bottom: none;
  }
  header .reportNav nav>ul>li.current a {
    color: #000;
  }
  header .reportNav nav>ul>li.current:before {
    border-top: 1px solid #008756;
    border-right: 1px solid #008756;
  }
  header .reportNav .btn_close {
    width: 60px;
    height: auto;
    position: absolute;
    top: 20px;
    right: 0px;
    display: block;
  }
}

/*[in xs]----------------------------------------*/
@media screen and (max-width: 374px) {
header .headerTop .logo img {
    height:auto !important;
    width:calc(100% - 60px - 20px);
  }
}

/*[in PC]----------------------------------------*/

@media screen and (min-width: 897px) {
  header .headerTop {
    min-height: 66px;
    width:100%;
    max-width: 1200px;
    padding: 7px 0 0 0;
    margin: 0 auto 7px auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap:wrap;
  }
  header .headerTop .logo {
    height: 44px;
    position:relative;
    top:-3px;
    left:2px;
  }
  header .headerTop .logo img {
    width: auto;
    height: 49.49px;
  }
  header .btn_menu {
    display: none;
  }
  header .reportNav {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background: #fff;
    height: 56px !important;
    display:block !important;
  }
  header .reportNav nav {
    width:100%;
    max-width: 1200px;
    margin:0 auto;
  }
  header .reportNav nav>ul {
    display: flex;
  }
  header .reportNav nav>ul>li {
    display: block;
  }
  header .reportNav nav>ul>li a {
    color: #000;
    font-size: 16px;
    line-height: 1;
    font-weight: bold;
    padding: 20px 30px;
    display: block;
    text-align: center;
    background: #fff;
    transition: background .2s;
    border-right: 1px solid #ddd;
    position:relative;
  }
  header .reportNav nav>ul>li:first-child a {
    padding-left: 40px;
    padding-right: 40px;
    border-left: 1px solid #ddd;
  }
  header .reportNav nav>ul>li.current a {
    background: #e2f3eb;
    transition: background .2s;
  }
  header .reportNav nav>ul>li a:hover {
    background: #fff;
    color: #008756;
    text-decoration:underline;
  }
  header .reportNav nav>ul>li.current a:hover {
    background: #e2f3eb;
    color: #000;
  }
  header .reportNav .btn_close {
    display: none;
  }
  body.open{
    right:0px !important;
  }
}

/* [mq>897 & <1200 Mid] */
@media screen and (min-width: 897px) and (max-width: 1200px) {
  header .reportNav nav>ul>li{
    display:table;
  }
  .enSite header .reportNav nav>ul>li a{
    display:table-cell;
    vertical-align:middle;
    padding-left:15px;
    padding-right:15px;
  }
  header .reportNav{
    height: auto;
  }
  header .headerTop h1{
    padding-right:20px;
  }
  header .headerTop .logo{
    padding-left:20px;
  }
}

/*=========================================
main area settings [contents]
=========================================*/

/*-------------------------------------------
wrap
-------------------------------------------*/

/*[in SP]----------------------------------------*/
@media all and (max-width: 896px) {
  .wrap {
    margin: 20px auto;
  }
  .wrap.spm10{
    margin-top: 0px;
  }
}

/*[in PC]----------------------------------------*/
@media all and (min-width: 897px) {
  .wrap {
    width:100%;
    max-width: 1200px;
    margin: 20px auto 40px;
  }
}

/*-------------------------------------------
article setting [common]
-------------------------------------------*/

article.l-content {
  margin: 0 auto;
}

article.l-content h3,
article.l-content h4{
  font-weight: bold;
  position: relative;
}

article.l-content h3.contentTitle{
  background:#e2f3eb;
  line-height:1.5;
  padding:15px;
}
article.l-content h3.contentTitle::before{
  display:none;
}

article.l-content h4.question{
  color:#008756;
}
article.l-content h4.question::before{
  display:none;
}

.enSite article.l-content h4.question{
  line-height:1.5;
}

article.l-content figure {
  margin: 0 auto;
  text-align:center;
}
article.l-content figure.inner{
  margin:30px auto;
}

article.l-content figcaption {
  width: 100%;
  margin: 7px auto 0 auto;
  text-align:left;
}

article{
  counter-reset: listnum;
}

article.l-content figcaption ol{
  list-style-type: none;
}

article.l-content figcaption ol li{
  padding-bottom: 5px;
  line-height: 1.5;
  text-indent:-2.5em;
  padding-left:2.5em;
}

.enSite article.l-content figcaption ol li{
  text-indent:-1.25em;
  padding-left:1.25em;
}

.enSite article.l-content figcaption ol li.en_multi{
  text-indent:-1.75em;
  padding-left:1.75em;
}

article.l-content figcaption ol li.jp_multi{
  text-indent:-2.5em;
  padding-left:2.5em;
}

article.l-content figcaption ol li.single-line{
  text-indent:0;
  padding-left:0;
}

.ico_pdf:after {
  content: '';
  width: 19px;
  height: 20px;
  background: url('/integrated_report/asset/images/ico_pdf01.svg') no-repeat center center;
  background-size: 18px;
  display: inline-block;
}


/*[in SP]----------------------------------------*/

@media screen and (max-width: 896px) {
  article.l-content {
    padding: 30px 20px;
    width: auto;
  }
  article.l-content h3,
  article.l-content h4{
    font-size: 23px;
    margin: 20px 0 10px 0;
  }
  article.l-content h3.contentTitle{
    margin: 10px 0 10px 0;
  }
  article.l-content h3.contentTitle.spm30{
    margin-top: 40px;
  }
  article.l-content h3.contentTitle.spm30s{
    margin-top: 30px;
  }
  article.l-content h3.contentTitle + figure{
    margin-top:15px;
  }
  article.l-content h4 {
    font-size: 20px;
  }
  article.l-content p {
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 26px;
  }
  
  .enSite article.l-content p {
    font-size: 18px;
  }
  
  article.l-content p:last-child {
    margin-bottom: 0;
  }
  article.l-content p.m-intro{
    margin-bottom:30px !important;
  }
  
  article.l-content figure {
    margin: 0 auto;
    text-align: center;
  }
  article.l-content figcaption ol{
    text-align:left;
  }
  article.l-content figcaption ol li{
    font-size:14px;
  }
  .enSite article.l-content figcaption ol li{
    font-size:16px;
  }
  article.l-content figure.img_right{
    margin-bottom:20px;
  }
  article.l-content section +  section{/*loop*/
    padding-top:1px;
  }
  .menu_area{
    margin-top:0px;
    padding-top:0px;
  }
}


/*[in PC]----------------------------------------*/

@media screen and (min-width: 897px) {
  article.l-content {
    padding: 50px 0;
    width:100%;
    max-width: 1000px;
  }
  .menu_area + article.l-content{
    padding-top:20px;
  }
  article.l-content.type-column{
    padding-top:0px;
  }
  article.l-content h3,
  article.l-content h4{
    font-size: 28px;
    margin: 30px 0 10px 0;
  }  
  article.l-content h3.contentTitle{
    font-size:30px;
    margin-top:50px;
    margin-bottom:20px;
  }
  article.l-content h4 {
    font-size: 28px;
  }
  article.l-content h4.question{
    font-size: 24px;
  } 
  article.l-content p {
    font-size: 18px;
    line-height: 30px;
  }
  article.l-content figure {
    width: 100%;
    max-width:1000px;
  }
  article.l-content figure.img_right{
    float:right;
    width: 40%;
    padding-left:20px;
  }
  article.l-content figcaption ol li{
    font-size:14px;
  }
  .enSite article.l-content figcaption ol li{
    font-size:16px;
  }
}

/* [mq>897 & <1200 Mid] */
@media screen and (min-width: 897px) and (max-width: 1200px) {
  article.l-content p,
  article.l-content figcaption ol{
    padding-left:20px;
    padding-right:20px;
  }
  article.l-content figure{
    width:calc(100% - 40px);
  }
  article.l-content h4{
    padding:0px 20px;
  }
  article.l-content h3.contentTitle{
    padding-left:20px;
  }
}

/* [mq>768 & <897 Mid] */
@media screen and (min-width: 768px) and (max-width: 897px) {
article.l-content figure.img_right{
  float: right;
  width: 40%;
  padding-left: 20px;
}
article.l-content p.mid-mb1{
  margin-bottom:0;
}
}

/*-------------------------------------------
TopicPath [HD style]
-------------------------------------------*/

.topicPath {
  z-index: 1;
}

.topicPath ul li{
  display: inline-block;
}

.topicPath ul li a,
.topicPath ul li span{
  font-size:13px;
}

.topicPath ul li:before{
  content: "";
  display: inline-block;
  line-height: 1;
  background:url("/integrated_report/asset/images/arrow_tpath.svg") no-repeat center center;
  background-size:6px;
  padding:5px;
}

.topicPath ul li:first-child:before{
  background:none;
  padding:0px;
}

.topicPath ul li{
  margin-right: 0.8em;
  color: #008756;
}

.topicPath ul li a:hover {
  color: #F7920E;
}

.topicPath ul li:first-child {
  margin-left: 0;
}

.topicPath ul li:last-child{
  margin-right: 0;
}

.topicPath ul li strong span{
  color: #000;
  font-weight: normal;
  margin-left:0.8em;
}

/*[in SP]----------------------------------------*/
@media all and (max-width: 896px) {
  .topicPath {
    display:none;
  }
}

/*[in PC]----------------------------------------*/
@media screen and (min-width: 897px) {
  .topicPath {
    width:100%;
    max-width: 1200px;
    margin: 0 auto 50px auto;
    padding: 10px 0 0 0;
  }
}

/* [mq>897 & <1200 Mid] */
@media screen and (min-width: 897px) and (max-width: 1200px) {
  .topicPath ul{
    padding:0 20px;
  }
}

/*-------------------------------------------
list
-------------------------------------------*/

.listPoint li {
  margin-left: 1em;
}

.listPoint li:before {
  content: '・';
  width: 1em;
  margin-left: -1em;
  display: inline-block;
}

.listPoint li p {
  margin-left: 1em;
  text-indent: -1em;
}


/*===========================================

mainvisual settings

===========================================*/

.mv.top {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  padding-bottom: 1px;
}

.mv.top>picture img {
  width: 100%;
}

.mv.top .mv_contentBox {
  background: #F0F9F1;
  position: relative;
  z-index: 1;
}

.mv.top .mv_contentBox.light{
  box-shadow:0px 0px 5px #fff; 
}

.mv.top .mv_contentBox h2 {
  font-weight: bold;
}

.mv.top .mv_contentBox strong {
  font-weight: bold;
  line-height: 100%;
  display: block;
}

.mv.top .mv_contentBox em {
  font-style: normal;
  display: block;
}

.mv.top .mv_contentBox>em:first-child {
  font-weight: bold;
}

.mv.top .mv_contentBox a {
  display: block;
  background: #008756 url("/integrated_report/asset/images/arrow_borderW.svg") no-repeat 5% center;
  border-radius: 4px;
  color: #fff;
  text-align: center;
  margin: 0 auto;
  font-size: 18px;
  padding: 18px;
  line-height: 1;
  transition: all .35s;
  font-weight:bold;
  border:1px solid #008756;
}

.mv.top .mv_contentBox a:hover {
  background: #fff url("/integrated_report/asset/images/arrow_borderG.svg") no-repeat 7% center;
  color: #000;
}

.mv.top .mv_contentBox a.type_pdf {
  background-image: none;
  text-align: left;
  padding-left: 35px;
  position: relative;
}

.mv.top .mv_contentBox a.type_pdf .ico_pdf {
  font-size: 14px;
  position: absolute;
  top: calc(50% - 3px);
  transform: translateY(-50%);
  right: 30px;
  padding: 3px 0px;
  font-weight: normal !important;
}

.mv.top .mv_contentBox a.type_pdf .ico_pdf::before {
  content: '';
  width: 16px;
  height: 17px;
  background: url('/integrated_report/asset/images/ico_pdf01.svg');
  background-size: 16px;
  display: inline-block;
  margin-right: 10px;
  position: relative;
  top: 2px;
}

.mv.top .mv_contentBox a.type_pdf .ico_pdf:after {
  display: none;
}

.pdf_detail {
  display: block;
  background: #008756;
  color: #fff;
  border:1px solid #008756;
  font-weight: bold;
  font-size: 16px;
  padding: 20px;
  line-height: 1;
  position: relative;
  transition: all .2s;
  border-radius: 4px;
}

a.pdf_detail:hover {
  background: #fff;
  color: #000;
}

a.pdf_detail .ico_pdf {
  font-size: 14px;
  position: absolute;
  top: calc(50% - 3px);
  transform: translateY(-50%);
  right: 15px;
  padding: 3px 0px;
}

a.pdf_detail .ico_pdf:before {
  content: '';
  width: 16px;
  height: 17px;
  background: url('/integrated_report/asset/images/ico_pdf01.svg');
  background-size: 16px;
  display: inline-block;
  margin-right: 7px;
  position: relative;
  top: 2px;
}

a.pdf_detail .ico_pdf:after {
  display: none;
}

/*[in SP]----------------------------------------*/
@media screen and (max-width: 896px) {
  .mv.top{
  /*margin-bottom:100px;*/
  }
  .mv.top>picture img {
    width: 100%;
  }
  .mv.top .mv_contentBox {
    background: #F0F9F1;
    width:calc(100% - 80px);
    margin:-150px auto 0 auto;
    padding:20px;
  }
  .enSite .mv.top .mv_contentBox{
    /*bottom:-150px;*/
  }
  .enSite .sp_topmg{
    /*padding-top:80px;*/
  }
  
  .mv.top.type_cfo{
  margin-bottom:40px;
  }
  .mv.top.type_cfo .mv_contentBox {
    bottom:-40px;
  }
  .mv.top div h2 {
    margin: 10px auto 10px 0;
    font-size: 27px;
    line-height: 38px;
  }
  .mv.top div strong {
    margin: 10px auto 20px 0;
    font-size: 23px;
  }
  .enSite .mv.top div strong{
    margin:20px auto 10px 0;
  }
  .mv.top div em {
    font-size: 16px;
    line-height: 28px;
  }
  .enSite .mv.top div em {
    font-size: 18px;
  }
  .mv.top .mv_contentBox em+em {
    padding-top: 15px;
  }
  .mv.top div>em:first-child {
    font-size: 18px;
    line-height: 26px;
  }
  .enSite .mv.top .mv_contentBox strong + em{
    line-height:1.5;
    margin-bottom:20px;
  }
  .pdf_detail {
    margin-top: 15px;
  }
  .enSite .pdf_detail,
  .enSite a.pdf_detail .ico_pdf{
    font-size:18px;
  }
  .enSite .mv.top .mv_contentBox a.type_pdf .ico_pdf,
  .enSite a.type_pdf .ico_pdf{
    font-size:18px;
  }
}

/*[in xs]----------------------------------------*/
@media screen and (max-width: 374px) {
.pdf_detail{
  padding:20px 10px;
}
a.pdf_detail .ico_pdf{
  right:10px;
}
.mv.top .mv_contentBox a.type_pdf{
  padding-left:10px;
  font-size:16px;
}
.mv.top .mv_contentBox a.type_pdf .ico_pdf{
  right:10px;
}
.mv.top .mv_contentBox a.type_pdf .ico_pdf::before{
  margin-right:5px;
}
.enSite .mv.top .mv_contentBox a.type_pdf .ico_pdf,
.enSite .pdf_detail, .enSite a.pdf_detail .ico_pdf,
.enSite a.type_pdf .ico_pdf{
  font-size:16px !important;
}
a.pdf_detail .ico_pdf:before{
  margin-right:3px;
}
}

/*[in PC]----------------------------------------*/
@media screen and (min-width: 897px) {
.mv.top {
  height: 590px;
  width:100%;
  max-width:1200px;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  padding-bottom: 1px;
}

.mv.top.type_cfo {
  height: 488px;
  margin-top:20px;
}

.mv.top>picture {
  position: absolute;
  width: 100%;
  top: 0px;
}

.mv.top>picture img {
  width: 100%;
  min-width:1200px;
}

.mv.top .mv_contentBox {
  padding: 50px;
  margin-left: auto;
  right: 0px;
}
.enSite .mv.top .mv_contentBox{
  max-width:360px;
}
.mv.top.type_cfo .mv_contentBox {
  right: auto;
  margin-left: 0px;
  left: 100px;
  margin-right: auto;
  min-width: 330px;
}
.mv.top.type_cfo >picture img{
  position: relative;
  right:100px;
}

.mv.top .mv_contentBox h2 {
  margin: 20px auto 30px 0;
  font-size: 36px;
  line-height: 50px;
}

.mv.top .mv_contentBox strong {
  margin: 14px auto 40px 0;
  font-size: 26px;
  line-height: 100%;
}
.enSite .mv.top .mv_contentBox strong{
  margin-bottom:10px;
}

.mv.top .mv_contentBox em {
  font-size: 18px;
  line-height: 30px;
}
.enSite .mv.top .mv_contentBox strong + em{
  padding-bottom:40px;
  line-height:1.5;
}

.mv.top .mv_contentBox em+em {
  padding-top: 20px;
}
.mv.top .mv_contentBox>em:first-child {
  font-size: 24px;
  line-height: 26px;
}

.mv.top .mv_contentBox em+em {
  padding-top: 20px;
}
.pdf_detail {
  margin-top: 30px;
}
.enSite .mv.top .mv_contentBox a.type_pdf .ico_pdf{
  font-size:18px;
}
.enSite .pdf_detail{
  padding:20px 10px;
}
.enSite a.pdf_detail .ico_pdf{
  font-size:18px;
  right:7px;
}
}

/* [mq>897 & <1200 Mid] */
@media screen and (min-width: 897px) and (max-width: 1200px) {
  .mv.top>picture{
    overflow-x:hidden;
  }
  .mv.top.type_cfo>picture img{
    min-width:100%;
  }
  .mv.top.type_cfo>picture img{
    right:0px;
  }
  .mv.top.type_cfo{
    height:400px;
  }
  .mv.top.type_cfo .mv_contentBox{
    left:20px;
  }
  .mv.top .mv_contentBox{
    right:20px;
  }
}

/* [mq>768 & <897 Mid] */
@media screen and (min-width: 768px) and (max-width: 897px) {
  .mv.top{
    margin-bottom:0px;
  }
  .enSite .sp_topmg{
    padding-top:0px;
  }
  .mv.top picture{
    flex-grow:1;
  }
  .mv.top .mv_contentBox{
    position:absolute;
    margin:0 auto;
  }
  .mv.top .mv_contentBox.light,
  .mv.top.type_cfo .mv_contentBox{
    width:calc(100% - 100px);
    left:50%;
    transform: translateX(-50%);
    bottom:30px;
  }
  .pdf_detail{
    margin:0 auto;
  }
  .mv.top .mv_contentBox a{
    width:282px;
  }
  .mv.top .mv_contentBox a.type_pdf{
    width:265px;
  }
  .mv.top.type_cfo{
    margin-bottom:0px;
  }
}

/*===========================================

top page setting

===========================================*/

/*-------------------------------------------
colum3
-------------------------------------------*/

.col3box {
  margin: 0 auto;
}

.col3box dl {
  display: block;
  position: relative;
}

.col3box dl dd {
  padding: 25px;
  background: #fff;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.35);
  position: relative;
  z-index: 1;
}

.col3box dl dd p {
  margin-bottom: 16px;
  font-size: 18px;
  font-weight: bold;
  line-height: 30px;
}

.col3box dl dd small {
  margin-bottom: 6px;
  font-size: 16px;
  display: block;
  line-height: 1.5;
}

.col3box dl dd strong {
  font-size: 22px;
  font-weight: bold;
  line-height: 100%;
  display: block;
}
.col3box dl dd a.btn_detail,
.menu_related dl dd a.btn_detail{
  background: #008756 url("/integrated_report/asset/images/arrow_borderW.svg") no-repeat 5% center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  display: block;
  color: #fff;
  border:1px solid #008756;
  font-weight: bold;
  font-size: 16px;
  margin-top: 30px;
  padding: 20px;
  line-height: 1;
  position: relative;
  transition: all .2s;
  border-radius: 4px;
}
.col3box dl dd a:hover.btn_detail,
.menu_related dl dd a:hover.btn_detail{
  color:#000;
  background-color:#fff;
  background-image:url("/integrated_report/asset/images/arrow_borderG.svg");
}

/*[in SP]----------------------------------------*/
@media screen and (max-width: 896px) {
  .col3box {
    width:calc(100% - 40px);
    height: auto;
    margin:0 auto;
    display: block;
  }
  .col3box dl {
    width: 100%;
    margin-bottom: 100px;
    position: relative;
  }
  .col3box dl dt {
    width:calc(100% - 80px);
    overflow: hidden;
    text-align:left;
  }
  .col3box dl.wide{
    margin-bottom:-80px;
  }
  .col3box dl.wide dt{
    width:calc(100% - 40px);
  }
  
  .col3box dl dt img {
    width:100%;
  }
  .col3box dl dd {
    width: calc(100% - 80px);
    margin: 0 auto;
    padding: 20px;
    position: absolute;
    bottom: -70px;
    right:0px;
  }
  
  .col3box dl.wide dd{
    position:relative;
    bottom: 80px;
    right:-20px;
  }
  
  .col3box dl dd p {
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: bold;
    line-height: 30px;
  }
  .col3box dl dd small {
    font-size: 16px;
    display: block;
    line-height: 1.5;
    margin-bottom:0;
  }
  .enSite .col3box dl dd small {
    font-size: 18px;
  }
  .col3box dl dd strong {
    font-size: 23px;
    font-weight: bold;
    line-height: 1.5;
    padding-bottom:10px;
  }
  .enSite .col3box dl dd strong{
    padding-bottom:0px;
  }
  .enSite .col3box dl dd small{
    padding-bottom:10px;
  }
  .col3box dl dd .box_adjust a.btn_detail {
    margin-top:15px;
  }
  .enSite .menu_related dl dd a.btn_detail{
    background-size:25px;
  }
  .enSite .col3box dl dd a.btn_detail,
  .enSite .menu_related dl dd a.btn_detail{
    font-size:18px;
  }
}

/*[in xs]----------------------------------------*/
@media screen and (max-width: 374px) {
.col3box dl dd{
  padding:15px;
  width:calc(100% - 60px);
}
.menu_related dl dd a.btn_detail{
  background-size:25px;
}
}

/*[in PC]----------------------------------------*/
@media screen and (min-width: 897px) {
.col3box {
  width:100%;
  max-width: 1000px;
  min-height: 700px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.col3box dl {
  width: 33.3333%;
}
.col3box dl.wide {
  width: 66.6666%;
}
.col3box dl dt img {
  height: 430px;
}
.col3box dl dd {
  padding: 25px;
  margin-left: 20px;
  margin-right: 20px;
  margin-top: -100px;
  margin-bottom: 30px;
  min-height: 208px;
}
.col3box dl dd .box_adjust {
  position: absolute;
  bottom: 20px;
  display: block;
  width: calc(100% - 50px);
}
.col3box dl dd a.btn_detail.min {
  width: calc(100% - 50px);
}

.col3box dl dd a:hover.btn_detail,
.menu_related dl dd a:hover.btn_detail{
  background-color: #fff;
  background-position: 7% center;
}

.col3box dl dd .inner3col {
  display: flex;
  flex-wrap: wrap;
}

.col3box dl dd .inner3col .col1 {
  width: 33.3333%;
}
.col3box dl dd a.btn_detail{
  width: 320px;
}
.menu_related dl dd a.btn_detail.pc_mt0{
  margin-top:5px;
}

.enSite .pc_rspace0{
  height:10px;
  display:block;
}

.pc_rspace1{
  display:block;
  height:22px;
}
.enSite .pc_rspace1{
  height:40px;
}

.pc_rspace2{
  display:block;
  height:45px;
}
.enSite .pc_rspace2{
  height:20px;
}
.pc_rspace3{
  display:block;
  height:20px;
}
.enSite .pc_rspace3{
  height:60px;
}
.enSite .pc_rspace4{
  height:103px;
  display:block;
}
}

/* [mq>897 & <1200 Mid] */
@media screen and (min-width: 897px) and (max-width: 1200px) {
  .col3box dl dd a.btn_detail,
  .menu_related dl dd a.btn_detail{
    background-size:15%;
  }
}

/* [mq>768 & <897 Mid] */
@media screen and (min-width: 768px) and (max-width: 897px) {
  .col3box{
    display:flex;
    flex-wrap:wrap;
  }
  .col3box dl{
    width:50%;
    margin-bottom:100px;
  }
  .col3box dl dd{
    right:20px;
    bottom:-60px
  }
  .col3box dl.wide{
    width:100%;
  }
  .col3box dl.wide dt{
    width:100%;
  }
  .col3box dl.wide dd{
    right:0px;
  }
  .menu_related dl dd a.btn_detail{
    width:278px;
  }
}

/*-------------------------------------------
sx content
-------------------------------------------*/

.sx_content {
  background: url("/integrated_report/jp/2023/images/top/img_sxbg.jpg") no-repeat center center;
  background-size: 100%;
}

.sx_content .l-content {
  background: rgba(255, 255, 255, 0.85);
}

.sx_content .l-content h3 {
  margin: 0 auto;
  text-align: center;
  padding-bottom: 20px;
}

.sx_content .l-content h3::before {
  display: none;
}

.sx_content .l-content::after {
  content: "";
  display: block;
  clear: both;
}

.sx_content+.l-content {
  padding-top: 0px;
}

/*[in SP]----------------------------------------*/
@media screen and (max-width: 896px) {
.sx_content {
  padding: 20px;
  background: url("/integrated_report/jp/2023/images/top/img_sxbg.jpg") no-repeat center center;
  background-size:cover;
  margin:40px auto;
}
.sx_content .l-content {
  padding: 30px;
}
}

/*[in PC]----------------------------------------*/
@media screen and (min-width: 897px) {
.sx_content {
  padding: 70px 0;
  width:100%;
  max-width: 1200px;
  margin:0 auto;
}
.sx_content .l-content {
  padding: 50px 80px;
  width: 930px;
}
.i_pdfbtn {
  width: 250px;
  margin:0 auto;
}
}

/* [mq>897 & <1200 Mid] */
@media screen and (min-width: 897px) and (max-width: 1200px) {
  .sx_content {
    background-size:cover;
    padding: 50px 0;
  }
  .sx_content .l-content{
    width:calc(80% - 40px);
  }
}

/* [mq>768 & <897 Mid] */
@media screen and (min-width: 768px) and (max-width: 897px) {
.sx_content{
  padding:50px 20px;
}
.sx_content .l-content{
  width:calc(100% - 100px);
  }
.sx_content .i_pdfbtn{
  margin:0 auto;
  width:320px;
}
}

/*-------------------------------------------
report pdf
-------------------------------------------*/
.report h2 {
  margin-bottom: 40px;
  color: #008756;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  position: relative;
}

.report h2::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #008756;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.report h2 span {
  display: inline-block;
  background: #fff;
  padding: 0 15px;
  position: relative;
  z-index: 1;
}

.report figure {
  margin: 0 auto;
}

.report a {
  display: flex;
  align-items: center;
}

.report a:after {
  margin-left: auto;
  min-width:20px;
}

.report .bulk {
  margin: 0 auto 30px auto;
  border-bottom: 1px solid #ddd;
  font-size: 19px;
  font-weight: bold;
  padding-bottom: 7px;
}

.report .separate {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}
.report .separate div ul {
  margin-bottom: 30px;
}

.report .separate div ul li {
  margin-bottom: 12px;
  line-height: 22px;
}
.enSite .report .separate div ul li {
  line-height: 26px;
}

.report .separate div ul li ul {
  margin: 12px 0 22px 0;
}

.report .separate div ul li ul li {
  margin: 0 0 6px 1em;
  font-size: 16px;
}

.report .separate div ul li ul li:before {
  content: '・';
  margin-left: -1em;
}

.report .separate div a {
  display: flex;
  align-items: center;
}

.report .separate h3 i,
.report .separate div a span i {
  font-size: 14px;
  padding-left: 5px;
  display: inline-block;
  font-weight: normal;
}

.enSite .report .separate h3 i,
.enSite .report .separate div a span i{
  font-size:18px;
}

.report .separate h3 {
  margin-bottom: 20px;
  font-weight: bold;
  line-height: 22px;
  border-left: 6px solid #008756;
  padding-left: 10px;
}

.report .separate h3 span {
  flex-grow: 1;
}

.report .separate h3 a:after {
  text-align: center;
}

/*[in SP]----------------------------------------*/
@media screen and (max-width: 896px) {
  .report h2 {
    margin-bottom: 25px;
    font-size: 24px;
    line-height: 30px;
  }
  .report figure {
    width: calc(100vw - 20px);
  }
  .report a {
    font-size: 16px;
  }
  .enSite .report a {
    font-size: 18px;
  }
  .report .bulk {
    margin: 0 20px 27px 20px;
    font-size:18px;
  }
  .report .bulk a {
    font-size: 17px;
    padding-bottom: 7px;
  }
  .report .bulk a i {
    font-size: 14px;
  }
  .report .separate {
    margin: 0 20px;
    display: block;
  }
  .report .separate div ul li {
    margin-bottom: 10px;
    line-height: 22px;
    font-size: 16px !important;
  }
  .enSite .report .separate div ul li{
    font-size: 18px !important;
  }
  
  .report .separate div ul li ul {
    margin: 12px 0 22px 0;
  }
  .report .separate div ul li ul li {
    margin: 0 0 6px 1em;
  }
  .report .separate div ul li ul li:before {
    content: '・';
    margin-left: -1em;
  }
  .report .separate div a {
    display: flex;
    align-items: center;
  }
  .report .separate div a span {
    max-width: calc(100% - 30px);
  }
  .report .separate h3 {
    margin-bottom: 14px;
    font-size: 16px;
    line-height: 22px;
  }
  .enSite .report .separate h3{
    font-size: 18px;
  }
  
  .c_pdfbtn {
    width: 250px;
    margin: 20px auto 40px auto;
  }
  .c_pdfbtn.wide{
    width: 300px;
  }
  .enSite .c_pdfbtn.wide{
    width:90%;
  }
}

/*[in PC]----------------------------------------*/
@media screen and (min-width: 897px) {
.report figure {
  width:100%;
  max-width: 888px;
}
.report .bulk,
.report .separate{
  width:100%;
  max-width: 1000px;
}

.report .separate div {
  width: 30%;
  margin-right: 3.3333%;
}
.c_pdfbtn {
  width: 250px;
  margin: 0px auto 70px auto;
}
.c_pdfbtn.wide{
  width: 300px;
}
.report .separate h3 {
  font-size: 18px;
}
.enSite .report .separate h3 i,
.enSite .report .separate div a span i,
.enSite .report .separate div ul li ul li{
  font-size: 18px;
}
}

/* [mq>897 & <1200 Mid] */
@media screen and (min-width: 897px) and (max-width: 1200px) {
  .report .bulk,
  .report .separate{
    width:calc(100% - 40px);
  }
}

/* [mq>768 & <897 Mid] */
@media screen and (min-width: 768px) and (max-width: 897px) {
  .c_pdfbtn.wide,
  .enSite .c_pdfbtn.wide{
    width:320px;/*284-20-20*/
  }
}

/*===========================================

pages setting

===========================================*/

/*-------------------------------------------

related link [common]

-------------------------------------------*/

.menu_related {
  background: #F7F7F7;
}

.menu_related div {
  margin: 0 auto;
}

.menu_related div dl dt img {
  width: 100%;
}

.menu_related div dl dd {
  background: #fff;
  position: relative;
}

.menu_related div dl dd p {
  font-weight: bold;
}

.menu_related div dl dd small {
  display: block;
}

.menu_related div dl dd .multi{
  display:block;
  line-height:1.4;
  font-size:14px;
}
.menu_related div dl dd .multi strong{
  padding-bottom:8px;
  display:inline-block;
  font-size:16px;
}

.enSite .menu_related div dl dd .multi{
  font-size:14px;
  margin-bottom:10px;
}

.enSite .menu_related div dl dd .multi strong{
  padding-bottom:0px;
  padding-top:8px;
}
.enSite .menu_related div dl dd .multi strong:first-of-type{
  padding-top:0px;
}

.menu_related div dl dd strong {
  font-weight: bold;
  line-height: 100%;
}

/*[in SP]----------------------------------------*/
@media screen and (max-width: 896px) {
  .menu_related {
    padding: 20px 0 1px 0;
  }
  .menu_related div dl {
    width: calc(100% - 40px);
    margin: 0 auto 20px auto;
    display: flex;
    flex-wrap:wrap;
  }
  .menu_related div dl dt {
    width: 120px;
  }
  .menu_related div dl dd {
    width: calc(100% - 120px - 40px);
    padding: 20px;
    box-shadow:3px 3px 5px rgba(0,0,0,0.1);
  }
  .menu_related div dl dd p {
    margin-bottom: 10px;
    font-size: 18px;
    line-height: 22px;
  }
  .menu_related div dl dd small {
    margin-bottom: 3px;
    font-size: 14px;
    line-height: 1.5;
  }
  .enSite .menu_related div dl dd small{
    font-size:16px;
  }
  .menu_related div dl dd strong {
    font-size: 18px;
  }
  .enSite .menu_related div dl dd .multi{
    font-size:16px;
  }
}

/*[in xs]----------------------------------------*/
@media screen and (max-width: 374px) {
.menu_related div dl dt{
  width:80px;
}
.menu_related div dl dd{
  width:calc(100% - 80px - 40px)
}
}

/*[in PC]----------------------------------------*/
@media all and (min-width: 897px) {
.menu_related {
  padding: 60px 0;
  width:100%;
  max-width:1200px;
  margin:50px auto;
}
.menu_related div {
  width:100%;
  max-width: 1080px;
  display: flex;
  flex-wrap:wrap;
  justify-content: space-between;
}

.menu_related div dl {
  width: calc(50% - 15px);
  display: flex;
  align-items:center;
  background:#fff;
  box-shadow:3px 3px 5px rgba(0,0,0,0.1);
}
.menu_related div dl:nth-child(1){
  margin-right:15px;
}
.menu_related div dl:nth-child(2){
  margin-left:15px;
}

.menu_related div dl dt {
  width:200px;
  overflow: hidden;
  padding-left:20px;
}

.menu_related div dl dd {
  width: calc(100% - 200px - 60px);
  padding:30px 30px;
}

.menu_related div dl dd p {
  margin-bottom: 16px;
  font-size: 18px;
  line-height: 30px;
}
.enSite .menu_related div dl dd p{
  line-height:1.35;
}

.menu_related div dl dd small {
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 1.5;
}

.enSite .menu_related div dl dd small{
  margin-bottom:0;
  margin-top:5px;
}

.menu_related div dl dd strong {
  font-size: 23px;
  line-height: 100%;
}
}

/* [mq>897 & <1024 Mid] */
@media screen and (min-width: 897px) and (max-width: 1200px) {
  .menu_related div dl dd{
    padding-right:20px;
  }
  .menu_related div{
    width:calc(100% - 40px);
  }
}

/* [mq>768 & <897 Mid] */
@media screen and (min-width: 768px) and (max-width: 897px) {

.menu_related div dl dt{
  width:35%;
}
.menu_related div dl dd{
  width:calc(65% - 120px - 40px);
  flex-grow:1;
}

}


/*-------------------------------------------

page content [ceo,director,discussion]

-------------------------------------------*/
.mv.page_visual {
  position: relative;
}

.mv.page_visual .text h2 {
  font-weight: bold;
}

.mv.page_visual .text strong {
  font-weight: bold;
  line-height: 100%;
  display: block;
}

.mv.page_visual .text em {
  font-style: normal;
  display: block;
}

.mv.page_visual .text > em:first-child {
  font-weight: bold;
}

.mv.page_visual .text > p:last-child {
  margin-bottom: 0;
}

/*[in SP]----------------------------------------*/
@media all and (max-width: 896px) {
  .mv.page_visual {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
  .mv.page_visual picture {
    width: 100%;
    /*position: absolute;
    top: auto;
    left: auto;
    overflow: hidden;*/
  }
  .mv.page_visual picture img {
    width: 100%;
  }
  .mv.page_visual .text {
    /*position: relative;
    top: 57.3vw;*/
    width: calc(100% - 40px);
    padding: 30px 20px 0px 20px;
    margin:-40px auto 0 auto;
    background-color: #fff;
    box-sizing: border-box;
    /*margin: 0 auto 235px;*/
    position:relative;
    z-index:1;
  }
  .mv.page_visual.type_mid .text{
    /*padding-bottom: 0px;*/
    /*margin-bottom: 235px;*/
  }
  .enSite .mv.page_visual .en_text{
    /*width: calc(100% - 80px);
    padding: 0px 40px;
    margin:-15px auto 0 auto;
    position:relative;
    z-index:1;*/
  }
  
  .mv.page_visual .text h2 {
    margin: 0 0 24px;
    font-size: 28px;
    line-height: 40px;
  }
  .enSite .mv.page_visual .text p,
  .enSite .mv.page_visual .en_text p{
    font-size: 18px;
  }
  
  .mv.page_visual .text em {
    margin: 0 0 13px;
    font-size: 16px;
    line-height: 1.5;
  }
  .enSite .mv.page_visual .text em {
    font-size: 18px;
  }
  
  .mv.page_visual .text > em:first-child {
    font-size: 20px;
    line-height: 1;
  }
  .mv.page_visual .text strong {
    font-size: 23px;
    letter-spacing: 0.05em;
    margin-bottom:30px;
  }
  .enSite .mv.page_visual .text strong{
    margin-bottom:10px;
  }
}

/*[in PC]----------------------------------------*/
@media all and (min-width: 897px) {
.mv.page_visual {
  width:100%;
  max-width: 1200px;
  margin: 0 auto 50px auto;
  display:flex;
  flex-wrap:wrap;
}
.mv.page_visual picture{
  width:550px;
}
.mv.page_visual .text {
  width:calc(100% - 550px - 100px);
  padding: 0px 50px;
}
.enSite .mv.page_visual .text {
  padding-right: 0px;
  flex-grow:1;
}

.mv.page_visual.type_mid .text,
.mv.page_visual.type_large .text{
  padding-top:50px;
}

.enSite .mv.page_visual .en_text{
  padding: 0px 0px 0px 0px;
}

.mv.page_visual.type_large picture{
  width:750px;
}
.mv.page_visual.type_large .text{
  width:calc(100% - 750px - 100px);
  padding-left:0px;
}

.mv.page_visual .text h2 {
  margin: 20px auto 30px 0;
  font-size: 36px;
  line-height: 50px;
}

.mv.page_visual .text strong {
  margin: 14px auto 50px 0;
  font-size: 26px;
  line-height: 100%;
}

.enSite .mv.page_visual .text strong{
  margin-bottom:10px;
  margin-top:35px;
}

.mv.page_visual .text em {
  line-height: 28px;
}

.enSite .mv.page_visual .text strong + em{
  line-height:1.5;
}

.enSite .mv.page_visual .text strong + em + p{
  margin-top:50px;
}

.mv.page_visual .text > em:first-child {
  font-size: 24px;
  line-height: 26px;
}

.mv.page_visual .text p,
.mv.page_visual .en_text p {
  line-height: 1.7;
}
}

/* [mq>897 & <1200 Mid] */
@media screen and (min-width: 897px) and (max-width: 1200px) {
  .mv.page_visual.type_mid .text,
  .mv.page_visual.type_large .text{
    padding-right:20px;
    padding-top:20px;
  }
  .mv.page_visual.type_large picture{
    width:60%;
  }
  .enSite .mv.page_visual.type_large{
    margin-bottom:140px;
  }
  .mv.page_visual.type_large .text{
    width:calc(100% - 60% - 100px);
    flex-grow:1;
  }
}

/* [mq>768 & <897 Mid] */
@media screen and (min-width: 768px) and (max-width: 897px) {
.mv.page_visual .text.jp{
  margin-top:-40vh;
}
}
/* [mq>470 & <897 Mid] fix::::::: */
@media screen and (min-width: 470px) and (max-width: 897px) {
.mv.page_visual .text.jp{
  /*暫定*/
}
}

/*ceo anchor navigation---------*/
.page_menu li{
  border-bottom: solid 1px #008756;
}

.page_menu li a {
  display:block;
  margin:0 auto;
  color: #000;
  padding:15px;
  text-align: left;
  transition:all .2s;
  background: #fff;
}

.page_menu li a:hover {
  background: #008756;
  color:#fff;
}

/*[in SP]----------------------------------------*/
@media screen and (max-width: 896px) {
  .page_menu li{
    display:block;
    overflow-x:hidden;
  }
  .page_menu li a{
    width:calc(100% - 60px);
    background:url("/integrated_report/asset/images/arrow_sp_pmenu.svg") no-repeat 20px center;
    background-size:10px;
    padding-left:40px;
  }
  .page_menu li:hover{
    background: #008756;
  }
  article.l-content p.illust_title{
    margin-bottom:10px;
  }
  .illust_title + figure.inner{
    margin-top:10px !important;
  }
}

/* [mq>768 & <897 Mid] */
@media screen and (min-width: 768px) and (max-width: 897px) {
  .page_menu li a{
    padding-left:45px;
  }
}

 
 /*[in PC]----------------------------------------*/
@media all and (min-width: 897px) {
 .page_menu {
  width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.page_menu li {
  width:320px;
  display:flex;
  align-items: center;
}
.page_menu li:hover{
  background: #008756;
  color:#fff;
}

.page_menu li a {
  display:block;
  width:calc(100% - 30px);
  padding:20px 15px;
}

.page_menu li a:hover {
  background: #008756;
  color:#fff;
}
.illust_title strong{
  font-size:22px;
}
.illust_title + figure.inner{
  margin-top:15px !important;
}
}

/* [mq>897 & <1200 Mid] */
@media screen and (min-width: 897px) and (max-width: 1200px) {
  .page_menu{
    width:calc(100% - 80px);
    align-items: stretch;
  }
  .page_menu li{
    width:calc(33.3333% - 20px);
  }
}

/*discussion area-----------------------*/

.answer_wrap .a_name{
  display:block;
  font-weight:bold;
  text-align:center;
  background:#008756;
  color:#fff;
  position:relative;
}

/*[in SP]----------------------------------------*/
@media all and (max-width: 896px) {
  .pc_namePlates{
    display:none;
  }
  .sp_nameLists{
    padding:20px;
    width:calc(100% - 80px);
    margin:0px auto 0 auto;
    position:relative;
    z-index:1;
    border:1px solid #008756;
  }
  .sp_nameLists li{
    font-size:14px;
  }
  .enSite .sp_nameLists li{
    font-size:16px;
  }
  .inner_imgRight{
    display:block;
    margin-bottom:20px;
    text-align:center;
  }
  .answer_wrap .a_name{
    width:60px;
    font-size:14px;
    padding:3px 0;
    margin-bottom:10px;
  }
  .enSite .answer_wrap .a_name{
    width:90px;
    font-size:16px;
  }
  .answer_wrap + .answer_wrap{
    margin-top:30px;
  }
}

/*[in PC]----------------------------------------*/
@media all and (min-width: 897px) {
  .sp_nameLists{
    display:none;
  }
  .pc_namePlates{
    display:flex;
    flex-wrap:wrap;
    justify-content: space-between;
    width:600px;
    margin:0 auto 0 40px;
  }
  .enSite .pc_namePlates{
    width:650px;
    margin-left:20px;
    margin-top:-40px;
  }
  
  .inner_imgRight{
    float:right;
    padding-left:30px;
  }
  .inner_imgRight.sizeS{
    width:270px;
  }
  .answer_wrap{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
  }
  .answer_wrap + .answer_wrap{
    margin-top:30px;
  }
  .answer_wrap .a_name{
    width:80px;
    font-size:15px;
    padding:12px 0;
    top:5px;
  }
  .enSite .answer_wrap .a_name{
    width:90px;
    font-size:16px;
  }
  
  .answer_wrap p{
    width:calc(100% - 80px - 25px);
    padding-left:25px;
  }
  .enSite .answer_wrap p{
    width:calc(100% - 90px - 25px);
  }
  
  .answer_wrap p::after{
    content:"";
    display:block;
    clear:both;
  }
  .d_name{
    display:flex;
    align-items:center;
    width:calc(33.3333% - 30px - 30px);
    text-align:center;
    background:#008756;
    color:#fff;
    padding:15px 10px;
    position:relative;
    top:-20px;
  }
  
  .enSite .d_name{
    width:calc(33.3333% - 30px);
  }
  
  .enSite .d_name span{
    font-size:16px;
  }
  
  .d_name strong{
    font-size:20px;
  }
  
  .d_name.p1 strong,
  .d_name.p2 strong{
    display:inline-block;
    padding-top:25px;
  }
  .enSite .d_name.p1 strong,
  .enSite .d_name.p2 strong,
  .enSite .d_name.p3 strong{
    line-height:1.2;
    padding-top:0px;
  }
  .d_name span{
    flex-grow:1;
  }
}

/* [mq>897 & <1200 Mid] */
@media screen and (min-width: 897px) and (max-width: 1200px) {
  .pc_namePlates{
    width:calc(60% - 40px) !important;
    margin-right:20px;
    margin-left:20px;
    position:relative;
  }
  .enSite .pc_namePlates{
    position:absolute;
    bottom:-100px;
  }
  .d_name{
    width:calc(33.3333% - 30px);
    padding:15px 5px;
  }
  .answer_wrap p{
    width:calc(100% - 80px - 25px - 40px);
    padding-left:25px;
  }
  .l-content .answer_wrap p{
    padding-right:0px;
  }
  .answer_wrap p,
  .enSite .answer_wrap p{
    width:calc(100% - 90px - 25px - 20px);
    flex-grow:1;
  }
  .answer_wrap{
    width:calc(100% - 40px);
    margin:0 auto;
  }
  .mv.page_visual picture{
    width:45%;
  }
  .mv.page_visual .text h2{
    font-size:35px;
  }
  .mv.page_visual .text{
    width:calc(100% - 45% - 80px);
    padding: 0px 30px 0 50px;
  }
}


/* [mq>768 & <897 Mid] */
@media screen and (min-width: 768px) and (max-width: 897px) {
  .mv.page_visual picture {
    position: relative;
  }
  .mv.page_visual .text {
    position: relative;
    top: auto;
    margin-bottom:0px !important;
  }
  .mid-none{
    display:none;
  }
  .answer_wrap{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
  }
  .answer_wrap + .answer_wrap{
    margin-top:30px;
  }
  .answer_wrap .a_name{
    width:80px;
    font-size:15px;
    padding:3px 0;
    top:5px;
  }
  .enSite .answer_wrap .a_name{
    width:90px;
    font-size:16px;
  }
  .answer_wrap p{
    width:calc(100% - 80px - 25px);
    padding-left:25px;
  }
  .enSite .answer_wrap p{
    width:calc(100% - 90px - 25px);
  }
  .inner_imgRight{
    float:right;
    padding-left:15px;
  }
  .inner_imgRight.sizeS{
    width:40%;
  }
}
