  @charset "utf-8";

/* ======================================================
 * parts_pc.css
 * ------------------------------------------------------
 * @media print, screen and (min-width: 768px)
 * - Common
 * - Elements >>> Text
 * - Elements >>> List
 * - Elements >>> Link
 * - Elements >>> Image
 * - Elements >>> Other
 * - Conditional Elements >>> Heading
 * - Conditional Elements >>> Navi
 * - Layout >>> Table
 * - Layout >>> Column
 * - Layout >>> Box
 * - Layout >>> Other
 * - Components
 * - Clearfix
 * Media Queriesi
====================================================== */

@media print, screen and (min-width: 768px) {
  /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
  a:link img {
    -webkit-backface-visibility:hidden;
    backface-visibility: hidden;
  }
  /* ----- sprite ----- */
  .a-blank::after,
  .a-pdf::after,
  .a-print::after,
  .a-mail::after,
  .a-excel::after,
  .a-word::after,
  .a-ppt::after,
  .a-rss::after,
  .a-zip::after,
  .a-video::after,
  .a-modal::before,
  [class*="heading-lv"] .a-blank .heading_title::after,
  [class*="heading-lv"] .a-pdf .heading_title::after,
  .link-list .a-blank::after,
  .news-layout .a-blank .news_title::after,
  .news-layout .a-pdf .news_title::after,
  .plugin-layout a .a-blank::after {
    vertical-align: top;
    background: url(/jp/common/img/com_sprite01.png) no-repeat;
    content: "";
  }
  .a-blank::after,
  [class*="heading-lv"] .a-blank .heading_title::after,
  .link-list .a-blank::after,
  .news-layout .a-blank .news_title::after,
  .plugin-layout a .a-blank::after {
    width: 13px;
    height: 13px;
    background-position: 0 0;
  }
  .a-pdf::after,
  [class*="heading-lv"] .a-pdf .heading_title::after,
  .news-layout .a-pdf .news_title::after {
    width: 17px;
    height: 17px;
    background-position: -80px 0;
  }
  .a-print::after {
    width: 16px;
    height: 14px;
    background-position: -120px 0;
  }
  .a-mail::after {
    width: 15px;
    height: 12px;
    background-position: -160px 0;
  }
  .link-inline.a-mail::after {
    display: inline-block;
    margin-left: 12px;
    vertical-align: middle;
  }
  .a-excel::after {
    width: 15px;
    height: 17px;
    background-position: 0 -40px;
  }
  .a-word::after {
    width: 15px;
    height: 17px;
    background-position: -40px -40px;
  }
  .a-ppt::after {
    width: 15px;
    height: 17px;
    background-position: -80px -40px;
  }
  .a-rss::after {
    width: 15px;
    height: 15px;
    background-position: -120px -40px;
  }
  .a-zip::after {
    width: 15px;
    height: 17px;
    background-position: -160px -40px;
  }
  .a-video::after {
    width: 17px;
    height: 14px;
    background-position: -200px -40px;
  }
  .a-modal::before {
    position: absolute;
    top: 0 !important;
    bottom: 0 !important;
    margin: auto 0 !important;
    left: 0;
  }
  .link-button .a-modal::before,
  .link-button-v2 .a-modal::before {
    border: none;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  .link-button .a-modal::before {
    width: 15px !important;
    height: 15px !important;
    background-position: -80px -80px;
  }
  .link-button-v2 .a-modal::before {
    width: 18px !important;
    height: 19px !important;
    background-position: -164px -136px;
  }
  .modal_link-text .a-modal::before {
    left: 110%;
    width: 15px !important;
    height: 15px !important;
    background-position: -80px -80px;
  }
  .link-button .a-modal:hover::before,
  .link-button-v2 .a-modal:hover::before {
    border: none;
  }
  .link-button-v2 .a-modal:hover::before {
    background-position: -192px -136px;
  }
  .modal_link-text {
    margin-top: 1em;
    margin-right: 25px;
  }
  .modal_link-text .a-modal {
    position: relative;
    color: #333;
    font-size: 2rem;
  }
  [class*="heading-lv"] .a-blank::after,
  [class*="heading-lv"] .a-pdf::after,
  .news-layout .a-blank::after,
  .news-layout .a-pdf::after {
    display: none;
  }

  /* link-inline */
  .link-inline.a-blank::after,
  .link-inline.a-pdf::after {
    display: inline-block;
    margin: .3em 8px 0 8px;
  }

  /* link-text */
  .link-text > li > .a-blank::after,
  .link-text > li > .a-pdf::after,
  .link-text > li > .a-print::after,
  .link-text > li > .a-mail::after,
  .link-text > li > .a-excel::after,
  .link-text > li > .a-word::after,
  .link-text > li > .a-ppt::after,
  .link-text > li > .a-rss::after,
  .link-text > li > .a-zip::after,
  .link-text > li > .a-video::after {
    display: inline-block;
    margin: .3em 0 0 12px;
  }
  /* link-list */
  .link-list > li > .a-blank::after,
  .link-list > li > .a-pdf::after {
    display: inline-block;
    margin: .5em 0 0 12px;
  }

  /* link-button */
  .link-button > li > .a-blank::after,
  .link-button > li > .a-pdf::after {
    position: relative;
    display: inline-block;
    margin: .3em 0 0 10px;
  }
  .link-button-v2 > li > .a-blank::after,
  .link-button-v4 > li > .a-blank::after {
    position: relative;
    display: inline-block;
    margin: .3em 0 0 10px;
    width: 13px;
    height: 13px;
    background-position: -40px 0;
  }
  .link-button-v2 > li > .a-blank:hover::after,
  .link-button-v4 > li > .a-blank:hover::after {
    background-position: 0 0;
  }
  .link-button-v2 > li > .a-pdf::after,
  .link-button-v4 > li > .a-pdf::after {
    position: relative;
    display: inline-block;
    margin: .3em 0 0 10px;
  }

  /* heading-lv** */
  [class*="heading-lv"] .a-blank .heading_title::after,
  [class*="heading-lv"] .a-pdf .heading_title::after {
    display: inline-block;
    margin: .4em 0 0 15px;
  }

  /* news-layout */
  .news-layout .a-blank .news_title::after,
  .news-layout .a-pdf .news_title::after {
    display: inline-block;
    margin: .25em 0 0 12px;
  }

  /* plugin-layout */
  .plugin-layout a .a-blank::after {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin: .3em 9px 0 9px;
  }

  /* ----- opacity ----- */
  .link-inline:hover,
  .link-text > li > a:hover,
  [class*="heading-lv"] a:hover .heading_title,
  .navi-anchor .navi-inner > li > a:hover,
  .navi-anchor-v2 .navi-inner > li > a:hover,
  .news-layout a:hover .news_thumbnail,
  .news-layout a:hover .news_title,
  .plugin-layout a:hover .a-blank {
    opacity: .6;
  }

  /* ----- data-row-pc ----- */
  [data-row-pc]:not([data-row-pc="1"]) {
    -webkit-display: flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
  }
  [data-row-pc] > * {
    margin-left: 36px;
  }
  [data-row-pc="2"] > *:nth-child(-n+2),
  [data-row-pc="3"] > *:nth-child(-n+3),
  [data-row-pc="4"] > *:nth-child(-n+4),
  [data-row-pc="5"] > *:nth-child(-n+5),
  [data-row-pc="6"] > *:nth-child(-n+6) {
    margin-top: 0 !important;
  }
  [data-row-pc="1"] > *,
  [data-row-pc="2"] > *:nth-child(2n+1),
  [data-row-pc="3"] > *:nth-child(3n+1),
  [data-row-pc="4"] > *:nth-child(4n+1),
  [data-row-pc="5"] > *:nth-child(5n+1),
  [data-row-pc="6"] > *:nth-child(6n+1) {
    margin-left: 0 !important;
  }
  [data-row-pc="2"] > * {
    width: calc((100% - 36.1px) / 2);
  }
  [data-row-pc="3"] > * {
    width: calc((100% - 72.1px) / 3);
  }
  [data-row-pc="4"] > * {
    width: calc((100% - 108.1px) / 4);
  }
  [data-row-pc="5"] > * {
    width: calc((100% - 144.1px) / 5);
  }
  [data-row-pc="6"] > * {
    width: calc((100% - 180.1px) / 6);
  }

  /* ------------------------------------------------------
   * Elements >>> Text
  ------------------------------------------------------ */
  /* ----- text-paragraph ----- */
  .text-paragraph {
    margin-top: 1em !important;
  }

  /* ----- text-lead ----- */
  .text-lead {
    margin-top: 1em;
    font-size: 2rem;
    font-weight: 500;
    font-family: "Noto Sans CJK JP";
  }
  .text-lead-v2 {
    margin-top: 1em;
    font-size: 1.6rem;
    font-weight: 500;
    font-family: "Noto Sans CJK JP";
  }
  /* ----- text-title ----- */
  .text-title {
    margin-top: 2em;
    font-size: 1.8rem;
    font-weight: 700;
    font-family: "Noto Sans CJK JP";
  }

  /* ----- news-text-date ----- */
  .news-text-date {
    text-align: right;
  }

  /* ----- sup ----- */
  .heading-lv1 .heading_title sup,
  .heading-lv2 .heading_title sup,
  .heading-lv3 .heading_title sup {
    top:-.4em;
    font-size:74%;
    font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Myriad Pro, Myriad, Arial, sans-serif;
  }
	.heading-lv1 .heading_title sup.v-trade,
  .heading-lv2 .heading_title sup.v-trade,
  .heading-lv3 .heading_title sup.v-trade {
    top:-1em;
    font-size:45%;
    font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Myriad Pro, Myriad, Arial, sans-serif;
    font-weight: 700;
  }
  .index-layout-v2 .index_title sup,
  .index-layout-v2_info .index_title sup {
    top: 0.1em;
    font-size: 100%;
  }
  .index-layout-v2 .index_title sup.v-trade,
  .index-layout-v2_info .index_title sup.v-trade {
    top: -0.7em;
    font-size: 65%;
	}

  /* ------------------------------------------------------
   * Elements >>> List
  ------------------------------------------------------ */
  [class*="list-note"],
  [class*="list-bullet"],
  [class*="list-order"] {
    margin-top: 1em;
  }
  [class*="list-note"] > li + li,
  [class*="list-bullet"] > li + li,
  [class*="list-order"] > li + li,
  .is-nest {
    margin-top: .5em;
  }

  /* ----- list-note ----- */
  .list-note > li {
    position: relative;
    padding-left: 1.42em;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .list-note > li > .list_mark {
    position: absolute;
    top: 0;
    left: 0;
  }

  /* ----- list-note-order ----- */
  .list-note-order > li {
    position: relative;
    padding-left: 3.1em;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .list-note-order > li > .list_mark {
    position: absolute;
    top: 0;
    left: 0;
  }
  .list-note-order > li > .list_mark::after {
    content: ".";
  }

  /* ----- list-bullet ----- */
  .list-bullet > li {
    position: relative;
    padding-left: 20px;
  }

  /* icon */
  .list-bullet > li::before {
    position: absolute;
    top: .5em;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #e50014;
    content: "";
  }

  /* ----- list-bullet-v2 ----- */
  .list-bullet-v2 > li {
    position: relative;
    padding-left: 15px;
    font-size: 1.4rem;
  }

  /* icon */
  .list-bullet-v2 > li::before {
    position: absolute;
    top: .5em;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #666;
    content: "";
  }

  /* ----- list-bullet-v3 ----- */
  .list-bullet-v3 > li {
    position: relative;
    padding-left: 15px;
  }

  /* icon */
  .list-bullet-v3 > li::before {
    position: absolute;
    top: .6em;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #666;
    content: "";
  }

  /* ----- list-bullet-v4 ----- */
  .list-bullet-v4 > li {
    position: relative;
    padding-left: 15px;
    font-size: 1.4rem;
  }

  /* icon */
  .list-bullet-v4 > li::before {
    position: absolute;
    top: .7em;
    left: 0;
    width: 8px;
    height: 2px;
    background-color: #666;
    content: "";
  }

  /* ----- list-order ----- */
  .list-order > li {
    position: relative;
    padding-left: 2.25em;
  }
  .list-order > li > .list_mark {
    position: absolute;
    top: 0;
    left: 0;
    font-weight: bold;
    color: #e50014;
  }

  /* ----- list-order-v2 ----- */
  .list-order-v2 > li {
    position: relative;
    padding-left: 3.28em;
    font-size: 1.4rem;
  }
  .list-order-v2 > li > .list_mark {
    position: absolute;
    top: 0;
    left: 0;
  }

  /* ----- list-description ----- */
  .list-description > dt {
    margin: 1em 0 .5em;
    font-size: 1.6rem;
    font-weight: bold;
  }
  .list-description > dd {
    padding-left: 12px;
  }

  /* ----- list-description-v2 ----- */
  .list-description-v2 > dt {
    float: left;
  }
  .list-description-v2 > dd {
    overflow: hidden;
  }
  .list-description-v2::after {
    content: "";
    clear: both;
    display: block;
  }

  /* ------------------------------------------------------
   * Elements >>> Link
  ------------------------------------------------------ */
  /* ----- link-text ----- */
  .link-text {
    margin-top: 1em;
  }
  .link-text > li + li {
    margin-top: .5em;
  }
  .link-text > li > a,
  .link-text > li > span.block {
    display: inline-block;
    position: relative;
    padding-left: 18px;
    color: #333;
  }
  .link-text > li > a:visited,
  .link-text > li > span.block:visited {
    color: #333;
  }
  .link-text > li > a:hover,
  .link-text > li > span.block:hover {
    text-decoration: none;
    color: #aaa;
  }
  .link-text > li.is-current > a,
  .link-text > li.is-current > span.block {
    font-weight: bold;
  }

  /* icon */
  .link-text > li > a::before,
  .link-text > li > span.block::before {
    position: absolute;
    top: .5em;
    left: -3px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 1px solid #eb3747;
    border-right: 1px solid #eb3747;
    content: "";
  }
  .link-text > li.is-current > a::before,
  .link-text > li.is-current > span.block::before {
    position: absolute;
    top: .5em;
    left: -3px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    content: "";
  }

  /* data-row-pc */
  .link-text[data-row-pc="auto"] {
    margin-right: -60px;
    margin-bottom: -.5em;
  }
  .link-text[data-row-pc="auto"] > li {
    margin: 0 60px .5em 0;
  }

  /* ----- link-button ----- */
  [class*="link-button"] {
    margin-top: 1em;
  }
  .link-button > li > a {
    display: inline-block;
    position: relative;
    min-width: 280px;
    padding: 14px 40px 13px;
    border: 1px solid #999;
    background-color: #fff;
    color: #333;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
  }
  .link-button > li > a.is-current,
  .link-button > li > a:hover {
    background-color: #efefef;
  }
  .link-button .link_label {
    display: inline;
    line-height: 1.5;
  }

  /* icon */
  .link-button > li > a::before {
    position: absolute;
    top: 50%;
    left: 12px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 1px solid #e90f0f;
    border-right: 1px solid #e90f0f;
    content: "";
  }

  /* data-row-pc */
  .link-button[data-row-pc] > li {
    -webkit-display: flex;
    display: flex;
    margin-top: 20px;
  }
  .link-button[data-row-pc] > li > a {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    min-width: 0;
  }

  /* ----- link-button-center ----- */
  .link-button-center > li > a {
    display: inline-block;
    position: relative;
    min-width: 280px;
    padding: 14px 40px 13px;
    border: 1px solid #999;
    background-color: #fff;
    color: #333;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
  }
  .link-button-center > li > a.is-current,
  .link-button-center > li > a:hover {
    background-color: #efefef;
  }
  .link-button-center .link_label {
    display: inline;
    line-height: 1.5;
  }
  /* icon */
  .link-button-center > li > a::before {
    position: absolute;
    margin: auto 0;
    left: 12px;
    margin-top: -4px;
    vertical-align: top;
    background: url(/jp/common/img/com_sprite01.png) no-repeat;
    width: 15px;
    height: 15px;
    background-position: -80px -80px;
    content: "";
  }
  /* data-row-pc */
  .link-button-center[data-row-pc] > li {
    -webkit-display: flex;
    display: flex;
    margin-top: 20px;
  }
  .link-button-center[data-row-pc] > li > a {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    min-width: 0;
  }

  /* ----- link-button-v2 ----- */
  .link-button-v2 > li > a {
    display: inline-block;
    position: relative;
    min-width: 280px;
    padding: 14px 40px 13px;
    border: 2px solid #333;
    background-color: #333;
    color: #fff;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
  }
  .link-button-v2 > li > a.is-current,
  .link-button-v2 > li > a:hover {
    background-color: #fff;
    color: #333;
  }
  .link-button-v2 .link_label {
    display: inline;
    line-height: 1.5;
    font-weight: bold;
  }

  /* icon */
  .link-button-v2 > li > a::before {
    position: absolute;
    top: 50%;
    left: 12px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    content: "";
  }
  .link-button-v2 > li > a.is-current::before,
  .link-button-v2 > li > a:hover::before {
    border-top: 1px solid #333;
    border-right: 1px solid #333;
  }

  /* data-row-pc */
  .link-button-v2[data-row-pc] > li {
    -webkit-display: flex;
    display: flex;
    margin-top: 20px;
  }
  .link-button-v2[data-row-pc] > li > a {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    min-width: 0;
  }
  /* ----- link-button-v2-center ----- */
  .link-button-v2-center > li > a {
    display: inline-block;
    position: relative;
    min-width: 280px;
    padding: 14px 40px 13px;
    border: 2px solid #333;
    background-color: #333;
    color: #fff;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
  }
  .link-button-v2-center > li > a.is-current,
  .link-button-v2-center > li > a:hover {
    background-color: #fff;
    color: #333;
  }
  .link-button-v2-center .link_label {
    display: inline-block;
    line-height: 1.5;
  }
  /* icon */
  .link-button-v2-center > li > a::before {
    position: absolute;
    top: 50%;
    left: 12px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    content: "";
  }
  .link-button-v2-center > li > a.is-current::before,
  .link-button-v2-center > li > a:hover::before {
    border-top: 1px solid #333;
    border-right: 1px solid #333;
  }
  /* data-row-pc */
  .link-button-v2-center[data-row-pc] > li {
    -webkit-display: flex;
    display: flex;
    margin-top: 20px;
  }
  .link-button-v2-center[data-row-pc] > li > a {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    min-width: 0;
  }
  /* ----- link-button-v3 ----- */
  .link-button-v3 {
    margin-top: 2em;
  }
  .link-button-v3 > li > a {
    display: inline-block;
    position: relative;
    min-width: 280px;
    padding: 14px 40px 13px;
    border: 1px solid #999;
    background-color: #fff;
    color: #333;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
  }
  .link-button-v3 > li > a:hover {
    background-color: #efefef;
  }
  .link-button-v3 .link_label {
    display: inline;
    line-height: 1.5;
  }

  /* icon */
  .link-button-v3 > li > a::before {
    position: absolute;
    top: 50%;
    left: 16px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    width: 8px;
    height: 8px;
    margin-top: -6px;
    border-top: 1px solid #e90f0f;
    border-right: 1px solid #e90f0f;
    content: "";
  }
  .link-button-v3 > li > a.see-more-close::before {
    margin-top: -2px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  /* ----- link-button-inquiry ----- */
  .link-button-inquiry {
    margin-top: 2em;
  }
  .link-button-inquiry + .link-button-inquiry {
    margin-top: 1em;
  }
  .link-button-inquiry > li > a {
    width: 620px;
  }
  .link-button-inquiry > li > .a-blank::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 12px;
    margin: auto 0;
  }
  /* ----- link-button-v4 ----- */
  .link-button-v4 > li > a {
    display: inline-block;
    position: relative;
    min-width: 280px;
    padding: 14px 40px 13px;
    border: 2px solid #e50014;
    background-color: #e50014;
    color: #fff;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
  }
  .link-button-v4 > li > a.is-current,
  .link-button-v4 > li > a:hover {
    background-color: #fff;
    color: #e50014;
  }
  .link-button-v4 .link_label {
    display: inline;
    line-height: 1.5;
    font-weight: bold;
  }

  /* icon */
  .link-button-v4 > li > a::before {
    position: absolute;
    top: 50%;
    left: 12px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    content: "";
  }
  .link-button-v4 > li > a.is-current::before,
  .link-button-v4 > li > a:hover::before {
    border-top: 1px solid #e50014;
    border-right: 1px solid #e50014;
  }

  /* data-row-pc */
  .link-button-v4[data-row-pc] > li {
    -webkit-display: flex;
    display: flex;
    margin-top: 20px;
  }
  .link-button-v4[data-row-pc] > li > a {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    min-width: 0;
  }
  /* ----- link-button-v4-center ----- */
  .link-button-v4-center > li > a {
    display: inline-block;
    position: relative;
    min-width: 280px;
    padding: 14px 40px 13px;
    border: 2px solid #e50014;
    background-color: #e50014;
    color: #fff;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
  }
  .link-button-v4-center > li > a.is-current,
  .link-button-v4-center > li > a:hover {
    background-color: #fff;
    color: #e50014;
  }
  .link-button-v4-center .link_label {
    display: inline-block;
    line-height: 1.5;
  }
  /* icon */
  .link-button-v4-center > li > a::before {
    position: absolute;
    top: 50%;
    left: 12px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    content: "";
  }
  .link-button-v4-center > li > a.is-current::before,
  .link-button-v4-center > li > a:hover::before {
    border-top: 1px solid #e50014;
    border-right: 1px solid #e50014;
  }
  /* data-row-pc */
  .link-button-v4-center[data-row-pc] > li {
    -webkit-display: flex;
    display: flex;
    margin-top: 20px;
  }
  .link-button-v4-center[data-row-pc] > li > a {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    min-width: 0;
  }
  /* ----- close-button ----- */
  .close-button {
    margin-top: 50px;
  }
  .close-button > li > a.a-close {
    display: inline-block;
    position: relative;
    min-width: 280px;
    padding: 14px 40px 13px;
    border: 1px solid #999;
    background-color: #fff;
    color: #333;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
  }
  .close-button > li > a:hover {
    background-color: #efefef;
  }
  .close-button .link_label {
    display: inline-block;
    line-height: 1.5;
  }
  .close-button .a-close::before,
  .close-button .a-close::after {
    position: absolute;
    top: 50%;
    left: 12px;
    content: "";
    display: block;
    width: 12px;
    border: none;
    border-top: 1px solid #e50014;
  }
  .close-button .a-close::before {
    -webkit-transform: skewY(-45deg);
    transform: skewY(-45deg);
  }
  .close-button .a-close::after {
    -webkit-transform: skewY(45deg);
    transform: skewY(45deg);
  }
  /* ----- pageTopLink ----- */
  .pageTopLink {
    margin-top: 40px;
    text-align: right;
  }
  .pageTopLink > a {
    position: relative;
    padding-left: 20px;
    display: inline-block;
    color: #333;
  }
  .pageTopLink > a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.4em;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 7px 14px 7px;
    border-color: transparent transparent #fa084c transparent;
  }
  /* ------------------------------------------------------
   * Element >>> Image
  ------------------------------------------------------ */
  /* ----- image-set ----- */
  .image-set {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    margin-top: 1em;
    max-width: 100%;
  }
  .image-set-v3 {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    margin-top: 2em;
    max-width: 100%;
  }
  .image-set + .image-set,
  .image-set-v3 + .image-set-v3 {
    margin-top: 2em;
  }
  .image-set .image_inner,
  .image-set-v3 .image_inner {
    min-width: 1px;
  }
  [class*="column-media"] > .column_image > .image-set + .image-set,
  [class*="column-media"] > .column_image > .image-set-v3 + .image-set-v3 {
    margin-top: 1em;
  }
  .image-set.gp-al-left,
  .image-set-v3.gp-al-left {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
  }
  .image-set.gp-al-right,
  .image-set-v3.gp-al-right {
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
  }
  .image-set:not(.gp-al-left):not(.gp-al-right) .image_inner,
  .image-set-v3:not(.gp-al-left):not(.gp-al-right) .image_inner {
    text-align: center;
  }
  [class*="column-layout"] > .column_item > .image-set .image_inner,
  [class*="column-media"][data-media-size] > .column_image > .image-set .image_inner,
  [class*="column-layout"] > .column_item > .image-set-v3 .image_inner,
  [class*="column-media"][data-media-size] > .column_image > .image-set-v3 .image_inner {
    /*-webkit-flex: 1;
    flex: 1;*/
  }
  [class*="column-layout"] > .column_item > .image-set .image_inner.js-fitWidth,
  [class*="column-media"][data-media-size] > .column_image > .image-set .image_inner.js-fitWidth,
  [class*="column-layout"] > .column_item > .image-set-v3 .image_inner.js-fitWidth,
  [class*="column-media"][data-media-size] > .column_image > .image-set-v3 .image_inner.js-fitWidth {
    -webkit-flex: initial;
    flex: initial;
  }
  .image-set.img-blank-link .image_inner,
  .image-set-v3.img-blank-link .image_inner {
    width: 100%;
  }

  .image-set .image_inner > *:first-child,
  .image-set .image_inner > section:first-child > [class*="heading-lv"],
  .image-set-v3 .image_inner > *:first-child,
  .image-set-v3 .image_inner > section:first-child > [class*="heading-lv"] {
    margin-top: 0 !important;
  }
  .image-set.is-multi .image_inner,
  .image-set-v3.is-multi .image_inner {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
  }
  [data-browser="ie11"] .image-set .image_inner,
  [data-browser="ie11"] .image-set-v3 .image_inner {
    flex: 0 1 auto;
    min-width: 1px;
  }
  .image-set .image_inner > a,
  .image-set-v3 .image_inner > a {
    display: block;
  }
  .image-set.is-multi .image_inner > img + img,
  .image-set-v3.is-multi .image_inner > img + img {
    margin-left: 5px;
  }
  .image-set .image_inner [class^="text-title"],
  .image-set-v3 .image_inner [class^="text-title"] {
    margin-bottom: .5em;
  }
  .image-set .image_caption,
  .image-set-v3 .image_caption {
    margin-top: .5em;
    font-size: 1.4rem;
    text-align: left;
  }
  /* for IE11 hack */
  _:-ms-lang(x)::-ms-backdrop, .image-set.gp-al-center > .image_inner,
  _:-ms-lang(x)::-ms-backdrop, .image-set.gp-al-right > .image_inner,
  _:-ms-lang(x)::-ms-backdrop, .image-set-v3.gp-al-center > .image_inner,
  _:-ms-lang(x)::-ms-backdrop, .image-set-v3.gp-al-right > .image_inner {
    -webkit-flex: 0 1 auto;
    flex: 0 1 auto;
    min-width: 1px;
  }

  /* ------------------------------------------------------
   * Elements >>> Other
  ------------------------------------------------------ */
  /* ----- line-layout ----- */
  .line-layout {
    margin: 50px 0;
  }
  .line-layout .line_hr {
    display: block;
    height: 1px;
    margin: 0;
    border-top: 1px solid #ddd;
  }

  /* ------------------------------------------------------
   * Conditional Elements >>> Heading
  ------------------------------------------------------ */
  [class*="heading-lv"] a:link .heading_title {
    text-decoration: none;
    color: #333;
  }
  [class*="heading-lv"] a:hover .heading_title {
    text-decoration: none;
    color: #aaa;
  }
  [class*="heading-lv"] + section > [class*="heading-lv2"]:first-child {
    margin-top: 40px;
  }
  [class*="heading-lv"] + section > [class*="heading-lv3"]:first-child,
  [class*="heading-lv"] + .news-text-date + section > [class*="heading-lv2"]:first-child {
    margin-top: 30px;
  }
  [class*="heading-lv"] + section > [class*="heading-lv4"]:first-child {
    margin-top: 30px;
  }
  [class*="heading-lv"] + section > [class*="heading-lv5"]:first-child {
    margin-top: 20px;
  }

  /* ----- heading-lv1 ----- */
  .heading-lv1 {
    margin: 0 0 2.5em;
  }
  .heading-lv1 .heading_title {
    position: relative;
    padding-left: 34px;
    font-size: 4.2rem;
    font-weight: 700;
    font-family: "Noto Sans CJK JP";
    line-height: 1.5;
  }
  .heading-lv1 .heading_title::before {
    display: block;
    content: '';
    position: absolute;
    left: 0;
    top: 0.3em;
    width: 4px;
    height: 44px;
    background-color: #e50014;
  }

  /* ----- heading-lv2 ----- */
  .heading-lv2,
  .heading-lv2-v2 {
    margin: 5em 0 1.9em;
  }
  .heading-lv2 .block,
  .heading-lv2-v2 .block {
    display: block;
    color: #333;
  }
  .heading-lv2 .heading_title,
  .heading-lv2-v2 .heading_title {
    position: relative;
    display: inline-block;
    font-family: "Noto Sans CJK JP";
    font-weight: 500;
    font-size: 3.2rem;
    line-height: 1.5;
  }
  .heading-lv2-v2 .heading_title {
    padding-left: 30px;
  }
  .heading-lv2-v2 .heading_title::before {
    position: absolute;
    top: 0.4em;
    bottom: 0;
    left: 0;
    margin: auto 0;
    content: "◆";
    font-size: 2.0rem;
    color: #e50014;
  }
  .heading-lv2 .heading_subtitle {
    margin-top: 0.5em;
    font-size: 2rem;
    font-weight: 500;
    font-family: "Noto Sans CJK JP";
  }
  .heading-lv2 a.block .heading_title,
  .heading-lv2-v2 a.block .heading_title {
    padding-right: 25px;
    text-decoration: none;
  }
  .heading-lv2 a.block .heading_title::after,
  .heading-lv2-v2 a.block .heading_title::after {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    display: block;
    content: "";
    width: 9px;
    height: 9px;
    border-top: 1px solid #e50014;
    border-right: 1px solid #e50014;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .heading-lv2 a.block.a-blank .heading_title,
  .heading-lv2 a.block.a-pdf .heading_title {
    padding-right: 30px;
  }
  .heading-lv2 a.block.a-blank .heading_title::after {
    width: 13px;
    height: 13px;
    border: none;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  .heading-lv2 a.block.a-pdf .heading_title::after {
    width: 17px;
    height: 17px;
    border: none;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  /* ----- heading-lv3 ----- */
  .heading-lv3 {
    margin: 3.75em 0 1.25em;
    padding-bottom: 12px;
    border-bottom: 1px solid #ddd;
  }
  .heading-lv3 .block {
    display: block;
    color: #333;
  }
  .heading-lv3 .heading_title {
    position: relative;
    display: inline-block;
    font-family: "Noto Sans CJK JP";
    font-weight: 500;
    font-size: 2.8rem;
    line-height: 1.5;
  }
  .heading-lv3 a.block .heading_title {
    padding-right: 23px;
    text-decoration: none;
  }
  .heading-lv3 a.block .heading_title::after {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    display: block;
    content: "";
    width: 9px;
    height: 9px;
    border-top: 1px solid #e50014;
    border-right: 1px solid #e50014;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .heading-lv3 a.block.a-blank .heading_title,
  .heading-lv3 a.block.a-pdf .heading_title {
    padding-right: 30px;
  }
  .heading-lv3 a.block.a-blank .heading_title::after {
    width: 13px;
    height: 13px;
    border: none;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  .heading-lv3 a.block.a-pdf .heading_title::after {
    width: 17px;
    height: 17px;
    border: none;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  /* ----- heading-lv4 ----- */
  .heading-lv4,
  .heading-lv4-v2 {
    margin: 2.5em 0 1.25em;
  }
  .heading-lv4 .block,
  .heading-lv4-v2 .block {
    display: block;
    color: #333;
  }
  .heading-lv4 .heading_title,
  .heading-lv4-v2 .heading_title {
    position: relative;
    display: inline-block;
    padding-left: 30px;
    font-family: "Noto Sans CJK JP";
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .heading-lv4 .heading_title::before,
  .heading-lv4-v2 .heading_title::before {
    position: absolute;
    top: 0.1em;
    bottom: 0;
    left: 0;
    margin: auto 0;
    content: "◆";
    font-size: 2.0rem;
    color: #555;
  }
  .heading-lv4 a.block .heading_title {
    padding-right: 23px;
    text-decoration: none;
  }
  .heading-lv4-v2 a.block .heading_title {
    text-decoration: none;
  }
  .heading-lv4 a.block .heading_title::after {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    display: block;
    content: "";
    width: 9px;
    height: 9px;
    border-top: 1px solid #e50014;
    border-right: 1px solid #e50014;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .heading-lv4-v2 a.block .heading_title::after {
    display: inline-block;
    content: "";
    margin: .55em 0 0 18px;
    width: 9px;
    height: 9px;
    border-top: 1px solid #e50014;
    border-right: 1px solid #e50014;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .heading-lv4 a.block.a-blank .heading_title,
  .heading-lv4 a.block.a-pdf .heading_title,
  .heading-lv4-v2 a.block.a-blank .heading_title,
  .heading-lv4-v2 a.block.a-pdf .heading_title {
    padding-right: 30px;
  }
  .heading-lv4 a.block.a-blank .heading_title::after,
  .heading-lv4-v2 a.block.a-blank .heading_title::after {
    width: 13px;
    height: 13px;
    border: none;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  .heading-lv4 a.block.a-pdf .heading_title::after,
  .heading-lv4-v2 a.block.a-pdf .heading_title::after {
    width: 17px;
    height: 17px;
    border: none;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  /* ----- heading-lv5 ----- */
  .heading-lv5,
  .heading-lv5-v2 {
    margin: 1.9em 0 0.95em;
  }
  .heading-lv5 .heading_title,
  .heading-lv5-v2 .heading_title {
    position: relative;
    padding-left: 30px;
    font-family: "Noto Sans CJK JP";
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.5;
  }
  .heading-lv5 .heading_title::before,
  .heading-lv5-v2 .heading_title::before {
    position: absolute;
    left: 0;
    top: 0.75em;
    display: block;
    content: "";
    width: 12px;
    height: 2px;
    background-color: #aaa;
  }
  .heading-lv5-v2 .heading_title::before {
    background-color: #e50014;
  }
  /* ----- heading-lv5+headng-lv3 ----- */
  .heading-lv5-v2.gp-mt-extend {
    margin-top: 3.75em!important;
  }
  .heading-lv5-v2 + .heading-lv3 {
    margin-top: 1.75em;
  }

  /* ------------------------------------------------------
   * Conditional Elements >>> Navi
  ------------------------------------------------------ */
  /* ----- navi-anchor ----- */
  .navi-anchor {
    margin-top: 1em;
  }
  .navi-anchor .navi-inner {
    -webkit-display: flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
  }
  .navi-anchor .navi-inner > li {
    width: calc((100% - 120px)/4);
    margin-left: 30px;
    padding: .5em 0 0 0;
  }
  .navi-anchor .navi-inner > li:nth-child(-n+4) {
    padding-top: 0;
  }
  .navi-anchor .navi-inner > li:nth-child(4n) {
    border-right: none;
  }
  .navi-anchor .navi-inner > li:nth-child(4n+1) {
    margin-left: 0;
  }
  .navi-anchor .navi-inner[data-row-pc="2"] > li {
    width: calc((100% - 36px) / 2);
    margin-left: 0 !important;
  }
  .navi-anchor .navi-inner[data-row-pc="2"] > li:nth-child(n+3) {
    padding: .5em 0 0 0;
  }
  .navi-anchor .navi-inner[data-row-pc="2"] > li:nth-child(even) {
    margin-left: 36px !important;
  }
  .navi-anchor .navi-inner > li > a,
  .navi-anchor .navi-inner > li > span {
    display: inline-block;
    position: relative;
    padding-left: 27px;
    color: #333;
  }
  .navi-anchor .navi-inner > li > a:visited {
    color: #333;
  }
  .navi-anchor .navi-inner > li > a:hover {
    text-decoration: none;
    color: #aaa;
  }
  .navi-anchor .navi-inner > li > a::before,
  .navi-anchor .navi-inner > li > span::before {
    position: absolute;
    top: .4em;
    left: 2px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    width: 8px;
    height: 8px;
    border-top: 1px solid #eb3747;
    border-right: 1px solid #eb3747;
    content: "";
  }
  .navi-anchor .navi-inner > li > span {
    color: #ccc;
  }

  /* ----- navi-anchor-v2 ----- */
  .navi-anchor-v2 {
    margin-top: 1em;
    padding: 12px 0 20px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
  }
  .navi-anchor-v2 .navi-inner {
  }
  .navi-anchor-v2 .navi-inner > li {
    margin-left: 0;
    margin-right: 40px;
    padding: .5em 0 0 0;
  }
  .navi-anchor-v2 .navi-inner > li > a {
    display: inline-block;
    position: relative;
    padding-left: 22px;
    color: #333;
  }
  .navi-anchor-v2 .navi-inner > li > a:visited {
    color: #333;
  }
  .navi-anchor-v2 .navi-inner > li > a:hover {
    text-decoration: none;
    color: #aaa;
  }
  .navi-anchor-v2 .navi-inner > li > a::before {
    position: absolute;
    top: .4em;
    left: 2px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    width: 8px;
    height: 8px;
    border-top: 1px solid #eb3747;
    border-right: 1px solid #eb3747;
    content: "";
  }

  /* ------------------------------------------------------
   * Layout >>> Table
  ------------------------------------------------------ */
  /* ----- table-layout ----- */
  .table-layout {
    margin-top: 1em;
  }
  .table-layout .table_inner {
    width: 100%;
    border-top: 1px solid #ddd;
    border-right: 1px solid #ddd;
  }
  .table-layout .table_inner-v2 {
    width: auto;
    border-top: 1px solid #ddd;
    border-right: 1px solid #ddd;
  }
  .table-layout caption {
    text-align: left;
  }
  .table-layout .table_title {
    font-size: 1.8rem;
    font-family: "Noto Sans CJK JP";
    font-weight: 700;
  }
  .table-layout .table_caption {
    margin: .5em 0 1.5em;
    font-size: 1.4rem;
  }
  .table-layout th,
  .table-layout td {
    padding: 7px 10px;
    vertical-align: top;
    border-bottom: 1px solid #ddd;
    border-left: 1px solid #ddd;
    background-color: #fff;
    font-weight: normal;
    text-align: left;
  }
  .table-layout thead th {
    vertical-align: middle;
  }
  .table-layout th > *:first-child,
  .table-layout td > *:first-child {
    margin-top: 0 !important;
  }
  .table-layout .cell-style1 {
    background-color: #555;
    color: #fff;
  }
  .table-layout th.cell-style1 {
    font-weight: bold;
  }
  .table-layout .cell-style2 {
    background-color: #f1f1f1;
  }
  .table-layout th.cell-style2 {
    font-weight: bold;
  }
  .table-layout .cell-style3 {
    background-color: #e5f2fa;
  }
  .table-layout th.cell-style3 {
    font-weight: bold;
  }
  .table-layout .cell-style4 {
    background-color: #e50014;
    color: #ffffff;
  }
  .table-layout th.cell-style4 {
    font-family: "Noto Sans CJK JP";
    font-weight: 500;
    font-size: 2.8rem;
    line-height: 1.5;
  }
  .table-layout .cell-style5 {
    background-color: #333333;
    color: #ffffff;
  }
  .table-layout th.cell-style5 {
    font-family: "Noto Sans CJK JP";
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .table-layout .cell-style6 {
    background-color: #e9eef8;
  }
  .table-layout th.cell-style6 {
    font-weight: bold;
  }
  .table-layout .cell-style7 {
    background-color: #e7f3e1;
  }
  .table-layout th.cell-style7 {
    font-weight: bold;
  }
  .table-layout .cell-blank {
    height: 24px;
    font-size: 0;
  }

  /* ------------------------------------------------------
   * Layout >>> Column
  ------------------------------------------------------ */
  /* ----- column-layout ----- */
  .column-layout {
    margin-top: 1em;
  }
  .column-layout > .column_item {
    margin-top: 24px;
  }
  .column-layout > .column_item > *:first-child {
    margin-top: 0 !important;
  }

  /* ----- column-media ----- */
  .column-media {
    margin-top: 1em;
  }
  .column-media > .column_image > *:first-child,
  .column-media > .column_detail > *:first-child {
    margin-top: 0 !important;
  }

  /* data-media-size */
  .column-media[data-media-size="1/2"] > .column_image {
    width: calc((100% - 36px) / 2);
  }
  .column-media[data-media-size="1/3"] > .column_image {
    width: calc((100% - 72px) / 3);
  }
  .column-media[data-media-size="1/4"] > .column_image {
    width: calc((100% - 108px) / 4);
  }
  .column-media[data-media-size="1/5"] > .column_image {
    width: calc((100% - 144px) / 5);
  }
  .column-media[data-media-size="1/6"] > .column_image {
    width: calc((100% - 180px) / 6);
  }

  /* data-image */
  .column-media > .column_image[data-image="right"] {
    float: right;
    margin-left: 36px;
  }
  .column-media > .column_image[data-image="left"] {
    float: left;
    margin-right: 36px;
  }

  /* data-wraparound */
  .column-media > .column_detail[data-wraparound="false"] {
    overflow: hidden;
  }

  /* ------------------------------------------------------
   * Layout >>> Box
  ------------------------------------------------------ */
  /* ----- box-layout ----- */
  .box-layout {
    margin-top: 1.85em;
    border: 1px solid #ddd;
  }
  .box-layout > .box_title {
    padding: 15px 25px 14px;
    background-color: #f1f1f1;
    font-family: "Noto Sans CJK JP";
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
  }
  .box-layout > .box_detail {
    padding: 22px 25px 21px;
    background-color: #fff;
  }
  .box-layout > .box_detail > *:first-child {
    margin-top: 0 !important;
  }
  .box-layout-v2 {
    margin-top: 1.85em;
    background-image: -moz-linear-gradient( 0deg, rgb(233,245,235) 0%, rgb(217,234,249) 50%, rgb(248,237,246) 100%);
    background-image: -webkit-linear-gradient( 0deg, rgb(233,245,235) 0%, rgb(217,234,249) 50%, rgb(248,237,246) 100%);
    background-image: -ms-linear-gradient( 0deg, rgb(233,245,235) 0%, rgb(217,234,249) 50%, rgb(248,237,246) 100%);
    padding: 20px;
  }
  .box-layout-v2 > .box_title {
    padding: 0 25px 17px;
    font-family: "Noto Sans CJK JP";
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
  }
  .box-layout-v2 > .box_detail {
    padding: 22px 25px 21px;
    background-color: #fff;
  }
  .box-layout-v2 > .box_detail > *:first-child {
    margin-top: 0 !important;
  }
  .box-layout-v2 > .conduct-list {
    display: flex;
    justify-content: space-between;
  }
  .box-layout-v2 > .conduct-list li {
    width: calc((100% - 4px)/3);
    padding: 22px 25px 21px;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: bold;
  }

  /* ------------------------------------------------------
   * Layout >>> Other
  ------------------------------------------------------ */
  /* ----- accordion-layout ----- */
  .accordion-layout {
    margin-top: 50px;
    border: 1px solid #ddd;
  }
  .accordion-layout > .accordion_trigger {
    position: relative;
  }
  .accordion-layout .accordion_label {
    display: block;
    padding: 20px 83px 18px 23px;
    background-color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5;
    cursor: pointer;
  }
  .accordion-layout > .accordion_detail {
    padding: 20px 23px;
    border-top: 1px solid #ddd;
    background-color: #fff;
  }

  /* icon */
  .accordion-layout > .accordion_trigger::after {
    position: absolute;
    top: 50%;
    right: 23px;
    width: 36px;
    height: 36px;
    margin-top: -18px;
    border: 1px solid #999;
    border-radius: 5px;
    content: "";
    cursor: pointer;
  }
  .accordion-layout .accordion_label::before,
  .accordion-layout .accordion_label::after {
    position: absolute;
    top: 50%;
    right: 33px;
    width: 16px;
    height: 2px;
    margin-top: -1px;
    background-color: #999;
    content: "";
    -webkit-transition: all .2s ease-out 0s;
    transition: all .2s ease-out 0s;
  }
  .accordion-layout .accordion_label::before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .accordion-layout > .accordion_trigger.is-active .accordion_label::before {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  /* ----- tab-layout ----- */
  .tab-layout {
    margin-top: 50px;
  }
  .tab-layout > .tab_navi {
    overflow: hidden;
  }
  .tab-layout .tab_list {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
  }
  .tab-layout .tab_list > li {
    display: -webkit-flex;
    display: flex;
    -webkit-flex: 1;
    flex: 1;
  }
  .tab-layout .tab_list > li + li{
    margin-left: 15px;
  }
  .tab-layout .tab_list > li > a {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    position: relative;
    width: 100%;
    padding: 18px 18px 17px;
    border: 1px solid #999;
    background-color: #fff;
    color: #333;
    font-size: 1.6rem;
    text-decoration: none;
  }
  .tab-layout .tab_list > .is-current > a {
    border: 1px solid #333;
    background-color: #333;
    color: #fff;
  }
  .tab-layout > .tab_detail {
    display: none;
    padding-top: 20px;
  }
  .tab-layout > .tab_detail > *:first-child {
    margin-top: 0 !important;
  }
  .tab-layout > .tab_detail + .tab_navi {
    padding-top: 5em;
  }

  /* ------------------------------------------------------
   * Components
  ------------------------------------------------------ */
  /* ----- news-layout ----- */
  .news-layout {
    margin-top: 30px;
  }
  .news-layout .news_article + .news_article {
    border-top: 1px dotted #ddd;
  }
  .news-layout .block {
    -webkit-display: flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    padding: 23px 0 22px;
    color: #333;
    text-decoration: none;
    outline: none;
  }
  .news-layout .news_image {
    width: 90px;
    margin-right: 18px;
  }
  .news-layout .news_detail {
    -webkit-display: flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-flex: 1;
    flex: 1;
  }
  .news-layout .news_property {
    -webkit-display: flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    margin-right: 18px;
  }
  .news-layout .news_date {
    font-size: 1.4rem;
  }
  .news-layout [class*="news_icon"] {
    display: inline-block;
    min-width: 100px;
    margin-left: 18px;
    padding: 0 8px;
    color: #fff;
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 19px;
    text-align: center;
  }
  .news-layout .news_icon.type1 {
    background-color: #e37b02;
  }
  .news-layout .news_icon.type2 {
    background-color: #3176b0;
  }
  .news-layout .news_title {
    -webkit-flex: 1;
    flex: 1;
    line-height: 1.6;
  }
  .news-layout a .news_title {
    color: #0075c2;
    text-decoration: underline;
  }
  .news-layout a:hover .news_thumbnail,
  .news-layout a:hover .news_title {
    text-decoration: none;
  }
  .news-layout .news_image + .news_detail {
    display: block;
  }
  .news-layout .news_image + .news_detail .news_title {
    margin-top: .5em;
  }

  /* ----- plugin-layout ----- */
  .plugin-layout {
    margin-top: 50px;
  }
  .plugin-layout a {
    -webkit-display: flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    padding: 27px 39px 26px;
    border: 1px solid #ddd;
    color: #333;
    text-decoration: none;
    outline: none;
  }
  .plugin-layout .plugin_detail {
    padding-left: 36px;
  }
  .plugin-layout a .a-blank {
    color: #0075c2;
    text-decoration: underline;
  }
  .plugin-layout a:hover .a-blank {
    text-decoration: none;
  }

  /* ----- index-layout ----- */
  .index-layout {
    margin-top: 2.5em;
  }
  .index-layout > .index_link {
    padding: 20px;
    width: 100%;
    -webkit-display: flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-flow: column wrap;
    flex-flow: column wrap;
    -webkit-flex-justify-content: center;
    justify-content: center;
    min-height: 230px;
    height: 230px;
    cursor: pointer;
  }
  .index_link:hover {
    background: rgba(255,255,255,0.5);
    text-decoration: none !important;
  }
  .index-layout .index_lead {
    font-family: "Noto Sans CJK JP";
    font-size: 2.0rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 1.4;
  }
  .index_link:hover .index_lead {
    text-decoration: none !important;
  }
  .index-layout > .index_link .index_lead {
    max-width: 100%;
  }
  .index-layout .index_lead + .index_button {
    margin-top: 20px;
  }
  /* ----- index_button ----- */
  .index_button > li > .block {
    display: inline-block;
    position: relative;
    min-width: 280px;
    padding: 14px 40px 13px;
    border: 1px solid #999;
    background-color: #fff;
    color: #333;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
  }
  .index_link:hover .index_button > li > .block {
    background-color: #efefef;
  }
  .index_button .link_label {
    display: inline-block;
    line-height: 1.5;
  }

  /* icon */
  .index_button > li > .block::before {
    position: absolute;
    top: 50%;
    left: 12px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 1px solid #e90f0f;
    border-right: 1px solid #e90f0f;
    content: "";
  }

  /* data-row-pc */
  .index_button[data-row-pc] > li {
    -webkit-display: flex;
    display: flex;
    margin-top: 20px;
  }
  .index_button[data-row-pc] > li > .block {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    min-width: 0;
  }
  /* link-button */
  .index_button > li > .a-blank::after,
  .index_button > li > .a-pdf::after {
    position: relative;
    display: inline-block;
    margin: .3em 0 0 10px;
  }
  .index-layout-wrap {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .index-layout-wrap > .column-layout {
    width: 100%;
  }
  .index-layout.image-type01 {
    width: 100%;
    margin-top: 0;
    background: url(/jp/business/img/index_bg02.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
  .index-layout.image-type01.is-bgImage01 {
    background: url(/jp/business/img/index_bg05.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
  .index-layout.image-type01 > .index_link {
    align-items: flex-start;
    min-height: 150px;
    height: 150px;
    padding-left: 50px;
  }
  .index-layout.image-type01 > .index_link > .index_lead {
    text-align: left;
    font-size: 2.2rem;
  }
  .index-layout.image-type01 > .index_link > .index_text {
    font-family: "Noto Sans CJK JP";
    margin-top: 10px;
    font-size: 1.7rem;
    color: #fff;
    line-height: 1.4;
  }
  .index-layout.image-type02 > .index_link,
  .index-layout.image-type03 > .index_link {
    min-height: 180px;
  }
  .index-layout.image-type02 {
    width: calc((100% - 3.2% - 1px)/2);
    margin-top: 3.2%;
    background: url(/jp/business/img/index_bg03.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
  .index-layout.image-type03 {
    width: calc((100% - 3.2% - 1px)/2);
    margin-top: 3.2%;
    margin-left: 3.2%;
    background: url(/jp/business/img/index_bg04.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
  /* ----- index-layout-v2 ----- */
  .index-layout-wrap {
    margin-top: 1.85em;
  }
  .index-layout-v2 {
    border: 3px solid #ddd;
  }
  .index-layout-v2 > .block,
	.index-layout-v2 > .block-v2{
    -webkit-display: flex;
    display: flex;
    padding: 28px;
    width: 100%;
  }
	.index-layout-v2 > .block-v2 {
		-webkit-display: block;
		display: block;
	}
  .index-layout-v2 > .block:hover,
	.index-layout-v2 > .block-v2:hover{
    background-color: #efefef;
    text-decoration: none;
  }
  .index-layout-v2 > a.block .index_title,
	.index-layout-v2 > a.block-v2 .index_title{
    position: relative;
    display: inline-block;
    padding-left: 22px;
    font-size: 1.8rem;
    font-family: "Noto Sans CJK JP";
    font-weight: 700;
    line-height: 1.5;
    color: #333;
    width: calc(100% - 185px);
  }
	.index-layout-v2 > a.block-v2 .index_title {
		width: auto;
	}
  .index-layout-v2 > a.block .index_title-v2 {
    position: relative;
    display: inline-block;
    padding-left: 22px;
    line-height: 1.5;
    color: #333;
  }
  .index-layout-v2 > a.block .index_title::before,
  .index-layout-v2 > a.block .index_title-v2::before,
  .index-layout-v2 > a.block-v2 .index_title::before {
    position: absolute;
    top: 0.5em;
    left: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 9px;
    height: 9px;
    border-top: 1px solid #e90f0f;
    border-right: 1px solid #e90f0f;
    content: "";
  }
  .index-layout-v2 > .block .index_image {
    margin-left: 28px;
    width: 157px;
  }
	.index-layout-v2 > .block-v2 p {
		padding-left: 22px;
		color: #333;
	}
  .index-layout-v2 > a.block > .index-layout-v2_info {
    width: calc(100% - 185px);
  }
  .index-layout-v2 > a.block > .index-layout-v2_info > .index_title {
    width: 100%;
  }
  .index-layout-v2 > a.block > .index-layout-v2_info > p {
    padding-left: 22px;
    color: #333;
  }


  /* ----- index-layout-v3 ----- */
  .index-layout-v3 {
    border: 1px solid #ddd;
  }
  .index-layout-v3 > .block {
    width: 100%;
    display: block;
  }
  .index-layout-v3 > .block:hover {
    background-color: #efefef;
    text-decoration: none;
  }
  .index-layout-v3 .index_caption {
    padding: 15px;
  }
  .index-layout-v3 .index_caption > .index_title {
    position: relative;
    display: inline-block;
    padding-left: 19px;
    font-family: "Noto Sans CJK JP";
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    color: #333;
  }
  .index-layout-v3 .index_caption > .index_title::before {
    position: absolute;
    top: 0.5em;
    left: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 9px;
    height: 9px;
    border-top: 1px solid #e90f0f;
    border-right: 1px solid #e90f0f;
    content: "";
  }
  /* ----- index-layout-v4 ----- */

  .index-layout-v4 > .block {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-align-items: center;
    align-items: center;
    position: relative;
    border: 1px solid #ddd;
    background-color: #fff;
    color: #333;
  }
	.column_item.is-current .index-layout-v4 > a.block {
		border: 1px solid #ddd;
		background-color: #ddd;
		color: #333;
	}
  .index-layout-v4 > a.block:hover {
    background-color: #efefef;
    text-decoration: none;
    color: #aaa;
  }
  .index-layout-v4 > .block > .index_caption {
    padding: 8px 15px 7px;
    line-height: 1.5;
    flex-grow: 1;
		flex: 1;
  }
  .index-layout-v4 > .block > .index_caption .index_title > .index_label {
    position: relative;
    display: inline-block;
    padding-left: 19px;
    font-size: 1.4rem;
    font-family: "Noto Sans CJK JP";
    font-weight: 700;
  }
  .index-layout-v4 > .block > .index_caption .index_title > .index_label::before {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 9px;
    height: 9px;
    margin-top: -4px;
    border-top: 1px solid #e90f0f;
    border-right: 1px solid #e90f0f;
    content: "";
  }
	.column_item.is-current .index-layout-v4 > .block > .index_caption .index_title > .index_label::before {
		border-top: 1px solid #999;
		border-right: 1px solid #999;
	}
  .index-layout-v4 + .index_summary {
    margin-top: 1em;
    font-size: 1.4rem;
  }
  .index-layout-v4 > .block > .index_caption .index_title > .index_label  > .index_detail_fontsize {
    font-size: 1.2rem;
  }
  /* ----- project-status-layout ----- */

  .project-status-layout {
    margin-top: 2.5em;
  }
  .project-status-layout > .project-status_list > li {
    margin-top: 85px;
    margin-left: 20px;
    margin-bottom: 60px;
    border: 1px solid #ddd;
    position: relative;
  }
  .project-status-layout > .project-status_list > li::after {
    position: absolute;
    bottom: -40px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    width: 28px;
    height: 28px;
    border-top: 1px solid #747474;
    border-right: 1px solid #747474;
    content: "";
  }
  .project-status-layout > .project-status_list > li:last-child {
    margin-bottom: 0;
  }
  .project-status-layout > .project-status_list > li:last-child::after {
    display: none;
  }
  .project-status-layout .status_title {
    display: table;
    position: absolute;
    top: -25px;
    left: -20px;
    font-family: "Noto Sans CJK JP";
    font-size: 2.2rem;
  }
  .project-status-layout .status_title > .status_number {
    display: table-cell;
    padding: 5px;
    width: 50px;
    height: 50px;
    vertical-align: middle;
    text-align: center;
    font-weight: bold;
    color: #fff;
    background-color: #e50014;
  }
  .project-status-layout .status_title > .status_text {
    display: table-cell;
    padding: 5px 20px;
    height: 50px;
    vertical-align: middle;
    color: #fff;
    font-family: "Noto Sans CJK JP";
    font-weight: 500;
    text-align: left;
    background-color: #333;
  }
  .project-status-layout .status_detal {
    padding: 70px 40px 40px;
  }
  .project-status-layout .status_detal > *:first-child {
    margin-top: 0;
  }

  /* ----- relation-layout ----- */
  .relation-layout {
    margin-top: 5em;
  }
  .relation-layout .relation_title {
    font-family: "Noto Sans CJK JP";
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
  }
  .relation-layout .relation_title + .column-layout {
    margin-top: 15px;
  }
  .relation-layout .column-layout[data-row-pc="1"] {
    width: calc((100% - 36px) / 2);
    margin-left: auto;
    margin-right: auto;
  }
  /* ----- relation-layout-v2 ----- */
  .relation-layout-v2 {
    margin-top: 5em;
  }
  .relation-layout-v2 .relation_title {
    font-family: "Noto Sans CJK JP";
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
  }
  .relation-layout-v2 .relation_title + .column-layout {
    margin-top: 15px;
  }
  /* ----- relation-layout-v3 ----- */
  .relation-layout-v3 {
    margin-top: 3em;
    padding: 20px 25px 30px;
    border: 1px solid #ddd;
  }
  .relation-layout-v3 .relation_title {
    font-family: "Noto Sans CJK JP";
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
  }
  .relation-layout-v3 .relation_title + * {
    margin-top: 25px;
  }
  /* ----- relation-layout-v4 ----- */
  .relation-layout-v4 {
    margin-top: 5em;
    padding: 20px 3% 30px;
    background-color: #efefef;
  }
  .relation-layout-v4 .relation_title {
    font-family: "Noto Sans CJK JP";
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
  }
  .relation-layout-v4 > .relation_title + * {
    margin-top: 25px;
  }

  /* ----- relation-layout-v5 ----- */
  .relation-layout-v5 {
    margin-top: 5em;
    padding: 20px 25px 30px;
    background-color: #efefef;
  }
  .relation-layout-v5 .relation_title {
    font-family: "Noto Sans CJK JP";
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
  }
  .relation-layout-v5 .column-layout {
    max-width: 862px;
    margin: 1em auto 0;
  }

  /* ----- relation-layout-v6 ----- */
  .relation-layout-v6 {
    margin-top: 3.4em;
  }
  .relation-layout-v6 .relation_title {
    margin-bottom: 1.0em;
    text-align: center;
    font-family: "Noto Sans CJK JP";
    font-size: 2.4rem;
    font-weight: 700;
    overflow: hidden;
  }
  .relation-layout-v6 .relation_title > span {
    position: relative;
    display: inline-block;
    padding: 0 25px;
  }
  .relation-layout-v6 .relation_title > span::before,
  .relation-layout-v6 .relation_title > span::after {
    position: absolute;
    display: block;
    width: 100vw;
    height: 1px;
    top: 50%;
    background: #ddd;
    content: "";
  }
  .relation-layout-v6 .relation_title > span::before {
    right: 100%;
  }
  .relation-layout-v6 .relation_title > span::after {
    left: 100%;
  }
  .relation-layout-v6 .relation_block {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    height: 100%;
    background: linear-gradient(to right, rgba(0,0,0,0.9) 0%,rgba(255,255,255,0.9) 100%);
  }
  .relation-layout-v6 a.relation_block {
    color: #333;
  }
  .relation-layout-v6 a.relation_block:hover {
    text-decoration: none;
  }
  .relation-layout-v6 .relation_detail {
    width: calc(100% - 284px);
    padding: 5px 25px 5px 20px;
    font-family: "Noto Sans CJK JP";
    color: #fff;
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
  }
  .relation-layout-v6 a.relation_block:hover .relation_detail {
    opacity: .6;
  }
  .relation-layout-v6 .relation_lead {
    position: relative;
    padding-left: 20px;
    font-size: 1.8rem;
    font-weight: 500;
  }
  .relation-layout-v6 .relation_lead::before {
    position: absolute;
    top: 0.55em;
    left: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 11px;
    height: 11px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    content: "";
  }
  .relation-layout-v6 .relation_text {
    padding-left: 20px;
    font-weight: 300;
  }
  .relation-layout-v6 .relation_img {
    position: relative;
    width: 284px;
    -webkit-flex: 0 0 284px;
    flex: 0 0 284px;
    min-height: 174px;
  }
  .relation-layout-v6 .slick-prev,
  .relation-layout-v6 .slick-next {
    display: none;
  }
  .relation-layout-v6 .column-layout[data-row-pc="1"] .column_item {
    width: calc((100% - 36px) / 2);
    margin-left: auto !important;
    margin-right: auto;
  }

  /* ----- relation-project-slider ----- */
  .relation-project-slider {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    margin-top: 25px;
    padding: 0 46px;
  }
  .relation-project-slider .slick-list {
    display: block;
  }
  .relation-project-slider .project_item {
    width: 256px;
    margin-right: 26px;
  }
  .relation-project-slider:not(.slick-slider) .project_item:last-of-type {
    margin-right: 0;
  }
  .relation-project-slider .project_link {
    display: block;
    position: relative;
  }
  .relation-project-slider .project_caption {
    margin-top: 15px;
  }
  .relation-project-slider .project_title {
    position: relative;
    display: inline-block;
    padding-left: 19px;
    font-family: "Noto Sans CJK JP";
    line-height: 1.5;
    color: #333;
  }
  .relation-project-slider .project_title::before {
    position: absolute;
    top: 0.5em;
    left: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 9px;
    height: 9px;
    border-top: 1px solid #e50014;
    border-right: 1px solid #e50014;
    content: "";
  }

  .relation-project-slider .slick-prev,
  .relation-project-slider .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 40%;
    display: block;
    width: 30px;
    height: 30px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background-color: #e50014 !important;
  }
  .relation-project-slider .slick-prev:hover,
  .relation-project-slider .slick-next:hover {
    opacity: 0.6;
  }
  .relation-project-slider .slick-prev {
    left: 0;

  }
  .relation-project-slider .slick-next {
    right: 0;

  }
  .relation-project-slider .slick-prev::before,
  .relation-project-slider .slick-next::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    margin-top: -4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    opacity: 1;
  }
  .relation-project-slider .slick-prev::before {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    margin-left: -4px;
  }
  .relation-project-slider .slick-next::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-left: -6px;
  }
  .relation-project-slider .slick-prev.slick-disabled::before,
  .relation-project-slider .slick-next.slick-disabled::before {
    opacity: 1;
  }
  /* ----- image-modal ----- */

  .image-modal > a {
    display: block;
    text-decoration: none;
    cursor: pointer;
    color: #333;
  }
  .image-modal > a:hover {
    color: #aaa;
  }
  .image-modal .image_caption {
    position: relative;
    padding-left: 25px;
  }
  .image-modal .image_caption::before {
    position: absolute;
    top: 0.2em;
    left: 0;
    vertical-align: top;
    background: url(/jp/common/img/com_sprite01.png) no-repeat;
    width: 15px;
    height: 15px;
    background-position: -80px -80px;
    content: "";
  }


  /* ----- learn-layout ----- */
  .learn-layout {
    margin-top: 5em;
  }
  .learn-layout .learn_lead {
    display: flex;
    align-items: center;
  }
  .learn-layout .learn_lead::before,
  .learn-layout .learn_lead::after {
    display: block;
    flex-grow: 1;
    height: 1px;
    background-color: #dddddd;
    content: "";
  }
  .learn-layout .learn_lead::before {
    margin-right: 20px;
  }
  .learn-layout .learn_lead::after {
    margin-left: 20px;
  }
  .learn-layout .learn_lead > span {
    display: inline-block;
    font-family: "Noto Sans CJK JP";
    font-size: 2.6rem;
    font-weight: 700;
    background-color: #fff;
  }
  .learn-layout .learn_lead + * {
    margin-top: 30px;
  }
  /* news-navi-layout */
  .news-navi-layout {
    margin-top: 50px;
  }
  .news-navi_button > .link-button {
    margin-top: 0;
  }
  .news-navi_pulldown {
    position: relative;
    width: calc((100% - 108px) / 4);
    min-width: 250px;
  }
  .news-navi_select {
    width: 100%;
    height: 53px;
    padding: 0 30px 0 20px;
    border: 1px solid #999;
    line-height: 1.5;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .news-navi_select::-ms-expand {
  	display: none;
  }
  .news-navi_pulldown::after {
    content: "▼";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -14px;
    color: #888;
    pointer-events: none;
  }

  /* news-layout */
  .news_article {
    border-top: none !important;
    border-bottom: 1px solid #ddd;
  }
  .news-layout .news_detail {
    display: block;
  }
  .news-layout .news_title {
    margin-top: 12px;
  }
  .news-layout .news_date {
    color: #888;
  }
  .news-layout .news_icon + .news_icon {
    margin-left: 10px;
  }
  .news-layout .news_icon.type1 {
    background-color: #666;
  }
  .news-layout .news_icon:not(.type1) {
    min-width: 86px;
  }
  .news-layout .news_icon.type2 {
    background-color: #e50014;
  }
  .news-layout .news_icon.type3 {
    background-color: #dfdfdf;
    color: #333;
  }
  /* ----- news-filter ----- */
  .news-filter_list {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
  }
  .news-filter {
    display: table;
    margin-top: 1em;
    background-color: #efefef;
    align-items: center;
    margin-right: 20px;
  }
  .news-filter:nth-of-type(1) {
    width: 376px;
  }
  .news-filter:nth-of-type(2) {
    width: 426px;
  }
  .news-filter:last-of-type {
    margin-right: 0;
  }
  .news-filter dt {
    display: table-cell;
    font-weight: bold;
    padding: 15px;
  }
  .news-filter dd {
    display: table-cell;
    padding: 15px;
  }
  .news-filter_pulldown {
    position: relative;
  }
  .news-filter_select {
    width: 100%;
    height: 53px;
    padding: 0 30px 0 20px;
    border: 1px solid #999;
    line-height: 1.5;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .news-filter_select::-ms-expand {
  	display: none;
  }
  .news-filter_pulldown::after {
    content: "▼";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -14px;
    color: #888;
    pointer-events: none;
  }

  /* related-layout */
  .related-layout {
    margin: 5em calc(((100vw - 100%) / 2) * -1) 0;
    padding: 40px;
    background-color: #efefef;
  }
  [data-sidebar="true"] .related-layout {
    margin: 5em 0 0;
  }
  .related_head {
    text-align: center;
    font-family: "Noto Sans CJK JP";
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.2;
  }
  .related_body {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    margin-top: 30px;
  }
  .related_body > .related_column-media {
    width: calc((100% - 72px) / 3);
    max-width: 308px;
    margin: 0 0 0 36px;
  }
  [data-sidebar="true"] .related_body > .related_column-media {
    width: calc((100% - 108px) / 4);
    margin: 0 0 0 36px;
  }
  [data-sidebar="true"] .related_body[data-row-pc="3"] > .related_column-media {
    width: calc((100% - 7%) / 3);
    max-width: 100%;
    margin: 0 0 0 3%;
  }
  .related_body > .related_column-media > .column_image > .image-set,
  .related_body > .related_column-media > .column_image > .image-set-v3 {
    display: block;
  }
  .related_body > .related_column-media:first-child {
    margin-left: 0;
  }
  .related_body > .related_column-media > *:first-child {
    margin-top: 0;
  }
  .related_body > .related_column-media > .column_image[data-image="left"] {
    width: calc((100% - 40px) / 2);
  }
  .related_body > .related_column-media > .column_image[data-image="left"] + .column_detail {
    width: calc((100% - 40px) / 2);
  }
  [data-sidebar="true"] .related_body > .related_column-media > .column_image[data-image="left"] {
    float: none;
    margin-right: 0;
    width: 100%;
  }
  [data-sidebar="true"] .related_body > .related_column-media > .column_image[data-image="left"] + .column_detail  {
    width: 100%;
  }
  .related_link-text {
    clear: both;
    padding-top: 15px;
  }
  .related_link-text > li {
    line-height: 1.5;
  }
  .related_link-text > li > a {
    font-size: 1.8rem;
    font-weight: bold;
  }
  .related_text {
    margin-top: 8px;
    font-size: 1.5rem;
    line-height: 1.5;
  }
  .related-layout-v2 {
    margin: 5em 0 0;
  }
  .related-layout-v2 .related_head + * {
    margin: 15px 0 0;
  }

  /* ----- modal ----- */
  .modal_title {
    font-family: "Noto Sans CJK JP";
    font-weight: 700;
    font-size: 2.8rem;
  }
  .modal_contents {
    margin-top: 30px;
  }
  .modal_contents > *:first-child {
    margin-top: 0;
  }
  #colorbox.modal-project,
  .modal-project #cboxWrapper {
    overflow: visible !important;
  }
  .modal-project #cboxNext {
    right: -15px;
  }
  .modal-project #cboxPrevious {
    left: -15px;
  }
  #cboxClose {
    top: 15px !important;
    right: 15px !important;
  }

  /* ----- esg-hsse_heading_box ----- */

  .esg-hsse_heading_box {
    position: relative;
    height: 192px;
    -webkit-display: flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
  }
  .esg-hsse_heading_box_inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    align-items: center;
    padding: 0 50px 0 20px;
    z-index: 999;
  }
  .esg-hsse_heading_box_inner .heading_box_logo {
    width: 98px;
  }
  .esg-hsse_heading_box_inner .heading_box_logo img {
    width: auto;
  }
  .esg-hsse_heading_box_inner .heading_box_title {
    font-weight: bold;
    color: #ffffff;
    line-height: 1.1;
  }
  .heading_box_title_sub {
    font-size: 1.8rem;
    padding: 10px 0 0 5px;
  }
  .heading_box_title_main {
    padding-top: 16px;
    font-size: 4.2rem;
  }
  .heading_box_title_main-v2 {
    padding-top: 5px;
    font-size: 4.2rem;
  }

  /* ----- esg-hsse_sdgs_colomn ----- */

  .esg-hsse_sdgs_colomn {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .esg-hsse_sdgs_colomn + .esg-hsse_sdgs_colomn {
    margin-top: 20px;
  }
  [class*="sdgs_colomn_0"] {
    padding: 28px 10px 30px;
    background: #efefef;
    text-align: center;
  }
  .sdgs_colomn_title {
    margin-bottom: 20px;
    font-size: 1.8rem;
    font-weight: bold;
  }
  .sdgs_colomn_01 {
    width: 250px;
  }
  .sdgs_colomn_02 {
    width: 626px;
  }
  .sdgs_colomn_02 .sdgs_colomn_contents {
    display: inline-block;
    text-align: center;
  }
  .sdgs_colomn_02 .sdgs_colomn_contents .sdgs_colomn_contents_img {
    float: left;
    margin-right: 18px;
  }
  .sdgs_colomn_02 .sdgs_colomn_contents .sdgs_colomn_contents_img:last-child {
    margin-right: 0;
  }

  /* ----- esg-hsse_sdgs_box ----- */

  .esg-hsse_sdgs_box {
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -ms-align-items: center;
    align-items: center;
    margin-top: 40px;
    padding: 14px 20px 14px 28px;
    border: 1px solid  #ddd;
  }
  .esg-hsse_sdgs_box + .esg-hsse_sdgs_box {
    margin-top: 20px;
  }
  .sdgs_box_title {
    font-size: 2.4rem;
    font-weight: bold;
  }
  .sdgs_box_icon {
    display: -webkit-flex;
    display: flex;
    align-items: center;
  }
  .sdgs_box_icon_txt {
    line-height: 1.2;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
  }
  .sdgs_box_icon_list {
    display: -webkit-flex;
    display: flex;
  }
  .sdgs_box_icon_list > li {
    width: 53px;
    margin-left: 10px;
  }

  /* ----- esg-hsse_evpolicy ----- */

  .esg-hsse_evpolicy {
    margin-top: 50px;
  }
  .evpolicy_theme {
    padding: 20px 20px 15px;
    background: #b3d465;
  }
  .evpolicy_theme_title {
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
  }
  .evpolicy_theme_lead {
    margin-top: 1.5em;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
  }
  .evpolicy_theme_list {
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
  }
  .evpolicy_theme_list > li {
    display: -webkit-flex;
    display: flex;
    align-self: stretch;
    justify-content: center;
    flex-basis: calc((100% - 4px)/3);
    background: #fff;
    padding: 4% 0px;

  }
  .evpolicy_theme_list > li > span{
    align-self: center;
    font-size: 1.6rem;
    font-weight: bold;
  }
  .evpolicy_action {
    position: relative;
    margin-top: 47px;
    border: 4px solid  #ffcd48;
  }
  .evpolicy_action::before {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    top: -48px;
    margin-left: -43px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 43px 44px 43px;
    border-color: transparent transparent #ffce48 transparent;
  }
  .evpolicy_action_title {
    padding: 2.5% 4%;
    background: #ffcd48;
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
  }
  .evpolicy_action_layout {
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    padding: 2.5% 15%;
    background: #fff;
  }
  .evpolicy_action_layout_column {
    flex-basis: 30%;
  }
  .evpolicy_action_layout_column_title {
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: center;
    padding: 10px;
    margin-bottom: 18px;
    line-height: 1.5;
    background: #ffcd48;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
  }
  .evpolicy_action_layout_column_list {
    margin-top: 10px;
  }
  .evpolicy_action_layout_column_list > li {
    position: relative;
    padding-left: 15px;
    font-size: 1.2rem;
    font-weight: bold;
  }
  .evpolicy_action_layout_column_list > li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.5em;
    display: block;
    width: 6px;
    height: 6px;
    background: #e50014;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .evpolicy_action_layout_column_list > li a {
    color: #333;
  }
  .evpolicy_action_layout_column_list > li a::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: 6px;
    border-top: 1px solid #e50014;
    border-right: 1px solid #e50014;
     -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .evpolicy_action_layout_column_list-v2 {}
  .evpolicy_action_layout_column_list-v2 > li a::after {
    width: 8px;
    height: 8px;
  }
  .evpolicy_action_layout_column_block {
    margin-top: 15px;
    padding: 3% 5%;
    background: #efefef;
  }
  .evpolicy_action_layout_column_block_title {
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
  }
  .evpolicy_action_layout_column_block_list {
    margin-top: 10px;
  }
  .evpolicy_action_layout_column_block_list > li {
    position: relative;
    background: #ffa04c;
    padding: 4px 5px 4px 30px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
  }
  .evpolicy_action_layout_column_block_list > li + li {
    margin-top: 10px;
  }
  .evpolicy_action_layout_column_block_list > li > span {
    position: absolute;
    left: 10px;
    top: 0.1em;
    display: block;
    font-size: 1.6rem;
  }

  /* ----- esg-hsse_local_nav ----- */

  .esg-hsse_local_nav {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    margin: 60px 0 0;
    color: #ffffff;
    font-size: 1.8rem;
  }
  .esg-hsse_local_nav a {
    color: #ffffff;
  }
  .esg-hsse_nav_column {
    position: relative;
    overflow: hidden;
  }
  [class*="esg-hsse_nav_column"].current .nav_column_bg::before {
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    transform: none;
    opacity: 0.7;
  }
  .nav_column_bg {
    position: relative;
  }
  .nav_column_bg::before {
    content: "";
    position: absolute;
    bottom: -170px;
    left: -150px;
    display: block;
    width: 500px;
    height: 172px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    opacity: 0.6;
    -webkit-transition: height 0.5s ease-out;
    transition: height 0.5s ease-out;
    z-index: 1;
  }
  .nav_column_bg::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 100%;
    height: 10px;
    padding: 5px 25px 2px;
    box-sizing: border-box;
    box-shadow:0px 0 40px 15px rgba(0, 0, 0, 0.8);
  }
  a:hover .nav_column_bg::after,
  .current .nav_column_bg::after {
    display: none;
  }
  [class*="type"] a:hover .nav_column_bg::before {
    width: 500px;
    height: 500px;
    opacity: 0.7;
  }
  .type01 .nav_column_bg::before,
  .type01.current .nav_column_bg::before,
  .type01 a:hover .nav_column_bg::before {
    background: #64cc69;
  }
  .type02 .nav_column_bg::before,
  .type02.current .nav_column_bg::before,
  .type02 a:hover .nav_column_bg::before {
    background: #3288cf;
  }
  .type03 .nav_column_bg::before,
  .type03.current .nav_column_bg::before,
  .type03 a:hover .nav_column_bg::before {
    background: #ad4d97;
  }
  [class*="esg-hsse_nav_column"] a:hover img {
    opacity: inherit;
  }
  .nav_column_contents {
    position: absolute;
    left: 16px;
    bottom: 11px;
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-end;
    align-items: flex-end;
    z-index: 100;
  }
  .nav_column_logo {
    width: 54px;
  }
  .nav_column_title .title_label {
    position: relative;
    padding-left: 18px;
  }
  .current .nav_column_title .title_label {
    padding-left: 0;
  }
  [class*="esg-hsse_nav_column"] .title_label > span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 9px;
    height: 9px;
    margin-top: -6px;
    border-top: 1px solid #ffffff;
    border-right: 1px solid #ffffff;
  }
  [class*="esg-hsse_nav_column"].current .title_label > span::before {
    display: none;
  }

  /* ----- column-interview ----- */
  .column-interview .interview_name {
    width: 100px;
    height: 100px;
    padding: 4px;
  }
  .column-interview {
    margin-top: 40px;
  }
  .column-interview .interview_name > span {
    -webkit-flex: flex;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 92px;
    height: 92px;
    border: 1px solid #fff;
    color: #fff;
  }
  .interview_name[data-name="left"] {
    float: left;
    margin-right: 20px;
  }
  .interview_name[data-name="right"] {
    float: right;
    margin-left: 20px;
  }
  .column-interview .interview_name.type01 {
    background-color: #345c83;
  }
  .column-interview .interview_name.type02 {
    background-color: #ca3232;
  }
  .column-interview .interview_text {
    overflow: hidden;
  }
  .column-interview .interview_text > *:first-child {
    margin-top: 0;
  }
  /* ----- heading-hsse ----- */
  .heading-hsse {
    background: url(/jp/esg-hsse/hsse/img/index_bg01.png) no-repeat 0 0;
    width: 100%;
    min-height: 192px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  .heading-hsse .block {
    padding: 10px 50px;
  }
  .heading-hsse .block > .heading_title {
    font-size: 4.6rem;
    font-weight: 500;
    font-family: "Noto Sans CJK JP";
  }

  /* ----- esg-hsse_local_nav ----- */

  .hsse-nav,
  .hsse-nav-v2 {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    margin: 60px 0 0;
    color: #ffffff;
    font-size: 1.8rem;
  }
  .hsse-nav a,
  .hsse-nav-v2 a {
    color: #ffffff;
  }
  .hsse-nav_column {
    position: relative;
    overflow: hidden;
  }
  .hsse-nav .hsse-nav_column:nth-child(n+2) {
    margin-top: 30px;
  }
  [class*="hsse-nav_column"].current .hsse-nav_column_bg::before {
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    transform: none;
    opacity: 0.7;
  }
  .hsse-nav_column_bg {
    position: relative;
  }
  .hsse-nav .hsse-nav_column_bg::before {
    content: "";
    position: absolute;
    bottom: -210px;
    left: -300px;
    width: 1000px;
    height: 172px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    opacity: 0.6;
    transition: height 0.5s ease-out;
  }
  .hsse-nav-v2 .hsse-nav_column_bg::before {
    content: "";
    position: absolute;
    bottom: -205px;
    left: -150px;
    width: 500px;
    height: 172px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    opacity: 0.6;
    transition: height 0.5s ease-out;
  }
  .hsse-nav-v2 .current .hsse-nav_column_bg::before,
  .hsse-nav-v2 .current .hsse-nav_column_bg:hover::before {
    opacity: 1;
  }
  .hsse-nav_column_bg::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 100%;
    height: 10px;
    padding: 5px 25px 2px;
    box-sizing: border-box;
    box-shadow:0px 0 40px 15px rgba(0, 0, 0, 0.8);
  }
  a:hover .hsse-nav_column_bg::after,
  .current .hsse-nav_column_bg::after {
    display: none;
  }
  .hsse-nav [class*="type"] a:hover .hsse-nav_column_bg::before {
    width: 1000px;
    height: 1000px;
    opacity: 0.6;
  }
  .hsse-nav-v2 [class*="type"] a:hover .hsse-nav_column_bg::before {
    width: 500px;
    height: 500px;
    opacity: 0.6;
  }
  .type01 .hsse-nav_column_bg::before,
  .type01.current .hsse-nav_column_bg::before,
  .type01 a:hover .hsse-nav_column_bg::before {
    background: #ca3232;
  }
  .type02 .hsse-nav_column_bg::before,
  .type02.current .hsse-nav_column_bg::before,
  .type02 a:hover .hsse-nav_column_bg::before {
    background: #f7b500;
  }
  .type03 .hsse-nav_column_bg::before,
  .type03.current .hsse-nav_column_bg::before,
  .type03 a:hover .hsse-nav_column_bg::before {
    background: #0168b7;
  }
  .type04 .hsse-nav_column_bg::before,
  .type04.current .hsse-nav_column_bg::before,
  .type04 a:hover .hsse-nav_column_bg::before {
    background: #14a73c;
  }
  [class*="hsse-nav_column"] a:hover img {
    opacity: inherit;
  }
  .hsse-nav_column_contents {
    position: absolute;
    left: 16px;
    bottom: 11px;
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-end;
    align-items: flex-end;
    z-index: 100;
  }
  .hsse-nav_column_logo {
    width: 54px;
  }
  .hsse-nav_column_title .title_label {
    position: relative;
    padding-left: 18px;
  }
  [class*="hsse-nav_column"] .title_label::before {
    content: "";
    position: absolute;
    top: 33%;
    left: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 9px;
    height: 9px;
    margin-top: -6px;
    border-top: 1px solid #ffffff;
    border-right: 1px solid #ffffff;
  }
  [class*="hsse-nav_column"].current .title_label::before {
    display: none;
  }
  .iif-layout {
    margin-top: 40px;
    padding: 25px;
    background-color: #efefef;
    display: flex;
    align-items: center;
  }
  .iif-layout .iif_detail {
    margin-right: 36px;
  }
  .iif-layout .iif_title {
    font-size: 2.4rem;
    font-weight: 500;
    font-family: "Noto Sans CJK JP";
    margin-bottom: 10px;
  }
  .iif-layout .iif_content .block {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    border: 1px solid #ddd;
    background: #fff;
    width: 380px;
  }
  .iif-layout .iif_content a.block {
    color: #333;
  }
  .iif-layout .iif_content a.block:hover {
    text-decoration: none;
  }
  .iif-layout .iif_text {
    padding: 5px 32px 5px 18px;
    font-family: "Noto Sans CJK JP";
    font-size: 1.8rem;
    font-weight: 700;
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
  }
  .iif-layout a.block:hover .iif_text {
    opacity: .6;
  }
  .iif-layout .iif_text > span {
    position: relative;
    display: inline-block;
    padding-left: 20px;
  }
  .iif-layout .iif_text > span::before {
    position: absolute;
    top: 0.55em;
    left: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 11px;
    height: 11px;
    border-top: 1px solid #e90f0f;
    border-right: 1px solid #e90f0f;
    content: "";
  }
  .iif-layout .iif_img {
    margin-left: auto;
  }
  /* ----- business-layout ----- */
  .company_property .company_type {
    float: right;
  }
  .company_property .company_type + * {
    clear: both;
    margin-top: 10px;
  }
  .company_property .company_type .company_icon {
    width: 120px;
    padding: 0 8px;
    background-color: #666;
    color: #fff;
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 19px;
    text-align: center;
  }
  .company_property .company_type .company_icon + .company_icon {
    margin-top: 10px;
  }
  /* business-initiative-story-index */
  .business-initiative-story-index {
    margin-top: 60px;
  }
  .business-initiative-story-index-layout {
    background: url(/jp/esg-hsse/img/index_bg06.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
  .business-initiative-story-index-layout .business-initiative-story-index_link {
    display: block;
    padding: 100px 20px 100px;
  }
  .business-initiative-story-index-layout .business-initiative-story-index_link:hover {
    background: rgba(255,255,255,0.5);
    text-decoration: none !important;
  }
  .business-initiative-story-index-layout .business-initiative-story-index_lead {
    font-family: "Noto Sans CJK JP";
    font-size: 3.2rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
  }
  .business-initiative-story-index-layout .business-initiative-story-index_text {
    font-family: "Noto Sans CJK JP";
    font-size: 2.0rem;
    color: #fff;
    text-align: center;
  }
  .business-initiative-story-index-layout .index_button {
    margin-top: 53px;
  }
  /* ----- cookie-contents ----- */
	#cookie_contents {
		display: table;
		position: fixed;
		bottom: 0;
		width: 100%;
		min-height: 97px;
		background: #333333;
		color: #ffffff;
		z-index: 1000;
		opacity: 0.9;
	}
	#cookie_contents p {
		display: table-cell;
		padding: 1% 15% 1% 21%;
		font-size: 1.5rem;
		vertical-align: middle;
		opacity: 1.0;
	}
	#cookie_contents p > a {
		color: #ffffff;
		text-decoration: underline;
	}
	#cookie_contents p > a:hover {
		text-decoration: none;
	}
	#cookie_contents span.close_button {
		display: table-cell;
		width: 4.5%;
		padding-top: 1.2%;
		opacity: 1.0;
	}
	#cookie_contents span.close_button img {
		max-width: 28px;
		max-height: 28px;
	}
	#cookie_contents span.close_button img:hover {
		cursor: pointer;
	}

  /* ----- heading-tech-innovation ----- */
  .heading-tech-innovation {
    margin-top: 45px;
    border: solid 1px #ddd;
  }
  .heading-tech-innovation > .block {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 190px;
    color: #333;
  }
  .heading-tech-innovation > .block:hover {
    text-decoration: none;
  }
  .heading-tech-innovation > .block::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 19px;
    width: 34px;
    height: 34px;
    margin-top: -17px;
    background: #d70c1e;
    border: solid 1px #d70c1e;
    -webkit-transition: opacity .2s ease-out 0s;
    transition: opacity .2s ease-out 0s;
  }
  .heading-tech-innovation > .block:hover::before {
    background: #fff;
  }
  .heading-tech-innovation > .block > .heading_body {
    flex: 1;
    padding: 10px 10px 10px 79px;
  }
  .heading-tech-innovation > .block > .heading_body::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 25px;
    width: 22px;
    height: 2px;
    margin-top: -1px;
    background: #fff;
  }
  .heading-tech-innovation > .block > .heading_body::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 35px;
    width: 2px;
    height: 22px;
    margin-top: -11px;
    background: #fff;
  }
  .heading-tech-innovation > .block:hover > .heading_body::before,
  .heading-tech-innovation > .block:hover > .heading_body::after {
    background: #d70c1e;
  }
  .heading-tech-innovation > .block.is-active > .heading_body::after {
    display: none;
  }
  .heading-tech-innovation > .block > .heading_body > .heading_subtitle {
    font-size: 1.6rem;
    font-weight: bold;
  }
  .heading-tech-innovation > .block > .heading_body > .heading_title {
    font-size: 2.8rem;
    font-weight: bold;
  }
  .heading-tech-innovation > .block > .heading_image {
    width: 44.5%;
    margin-left: auto;
  }
  .tech-innovation-list_detail > section {
    padding-bottom: 20px;
  }
  .tech-innovation-list_detail > section:last-child {
    padding-bottom: 0;
  }
  .tech-innovation-list_detail > section + section {
    border-top: solid 1px #ddd;
  }
  .tech-innovation-list_detail .heading-lv4 {
    margin-top: 1.2em;
  }
/* ----- detail-column-layout ----- */
  .detail-column-layout {
    margin-top: 1em;
    display: flex;
  }
  .detail-column-layout > .detail-column_item > *:first-child {
    margin-top: 0 !important;
  }
  .detail-column-layout > .detail-column_item + .detail-column_item {
    margin-left: 1em;
  }
  .detail-column-layout > .detail-column_item > p + p {
    margin-top: .25em;
  }
/* ----- message-box ----- */
  .message-box {
    margin: 2em 0 0;
    border: 1px solid #dddddd;
  }
  .message-box__head {
    margin: 0 0 1.5em;
    padding: .8em 1.4em;
    background-color: #f1f1f1;
  }
  .message-box__title {
    color: #333;
    font-family: "Noto Sans CJK JP";
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.6;
  }
  .message-box__body {
    padding: 1.6em 1.4em 1.2em;
  }
  .message-box__head + .message-box__body {
    padding-top: 0;
  }
/* ----- message-media ----- */
  .message-media {
    display: flex;
    flex-flow: row wrap;
  }
  .message-media__head {
    width: 33%;
    max-width: 280px;
    margin-right: 36px;
  }
  .message-media__image {
    width: 100%;
    margin: 0;
  }
  .message-media__body {
    display: flex;
    flex: 1 1;
    flex-flow: column wrap;
    justify-content: space-between;
  }
  .message-media__title {
    color: #333;
    font-family: "Noto Sans CJK JP";
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.5;
  }
  .message-media__name__caption {
    color: #333;
    font-family: "Noto Sans CJK JP";
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .message-media__name {
    margin-top: .2em;
    color: #333;
    font-family: "Noto Sans CJK JP";
    font-size: 3.2rem;
    font-weight: 400;
    line-height: 1.5;
  }
/* ----- message-basis ----- */
  .message-basis {
    margin-top: 1.8em;
  }
  .message-basis > *:not(.message-basis__lead) {
    padding-left: .8em;
  }
  .message-basis__lead {
    color: #333;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.75;
  }
  .message-basis__text {
    margin-top: .6em;
    color: #333;
    font-size: 1.6rem;
    line-height: 1.75;
  }
/* ----- message-basis-link-text ----- */
  .message-basis-link-text {
    margin-top: .4em;
  }
  .message-basis-link-text > li > a {
    display: inline-block;
    position: relative;
    padding-left: 20px;
    color: #333;
  }
  .message-basis-link-text > li > a:hover {
    text-decoration: none;
    color: #aaa;
    opacity: .6;
  }
  .message-basis-link-text > li > a::before {
    position: absolute;
    top: .5em;
    left: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 1px solid #eb3747;
    border-right: 1px solid #eb3747;
    content: "";
  }
/* ----- message-text ----- */
  .message-text {
    margin-top: 1.2em;
    color: #333;
    font-size: 1.6rem;
    line-height: 2;
  }
  .message-text + .message-text {
    margin-top: .5em;
  }
/* ----- cmn-iframe-video  ----- */
  .cmn-iframe-video {
    margin: 2.2em 0 0;
  }
/* ----- cmn-iframe-video-lead  ----- */
  .cmn-iframe-video-lead {
    font-size: 2.5rem;
    line-height: 1.5;
    font-weight: 700;
    font-family: "Noto Sans CJK JP";
  }
  .cmn-iframe-video-lead + .cmn-iframe-video-modal{
    margin-top: 1em;
  }
/* ----- cmn-iframe-video-modal  ----- */
  .cmn-iframe-video-modal {
    display: inline-block;
    width: 100%;
    height: 100%
  }
  .cmn-iframe-video > a.cmn-iframe-video-modal > *:first-child {
    margin-top: 0em;
  }
  .cmn-iframe-video > a.cmn-iframe-video-modal > *:first-child {
    margin-top: 0em;
  }
  .cmn-iframe-video-modal .image-set {
    display: block;
    position: relative;
  }
  .cmn-iframe-video-modal .image-set .image_inner > img {
    width: 100%;
    height: 100%;
  }
  .cmn-iframe-video-modal .image-set::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 60px;
    height: 60px;
    background: url(/jp/common/img/com_sprite01.png) no-repeat -400px -200px;
    content: "";
    z-index: 1;
  }
/* ----- related-companies text only column ----- */
  .column-layout > .related-companies-column_item{
    padding-left: 136px;
  }
  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .company_property::after,
  .column-media::after,
  .esg-hsse_heading_box_inner::after,
  .sdgs_colomn_02 .sdgs_colomn_contents::after {
    display: block;
    clear: both;
    content: "";
  }
}

/* ======================================================
 * Media Queries
====================================================== */
@media screen and (min-width: 768px) and (max-width: 1200px) {
  [data-sidebar="false"] .related_body > .related_column-media > .column_image[data-image="left"] {
    float: none;
    margin-right: 0;
    width: 100%;
  }
  [data-sidebar="false"] .related_body > .related_column-media > .column_image[data-image="left"] + .column_detail  {
    width: 100%;
  }
}