@charset "UTF-8";
/* =========================================================
 * reset　　　    /*リセット
========================================================= */
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,400;0,500;1,100;1,400;1,500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700&display=swap");
blockquote, body, div, dl, dt, dd, fieldset, form, h1, h2, h3, h4, h5, h6, input, li, ol, p, pre, select, span, textarea, td, th, ul, figure, figcaption {
  margin: 0px;
  padding: 0px; }

fieldset, img {
  border: 0; }

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

ol {
  list-style-type: none; }

ul {
  list-style-type: none; }
  ul li {
    list-style-type: none; }

img {
  border: none;
  vertical-align: bottom; }

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

caption, th {
  text-align: left; }

iframe {
  border: none; }

a:focus {
  outline: none; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

li img {
  line-height: 0;
  font-size: 0;
  vertical-align: top; }

/* IE */
* html ul li dl, * html ol li dl {
  display: inline; }
*:first-child + html ul li dl, *:first-child + html ol li dl {
  display: inline; }

/* =========================================================
 * default settings      　   /*デフォルトセッティング
========================================================= */
html {
  font-size: 62.5%; }

* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  word-break: break-all; }

p {
  line-break: strict; }

a {
  color: #333;
  text-decoration: none;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -ms-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out; }
  a:hover {
    opacity: 0.7;
    -webkit-opacity: .7;
    -moz-opacity: .7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)"; }

body {
  font-size: 1.4rem;
  font: inherit;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-weight: 500;
  line-height: 1.4;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  color: #333; }

#wrapper {
  width: 100%; }

.pc {
  display: block; }

.sp {
  display: none; }

.hide, .hidden {
  visibility: hidden; }

img {
  max-width: 100%; }

article {
  display: block; }

@media screen and (max-width: 767px) {
  a {
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    transition: none; }
    a:hover {
      opacity: 1;
      -webkit-opacity: 1;
      -moz-opacity: 1;
      filter: alpha(opacity=100);
      /* IE lt 8 */
      -ms-filter: "alpha(opacity=100)";
      /* IE 8 */ }

  body {
    -webkit-text-size-adjust: 100%;
    background: #fff;
    min-width: 100%;
    font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-family: sans-serif;
    font-weight: 500; }

  img {
    width: 100%; }

  .pc {
    display: none; }

  .sp {
    display: block; }

  input[type="submit"] {
    -webkit-appearance: none; } }
/* =========================================================
 * font
========================================================= */
.font-barlow {
  font-family: 'Barlow Condensed',serif; }

.font-noto {
  font-family: 'Noto Sans Japanese', sans-serif; }

.font-serif {
  font-family: 'Noto Serif JP', serif; }

/*
.roboto {
  font-family: 'Roboto Condensed', sans-serif;
}

.font-nunito {
  font-family: 'Nunito', sans-serif;
}

.font-lato {
  font-family: 'Lato', sans-serif;
}

.font-montserrat {
  font-family: 'Montserrat', sans-serif;
}

.fonte-gramond{
	font-family: 'EB Garamond', serif;
}

.font-rk {
  font-family: Ryumin Regular KL;
}

.font-mb31 {
  font-family: Midashi Go MB31;
}

.font-telop {
  font-family: TelopMinPro-D;
}
*/
/* =========================================================
 * clearfix　　   /*クリアフィックス
========================================================= */
.clearfix {
  zoom: 1; }
  .clearfix:before {
    content: "";
    display: table; }
  .clearfix:after {
    content: "";
    display: table;
    clear: both; }

header {
  position: fixed;
  top: 0;
  height: 90px;
  width: 100%;
  margin: 0 auto;
  z-index: 999;
  background: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  /*　ハンバーガーボタン　*/
  /* ナビ開いてる時のボタン */ }
  header a {
    text-decoration: none; }
  header .logo_area a h1 {
    width: 240px;
    margin: 0 10px;
    padding: 0 10px;
    align-items: center; }
  header .hamburger {
    display: none;
    position: fixed;
    z-index: 3;
    left: 13px;
    top: 12px;
    width: 46px;
    height: 46px;
    cursor: pointer;
    text-align: center;
    background: #fff;
    border-radius: 23px; }
  header .hamburger span {
    display: block;
    position: absolute;
    width: 16px;
    height: 2px;
    left: 15px;
    background: #e95504;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out; }
  header .hamburger span:nth-child(1) {
    top: 17px; }
  header .hamburger span:nth-child(2) {
    top: 22px; }
  header .hamburger span:nth-child(3) {
    top: 27px; }
  header .hamburger.active span:nth-child(1) {
    top: 22px;
    left: 15px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg); }
  header .hamburger.active span:nth-child(2),
  header .hamburger.active span:nth-child(3) {
    top: 22px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg); }
  header .navicont {
    width: calc(100% - 300px);
    font-family: 'Noto Sans Japanese', sans-serif;
    font-weight: 500;
    font-size: 14px; }
    header .navicont .naviinnercont {
      display: flex;
      align-items: center;
      align-content: center;
      justify-content: flex-end;
      flex-wrap: wrap; }
      header .navicont .naviinnercont ul {
        width: 100%;
        display: flex;
        justify-content: flex-end; }
        header .navicont .naviinnercont ul li {
          letter-spacing: 0.1em;
          padding: 7px 14px; }
          header .navicont .naviinnercont ul li a {
            display: block;
            color: #333;
            text-decoration: none;
            position: relative; }
            header .navicont .naviinnercont ul li a:after {
              position: absolute;
              content: "";
              height: 100%;
              border-right: 1px solid #333;
              right: -14px; }
          header .navicont .naviinnercont ul li.last a:after {
            content: none; }
        header .navicont .naviinnercont ul.upper {
          margin-right: 15px; }
          header .navicont .naviinnercont ul.upper li {
            padding: 0 15px; }
            header .navicont .naviinnercont ul.upper li a {
              color: #e95504; }
              header .navicont .naviinnercont ul.upper li a span {
                display: inline-block;
                width: 20px;
                margin-top: -1px;
                margin-right: 5px; }
                header .navicont .naviinnercont ul.upper li a span img {
                  width: 100%; }
              header .navicont .naviinnercont ul.upper li a:after {
                position: absolute;
                content: "";
                height: 6px;
                width: 6px;
                top: 5px;
                border-top: 1px solid #e95504;
                border-right: 1px solid #e95504;
                right: -10px;
                transform: rotate(45deg); }

.page {
  display: none; }

footer {
  width: 100%;
  background: #333;
  position: relative; }
  footer:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100px;
    top: -100px;
    background: url("../images/common/footer_back.png") repeat-x top center; }
  footer .footer_cont {
    max-width: 980px;
    margin: 0 auto;
    padding: 50px 0;
    font-size: 14px;
    display: flex;
    justify-content: space-between;
    font-weight: 700; }
    footer .footer_cont a {
      display: block;
      color: #fff;
      text-decoration: none; }
    footer .footer_cont ul {
      width: 200px;
      border-right: 1px solid #666; }
      footer .footer_cont ul:last-child {
        border-right: none; }
      footer .footer_cont ul:first-child {
        width: 280px; }
      footer .footer_cont ul li {
        padding-bottom: 25px;
        position: relative;
        letter-spacing: 0.06em;
        padding-left: 15px; }
        footer .footer_cont ul li:before {
          position: absolute;
          content: "";
          width: 3px;
          height: 14px;
          background: #fff;
          left: 0;
          top: 2px; }
        footer .footer_cont ul li ul {
          border-right: none;
          padding-right: 0; }
          footer .footer_cont ul li ul li {
            font-size: 13px;
            font-weight: 500;
            padding-bottom: 8px; }
            footer .footer_cont ul li ul li:before {
              position: absolute;
              content: "";
              width: 3px;
              height: 3px;
              border-radius: 2px;
              background: #ccc;
              left: 0;
              top: 6px; }
            footer .footer_cont ul li ul li a {
              color: #ccc; }
            footer .footer_cont ul li ul li:first-child {
              font-size: 14px;
              padding-left: 0;
              padding-bottom: 10px; }
              footer .footer_cont ul li ul li:first-child a {
                display: block;
                color: #fff;
                text-decoration: none; }
              footer .footer_cont ul li ul li:first-child:before {
                content: none; }
        footer .footer_cont ul li.btns {
          width: 200px;
          text-align: center;
          background: #fff;
          padding-right: 25px;
          padding-left: 0;
          padding-bottom: 0; }
          footer .footer_cont ul li.btns a {
            color: #333;
            padding: 15px 0 10px;
            position: relative; }
            footer .footer_cont ul li.btns a:before, footer .footer_cont ul li.btns a:after {
              position: absolute;
              content: ""; }
            footer .footer_cont ul li.btns a:before {
              width: 20px;
              right: -10px;
              border-bottom: 1px solid #333;
              top: 50%;
              margin-top: -1px; }
            footer .footer_cont ul li.btns a:after {
              width: 0;
              height: 0;
              border-style: solid;
              border-width: 5px 0 0 10px;
              border-color: transparent transparent transparent #333;
              right: -11px;
              top: 50%;
              margin-top: -5px; }
            footer .footer_cont ul li.btns a span {
              display: inline-block;
              width: 25px;
              position: relative;
              top: -3px;
              margin-right: 10px; }
      footer .footer_cont ul.engfooter {
        display: flex;
        justify-content: space-between;
        width: 100%; }
  footer .under {
    width: 100%;
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 25px; }
    footer .under div {
      display: flex;
      align-items: center; }
      footer .under div p {
        width: 185px; }
      footer .under div ul {
        display: flex;
        margin-left: 10px;
        flex-wrap: wrap; }
        footer .under div ul li {
          font-size: 12px;
          margin-left: 10px;
          padding-left: 15px; }
          footer .under div ul li:last-child {
            width: 100%;
            margin-top: 3px; }
          footer .under div ul li a {
            display: block;
            color: #333;
            position: relative; }
            footer .under div ul li a:before {
              position: absolute;
              content: "";
              width: 5px;
              height: 5px;
              border-right: 1px solid #333;
              border-top: 1px solid #333;
              transform: rotate(45deg);
              left: -15px;
              top: 6px; }
    footer .under address {
      font-size: 11px;
      letter-spacing: 0.06em; }
  footer .pagetop {
    position: absolute;
    bottom: 45px;
    width: 46px;
    right: 66px; }

.fade,
.fadein,
.fadein-top,
.fadein-left,
.fadein-right,
.opening {
  opacity: 0;
  transition: all 0.875s ease-in-out; }

.fade {
  transform: translate(0, 0); }

.fadein {
  transform: translate(0, 50px); }

.fadein-top {
  transform: translate(0, -50px); }

.fadein-left {
  transform: translate(-50px, 0); }

.fadein-right {
  transform: translate(50px, 0); }

.fade.scrollin,
.fadein.scrollin,
.fadein-top.scrollin,
.fadein-left.scrollin,
.fadein-right.scrollin,
.opening.active {
  opacity: 1;
  transform: translate(0, 0); }

p.comment {
  font-size: 3.4vw;
  margin: 40px 0 10px; }

.pages article {
  padding-bottom: 125px; }
  .pages article .main--inner {
    width: 100%;
    height: 650px;
    padding-top: 140px; }
    .pages article .main--inner--title {
      text-align: center;
      color: #fff; }
      .pages article .main--inner--title h1 {
        font-size: 2.4rem;
        font-family: "Noto Serif JP", serif;
        font-weight: 600;
        line-height: 1;
        letter-spacing: .1em; }
        .pages article .main--inner--title h1 span {
          display: block;
          font-size: 5.9rem;
          font-family: "Barlow Condensed", "Noto Sans Japanese", serif;
          letter-spacing: .01em;
          margin-bottom: 20px; }
      .pages article .main--inner--title p {
        font-size: 1.3rem;
        line-height: 2;
        letter-spacing: .08em;
        margin-top: 40px; }

.cc-window .cc-message {
  font-size: 12px; }

.cc-btn.cc-dismiss {
  font-size: .7em; }

@media screen and (max-width: 1087px) {
  header .navicont .naviinnercont ul li {
    letter-spacing: 0.04em;
    padding: 7px 7px; }
    header .navicont .naviinnercont ul li a:after {
      right: -6px; } }
@media all and (-ms-high-contrast: none) {
  header .navicont .naviinnercont ul.upper li a span {
    margin-top: 0px;
    position: relative;
    top: 5px; }
  header .navicont .naviinnercont ul.upper li a:after {
    top: 10px; } }
@media screen and (max-width: 767px) {
  header {
    position: fixed;
    width: 100%;
    display: block;
    height: 50px;
    /*　ハンバーガーボタン　*/
    /* ナビ開いてる時のボタン */ }
    header a {
      text-decoration: none; }
    header .logo_area {
      width: 200px; }
      header .logo_area a h1 {
        width: 160px;
        margin: 5px;
        padding: 0;
        align-items: center; }
    header .hamburger {
      display: block;
      left: auto;
      right: 0;
      top: 0;
      width: 50px;
      height: 50px;
      cursor: pointer;
      text-align: center;
      background: #e95504;
      border-radius: 0px; }
    header .hamburger span {
      display: block;
      position: absolute;
      left: 18px;
      background: #fff; }
    header .hamburger.active span:nth-child(1) {
      top: 22px;
      left: 17px;
      -webkit-transform: rotate(315deg);
      -moz-transform: rotate(315deg);
      transform: rotate(315deg); }
    header .hamburger.active span:nth-child(2),
    header .hamburger.active span:nth-child(3) {
      top: 22px;
      left: 17px;
      -webkit-transform: rotate(-315deg);
      -moz-transform: rotate(-315deg);
      transform: rotate(-315deg); }
    header .navicont {
      position: absolute;
      top: 50px;
      width: 100%; }
      header .navicont .naviinnercont {
        display: none;
        background: rgba(255, 255, 255, 0.95); }
        header .navicont .naviinnercont ul {
          width: 100%;
          display: block;
          justify-content: center; }
          header .navicont .naviinnercont ul li {
            letter-spacing: 0.1em;
            padding: 10px 15px;
            border-bottom: 1px solid #e95504; }
            header .navicont .naviinnercont ul li a {
              color: #e95504; }
              header .navicont .naviinnercont ul li a:after {
                position: absolute;
                content: "";
                height: 6px;
                width: 6px;
                top: 5px;
                border-top: 1px solid #e95504;
                border-right: 1px solid #e95504;
                right: 0px;
                transform: rotate(45deg); }
            header .navicont .naviinnercont ul li.last a:after {
              position: absolute;
              content: "";
              height: 6px;
              width: 6px;
              top: 5px;
              border-top: 1px solid #e95504;
              border-right: 1px solid #e95504;
              right: 0px;
              transform: rotate(45deg); }
          header .navicont .naviinnercont ul.upper {
            display: flex;
            flex-wrap: wrap;
            margin-right: 0px;
            padding: 0px 0;
            border-top: 1px solid #e95504; }
            header .navicont .naviinnercont ul.upper li {
              width: 50%;
              padding: 10px 15px; }
              header .navicont .naviinnercont ul.upper li:first-child {
                border-right: 1px solid #e95504;
                border-bottom: 1px solid #e95504; }
              header .navicont .naviinnercont ul.upper li:nth-child(2) {
                border-bottom: 1px solid #e95504; }
              header .navicont .naviinnercont ul.upper li:nth-child(3) {
                width: 100%;
                border-bottom: 1px solid #e95504; }
              header .navicont .naviinnercont ul.upper li:last-child {
                width: 100%;
                border-bottom: 1px solid #e95504; }
              header .navicont .naviinnercont ul.upper li a {
                color: #e95504; }
                header .navicont .naviinnercont ul.upper li a:after {
                  right: 0px; }

  footer {
    width: 100%; }
    footer:before {
      height: 50px;
      top: -50px;
      background: url("../images/common/footer_back.png") repeat-x top center/cover; }
    footer .footer_cont {
      max-width: 90%;
      display: flex;
      flex-wrap: wrap;
      padding-bottom: 100px; }
      footer .footer_cont ul {
        width: 100%;
        border-right: none;
        display: flex;
        flex-wrap: wrap; }
        footer .footer_cont ul:last-child {
          width: 50%;
          border-right: none; }
          footer .footer_cont ul:last-child li {
            width: 100%; }
        footer .footer_cont ul:nth-child(3) {
          width: 50%; }
        footer .footer_cont ul:first-child {
          width: 100%; }
        footer .footer_cont ul li {
          width: 50%;
          position: relative;
          font-weight: 700; }
          footer .footer_cont ul li ul {
            width: 100%;
            border-right: none;
            padding-right: 0; }
            footer .footer_cont ul li ul li {
              display: none; }
              footer .footer_cont ul li ul li:first-child {
                width: 100%;
                display: block;
                padding-bottom: 0px; }
          footer .footer_cont ul li.btns {
            position: absolute;
            width: 90%;
            left: 5%;
            padding-right: 0px;
            margin-top: 50px; }
            footer .footer_cont ul li.btns a:before {
              right: 15px; }
            footer .footer_cont ul li.btns a:after {
              right: 14px; }
        footer .footer_cont ul.engfooter {
          flex-wrap: wrap;
          margin-bottom: -50px; }
          footer .footer_cont ul.engfooter li {
            width: 50%; }
    footer .under {
      width: 100%;
      background: #fff;
      display: block;
      justify-content: space-between;
      align-items: center;
      padding: 25px 3% 10px; }
      footer .under div {
        display: block;
        align-items: center; }
        footer .under div p {
          width: 200px;
          margin: 0 auto 25px; }
        footer .under div ul {
          display: flex;
          flex-wrap: wrap;
          padding-bottom: 10px;
          margin-left: 0; }
          footer .under div ul li {
            width: 48%;
            font-size: 11px;
            margin-left: 0px;
            padding-left: 15px;
            margin-bottom: 10px; }
            footer .under div ul li:last-child {
              width: 100%; }
            footer .under div ul li a {
              display: block;
              color: #333;
              position: relative; }
              footer .under div ul li a:before {
                position: absolute;
                content: "";
                width: 5px;
                height: 5px;
                border-right: 1px solid #333;
                border-top: 1px solid #333;
                transform: rotate(45deg);
                left: -15px;
                top: 6px; }
      footer .under address {
        text-align: center; }
    footer .pagetop {
      position: absolute;
      bottom: 40px;
      width: 46px;
      right: 10px; }

  .cc-window.cc-floating {
    padding: 1em !important; }

  .cc-message {
    width: 100%; }

  .cc-compliance {
    display: block;
    width: 100%; } }
.top header {
  position: fixed;
  top: 0;
  width: 100%;
  height: auto;
  margin: 0 auto;
  z-index: 999;
  display: block;
  /*　ハンバーガーボタン　*/
  /* ナビ開いてる時のボタン */
  /* このクラスを、jQueryで付与・削除する */ }
  .top header a {
    text-decoration: none; }
  .top header .logo_area {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%; }
    .top header .logo_area a {
      display: flex;
      justify-content: flex-start;
      align-items: center; }
      .top header .logo_area a h1 {
        width: 240px;
        padding: 15px 30px 0;
        margin: 0;
        align-items: center; }
  .top header .hamburgers {
    display: none;
    position: fixed;
    z-index: 3;
    left: 13px;
    top: 12px;
    width: 46px;
    height: 46px;
    cursor: pointer;
    text-align: center;
    background: #fff;
    border-radius: 23px; }
  .top header .hamburgers span {
    display: block;
    position: absolute;
    width: 16px;
    height: 2px;
    left: 15px;
    background: #e95504;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out; }
  .top header .hamburgers span:nth-child(1) {
    top: 17px; }
  .top header .hamburgers span:nth-child(2) {
    top: 22px; }
  .top header .hamburgers span:nth-child(3) {
    top: 27px; }
  .top header .hamburgers.active span:nth-child(1) {
    top: 22px;
    left: 15px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg); }
  .top header .hamburgers.active span:nth-child(2),
  .top header .hamburgers.active span:nth-child(3) {
    top: 22px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg); }
  .top header nav.naviinner {
    position: fixed;
    z-index: 2;
    top: 0px;
    right: 0px;
    color: #fff;
    text-align: center;
    transition: all 0.6s;
    width: calc(100% - 280px); }
  .top header nav.naviinner ul {
    padding: 0;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    padding-right: 1%; }
  .top header nav.naviinner ul li {
    list-style-type: none;
    padding: 0;
    font-family: 'Barlow Condensed',serif;
    font-weight: 400;
    font-size: 12px;
    margin: 5px 0.6em 0; }
  .top header nav.naviinner ul li span {
    font-family: 'Noto Sans Japanese';
    font-weight: 500;
    font-size: 14px;
    display: block; }
  .top header nav.naviinner ul li:last-child {
    padding-bottom: 0;
    border-bottom: none; }
  .top header nav.naviinner ul li a {
    display: block;
    color: #fff;
    padding: 1.2em 0;
    text-decoration: none; }
  .top header nav.naviinner.active {
    transform: translateX(0%); }
.top footer p {
  position: fixed;
  z-index: 10;
  left: 15px;
  bottom: 10px;
  font-size: 12px; }
  .top footer p a {
    color: #fff;
    text-decoration: none; }
    .top footer p a span {
      display: inline-block;
      width: 15px;
      margin-top: 4px;
      margin-right: 5px; }
      .top footer p a span img {
        width: 100%; }
.top footer address {
  position: fixed;
  z-index: 10;
  right: 15px;
  bottom: 10px;
  color: #fff;
  font-size: 11px; }
.top .passing {
  display: block; }
.top .passing-t, .top .passing-t-02 {
  opacity: 0;
  overflow: hidden;
  position: relative;
  transform: translate3d(-100%, 0, 0); }
.top .passing-t.move {
  animation: passing-obj 1.2s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards; }
.top .passing-t-02.move {
  animation: passing-obj-02 1.2s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards; }
@-webkit-keyframes passing-obj {
  0% {
    transform: translate(-100%); }
  50%, 60% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; }
  100% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; } }
@keyframes passing-obj {
  0% {
    transform: translate(-100%); }
  50%, 60% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; }
  100% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; } }
@-webkit-keyframes passing-obj-02 {
  0% {
    transform: translate(100%); }
  50%, 60% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; }
  100% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; } }
@keyframes passing-obj-02 {
  0% {
    transform: translate(100%); }
  50%, 60% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; }
  100% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; } }
.top .passing-lead,
.top .passing-txt,
.top .passing-btn {
  opacity: 0;
  overflow: hidden;
  position: relative;
  transform: translate3d(-100%, 0, 0); }
.top .passing-lead-02,
.top .passing-txt-02,
.top .passing-btn-02 {
  opacity: 0;
  overflow: hidden;
  position: relative;
  transform: translate3d(-100%, 0, 0); }
.top .passing-lead.move {
  animation: passing-lead 1.2s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards;
  animation-delay: 0.2s; }
.top .passing-txt.move {
  animation: passing-lead 1.2s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards;
  animation-delay: 0.4s; }
.top .passing-btn.move {
  animation: passing-lead 1.2s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards;
  animation-delay: 0.6s; }
.top .passing-lead-02.move {
  animation: passing-lead-02 1.2s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards;
  animation-delay: 0.2s; }
.top .passing-txt-02.move {
  animation: passing-lead-02 1.2s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards;
  animation-delay: 0.4s; }
.top .passing-btn-02.move {
  animation: passing-lead-02 1.2s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards;
  animation-delay: 0.6s; }
@-webkit-keyframes passing-lead {
  0% {
    transform: translate(-100%); }
  50%, 60% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; }
  100% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; } }
@keyframes passing-lead {
  0% {
    transform: translate(-100%); }
  50%, 60% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; }
  100% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; } }
@-webkit-keyframes passing-lead-02 {
  0% {
    transform: translate(100%); }
  50%, 60% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; }
  100% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; } }
@keyframes passing-lead-02 {
  0% {
    transform: translate(100%); }
  50%, 60% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; }
  100% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; } }
.top .passings {
  opacity: 0;
  overflow: hidden;
  position: relative;
  transform: rotateX(0deg); }
.top .passings.flip01 {
  animation: flip01 1.2s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards;
  animation-delay: 0.4s; }
.top .passings.flip02 {
  animation: flip02 1.2s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards;
  animation-delay: 0.8s; }
.top .passings.flip03 {
  animation: flip03 1.2s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards;
  animation-delay: 1.2s; }
.top .passings.flip-02 {
  animation: flip 1.2s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards; }
@-webkit-keyframes flip01 {
  0% {
    transform: rotateX(180deg); }
  40% {
    opacity: 0; }
  100% {
    transform: rotateX(0deg);
    opacity: 1; } }
@keyframes flip01 {
  0% {
    transform: rotateX(180deg); }
  40% {
    opacity: 0; }
  100% {
    transform: rotateX(0deg);
    opacity: 1; } }
@-webkit-keyframes flip02 {
  0% {
    transform: rotateX(180deg); }
  40% {
    opacity: 0; }
  100% {
    transform: rotateX(0deg);
    opacity: 1; } }
@keyframes flip02 {
  0% {
    transform: rotateX(180deg); }
  40% {
    opacity: 0; }
  100% {
    transform: rotateX(0deg);
    opacity: 1; } }
@-webkit-keyframes flip03 {
  0% {
    transform: rotateX(180deg); }
  40% {
    opacity: 0; }
  100% {
    transform: rotateX(0deg);
    opacity: 1; } }
@keyframes flip03 {
  0% {
    transform: rotateX(180deg); }
  40% {
    opacity: 0; }
  100% {
    transform: rotateX(0deg);
    opacity: 1; } }
.top .pass-back-01,
.top .pass-back-02,
.top .pass-back-03 {
  opacity: 0;
  overflow: hidden;
  position: relative;
  transform: translate3d(-100%, 0, 0); }
.top .pass-back-01.move {
  animation: passing-back-01 1.2s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards; }
.top .pass-back-02.move {
  animation: passing-back-02 1.2s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards;
  animation-delay: 0.2s; }
.top .pass-back-03.move {
  animation: passing-back-03 1.2s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards;
  animation-delay: 0.4s; }
@-webkit-keyframes passing-back-01 {
  0% {
    transform: translate(-100%, -100%); }
  50%, 60% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; }
  100% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; } }
@keyframes passing-back-01 {
  0% {
    transform: translate(-100%, -100%); }
  50%, 60% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; }
  100% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; } }
@-webkit-keyframes passing-back-02 {
  0% {
    transform: translate(-100%, -100%); }
  50%, 60% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; }
  100% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; } }
@keyframes passing-back-02 {
  0% {
    transform: translate(-100%, -100%); }
  50%, 60% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; }
  100% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; } }
@-webkit-keyframes passing-back-03 {
  0% {
    transform: translate(100%, 100%); }
  50%, 60% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; }
  100% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; } }
@keyframes passing-back-03 {
  0% {
    transform: translate(100%, 100%); }
  50%, 60% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; }
  100% {
    transform: translate3d(0%, 0, 0);
    opacity: 1; } }
.top .section_01, .top .section_02, .top .section_03, .top .section_04, .top .section_05, .top .section_06, .top .section_07 {
  opacity: 0;
  overflow: hidden;
  position: relative; }
.top .section_01.inn, .top .section_02.inn, .top .section_03.inn, .top .section_04.inn, .top .section_05.inn, .top .section_06.inn, .top .section_07.inn {
  animation: fadeinn 0.4s cubic-bezier(0.6, 0, 0.4, 1);
  animation-fill-mode: forwards; }
@-webkit-keyframes fadeinn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fadeinn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.top .section {
  text-align: center;
  overflow: hidden; }
  .top .section .topics {
    position: absolute;
    z-index: 5;
    left: 0;
    bottom: 40px;
    background: #fff;
    transform: translate(0px); }
    .top .section .topics.close {
      transform: translate(-230px); }
    .top .section .topics a {
      display: block; }
    .top .section .topics .box {
      padding: 15px 10px;
      position: relative;
      cursor: pointer; }
      .top .section .topics .box .btnstopics, .top .section .topics .box .topicsopen {
        position: absolute;
        top: 0;
        right: -23px;
        width: 32px;
        height: 110px; }
      .top .section .topics .box .cat {
        position: absolute;
        right: 10px;
        margin-top: -20px;
        width: 55px;
        height: 55px;
        line-height: 1.2;
        color: #fff;
        text-align: center;
        background: #e95504;
        border-radius: 28px;
        font-size: 14px;
        display: flex;
        justify-content: center;
        align-items: center; }
      .top .section .topics .box dl {
        text-align: left;
        font-weight: 500;
        font-size: 15px; }
        .top .section .topics .box dl dt {
          font-family: 'Barlow Condensed',serif;
          font-size: 30px; }
  .top .section.move {
    opacity: 1; }
  .top .section .btn {
    width: 220px;
    background: #e95504;
    position: relative;
    text-align: left; }
    .top .section .btn a {
      display: block;
      padding: 15px 0 15px 30px;
      color: #fff;
      text-decoration: none;
      font-size: 14px;
      line-height: 1;
      position: relative; }
      .top .section .btn a:before, .top .section .btn a:after {
        position: absolute;
        content: ""; }
      .top .section .btn a:before {
        border-bottom: 1px solid #fff;
        width: 20px;
        top: 50%;
        right: 20px; }
      .top .section .btn a:after {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 6px 0 0 12px;
        border-color: transparent transparent transparent #fff;
        right: 15px;
        top: 50%;
        margin-top: -5px; }
.top #video {
  position: absolute;
  right: 0;
  bottom: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-size: 100% 100%;
  background-color: black;
  /* in case the video doesn't fit the whole page*/
  background-position: center center;
  background-size: contain;
  object-fit: cover;
  /*cover video background */
  z-index: 3; }
.top #videosp {
  display: none; }
.top #section1 {
  background: url("../images/top/img_3.png") no-repeat center center/cover; }
  .top #section1 .innerflex {
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: stretch; }
    .top #section1 .innerflex .back_01 {
      width: 50%;
      display: flex;
      align-items: flex-start;
      align-content: flex-start;
      flex-wrap: wrap;
      padding: 100px 100px;
      text-align: left;
      position: relative; }
      .top #section1 .innerflex .back_01 .base {
        width: 100%;
        position: absolute;
        left: 0;
        top: 0; }
      .top #section1 .innerflex .back_01 h3 {
        width: 100%;
        font-family: 'Barlow Condensed',serif;
        font-weight: 400;
        font-size: 80px;
        position: relative; }
        .top #section1 .innerflex .back_01 h3 span {
          font-family: 'Noto Sans Japanese';
          font-size: 15px;
          line-height: 1;
          position: relative;
          top: -20px;
          right: -15px; }
      .top #section1 .innerflex .back_01 .txt {
        position: relative;
        width: 100%;
        font-size: 14px;
        line-height: 2;
        padding: 0px 10% 0 0; }
    .top #section1 .innerflex .back_02 {
      width: 50%;
      display: flex;
      align-items: flex-end;
      align-content: flex-end;
      flex-wrap: wrap;
      padding: 80px 0px 30px 300px;
      text-align: left;
      position: relative; }
      .top #section1 .innerflex .back_02 .base {
        width: 100%;
        position: absolute;
        right: 0;
        bottom: 0; }
      .top #section1 .innerflex .back_02 h3 {
        width: 100%;
        font-family: 'Barlow Condensed',serif;
        font-weight: 400;
        font-size: 80px;
        position: relative; }
        .top #section1 .innerflex .back_02 h3 span {
          font-family: 'Noto Sans Japanese';
          font-size: 15px;
          line-height: 1;
          position: relative;
          top: -20px;
          right: -15px; }
      .top #section1 .innerflex .back_02 .txt {
        position: relative;
        width: 100%;
        font-size: 14px;
        line-height: 2;
        padding: 0px 60px 0 0; }
    .top #section1 .innerflex .btn {
      width: 220px;
      background: #fff;
      position: relative;
      padding-left: 25px;
      margin-top: 15px; }
      .top #section1 .innerflex .btn a {
        display: block;
        padding: 15px 0;
        color: #e95504;
        text-decoration: none;
        font-size: 14px;
        line-height: 1;
        position: relative; }
        .top #section1 .innerflex .btn a:before, .top #section1 .innerflex .btn a:after {
          position: absolute;
          content: ""; }
        .top #section1 .innerflex .btn a:before {
          border-bottom: 1px solid #e95504;
          width: 20px;
          top: 50%;
          right: 20px; }
        .top #section1 .innerflex .btn a:after {
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 6px 0 0 12px;
          border-color: transparent transparent transparent #e95504;
          right: 15px;
          top: 50%;
          margin-top: -5px; }
.top #section2 {
  background: url("../images/top/img_4_base.png") no-repeat center center/cover;
  color: #fff;
  position: relative; }
  .top #section2 .inner_back-01 {
    background: url("../images/top/img_4_03.png") no-repeat center center/cover;
    height: 100%; }
  .top #section2 .inner_back-02 {
    background: url("../images/top/img_4_02.png") no-repeat center center/cover;
    height: 100%; }
  .top #section2 .inner_back-03 {
    background: url("../images/top/img_4_01.png") no-repeat center center/cover;
    height: 100%; }
  .top #section2 .inner {
    width: 350px;
    margin: 0 auto;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    position: relative; }
    .top #section2 .inner h3 {
      width: 100%;
      font-family: 'Barlow Condensed',serif;
      font-weight: 400;
      font-size: 80px;
      position: relative; }
      .top #section2 .inner h3 span {
        display: block;
        font-family: 'Noto Sans Japanese';
        font-size: 15px;
        line-height: 1;
        position: relative; }
    .top #section2 .inner .txt {
      position: relative;
      width: 350px;
      margin: 0 auto;
      font-size: 14px;
      line-height: 2;
      padding: 20px 0 15px 0; }
.top #section3 {
  background: url("../images/top/img_5.png") no-repeat center center/cover;
  color: #fff; }
  .top #section3 .inner {
    width: 75%;
    margin: 0 auto;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap; }
    .top #section3 .inner h3 {
      width: 100%;
      text-align: left;
      font-family: 'Barlow Condensed',serif;
      font-weight: 500;
      font-size: 160px;
      position: relative;
      line-height: 0.8;
      padding-bottom: 25px; }
    .top #section3 .inner dl {
      width: 50%;
      display: flex;
      justify-content: flex-start;
      align-items: center; }
      .top #section3 .inner dl dt {
        width: 145px;
        font-family: 'Noto Sans Japanese';
        font-size: 15px;
        line-height: 1;
        position: relative; }
      .top #section3 .inner dl dd {
        font-size: 14px;
        line-height: 2;
        padding-left: 15px;
        text-align: left;
        border-left: 1px solid #fff; }
    .top #section3 .inner .txt {
      position: relative;
      width: 350px;
      margin: 0 auto;
      font-size: 14px;
      line-height: 2;
      padding: 20px 0 15px 0; }
.top #section4 .innerflex {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: stretch; }
  .top #section4 .innerflex .back_01 {
    background: url("../images/top/img_10.png") no-repeat center center/cover;
    width: 50%;
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
    padding: 100px 50px 0 20%;
    text-align: left;
    position: relative; }
    .top #section4 .innerflex .back_01.move {
      overflow: hidden; }
      .top #section4 .innerflex .back_01.move:before {
        position: absolute;
        content: "";
        background: url("../images/top/img_5.svg") no-repeat top left;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        animation: passing-lead 1.2s cubic-bezier(0.6, 0, 0.4, 1);
        animation-fill-mode: forwards; }
    .top #section4 .innerflex .back_01 .base {
      width: 100%;
      position: absolute;
      left: 0;
      top: 0; }
    .top #section4 .innerflex .back_01 h3 {
      width: 100%;
      font-family: 'Barlow Condensed',serif;
      font-weight: 400;
      font-size: 80px;
      padding-left: 5%;
      position: relative;
      text-align: right; }
      .top #section4 .innerflex .back_01 h3 span {
        display: block;
        font-family: 'Noto Sans Japanese';
        font-size: 15px;
        line-height: 1;
        position: relative; }
    .top #section4 .innerflex .back_01 .txt {
      position: relative;
      width: 100%;
      font-size: 14px;
      line-height: 2;
      padding: 20px 0;
      text-align: right; }
    .top #section4 .innerflex .back_01 .btn {
      margin: 0 0 0 auto; }
  .top #section4 .innerflex .back_02 {
    background: url("../images/top/img_11.png") no-repeat center center/cover;
    width: 50%;
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
    padding: 100px 50px 0 20%;
    text-align: left;
    position: relative; }
    .top #section4 .innerflex .back_02.move {
      overflow: hidden; }
      .top #section4 .innerflex .back_02.move:before {
        position: absolute;
        content: "";
        background: url("../images/top/img_5.svg") no-repeat top left;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        animation: passing-lead 1.2s cubic-bezier(0.6, 0, 0.4, 1);
        animation-fill-mode: forwards; }
    .top #section4 .innerflex .back_02 .base {
      width: 100%;
      position: absolute;
      left: 0;
      top: 0; }
    .top #section4 .innerflex .back_02 h3 {
      width: 100%;
      font-family: 'Barlow Condensed',serif;
      font-weight: 400;
      font-size: 80px;
      padding-left: 5%;
      position: relative;
      text-align: right; }
      .top #section4 .innerflex .back_02 h3 span {
        display: block;
        font-family: 'Noto Sans Japanese';
        font-size: 15px;
        line-height: 1;
        position: relative; }
    .top #section4 .innerflex .back_02 .txt {
      position: relative;
      width: 100%;
      font-size: 14px;
      line-height: 2;
      padding: 20px 0;
      text-align: right; }
  .top #section4 .innerflex .btn {
    margin: 0 0 0 auto; }
.top #section5 {
  background: url("../images/top/img_7.png") no-repeat center center/cover;
  color: #fff; }
  .top #section5 .inner {
    width: 80%;
    margin: 0 auto;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    text-align: left; }
    .top #section5 .inner h3 {
      width: 100%;
      font-family: 'Barlow Condensed',serif;
      font-weight: 400;
      font-size: 80px;
      position: relative; }
      .top #section5 .inner h3 span {
        display: block;
        font-family: 'Noto Sans Japanese';
        font-size: 15px;
        line-height: 1;
        position: relative; }
    .top #section5 .inner .txt {
      position: relative;
      width: 100%;
      font-size: 14px;
      line-height: 2;
      padding: 20px 60% 15px 0; }
.top #section6 {
  background: url("../images/top/img_8.png") no-repeat center center/cover;
  color: #fff; }
  .top #section6 .inner {
    width: 80%;
    margin: 0 auto;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    text-align: left; }
    .top #section6 .inner h3 {
      width: 100%;
      font-family: 'Barlow Condensed',serif;
      font-weight: 400;
      font-size: 80px;
      position: relative; }
      .top #section6 .inner h3 span {
        display: block;
        font-family: 'Noto Sans Japanese';
        font-size: 15px;
        line-height: 1;
        position: relative; }
    .top #section6 .inner .txt {
      position: relative;
      width: 100%;
      font-size: 14px;
      line-height: 2;
      padding: 20px 60% 15px 0; }
.top #section7 {
  background: url("../images/top/img_9.png") no-repeat center center/cover;
  color: #fff; }
  .top #section7 .inner {
    width: 350px;
    margin: 0 auto;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap; }
    .top #section7 .inner h3 {
      width: 100%;
      font-family: 'Barlow Condensed',serif;
      font-weight: 400;
      font-size: 80px;
      position: relative; }
      .top #section7 .inner h3 span {
        display: block;
        font-family: 'Noto Sans Japanese';
        font-size: 15px;
        line-height: 1;
        position: relative; }
    .top #section7 .inner .txt {
      position: relative;
      width: 350px;
      margin: 0 auto;
      font-size: 14px;
      line-height: 2;
      padding: 20px 0 15px 0; }
.top .fp-slidesNav ul li a {
  color: #fff; }
.top .fp-slidesNav ul li a.active {
  color: #e95504; }
.top #section3_1 {
  background: url("../images/top/img_6.png") no-repeat center center/cover;
  color: #fff; }
  .top #section3_1 .inner {
    width: 75%;
    margin: 0 auto;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap; }
    .top #section3_1 .inner h3 {
      width: 100%;
      text-align: left;
      font-family: 'Barlow Condensed',serif;
      font-weight: 500;
      font-size: 160px;
      position: relative;
      line-height: 0.8;
      padding-bottom: 25px; }
    .top #section3_1 .inner dl {
      width: 50%;
      display: flex;
      justify-content: flex-start;
      align-items: center; }
      .top #section3_1 .inner dl dt {
        width: 145px;
        font-family: 'Noto Sans Japanese';
        font-size: 15px;
        line-height: 1;
        position: relative; }
      .top #section3_1 .inner dl dd {
        font-size: 14px;
        line-height: 2;
        padding-left: 15px;
        text-align: left;
        border-left: 1px solid #fff; }
    .top #section3_1 .inner .txt {
      position: relative;
      width: 350px;
      margin: 0 auto;
      font-size: 14px;
      line-height: 2;
      padding: 20px 0 15px 0; }

@media all and (-ms-high-contrast: none) {
  #video {
    right: -5% !important;
    top: -5% !important;
    width: 110% !important;
    height: 110% !important; } }
@media screen and (max-width: 1087px) {
  .top header .navicont .naviinnercont ul li {
    margin: 5px 0.3em 0; } }
@media screen and (max-width: 767px) {
  .top header {
    height: auto; }
    .top header a {
      text-decoration: none; }
    .top header .logo_area a {
      justify-content: flex-end; }
      .top header .logo_area a h1 {
        width: 200px;
        padding: 15px 15px 15px 0px; }
    .top header .hamburgers {
      display: block; }
    .top header nav.naviinner {
      position: fixed;
      width: 80%;
      height: 100%;
      left: 0;
      background: rgba(255, 255, 255, 0.9);
      display: flex;
      align-items: center;
      transform: translate(-200%); }
      .top header nav.naviinner.active {
        transform: translate(0%); }
    .top header nav.naviinner ul {
      padding: 0;
      width: 100%;
      padding-right: 0%;
      display: block; }
    .top header nav.naviinner ul li {
      font-size: 12px;
      margin: 5px 0em 0;
      border-bottom: 1px solid #e95504; }
    .top header nav.naviinner ul li a {
      display: block;
      color: #e95504; }
  .top .section #video {
    display: none; }
  .top .section #videosp {
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-size: 100% 100%;
    background-color: black;
    /* in case the video doesn't fit the whole page*/
    background-position: center center;
    background-size: contain;
    object-fit: cover;
    /*cover video background */
    z-index: 3; }
  .top .section .btn {
    width: 220px;
    background: #e95504;
    position: relative;
    text-align: left; }
    .top .section .btn a {
      display: block;
      padding: 15px 0 15px 30px;
      color: #fff;
      text-decoration: none;
      font-size: 14px;
      line-height: 1;
      position: relative; }
      .top .section .btn a:before, .top .section .btn a:after {
        position: absolute;
        content: ""; }
      .top .section .btn a:before {
        border-bottom: 1px solid #fff;
        width: 20px;
        top: 50%;
        right: 20px; }
      .top .section .btn a:after {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 6px 0 0 12px;
        border-color: transparent transparent transparent #fff;
        right: 15px;
        top: 50%;
        margin-top: -5px; }
  .top #video {
    position: absolute;
    right: 0;
    bottom: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-size: 100% 100%;
    background-color: black;
    /* in case the video doesn't fit the whole page*/
    background-position: center center;
    background-size: contain;
    object-fit: cover;
    /*cover video background */
    z-index: 3; }
  .top #section1 {
    background: url("../images/top/img_3.png") no-repeat center center/cover; }
    .top #section1 .innerflex {
      height: 100%;
      flex-wrap: wrap; }
      .top #section1 .innerflex .back_01 {
        width: 100%;
        padding: 50px 20px 60px 20px; }
        .top #section1 .innerflex .back_01 h3 {
          font-size: 60px; }
        .top #section1 .innerflex .back_01 .txt {
          width: 100;
          padding: 0px 0px 0 0; }
      .top #section1 .innerflex .back_02 {
        width: 100%;
        padding: 0px 20px 30px 20px;
        justify-content: flex-end; }
        .top #section1 .innerflex .back_02 h3 {
          font-size: 60px;
          padding-left: 80px; }
        .top #section1 .innerflex .back_02 .txt {
          padding: 0px 0px 0 60px; }
      .top #section1 .innerflex .btn {
        width: 180px; }
  .top #section2 {
    background: url("../images/top/img_4_base.png") no-repeat center center/cover;
    color: #fff;
    position: relative; }
    .top #section2 .inner_back-01 {
      background: url("../images/top/img_4_03_sp.png") no-repeat center center/cover;
      height: 100%; }
    .top #section2 .inner_back-02 {
      background: url("../images/top/img_4_02_sp.png") no-repeat center center/cover;
      height: 100%; }
    .top #section2 .inner_back-03 {
      background: url("../images/top/img_4_01_sp.png") no-repeat center center/cover;
      height: 100%; }
    .top #section2 .inner {
      width: 80%; }
      .top #section2 .inner h3 {
        font-size: 60px; }
      .top #section2 .inner .txt {
        width: 100%; }
  .top #section3 {
    background: url("../images/top/img_5.png") no-repeat center center/cover;
    color: #fff; }
    .top #section3 .inner {
      width: 85%;
      margin: 0 auto;
      height: 100%; }
      .top #section3 .inner h3 {
        font-size: 80px; }
      .top #section3 .inner dl {
        width: 100%;
        margin-bottom: 15px;
        display: block; }
        .top #section3 .inner dl dt {
          width: 100%;
          border-bottom: 1px solid #fff;
          margin-bottom: 15px;
          text-align: left;
          padding-bottom: 10px; }
        .top #section3 .inner dl dd {
          border: none;
          padding-left: 0; }
  .top #section3_1 {
    background: url("../images/top/img_6.png") no-repeat center center/cover;
    color: #fff; }
    .top #section3_1 .inner {
      width: 85%;
      margin: 0 auto;
      height: 100%; }
      .top #section3_1 .inner h3 {
        font-size: 80px; }
      .top #section3_1 .inner dl {
        width: 100%;
        margin-bottom: 15px;
        display: block; }
        .top #section3_1 .inner dl dt {
          width: 100%;
          border-bottom: 1px solid #fff;
          margin-bottom: 15px;
          text-align: left;
          padding-bottom: 10px; }
        .top #section3_1 .inner dl dd {
          border: none;
          padding-left: 0; }
  .top #section4 .innerflex {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap; }
    .top #section4 .innerflex .back_01 {
      width: 100%;
      padding: 50px 50px 0 10%; }
      .top #section4 .innerflex .back_01 h3 {
        font-size: 60px; }
    .top #section4 .innerflex .back_02 {
      width: 100%;
      padding: 50px 50px 0 10%; }
      .top #section4 .innerflex .back_02 h3 {
        font-size: 60px; }
  .top #section5 {
    background: url("../images/top/img_7.png") no-repeat center center/cover;
    color: #fff; }
    .top #section5 .inner {
      width: 85%;
      margin: 0 auto;
      height: 100%; }
      .top #section5 .inner h3 {
        font-size: 60px;
        line-height: 1; }
        .top #section5 .inner h3 span {
          padding-top: 15px; }
      .top #section5 .inner .txt {
        padding: 20px 0% 15px 0; }
  .top #section6 {
    background: url("../images/top/img_8.png") no-repeat center center/cover;
    color: #fff; }
    .top #section6 .inner {
      width: 85%;
      margin: 0 auto;
      height: 100%; }
      .top #section6 .inner h3 {
        font-size: 60px;
        line-height: 1; }
        .top #section6 .inner h3 span {
          padding-top: 15px; }
      .top #section6 .inner .txt {
        padding: 20px 0% 15px 0; }
  .top #section7 {
    background: url("../images/top/img_9.png") no-repeat center center/cover;
    color: #fff; }
    .top #section7 .inner {
      width: 85%; }
      .top #section7 .inner h3 {
        font-size: 60px; }
      .top #section7 .inner .txt {
        width: 100%; } }
.column main {
  display: block;
  margin-top: 90px; }
  .column main .kv {
    max-width: 980px;
    margin: 0 auto; }
    .column main .kv h2 {
      font-size: 80px;
      line-height: 1;
      font-family: 'Barlow Condensed',serif;
      font-weight: 500;
      font-style: italic;
      padding: 80px 0 45px;
      position: relative; }
      .column main .kv h2:before {
        position: absolute;
        content: url("../images/common/ttl_mark.svg");
        width: 280px;
        height: 220px;
        left: -300px;
        top: 50%;
        margin-top: -90px; }
      .column main .kv h2 span {
        display: inline-block;
        font-family: 'Noto Sans Japanese';
        font-style: normal;
        font-size: 16px;
        letter-spacing: 0.1em;
        margin-left: 30px;
        vertical-align: middle;
        position: relative;
        top: -5px; }
  .column main .headline {
    max-width: 980px;
    margin: 0 auto 85px; }
    .column main .headline .box {
      display: flex; }
      .column main .headline .box .imgs {
        width: 50%; }
      .column main .headline .box .txtarea {
        width: 50%;
        padding-left: 60px; }
        .column main .headline .box .txtarea .ttl {
          font-weight: 500; }
          .column main .headline .box .txtarea .ttl p {
            font-size: 14px;
            letter-spacing: 0.1em; }
          .column main .headline .box .txtarea .ttl h3 {
            letter-spacing: 0.12em;
            font-size: 22px;
            padding: 10px 0;
            line-height: 1.8;
            position: relative; }
            .column main .headline .box .txtarea .ttl h3:after {
              position: absolute;
              content: "";
              width: 18px;
              border-bottom: 3px solid #e95504;
              left: 0;
              bottom: 0; }
        .column main .headline .box .txtarea .txts {
          margin-top: 10px;
          font-weight: 400;
          font-size: 14px;
          line-height: 2; }
      .column main .headline .box .btns {
        font-size: 16px;
        margin-top: 40px; }
        .column main .headline .box .btns a {
          display: block;
          color: #e95504;
          position: relative; }
          .column main .headline .box .btns a:before, .column main .headline .box .btns a:after {
            position: absolute;
            content: ""; }
          .column main .headline .box .btns a:before {
            width: 30px;
            left: 100px;
            border-bottom: 1px solid #e95504;
            top: 50%;
            margin-top: -1px; }
          .column main .headline .box .btns a:after {
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 5px 0 0 10px;
            border-color: transparent transparent transparent #e95504;
            left: 131px;
            top: 50%;
            margin-top: -5px; }
  .column main .list {
    background: #f2f2f2;
    padding: 85px 0 170px; }
    .column main .list h4 {
      font-size: 18px;
      text-align: center;
      position: relative;
      padding-bottom: 15px;
      letter-spacing: 0.12em; }
      .column main .list h4:after {
        position: absolute;
        content: "";
        width: 18px;
        border-bottom: 3px solid #e95504;
        left: 50%;
        bottom: 0;
        margin-left: -9px; }
    .column main .list .inner {
      max-width: 980px;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap; }
      .column main .list .inner .box {
        background: #fff;
        width: 305px;
        margin-right: 30px;
        margin-top: 30px;
        border-bottom: 2px solid #e95504; }
        .column main .list .inner .box a {
          display: block; }
        .column main .list .inner .box:nth-child(3n) {
          margin-right: 0; }
        .column main .list .inner .box dl {
          padding: 30px 20px;
          font-size: 14px;
          line-height: 1.6;
          letter-spacing: 0.1em; }
          .column main .list .inner .box dl dt {
            color: #e95504; }
  .column main .column_box {
    max-width: 980px;
    margin: 0 auto;
    font-size: 14px;
    letter-spacing: 0.06em;
    padding: 80px 0 170px; }
    .column main .column_box--ttl {
      padding-bottom: 50px; }
      .column main .column_box--ttl .date {
        color: #e95504;
        padding-bottom: 5px; }
      .column main .column_box--ttl h2 {
        font-size: 33px;
        line-height: 1.6; }
      .column main .column_box--ttl .imgs {
        padding-top: 50px; }
    .column main .column_box--box {
      padding-bottom: 90px; }
      .column main .column_box--box h3 {
        font-size: 22px;
        color: #e95504;
        position: relative;
        padding-bottom: 15px;
        margin-bottom: 15px; }
        .column main .column_box--box h3:after {
          position: absolute;
          content: "";
          width: 18px;
          border-bottom: 3px solid #e95504;
          left: 0;
          bottom: 0; }
      .column main .column_box--box p {
        font-weight: 400;
        line-height: 2;
        text-align: justify; }
      .column main .column_box--box .imgs {
        padding: 0 0 30px 0; }
        .column main .column_box--box .imgs.under {
          padding: 30px 0 0 0; }
    .column main .column_box--photo {
      display: flex;
      justify-content: space-between;
      padding-bottom: 90px; }
      .column main .column_box--photo p {
        width: 48%; }
    .column main .column_box .btns {
      max-width: 420px;
      margin: 0 auto 100px;
      text-align: center;
      font-size: 16px; }
      .column main .column_box .btns a {
        display: block;
        background: #e95504;
        color: #fff;
        padding: 18px 0;
        position: relative;
        border-radius: 30px; }
        .column main .column_box .btns a:before, .column main .column_box .btns a:after {
          position: absolute;
          content: ""; }
        .column main .column_box .btns a:before {
          width: 25px;
          right: 30px;
          border-bottom: 1px solid #fff;
          top: 50%;
          margin-top: -1px; }
        .column main .column_box .btns a:after {
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 5px 0 0 10px;
          border-color: transparent transparent transparent #fff;
          right: 29px;
          top: 50%;
          margin-top: -5px; }

.news main {
  display: block;
  margin-top: 90px; }
  .news main .kv {
    max-width: 980px;
    margin: 0 auto; }
    .news main .kv h2 {
      font-size: 80px;
      line-height: 1;
      font-family: 'Barlow Condensed',serif;
      font-weight: 500;
      font-style: italic;
      padding: 80px 0 45px;
      position: relative; }
      .news main .kv h2:before {
        position: absolute;
        content: url("../images/common/ttl_mark.svg");
        width: 280px;
        height: 220px;
        left: -300px;
        top: 50%;
        margin-top: -90px; }
      .news main .kv h2 span {
        display: inline-block;
        font-family: 'Noto Sans Japanese';
        font-style: normal;
        font-size: 16px;
        letter-spacing: 0.1em;
        margin-left: 30px;
        vertical-align: middle;
        position: relative;
        top: -5px; }
  .news main .headline {
    max-width: 880px;
    margin: 0 auto 170px; }
    .news main .headline .box {
      padding-top: 60px; }
      .news main .headline .box:first-child {
        padding-top: 0; }
      .news main .headline .box .lead {
        letter-spacing: 0.12em;
        font-size: 22px;
        padding: 10px 0;
        line-height: 1.8;
        position: relative;
        margin-bottom: 25px; }
        .news main .headline .box .lead:after {
          position: absolute;
          content: "";
          width: 18px;
          border-bottom: 3px solid #e95504;
          left: 0;
          bottom: 0; }
      .news main .headline .box dl {
        font-size: 14px;
        letter-spacing: 0.12em;
        display: flex;
        margin-top: 20px;
        border-bottom: 1px dashed #666;
        padding: 0 0 10px; }
        .news main .headline .box dl dt {
          width: 190px;
          line-height: 2; }
          .news main .headline .box dl dt span {
            font-size: 13px;
            font-weight: 500;
            color: #fff;
            padding: 3px 5px;
            margin-left: 15px; }
            .news main .headline .box dl dt span.tb01 {
              background: #e95504; }
            .news main .headline .box dl dt span.tb02 {
              background: #fba904; }
            .news main .headline .box dl dt span.tb03 {
              background: #1b94ff; }
        .news main .headline .box dl dd {
          width: calc(100% - 200px);
          line-height: 2; }
          .news main .headline .box dl dd span {
            font-weight: 700;
            display: block;
            margin-bottom: 15px; }
          .news main .headline .box dl dd a {
            text-decoration: underline; }
      .news main .headline .box.ir .lead a {
        position: relative; }
        .news main .headline .box.ir .lead a:before, .news main .headline .box.ir .lead a:after {
          position: absolute;
          content: ""; }
        .news main .headline .box.ir .lead a:before {
          width: 40px;
          right: -50px;
          border-bottom: 1px solid #000;
          top: 50%;
          margin-top: -1px; }
        .news main .headline .box.ir .lead a:after {
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 5px 0 0 10px;
          border-color: transparent transparent transparent #000;
          right: -51px;
          top: 50%;
          margin-top: -5px; }
      .news main .headline .box.ir #announcement dl {
        border-bottom: none; }
        .news main .headline .box.ir #announcement dl dt {
          width: 250px; }
        .news main .headline .box.ir #announcement dl dd {
          width: calc(100% - 250px); }
        .news main .headline .box.ir #announcement dl dt:nth-child(n + 11), .news main .headline .box.ir #announcement dl dd:nth-child(n + 11) {
          display: none; }
    .news main .headline .eir {
      max-width: 880px;
      margin: 0 auto 60px; }
      .news main .headline .eir .s_eirList li:nth-child(n + 6) {
        display: none; }
      .news main .headline .eir .yearController {
        display: none; }
      .news main .headline .eir .eir_pdfNote {
        display: none; }
      .news main .headline .eir .s_eirTab {
        display: none;
        justify-content: space-between;
        font-size: 16px;
        font-weight: 700;
        margin-bottom: 20px; }
        .news main .headline .eir .s_eirTab li {
          width: 16.666%;
          text-align: center;
          background: #f2f2f2;
          color: #999; }
          .news main .headline .eir .s_eirTab li.active {
            background: #e95504;
            color: #fff !important;
            border-bottom: 2px solid #e95504; }
            .news main .headline .eir .s_eirTab li.active a {
              color: #fff; }
          .news main .headline .eir .s_eirTab li:first-child {
            border-bottom: 2px solid #e95504; }
          .news main .headline .eir .s_eirTab li:nth-child(2) {
            border-bottom: 2px solid #00b8eb; }
          .news main .headline .eir .s_eirTab li:nth-child(3) {
            border-bottom: 2px solid #12ae65; }
          .news main .headline .eir .s_eirTab li:nth-child(4) {
            border-bottom: 2px solid #feb530; }
          .news main .headline .eir .s_eirTab li:nth-child(5) {
            border-bottom: 2px solid #7c79e4; }
          .news main .headline .eir .s_eirTab li:nth-child(6) {
            border-bottom: 2px solid #4d4d4d; }
          .news main .headline .eir .s_eirTab li a {
            display: block;
            padding: 12px 0; }
      .news main .headline .eir .s_eirList .s_eirList_item {
        display: flex;
        align-items: center;
        border-bottom: 1px solid #CCC;
        font-size: 14px;
        padding: 15px 0; }
        .news main .headline .eir .s_eirList .s_eirList_item div.s_eirList_item_date {
          width: 155px; }
        .news main .headline .eir .s_eirList .s_eirList_item div.s_eirModule_category {
          width: 100px;
          width: 115px;
          text-align: center;
          background: #00b8eb;
          color: #fff;
          margin-right: 15px; }
        .news main .headline .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox {
          width: calc(100% - 155px);
          display: flex;
          align-items: center;
          justify-content: space-between; }
          .news main .headline .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox .s_eirModule_title {
            width: calc(100% - 120px); }
          .news main .headline .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox .eirItem_type {
            width: 25px; }
          .news main .headline .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox .eirItem_size {
            width: 90px; }
        .news main .headline .eir .s_eirList .s_eirList_item div .s_eirModule_type_icon {
          display: none; }
        .news main .headline .eir .s_eirList .s_eirList_item div .s_eirModule_type_figure {
          width: 25px; }
          .news main .headline .eir .s_eirList .s_eirList_item div .s_eirModule_type_figure img {
            width: 100%; }
      .news main .headline .eir .s_eirList .s_titleBox_type, .news main .headline .eir .s_eirList .s_titleBox_size, .news main .headline .eir .s_eirList .s_titleBox_page_num, .news main .headline .eir .s_eirList .s_titleBox_new {
        display: inline; }
      .news main .headline .eir .s_eirList_item_type, .news main .headline .eir .s_eirList_item_size, .news main .headline .eir .s_eirList_item_page_num, .news main .headline .eir .s_eirList_item_new, .news main .headline .eir .s_eirList_item_text, .news main .headline .eir .s_eirList_item_comment {
        display: none; }
      .news main .headline .eir .noDataText {
        font-size: 16px; }
      .news main .headline .eir .s_eirBlock {
        padding: 0px 0 0; }
        .news main .headline .eir .s_eirBlock h3 {
          font-size: 18px;
          color: #e95504;
          border-bottom: 1px solid #e95504;
          margin-bottom: 15px; }
        .news main .headline .eir .s_eirBlock a {
          text-decoration: underline; }

@media screen and (max-width: 767px) {
  .column main {
    margin-top: 50px; }
    .column main .kv {
      max-width: 100%;
      margin: 0 auto; }
      .column main .kv h2 {
        font-size: 60px;
        margin-left: 80px;
        padding: 60px 0 45px; }
        .column main .kv h2:before {
          position: absolute;
          content: url("../images/common/ttl_mark.svg");
          width: 220px;
          height: 160px;
          left: -240px;
          top: 50%;
          margin-top: -90px; }
        .column main .kv h2 span {
          margin-left: 20px; }
    .column main .headline {
      max-width: 90%;
      margin: 0 auto 85px; }
      .column main .headline .box {
        display: block; }
        .column main .headline .box .imgs {
          width: 100%;
          margin-bottom: 25px; }
        .column main .headline .box .txtarea {
          width: 100%;
          padding-left: 0px; }
          .column main .headline .box .txtarea .ttl {
            font-weight: 500; }
            .column main .headline .box .txtarea .ttl p {
              font-size: 14px;
              letter-spacing: 0.1em; }
            .column main .headline .box .txtarea .ttl h3 {
              font-size: 18px; }
        .column main .headline .box .btns {
          font-size: 16px;
          margin-top: 20px; }
    .column main .list {
      background: #f2f2f2;
      padding: 40px 0 90px; }
      .column main .list h4 {
        font-size: 16px; }
      .column main .list .inner {
        max-width: 80%;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap; }
        .column main .list .inner .box {
          background: #fff;
          width: 100%;
          margin-right: 0px; }
          .column main .list .inner .box:nth-child(3n) {
            margin-right: 0; }
    .column main .column_box {
      max-width: 90%;
      padding: 40px 0 90px; }
      .column main .column_box--ttl {
        padding-bottom: 50px; }
        .column main .column_box--ttl h2 {
          font-size: 22px; }
        .column main .column_box--ttl .imgs {
          padding-top: 30px; }
      .column main .column_box--box {
        padding-bottom: 40px; }
        .column main .column_box--box h3 {
          font-size: 18px; }
        .column main .column_box--box p {
          font-weight: 400;
          line-height: 2; }
        .column main .column_box--box .imgs {
          padding: 0 0 30px 0; }
          .column main .column_box--box .imgs.under {
            padding: 30px 0 0 0; }
      .column main .column_box--photo {
        display: flex;
        justify-content: space-between;
        padding-bottom: 90px; }
        .column main .column_box--photo p {
          width: 48%; }
      .column main .column_box .btns {
        max-width: 100%;
        font-size: 16px; }

  .news main {
    margin-top: 50px; }
    .news main .kv {
      max-width: 100%;
      margin: 0 auto; }
      .news main .kv h2 {
        font-size: 60px;
        margin-left: 80px;
        padding: 60px 0 45px; }
        .news main .kv h2:before {
          position: absolute;
          content: url("../images/common/ttl_mark.svg");
          width: 220px;
          height: 160px;
          left: -240px;
          top: 50%;
          margin-top: -90px; }
        .news main .kv h2 span {
          margin-left: 20px; }
    .news main .headline {
      max-width: 90%;
      margin: 0 auto 170px; }
      .news main .headline .box {
        padding-top: 60px; }
        .news main .headline .box:first-child {
          padding-top: 0; }
        .news main .headline .box .lead {
          font-size: 18px; }
        .news main .headline .box dl {
          display: block; }
          .news main .headline .box dl dt {
            width: 100%; }
          .news main .headline .box dl dd {
            width: 100%;
            margin-top: 15px; }
        .news main .headline .box.ir #announcement dl dt {
          width: 100%; }
        .news main .headline .box.ir #announcement dl dd {
          width: 100%; }
        .news main .headline .box.ir #announcement dl dt:nth-child(n + 11), .news main .headline .box.ir #announcement dl dd:nth-child(n + 11) {
          display: none; }
      .news main .headline .eir {
        max-width: 100%;
        margin: 0 auto 60px; }
        .news main .headline .eir .yearController {
          display: none; }
        .news main .headline .eir .eir_pdfNote {
          display: none; }
        .news main .headline .eir .s_eirTab {
          font-size: 15px;
          flex-wrap: wrap;
          margin-top: 40px; }
          .news main .headline .eir .s_eirTab li {
            width: 50%; }
        .news main .headline .eir .s_eirList .s_eirList_item {
          align-items: center;
          padding: 15px 0;
          flex-wrap: wrap; }
          .news main .headline .eir .s_eirList .s_eirList_item div.s_eirList_item_date {
            width: 120px; }
          .news main .headline .eir .s_eirList .s_eirList_item div.s_eirModule_category {
            width: 115px;
            text-align: center;
            background: #00b8eb;
            color: #fff;
            margin-right: 15px; }
          .news main .headline .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox {
            width: 100%;
            margin-top: 15px; }
            .news main .headline .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox .s_eirModule_title {
              width: 100%; }
            .news main .headline .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox .eirItem_type {
              display: none; }
            .news main .headline .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox .eirItem_size {
              display: none; }
          .news main .headline .eir .s_eirList .s_eirList_item div .s_eirModule_type_icon {
            display: none; }
          .news main .headline .eir .s_eirList .s_eirList_item div .s_eirModule_type_figure {
            width: 25px; }
            .news main .headline .eir .s_eirList .s_eirList_item div .s_eirModule_type_figure img {
              width: 100%; }
        .news main .headline .eir .s_eirList .s_titleBox_type, .news main .headline .eir .s_eirList .s_titleBox_size, .news main .headline .eir .s_eirList .s_titleBox_page_num, .news main .headline .eir .s_eirList .s_titleBox_new {
          display: inline; }
        .news main .headline .eir .s_eirList_item_type, .news main .headline .eir .s_eirList_item_size, .news main .headline .eir .s_eirList_item_page_num, .news main .headline .eir .s_eirList_item_new, .news main .headline .eir .s_eirList_item_text, .news main .headline .eir .s_eirList_item_comment {
          display: none; }
        .news main .headline .eir .noDataText {
          font-size: 16px; }
        .news main .headline .eir .s_eirBlock {
          padding: 0px 0 0; }
          .news main .headline .eir .s_eirBlock h3 {
            font-size: 18px;
            color: #e95504;
            border-bottom: 1px solid #e95504;
            margin-bottom: 15px; }
          .news main .headline .eir .s_eirBlock a {
            text-decoration: underline; } }
.contents main {
  display: block;
  margin-top: 90px; }
  .contents main .kv {
    width: 100%;
    height: 400px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    position: relative; }
    .contents main .kv:before {
      position: absolute;
      content: "";
      background: url("../images/common/ttl_mark_02.svg") no-repeat right center/cover;
      width: 510px;
      height: 400px;
      left: -0px;
      z-index: 0;
      top: 0px; }
    .contents main .kv h2 {
      width: 1024px;
      margin: 0 auto;
      font-size: 150px;
      line-height: 0.8;
      font-family: 'Barlow Condensed',serif;
      font-weight: 500;
      font-style: italic;
      color: #fff;
      padding: 0px;
      position: relative; }
      .contents main .kv h2 span {
        display: block;
        font-family: 'Noto Sans Japanese';
        font-style: normal;
        font-size: 16px;
        letter-spacing: 0.1em;
        margin-left: 10px;
        vertical-align: middle;
        position: relative;
        top: -5px; }
      .contents main .kv h2.cont_ttl {
        text-align: center;
        font-family: 'Noto Sans Japanese';
        font-style: normal;
        font-size: 29px;
        margin-left: 0; }
    .contents main .kv.indexabout {
      background: url("../images/about/index/img_1.png") no-repeat center center/cover; }
    .contents main .kv.product {
      background: url("../images/product/img_1.png") no-repeat center center/cover; }
    .contents main .kv.irindex {
      background: url("../images/ir/index/img_1.png") no-repeat center center/cover; }
    .contents main .kv.slindex {
      background: url("../images/solution/index/img_1.png") no-repeat center center/cover; }
    .contents main .kv.recindex {
      background: url("../images/recruit/index/img_1.png") no-repeat center center/cover; }
    .contents main .kv.caseindex {
      background: url("../images/case/index/img_1.png") no-repeat center center/cover; }
  .contents main .kv_cont {
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding-bottom: 140px; }
    .contents main .kv_cont h2 {
      font-size: 29px;
      line-height: 0.8;
      font-family: 'Noto Sans Japanese';
      font-style: normal;
      color: #fff;
      padding: 0px;
      position: relative;
      text-align: center;
      letter-spacing: 0.1em; }
      .contents main .kv_cont h2 span {
        display: block;
        font-family: 'Barlow Condensed',serif;
        font-weight: 500;
        font-size: 16px;
        letter-spacing: 0.1em;
        vertical-align: middle;
        position: relative;
        margin-bottom: 25px; }
    .contents main .kv_cont.topmessage {
      background: url("../images/about/01/img_1.png") no-repeat center center/cover; }
    .contents main .kv_cont.aboutus {
      background: url("../images/about/02/img_1.png") no-repeat center center/cover; }
    .contents main .kv_cont.area {
      background: url("../images/about/03/img_1.png") no-repeat center center/cover; }
    .contents main .kv_cont.history {
      background: url("../images/about/04/img_1.png") no-repeat center center/cover; }
  .contents main .list {
    padding: 85px 0 170px; }
    .contents main .list .imgs_top_so {
      max-width: 1024px;
      margin: 0 auto 20px; }
    .contents main .list .lead_txt {
      max-width: 1024px;
      margin: 0 auto;
      font-size: 14px;
      letter-spacing: 0.12em;
      line-height: 2; }
    .contents main .list .boxlink {
      display: block; }
    .contents main .list h4 {
      font-size: 17px;
      position: relative;
      padding-top: 15px;
      padding-left: 15px;
      letter-spacing: 0.12em; }
      .contents main .list h4:after {
        position: absolute;
        content: "";
        height: 17px;
        border-left: 3px solid #e95504;
        left: 0;
        bottom: 3px; }
    .contents main .list .txt {
      font-size: 14px;
      line-height: 2;
      padding-top: 15px; }
    .contents main .list .inner {
      max-width: 1024px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      .contents main .list .inner a {
        display: block; }
      .contents main .list .inner .box {
        width: 495px;
        margin-right: 0px;
        margin-top: 50px; }
        .contents main .list .inner .box:nth-child(2n) {
          margin-right: 0; }
    .contents main .list .listbtn {
      max-width: 420px;
      margin: 0 auto;
      background: #e95504;
      position: relative;
      font-size: 18px;
      font-weight: 500;
      text-align: center;
      border-radius: 40px; }
      .contents main .list .listbtn a {
        display: block;
        color: #fff;
        padding: 15px 0;
        position: relative; }
        .contents main .list .listbtn a:after {
          position: absolute;
          content: "";
          width: 10px;
          height: 10px;
          border-right: 1px solid #fff;
          border-top: 1px solid #fff;
          transform: rotate(45deg);
          top: 50%;
          margin-top: -6px;
          right: 25px; }
      .contents main .list .listbtn.newstop {
        margin-top: 60px; }
    .contents main .list .listbtn_02 {
      max-width: 420px;
      margin: 60px auto 0;
      border: 1px solid #e95504;
      position: relative;
      font-size: 18px;
      font-weight: 500;
      text-align: center;
      border-radius: 40px;
      padding: 15px 0; }
      .contents main .list .listbtn_02 span {
        display: inline-block;
        width: 25px;
        margin-right: 25px; }
        .contents main .list .listbtn_02 span img {
          width: 100%;
          height: auto; }
      .contents main .list .listbtn_02 a {
        color: #e95504;
        padding: 15px 0;
        position: relative; }
        .contents main .list .listbtn_02 a:after {
          position: absolute;
          content: "";
          width: 10px;
          height: 10px;
          border-right: 1px solid #e95504;
          border-top: 1px solid #e95504;
          transform: rotate(45deg);
          top: 50%;
          margin-top: -6px;
          right: -40px; }
    .contents main .list .innerflex {
      max-width: 1024px;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      flex-wrap: wrap; }
      .contents main .list .innerflex .box {
        width: 320px;
        margin-top: 60px; }
        .contents main .list .innerflex .box .listarea {
          width: 100%;
          display: flex;
          font-size: 14px;
          margin-top: 10px; }
          .contents main .list .innerflex .box .listarea ul {
            width: 50%;
            line-height: 1.4; }
            .contents main .list .innerflex .box .listarea ul.wid {
              width: 100%; }
            .contents main .list .innerflex .box .listarea ul li {
              position: relative;
              padding: 2px 0;
              padding-left: 25px; }
              .contents main .list .innerflex .box .listarea ul li a {
                display: block; }
                .contents main .list .innerflex .box .listarea ul li a:before, .contents main .list .innerflex .box .listarea ul li a:after {
                  position: absolute;
                  content: ""; }
                .contents main .list .innerflex .box .listarea ul li a:before {
                  border-bottom: 1px solid #e95504;
                  width: 15px;
                  top: 50%;
                  left: 0px; }
                .contents main .list .innerflex .box .listarea ul li a:after {
                  width: 0;
                  height: 0;
                  border-style: solid;
                  border-width: 4px 0 0 8px;
                  border-color: transparent transparent transparent #e95504;
                  left: 9px;
                  top: 50%;
                  margin-top: -3px; }
  .contents main .contents {
    padding: 0px 0 170px;
    font-size: 14px;
    line-height: 1.8; }
    .contents main .contents--box {
      max-width: 880px;
      margin: 0 auto; }
      .contents main .contents--box h3.txt {
        padding: 70px 0; }
      .contents main .contents--box .leadttl_02 {
        font-size: 18px;
        font-weight: 500;
        text-align: center;
        position: relative;
        padding-bottom: 15px;
        letter-spacing: 0.12em; }
        .contents main .contents--box .leadttl_02:after {
          position: absolute;
          content: "";
          width: 18px;
          border-bottom: 3px solid #e95504;
          left: 50%;
          bottom: 0;
          margin-left: -9px; }
        .contents main .contents--box .leadttl_02.mt {
          padding-top: 80px; }
      .contents main .contents--box--list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        .contents main .contents--box--list--box {
          width: 265px;
          margin-top: 25px;
          background: #fff; }
          .contents main .contents--box--list--box .lead {
            font-size: 18px;
            font-weight: 500;
            text-align: center;
            padding: 5px 0;
            border-bottom: 3px solid #e95504; }
          .contents main .contents--box--list--box ul {
            padding: 25px; }
            .contents main .contents--box--list--box ul li {
              list-style: disc;
              margin-left: 10px; }
      .contents main .contents--box--pdf {
        display: flex;
        justify-content: center;
        margin-top: 40px; }
        .contents main .contents--box--pdf .pdfs {
          width: 190px;
          margin-right: 30px; }
          .contents main .contents--box--pdf .pdfs span {
            display: block;
            margin-top: 10px;
            text-align: center; }
        .contents main .contents--box--pdf .txtbox {
          font-size: 16px; }
          .contents main .contents--box--pdf .txtbox .btn {
            width: 220px;
            background: #e95504;
            position: relative;
            text-align: left;
            margin: 15px 0 40px; }
            .contents main .contents--box--pdf .txtbox .btn a {
              display: block;
              padding: 15px 0 15px 30px;
              color: #fff;
              text-decoration: none;
              font-size: 14px;
              line-height: 1;
              position: relative; }
              .contents main .contents--box--pdf .txtbox .btn a:before, .contents main .contents--box--pdf .txtbox .btn a:after {
                position: absolute;
                content: ""; }
              .contents main .contents--box--pdf .txtbox .btn a:before {
                border-bottom: 1px solid #fff;
                width: 20px;
                top: 50%;
                right: 20px; }
              .contents main .contents--box--pdf .txtbox .btn a:after {
                width: 0;
                height: 0;
                border-style: solid;
                border-width: 6px 0 0 12px;
                border-color: transparent transparent transparent #fff;
                right: 15px;
                top: 50%;
                margin-top: -5px; }
          .contents main .contents--box--pdf .txtbox .arch li {
            font-size: 14px; }
            .contents main .contents--box--pdf .txtbox .arch li a {
              color: #3a60ab; }
      .contents main .contents--box--pdfs {
        padding-top: 60px;
        font-size: 14px; }
        .contents main .contents--box--pdfs .lead {
          font-size: 18px;
          padding-bottom: 5px;
          margin-bottom: 20px;
          border-bottom: 2px solid #444; }
        .contents main .contents--box--pdfs--flex {
          display: flex;
          justify-content: flex-start;
          flex-wrap: wrap; }
          .contents main .contents--box--pdfs--flex .box {
            width: 30%;
            margin-bottom: 5%; }
            .contents main .contents--box--pdfs--flex .box:nth-child(2), .contents main .contents--box--pdfs--flex .box:nth-child(5) {
              margin: 0 5% 5%; }
            .contents main .contents--box--pdfs--flex .box .ttl {
              height: 60px;
              display: flex;
              align-items: center; }
            .contents main .contents--box--pdfs--flex .box .btns {
              margin-top: 10px;
              background: #e95504;
              text-align: center; }
              .contents main .contents--box--pdfs--flex .box .btns a {
                display: block;
                color: #fff;
                padding: 10px 0;
                position: relative; }
                .contents main .contents--box--pdfs--flex .box .btns a:after {
                  position: absolute;
                  content: "";
                  width: 7px;
                  height: 7px;
                  border-top: 1px solid #fff;
                  border-right: 1px solid #fff;
                  transform: rotate(45deg);
                  right: 20px;
                  top: 50%;
                  margin-top: -5px; }
    .contents main .contents .gray {
      background: #f2f2f2;
      padding: 80px; }
  .contents main .contents_box {
    padding: 0px 0 170px;
    max-width: 1024px;
    margin: -190px auto 0;
    border-top: 2px solid #e95504;
    position: relative;
    background: #fff; }
    .contents main .contents_box.nomt {
      margin: 0 auto 0;
      border: none; }
    .contents main .contents_box.gray {
      max-width: 100%;
      background: #f2f2f2;
      padding: 10px 0 80px;
      margin: -70px auto 0;
      border: none; }
    .contents main .contents_box .leadttl {
      font-size: 24px;
      font-weight: 500;
      text-align: center;
      line-height: 2;
      letter-spacing: 0.1em;
      padding: 60px 0; }
    .contents main .contents_box .leadttl_02 {
      font-size: 18px;
      font-weight: 500;
      text-align: center;
      position: relative;
      padding-bottom: 15px;
      letter-spacing: 0.12em;
      margin-top: 60px;
      margin-bottom: 20px; }
      .contents main .contents_box .leadttl_02:after {
        position: absolute;
        content: "";
        width: 18px;
        border-bottom: 3px solid #e95504;
        left: 50%;
        bottom: 0;
        margin-left: -9px; }
    .contents main .contents_box--inner {
      max-width: 880px;
      margin: 0 auto;
      font-size: 14px;
      line-height: 1.8; }
      .contents main .contents_box--inner .txt {
        text-align: justify;
        font-size: 14px;
        line-height: 1.8;
        padding: 60px 0; }
      .contents main .contents_box--inner .txts {
        text-align: justify;
        font-size: 14px;
        line-height: 1.8;
        padding: 20px 0 60px; }
      .contents main .contents_box--inner .imgs_top {
        margin-bottom: 40px; }
      .contents main .contents_box--inner .leads {
        color: #e95504;
        font-size: 20px;
        letter-spacing: 0.1em; }
        .contents main .contents_box--inner .leads span {
          display: block;
          font-size: 16px;
          color: #444; }
      .contents main .contents_box--inner .name {
        text-align: right;
        font-size: 24px;
        font-weight: 500; }
        .contents main .contents_box--inner .name span {
          font-size: 14px;
          position: relative;
          margin-right: 25px;
          top: -3px; }
        .contents main .contents_box--inner .name img {
          width: 220px; }
      .contents main .contents_box--inner dl {
        display: flex;
        padding: 15px 10px;
        border-bottom: 1px dashed #b3b3b3; }
        .contents main .contents_box--inner dl:last-child {
          border-bottom: none; }
        .contents main .contents_box--inner dl dt {
          width: 175px; }
        .contents main .contents_box--inner dl dd {
          width: calc(100% - 175px); }
          .contents main .contents_box--inner dl dd ul {
            width: 100%;
            display: flex;
            flex-wrap: wrap; }
            .contents main .contents_box--inner dl dd ul li:nth-child(odd) {
              width: 190px; }
            .contents main .contents_box--inner dl dd ul li:nth-child(even) {
              width: calc(100% - 190px); }
        .contents main .contents_box--inner dl.wid dt {
          width: 270px; }
        .contents main .contents_box--inner dl.wid dd {
          width: calc(100% - 270px); }
          .contents main .contents_box--inner dl.wid dd a {
            color: #008ad1; }
      .contents main .contents_box--inner .hs_list {
        display: flex;
        justify-content: space-between;
        border-bottom: 1px dashed #b3b3b3;
        padding: 15px 10px; }
        .contents main .contents_box--inner .hs_list.top {
          margin-top: 40px; }
        .contents main .contents_box--inner .hs_list.nb {
          border-bottom: none;
          padding-bottom: 0; }
        .contents main .contents_box--inner .hs_list li:first-child {
          width: 130px; }
          .contents main .contents_box--inner .hs_list li:first-child span {
            font-size: 12px;
            margin-left: -3px; }
        .contents main .contents_box--inner .hs_list li:nth-child(2) {
          width: 40px; }
        .contents main .contents_box--inner .hs_list li:nth-child(3) {
          width: calc(100% - 270px); }
        .contents main .contents_box--inner .hs_list li:nth-child(4) {
          width: 100px; }
    .contents main .contents_box .areabox {
      max-width: 880px;
      margin: 0 auto;
      font-size: 14px;
      line-height: 1.8; }
      .contents main .contents_box .areabox--inner.top {
        display: flex;
        justify-content: space-between; }
        .contents main .contents_box .areabox--inner.top .areaboxtop {
          width: 520px; }
          .contents main .contents_box .areabox--inner.top .areaboxtop h3 {
            margin-bottom: 25px; }
        .contents main .contents_box .areabox--inner.top .map {
          margin-top: 60px; }
      .contents main .contents_box .areabox--inner h3 {
        font-size: 18px;
        position: relative;
        padding-top: 15px;
        padding-left: 35px;
        letter-spacing: 0.1em;
        border-bottom: 1px solid #333;
        margin-top: 60px;
        line-height: 2; }
        .contents main .contents_box .areabox--inner h3:after {
          position: absolute;
          content: "";
          height: 30px;
          border-left: 10px solid #333;
          left: 0;
          bottom: 0px; }
      .contents main .contents_box .areabox--inner--box {
        display: flex;
        border-bottom: 1px dashed #b3b3b3;
        justify-content: space-between;
        align-items: center;
        padding: 25px 35px; }
      .contents main .contents_box .areabox--inner--flex {
        display: flex;
        border-bottom: 1px dashed #b3b3b3;
        justify-content: space-between;
        align-items: center;
        padding: 25px 35px; }
        .contents main .contents_box .areabox--inner--flex:last-child {
          border-bottom: none; }
        .contents main .contents_box .areabox--inner--flex dl {
          width: 410px; }
          .contents main .contents_box .areabox--inner--flex dl dt {
            font-size: 18px;
            padding-left: 25px;
            margin-bottom: 25px;
            position: relative; }
            .contents main .contents_box .areabox--inner--flex dl dt:after {
              position: absolute;
              content: "";
              width: 15px;
              height: 15px;
              background: #e95504;
              left: 0;
              top: 8px; }
        .contents main .contents_box .areabox--inner--flex .map iframe {
          width: 300px;
          height: 175px; }
      .contents main .contents_box .areabox .table table {
        width: 100%;
        margin-top: 30px; }
        .contents main .contents_box .areabox .table table td {
          border: 1px solid #b3b3b3;
          padding: 8px 0 8px 15px; }
        .contents main .contents_box .areabox .table table .dash td {
          border-bottom: none;
          border-bottom: 1px dashed #b3b3b3; }
    .contents main .contents_box .anchor {
      padding: 30px 20px 0px;
      display: flex;
      justify-content: flex-start;
      flex-wrap: wrap; }
      .contents main .contents_box .anchor.wid {
        justify-content: center; }
        .contents main .contents_box .anchor.wid li {
          width: calc(50% - 10px); }
      .contents main .contents_box .anchor li {
        width: 320px;
        text-align: center;
        border-bottom: 2px solid #e95504;
        background: #f2f2f2;
        font-size: 15px;
        font-weight: 700;
        padding: 15px 0;
        margin-bottom: 20px;
        margin-right: 10px; }
        .contents main .contents_box .anchor li a {
          display: block;
          color: #b3b3b3; }
        .contents main .contents_box .anchor li.active {
          background: #e95504; }
          .contents main .contents_box .anchor li.active a {
            color: #fff; }
        .contents main .contents_box .anchor li:nth-child(3n) {
          margin-right: 0; }
  .contents main .contentshead h2 {
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    position: relative;
    padding-bottom: 15px;
    letter-spacing: 0.12em;
    margin-top: 150px;
    margin-bottom: 20px; }
    .contents main .contentshead h2:after {
      position: absolute;
      content: "";
      width: 18px;
      border-bottom: 3px solid #e95504;
      left: 50%;
      bottom: 0;
      margin-left: -9px; }
  .contents main .contentshead p {
    max-width: 880px;
    margin: 0 auto 30px;
    font-size: 14px;
    line-height: 2; }
  .contents main .contentsinner {
    max-width: 1024px;
    margin: 0 auto;
    padding-bottom: 170px; }
    .contents main .contentsinner--box {
      max-width: 880px;
      margin: 0 auto; }
      .contents main .contentsinner--box--cont {
        padding-bottom: 40px; }
        .contents main .contentsinner--box--cont .lead {
          font-size: 16px;
          border-bottom: 1px solid #ccc;
          margin-bottom: 15px;
          padding-bottom: 10px; }
          .contents main .contentsinner--box--cont .lead.center {
            text-align: center; }
        .contents main .contentsinner--box--cont .txts {
          font-size: 14px;
          margin-left: 25px;
          margin-bottom: 10px;
          line-height: 2; }
          .contents main .contentsinner--box--cont .txts a {
            text-decoration: underline; }
        .contents main .contentsinner--box--cont ul li {
          font-size: 14px;
          list-style: disc;
          padding-left: 0px;
          margin-left: 25px;
          line-height: 2; }
        .contents main .contentsinner--box--cont ul.num li {
          list-style: decimal; }
        .contents main .contentsinner--box--cont .right {
          text-align: right;
          font-size: 14px;
          line-height: 2; }
  .contents main .innerflex {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex-wrap: wrap; }
    .contents main .innerflex h3 {
      width: 100%;
      font-family: 'Barlow Condensed',serif;
      font-weight: 500;
      font-size: 30px;
      color: #e95504;
      letter-spacing: 0.1em;
      padding-top: 40px;
      text-align: center; }
    .contents main .innerflex h4 {
      font-size: 14px;
      position: relative;
      padding-top: 15px;
      padding-left: 15px;
      letter-spacing: 0.12em; }
      .contents main .innerflex h4:after {
        position: absolute;
        content: "";
        height: 17px;
        border-left: 3px solid #e95504;
        left: 0;
        bottom: 3px; }
    .contents main .innerflex .box {
      width: 300px;
      margin-top: 40px; }
      .contents main .innerflex .box .listarea {
        width: 100%;
        display: flex;
        font-size: 14px;
        margin-top: 10px; }
        .contents main .innerflex .box .listarea ul {
          width: 50%;
          line-height: 1.4; }
          .contents main .innerflex .box .listarea ul.wid {
            width: 100%; }
          .contents main .innerflex .box .listarea ul li {
            position: relative;
            padding: 2px 0;
            padding-left: 25px; }
            .contents main .innerflex .box .listarea ul li a {
              display: block; }
              .contents main .innerflex .box .listarea ul li a:before, .contents main .innerflex .box .listarea ul li a:after {
                position: absolute;
                content: ""; }
              .contents main .innerflex .box .listarea ul li a:before {
                border-bottom: 1px solid #e95504;
                width: 15px;
                top: 50%;
                left: 0px; }
              .contents main .innerflex .box .listarea ul li a:after {
                width: 0;
                height: 0;
                border-style: solid;
                border-width: 4px 0 0 8px;
                border-color: transparent transparent transparent #e95504;
                left: 9px;
                top: 50%;
                margin-top: -3px; }
  .contents main .calenders {
    max-width: 880px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    /*テーブル内のth(曜日)設定*/
    /*休日の設定*/
    /*日曜日の設定*/ }
    .contents main .calenders .cal {
      border: 1px solid #f2f2f2;
      /*枠線の幅、線種、色*/
      background: #FFF;
      /*テーブル内の背景色*/
      font-size: 14px;
      /*文字サイズ*/
      margin-right: auto;
      margin-left: auto; }
    .contents main .calenders .cal td, .contents main .calenders .cal th {
      border: 1px solid #f2f2f2;
      /*枠線の幅、線種、色*/
      line-height: 1;
      /*行間*/
      text-align: center;
      /*文字をセンタリング*/
      padding: 5px;
      /*ボックス内の余白*/ }
    .contents main .calenders .cal th {
      background: #ebebeb;
      /*背景色*/ }
    .contents main .calenders .cal .off {
      background: #ffced8;
      /*背景色*/
      color: #666;
      /*文字色*/ }
    .contents main .calenders .cal .sun {
      color: #FF5C7F;
      /*文字色*/ }
    .contents main .calenders #cal2-2 .cal_mon.off {
      background: #fff !important; }
  .contents main .calendertxt {
    max-width: 860px;
    margin: 0 auto;
    font-size: 14px;
    line-height: 2; }
.contents.eng main .kv_cont h2 span {
  font-size: 38px; }
.contents.eng main .kv_cont.eng_concept {
  background: url("../images/about/05/img_1.png") no-repeat center center/cover; }
.contents.eng main .kv_cont.eng_solution {
  background: url("../images/about/06/img_1.png") no-repeat center center/cover; }
.contents.eng main .contents_box {
  padding: 0px 0 170px; }
  .contents.eng main .contents_box.gray {
    padding: 10px 0 170px;
    margin: -70px auto 0; }
  .contents.eng main .contents_box--inner .txts.top {
    padding-top: 60px; }
  .contents.eng main .contents_box--inner .imgs_top {
    margin-bottom: 40px; }
  .contents.eng main .contents_box--inner .leads.top {
    padding-top: 60px; }
  .contents.eng main .contents_box--inner .hs_list li:first-child {
    width: 50px; }
    .contents.eng main .contents_box--inner .hs_list li:first-child span {
      font-size: 12px;
      margin-left: -3px; }
  .contents.eng main .contents_box--inner .hs_list li:nth-child(2) {
    width: 100px; }
  .contents.eng main .contents_box--inner .hs_list li:nth-child(3) {
    width: calc(100% - 300px); }
  .contents.eng main .contents_box--inner .hs_list li:nth-child(4) {
    width: 100px; }
  .contents.eng main .contents_box .areabox--inner.eng {
    margin-top: 40px; }
  .contents.eng main .contents_box .areabox--inner--flex dl {
    width: 100%; }
    .contents.eng main .contents_box .areabox--inner--flex dl dt {
      margin-bottom: 15px; }

.sustainability main .kv {
  background: url("../../sustainability/img/photo_1.jpg") no-repeat center center/cover; }
.sustainability main .contents--box {
  max-width: 880px;
  margin: 0 auto; }
  .sustainability main .contents--box--addinner {
    max-width: 600px;
    margin: 0 auto;
    padding: 100px 0; }
    .sustainability main .contents--box--addinner h3 {
      font-size: 32px;
      font-weight: 700;
      text-align: center;
      color: #e95504;
      letter-spacing: 0.06em; }
    .sustainability main .contents--box--addinner h4 {
      padding: 40px 0; }
    .sustainability main .contents--box--addinner p {
      font-size: 18px;
      text-align: center;
      color: #666;
      line-height: 2; }
  .sustainability main .contents--box .leadttls {
    font-size: 24px;
    font-weight: 700;
    color: #e95504;
    margin: 0 0 25px 0;
    padding-left: 40px;
    position: relative; }
    .sustainability main .contents--box .leadttls:before {
      position: absolute;
      content: "";
      left: 0;
      height: 100%;
      border-left: 7px solid #e95504; }
    .sustainability main .contents--box .leadttls.top {
      font-size: 32px;
      font-weight: 700;
      text-align: center;
      color: #e95504;
      letter-spacing: 0.06em;
      padding-left: 0; }
      .sustainability main .contents--box .leadttls.top:before {
        content: none; }
  .sustainability main .contents--box .leadtxt {
    font-size: 16px;
    color: #666;
    text-align: justify; }
    .sustainability main .contents--box .leadtxt.top {
      text-align: center; }
  .sustainability main .contents--box .middleimg {
    padding: 30px 0; }
  .sustainability main .contents--box .undertxt {
    text-align: center;
    font-size: 24px;
    color: #666;
    margin-top: 20px;
    padding: 10px 0;
    border: 1px solid #666; }
  .sustainability main .contents--box--lbox {
    margin-top: 60px;
    position: relative;
    padding-left: 30px;
    background: #fff;
    margin-bottom: 80px; }
    .sustainability main .contents--box--lbox:before {
      position: absolute;
      content: "";
      border-left: 7px solid #e95504;
      height: 100%;
      left: 0; }
    .sustainability main .contents--box--lbox--ttl {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      border-bottom: 1px solid #e95504;
      padding-bottom: 10px;
      padding-top: 30px; }
      .sustainability main .contents--box--lbox--ttl .tls {
        width: 130px;
        display: flex;
        align-items: flex-end;
        color: #fff;
        padding: 2px 0 7px;
        width: 110px;
        position: relative;
        color: #e95504; }
        .sustainability main .contents--box--lbox--ttl .tls dt {
          font-family: 'Noto Serif JP', serif;
          font-size: 16px;
          font-weight: 500;
          padding-left: 10px;
          line-height: 1.3; }
        .sustainability main .contents--box--lbox--ttl .tls dd {
          font-family: 'Barlow Condensed',serif;
          font-size: 46px;
          line-height: 1;
          margin-left: 10px; }
      .sustainability main .contents--box--lbox--ttl h5 {
        width: calc(100% - 110px);
        font-size: 20px;
        letter-spacing: 0.08em;
        color: #e95504;
        font-weight: 700;
        padding-top: 10px;
        line-height: 1.6; }
    .sustainability main .contents--box--lbox .list_sus {
      font-size: 16px;
      color: #666;
      padding: 30px 40px 40px 110px;
      letter-spacing: 0.08em; }
      .sustainability main .contents--box--lbox .list_sus li {
        margin-top: 10px;
        padding-left: 35px;
        position: relative; }
        .sustainability main .contents--box--lbox .list_sus li:before {
          position: absolute;
          content: "";
          width: 16px;
          height: 16px;
          border: 1px solid #666;
          top: 6px;
          left: 0; }
        .sustainability main .contents--box--lbox .list_sus li:after {
          position: absolute;
          content: "";
          width: 8px;
          height: 18px;
          border-bottom: 2px solid #e95504;
          border-right: 2px solid #e95504;
          left: 7px;
          top: 0;
          transform: rotate(45deg); }
    .sustainability main .contents--box--lbox--cont {
      background: #efefef;
      padding: 25px 0 40px; }
      .sustainability main .contents--box--lbox--cont p {
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        color: #e95504;
        padding-bottom: 15px; }
      .sustainability main .contents--box--lbox--cont .list_icon {
        display: flex;
        justify-content: center; }
        .sustainability main .contents--box--lbox--cont .list_icon li {
          width: 100px;
          margin: 0 15px; }
          .sustainability main .contents--box--lbox--cont .list_icon li:before, .sustainability main .contents--box--lbox--cont .list_icon li:after {
            content: none; }
  .sustainability main .contents--box.border {
    max-width: 880px;
    margin: 0 auto;
    padding: 40px 0 60px;
    border-bottom: 1px solid #ccc;
    background: #fff;
    position: relative;
    top: -80px; }
    .sustainability main .contents--box.border h3 {
      font-size: 32px;
      font-weight: 700;
      text-align: center;
      color: #e95504;
      letter-spacing: 0.06em; }
    .sustainability main .contents--box.border .leadtxt {
      padding: 20px 40px;
      line-height: 2.2; }
    .sustainability main .contents--box.border .visions {
      font-family: 'Noto Serif JP', serif;
      font-weight: 500;
      text-align: center;
      font-size: 38px;
      color: #006595;
      letter-spacing: 0.1em;
      padding: 20px 0 0; }
.sustainability main .contents .visionunder {
  height: 450px;
  background: url("../../sustainability/img/under2.jpg") no-repeat center bottom/cover; }
.sustainability main .contents .underimg {
  max-width: 400px;
  margin: 120px auto 0; }
.sustainability main .contents .under_img_sus {
  height: 400px;
  background: url("../../sustainability/img/photo_2.jpg") no-repeat center bottom/cover;
  margin: 120px auto -150px; }
.sustainability main .contents .back_imgs_sus {
  height: 350px;
  max-width: 880px;
  position: relative;
  margin: 0 auto;
  z-index: -1;
  margin-bottom: -30px; }
  .sustainability main .contents .back_imgs_sus.back_1 {
    background: url("../../sustainability/img/imgs_back_1.jpg") no-repeat center bottom/cover; }
  .sustainability main .contents .back_imgs_sus.back_2 {
    background: url("../../sustainability/img/imgs_back_2.jpg") no-repeat center bottom/cover; }
  .sustainability main .contents .back_imgs_sus.back_3 {
    background: url("../../sustainability/img/imgs_back_3.jpg") no-repeat center bottom/cover; }
  .sustainability main .contents .back_imgs_sus.back_4 {
    background: url("../../sustainability/img/imgs_back_4.jpg") no-repeat center bottom/cover; }
  .sustainability main .contents .back_imgs_sus.back_5 {
    background: url("../../sustainability/img/imgs_back_5.jpg") no-repeat center bottom/cover; }

@media all and (-ms-high-contrast: none) {
  .contents main .kv:before {
    width: 530px; } }
@media screen and (max-width: 767px) {
  .contents main {
    margin-top: 50px; }
    .contents main .kv {
      width: 100%;
      height: 200px;
      display: flex;
      align-items: flex-end;
      justify-content: flex-start;
      position: relative; }
      .contents main .kv:before {
        position: absolute;
        content: "";
        background: url("../images/common/ttl_mark_02.svg") no-repeat right center/cover;
        width: 150px;
        height: 200px;
        left: -0px;
        z-index: 0; }
      .contents main .kv h2 {
        width: 100%;
        margin: 0 auto 0 10px;
        font-size: 80px; }
        .contents main .kv h2.cont_ttl {
          text-align: center;
          font-family: 'Noto Sans Japanese';
          font-style: normal;
          font-size: 29px;
          margin-left: 0; }
        .contents main .kv h2.fts {
          font-size: 15vw; }
    .contents main .kv_cont {
      height: 200px;
      display: flex;
      align-items: center;
      align-content: center;
      justify-content: center;
      position: relative;
      padding-bottom: 0px; }
      .contents main .kv_cont h2 {
        font-size: 22px;
        line-height: 1.6;
        padding: 0px 0 0; }
        .contents main .kv_cont h2 span {
          font-size: 18px;
          padding-bottom: 10px;
          margin-bottom: 0; }
    .contents main .list {
      padding: 40px 0 70px; }
      .contents main .list .imgs_top_so {
        max-width: 90%;
        margin: 0 auto 20px; }
      .contents main .list .lead_txt {
        max-width: 90%;
        text-align: justify; }
      .contents main .list .boxlink {
        display: block; }
      .contents main .list h4:after {
        bottom: 2px; }
      .contents main .list .txt {
        font-size: 14px;
        line-height: 2;
        padding-top: 15px; }
      .contents main .list .inner {
        max-width: 90%;
        margin: 0 auto 70px;
        display: flex;
        flex-wrap: wrap; }
        .contents main .list .inner a {
          display: block; }
        .contents main .list .inner .box {
          width: 100%;
          margin-right: 0px;
          margin-top: 40px; }
          .contents main .list .inner .box:nth-child(2n) {
            margin-right: 0; }
      .contents main .list .listbtn {
        max-width: 90%;
        font-size: 16px; }
        .contents main .list .listbtn a {
          display: block;
          color: #fff;
          padding: 10px 0;
          position: relative; }
        .contents main .list .listbtn.newstop {
          margin-top: 30px; }
      .contents main .list .listbtn_02 {
        max-width: 90%;
        margin: 30px auto 50px;
        font-size: 16px;
        padding: 10px 0; }
        .contents main .list .listbtn_02 span {
          display: inline-block;
          width: 20px;
          margin-right: 15px; }
          .contents main .list .listbtn_02 span img {
            width: 100%;
            height: auto; }
        .contents main .list .listbtn_02 a {
          padding: 10px 0; }
          .contents main .list .listbtn_02 a:after {
            right: -30px; }
      .contents main .list .innerflex {
        max-width: 90%;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        flex-wrap: wrap; }
        .contents main .list .innerflex .box {
          width: 100%;
          margin-top: 20px;
          margin-bottom: 20px; }
          .contents main .list .innerflex .box .listarea {
            width: 100%;
            display: flex;
            font-size: 14px;
            margin-top: 10px; }
            .contents main .list .innerflex .box .listarea ul {
              width: 100%;
              line-height: 1.4; }
              .contents main .list .innerflex .box .listarea ul li {
                position: relative;
                padding: 2px 0;
                padding-left: 25px; }
                .contents main .list .innerflex .box .listarea ul li a {
                  display: block; }
                  .contents main .list .innerflex .box .listarea ul li a:before, .contents main .list .innerflex .box .listarea ul li a:after {
                    position: absolute;
                    content: ""; }
                  .contents main .list .innerflex .box .listarea ul li a:before {
                    border-bottom: 1px solid #e95504;
                    width: 15px;
                    top: 50%;
                    left: 0px; }
                  .contents main .list .innerflex .box .listarea ul li a:after {
                    width: 0;
                    height: 0;
                    border-style: solid;
                    border-width: 4px 0 0 8px;
                    border-color: transparent transparent transparent #e95504;
                    left: 9px;
                    top: 50%;
                    margin-top: -3px; }
    .contents main .contents {
      padding: 0px 0 170px;
      font-size: 14px;
      line-height: 1.8; }
      .contents main .contents--box {
        max-width: 90%;
        margin: 0 auto; }
        .contents main .contents--box h3.txt {
          padding: 70px 0; }
        .contents main .contents--box .leadttl_02 {
          font-size: 18px;
          font-weight: 500;
          text-align: center;
          position: relative;
          padding-bottom: 15px;
          letter-spacing: 0.12em; }
          .contents main .contents--box .leadttl_02:after {
            position: absolute;
            content: "";
            width: 18px;
            border-bottom: 3px solid #e95504;
            left: 50%;
            bottom: 0;
            margin-left: -9px; }
          .contents main .contents--box .leadttl_02.mt {
            padding-top: 80px; }
        .contents main .contents--box--list {
          display: block; }
          .contents main .contents--box--list--box {
            width: 100%; }
            .contents main .contents--box--list--box .lead {
              font-size: 16px; }
        .contents main .contents--box--pdf {
          display: block;
          margin-top: 40px; }
          .contents main .contents--box--pdf .pdfs {
            width: 190px;
            margin: 0 auto 25px; }
          .contents main .contents--box--pdf .txtbox {
            font-size: 14px;
            text-align: center; }
            .contents main .contents--box--pdf .txtbox .btn {
              width: 100%; }
        .contents main .contents--box--pdfs {
          padding-top: 20px;
          font-size: 14px; }
          .contents main .contents--box--pdfs .lead {
            font-size: 16px; }
          .contents main .contents--box--pdfs--flex {
            display: flex;
            justify-content: flex-start;
            flex-wrap: wrap; }
            .contents main .contents--box--pdfs--flex .box {
              width: 48%;
              margin: 0 1% 0;
              margin-bottom: 5%; }
              .contents main .contents--box--pdfs--flex .box:nth-child(2), .contents main .contents--box--pdfs--flex .box:nth-child(5) {
                margin: 0 1% 5%; }
              .contents main .contents--box--pdfs--flex .box .ttl {
                font-size: 12px;
                height: 60px;
                display: flex;
                align-items: center;
                line-height: 1.6; }
              .contents main .contents--box--pdfs--flex .box .btns {
                margin-top: 10px;
                background: #e95504;
                text-align: center; }
                .contents main .contents--box--pdfs--flex .box .btns a {
                  display: block;
                  color: #fff;
                  padding: 10px 0;
                  position: relative; }
                  .contents main .contents--box--pdfs--flex .box .btns a:after {
                    position: absolute;
                    content: "";
                    width: 7px;
                    height: 7px;
                    border-top: 1px solid #fff;
                    border-right: 1px solid #fff;
                    transform: rotate(45deg);
                    right: 20px;
                    top: 50%;
                    margin-top: -5px; }
      .contents main .contents .gray {
        background: #f2f2f2;
        padding: 40px 0%; }
    .contents main .contents_box {
      padding: 0px 0 170px;
      max-width: 90%;
      margin: 0px auto 0;
      border-top: none; }
      .contents main .contents_box.nomt {
        margin: 0 auto 0;
        border: none; }
      .contents main .contents_box.gray {
        max-width: 100%;
        background: #f2f2f2;
        padding: 10px 0 80px;
        margin: -70px auto 0;
        border: none; }
      .contents main .contents_box .leadttl {
        font-size: 20px;
        padding: 40px 0; }
      .contents main .contents_box .leadttl_02 {
        font-size: 18px;
        font-weight: 500;
        text-align: center;
        position: relative;
        padding-bottom: 15px;
        letter-spacing: 0.12em;
        margin-top: 60px;
        margin-bottom: 20px; }
        .contents main .contents_box .leadttl_02:after {
          position: absolute;
          content: "";
          width: 18px;
          border-bottom: 3px solid #e95504;
          left: 50%;
          bottom: 0;
          margin-left: -9px; }
      .contents main .contents_box--inner {
        max-width: 90%; }
        .contents main .contents_box--inner.wid {
          max-width: 100%; }
        .contents main .contents_box--inner .txt {
          text-align: justify;
          font-size: 14px;
          line-height: 1.8;
          padding: 60px 0; }
        .contents main .contents_box--inner .txts {
          text-align: justify;
          padding: 20px 0 60px; }
        .contents main .contents_box--inner .imgs_top {
          margin-bottom: 20px; }
        .contents main .contents_box--inner .leads {
          font-size: 18px; }
          .contents main .contents_box--inner .leads span {
            font-size: 14px; }
        .contents main .contents_box--inner .name {
          text-align: right;
          font-size: 24px;
          font-weight: 500; }
          .contents main .contents_box--inner .name span {
            font-size: 14px;
            position: relative;
            margin-right: 25px;
            top: -3px; }
          .contents main .contents_box--inner .name img {
            width: 220px; }
        .contents main .contents_box--inner dl {
          display: block;
          padding: 15px 0; }
          .contents main .contents_box--inner dl dt {
            width: 100%; }
          .contents main .contents_box--inner dl dd {
            width: 100%; }
            .contents main .contents_box--inner dl dd ul {
              width: 100%;
              display: flex;
              flex-wrap: wrap; }
              .contents main .contents_box--inner dl dd ul li:nth-child(odd) {
                width: 190px; }
              .contents main .contents_box--inner dl dd ul li:nth-child(even) {
                width: calc(100% - 190px); }
          .contents main .contents_box--inner dl.wid dt {
            width: 100%; }
          .contents main .contents_box--inner dl.wid dd {
            width: 100%; }
            .contents main .contents_box--inner dl.wid dd a {
              color: #008ad1; }
        .contents main .contents_box--inner .hs_list {
          display: block;
          justify-content: space-between;
          border-bottom: 1px dashed #b3b3b3;
          padding: 15px 10px; }
          .contents main .contents_box--inner .hs_list.top {
            margin-top: 40px; }
          .contents main .contents_box--inner .hs_list.nb {
            border-bottom: none;
            padding-bottom: 0; }
          .contents main .contents_box--inner .hs_list li:first-child {
            width: 100%; }
          .contents main .contents_box--inner .hs_list li:nth-child(2) {
            width: 100%; }
          .contents main .contents_box--inner .hs_list li:nth-child(3) {
            width: 100%; }
          .contents main .contents_box--inner .hs_list li:nth-child(4) {
            width: 100px;
            margin: 10px auto 0; }
      .contents main .contents_box .areabox {
        max-width: 100%; }
        .contents main .contents_box .areabox--inner.top {
          display: block;
          justify-content: space-between; }
          .contents main .contents_box .areabox--inner.top .areaboxtop {
            width: 100%; }
            .contents main .contents_box .areabox--inner.top .areaboxtop h3 {
              margin-bottom: 25px; }
          .contents main .contents_box .areabox--inner.top .map {
            margin-top: 20px;
            width: 100%; }
            .contents main .contents_box .areabox--inner.top .map iframe {
              width: 100%; }
        .contents main .contents_box .areabox--inner h3 {
          font-size: 16px; }
        .contents main .contents_box .areabox--inner--box {
          display: flex;
          border-bottom: 1px dashed #b3b3b3;
          justify-content: space-between;
          align-items: center;
          padding: 25px 35px; }
        .contents main .contents_box .areabox--inner--flex {
          display: block;
          border-bottom: 1px dashed #b3b3b3;
          justify-content: space-between;
          align-items: center;
          padding: 25px 0px; }
          .contents main .contents_box .areabox--inner--flex:last-child {
            border-bottom: none; }
          .contents main .contents_box .areabox--inner--flex dl {
            width: 100%; }
            .contents main .contents_box .areabox--inner--flex dl dt {
              font-size: 16px; }
          .contents main .contents_box .areabox--inner--flex .map {
            margin-top: 20px; }
            .contents main .contents_box .areabox--inner--flex .map iframe {
              width: 100%;
              height: 175px; }
        .contents main .contents_box .areabox .table {
          overflow: auto; }
          .contents main .contents_box .areabox .table table {
            overflow-x: scroll;
            width: 600px;
            margin-top: 30px; }
            .contents main .contents_box .areabox .table table td {
              border: 1px solid #b3b3b3;
              padding: 8px 8px 8px 8px; }
      .contents main .contents_box .anchor {
        padding: 30px 0px 0px; }
        .contents main .contents_box .anchor li {
          width: 48%;
          font-size: 13px;
          padding: 10px 0;
          margin-bottom: 2%;
          margin-right: 1%;
          margin-left: 1%; }
          .contents main .contents_box .anchor li:nth-child(3n) {
            margin-right: 1%; }
    .contents main .contentshead h2 {
      margin-top: 90px; }
    .contents main .contentshead p {
      max-width: 90%;
      margin: 0 auto 30px;
      font-size: 14px;
      line-height: 2; }
    .contents main .contentsinner {
      max-width: 90%;
      padding-bottom: 90px; }
      .contents main .contentsinner--box {
        max-width: 100%;
        margin: 0 auto; }
        .contents main .contentsinner--box--cont {
          padding-bottom: 40px; }
          .contents main .contentsinner--box--cont .lead {
            font-size: 16px; }
            .contents main .contentsinner--box--cont .lead.center {
              text-align: center; }
          .contents main .contentsinner--box--cont .txts {
            line-height: 2;
            margin-left: 0; }
    .contents main .calenders {
      max-width: 100%;
      /*テーブル内のth(曜日)設定*/
      /*休日の設定*/
      /*日曜日の設定*/ }
      .contents main .calenders div {
        width: 48%;
        padding: 0 !important;
        padding-bottom: 10px !important; }
      .contents main .calenders .cal td, .contents main .calenders .cal th {
        padding: 3px; }
      .contents main .calenders .cal th {
        background: #ebebeb;
        /*背景色*/ }
      .contents main .calenders .cal .off {
        background: #ffced8;
        /*背景色*/
        color: #666;
        /*文字色*/ }
      .contents main .calenders .cal .sun {
        color: #FF5C7F;
        /*文字色*/ }
    .contents main .calendertxt {
      max-width: 100%; }
  .contents.eng main .kv_cont h2 span {
    font-size: 30px; }
  .contents.eng main .contents_box {
    padding: 0px 0 90px; }
    .contents.eng main .contents_box.gray {
      padding: 10px 0 90px;
      margin: -70px auto 0; }
    .contents.eng main .contents_box--inner .txts.top {
      padding-top: 40px; }
    .contents.eng main .contents_box--inner .imgs_top {
      margin-bottom: 40px; }
    .contents.eng main .contents_box--inner .leads.top {
      padding-top: 40px; }
    .contents.eng main .contents_box--inner .hs_list li:first-child {
      width: 50px; }
      .contents.eng main .contents_box--inner .hs_list li:first-child span {
        font-size: 12px;
        margin-left: -3px; }
    .contents.eng main .contents_box--inner .hs_list li:nth-child(2) {
      width: 100%; }
    .contents.eng main .contents_box--inner .hs_list li:nth-child(3) {
      width: 100%; }
    .contents.eng main .contents_box--inner .hs_list li:nth-child(4) {
      width: 100px; }
    .contents.eng main .contents_box .areabox--inner.eng {
      margin-top: 40px; }
    .contents.eng main .contents_box .areabox--inner--flex dl {
      width: 100%; }
      .contents.eng main .contents_box .areabox--inner--flex dl dt {
        margin-bottom: 15px; }

  .sustainability main .kv {
    background: url(../../sustainability/img/photo_1.jpg) no-repeat 60% center/cover; }
    .sustainability main .kv h2 {
      font-size: 55px; }
  .sustainability main .contents--box {
    max-width: 90%; }
    .sustainability main .contents--box--addinner {
      max-width: 100%;
      margin: 0 auto;
      padding: 60px 0; }
      .sustainability main .contents--box--addinner h3 {
        font-size: 24px; }
      .sustainability main .contents--box--addinner h4 {
        padding: 20px 0; }
      .sustainability main .contents--box--addinner p {
        font-size: 16px; }
    .sustainability main .contents--box .leadttls {
      font-size: 20px;
      padding-left: 30px;
      position: relative; }
      .sustainability main .contents--box .leadttls.top {
        font-size: 26px;
        padding-left: 0; }
    .sustainability main .contents--box .leadtxt {
      font-size: 14px; }
    .sustainability main .contents--box .undertxt {
      font-size: 18px; }
    .sustainability main .contents--box--lbox {
      margin-top: 60px; }
      .sustainability main .contents--box--lbox--ttl {
        display: block; }
        .sustainability main .contents--box--lbox--ttl .tls {
          width: 100%;
          padding: 2px 0 7px;
          justify-content: center; }
          .sustainability main .contents--box--lbox--ttl .tls dt {
            padding-left: 0px;
            margin-left: -10px; }
        .sustainability main .contents--box--lbox--ttl h5 {
          width: 100%;
          text-align: center; }
      .sustainability main .contents--box--lbox .list_sus {
        padding: 30px 0px 40px 0px; }
      .sustainability main .contents--box--lbox--cont .list_icon {
        display: flex;
        flex-wrap: wrap;
        justify-content: center; }
        .sustainability main .contents--box--lbox--cont .list_icon li {
          width: 30%;
          margin: 0 1% 1.5%; }
          .sustainability main .contents--box--lbox--cont .list_icon li:before, .sustainability main .contents--box--lbox--cont .list_icon li:after {
            content: none; }
    .sustainability main .contents--box.border {
      max-width: 90%; }
      .sustainability main .contents--box.border h3 {
        font-size: 26px; }
      .sustainability main .contents--box.border .visions {
        font-size: 28px; }
  .sustainability main .contents .visionunder {
    height: 250px; }
  .sustainability main .contents .underimg {
    max-width: 250px;
    margin: 120px auto 0; }
  .sustainability main .contents .under_img_sus {
    height: 250px;
    margin: 120px auto -180px; }
  .sustainability main .contents .back_imgs_sus {
    height: 200px;
    position: relative;
    z-index: -1;
    margin-bottom: -40px; }
    .sustainability main .contents .back_imgs_sus.back_1 {
      background: url("../../sustainability/img/imgs_back_1.jpg") no-repeat center bottom/cover; }
    .sustainability main .contents .back_imgs_sus.back_2 {
      background: url("../../sustainability/img/imgs_back_2.jpg") no-repeat center bottom/cover; }
    .sustainability main .contents .back_imgs_sus.back_3 {
      background: url("../../sustainability/img/imgs_back_3.jpg") no-repeat center bottom/cover; }
    .sustainability main .contents .back_imgs_sus.back_4 {
      background: url("../../sustainability/img/imgs_back_4.jpg") no-repeat center bottom/cover; }
    .sustainability main .contents .back_imgs_sus.back_5 {
      background: url("../../sustainability/img/imgs_back_5.jpg") no-repeat center bottom/cover; } }
.feature main {
  display: block;
  margin-top: 90px; }
  .feature main .kv {
    background: url("../images/feature/img_1.png") no-repeat center center/cover;
    height: 400px;
    display: flex;
    align-items: flex-end;
    justify-content: center; }
    .feature main .kv h2 {
      font-size: 150px;
      line-height: 0.8;
      font-family: 'Barlow Condensed',serif;
      font-weight: 500;
      font-style: italic;
      color: #fff;
      padding: 0px;
      position: relative;
      margin-left: -9%; }
      .feature main .kv h2 span {
        display: block;
        font-family: 'Noto Sans Japanese';
        font-style: normal;
        font-size: 16px;
        letter-spacing: 0.1em;
        margin-left: 10px;
        vertical-align: middle;
        position: relative;
        top: -5px; }
  .feature main .contents {
    padding: 110px 0 170px; }
    .feature main .contents--top {
      max-width: 880px;
      margin: 0 auto; }
      .feature main .contents--top h3 {
        font-size: 24px;
        text-align: center;
        line-height: 2;
        color: #e95504;
        font-weight: 700;
        letter-spacing: 0.12em; }
      .feature main .contents--top h4 {
        font-size: 14px;
        line-height: 2;
        letter-spacing: 0.12em;
        text-align: justify;
        margin-top: 20px; }
      .feature main .contents--top h5 {
        font-size: 20px;
        text-align: center;
        margin-top: 60px; }
        .feature main .contents--top h5 span {
          font-size: 28px;
          color: #e95504; }
      .feature main .contents--top .imgs {
        width: 880px;
        margin: 40px auto 0; }
    .feature main .contents--box {
      width: 100%;
      margin-top: 110px; }
      .feature main .contents--box--back {
        height: 375px; }
        .feature main .contents--box--back.ph_01 {
          background: url("../images/feature/img_2.png") no-repeat center center/cover; }
        .feature main .contents--box--back.ph_02 {
          background: url("../images/feature/img_3.png") no-repeat center center/cover; }
        .feature main .contents--box--back.ph_03 {
          background: url("../images/feature/img_6.png") no-repeat center center/cover; }
        .feature main .contents--box--back.ph_04 {
          background: url("../images/feature/img_5.png") no-repeat center center/cover; }
        .feature main .contents--box--back.ph_05 {
          background: url("../images/feature/img_6.png") no-repeat center center/cover; }
      .feature main .contents--box--inner {
        max-width: 1024px;
        margin: -195px auto 0px;
        padding: 0 90px 0px;
        background: #fff;
        font-size: 14px;
        border-top: 2px solid #e95504; }
        .feature main .contents--box--inner .ttl {
          display: flex;
          justify-content: flex-start;
          align-items: center; }
          .feature main .contents--box--inner .ttl p {
            background: #e95504;
            color: #fff;
            font-family: 'Barlow Condensed',serif;
            font-weight: 500;
            font-size: 76px;
            padding: 20px 20px 15px 38px;
            position: relative; }
            .feature main .contents--box--inner .ttl p:before, .feature main .contents--box--inner .ttl p:after {
              position: absolute; }
            .feature main .contents--box--inner .ttl p:before {
              content: "FEATURE";
              font-family: 'Barlow Condensed',serif;
              font-weight: 500;
              font-size: 17px;
              color: #fff;
              transform: rotate(90deg);
              letter-spacing: 0.04em;
              top: 65px;
              left: 0px; }
            .feature main .contents--box--inner .ttl p:after {
              content: "& STRENGTH";
              font-family: 'Barlow Condensed',serif;
              font-weight: 500;
              font-size: 17px;
              letter-spacing: 0.04em;
              color: #fff;
              bottom: 15px;
              left: 20px; }
          .feature main .contents--box--inner .ttl h4 {
            font-weight: 500;
            font-size: 24px;
            letter-spacing: 0.06em;
            margin-left: 40px;
            padding-top: 20px; }
        .feature main .contents--box--inner .txts {
          font-weight: 400;
          line-height: 2;
          margin-top: 30px; }

@media screen and (max-width: 767px) {
  .feature main {
    margin-top: 50px; }
    .feature main .kv {
      background: url("../images/feature/img_1.png") no-repeat center center/cover;
      height: 200px; }
      .feature main .kv h2 {
        width: 100%;
        margin: 0 auto 0 10px;
        font-size: 80px; }
        .feature main .kv h2.cont_ttl {
          text-align: center;
          font-family: 'Noto Sans Japanese';
          font-style: normal;
          font-size: 29px;
          margin-left: 0; }
        .feature main .kv h2.fts {
          font-size: 12.5vw; }
    .feature main .contents {
      padding: 40px 0 170px; }
      .feature main .contents--top {
        max-width: 90%;
        margin: 0 auto; }
        .feature main .contents--top h3 {
          font-size: 20px; }
        .feature main .contents--top h4 {
          font-size: 14px;
          margin-top: 20px; }
        .feature main .contents--top h5 {
          margin-top: 40px; }
          .feature main .contents--top h5 span {
            font-size: 24px; }
        .feature main .contents--top .imgs {
          width: 100%;
          margin: 40px auto 0; }
      .feature main .contents--box {
        width: 100%;
        margin-top: 60px; }
        .feature main .contents--box--back {
          height: 200px; }
          .feature main .contents--box--back.ph_01 {
            background: url("../images/feature/img_2.png") no-repeat center center/cover; }
          .feature main .contents--box--back.ph_02 {
            background: url("../images/feature/img_3.png") no-repeat center center/cover; }
          .feature main .contents--box--back.ph_03 {
            background: url("../images/feature/img_6.png") no-repeat center center/cover; }
          .feature main .contents--box--back.ph_04 {
            background: url("../images/feature/img_5.png") no-repeat center center/cover; }
          .feature main .contents--box--back.ph_05 {
            background: url("../images/feature/img_6.png") no-repeat center center/cover; }
        .feature main .contents--box--inner {
          max-width: 90%;
          margin: -100px auto 0px;
          padding: 0 0px 0px; }
          .feature main .contents--box--inner .ttl {
            display: flex;
            justify-content: space-between; }
            .feature main .contents--box--inner .ttl p {
              width: 60px;
              color: #fff;
              font-family: 'Barlow Condensed',serif;
              font-weight: 500;
              font-size: 40px;
              padding: 21px 0;
              text-align: center;
              position: relative; }
              .feature main .contents--box--inner .ttl p:before, .feature main .contents--box--inner .ttl p:after {
                position: absolute; }
              .feature main .contents--box--inner .ttl p:before {
                font-size: 10px;
                top: 45px;
                left: -9px; }
              .feature main .contents--box--inner .ttl p:after {
                font-size: 10px;
                bottom: 15px;
                left: 5px; }
            .feature main .contents--box--inner .ttl h4 {
              width: calc(100% - 80px);
              font-size: 18px;
              margin-left: 0px; }
          .feature main .contents--box--inner .txts {
            font-weight: 400;
            line-height: 2;
            margin-top: 30px; } }
.ir main {
  margin-top: 90px; }
  .ir main .ir_topnews {
    max-width: 1024px;
    margin: 0 auto;
    line-height: 1.8; }
    .ir main .ir_topnews #announcement dl dt:nth-child(n + 11), .ir main .ir_topnews #announcement dl dd:nth-child(n + 11) {
      display: none; }
  .ir main .kv_cont.irinfo {
    background: url("../images/ir/01/img_01.png") no-repeat center center/cover; }
  .ir main .kv_cont.irmanagement {
    background: url("../images/ir/01/img_01.png") no-repeat center center/cover; }
  .ir main .kv_cont.irhighlight {
    background: url("../images/ir/02/img_01.png") no-repeat center center/cover; }
  .ir main .kv_cont.irstock {
    background: url("../images/ir/03/img_01.png") no-repeat center center/cover; }
  .ir main .kv_cont.irshareholder {
    background: url("../images/ir/04/img_01.png") no-repeat center center/cover; }
  .ir main .kv_cont.irlibrary {
    background: url("../images/ir/05/img_01.png") no-repeat center center/cover; }
  .ir main .kv_cont.ircalendar {
    background: url("../images/ir/06/img_01.png") no-repeat center center/cover; }
  .ir main .kv_cont.irindividual {
    background: url("../images/ir/07/img_01.png") no-repeat center center/cover; }
  .ir main .kv_cont.irannounce {
    background: url("../images/ir/08/img_01.png") no-repeat center center/cover; }
  .ir main .kv_cont.ircontact {
    background: url("../images/ir/09/img_01.png") no-repeat center center/cover; }
  .ir main .eir {
    max-width: 1024px;
    margin: 0 auto 60px; }
    .ir main .eir .yearController {
      display: flex;
      justify-content: flex-end;
      padding-bottom: 30px; }
    .ir main .eir .eir_pdfNote {
      display: none; }
    .ir main .eir .s_eirTab {
      display: flex;
      justify-content: space-between;
      font-size: 16px;
      font-weight: 700;
      margin-bottom: 20px; }
      .ir main .eir .s_eirTab li {
        width: 16.666%;
        text-align: center;
        background: #f2f2f2;
        color: #999; }
        .ir main .eir .s_eirTab li.active {
          background: #e95504;
          color: #fff !important;
          border-bottom: 2px solid #e95504; }
          .ir main .eir .s_eirTab li.active a {
            color: #fff; }
        .ir main .eir .s_eirTab li:first-child {
          border-bottom: 2px solid #e95504; }
        .ir main .eir .s_eirTab li:nth-child(2) {
          border-bottom: 2px solid #00b8eb; }
        .ir main .eir .s_eirTab li:nth-child(3) {
          border-bottom: 2px solid #12ae65; }
        .ir main .eir .s_eirTab li:nth-child(4) {
          border-bottom: 2px solid #feb530; }
        .ir main .eir .s_eirTab li:nth-child(5) {
          border-bottom: 2px solid #7c79e4; }
        .ir main .eir .s_eirTab li:nth-child(6) {
          border-bottom: 2px solid #4d4d4d; }
        .ir main .eir .s_eirTab li a {
          display: block;
          padding: 12px 0; }
    .ir main .eir .s_eirList .s_eirList_item {
      display: flex;
      align-items: center;
      border-bottom: 1px solid #CCC;
      font-size: 14px;
      padding: 15px 0; }
      .ir main .eir .s_eirList .s_eirList_item div.s_eirList_item_date {
        width: 155px; }
      .ir main .eir .s_eirList .s_eirList_item div.s_eirModule_category {
        width: 100px;
        width: 115px;
        text-align: center;
        background: #00b8eb;
        color: #fff;
        margin-right: 15px; }
      .ir main .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox {
        width: calc(100% - 155px);
        display: flex;
        align-items: center;
        justify-content: space-between; }
        .ir main .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox .s_eirModule_title {
          width: calc(100% - 120px); }
        .ir main .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox .eirItem_type {
          width: 25px; }
        .ir main .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox .eirItem_size {
          width: 90px; }
      .ir main .eir .s_eirList .s_eirList_item div .s_eirModule_type_icon {
        display: none; }
      .ir main .eir .s_eirList .s_eirList_item div .s_eirModule_type_figure {
        width: 25px; }
        .ir main .eir .s_eirList .s_eirList_item div .s_eirModule_type_figure img {
          width: 100%; }
    .ir main .eir .s_eirList .s_titleBox_type, .ir main .eir .s_eirList .s_titleBox_size, .ir main .eir .s_eirList .s_titleBox_page_num, .ir main .eir .s_eirList .s_titleBox_new {
      display: inline; }
    .ir main .eir .s_eirList_item_type, .ir main .eir .s_eirList_item_size, .ir main .eir .s_eirList_item_page_num, .ir main .eir .s_eirList_item_new, .ir main .eir .s_eirList_item_text, .ir main .eir .s_eirList_item_comment {
      display: none; }
    .ir main .eir .noDataText {
      font-size: 16px; }
    .ir main .eir .s_eirBlock {
      padding: 0px 0 0; }
      .ir main .eir .s_eirBlock h3 {
        font-size: 18px;
        color: #e95504;
        border-bottom: 1px solid #e95504;
        margin-bottom: 15px; }
      .ir main .eir .s_eirBlock a {
        text-decoration: underline; }
  .ir main .qir .qirArea_wrapper {
    padding: 60px 80px 0; }
  .ir main .contents_box .irbox {
    font-size: 14px;
    line-height: 1.8; }
    .ir main .contents_box .irbox.wid_01 {
      max-width: 880px;
      margin: 0px auto 0; }
    .ir main .contents_box .irbox.wid_02 {
      max-width: 880px;
      margin: 40px auto 0; }
    .ir main .contents_box .irbox.news {
      max-width: 880px;
      margin: 60px auto 0; }
    .ir main .contents_box .irbox--inner {
      max-width: 880px;
      margin: 0 auto; }
      .ir main .contents_box .irbox--inner h3 {
        font-size: 18px;
        font-weight: 500;
        text-align: center;
        position: relative;
        padding-bottom: 10px;
        letter-spacing: 0.12em;
        margin-top: 60px;
        margin-bottom: 20px; }
        .ir main .contents_box .irbox--inner h3:after {
          position: absolute;
          content: "";
          width: 18px;
          border-bottom: 3px solid #e95504;
          left: 50%;
          bottom: 0;
          margin-left: -9px; }
      .ir main .contents_box .irbox--inner h4 {
        color: #e95504;
        font-size: 22px;
        font-weight: 500;
        margin-bottom: 10px; }
      .ir main .contents_box .irbox--inner h5 {
        color: #e95504;
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 0px;
        margin-top: 15px; }
        .ir main .contents_box .irbox--inner h5.bd {
          margin-top: 40px;
          border-bottom: 1px solid #e95504; }
        .ir main .contents_box .irbox--inner h5.bot {
          margin-bottom: 40px; }
      .ir main .contents_box .irbox--inner .flex_photo {
        display: flex;
        justify-content: space-between;
        padding-bottom: 40px;
        padding-top: 20px; }
        .ir main .contents_box .irbox--inner .flex_photo .photo {
          width: 170px; }
          .ir main .contents_box .irbox--inner .flex_photo .photo .name {
            padding-top: 10px; }
        .ir main .contents_box .irbox--inner .flex_photo .txt {
          width: calc(100% - 200px); }
      .ir main .contents_box .irbox--inner p {
        text-align: justify; }
        .ir main .contents_box .irbox--inner p.leadtxt {
          padding: 40px 0; }
          .ir main .contents_box .irbox--inner p.leadtxt.pd {
            padding-top: 10px; }
        .ir main .contents_box .irbox--inner p.link {
          padding: 20px 0; }
        .ir main .contents_box .irbox--inner p a {
          text-decoration: underline; }
        .ir main .contents_box .irbox--inner p .pdf {
          display: inline-block;
          width: 25px;
          position: relative;
          margin-left: 10px; }
      .ir main .contents_box .irbox--inner--box {
        margin-bottom: 40px; }
        .ir main .contents_box .irbox--inner--box .irtxt {
          padding-top: 20px; }
        .ir main .contents_box .irbox--inner--box .capt_ir {
          text-align: right; }
        .ir main .contents_box .irbox--inner--box .irtable {
          width: 100%;
          border-top: 1px solid #ccc; }
          .ir main .contents_box .irbox--inner--box .irtable td {
            border-right: 1px solid #ccc;
            border-bottom: 1px solid #ccc;
            padding: 10px;
            text-align: right; }
            .ir main .contents_box .irbox--inner--box .irtable td:first-child {
              background: #666;
              color: #fff;
              text-align: center; }
            .ir main .contents_box .irbox--inner--box .irtable td.cl01 {
              background: #f2f2f2;
              text-align: center; }
        .ir main .contents_box .irbox--inner--box .imgsg {
          width: 800px;
          margin: 20px auto; }
          .ir main .contents_box .irbox--inner--box .imgsg.pt {
            width: 100%;
            padding-top: 60px; }
        .ir main .contents_box .irbox--inner--box .calenderbox dl {
          display: flex;
          border-bottom: 1px solid #CCC;
          font-size: 14px;
          padding: 15px 0; }
          .ir main .contents_box .irbox--inner--box .calenderbox dl dt {
            margin-right: 15px; }
        .ir main .contents_box .irbox--inner--box .imgscenter {
          text-align: center;
          margin-top: 15px; }
      .ir main .contents_box .irbox--inner--stock {
        margin-top: 40px; }
        .ir main .contents_box .irbox--inner--stock dl {
          display: flex;
          justify-content: space-between;
          border-bottom: 1px dashed #ccc; }
          .ir main .contents_box .irbox--inner--stock dl.last {
            border-bottom: none; }
          .ir main .contents_box .irbox--inner--stock dl dt {
            width: 220px;
            padding: 0 0 0 15px;
            border-right: 1px solid #ccc;
            padding: 15px 0; }
          .ir main .contents_box .irbox--inner--stock dl dd {
            width: calc(100% - 220px);
            padding: 15px 0;
            padding-left: 20px; }
        .ir main .contents_box .irbox--inner--stock .capt {
          padding: 25px 0 10px; }
        .ir main .contents_box .irbox--inner--stock ul {
          font-size: 12px; }
          .ir main .contents_box .irbox--inner--stock ul li {
            list-style: disc;
            margin-left: 5px;
            padding-left: 0px; }
        .ir main .contents_box .irbox--inner--stock table {
          width: 100%; }
          .ir main .contents_box .irbox--inner--stock table td {
            padding: 15px 0;
            border-bottom: 1px solid #ccc; }
            .ir main .contents_box .irbox--inner--stock table td.top {
              border-right: 1px solid #ccc; }
        .ir main .contents_box .irbox--inner--stock .imgs {
          text-align: center; }
      .ir main .contents_box .irbox--inner--qa dl {
        margin-top: 40px; }
        .ir main .contents_box .irbox--inner--qa dl dt {
          padding-bottom: 15px;
          margin-bottom: 15px;
          border-bottom: 1px solid #ccc; }
        .ir main .contents_box .irbox--inner--qa dl ul {
          display: flex; }
          .ir main .contents_box .irbox--inner--qa dl ul li:first-child {
            font-family: 'Barlow Condensed',serif;
            font-size: 30px;
            line-height: 1;
            margin-right: 15px;
            color: #666; }
          .ir main .contents_box .irbox--inner--qa dl ul li:last-child {
            padding-top: 5px; }
          .ir main .contents_box .irbox--inner--qa dl ul li a {
            text-decoration: underline; }
        .ir main .contents_box .irbox--inner--qa dl dd li:first-child {
          color: #e95504; }
    .ir main .contents_box .irbox .listbtn {
      max-width: 420px;
      margin: 0 auto;
      background: #e95504;
      position: relative;
      font-size: 18px;
      font-weight: 500;
      text-align: center;
      border-radius: 40px; }
      .ir main .contents_box .irbox .listbtn a {
        display: block;
        color: #fff;
        padding: 15px 0;
        position: relative; }
        .ir main .contents_box .irbox .listbtn a:after {
          position: absolute;
          content: "";
          width: 10px;
          height: 10px;
          border-right: 1px solid #fff;
          border-top: 1px solid #fff;
          transform: rotate(45deg);
          top: 50%;
          margin-top: -6px;
          right: 25px; }
    .ir main .contents_box .irbox .ann {
      padding: 40px 0 170px;
      display: flex;
      justify-content: flex-start;
      align-items: center; }
      .ir main .contents_box .irbox .ann dt {
        margin-right: 20px;
        margin-top: 4px; }
      .ir main .contents_box .irbox .ann dd a {
        text-decoration: underline; }
      .ir main .contents_box .irbox .ann dd span {
        display: inline-block;
        width: 25px;
        position: relative;
        margin-left: 10px;
        margin-right: 10px; }
  .ir main .contents_box .eirDataArea.s_eirBlock {
    padding-bottom: 30px; }
.ir #news_head_l {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 15px; }
.ir #nav_001 #tab {
  display: flex;
  justify-content: space-between; }
  .ir #nav_001 #tab li {
    width: 16.666%;
    text-align: center;
    background: #f2f2f2;
    color: #999;
    font-size: 16px;
    font-weight: 700; }
    .ir #nav_001 #tab li:first-child {
      border-bottom: 2px solid #e95504; }
    .ir #nav_001 #tab li:nth-child(2) {
      border-bottom: 2px solid #00b8eb; }
    .ir #nav_001 #tab li:nth-child(3) {
      border-bottom: 2px solid #12ae65; }
    .ir #nav_001 #tab li:nth-child(4) {
      border-bottom: 2px solid #feb530; }
    .ir #nav_001 #tab li:nth-child(5) {
      border-bottom: 2px solid #7c79e4; }
    .ir #nav_001 #tab li:nth-child(6) {
      border-bottom: 2px solid #4d4d4d; }
    .ir #nav_001 #tab li a {
      display: block;
      padding: 12px 0; }
      .ir #nav_001 #tab li a.selected {
        color: #fff;
        background: #e95504;
        color: #fff !important;
        border-bottom: 2px solid #e95504; }
.ir #announcement {
  margin-top: 20px; }
  .ir #announcement dl {
    display: flex;
    flex-wrap: wrap;
    font-size: 14px; }
    .ir #announcement dl dt {
      width: 220px;
      padding: 15px 0;
      border-bottom: 1px solid #CCC; }
      .ir #announcement dl dt img {
        width: 90px;
        position: relative;
        top: -2px;
        margin-left: 10px; }
    .ir #announcement dl dd {
      width: calc(100% - 220px);
      padding: 15px 0;
      border-bottom: 1px solid #CCC; }
      .ir #announcement dl dd img {
        width: 20px;
        position: relative;
        margin-left: 5px;
        top: -2px; }
.ir #ir_library h3 {
  font-size: 18px;
  color: #e95504;
  border-bottom: 1px solid #e95504;
  margin-bottom: 15px;
  margin-top: 50px; }
.ir #ir_library dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 14px; }
  .ir #ir_library dl dt {
    width: 155px;
    padding: 15px 0;
    border-bottom: 1px solid #CCC; }
  .ir #ir_library dl dd {
    width: calc(100% - 155px);
    border-bottom: 1px solid #CCC;
    padding: 15px 0; }
    .ir #ir_library dl dd img {
      width: 20px;
      position: relative;
      margin-left: 5px;
      top: -2px; }

.ir main .ir_topnews .eir .s_eirList li:nth-child(n + 6) {
  display: none; }

@media screen and (max-width: 767px) {
  .ir main {
    margin-top: 50px; }
    .ir main .ir_topnews {
      max-width: 90%;
      margin: 0 auto; }
      .ir main .ir_topnews .listbtn {
        margin-top: -40px;
        margin-bottom: 40px; }
    .ir main .eir {
      max-width: 1024px;
      margin: 0 auto 60px; }
      .ir main .eir .yearController {
        padding-top: 15px; }
      .ir main .eir .eir_pdfNote {
        display: none; }
      .ir main .eir .s_eirTab {
        font-size: 15px;
        flex-wrap: wrap;
        margin-top: 40px; }
        .ir main .eir .s_eirTab li {
          width: 50%; }
      .ir main .eir .s_eirList .s_eirList_item {
        align-items: center;
        padding: 15px 0;
        flex-wrap: wrap; }
        .ir main .eir .s_eirList .s_eirList_item div.s_eirList_item_date {
          width: 120px; }
        .ir main .eir .s_eirList .s_eirList_item div.s_eirModule_category {
          width: 115px;
          text-align: center;
          background: #00b8eb;
          color: #fff;
          margin-right: 15px; }
        .ir main .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox {
          width: 100%;
          margin-top: 15px; }
          .ir main .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox .s_eirModule_title {
            width: 100%; }
          .ir main .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox .eirItem_type {
            display: none; }
          .ir main .eir .s_eirList .s_eirList_item div.s_eirModule_titleBox .eirItem_size {
            display: none; }
        .ir main .eir .s_eirList .s_eirList_item div .s_eirModule_type_icon {
          display: none; }
        .ir main .eir .s_eirList .s_eirList_item div .s_eirModule_type_figure {
          width: 25px; }
          .ir main .eir .s_eirList .s_eirList_item div .s_eirModule_type_figure img {
            width: 100%; }
      .ir main .eir .s_eirList .s_titleBox_type, .ir main .eir .s_eirList .s_titleBox_size, .ir main .eir .s_eirList .s_titleBox_page_num, .ir main .eir .s_eirList .s_titleBox_new {
        display: inline; }
      .ir main .eir .s_eirList_item_type, .ir main .eir .s_eirList_item_size, .ir main .eir .s_eirList_item_page_num, .ir main .eir .s_eirList_item_new, .ir main .eir .s_eirList_item_text, .ir main .eir .s_eirList_item_comment {
        display: none; }
      .ir main .eir .noDataText {
        font-size: 16px; }
      .ir main .eir .s_eirBlock {
        padding: 0px 0 0; }
        .ir main .eir .s_eirBlock h3 {
          font-size: 18px;
          color: #e95504;
          border-bottom: 1px solid #e95504;
          margin-bottom: 15px; }
        .ir main .eir .s_eirBlock a {
          text-decoration: underline; }
    .ir main .qir .qirArea_wrapper {
      padding: 60px 0px 0; }
      .ir main .qir .qirArea_wrapper .qirSection_wrapper {
        display: block; }
        .ir main .qir .qirArea_wrapper .qirSection_wrapper .qirContent {
          width: 100%; }
    .ir main .contents_box .irbox {
      font-size: 14px;
      line-height: 1.8; }
      .ir main .contents_box .irbox.wid_01 {
        max-width: 90%;
        margin: 0px auto 0; }
      .ir main .contents_box .irbox.wid_02 {
        max-width: 90%;
        margin: 40px auto 0; }
      .ir main .contents_box .irbox.news {
        max-width: 100%;
        margin: 40px auto 0; }
      .ir main .contents_box .irbox--inner {
        max-width: 100%;
        margin: 0 auto; }
        .ir main .contents_box .irbox--inner h3 {
          margin-top: 40px; }
        .ir main .contents_box .irbox--inner h4 {
          font-size: 16px; }
        .ir main .contents_box .irbox--inner h5 {
          font-size: 16px; }
          .ir main .contents_box .irbox--inner h5.bd {
            margin-top: 40px;
            border-bottom: 1px solid #e95504; }
          .ir main .contents_box .irbox--inner h5.bot {
            margin-bottom: 40px; }
        .ir main .contents_box .irbox--inner .flex_photo {
          display: block; }
          .ir main .contents_box .irbox--inner .flex_photo .photo {
            margin: 0 auto; }
          .ir main .contents_box .irbox--inner .flex_photo .txt {
            width: 100%;
            padding-top: 15px; }
        .ir main .contents_box .irbox--inner p {
          text-align: justify; }
          .ir main .contents_box .irbox--inner p.leadtxt {
            padding: 0px 0 40px; }
        .ir main .contents_box .irbox--inner--box {
          margin-bottom: 40px; }
          .ir main .contents_box .irbox--inner--box .irtxt {
            padding-top: 20px; }
          .ir main .contents_box .irbox--inner--box .capt_ir {
            padding-top: 10px; }
          .ir main .contents_box .irbox--inner--box .imgsg {
            width: 100%; }
            .ir main .contents_box .irbox--inner--box .imgsg.pt {
              padding-top: 40px; }
        .ir main .contents_box .irbox--inner--stock {
          margin-top: 40px; }
          .ir main .contents_box .irbox--inner--stock dl {
            justify-content: space-between;
            border-bottom: 1px dashed #ccc; }
            .ir main .contents_box .irbox--inner--stock dl.last {
              border-bottom: none; }
            .ir main .contents_box .irbox--inner--stock dl dt {
              width: 130px;
              padding: 0 0 0 0;
              padding: 15px 0; }
            .ir main .contents_box .irbox--inner--stock dl dd {
              width: calc(100% - 130px);
              padding: 15px 0;
              padding-left: 20px; }
          .ir main .contents_box .irbox--inner--stock .capt {
            padding: 25px 0 10px; }
          .ir main .contents_box .irbox--inner--stock ul {
            font-size: 12px; }
            .ir main .contents_box .irbox--inner--stock ul li {
              list-style: disc;
              margin-left: 5px;
              padding-left: 0px; }
          .ir main .contents_box .irbox--inner--stock table {
            width: 100%; }
            .ir main .contents_box .irbox--inner--stock table td.top {
              width: 33%; }
          .ir main .contents_box .irbox--inner--stock .imgs {
            width: 100%; }
        .ir main .contents_box .irbox--inner--qa dl {
          margin-top: 40px; }
          .ir main .contents_box .irbox--inner--qa dl dt {
            padding-bottom: 15px;
            margin-bottom: 15px;
            border-bottom: 1px solid #ccc; }
          .ir main .contents_box .irbox--inner--qa dl ul {
            display: flex; }
            .ir main .contents_box .irbox--inner--qa dl ul li:first-child {
              font-family: 'Barlow Condensed',serif;
              font-size: 30px;
              line-height: 1;
              margin-right: 15px;
              color: #666; }
            .ir main .contents_box .irbox--inner--qa dl ul li:last-child {
              padding-top: 5px; }
          .ir main .contents_box .irbox--inner--qa dl dd li:first-child {
            color: #e95504; }
        .ir main .contents_box .irbox--inner .ann {
          padding: 20px 0 170px;
          display: block; }
          .ir main .contents_box .irbox--inner .ann dt {
            width: 100%;
            margin-top: 0px;
            margin-bottom: 8px; }
          .ir main .contents_box .irbox--inner .ann dd {
            width: 100%; }
      .ir main .contents_box .irbox .listbtn {
        max-width: 100%;
        font-size: 16px; }
        .ir main .contents_box .irbox .listbtn a {
          padding: 10px 0; }
      .ir main .contents_box .irbox .eir_pnexNote_item-right img {
        width: auto; }
  .ir #nav_001 #tab {
    flex-wrap: wrap; }
    .ir #nav_001 #tab li {
      width: 49.5%;
      font-size: 14px;
      font-weight: 500; }
  .ir #announcement {
    margin-top: 20px; }
    .ir #announcement dl {
      display: flex;
      flex-wrap: wrap;
      font-size: 14px; }
      .ir #announcement dl dt {
        width: 100%;
        padding: 15px 0 5px;
        border-bottom: none; }
      .ir #announcement dl dd {
        width: 100%;
        padding: 0px 0 15px; }
  .ir #ir_library h3 {
    font-size: 16px;
    margin-top: 50px; }
  .ir #ir_library dl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 14px; }
    .ir #ir_library dl dt {
      width: 100%;
      padding: 15px 0 5px;
      border-bottom: none; }
    .ir #ir_library dl dd {
      width: 100%;
      padding: 0px 0 15px; } }
.lp main {
  display: block;
  margin-top: 90px; }
  .lp main .kv {
    background: url("../images/lp/img_1.png") no-repeat center center/cover;
    margin: 0 auto;
    height: 450px; }
    .lp main .kv.back_2022 {
      background: url("../../lp/cts2022/img/img_1.png") no-repeat center center/cover; }
    .lp main .kv h2 {
      font-size: 29px;
      line-height: 1;
      padding: 160px 0 0;
      position: relative;
      text-align: center;
      font-family: 'Noto Sans Japanese';
      font-weight: 700;
      color: #fff;
      letter-spacing: 0.16em; }
      .lp main .kv h2 span {
        display: block;
        font-family: 'Barlow Condensed',serif;
        font-weight: 700;
        font-size: 30px;
        padding-bottom: 15px; }
  .lp main .contents {
    padding: 0 0 170px;
    font-size: 14px;
    letter-spacing: 0.12em;
    line-height: 1.8; }
    .lp main .contents--top {
      background: #fff;
      max-width: 1024px;
      margin: -70px auto 85px;
      border-top: 2px solid #e95504; }
      .lp main .contents--top .ttls_area {
        max-width: 880px;
        margin: 0 auto;
        padding: 60px 0 0;
        text-align: center; }
        .lp main .contents--top .ttls_area .lead {
          font-size: 28px;
          color: #e95504;
          border-bottom: 2px solid #e95504;
          padding-bottom: 50px; }
        .lp main .contents--top .ttls_area h3 {
          font-size: 24px;
          padding: 40px 0 20px;
          position: relative; }
          .lp main .contents--top .ttls_area h3:after {
            position: absolute;
            content: "";
            width: 18px;
            border-bottom: 3px solid #e95504;
            bottom: 0;
            left: 50%;
            margin-left: -9px; }
        .lp main .contents--top .ttls_area .txts {
          padding-top: 40px; }
      .lp main .contents--top .date {
        display: flex;
        justify-content: center;
        margin-top: 50px; }
        .lp main .contents--top .date .box {
          width: 400px;
          margin: 0 15px;
          border: 1px solid #e99404;
          background: #e99404; }
          .lp main .contents--top .date .box p {
            font-size: 18px;
            color: #e99404;
            text-align: center;
            padding: 15px 0;
            border-bottom: 1px solid #e99404;
            background: #fff; }
          .lp main .contents--top .date .box .boxinner .cont {
            display: flex;
            justify-content: center;
            color: #fff;
            padding: 15px 0; }
            .lp main .contents--top .date .box .boxinner .cont dt {
              font-size: 20px;
              font-weight: 700;
              text-align: center;
              padding-bottom: 5px; }
            .lp main .contents--top .date .box .boxinner .cont dl {
              position: relative;
              text-align: center;
              line-height: 1; }
              .lp main .contents--top .date .box .boxinner .cont dl:after {
                position: absolute;
                content: "〜";
                top: 2px;
                font-size: 20px;
                right: -15px; }
              .lp main .contents--top .date .box .boxinner .cont dl:first-child {
                margin-right: 20px; }
              .lp main .contents--top .date .box .boxinner .cont dl:last-child:after {
                content: none; }
          .lp main .contents--top .date .box.cl02 {
            border: 1px solid #2600da;
            background: #2600da; }
            .lp main .contents--top .date .box.cl02 p {
              color: #2600da;
              border-bottom: 1px solid #2600da; }
            .lp main .contents--top .date .box.cl02 .cont {
              margin-top: 8px; }
      .lp main .contents--top .linkbanner {
        text-align: center;
        padding-top: 50px; }
    .lp main .contents .gray {
      background: #f2f2f2;
      position: relative;
      padding-bottom: 70px; }
      .lp main .contents .gray .topttl {
        background: #e95504;
        text-align: center;
        font-size: 26px;
        color: #fff;
        padding: 15px 0;
        position: relative; }
        .lp main .contents .gray .topttl:after {
          position: absolute;
          content: "";
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 30px 15px 0 15px;
          border-color: #e95504 transparent transparent transparent;
          bottom: -20px;
          left: 50%;
          margin-left: -15px; }
      .lp main .contents .gray .box_inner {
        max-width: 880px;
        background: #fff;
        margin: 60px auto 0;
        padding: 40px;
        letter-spacing: 0.08em; }
        .lp main .contents .gray .box_inner .lead {
          font-size: 20px;
          font-weight: 700;
          text-align: center;
          border-bottom: 3px solid #fbc03b;
          padding-bottom: 10px;
          color: #fbc03b; }
        .lp main .contents .gray .box_inner .txt {
          margin: 15px 0 30px; }
          .lp main .contents .gray .box_inner .txt.pt {
            padding-top: 30px; }
        .lp main .contents .gray .box_inner .innerlp {
          background: #f2f2f2;
          margin-top: 20px; }
          .lp main .contents .gray .box_inner .innerlp .lead {
            font-size: 16px;
            background: #fbc03b;
            color: #fff;
            padding: 5px 0; }
          .lp main .contents .gray .box_inner .innerlp dl {
            text-align: center;
            padding: 30px 0 15px;
            border-bottom: 1px solid #fff; }
            .lp main .contents .gray .box_inner .innerlp dl dt {
              font-size: 12px;
              line-height: 2.2; }
              .lp main .contents .gray .box_inner .innerlp dl dt span {
                font-size: 16px;
                background: #e95504;
                color: #fff;
                padding: 3px 10px; }
                .lp main .contents .gray .box_inner .innerlp dl dt span.cl_02 {
                  background: #060c40; }
                .lp main .contents .gray .box_inner .innerlp dl dt span.cl_03 {
                  background: #4a4a4a; }
            .lp main .contents .gray .box_inner .innerlp dl dd {
              font-size: 20px;
              font-weight: 700;
              color: #e95504; }
              .lp main .contents .gray .box_inner .innerlp dl dd span {
                font-size: 12px;
                color: #333;
                display: block; }
          .lp main .contents .gray .box_inner .innerlp .txts {
            text-align: center;
            padding: 20px 40px 20px;
            line-height: 2.2; }
            .lp main .contents .gray .box_inner .innerlp .txts span {
              line-height: 1;
              font-size: 15px;
              background: #e95504;
              color: #fff;
              padding: 2px 10px;
              margin-left: 15px; }
            .lp main .contents .gray .box_inner .innerlp .txts sup {
              vertical-align: middle;
              letter-spacing: 0; }
          .lp main .contents .gray .box_inner .innerlp ul {
            display: flex;
            justify-content: center;
            padding: 40px 0; }
            .lp main .contents .gray .box_inner .innerlp ul li {
              font-size: 20px;
              font-weight: 700;
              color: #e95504;
              margin: 0 10px; }
          .lp main .contents .gray .box_inner .innerlp ol {
            display: flex;
            justify-content: center;
            align-items: center;
            margin: -20px 0; }
            .lp main .contents .gray .box_inner .innerlp ol li span {
              font-size: 15px;
              background: #e95504;
              color: #fff;
              padding: 2px 10px;
              margin-left: 15px; }
    .lp main .contents .bgnon .topttl {
      background: #fbc03b;
      text-align: center;
      font-size: 26px;
      color: #fff;
      padding: 15px 0;
      position: relative; }
      .lp main .contents .bgnon .topttl:after {
        position: absolute;
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 30px 15px 0 15px;
        border-color: #fbc03b transparent transparent transparent;
        bottom: -20px;
        left: 50%;
        margin-left: -15px; }
    .lp main .contents .bgnon .box_inner_guide {
      max-width: 880px;
      margin: 60px auto 30px; }
      .lp main .contents .bgnon .box_inner_guide dl {
        display: flex;
        justify-content: space-between;
        margin-bottom: 25px; }
        .lp main .contents .bgnon .box_inner_guide dl dt {
          font-size: 16px;
          font-weight: 700;
          color: #e95504;
          width: 120px; }
        .lp main .contents .bgnon .box_inner_guide dl dd {
          width: calc(100% - 120px); }
    .lp main .contents .bgnon .captions {
      max-width: 880px;
      margin: 30px auto 60px;
      font-size: 12px;
      border-bottom: 1px solid #666;
      border-top: 1px solid #666;
      padding: 20px 0; }
    .lp main .contents .bgnon .btn {
      width: 440px;
      background: #e95504;
      position: relative;
      text-align: center;
      margin: 15px auto 40px; }
      .lp main .contents .bgnon .btn a {
        display: block;
        padding: 20px 0 20px 0px;
        color: #fff;
        text-decoration: none;
        font-size: 18px;
        line-height: 1;
        position: relative; }
        .lp main .contents .bgnon .btn a:before, .lp main .contents .bgnon .btn a:after {
          position: absolute;
          content: ""; }
        .lp main .contents .bgnon .btn a:before {
          border-bottom: 1px solid #fff;
          width: 20px;
          top: 50%;
          right: 20px; }
        .lp main .contents .bgnon .btn a:after {
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 6px 0 0 12px;
          border-color: transparent transparent transparent #fff;
          right: 15px;
          top: 50%;
          margin-top: -5px; }
    .lp main .contents--box--pdfs {
      width: 800px;
      margin: 0 auto;
      padding-bottom: 50px; }
      .lp main .contents--box--pdfs--flex dt.nons {
        display: none; }
      .lp main .contents--box--pdfs--flex .dlbox {
        margin-bottom: 40px; }
      .lp main .contents--box--pdfs--flex .box {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 30px; }
        .lp main .contents--box--pdfs--flex .box .imgs {
          width: 26%;
          margin-top: 20px; }
          .lp main .contents--box--pdfs--flex .box .imgs:nth-child(2) {
            margin: 20px 11% 0; }
    .lp main .contents--box .btnsarea {
      width: 600px;
      margin: 30px auto 0;
      text-align: center; }
      .lp main .contents--box .btnsarea .entrybtns {
        cursor: pointer;
        width: 100%;
        text-align: center;
        font-weight: 700;
        font-size: 24px;
        background: #e95504;
        letter-spacing: 0.1em;
        display: block;
        color: #fff;
        text-decoration: none;
        padding: 20px 0;
        border: none; }
        .lp main .contents--box .btnsarea .entrybtns a {
          display: block;
          color: #fff; }

@media screen and (max-width: 767px) {
  .lp main {
    margin-top: 50px; }
    .lp main .kv {
      height: 250px; }
      .lp main .kv h2 {
        font-size: 24px;
        padding: 80px 0 0; }
        .lp main .kv h2 span {
          display: block;
          font-family: 'Barlow Condensed',serif;
          font-weight: 700;
          font-size: 30px;
          padding-bottom: 15px; }
    .lp main .contents {
      padding: 0 0 90px; }
      .lp main .contents--top {
        background: #fff;
        max-width: 90%;
        margin: -0px auto 85px;
        border-top: none; }
        .lp main .contents--top .ttls_area {
          max-width: 100%; }
          .lp main .contents--top .ttls_area .lead {
            font-size: 22px;
            padding-bottom: 50px; }
          .lp main .contents--top .ttls_area h3 {
            font-size: 18px; }
          .lp main .contents--top .ttls_area .txts {
            padding-top: 40px; }
        .lp main .contents--top .date {
          display: block;
          justify-content: center;
          margin-top: 50px; }
          .lp main .contents--top .date .box {
            width: 100%;
            margin: 0 auto 15px; }
            .lp main .contents--top .date .box p {
              font-size: 16px;
              padding: 15px 0; }
            .lp main .contents--top .date .box .boxinner .cont {
              line-height: 1.6; }
              .lp main .contents--top .date .box .boxinner .cont dt {
                font-size: 16px; }
        .lp main .contents--top .linkbanner {
          text-align: center;
          padding-top: 10px; }
      .lp main .contents .gray {
        padding-bottom: 70px; }
        .lp main .contents .gray .topttl {
          font-size: 20px; }
        .lp main .contents .gray .box_inner {
          max-width: 100%;
          background: #fff;
          margin: 60px auto 0;
          padding: 40px 5%;
          letter-spacing: 0.08em; }
          .lp main .contents .gray .box_inner .lead {
            font-size: 20px;
            text-align: center;
            border-bottom: 1px solid #fbc03b;
            padding-bottom: 10px;
            color: #fbc03b; }
          .lp main .contents .gray .box_inner .txt {
            margin: 15px 0 30px; }
          .lp main .contents .gray .box_inner .innerlp {
            background: #f2f2f2;
            margin-top: 20px; }
            .lp main .contents .gray .box_inner .innerlp .lead {
              font-size: 16px; }
            .lp main .contents .gray .box_inner .innerlp .txts {
              text-align: center;
              padding: 20px 40px 20px; }
            .lp main .contents .gray .box_inner .innerlp dd {
              font-size: 18px; }
            .lp main .contents .gray .box_inner .innerlp ul {
              display: block;
              justify-content: center;
              padding: 25px 0; }
              .lp main .contents .gray .box_inner .innerlp ul li {
                text-align: center;
                font-size: 18px;
                margin: 5px 0px; }
            .lp main .contents .gray .box_inner .innerlp ol {
              display: block;
              align-items: center;
              margin: -10px 0; }
              .lp main .contents .gray .box_inner .innerlp ol li {
                text-align: center; }
                .lp main .contents .gray .box_inner .innerlp ol li span {
                  font-size: 15px;
                  background: #e95504;
                  color: #fff;
                  padding: 3px 10px;
                  margin-left: 15px; }
      .lp main .contents .bgnon .topttl {
        font-size: 22px;
        padding: 15px 0; }
      .lp main .contents .bgnon .box_inner_guide {
        max-width: 90%;
        margin: 60px auto 30px; }
        .lp main .contents .bgnon .box_inner_guide dl {
          display: block;
          justify-content: space-between;
          margin-bottom: 25px; }
          .lp main .contents .bgnon .box_inner_guide dl dt {
            width: 100%;
            border-bottom: 1px solid #e95504;
            padding: 0 0 10px;
            margin: 0 0 10px; }
          .lp main .contents .bgnon .box_inner_guide dl dd {
            width: 100%; }
      .lp main .contents .bgnon .captions {
        width: 90%; }
      .lp main .contents .bgnon .btn {
        width: 90%; }
      .lp main .contents--box--pdfs {
        width: 90%;
        margin: 0 auto;
        padding-bottom: 50px; }
        .lp main .contents--box--pdfs--flex dt.nons {
          display: none; }
        .lp main .contents--box--pdfs--flex .dlbox {
          margin-bottom: 40px; }
        .lp main .contents--box--pdfs--flex .box {
          display: flex;
          flex-wrap: wrap;
          margin-bottom: 30px; }
          .lp main .contents--box--pdfs--flex .box .imgs {
            width: 45%;
            margin-top: 20px; }
            .lp main .contents--box--pdfs--flex .box .imgs:nth-child(2), .lp main .contents--box--pdfs--flex .box .imgs:nth-child(4) {
              margin: 20px 0% 0 5%; }
      .lp main .contents--box .btnsarea {
        width: 100%;
        margin: 30px auto 0;
        text-align: center; }
        .lp main .contents--box .btnsarea .entrybtns {
          font-size: 16px;
          padding: 10px 0; } }
.recruit main {
  display: block;
  margin-top: 90px; }
  .recruit main .kv_cont {
    margin: 0 auto;
    height: 400px; }
    .recruit main .kv_cont.message {
      background: url("../images/recruit/message/img_1.png") no-repeat center center/cover; }
    .recruit main .kv_cont.works {
      background: url("../images/recruit/works/img_1.png") no-repeat center center/cover; }
    .recruit main .kv_cont.flow {
      background: url("../images/recruit/flow/img_1.png") no-repeat center center/cover; }
    .recruit main .kv_cont.interview {
      background: url("../images/recruit/interview/img_1.png") no-repeat center center/cover; }
    .recruit main .kv_cont.guideline {
      background: url("../images/recruit/guideline/img_1.png") no-repeat center center/cover; }
    .recruit main .kv_cont h2 {
      font-size: 29px;
      line-height: 1;
      padding: 80px 0 0;
      position: relative;
      text-align: center;
      font-family: 'Noto Sans Japanese';
      font-weight: 500;
      color: #fff;
      letter-spacing: 0.16em; }
      .recruit main .kv_cont h2 span {
        display: block;
        font-family: 'Barlow Condensed',serif;
        font-weight: 500;
        font-size: 20px;
        letter-spacing: 0.1em;
        padding-bottom: 15px; }
  .recruit main .contents_box {
    padding: 0px 0 170px;
    max-width: 1024px;
    margin: -190px auto 0;
    border-top: 2px solid #e95504;
    position: relative;
    background: #fff;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.1em; }
    .recruit main .contents_box--inner {
      max-width: 880px;
      margin: 0 auto; }
      .recruit main .contents_box--inner .imgstop {
        padding: 30px 0; }
    .recruit main .contents_box.nomt {
      margin: 0 auto 0;
      border: none; }
    .recruit main .contents_box.gray {
      max-width: 100%;
      background: #f2f2f2;
      padding: 10px 0 80px;
      margin: -70px auto 0;
      border: none; }
    .recruit main .contents_box .leadttl {
      font-size: 24px;
      font-weight: 500;
      text-align: center;
      line-height: 2;
      letter-spacing: 0.1em;
      padding: 60px 0;
      padding-bottom: 15px;
      position: relative; }
      .recruit main .contents_box .leadttl:after {
        position: absolute;
        content: "";
        width: 18px;
        border-bottom: 3px solid #e95504;
        left: 50%;
        bottom: 0;
        margin-left: -9px; }
    .recruit main .contents_box .leadtxt {
      padding-top: 60px;
      max-width: 880px;
      margin: 0 auto 80px;
      text-align: justify; }
    .recruit main .contents_box .flexbox {
      max-width: 880px;
      margin: 60px auto 0; }
      .recruit main .contents_box .flexbox .ttls {
        display: flex;
        justify-content: space-between;
        align-items: center;
        border: 1px solid #e95504; }
        .recruit main .contents_box .flexbox .ttls dt {
          font-family: 'Barlow Condensed',serif;
          font-weight: 500;
          font-size: 33px;
          background: #e95504;
          color: #fff;
          line-height: 1;
          width: 70px;
          height: 70px;
          text-align: center;
          padding-top: 18px; }
        .recruit main .contents_box .flexbox .ttls dd {
          width: calc(100% - 70px);
          padding-left: 25px;
          font-size: 23px; }
          .recruit main .contents_box .flexbox .ttls dd span {
            font-family: 'Barlow Condensed',serif;
            font-weight: 500;
            font-size: 14px;
            top: -2px;
            margin-left: 20px;
            position: relative; }
      .recruit main .contents_box .flexbox--inner {
        display: flex;
        justify-content: space-between;
        margin: 40px 0 30px; }
        .recruit main .contents_box .flexbox--inner .txt {
          width: 480px;
          text-align: justify; }
        .recruit main .contents_box .flexbox--inner .imgsarea {
          width: 345px; }
          .recruit main .contents_box .flexbox--inner .imgsarea .btn {
            padding-top: 25px; }
    .recruit main .contents_box .flowbox {
      max-width: 880px;
      margin: 0 auto 80px;
      position: relative;
      background: #e7f2f4;
      display: flex;
      justify-content: space-between; }
      .recruit main .contents_box .flowbox .ttl {
        position: absolute;
        top: -68px;
        left: 0;
        color: #e7f2f4;
        font-family: 'Barlow Condensed',serif;
        font-weight: 500;
        font-size: 50px; }
      .recruit main .contents_box .flowbox dl {
        width: calc(100% - 250px);
        padding: 20px 30px 0; }
        .recruit main .contents_box .flowbox dl dt {
          position: relative;
          font-size: 23px;
          font-weight: 500;
          padding-left: 15px; }
          .recruit main .contents_box .flowbox dl dt:before {
            position: absolute;
            content: "";
            height: 60%;
            border-left: 2px solid #e95504;
            left: 0;
            top: 20%; }
        .recruit main .contents_box .flowbox dl dd {
          padding-top: 5px;
          text-align: justify; }
      .recruit main .contents_box .flowbox .imgs {
        width: 250px; }
    .recruit main .contents_box .interviewbox {
      max-width: 880px;
      margin: 0 auto;
      padding-top: 60px; }
      .recruit main .contents_box .interviewbox .leads {
        font-size: 22px;
        line-height: 1;
        color: #e95504;
        position: relative; }
        .recruit main .contents_box .interviewbox .leads:after {
          position: absolute;
          content: "";
          left: 0;
          width: 100%;
          top: 50%;
          border-top: 1px solid #e95504; }
        .recruit main .contents_box .interviewbox .leads span {
          position: relative;
          background: #fff;
          z-index: 2;
          padding-right: 15px; }
      .recruit main .contents_box .interviewbox--flex {
        display: flex;
        justify-content: space-between;
        padding: 25px 0; }
        .recruit main .contents_box .interviewbox--flex .txtbox {
          width: 410px; }
          .recruit main .contents_box .interviewbox--flex .txtbox dl dt {
            font-size: 24px;
            margin-bottom: 20px; }
          .recruit main .contents_box .interviewbox--flex .txtbox ul {
            margin-top: 20px; }
            .recruit main .contents_box .interviewbox--flex .txtbox ul li:first-child {
              font-family: 'Barlow Condensed',serif;
              font-weight: 500;
              font-size: 20px;
              color: #e95504; }
            .recruit main .contents_box .interviewbox--flex .txtbox ul li:last-child {
              text-align: justify; }
        .recruit main .contents_box .interviewbox--flex .imgs {
          width: 410px; }
      .recruit main .contents_box .interviewbox--box .lead {
        font-size: 24px;
        font-weight: 500;
        text-align: center;
        line-height: 2;
        letter-spacing: 0.1em;
        padding-bottom: 15px;
        position: relative;
        margin-bottom: 25px; }
        .recruit main .contents_box .interviewbox--box .lead:after {
          position: absolute;
          content: "";
          width: 18px;
          border-bottom: 3px solid #e95504;
          left: 50%;
          bottom: 0;
          margin-left: -9px; }
      .recruit main .contents_box .interviewbox--box .txt {
        text-align: justify; }
    .recruit main .contents_box .guideline_box {
      max-width: 880px;
      margin: 35px auto 0; }
      .recruit main .contents_box .guideline_box dl {
        display: flex;
        justify-content: flex-start;
        border-bottom: 1px solid #e6e6e6;
        padding: 25px 0; }
        .recruit main .contents_box .guideline_box dl:last-child {
          border-bottom: none; }
        .recruit main .contents_box .guideline_box dl dt {
          width: 170px;
          padding-left: 10px;
          font-weight: 500; }
        .recruit main .contents_box .guideline_box dl dd {
          width: calc(100% - 170px);
          font-weight: 400; }
          .recruit main .contents_box .guideline_box dl dd a {
            text-decoration: underline; }

@media screen and (max-width: 767px) {
  .recruit main {
    margin-top: 50px; }
    .recruit main .kv_cont {
      height: 200px; }
      .recruit main .kv_cont h2 {
        font-size: 22px;
        line-height: 1;
        padding: 70px 0 0; }
        .recruit main .kv_cont h2 span {
          font-size: 18px;
          padding-bottom: 10px; }
    .recruit main .contents_box {
      padding: 0px 0 80px;
      max-width: 90%;
      margin: 0px auto 0;
      border-top: none; }
      .recruit main .contents_box--inner {
        max-width: 100%; }
      .recruit main .contents_box.nomt {
        margin: 0 auto 0;
        border: none; }
      .recruit main .contents_box.gray {
        max-width: 100%;
        background: #f2f2f2;
        padding: 10px 0 80px;
        margin: -70px auto 0;
        border: none; }
      .recruit main .contents_box .leadttl {
        font-size: 24px;
        font-weight: 500;
        text-align: center;
        line-height: 2;
        letter-spacing: 0.1em;
        padding: 60px 0;
        padding-bottom: 15px;
        position: relative; }
        .recruit main .contents_box .leadttl:after {
          position: absolute;
          content: "";
          width: 18px;
          border-bottom: 3px solid #e95504;
          left: 50%;
          bottom: 0;
          margin-left: -9px; }
      .recruit main .contents_box .leadtxt {
        padding-top: 60px;
        max-width: 100%;
        margin: 0 auto 80px; }
      .recruit main .contents_box .flexbox {
        max-width: 100%;
        margin: 60px auto 0; }
        .recruit main .contents_box .flexbox .ttls {
          display: flex; }
          .recruit main .contents_box .flexbox .ttls dd {
            font-size: 18px;
            line-height: 1.4; }
            .recruit main .contents_box .flexbox .ttls dd span {
              display: block;
              margin-left: 0; }
        .recruit main .contents_box .flexbox--inner {
          flex-wrap: wrap;
          flex-direction: column-reverse;
          margin: 20px 0 0; }
          .recruit main .contents_box .flexbox--inner .txt {
            width: 100%;
            margin-top: 15px; }
          .recruit main .contents_box .flexbox--inner .imgsarea {
            width: 100%; }
            .recruit main .contents_box .flexbox--inner .imgsarea .btn {
              padding-top: 10px; }
      .recruit main .contents_box .flowbox {
        max-width: 100%;
        margin: 0 auto 80px;
        display: block; }
        .recruit main .contents_box .flowbox dl {
          width: 100%; }
          .recruit main .contents_box .flowbox dl dt {
            position: relative;
            font-size: 18px; }
          .recruit main .contents_box .flowbox dl dd {
            padding-top: 5px; }
        .recruit main .contents_box .flowbox .imgs {
          width: 100%;
          padding-top: 25px; }
      .recruit main .contents_box .interviewbox {
        max-width: 100%;
        margin: 0 auto;
        padding-top: 60px; }
        .recruit main .contents_box .interviewbox .leads {
          font-size: 18px; }
        .recruit main .contents_box .interviewbox--flex {
          display: flex;
          flex-direction: column-reverse;
          padding: 25px 0;
          flex-wrap: wrap; }
          .recruit main .contents_box .interviewbox--flex .txtbox {
            width: 100%; }
            .recruit main .contents_box .interviewbox--flex .txtbox dl dt {
              font-size: 20px;
              margin-bottom: 0px;
              padding-top: 10px; }
            .recruit main .contents_box .interviewbox--flex .txtbox ul {
              margin-top: 0px; }
              .recruit main .contents_box .interviewbox--flex .txtbox ul li:last-child {
                font-size: 13px; }
          .recruit main .contents_box .interviewbox--flex .imgs {
            width: 100%; }
        .recruit main .contents_box .interviewbox--box {
          border-top: 1px solid #f2f2f2; }
          .recruit main .contents_box .interviewbox--box .lead {
            font-size: 18px;
            margin-top: 20px; }
      .recruit main .contents_box .guideline_box {
        max-width: 100%;
        margin: 35px auto 0; }
        .recruit main .contents_box .guideline_box dl {
          display: block;
          justify-content: flex-start;
          border-bottom: 1px solid #e6e6e6;
          padding: 25px 0; }
          .recruit main .contents_box .guideline_box dl:last-child {
            border-bottom: none; }
          .recruit main .contents_box .guideline_box dl dt {
            width: 100%;
            padding-left: 0px; }
          .recruit main .contents_box .guideline_box dl dd {
            width: 100%;
            text-align: justify; }
            .recruit main .contents_box .guideline_box dl dd a {
              text-decoration: underline; } }
.case main {
  display: block;
  margin-top: 90px; }
  .case main .kv {
    background: url("../images/case/case01/img_1.png") no-repeat center center/cover;
    margin: 0 auto;
    height: 640px; }
    .case main .kv .tagline {
      background: rgba(0, 0, 0, 0.6);
      color: #fff;
      padding: 10px 0; }
      .case main .kv .tagline .box {
        max-width: 880px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        letter-spacing: 0.1em; }
        .case main .kv .tagline .box .lead {
          font-family: 'Barlow Condensed',serif;
          font-weight: 500;
          font-size: 23px;
          position: relative; }
          .case main .kv .tagline .box .lead:after {
            position: absolute;
            content: "";
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 15px 0 0 15px;
            border-color: transparent transparent transparent #e95504;
            right: -20px;
            top: 9px; }
        .case main .kv .tagline .box ul {
          display: flex;
          font-size: 14px;
          margin-left: 30px; }
          .case main .kv .tagline .box ul li {
            margin-right: 10px; }
    .case main .kv h2 {
      font-size: 29px;
      line-height: 1;
      padding: 120px 0 0;
      position: relative;
      text-align: center;
      font-family: 'Noto Sans Japanese';
      font-weight: 500;
      color: #fff;
      letter-spacing: 0.16em; }
      .case main .kv h2 span {
        display: block;
        font-family: 'Barlow Condensed',serif;
        font-weight: 500;
        font-size: 80px;
        padding-bottom: 15px; }
  .case main .contents {
    padding: 0 0 170px;
    font-size: 14px;
    letter-spacing: 0.12em;
    line-height: 1.8; }
    .case main .contents--top {
      background: #fff;
      max-width: 1024px;
      margin: -220px auto 55px;
      border-top: 2px solid #e95504; }
      .case main .contents--top .ttls_area {
        max-width: 880px;
        margin: 0 auto;
        padding: 60px 0 0;
        text-align: center; }
        .case main .contents--top .ttls_area .lead {
          font-size: 18px; }
        .case main .contents--top .ttls_area h3 {
          font-size: 34px;
          padding: 20px 0;
          position: relative; }
          .case main .contents--top .ttls_area h3:after {
            position: absolute;
            content: "";
            width: 18px;
            border-bottom: 3px solid #e95504;
            bottom: 0;
            left: 50%;
            margin-left: -9px; }
      .case main .contents--top .case_flex {
        display: flex;
        justify-content: space-between;
        max-width: 880px;
        margin: 35px auto 0; }
        .case main .contents--top .case_flex p {
          width: 375px;
          margin-top: 10px; }
        .case main .contents--top .case_flex dl {
          width: 445px; }
          .case main .contents--top .case_flex dl dt {
            font-size: 22px;
            padding-bottom: 5px; }
          .case main .contents--top .case_flex dl dd {
            text-align: justify; }
    .case main .contents .gray {
      background: #f2f2f2;
      position: relative;
      padding-bottom: 70px; }
      .case main .contents .gray .topttl {
        position: absolute;
        width: 880px;
        font-family: 'Barlow Condensed',serif;
        font-weight: 500;
        font-size: 20px;
        color: #e95504;
        left: 50%;
        margin-left: -440px;
        top: -25px; }
      .case main .contents .gray .cs_box {
        max-width: 880px;
        margin: 0 auto;
        padding-top: 50px;
        display: flex;
        justify-content: space-between; }
        .case main .contents .gray .cs_box dl {
          width: 170px;
          font-size: 18px; }
          .case main .contents .gray .cs_box dl dd {
            padding-left: 5px;
            padding-top: 10px; }
        .case main .contents .gray .cs_box .box {
          width: 650px; }
          .case main .contents .gray .cs_box .box .lead {
            font-size: 22px;
            color: #e95504; }
      .case main .contents .gray .cs_list {
        max-width: 880px;
        margin: 50px auto;
        border: 1px solid #cccccc;
        background: #fff;
        padding: 20px 170px;
        font-size: 16px;
        position: relative; }
        .case main .contents .gray .cs_list:after {
          position: absolute;
          content: "";
          width: 40px;
          height: 40px;
          border-bottom: 4px solid #e95504;
          border-right: 4px solid #e95504;
          left: 50%;
          bottom: -15px;
          transform: rotate(45deg); }
        .case main .contents .gray .cs_list li {
          position: relative;
          padding-left: 25px; }
          .case main .contents .gray .cs_list li:before {
            position: absolute;
            content: "";
            width: 16px;
            height: 16px;
            border-radius: 8px;
            background: #e95504;
            left: 0;
            top: 6px; }
      .case main .contents .gray .underlead {
        max-width: 880px;
        margin: 50px auto;
        background: #e95504;
        text-align: center;
        color: #fff;
        padding: 20px 0;
        font-size: 21px; }
    .case main .contents .contents_case .backimg {
      height: 560px; }
      .case main .contents .contents_case .backimg.case01_01 {
        background: url("../../assets/images/case/case01/img_4.png") no-repeat center center/cover; }
      .case main .contents .contents_case .backimg.case01_02 {
        background: url("../../assets/images/case/case01/img_5.png") no-repeat center center/cover; }
      .case main .contents .contents_case .backimg.case01_03 {
        background: url("../../assets/images/case/case01/img_6.png") no-repeat center center/cover; }
    .case main .contents .contents_case--inner {
      max-width: 1024px;
      margin: -260px auto 0;
      background: #fff;
      border-top: 2px solid #e95504;
      padding-bottom: 120px;
      position: relative; }
      .case main .contents .contents_case--inner .box {
        max-width: 880px;
        margin: 0 auto; }
        .case main .contents .contents_case--inner .box p:first-child {
          width: 105px;
          margin: -53px auto 50px; }
        .case main .contents .contents_case--inner .box .lead {
          font-size: 18px;
          font-weight: 500;
          text-align: center;
          color: #e95504;
          padding-bottom: 15px; }
        .case main .contents .contents_case--inner .box .txt {
          text-align: justify; }
        .case main .contents .contents_case--inner .box .imgs {
          padding-top: 25px; }
        .case main .contents .contents_case--inner .box .phots {
          display: flex;
          justify-content: space-between;
          padding: 25px 0; }
          .case main .contents .contents_case--inner .box .phots dl {
            width: 30%; }
            .case main .contents .contents_case--inner .box .phots dl dd {
              font-size: 16px;
              text-align: center;
              padding-top: 10px; }
    .case main .contents .outro {
      background: #fbc03b;
      padding-bottom: 80px; }
      .case main .contents .outro dl {
        text-align: center;
        padding: 70px 0 0; }
        .case main .contents .outro dl dt {
          font-family: 'Barlow Condensed',serif;
          font-weight: 500;
          font-size: 20px;
          color: #e95504; }
        .case main .contents .outro dl dd {
          font-size: 22px;
          position: relative;
          padding-bottom: 10px;
          margin-top: 15px; }
          .case main .contents .outro dl dd:after {
            position: absolute;
            content: "";
            width: 18px;
            border-bottom: 3px solid #e95504;
            bottom: 0;
            left: 50%;
            margin-left: -9px; }
      .case main .contents .outro .box {
        max-width: 880px;
        margin: 40px auto 0;
        display: flex;
        justify-content: space-between; }
        .case main .contents .outro .box .imgs {
          width: 385px; }
        .case main .contents .outro .box .txt {
          width: 450px;
          text-align: justify; }
    .case main .contents .underbox {
      max-width: 880px;
      margin: 80px auto; }
      .case main .contents .underbox .lead {
        text-align: center;
        font-size: 23px;
        padding: 20px 0 5px;
        position: relative;
        margin-bottom: 40px; }
        .case main .contents .underbox .lead:after {
          position: absolute;
          content: "";
          width: 18px;
          border-bottom: 3px solid #e95504;
          bottom: 0;
          left: 50%;
          margin-left: -9px; }
      .case main .contents .underbox .btns_area {
        margin-top: 80px;
        margin-bottom: 80px;
        display: flex;
        align-items: center;
        justify-content: center; }
        .case main .contents .underbox .btns_area .btns {
          width: 420px;
          margin: 0 20px;
          font-size: 18px;
          font-weight: 500;
          background: #e95504;
          border-radius: 30px;
          letter-spacing: 0.1em;
          text-align: center; }
          .case main .contents .underbox .btns_area .btns a {
            display: block;
            color: #fff;
            padding: 15px 0;
            position: relative; }
            .case main .contents .underbox .btns_area .btns a:after {
              position: absolute;
              content: "";
              width: 7px;
              height: 7px;
              border-top: 2px solid #fff;
              border-right: 2px solid #fff;
              right: 30px;
              top: 50%;
              margin-top: -5px;
              transform: rotate(45deg); }
    .case main .contents .produce {
      max-width: 880px;
      margin: 40px auto;
      border-top: 1px solid #808080;
      border-bottom: 1px solid #808080;
      padding: 20px 0;
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: relative; }
      .case main .contents .produce .img {
        width: 375px; }
      .case main .contents .produce .box {
        width: 475px; }
        .case main .contents .produce .box p {
          font-size: 23px;
          padding-bottom: 10px; }
        .case main .contents .produce .box dt {
          font-size: 18px; }
        .case main .contents .produce .box dd a {
          text-decoration: underline; }
      .case main .contents .produce .capt {
        position: absolute;
        bottom: -25px;
        right: 0;
        font-size: 13px; }
    .case main .contents .underimg {
      height: 370px;
      margin: 100px 0 -140px; }
      .case main .contents .underimg.back_01 {
        background: url("../images/case/case01/img_12.png") no-repeat center center/cover; }

@media screen and (max-width: 767px) {
  .case main {
    margin-top: 50px; }
    .case main .kv {
      height: 300px; }
      .case main .kv .tagline {
        background: rgba(0, 0, 0, 0.6);
        color: #fff;
        padding: 10px 5%; }
        .case main .kv .tagline .box {
          max-width: 100%;
          display: block; }
          .case main .kv .tagline .box .lead {
            font-size: 18px;
            position: relative; }
            .case main .kv .tagline .box .lead:after {
              left: 20%;
              top: 5px; }
          .case main .kv .tagline .box ul {
            display: block;
            font-size: 12px;
            margin-left: 0px; }
            .case main .kv .tagline .box ul li {
              margin-right: 10px; }
      .case main .kv h2 {
        font-size: 26px;
        padding: 60px 0 0; }
        .case main .kv h2 span {
          font-size: 55px;
          padding-bottom: 15px; }
    .case main .contents {
      padding: 0 0 170px; }
      .case main .contents--top {
        background: #fff;
        max-width: 90%;
        margin: -0px auto 55px;
        border-top: none; }
        .case main .contents--top .ttls_area {
          max-width: 100%;
          margin: 0 auto;
          padding: 60px 0 0;
          text-align: center; }
          .case main .contents--top .ttls_area .lead {
            font-size: 16px; }
          .case main .contents--top .ttls_area h3 {
            font-size: 26px; }
        .case main .contents--top .case_flex {
          display: block;
          max-width: 100%;
          margin: 35px auto 0; }
          .case main .contents--top .case_flex p {
            width: 100%;
            margin-top: 0px;
            margin-bottom: 10px; }
          .case main .contents--top .case_flex dl {
            width: 100%; }
            .case main .contents--top .case_flex dl dt {
              font-size: 16px;
              padding-bottom: 5px; }
      .case main .contents .gray .topttl {
        max-width: 90%;
        left: 5%;
        margin-left: 0px; }
      .case main .contents .gray .cs_box {
        max-width: 90%;
        display: block; }
        .case main .contents .gray .cs_box dl {
          margin: 0 auto 15px; }
          .case main .contents .gray .cs_box dl dd {
            text-align: center;
            padding-left: 0px; }
        .case main .contents .gray .cs_box .box {
          width: 100%; }
          .case main .contents .gray .cs_box .box .lead {
            font-size: 16px;
            color: #e95504; }
          .case main .contents .gray .cs_box .box .txt {
            font-size: 13px;
            text-align: justify; }
      .case main .contents .gray .cs_list {
        max-width: 90%;
        margin: 50px auto;
        padding: 20px 30px;
        font-size: 14px; }
        .case main .contents .gray .cs_list:after {
          margin-left: -22px; }
        .case main .contents .gray .cs_list li {
          position: relative;
          padding-left: 20px; }
          .case main .contents .gray .cs_list li:before {
            width: 12px;
            height: 12px; }
      .case main .contents .gray .underlead {
        max-width: 100%;
        margin: 50px auto;
        padding: 20px 5%;
        font-size: 16px; }
      .case main .contents .contents_case .backimg {
        height: 250px; }
      .case main .contents .contents_case--inner {
        max-width: 90%;
        margin: -75px auto 0;
        padding-bottom: 60px;
        position: relative;
        z-index: 4; }
        .case main .contents .contents_case--inner .box {
          max-width: 100%;
          margin: 0 auto; }
          .case main .contents .contents_case--inner .box p:first-child {
            margin: -53px auto 20px; }
          .case main .contents .contents_case--inner .box .txt {
            text-align: justify; }
          .case main .contents .contents_case--inner .box .imgs {
            padding-top: 25px; }
          .case main .contents .contents_case--inner .box .phots {
            display: flex;
            justify-content: space-between;
            padding: 25px 0;
            flex-wrap: wrap; }
            .case main .contents .contents_case--inner .box .phots dl {
              width: 48%;
              margin-bottom: 10px; }
              .case main .contents .contents_case--inner .box .phots dl dd {
                font-size: 11px;
                text-align: center;
                padding-top: 10px; }
      .case main .contents .outro {
        padding-bottom: 40px; }
        .case main .contents .outro dl {
          text-align: center;
          padding: 40px 0 0; }
          .case main .contents .outro dl dt {
            font-size: 16px; }
          .case main .contents .outro dl dd {
            font-size: 18px;
            padding-bottom: 10px;
            margin-top: 5px; }
        .case main .contents .outro .box {
          max-width: 90%;
          margin: 40px auto 0;
          display: block; }
          .case main .contents .outro .box .imgs {
            width: 100%;
            margin-bottom: 20px; }
          .case main .contents .outro .box .txt {
            width: 100%; }
      .case main .contents .underbox {
        max-width: 90%;
        margin: 40px auto; }
        .case main .contents .underbox .lead {
          text-align: center;
          font-size: 18px;
          margin-bottom: 40px; }
        .case main .contents .underbox .btns_area {
          margin-top: 40px;
          margin-bottom: 40px;
          display: block; }
          .case main .contents .underbox .btns_area .btns {
            width: 100%;
            margin: 0 auto 20px;
            font-size: 16px; }
      .case main .contents .produce {
        max-width: 90%;
        margin: 40px auto;
        border-top: 1px solid #808080;
        border-bottom: 1px solid #808080;
        padding: 20px 0;
        display: block;
        justify-content: space-between;
        align-items: center;
        position: relative; }
        .case main .contents .produce .img {
          width: 100%;
          margin-bottom: 15px; }
        .case main .contents .produce .box {
          width: 100%; }
          .case main .contents .produce .box p {
            font-size: 18px;
            padding-bottom: 10px; }
          .case main .contents .produce .box dt {
            font-size: 16px; }
          .case main .contents .produce .box dd {
            font-size: 12px; }
            .case main .contents .produce .box dd a {
              text-decoration: underline; }
        .case main .contents .produce .capt {
          position: inherit;
          text-align: center;
          bottom: -45px;
          right: 0;
          font-size: 11px;
          letter-spacing: 0; }
      .case main .contents .underimg {
        height: 170px;
        margin: 100px 0 -160px; }
        .case main .contents .underimg.back_01 {
          background: url("../images/case/case01/img_12.png") no-repeat center center/cover; } }
.solution main {
  display: block;
  margin-top: 90px; }
  .solution main .kv {
    margin: 0 auto;
    height: 400px; }
    .solution main .kv.system {
      background: url("../images/solution/back/back_1.png") no-repeat center center/cover; }
    .solution main .kv.ftth {
      background: url("../images/solution/back/back_2.png") no-repeat center center/cover; }
    .solution main .kv.fttc {
      background: url("../images/solution/back/back_3.png") no-repeat center center/cover; }
    .solution main .kv.data {
      background: url("../images/solution/back/back_4.png") no-repeat center center/cover; }
    .solution main .kv.network {
      background: url("../images/solution/back/back_5.png") no-repeat center center/cover; }
    .solution main .kv.wiFi {
      background: url("../images/solution/back/back_6.png") no-repeat center center/cover; }
    .solution main .kv.broadcast {
      background: url("../images/solution/back/back_7.png") no-repeat center center/cover; }
    .solution main .kv.digital {
      background: url("../images/solution/back/back_8.png") no-repeat center center/cover; }
    .solution main .kv h2 {
      font-size: 29px;
      line-height: 1;
      padding: 140px 0 0;
      position: relative;
      text-align: center;
      font-family: 'Noto Sans Japanese';
      font-weight: 500;
      color: #fff;
      letter-spacing: 0.16em; }
      .solution main .kv h2 span {
        display: block;
        font-family: 'Barlow Condensed',serif;
        font-weight: 500;
        font-size: 20px;
        letter-spacing: 0.1em;
        padding-bottom: 15px; }
  .solution main .contents {
    width: 100%;
    padding-bottom: 170px; }
    .solution main .contents .tabs {
      max-width: 1024px;
      margin: 0 auto -61px;
      position: relative;
      top: -61px;
      display: flex;
      justify-content: space-between;
      color: #b3b3b3;
      font-size: 16px;
      line-height: 1.8;
      letter-spacing: 0.1em;
      font-weight: 700; }
      .solution main .contents .tabs li {
        cursor: pointer;
        text-align: center;
        border-bottom: 2px solid #e95504;
        padding: 15px;
        background: #fff; }
        .solution main .contents .tabs li.active {
          background: #e95504;
          color: #fff; }
      .solution main .contents .tabs.half li {
        width: 49.8%; }
      .solution main .contents .tabs.trip li {
        width: 33.1%; }
    .solution main .contents .tabs_content {
      max-width: 1024px;
      padding: 0 70px;
      margin: 0 auto;
      background: #fff; }
      .solution main .contents .tabs_content .content {
        display: none; }
        .solution main .contents .tabs_content .content.show {
          display: block; }
        .solution main .contents .tabs_content .content--top {
          padding: 75px 0 0px; }
          .solution main .contents .tabs_content .content--top h3 {
            font-size: 22px;
            font-weight: 500;
            text-align: center;
            position: relative;
            padding-bottom: 15px; }
            .solution main .contents .tabs_content .content--top h3:after {
              position: absolute;
              content: "";
              width: 18px;
              border-bottom: 3px solid #e95504;
              bottom: 0;
              left: 50%;
              margin-left: -9px; }
          .solution main .contents .tabs_content .content--top h4 {
            font-size: 22px;
            font-weight: 500;
            text-align: center;
            line-height: 2;
            color: #e95504;
            padding: 25px 0; }
          .solution main .contents .tabs_content .content--top h5 {
            font-size: 14px;
            text-align: left;
            line-height: 2; }
            .solution main .contents .tabs_content .content--top h5 a {
              text-decoration: underline; }
          .solution main .contents .tabs_content .content--top .imgscenter {
            text-align: center;
            margin-top: 40px; }
        .solution main .contents .tabs_content .content--middle {
          font-size: 14px;
          line-height: 2; }
          .solution main .contents .tabs_content .content--middle .inner {
            padding-top: 80px; }
            .solution main .contents .tabs_content .content--middle .inner h4 {
              font-size: 18px;
              font-weight: 500;
              border-bottom: 1px solid #e95504;
              border-left: 10px solid #e95504;
              padding-left: 25px;
              padding-bottom: 5px;
              margin-bottom: 30px;
              color: #e95504; }
            .solution main .contents .tabs_content .content--middle .inner h5 {
              font-size: 18px;
              font-weight: 500;
              border-bottom: 1px solid #333333;
              border-left: 10px solid #333333;
              padding-left: 25px;
              padding-bottom: 5px;
              margin-bottom: 30px; }
            .solution main .contents .tabs_content .content--middle .inner .imgs {
              margin-top: 40px; }
            .solution main .contents .tabs_content .content--middle .inner .qa li {
              font-size: 16px;
              font-weight: 500;
              background: #e7f2f4;
              margin-bottom: 15px;
              padding: 10px 25px;
              border-left: 10px solid #fbc03b; }
              .solution main .contents .tabs_content .content--middle .inner .qa li:last-child {
                margin-bottom: 0; }
            .solution main .contents .tabs_content .content--middle .inner .photo {
              width: 100%;
              display: flex;
              align-items: center;
              justify-content: space-between; }
              .solution main .contents .tabs_content .content--middle .inner .photo p {
                width: 30%; }
              .solution main .contents .tabs_content .content--middle .inner .photo.half p {
                width: 50%;
                padding: 0 10%; }
            .solution main .contents .tabs_content .content--middle .inner .feature {
              width: 100%;
              display: flex;
              justify-content: space-between; }
              .solution main .contents .tabs_content .content--middle .inner .feature dl {
                width: 280px;
                height: 160px;
                background: #e7f2f4;
                position: relative;
                display: flex;
                align-items: center;
                justify-content: center; }
                .solution main .contents .tabs_content .content--middle .inner .feature dl dt {
                  font-family: 'Barlow Condensed',serif;
                  background: #fbc03b;
                  position: absolute;
                  left: 0;
                  top: 0;
                  width: 37px;
                  height: 37px;
                  line-height: 1;
                  font-size: 22px;
                  text-align: center;
                  padding-top: 5px; }
                .solution main .contents .tabs_content .content--middle .inner .feature dl dd {
                  font-size: 16px;
                  font-weight: 500;
                  padding: 0 30px;
                  text-align: center; }
              .solution main .contents .tabs_content .content--middle .inner .feature.wrap {
                flex-wrap: wrap; }
                .solution main .contents .tabs_content .content--middle .inner .feature.wrap dl {
                  height: 200px;
                  margin-bottom: 20px; }
                  .solution main .contents .tabs_content .content--middle .inner .feature.wrap dl dd {
                    text-align: left; }
                    .solution main .contents .tabs_content .content--middle .inner .feature.wrap dl dd span {
                      display: block;
                      font-size: 14px;
                      font-weight: 400;
                      line-height: 1.6;
                      margin-top: 5px; }
            .solution main .contents .tabs_content .content--middle .inner .system {
              margin-top: 25px; }
              .solution main .contents .tabs_content .content--middle .inner .system dl {
                width: 100%; }
                .solution main .contents .tabs_content .content--middle .inner .system dl dt {
                  font-size: 16px;
                  background: #fbc03b;
                  padding-left: 15px; }
                .solution main .contents .tabs_content .content--middle .inner .system dl dd {
                  padding: 25px 60px 40px; }
            .solution main .contents .tabs_content .content--middle .inner .list {
              margin-top: 40px; }
              .solution main .contents .tabs_content .content--middle .inner .list .lead {
                font-weight: 500;
                font-size: 16px;
                color: #e95504;
                border-bottom: 1px solid #e95504; }
              .solution main .contents .tabs_content .content--middle .inner .list ul {
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap;
                margin-top: 30px;
                padding-bottom: 15px; }
                .solution main .contents .tabs_content .content--middle .inner .list ul li {
                  width: 33%;
                  margin-top: 0.5%;
                  padding: 5px 0;
                  text-align: center;
                  background: #e7f2f4; }
            .solution main .contents .tabs_content .content--middle .inner .underlead {
              font-size: 18px;
              text-align: center;
              color: #e95504; }
              .solution main .contents .tabs_content .content--middle .inner .underlead.pt {
                padding-top: 20px; }
                .solution main .contents .tabs_content .content--middle .inner .underlead.pt a {
                  text-decoration: underline; }
              .solution main .contents .tabs_content .content--middle .inner .underlead .tabclick {
                color: #333;
                text-decoration: underline; }
            .solution main .contents .tabs_content .content--middle .inner .underlinks {
              font-size: 12px;
              text-align: center;
              padding-top: 5px; }
              .solution main .contents .tabs_content .content--middle .inner .underlinks a {
                color: #299cff; }
            .solution main .contents .tabs_content .content--middle .inner .sample {
              display: flex;
              justify-content: space-between;
              flex-wrap: wrap; }
              .solution main .contents .tabs_content .content--middle .inner .sample .box {
                width: 390px; }
                .solution main .contents .tabs_content .content--middle .inner .sample .box .lead {
                  font-weight: 500;
                  font-size: 15px;
                  background: #ffcc33;
                  border-radius: 5px;
                  text-align: center;
                  margin-bottom: 15px; }
                .solution main .contents .tabs_content .content--middle .inner .sample .box .imgs {
                  margin-top: 10px;
                  margin-bottom: 40px; }
                .solution main .contents .tabs_content .content--middle .inner .sample .box .img {
                  margin-bottom: 10px; }
                  .solution main .contents .tabs_content .content--middle .inner .sample .box .img.ml {
                    margin-left: -84px;
                    margin-top: -10px; }
                  .solution main .contents .tabs_content .content--middle .inner .sample .box .img.mt {
                    margin-top: -8px; }
                .solution main .contents .tabs_content .content--middle .inner .sample .box .txt {
                  text-align: center;
                  background: #fff5ae;
                  padding: 5px 0;
                  margin-bottom: 40px;
                  margin-top: 15px; }
                .solution main .contents .tabs_content .content--middle .inner .sample .box.wid {
                  width: 100%;
                  display: flex;
                  justify-content: space-between;
                  margin-top: 40px; }
                  .solution main .contents .tabs_content .content--middle .inner .sample .box.wid p {
                    font-family: 'Barlow Condensed',serif;
                    font-weight: 500;
                    font-size: 40px;
                    width: 40px;
                    line-height: 1; }
                  .solution main .contents .tabs_content .content--middle .inner .sample .box.wid dl {
                    width: calc(100% - 60px);
                    display: flex;
                    justify-content: space-between; }
                    .solution main .contents .tabs_content .content--middle .inner .sample .box.wid dl dt {
                      width: calc(100% - 400px); }
                    .solution main .contents .tabs_content .content--middle .inner .sample .box.wid dl dd {
                      width: 380px; }
            .solution main .contents .tabs_content .content--middle .inner .point_box .boxcont {
              width: 100%;
              display: flex;
              justify-content: flex-start;
              flex-wrap: wrap;
              margin-bottom: 15px; }
              .solution main .contents .tabs_content .content--middle .inner .point_box .boxcont dl {
                width: 30%;
                background: #e7f2f4;
                position: relative;
                margin-right: 5%;
                margin-bottom: 25px; }
                .solution main .contents .tabs_content .content--middle .inner .point_box .boxcont dl:nth-child(3) {
                  margin-right: 0; }
                .solution main .contents .tabs_content .content--middle .inner .point_box .boxcont dl dt {
                  font-family: 'Barlow Condensed',serif;
                  font-weight: 500;
                  font-size: 20px;
                  width: 100px;
                  position: absolute;
                  background: #fbc03b;
                  top: 0;
                  left: 0;
                  text-align: center; }
                .solution main .contents .tabs_content .content--middle .inner .point_box .boxcont dl dd {
                  padding: 80px 40px 60px 40px;
                  font-weight: 500; }
            .solution main .contents .tabs_content .content--middle .inner .point_box .btns {
              width: 420px;
              margin: 40px auto 0;
              font-size: 18px;
              font-weight: 500;
              background: #e95504;
              border-radius: 30px;
              letter-spacing: 0.1em;
              text-align: center; }
              .solution main .contents .tabs_content .content--middle .inner .point_box .btns a {
                display: block;
                color: #fff;
                padding: 15px 0;
                position: relative; }
                .solution main .contents .tabs_content .content--middle .inner .point_box .btns a:after {
                  position: absolute;
                  content: "";
                  width: 7px;
                  height: 7px;
                  border-top: 2px solid #fff;
                  border-right: 2px solid #fff;
                  right: 30px;
                  top: 50%;
                  margin-top: -5px;
                  transform: rotate(45deg); }
            .solution main .contents .tabs_content .content--middle .inner .flexs {
              display: flex;
              justify-content: space-between; }
              .solution main .contents .tabs_content .content--middle .inner .flexs .imgs {
                width: 300px; }
              .solution main .contents .tabs_content .content--middle .inner .flexs .txtbox {
                width: calc(100% - 350px); }
                .solution main .contents .tabs_content .content--middle .inner .flexs .txtbox .ttls {
                  font-size: 17px;
                  font-weight: 700;
                  color: #ff5900;
                  margin-bottom: 25px; }
                .solution main .contents .tabs_content .content--middle .inner .flexs .txtbox ul li {
                  width: 100%;
                  font-size: 16px;
                  font-weight: 500;
                  background: #e7f2f4;
                  margin-bottom: 15px;
                  padding: 10px 25px;
                  border-left: 10px solid #fbc03b; }
                  .solution main .contents .tabs_content .content--middle .inner .flexs .txtbox ul li:last-child {
                    margin-bottom: 0; }
            .solution main .contents .tabs_content .content--middle .inner .lead_02 {
              background: #fbc03b;
              margin-top: 40px;
              text-align: center;
              font-size: 17px; }
            .solution main .contents .tabs_content .content--middle .inner .list_02 {
              display: flex;
              flex-wrap: wrap; }
              .solution main .contents .tabs_content .content--middle .inner .list_02 li {
                width: 30%;
                font-size: 16px;
                font-weight: 500;
                background: #e7f2f4;
                text-align: center;
                margin-right: 5%;
                margin-top: 2%;
                padding: 5px 0; }
                .solution main .contents .tabs_content .content--middle .inner .list_02 li:nth-child(3) {
                  margin-right: 0; }
            .solution main .contents .tabs_content .content--middle .inner .capt {
              text-align: right;
              padding-top: 15px; }
            .solution main .contents .tabs_content .content--middle .inner .last_messa {
              text-align: center;
              border: 1px solid #e95504;
              padding: 25px 0;
              margin-top: 35px; }
              .solution main .contents .tabs_content .content--middle .inner .last_messa dt {
                font-size: 30px;
                color: #e95504;
                line-height: 1.6; }
            .solution main .contents .tabs_content .content--middle .inner--comment .box {
              display: flex;
              justify-content: space-between;
              align-items: center;
              padding-top: 40px; }
              .solution main .contents .tabs_content .content--middle .inner--comment .box.rev {
                flex-direction: row-reverse; }
              .solution main .contents .tabs_content .content--middle .inner--comment .box span {
                font-weight: 700; }
              .solution main .contents .tabs_content .content--middle .inner--comment .box .txt {
                width: 700px;
                background: #fff5ae;
                border-radius: 10px;
                padding: 25px;
                position: relative; }
                .solution main .contents .tabs_content .content--middle .inner--comment .box .txt:after {
                  position: absolute;
                  content: "";
                  top: 50%;
                  margin-top: -15px;
                  right: -24px;
                  left: auto;
                  width: 0;
                  height: 0;
                  border-style: solid;
                  border-width: 24px 0 0 33px;
                  border-color: transparent transparent transparent #fff5ae; }
                .solution main .contents .tabs_content .content--middle .inner--comment .box .txt.cl01 {
                  background: #d6ebff;
                  position: relative; }
                  .solution main .contents .tabs_content .content--middle .inner--comment .box .txt.cl01:after {
                    position: absolute;
                    content: "";
                    top: 50%;
                    margin-top: -15px;
                    left: -24px;
                    width: 0;
                    height: 0;
                    border-style: solid;
                    border-width: 0 0 24px 33px;
                    border-color: transparent transparent #d6ebff transparent; }
              .solution main .contents .tabs_content .content--middle .inner--comment .box dl {
                width: 140px;
                text-align: center; }
                .solution main .contents .tabs_content .content--middle .inner--comment .box dl dt {
                  height: 105px; }
                  .solution main .contents .tabs_content .content--middle .inner--comment .box dl dt img {
                    height: 100%;
                    width: auto; }
                .solution main .contents .tabs_content .content--middle .inner--comment .box dl dd {
                  font-size: 13px;
                  margin-top: 5px; }
            .solution main .contents .tabs_content .content--middle .inner .leads {
              padding-bottom: 20px; }
              .solution main .contents .tabs_content .content--middle .inner .leads span {
                font-weight: 700; }
          .solution main .contents .tabs_content .content--middle .dels {
            background: #ffcc33;
            margin-top: 50px;
            padding: 25px; }
            .solution main .contents .tabs_content .content--middle .dels .inners {
              display: flex;
              justify-content: space-between; }
              .solution main .contents .tabs_content .content--middle .dels .inners .imgs {
                width: 325px; }
              .solution main .contents .tabs_content .content--middle .dels .inners .box {
                width: calc(100% - 350px); }
                .solution main .contents .tabs_content .content--middle .dels .inners .box h5 {
                  position: relative;
                  color: #e95504;
                  font-size: 19px;
                  font-weight: 500;
                  border-bottom: 1px solid #333;
                  padding-left: 70px;
                  padding-bottom: 10px;
                  margin-bottom: 15px; }
                  .solution main .contents .tabs_content .content--middle .dels .inners .box h5 span {
                    position: absolute;
                    width: 103px;
                    left: -50px;
                    top: -40px; }
        .solution main .contents .tabs_content .content .btns_area {
          margin-top: 80px;
          margin-bottom: 80px;
          display: flex;
          align-items: center;
          justify-content: center; }
          .solution main .contents .tabs_content .content .btns_area .btns {
            width: 420px;
            margin: 0 20px;
            font-size: 18px;
            font-weight: 500;
            background: #e95504;
            border-radius: 30px;
            letter-spacing: 0.1em;
            text-align: center; }
            .solution main .contents .tabs_content .content .btns_area .btns a {
              display: block;
              color: #fff;
              padding: 15px 0;
              position: relative; }
              .solution main .contents .tabs_content .content .btns_area .btns a:after {
                position: absolute;
                content: "";
                width: 7px;
                height: 7px;
                border-top: 2px solid #fff;
                border-right: 2px solid #fff;
                right: 30px;
                top: 50%;
                margin-top: -5px;
                transform: rotate(45deg); }
    .solution main .contents .innerflex {
      max-width: 1024px;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      flex-wrap: wrap; }
      .solution main .contents .innerflex h3 {
        width: 100%;
        font-family: 'Barlow Condensed',serif;
        font-weight: 500;
        font-size: 30px;
        color: #e95504;
        letter-spacing: 0.1em;
        padding-top: 40px;
        text-align: center; }
      .solution main .contents .innerflex h4 {
        font-size: 14px;
        position: relative;
        padding-top: 15px;
        padding-left: 15px;
        letter-spacing: 0.12em; }
        .solution main .contents .innerflex h4:after {
          position: absolute;
          content: "";
          height: 17px;
          border-left: 3px solid #e95504;
          left: 0;
          bottom: 3px; }
      .solution main .contents .innerflex .box {
        width: 240px;
        margin-top: 40px; }
        .solution main .contents .innerflex .box .listarea {
          width: 100%;
          display: flex;
          font-size: 14px;
          margin-top: 10px; }
          .solution main .contents .innerflex .box .listarea ul {
            width: 50%;
            line-height: 1.4; }
            .solution main .contents .innerflex .box .listarea ul.wid {
              width: 100%; }
            .solution main .contents .innerflex .box .listarea ul li {
              position: relative;
              padding: 2px 0;
              padding-left: 25px; }
              .solution main .contents .innerflex .box .listarea ul li a {
                display: block; }
                .solution main .contents .innerflex .box .listarea ul li a:before, .solution main .contents .innerflex .box .listarea ul li a:after {
                  position: absolute;
                  content: ""; }
                .solution main .contents .innerflex .box .listarea ul li a:before {
                  border-bottom: 1px solid #e95504;
                  width: 15px;
                  top: 50%;
                  left: 0px; }
                .solution main .contents .innerflex .box .listarea ul li a:after {
                  width: 0;
                  height: 0;
                  border-style: solid;
                  border-width: 4px 0 0 8px;
                  border-color: transparent transparent transparent #e95504;
                  left: 9px;
                  top: 50%;
                  margin-top: -3px; }

@media screen and (max-width: 767px) {
  .solution main {
    margin-top: 50px; }
    .solution main .kv {
      height: 200px; }
      .solution main .kv h2 {
        font-size: 22px;
        line-height: 1.4;
        padding: 70px 0 0; }
        .solution main .kv h2 span {
          font-size: 18px;
          padding-bottom: 10px; }
    .solution main .contents {
      width: 100%;
      padding: 0px 0 80px; }
      .solution main .contents .tabs {
        max-width: 100%;
        margin: 0 auto 0px;
        top: 0px; }
        .solution main .contents .tabs li {
          padding: 15px 0;
          line-height: 1.4; }
        .solution main .contents .tabs.half li {
          width: 50%; }
        .solution main .contents .tabs.trip li {
          width: 33.333%; }
      .solution main .contents .tabs_content {
        max-width: 90%;
        padding: 0 0px;
        margin: 0 auto;
        background: #fff; }
        .solution main .contents .tabs_content .content {
          display: none; }
          .solution main .contents .tabs_content .content.show {
            display: block; }
          .solution main .contents .tabs_content .content--top {
            padding: 40px 0 0px; }
            .solution main .contents .tabs_content .content--top h3 {
              font-size: 20px; }
            .solution main .contents .tabs_content .content--top h4 {
              font-size: 18px; }
            .solution main .contents .tabs_content .content--top .imgscenter {
              margin-top: 40px; }
          .solution main .contents .tabs_content .content--middle {
            font-size: 14px;
            line-height: 2; }
            .solution main .contents .tabs_content .content--middle .inner {
              padding-top: 40px; }
              .solution main .contents .tabs_content .content--middle .inner h4 {
                font-size: 16px; }
              .solution main .contents .tabs_content .content--middle .inner h5 {
                font-size: 16px; }
              .solution main .contents .tabs_content .content--middle .inner .imgs {
                margin-top: 40px; }
              .solution main .contents .tabs_content .content--middle .inner .qa li {
                font-size: 14px; }
              .solution main .contents .tabs_content .content--middle .inner .photo {
                width: 100%; }
                .solution main .contents .tabs_content .content--middle .inner .photo p {
                  width: 33%; }
                .solution main .contents .tabs_content .content--middle .inner .photo.half p {
                  width: 50%;
                  padding: 0 3%; }
              .solution main .contents .tabs_content .content--middle .inner .feature {
                width: 100%;
                display: block; }
                .solution main .contents .tabs_content .content--middle .inner .feature dl {
                  width: 100%;
                  height: 100px;
                  margin-bottom: 15px; }
                .solution main .contents .tabs_content .content--middle .inner .feature.wrap {
                  flex-wrap: wrap; }
                  .solution main .contents .tabs_content .content--middle .inner .feature.wrap dl {
                    height: 170px;
                    margin-bottom: 15px; }
                    .solution main .contents .tabs_content .content--middle .inner .feature.wrap dl dd {
                      text-align: left; }
              .solution main .contents .tabs_content .content--middle .inner .system dl {
                width: 100%; }
                .solution main .contents .tabs_content .content--middle .inner .system dl dt {
                  font-size: 16px;
                  background: #fbc03b;
                  padding-left: 15px; }
                .solution main .contents .tabs_content .content--middle .inner .system dl dd {
                  padding: 25px 60px 40px; }
              .solution main .contents .tabs_content .content--middle .inner .list ul {
                display: flex;
                flex-wrap: wrap; }
                .solution main .contents .tabs_content .content--middle .inner .list ul li {
                  width: 49.5%; }
              .solution main .contents .tabs_content .content--middle .inner .underlead {
                font-size: 16px;
                text-align: center;
                color: #e95504; }
                .solution main .contents .tabs_content .content--middle .inner .underlead.pt {
                  padding-top: 20px; }
              .solution main .contents .tabs_content .content--middle .inner .underlinks {
                font-size: 12px;
                text-align: center;
                padding-top: 5px; }
                .solution main .contents .tabs_content .content--middle .inner .underlinks a {
                  color: #299cff; }
              .solution main .contents .tabs_content .content--middle .inner .sample {
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap; }
                .solution main .contents .tabs_content .content--middle .inner .sample .box {
                  width: 390px; }
                  .solution main .contents .tabs_content .content--middle .inner .sample .box .lead {
                    font-weight: 500;
                    font-size: 15px;
                    background: #ffcc33;
                    border-radius: 5px;
                    text-align: center;
                    margin-bottom: 15px; }
                  .solution main .contents .tabs_content .content--middle .inner .sample .box .imgs {
                    margin-top: 10px;
                    margin-bottom: 40px; }
                  .solution main .contents .tabs_content .content--middle .inner .sample .box .img {
                    margin-bottom: 10px; }
                    .solution main .contents .tabs_content .content--middle .inner .sample .box .img.ml {
                      margin-left: -84px;
                      margin-top: -10px; }
                    .solution main .contents .tabs_content .content--middle .inner .sample .box .img.mt {
                      margin-top: -8px; }
                  .solution main .contents .tabs_content .content--middle .inner .sample .box .txt {
                    text-align: center;
                    background: #fff5ae;
                    padding: 5px 0;
                    margin-bottom: 40px;
                    margin-top: 15px; }
                  .solution main .contents .tabs_content .content--middle .inner .sample .box.wid {
                    width: 100%;
                    display: block;
                    justify-content: space-between;
                    margin-top: 20px; }
                    .solution main .contents .tabs_content .content--middle .inner .sample .box.wid p {
                      width: 100%;
                      text-align: center;
                      margin-bottom: 15px; }
                    .solution main .contents .tabs_content .content--middle .inner .sample .box.wid dl {
                      width: 100%;
                      display: block; }
                      .solution main .contents .tabs_content .content--middle .inner .sample .box.wid dl dt {
                        width: 100%; }
                      .solution main .contents .tabs_content .content--middle .inner .sample .box.wid dl dd {
                        width: 100%;
                        margin-top: 20px; }
              .solution main .contents .tabs_content .content--middle .inner .point_box .boxcont {
                width: 100%;
                display: block; }
                .solution main .contents .tabs_content .content--middle .inner .point_box .boxcont dl {
                  width: 100%;
                  margin-right: 0%; }
                  .solution main .contents .tabs_content .content--middle .inner .point_box .boxcont dl:nth-child(3) {
                    margin-right: 0; }
                  .solution main .contents .tabs_content .content--middle .inner .point_box .boxcont dl dd {
                    padding: 60px 40px 20px;
                    font-weight: 500; }
              .solution main .contents .tabs_content .content--middle .inner .point_box .btns {
                width: 100%;
                font-size: 16px; }
              .solution main .contents .tabs_content .content--middle .inner .flexs {
                display: block; }
                .solution main .contents .tabs_content .content--middle .inner .flexs .imgs {
                  width: 250px;
                  margin: 0 auto 15px; }
                .solution main .contents .tabs_content .content--middle .inner .flexs .txtbox {
                  width: 100%; }
                  .solution main .contents .tabs_content .content--middle .inner .flexs .txtbox .ttls {
                    font-size: 16px;
                    text-align: center; }
                  .solution main .contents .tabs_content .content--middle .inner .flexs .txtbox ul li {
                    font-size: 14px; }
              .solution main .contents .tabs_content .content--middle .inner .lead_02 {
                font-size: 16px; }
              .solution main .contents .tabs_content .content--middle .inner .list_02 {
                display: flex;
                flex-wrap: wrap; }
                .solution main .contents .tabs_content .content--middle .inner .list_02 li {
                  width: 49%;
                  font-size: 14px;
                  margin: 1% 0.5%;
                  padding: 5px 0px; }
                  .solution main .contents .tabs_content .content--middle .inner .list_02 li:nth-child(3) {
                    margin-right: 0.5%; }
              .solution main .contents .tabs_content .content--middle .inner .capt {
                font-size: 12px; }
              .solution main .contents .tabs_content .content--middle .inner .last_messa dt {
                font-size: 24px; }
              .solution main .contents .tabs_content .content--middle .inner--comment .box {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding-top: 0px;
                margin-bottom: 10px; }
                .solution main .contents .tabs_content .content--middle .inner--comment .box.rev {
                  flex-direction: row-reverse; }
                .solution main .contents .tabs_content .content--middle .inner--comment .box .txt {
                  width: calc(100% - 140px);
                  padding: 20px;
                  line-height: 1.6;
                  font-size: 12px;
                  text-align: justify; }
                .solution main .contents .tabs_content .content--middle .inner--comment .box dl {
                  width: 140px;
                  text-align: center; }
              .solution main .contents .tabs_content .content--middle .inner .leads {
                padding-bottom: 20px; }
            .solution main .contents .tabs_content .content--middle .dels {
              padding: 25px; }
              .solution main .contents .tabs_content .content--middle .dels .inners {
                display: block; }
                .solution main .contents .tabs_content .content--middle .dels .inners .imgs {
                  width: 100%;
                  margin-top: 15px; }
                .solution main .contents .tabs_content .content--middle .dels .inners .box {
                  width: 100%; }
                  .solution main .contents .tabs_content .content--middle .dels .inners .box h5 {
                    font-size: 16px;
                    font-weight: 500;
                    border-bottom: 1px solid #333;
                    padding-left: 70px;
                    padding-bottom: 10px;
                    margin-bottom: 15px; }
                    .solution main .contents .tabs_content .content--middle .dels .inners .box h5 span {
                      position: absolute;
                      width: 80px;
                      left: -30px;
                      top: -18px; }
          .solution main .contents .tabs_content .content .btns_area {
            margin-top: 40px;
            margin-bottom: 60px;
            display: block; }
            .solution main .contents .tabs_content .content .btns_area .btns {
              width: 100%;
              margin: 0 0px 15px; } }
.contact main {
  display: block;
  margin-top: 90px; }
  .contact main .contents {
    padding: 0 0 170px;
    font-size: 14px;
    letter-spacing: 0.12em;
    line-height: 1.8; }
    .contact main .contents--box {
      max-width: 880px;
      margin: 0 auto;
      padding-top: 60px; }
      .contact main .contents--box .h2 {
        font-size: 18px;
        font-weight: 500;
        text-align: center;
        position: relative;
        padding-bottom: 15px;
        letter-spacing: 0.12em; }
        .contact main .contents--box .h2:after {
          position: absolute;
          content: "";
          width: 18px;
          border-bottom: 3px solid #e95504;
          left: 50%;
          bottom: 0;
          margin-left: -9px; }
      .contact main .contents--box--inner .txtstop {
        padding: 60px 0 0; }
        .contact main .contents--box--inner .txtstop.ed {
          padding-bottom: 150px; }
      .contact main .contents--box--inner .capbox {
        padding: 60px 0; }
        .contact main .contents--box--inner .capbox li {
          list-style: disc;
          margin-left: 20px;
          margin-bottom: 5px; }
          .contact main .contents--box--inner .capbox li a {
            text-decoration: underline; }
      .contact main .contents--box .underprivacy {
        max-width: 880px;
        margin: 50px auto;
        font-size: 14px;
        font-weight: 400;
        line-height: 2; }
        .contact main .contents--box .underprivacy .top {
          font-size: 15px;
          border-bottom: 1px solid #ccc; }
        .contact main .contents--box .underprivacy ul {
          margin: 20px 0; }
          .contact main .contents--box .underprivacy ul li {
            font-size: 13px;
            list-style: decimal;
            margin-left: 25px;
            line-height: 1.8; }
      .contact main .contents--box .formbox dl {
        display: flex;
        align-items: stretch;
        align-content: center;
        justify-content: space-between;
        border-top: 1px dashed #9ea8b6; }
        .contact main .contents--box .formbox dl.nb {
          border-top: none; }
        .contact main .contents--box .formbox dl dt {
          width: 260px;
          background: rgba(185, 192, 202, 0.2);
          font-weight: 700;
          padding: 20px 35px; }
          .contact main .contents--box .formbox dl dt span {
            color: red; }
            .contact main .contents--box .formbox dl dt span.required {
              display: none; }
            .contact main .contents--box .formbox dl dt span.optional {
              display: none; }
          .contact main .contents--box .formbox dl dt.paddingr {
            padding-right: 70px; }
        .contact main .contents--box .formbox dl dd {
          width: calc(100% - 260px);
          padding: 20px 35px;
          font-weight: 700; }
          .contact main .contents--box .formbox dl dd span {
            font-size: 12px;
            font-weight: 500; }
            .contact main .contents--box .formbox dl dd span.fb {
              font-size: 14px;
              font-weight: 700;
              margin-bottom: 15px; }
          .contact main .contents--box .formbox dl dd .error_blank {
            display: block;
            font-weight: 400;
            color: red; }
          .contact main .contents--box .formbox dl dd input {
            font: 15px/24px sans-serif;
            box-sizing: border-box;
            width: 100%;
            padding: 0.3em;
            transition: 0.3s;
            letter-spacing: 1px;
            border: 1px solid #ccc; }
            .contact main .contents--box .formbox dl dd input.wid01 {
              width: 40%; }
          .contact main .contents--box .formbox dl dd input[type="radio"] {
            font: 15px/24px sans-serif;
            box-sizing: border-box;
            width: 40px;
            transition: 0.3s;
            letter-spacing: 1px;
            border: 1px solid #ccc; }
          .contact main .contents--box .formbox dl dd textarea {
            resize: none;
            font: 15px/24px sans-serif;
            box-sizing: border-box;
            width: 100%;
            height: 165px;
            padding: 0.3em;
            transition: 0.3s;
            letter-spacing: 1px;
            border: 1px solid #ccc;
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none; }
          .contact main .contents--box .formbox dl dd p:nth-child(2) {
            margin: 8px 0; }
          .contact main .contents--box .formbox dl dd select {
            width: 20%;
            outline: none;
            height: 40px;
            padding: 5px;
            border: 1px solid #ccc;
            background-color: #fff; }
          .contact main .contents--box .formbox dl dd label {
            width: 50%; }
            .contact main .contents--box .formbox dl dd label span {
              display: inline-block;
              position: relative;
              top: -2px;
              left: -5px; }
          .contact main .contents--box .formbox dl dd ul {
            display: flex;
            align-items: center; }
            .contact main .contents--box .formbox dl dd ul li:nth-child(odd) {
              width: 20px; }
            .contact main .contents--box .formbox dl dd ul li:nth-child(2) {
              margin-right: 15px; }
            .contact main .contents--box .formbox dl dd ul li.wid01 {
              width: 100%; }
            .contact main .contents--box .formbox dl dd ul li.wid {
              width: 35px; }
            .contact main .contents--box .formbox dl dd ul.rd li:first-child {
              width: 100px; }
            .contact main .contents--box .formbox dl dd ul.rd li:last-child {
              width: 100px; }
            .contact main .contents--box .formbox dl dd ul.rd input {
              width: 30px; }
            .contact main .contents--box .formbox dl dd ul.rd02 li:first-child {
              width: 250px; }
            .contact main .contents--box .formbox dl dd ul.rd02 li:last-child {
              width: 250px; }
            .contact main .contents--box .formbox dl dd ul.pst {
              display: block; }
              .contact main .contents--box .formbox dl dd ul.pst li span {
                display: inline-block;
                position: relative;
                top: 2px;
                left: -5px; }
              .contact main .contents--box .formbox dl dd ul.pst li:first-child {
                width: 150px;
                display: flex; }
              .contact main .contents--box .formbox dl dd ul.pst li:nth-child(2) {
                width: 100%;
                margin: 15px 0; }
            .contact main .contents--box .formbox dl dd ul.check {
              display: block; }
              .contact main .contents--box .formbox dl dd ul.check li {
                width: 100%;
                display: flex; }
                .contact main .contents--box .formbox dl dd ul.check li label {
                  display: inline-block;
                  width: 100%; }
                  .contact main .contents--box .formbox dl dd ul.check li label input {
                    width: 25px; }
      .contact main .contents--box .under_text {
        text-align: center;
        padding: 40px 0; }
      .contact main .contents--box .submitarea {
        width: 600px;
        margin: 0px auto 15px;
        position: relative; }
        .contact main .contents--box .submitarea:before, .contact main .contents--box .submitarea:after {
          position: absolute;
          content: ""; }
        .contact main .contents--box .submitarea:before {
          width: 30px;
          right: 20px;
          border-bottom: 1px solid #fff;
          top: 50%;
          margin-top: 2px; }
        .contact main .contents--box .submitarea:after {
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 5px 0 0 10px;
          border-color: transparent transparent transparent #fff;
          right: 19px;
          top: 50%;
          margin-top: -2px; }
      .contact main .contents--box .entrybtns {
        cursor: pointer;
        width: 100%;
        text-align: center;
        font-weight: 700;
        font-size: 24px;
        background: #e95504;
        letter-spacing: 0.1em;
        display: block;
        color: #fff;
        text-decoration: none;
        padding: 20px 0;
        border: none; }
        .contact main .contents--box .entrybtns:focus {
          outline: none; }

@media screen and (max-width: 767px) {
  .contact main {
    margin-top: 50px; }
    .contact main .contents {
      padding: 0 0 90px; }
      .contact main .contents--box {
        max-width: 90%;
        margin: 0 auto;
        padding-top: 20px; }
        .contact main .contents--box .h2 {
          font-size: 16px;
          padding-top: 40px; }
        .contact main .contents--box--inner .txtstop {
          padding: 50px 0 0; }
          .contact main .contents--box--inner .txtstop.ed {
            padding-bottom: 50px; }
        .contact main .contents--box--inner .capbox {
          padding: 30px 0; }
        .contact main .contents--box .formbox dl {
          display: block;
          border-top: none; }
          .contact main .contents--box .formbox dl.nb {
            border-top: none; }
          .contact main .contents--box .formbox dl dt {
            width: 100%;
            padding: 10px 0px;
            padding-left: 15px; }
            .contact main .contents--box .formbox dl dt.paddingr {
              padding-right: 0px; }
          .contact main .contents--box .formbox dl dd {
            width: 100%;
            padding: 20px 0px; }
            .contact main .contents--box .formbox dl dd span {
              font-size: 12px;
              font-weight: 500; }
              .contact main .contents--box .formbox dl dd span.fb {
                font-size: 14px;
                font-weight: 700;
                margin-bottom: 15px; }
            .contact main .contents--box .formbox dl dd .error_blank {
              display: block;
              font-weight: 400;
              color: red; }
            .contact main .contents--box .formbox dl dd p:nth-child(2) {
              margin: 8px 0; }
            .contact main .contents--box .formbox dl dd select {
              width: 20%;
              outline: none;
              height: 40px;
              padding: 5px;
              border: 1px solid #ccc;
              background-color: #fff; }
            .contact main .contents--box .formbox dl dd label {
              width: 50%; }
              .contact main .contents--box .formbox dl dd label span {
                display: inline-block;
                position: relative;
                top: -2px;
                left: -5px; }
            .contact main .contents--box .formbox dl dd ul {
              display: flex;
              align-items: center; }
              .contact main .contents--box .formbox dl dd ul li:nth-child(odd) {
                width: 20px; }
              .contact main .contents--box .formbox dl dd ul li:nth-child(2) {
                margin-right: 15px; }
              .contact main .contents--box .formbox dl dd ul li.wid01 {
                width: 100%; }
              .contact main .contents--box .formbox dl dd ul.rd li:first-child {
                width: 100px; }
              .contact main .contents--box .formbox dl dd ul.rd li:last-child {
                width: 100px; }
              .contact main .contents--box .formbox dl dd ul.rd input {
                width: 30px; }
              .contact main .contents--box .formbox dl dd ul.rd02 li:first-child {
                width: 250px; }
              .contact main .contents--box .formbox dl dd ul.rd02 li:last-child {
                width: 250px; }
              .contact main .contents--box .formbox dl dd ul.pst {
                display: block; }
                .contact main .contents--box .formbox dl dd ul.pst li span {
                  display: inline-block;
                  position: relative;
                  top: 2px;
                  left: -5px; }
                .contact main .contents--box .formbox dl dd ul.pst li:first-child {
                  width: 150px;
                  display: flex; }
                .contact main .contents--box .formbox dl dd ul.pst li:nth-child(2) {
                  width: 100%;
                  margin: 15px 0; }
              .contact main .contents--box .formbox dl dd ul.check {
                display: block; }
                .contact main .contents--box .formbox dl dd ul.check li {
                  width: 100%;
                  display: flex; }
                  .contact main .contents--box .formbox dl dd ul.check li label {
                    display: inline-block;
                    width: 100%; }
                    .contact main .contents--box .formbox dl dd ul.check li label input {
                      width: 25px; }
        .contact main .contents--box .under_text {
          text-align: left;
          padding: 20px 0; }
        .contact main .contents--box .submitarea {
          width: 100%; }
        .contact main .contents--box .entrybtns {
          font-size: 16px;
          padding: 10px 0;
          border: none;
          -webkit-appearance: none; }
          .contact main .contents--box .entrybtns:focus {
            outline: none; } }
