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

article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display: block;
}

ul, ol {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

img {
  font-size: 0;
  line-height: 0;
}

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

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  font-weight: bold;
  font-style: italic;
  color: #000;
}

del {
  text-decoration: line-through;
}

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

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

fieldset, img {
  line-height: 0;
  vertical-align: top;
}

hr {
  display: none;
}

input, select {
  vertical-align: middle;
}

* {
  margin: 0;
  padding: 0;
}

img {
  vertical-align: bottom;
}

html, body {
  width: 100%;
  height: 100%;
}

ul, li {
  list-style: none;
}

b {
  font-weight: bold;
}

iframe {
  border: none;
  outline: none;
}

/* ==========================================================================
  Animation
  ========================================================================== */
.anim-fadeout {
  -webkit-animation: fadeIn 0.2s 0.2s both ease-out;
          animation: fadeIn 0.2s 0.2s both ease-out;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 1;
    transform: translate(0, 0);
  }
  100% {
    opacity: 0;
    transform: translate(0, 0);
  }
}

@keyframes fadeIn {
  0% {
    opacity: 1;
    transform: translate(0, 0);
  }
  100% {
    opacity: 0;
    transform: translate(0, 0);
  }
}
.anim-fadein {
  opacity: 0;
}

.anim-fadein.is-show {
  -webkit-animation: fadeIn 0.8s 0.2s both ease-out;
          animation: fadeIn 0.8s 0.2s both ease-out;
}

@keyframes fadeIn {
  0% {
    transform: translate(0, 30px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.anim-slidein-l {
  opacity: 0;
}

.anim-slidein-l.is-show {
  -webkit-animation: slideInL 0.8s 0.2s both ease-out;
          animation: slideInL 0.8s 0.2s both ease-out;
}

@-webkit-keyframes slideInL {
  0% {
    transform: translate(-10vw, 0);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

@keyframes slideInL {
  0% {
    transform: translate(-10vw, 0);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.anim-slidein-r {
  opacity: 0;
}

.anim-slidein-r.is-show {
  -webkit-animation: slideInR 0.8s 0.2s both ease-out;
          animation: slideInR 0.8s 0.2s both ease-out;
}

@-webkit-keyframes slideInR {
  0% {
    transform: translate(10vw, 0);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

@keyframes slideInR {
  0% {
    transform: translate(10vw, 0);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
/* ==========================================================================
  Include
  ========================================================================== */
/* ==========================================================================
  Base
  ========================================================================== */
* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  background: #fff;
}

body {
  color: #000;
  font-size: 1.6em;
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", "Noto Sans JP", Verdana, Meiryo, sans-serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media screen and (min-width: 769px) {
  body {
    min-width: 1024px;
  }
}
@media screen and (max-width: 768px) {
  body {
    font-size: 1.4em;
  }
}

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

::-moz-selection {
  background: #127ACC;
  color: #fff;
}

::selection {
  background: #127ACC;
  color: #fff;
}

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

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

.nolink {
  cursor: default;
}
.nolink:hover {
  opacity: 1 !important;
}

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

a {
  color: #000;
  text-decoration: none;
}

@media screen and (min-width: 769px) {
  a, img {
    transition: 0.2s linear;
  }
  a:hover img, img:hover img {
    opacity: 0.8;
  }
}
.l-main a.btn {
  text-decoration: none;
}
.l-main a.btn:hover {
  text-decoration: none;
}

.l-main p a,
.l-main table td a {
  color: #127ACC;
}
@media screen and (min-width: 769px) {
  .l-main p a:hover,
.l-main table td a:hover {
    color: #64A8DE;
    text-decoration: none;
  }
}

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

sup {
  vertical-align: top;
  top: -0.1em;
}

sub {
  vertical-align: bottom;
  bottom: -0.1em;
}

em {
  font-style: italic;
}

/* ==========================================================================
Layout
========================================================================== */
.l-wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  background: #fff;
}

.l-main {
  padding-top: 130px;
}
@media screen and (max-width: 768px) {
  .l-main {
    padding-top: 55px;
  }
}
.l-main.l-main-blue {
  background: #E7F3FC;
}

.l-section {
  position: relative;
  padding: 80px 0;
}
@media screen and (max-width: 768px) {
  .l-section {
    padding: 40px 0;
  }
}

.l-inner {
  position: relative;
  max-width: 1024px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .l-inner {
    width: 100%;
    padding: 0 2.5%;
    min-width: inherit;
  }
}

@media screen and (max-width: 768px) {
  .l-inner.l-inner-wide {
    width: 100%;
    padding: 0;
  }
}

/* ==========================================================================
Header / Footer
========================================================================== */
.l-header {
  width: 100%;
  background: #fff;
  position: fixed;
  z-index: 11;
}
.l-header .header-inner {
  width: 100%;
  position: relative;
}

@media screen and (min-width: 769px) {
  .l-header {
    padding: 35px 0;
    height: 130px;
  }
  .l-header .logo {
    position: absolute;
    top: -15px;
    right: auto;
    bottom: auto;
    left: 1.5%;
    margin: auto;
    width: 105px;
    height: 50px;
    z-index: 12;
  }
  .l-header .function {
    margin-bottom: 12px;
    padding-right: 1.5%;
  }
  .l-header .function ul {
    display: flex;
    justify-content: flex-end;
  }
  .l-header .function ul li a {
    display: block;
    padding: 5px 15px;
    font-size: 1.6rem;
  }
  .l-header .function ul li.function-lang {
    border-right: 1px solid #000;
  }
  .l-header .function ul li.function-searchbox {
    margin-left: 30px;
    position: relative;
  }
  .l-header .function ul li.function-searchbox label {
    display: block;
    font-size: 0;
    line-height: 0;
  }
  .l-header .function ul li.function-searchbox input {
    min-width: 200px;
    padding: 7px 10px;
    background-color: #f5f5f5;
    border: none;
    border-radius: 4px;
  }
  .l-header .function ul li.function-searchbox .searchmark {
    position: absolute;
    background: url(../images/common/icon-search.png) no-repeat;
    background-size: 16px auto;
    width: 16px;
    height: 16px;
    border: none;
    border-radius: 2px;
    left: auto;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto 0 auto auto;
    cursor: pointer;
  }
  .l-header .function ul li.function-searchbox .searchmark:hover {
    opacity: 0.5;
  }
}
@media screen and (max-width: 768px) {
  .l-header {
    padding: 10px 10px;
    height: 55px;
  }
  .l-header .logo {
    position: absolute;
    top: 5px;
    right: auto;
    bottom: auto;
    left: 10px;
    margin: auto;
    width: 134px;
    height: 31.3333333333px;
    z-index: 12;
  }
  .l-header .function {
    position: absolute;
    top: 5px;
    right: 54px;
  }
  .l-header .function ul {
    display: flex;
    justify-content: flex-end;
  }
  .l-header .function ul li {
    margin-left: 15px;
    width: 32px;
    height: 32px;
  }
  .l-header .function ul li a {
    display: block;
    text-indent: -9999px;
  }
  .l-header .function ul li.function-lang a {
    background: url(../images/common/icon-language.png) center center no-repeat;
    background-size: 100% 100%;
  }
  .l-header .function ul li.function-contact a {
    background: url(../images/common/icon-mail.png) center center no-repeat;
    background-size: 100% 100%;
  }
  .l-header .function ul li.function-searchbox {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .l-header .gnav {
    width: 100%;
  }
  .l-header .gnav .menu-close {
    display: none;
    opacity: 0;
    position: absolute;
    text-align: center;
    right: 1.5%;
    top: 145px;
    width: 150px;
    height: 26px;
    border-radius: 13px;
    background: #fff;
    border: 1px solid #707070;
    z-index: 99;
    text-align: center;
    cursor: pointer;
    transition: 0.25s ease-out;
  }
  .l-header .gnav .menu-close span {
    display: inline-block;
    vertical-align: middle;
    color: #707070;
    font-size: 14px;
    line-height: 24px;
    transition: 0.25s ease-out;
  }
  .l-header .gnav .menu-close:hover {
    background: #707070;
  }
  .l-header .gnav .menu-close:hover span {
    color: #fff;
  }
  .l-header .gnav .menu-close.is-active {
    opacity: 1;
    display: block;
  }
  .l-header .gnav > ul {
    display: flex;
    justify-content: space-between;
    max-width: 1024px;
    margin: 0 auto;
  }
  .l-header .gnav > ul > li > div {
    position: relative;
    display: block;
    padding-bottom: 12px;
    cursor: pointer;
  }
  .l-header .gnav > ul > li > div::after {
    opacity: 0;
    transition: all 0.25s ease-out;
    content: "";
    position: absolute;
    display: block;
    position: absolute;
    top: auto;
    right: 0;
    bottom: -4px;
    left: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 8px 10px 8px;
    border-color: transparent transparent #E7F3FC transparent;
  }
  .l-header .gnav > ul > li > div span {
    display: block;
    font-weight: bold;
    border-radius: 6px;
    position: relative;
    padding: 10px 15px;
    font-weight: 600;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    color: #000;
    background: #fff;
    opacity: 1;
    transition: all 0.25s ease-out;
  }
  .l-header .gnav > ul > li > div span:hover {
    color: #fff;
    background: #127ACC;
    opacity: 1;
  }
  .l-header .gnav > ul > li.notriangle > div::after {
    content: none;
  }
  .l-header .gnav > ul > li.topmenu.is-active > div::after {
    opacity: 1;
  }
  .l-header .menu {
    display: none;
    position: absolute;
    width: 100%;
    height: auto;
    max-height: calc(100vh - 130px);
    overflow-y: auto;
    top: 130px;
    left: 0;
    background: #E7F3FC;
    padding: 16px 0;
  }
  .l-header .menu h2 {
    padding: 5px 0 5px 13px;
    margin-bottom: 16px;
  }
  .l-header .menu a {
    display: block;
    transition: all 0.25s ease-out;
  }
  .l-header .menu a:hover {
    opacity: 0.6;
  }
  .l-header .menu a:has(> h2) {
    display: inline-block;
  }
  .l-header .menu a:has(> h2) h2 {
    position: relative;
    display: inline-block;
    transition: all 0.25s ease-out;
  }
  .l-header .menu a:has(> h2) h2:hover {
    opacity: 0.6;
  }
  .l-header .menu a:has(> h2) h2::before, .l-header .menu a:has(> h2) h2::after {
    content: "";
    display: block;
    position: absolute;
  }
  .l-header .menu a:has(> h2) h2::before {
    top: 0;
    right: -18px;
    bottom: 0;
    left: auto;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg);
  }
  .l-header .menu a:has(> h2) h2::after {
    top: 0;
    right: -24px;
    bottom: 0;
    left: auto;
    margin: auto;
    width: 15px;
    height: 15px;
    border: 1px solid #000;
    border-radius: 14px;
  }
  .l-header .menu .menu-wrap {
    display: flex;
  }
  .l-header .menu .menu-wrap .menu-list {
    flex: 1;
  }
  .l-header .menu .menu-wrap .menu-bnr {
    width: 351px;
  }
  .l-header .menu .menu-list {
    padding-left: 18px;
  }
  .l-header .menu .menu-list > li {
    margin-bottom: 12px;
  }
  .l-header .menu .menu-list > li > a {
    position: relative;
    padding-left: 20px;
    font-size: 1.5rem;
  }
  .l-header .menu .menu-list > li > a::before {
    content: "";
    position: absolute;
    display: block;
    position: absolute;
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #707070;
    border-right: 2px solid #707070;
    transform: rotate(45deg);
  }
  .l-header .menu .menu-list > li ul {
    padding-top: 12px;
  }
  .l-header .menu .menu-list > li ul li {
    margin-bottom: 12px;
    padding-left: 22px;
  }
  .l-header .menu .menu-list > li ul li a {
    position: relative;
    font-size: 1.3rem;
    padding-left: 20px;
  }
  .l-header .menu .menu-list > li ul li a::before {
    content: "";
    position: absolute;
    display: block;
    position: absolute;
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 12px;
    height: 2px;
    background: #707070;
  }
  .l-header .menu .menu-bnr {
    width: 300px;
    border-left: 1px solid #000;
    padding-left: 50px;
    margin-left: 50px;
  }
  .l-header .menu .menu-bnr > li {
    margin-bottom: 30px;
  }
  .l-header .menu .menu-bnr > li a span {
    margin-top: 15px;
    display: block;
    position: relative;
    padding-left: 20px;
  }
  .l-header .menu .menu-bnr > li a span::after {
    content: "";
    position: absolute;
    display: block;
    position: absolute;
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #707070;
    border-right: 2px solid #707070;
    transform: rotate(45deg);
  }
  .l-header .menu .menu-bnr.menu-bnr-inside {
    margin-left: 0;
    padding-left: 0;
    width: inherit !important;
  }
  .l-header .menu .menu-bnr.menu-bnr-inside > li:not(:last-child) {
    margin-bottom: 30px;
  }
  .l-header .menu .menu-bnr.menu-bnr-inside li a {
    padding: 0;
  }
  .l-header .menu .menu-bnr.menu-bnr-inside li a::before {
    content: none;
  }
}
@media screen and (max-width: 768px) {
  .l-header .gnav {
    display: none;
    position: absolute;
    width: 100%;
    height: 100vh;
    overflow-y: auto;
    top: 55px;
    left: 0;
    opacity: 1;
    background: #fff;
  }
  .l-header .gnav .menu-close {
    display: none;
  }
  .l-header .gnav > ul {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-top: 1px solid #000;
  }
  .l-header .gnav > ul > li {
    border-bottom: 1px solid #000;
  }
  .l-header .gnav > ul > li:last-child {
    border: none;
  }
  .l-header .gnav > ul > li > div {
    position: relative;
    display: block;
    padding: 5% 5%;
  }
  .l-header .gnav > ul > li > div span {
    font-weight: normal;
    font-size: 1.8rem;
    border-left: 4px solid #707070;
    padding-left: 10px;
  }
  .l-header .gnav > ul > li > div::after {
    content: "";
    position: absolute;
    display: block;
    position: absolute;
    top: 0;
    right: 5%;
    bottom: 0;
    left: auto;
    margin: auto;
    width: 8px;
    height: 8px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    transform: rotate(45deg);
    transition: 0.25s ease;
  }
  .l-header .gnav > ul > li > div.menu-acrd-btn::after {
    transform: rotate(135deg);
  }
  .l-header .gnav > ul > li > div.menu-acrd-btn.is-active::after {
    transform: rotate(-45deg);
  }
  .l-header .gnav > ul > li .topmenu-btmnav {
    display: flex;
    justify-content: center;
    background: #E7F3FC;
    padding: 5% 0;
  }
  .l-header .gnav > ul > li .topmenu-btmnav li {
    margin: 0 3%;
  }
  .l-header .gnav > ul > li .topmenu-btmnav li a {
    font-size: 1.2rem;
  }
  .l-header .gnav > ul > li .topmenu-btmnav-en {
    flex-direction: column;
    flex-wrap: wrap;
  }
  .l-header .gnav.is-active {
    display: block;
  }
  .l-header .menu .l-inner {
    padding: 5%;
    background: #E7F3FC;
  }
  .l-header .menu h2 {
    margin-bottom: 5%;
  }
  .l-header .menu a {
    position: relative;
    display: block;
  }
  .l-header .menu a:has(> h2) {
    display: inline-block;
  }
  .l-header .menu a:has(> h2) h2 {
    position: relative;
    display: inline-block;
    transition: all 0.25s ease-out;
  }
  .l-header .menu a:has(> h2) h2:hover {
    opacity: 0.6;
  }
  .l-header .menu a:has(> h2) h2::before, .l-header .menu a:has(> h2) h2::after {
    content: "";
    display: block;
    position: absolute;
  }
  .l-header .menu a:has(> h2) h2::before {
    top: 0;
    right: -18px;
    bottom: 0;
    left: auto;
    margin: auto;
    width: 4px;
    height: 4px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg);
  }
  .l-header .menu a:has(> h2) h2::after {
    top: 0;
    right: -24px;
    bottom: 0;
    left: auto;
    margin: auto;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    border-radius: 14px;
  }
  .l-header .menu.menu-biz .menu-list > li:last-child {
    border-bottom: none;
  }
  .l-header .menu .menu-list {
    background: #E7F3FC;
    padding: 0;
  }
  .l-header .menu .menu-list > li > ul > li > a {
    padding: 2.5% 5% 2.5% 10%;
    position: relative;
    font-size: 1.3rem;
  }
  .l-header .menu .menu-list > li > ul > li > a::before {
    content: "";
    position: absolute;
    display: block;
    position: absolute;
    top: 0;
    right: auto;
    bottom: 0;
    left: 5%;
    margin: auto;
    width: 8px;
    height: 2px;
    background: #707070;
  }
  .l-header .menu .menu-list > li > a {
    padding: 3% 5%;
    position: relative;
    font-size: 1.5rem;
  }
  .l-header .menu .menu-list > li > a::before {
    content: "";
    position: absolute;
    display: block;
    position: absolute;
    top: 0;
    right: auto;
    bottom: 0;
    left: 5px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #707070;
    border-right: 2px solid #707070;
    transform: rotate(45deg);
  }
  .l-header .menu .menu-bnr {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 3% 5px 0;
    background: #E7F3FC;
  }
  .l-header .menu .menu-bnr > li {
    width: 100%;
    margin-bottom: 5%;
  }
  .l-header .menu .menu-bnr > li:last-child {
    margin-bottom: 0;
  }
  .l-header .menu .menu-bnr > li a {
    text-align: left;
    padding: 0;
    max-width: 320px;
  }
  .l-header .menu .menu-bnr > li a img {
    margin: 0 auto 10px;
  }
  .l-header .menu .menu-bnr > li a span {
    display: block;
    position: relative;
    padding-left: 20px;
  }
  .l-header .menu .menu-bnr > li a span::before {
    content: "";
    position: absolute;
    display: block;
    position: absolute;
    top: 0;
    right: auto;
    bottom: 0;
    left: 5px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #707070;
    border-right: 2px solid #707070;
    transform: rotate(45deg);
  }
}
.l-header .nav-trigger {
  position: absolute;
  background: transparent;
  width: 34px;
  height: 32px;
  right: 20px;
  top: 5px;
  bottom: 0;
  margin: auto 0;
  z-index: 9;
}
.l-header .nav-trigger .lines {
  position: relative;
}
.l-header .nav-trigger .lines span {
  position: absolute;
  z-index: 2;
  background: #707070;
  left: 10px;
  transition: all 0.25s ease-out;
}
.l-header .nav-trigger .lines span:nth-child(1) {
  width: 24px;
  height: 2px;
  top: 5px;
}
.l-header .nav-trigger .lines span:nth-child(2) {
  width: 24px;
  height: 2px;
  top: 15px;
}
.l-header .nav-trigger .lines span:nth-child(3) {
  width: 24px;
  height: 2px;
  top: 25px;
}
.l-header .nav-trigger.is-active .lines span:nth-child(1) {
  width: 24px;
  top: 15px;
  transform: rotate(-45deg);
}
.l-header .nav-trigger.is-active .lines span:nth-child(2) {
  width: 0;
  top: 15px;
  transform: rotate(45deg);
}
.l-header .nav-trigger.is-active .lines span:nth-child(3) {
  width: 24px;
  top: 15px;
  transform: rotate(45deg);
}

.l-footer {
  background: #E7F3FC;
}

@media screen and (min-width: 769px) {
  .l-footer {
    padding: 80px 0 0;
  }
  .l-footer a:hover {
    opacity: 0.5;
  }
  .l-footer .fnav {
    display: flex;
    justify-content: space-between;
  }
  .l-footer .fnav dl {
    width: 25%;
    margin-bottom: 3em;
  }
  .l-footer .fnav dl dt {
    font-weight: bold;
    margin-bottom: 1.5em;
    font-size: 1.4rem;
  }
  .l-footer .fnav dl dd ul li {
    font-size: 1.3rem;
    margin-bottom: 1em;
  }
  .l-footer .fnav dl .fnav-catalog, .l-footer .fnav dl .fnav-career {
    margin-top: 3em;
  }
  .l-footer .fsub {
    padding: 30px 0;
    border-top: 1px solid #000;
    text-align: left;
  }
  .l-footer .fsub .copyright {
    font-size: 1.3rem;
  }
  .l-footer .fsub .fsub-list {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: flex-end;
  }
  .l-footer .fsub .fsub-list li {
    margin-left: 30px;
    font-size: 1.1rem;
  }
  .l-footer .fsub.fsub-en .copyright {
    text-align: left;
  }
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding: 0;
  }
  .l-footer .fnav dl {
    margin: 0;
    border-top: 1px solid #000;
  }
  .l-footer .fnav dl dt {
    position: relative;
    font-size: 1.4rem;
  }
  .l-footer .fnav dl dt a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 20px 2.5%;
  }
  .l-footer .fnav dl dt a:after {
    content: "";
    position: absolute;
    display: block;
    position: absolute;
    top: 0;
    right: 2.5%;
    bottom: 0;
    left: auto;
    margin: auto;
    width: 10px;
    height: 10px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotate(135deg);
  }
  .l-footer .fnav dl dt.fnav-catalog {
    border-top: 1px solid #000;
  }
  .l-footer .fnav dl dt.fnav-catalog a:after {
    transform: rotate(45deg);
  }
  .l-footer .fnav dl dt.fnav-career {
    border-top: 1px solid #000;
  }
  .l-footer .fnav dl dt:first-child {
    border-top: none;
  }
  .l-footer .fnav dl dt.fnav-business {
    padding: 20px 2.5%;
  }
  .l-footer .fnav dl dt.fnav-business:after {
    content: "";
    position: absolute;
    display: block;
    position: absolute;
    top: 0;
    right: 2.5%;
    bottom: 0;
    left: auto;
    margin: auto;
    width: 10px;
    height: 10px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotate(135deg);
  }
  .l-footer .fnav dl dd {
    display: none;
  }
  .l-footer .fnav dl dd ul {
    padding-bottom: 10px;
  }
  .l-footer .fnav dl dd ul li a {
    display: block;
    width: 100%;
    height: 100%;
    font-size: 1.3rem;
    padding: 10px 5%;
  }
  .l-footer .fsub {
    padding: 30px 0;
    text-align: center;
    border-top: 1px solid #000;
  }
  .l-footer .fsub .copyright {
    font-size: 1.3rem;
    margin-bottom: 15px;
  }
  .l-footer .fsub .fsub-list {
    display: flex;
    justify-content: center;
  }
  .l-footer .fsub .fsub-list li {
    margin: 0 15px;
    font-size: 1.1rem;
  }
}
.l-contact {
  padding: 80px 0;
  background: url(../images/common/bg-contact.jpg) center center no-repeat;
  background-size: cover;
}
.l-contact h3 {
  color: #fff;
  margin-bottom: 0;
}
.l-contact .btn-wrap {
  margin-top: 20px;
}

/* ==========================================================================
  Parts
  ========================================================================== */
.btn {
  position: relative;
  display: block;
  max-width: 400px;
  height: 70px;
  margin: 0 auto;
  text-align: center;
  padding: 0 15px;
  background: #fff;
  border-radius: 35px;
  transition: opacity 0.25s ease-out;
  font-size: 1.8rem;
  transition: all 0.25s ease-out;
  border: 1px solid #000;
}
.btn span {
  color: #000;
  line-height: 68px;
  position: relative;
}
.btn span::before, .btn span::after {
  content: "";
  position: absolute;
  display: block;
  transition: all 0.25s ease-out;
}
.btn span::before {
  position: absolute;
  top: 0;
  right: -41px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 28px;
  height: 28px;
  border-radius: 14px;
  background: #fff;
}
.btn span::after {
  content: "";
  position: absolute;
  display: block;
  position: absolute;
  top: 0;
  right: -30px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 7px;
  height: 7px;
  border-top: 2px solid #127ACC;
  border-right: 2px solid #127ACC;
  transform: rotate(45deg);
}

.btn:hover {
  text-decoration: none;
  background: #127ACC;
  border: 1px solid #127ACC;
}
.btn:hover span {
  color: #fff;
}
.btn:hover span::before {
  background: #fff;
}
.btn:hover span::after {
  border-top: 2px solid #127ACC;
  border-right: 2px solid #127ACC;
}

@media screen and (max-width: 768px) {
  .btn {
    width: 70%;
    max-width: 300px;
    height: 50px;
    margin: 0 auto;
    text-align: center;
    padding: 0 10px;
    border-radius: 25px;
    font-size: 1.4rem;
  }
  .btn span {
    line-height: 48px;
  }
}
.btn.btn-bk {
  border: 1px solid #000;
}
.btn.btn-bk span {
  color: #000;
}
.btn.btn-bk:hover {
  border: 1px solid #127ACC;
  background: #127ACC;
}
.btn.btn-bk:hover span {
  color: #fff;
}

.btn-s {
  border: 1px solid #fff;
  height: 40px;
  width: 60%;
  max-width: 230px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.2);
  text-align: center;
  transition: all 0.25s ease-out;
}
.btn-s span {
  position: relative;
  font-weight: bold;
  font-size: 1.2rem;
  color: #fff;
  line-height: 38px;
}
.btn-s span::before, .btn-s span::after {
  content: "";
  position: absolute;
  display: block;
}
.btn-s span::before {
  position: absolute;
  top: 0;
  right: -40px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 20px;
  height: 20px;
  border-radius: 10px;
  background: transparent;
}
.btn-s span::after {
  position: absolute;
  top: 0;
  right: -32px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 5px;
  height: 5px;
  border-top: 2px solid #127ACC;
  border-right: 2px solid #127ACC;
  transform: rotate(45deg);
}
.btn-s:hover {
  border: 1px solid #127ACC;
  background: rgba(255, 255, 255, 0.6);
}

.btn-more {
  border: 1px solid #fff;
  height: 40px;
  width: 60%;
  max-width: 230px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.2);
  text-align: center;
  transition: all 0.25s ease-out;
}
.btn-more span {
  position: relative;
  font-weight: bold;
  font-size: 1.2rem;
  color: #fff;
  line-height: 38px;
}
.btn-more span::before, .btn-more span::after {
  content: "";
  position: absolute;
  display: block;
}
.btn-more span::before {
  position: absolute;
  top: 0;
  right: -40px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 20px;
  height: 20px;
  border-radius: 10px;
  background: #127ACC;
}
.btn-more span::after {
  position: absolute;
  top: 0;
  right: -32px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
.btn-more:hover {
  border: 1px solid #fff;
  background: rgba(255, 255, 255, 0.6);
}

.btn-more.btn-more-bk {
  border: 1px solid #000;
}
.btn-more.btn-more-bk span {
  color: #000;
}
.btn-more.btn-more-bk:hover {
  border: 1px solid #707070;
}
.btn-more.btn-more-bk:hover span {
  color: #707070;
}

@media screen and (max-width: 768px) {
  .btn-more {
    height: 40px;
    width: 75%;
    max-width: 230px;
    border-radius: 20px;
  }
  .btn-more span {
    font-size: 1.2rem;
    line-height: 38px;
  }
  .btn-more span::before {
    position: absolute;
    top: 0;
    right: -30px;
    bottom: 0;
    left: auto;
    margin: auto;
    width: 20px;
    height: 20px;
    border-radius: 50%;
  }
  .btn-more span::after {
    position: absolute;
    top: 0;
    right: -22px;
    bottom: 0;
    left: auto;
    margin: auto;
    width: 5px;
    height: 5px;
  }
}
.btn.btn-contact {
  border: 1px solid #fff;
  background: rgba(255, 255, 255, 0.25);
}
.btn.btn-contact span {
  font-weight: bold;
  color: #fff;
}
.btn.btn-contact span::before {
  background: #127ACC;
}
.btn.btn-contact span::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.btn.btn-contact:hover span::before {
  background: #fff;
}
.btn.btn-contact:hover span::after {
  border-top: 2px solid #127ACC;
  border-right: 2px solid #127ACC;
}

.btn.btn-contact-s {
  border: 1px solid #000;
  background: rgba(255, 255, 255, 0.25);
  width: 236px;
  height: 50px;
  border-radius: 35px;
  padding: 0 15px;
  margin: 0;
}
.btn.btn-contact-s span {
  line-height: 48px;
  font-size: 1.3rem;
  font-weight: bold;
  color: #000;
}
.btn.btn-contact-s span::before {
  content: none;
}
.btn.btn-contact-s span::after {
  right: -15px;
  border-top: 2px solid #127ACC;
  border-right: 2px solid #127ACC;
}
.btn.btn-contact-s:hover {
  border: 1px solid #127ACC;
  background: #127ACC;
}
.btn.btn-contact-s:hover span {
  color: #fff;
}
.btn.btn-contact-s:hover span::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.btn-link {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #000;
  height: auto;
  min-height: 40px;
  width: 100%;
  min-width: 180px;
  max-width: inherit;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.2);
  text-align: center;
  transition: all 0.25s ease-out;
  padding: 5px 30px 5px 15px;
  overflow-wrap: anywhere;
}
.btn-link span {
  display: inline-block;
  position: relative;
  font-size: 1.2rem;
  color: #000;
  line-height: 1.2;
}
.btn-link span::before, .btn-link span::after {
  content: "";
  position: absolute;
  display: block;
  border: none;
}
.btn-link span::before {
  content: none;
}
.btn-link span::after {
  position: absolute;
  top: 0;
  right: -22px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 16px;
  height: 16px;
  background: url(../images/common/icon-open.svg) no-repeat;
  background-size: 100% auto;
  border: none !important;
  transform: none;
}
.btn-link:hover {
  border: none;
  color: #fff;
  border: 1px solid #127ACC;
  background: #127ACC;
}
.btn-link:hover::after {
  position: absolute;
  top: 0;
  right: -22px;
  bottom: 0;
  left: auto;
  margin: auto;
  border: none !important;
}

.btn-pdf span::after {
  position: absolute;
  top: 0;
  right: -22px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 15px;
  height: 17px;
  background: url(../images/common/icon-pdf.svg) no-repeat;
  background-size: 100% auto;
  border: none !important;
  transform: none;
}

.btn-blank span::after {
  position: absolute;
  top: 0;
  right: -22px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 16px;
  height: 16px;
  background: url(../images/common/icon-open.svg) no-repeat;
  background-size: auto 100%;
  border: none !important;
  transform: none;
}

.btn-wrap {
  margin-top: 40px;
  text-align: center;
}
.btn-wrap a {
  display: block;
}

@media screen and (max-width: 768px) {
  .btn-wrap {
    margin-top: 20px;
  }
}
.link-pdf {
  position: relative;
  color: #127ACC;
}
.link-pdf::after {
  content: "";
  display: inline-block;
  margin: 0 0 0 8px;
  vertical-align: middle;
  width: 15px;
  height: 17px;
  background: url(../images/common/icon-pdf.svg) no-repeat;
  background-size: 100% auto;
}
@media screen and (min-width: 769px) {
  .link-pdf:hover {
    color: #64A8DE;
    text-decoration: underline;
  }
}

.link-blank {
  position: relative;
  color: #127ACC;
}
.link-blank::after {
  content: "";
  display: inline-block;
  margin: 0 0 0 8px;
  vertical-align: middle;
  width: 15px;
  height: 15px;
  background: url(../images/common/icon-open.svg) no-repeat;
  background-size: 100% auto;
}
@media screen and (min-width: 769px) {
  .link-blank:hover {
    color: #64A8DE;
    text-decoration: underline;
  }
}

.table-wrap {
  width: 100%;
  overflow-x: auto;
}

.table-fix {
  table-layout: fixed;
}

.video-wrap {
  width: 100%;
  margin: 0 auto 40px;
}
@media screen and (min-width: 769px) {
  .video-wrap {
    max-width: 640px;
    margin: 0 auto 60px;
  }
}

.video {
  position: relative;
  margin: 0 -8px;
  width: calc(100% + 16px);
  padding-top: calc(56.25% + 16px);
}

.video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.video-caption {
  text-align: center;
  padding-top: 8px;
}
@media screen and (min-width: 769px) {
  .video-caption {
    font-size: 1.8rem;
  }
}

.sec-ttl {
  position: relative;
  text-align: center;
  font-size: 3.7rem;
  margin-bottom: 40px;
}
.sec-ttl i {
  display: block;
  margin-bottom: 15px;
  font-size: 2rem;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .sec-ttl {
    font-size: 1.9rem;
    margin-bottom: 25px;
  }
  .sec-ttl i {
    margin-bottom: 10px;
    font-size: 1rem;
  }
}
.block-ttl {
  margin-bottom: 15px;
  border-left: 4px solid #127ACC;
  padding-left: 15px;
  font-size: 1.8rem;
  line-height: 1.83;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .block-ttl {
    margin-bottom: 13px;
    padding-left: 13px;
    font-size: 1.6rem;
    line-height: 1.83;
  }
}
.cnts-ttl {
  font-size: 1.8rem;
  line-height: 1.83;
  border-bottom: 1px solid #000;
  margin-bottom: 30px;
  padding-bottom: 15px;
}

@media screen and (max-width: 768px) {
  .cnts-ttl {
    font-size: 1.6rem;
    line-height: 1.83;
    margin-bottom: 20px;
    padding-bottom: 10px;
  }
}
.box-ttl {
  position: relative;
  font-size: 1.8rem;
  line-height: 1.83;
  margin-bottom: 30px;
}
.box-ttl::after {
  content: "";
  position: absolute;
  display: block;
  position: absolute;
  top: 5px;
  right: auto;
  bottom: auto;
  left: -14px;
  margin: auto;
  width: 4px;
  height: 22px;
  background: #127ACC;
}

@media screen and (max-width: 768px) {
  .box-ttl {
    font-size: 1.6rem;
    line-height: 1.83;
    margin-bottom: 15px;
  }
  .box-ttl::after {
    content: "";
    position: absolute;
    display: block;
    position: absolute;
    top: 0;
    right: auto;
    bottom: 0;
    left: -14px;
    margin: auto;
    width: 3px;
    height: 18px;
  }
}
.bar-list li, .dot-list li {
  position: relative;
  padding-left: 1em;
}
.bar-list li:last-child, .dot-list li:last-child {
  margin-bottom: 0;
}

.bar-list li::before {
  content: "-";
  position: absolute;
  left: 0;
}

.dot-list li::before {
  content: "・";
  position: absolute;
  left: 0;
}

.btn-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 20px 20px;
}
.btn-list li {
  min-width: 180px;
  width: auto;
  margin: 0;
}

@media screen and (max-width: 768px) {
  .btn-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 20px 20px;
  }
  .btn-list li {
    min-width: 180px;
    width: 100%;
    width: auto;
  }
}
.l-breadcrumbs .l-inner {
  padding: 15px 0;
  margin-bottom: 35px;
}
.l-breadcrumbs .l-inner ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.l-breadcrumbs .l-inner ul li {
  margin-right: 5px;
  color: #707070;
  line-height: 2rem;
  font-size: 1.4rem;
}
.l-breadcrumbs .l-inner ul li a {
  position: relative;
  display: block;
  text-decoration: none;
  line-height: 2rem;
  padding-right: 20px;
  color: #333;
  font-size: 1.4rem;
}
.l-breadcrumbs .l-inner ul li a::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 8px;
  height: 8px;
  top: -1px;
  bottom: 0;
  right: 5px;
  left: auto;
  margin: auto 0 auto auto;
  border-top: 1px solid #707070;
  border-right: 1px solid #707070;
  transform: rotate(45deg);
  z-index: 10;
}
@media screen and (min-width: 769px) {
  .l-breadcrumbs .l-inner ul li a:hover {
    opacity: 0.75;
  }
}
.l-breadcrumbs .l-inner ul li.home a {
  line-height: 2.2rem;
}

@media screen and (max-width: 768px) {
  .l-breadcrumbs .l-inner {
    padding: 10px 2.5%;
    margin-bottom: 20px;
  }
  .l-breadcrumbs .l-inner ul {
    flex-wrap: wrap;
  }
  .l-breadcrumbs .l-inner ul li {
    font-size: 1.2rem;
  }
  .l-breadcrumbs .l-inner ul li a {
    font-size: 1.2rem;
  }
}
/* ==========================================================================
Contents
========================================================================== */
.l-cnts {
  padding-bottom: 60px;
}
.l-cnts .l-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.l-cnts .l-inner .cnts-main {
  width: 70%;
}
.l-cnts .l-inner .cnts-sub {
  width: 25%;
  background: #fff;
}

@media screen and (max-width: 768px) {
  .l-cnts {
    padding-bottom: 40px;
  }
  .l-cnts .l-inner {
    flex-direction: column;
  }
  .l-cnts .l-inner .cnts-main {
    width: 100%;
    margin-bottom: 30px;
  }
  .l-cnts .l-inner .cnts-sub {
    width: 100%;
    background: #fff;
  }
}
.cnts-sub nav a {
  display: block;
}
.cnts-sub nav > ul > li .nolink {
  cursor: default;
}
.cnts-sub nav > ul > li .nolink:hover {
  background: #DFE4EB !important;
  color: default !important;
}
.cnts-sub nav > ul > li > a, .cnts-sub nav > ul > li > div.nolink {
  padding: 15px 20px;
  background: #DFE4EB;
  font-size: 1.8rem;
  transition: all 0.25s ease-out;
}
.cnts-sub nav > ul > li > a span, .cnts-sub nav > ul > li > div.nolink span {
  display: block;
  position: relative;
  font-weight: bold;
}
.cnts-sub nav > ul > li > a span::before, .cnts-sub nav > ul > li > a span::after {
  content: "";
  position: absolute;
  display: block;
}
.cnts-sub nav > ul > li > a span::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 20px;
  height: 20px;
  border-radius: 10px;
  background: #127ACC;
}
.cnts-sub nav > ul > li > a span::after {
  position: absolute;
  top: 0;
  right: 8px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
.cnts-sub nav > ul > li > a:hover {
  background: #127ACC;
  color: #fff;
}
.cnts-sub nav > ul > li > a:hover span::before {
  background: #fff;
}
.cnts-sub nav > ul > li > a:hover span::after {
  border-top: 2px solid #127ACC;
  border-right: 2px solid #127ACC;
}
.cnts-sub nav > ul > li.nav-biz-cat {
  padding: 0 30px;
}
.cnts-sub nav dl {
  border-bottom: 1px solid #000;
}
.cnts-sub nav dl:last-child {
  border-bottom: none;
}
.cnts-sub nav dl dt a {
  padding: 30px 0;
  font-size: 1.8rem;
}
.cnts-sub nav dl dt a span {
  border-left: 4px solid #127ACC;
  padding: 2px 0 2px 14px;
}
.cnts-sub nav dl dd {
  display: none;
  padding: 0 0 0 15px;
}
.cnts-sub nav dl dd > ul > li a {
  margin-bottom: 15px;
  font-size: 1.3rem;
}
.cnts-sub nav dl dd > ul > li a:hover {
  color: #127ACC;
}
.cnts-sub nav dl dd > ul > li:last-child a {
  margin-bottom: 0;
}
.cnts-sub nav .arrow-list {
  padding-left: 20px;
}
.cnts-sub nav .arrow-list > li {
  margin-bottom: 20px;
}
.cnts-sub nav .arrow-list > li > a span {
  position: relative;
  display: block;
}
.cnts-sub nav .arrow-list > li > a span::before {
  content: "";
  position: absolute;
  display: block;
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: -18px;
  margin: auto;
  width: 7px;
  height: 7px;
  border-top: 2px solid #127ACC;
  border-right: 2px solid #127ACC;
  transform: rotate(45deg);
}
.cnts-sub nav .dot-list {
  padding: 20px 0;
}
.cnts-sub nav .dot-list li {
  margin-bottom: 15px;
}
.cnts-sub nav .dot-list li:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .cnts-sub nav > ul > li > a {
    padding: 15px 20px;
    font-size: 1.6rem;
  }
  .cnts-sub nav > ul > li.nav-biz-cat {
    padding: 0 20px;
  }
  .cnts-sub nav dl dt a {
    padding: 20px 0;
    font-size: 1.6rem;
  }
  .cnts-sub nav dl dd {
    padding: 0 0 0 15px;
  }
  .cnts-sub nav dl dd > ul > li a {
    margin-bottom: 15px;
    font-size: 1.2rem;
  }
  .cnts-sub nav .dot-list {
    padding: 20px 0;
  }
}
.cnts-main .custom-block-wrap:not(:first-of-type) h2 {
  margin-top: 60px;
}

.cnts-wrap {
  background: #fff;
  padding: 40px 60px;
}
.cnts-wrap .cnts-box {
  position: relative;
  font-size: 1.3rem;
  line-height: 1.692;
  margin-bottom: 65px;
}
.cnts-wrap .cnts-box:last-child {
  margin-bottom: 0;
}
.cnts-wrap .cnts-box .flt-left {
  float: left;
  width: 55%;
  margin-bottom: 30px;
}
.cnts-wrap .cnts-box .flt-right {
  float: right;
  width: 40%;
  margin-left: 5%;
  margin-bottom: 30px;
}
.cnts-wrap .cnts-box p {
  clear: both;
  font-size: 1.3rem;
  line-height: 1.692;
  margin-bottom: 30px;
  text-align: justify;
}
.cnts-wrap .cnts-box p:last-child {
  margin-bottom: 0;
}
.cnts-wrap .cnts-box p a {
  color: #127ACC;
}
.cnts-wrap .cnts-box p a:hover {
  color: #64A8DE;
  text-decoration: underline;
}
.cnts-wrap .cnts-box figure figcaption {
  text-align: center;
  margin-top: 10px;
  font-size: 1.2rem;
  line-height: 1.4;
}
.cnts-wrap .cnts-box figure.img-large {
  max-width: 80%;
  margin: 0 auto 30px;
}
.cnts-wrap .cnts-box ul.img-gallery {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.cnts-wrap .cnts-box ul.img-gallery:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .cnts-wrap .cnts-box ul.img-gallery:after {
    content: "";
    display: block;
    width: 30%;
    height: 0;
  }
}
.cnts-wrap .cnts-box ul.img-gallery li {
  width: 30%;
  margin-bottom: 30px;
}
.cnts-wrap .cnts-box ul.img-gallery li:last-child {
  margin-bottom: 0;
}
.cnts-wrap .cnts-box ul.img-gallery.--columnsCount3:after {
  content: "";
  display: block;
  width: 30%;
  height: 0;
}
.cnts-wrap .cnts-box ul.img-gallery.--columnsCount3 li {
  width: 30%;
}
.cnts-wrap .cnts-box ul.img-gallery.--columnsCount2 li {
  width: 47.5%;
}
.cnts-wrap .cnts-box .listline-wrap {
  width: 100%;
  overflow-x: auto;
}
.cnts-wrap .cnts-box table {
  position: relative;
  width: 100%;
  margin: 0 auto 30px;
  background: #fff;
}
.cnts-wrap .cnts-box table caption {
  font-size: 80%;
  text-align: right;
  caption-side: top;
}
.cnts-wrap .cnts-box table tr th, .cnts-wrap .cnts-box table tr td {
  width: 20%;
  padding: 10px 5px;
  text-align: center;
  border: 1px solid #707070;
}
.cnts-wrap .cnts-box table tr th strong, .cnts-wrap .cnts-box table tr td strong {
  font-weight: bold;
}
.cnts-wrap .cnts-box table tr th {
  color: #fff;
  background: #127ACC;
}
.cnts-wrap .cnts-box table tr th a {
  color: #fff;
}
.cnts-wrap .cnts-box table tr th a:hover {
  color: #B8D5EB;
  text-decoration: underline;
}
.cnts-wrap .cnts-box table tr td a {
  color: #127ACC;
}
.cnts-wrap .cnts-box table tr td a:hover {
  color: #B8D5EB;
  text-decoration: underline;
}
.cnts-wrap .cnts-box table tr.group {
  background: #B8D5EB;
}
.cnts-wrap .cnts-box table tr.group td {
  font-weight: bold;
}
.cnts-wrap .cnts-box table.listline {
  width: 100%;
  max-width: 594px;
  overflow-x: auto;
}
.cnts-wrap .cnts-box table.listline tr th {
  font-weight: bold;
}
.cnts-wrap .cnts-box table.listline tr th, .cnts-wrap .cnts-box table.listline tr td {
  font-size: 1.2rem;
  width: 5%;
  vertical-align: middle;
}
.cnts-wrap .cnts-box table.listline tr th:first-child, .cnts-wrap .cnts-box table.listline tr td:first-child {
  text-align: left;
  width: auto;
}
.cnts-wrap .cnts-box table.listline tr td:first-child a::after {
  content: "";
  display: inline-block;
  margin-left: 8px;
  vertical-align: middle;
  width: 15px;
  height: 17px;
  background: url(../images/common/icon-pdf.svg) no-repeat;
  background-size: 100% auto;
}
.cnts-wrap .cnts-box dl.acrd {
  margin-bottom: 30px;
  border: 1px solid #DFE4EB;
}
.cnts-wrap .cnts-box dl.acrd .acrd-btn {
  position: relative;
  background: #DFE4EB;
  padding: 15px 25px;
  cursor: pointer;
}
.cnts-wrap .cnts-box dl.acrd .acrd-btn::before, .cnts-wrap .cnts-box dl.acrd .acrd-btn::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  width: 20px;
  height: 2px;
  margin: auto 0;
  background: #000;
  transition: 0.2s linear;
}
.cnts-wrap .cnts-box dl.acrd .acrd-btn::before {
  transform: rotate(90deg);
}
.cnts-wrap .cnts-box dl.acrd .acrd-btn.is-active::before {
  transform: rotate(180deg);
}
.cnts-wrap .cnts-box dl.acrd .acrd-panel {
  background: #fff;
  padding: 30px 40px;
}
.cnts-wrap .cnts-box .notes {
  background: #DFE4EB;
  padding: 20px 15px;
}

@media screen and (max-width: 768px) {
  .cnts-main .custom-block-wrap:not(:first-of-type) h2 {
    margin-top: 40px;
  }
  .cnts-wrap {
    background: #fff;
    padding: 30px 35px;
  }
  .cnts-wrap .cnts-box {
    font-size: 1.2rem;
    line-height: 1.692;
    margin-bottom: 40px;
  }
  .cnts-wrap .cnts-box .flt-left {
    float: none;
    width: 100%;
    margin-bottom: 15px;
  }
  .cnts-wrap .cnts-box .flt-right {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-bottom: 15px;
  }
  .cnts-wrap .cnts-box p {
    font-size: 1.2rem;
    line-height: 1.692;
    margin-bottom: 15px;
  }
  .cnts-wrap .cnts-box figure figcaption {
    text-align: center;
    margin-top: 10px;
    font-size: 1.2rem;
    line-height: 1.4;
  }
  .cnts-wrap .cnts-box figure.img-small {
    max-width: 60%;
    margin: 0 auto 15px;
  }
  .cnts-wrap .cnts-box figure.img-large {
    max-width: 100%;
    margin: 0 auto 15px;
  }
  .cnts-wrap .cnts-box ul.img-gallery li {
    width: 47.5%;
    margin-bottom: 15px;
  }
  .cnts-wrap .cnts-box table {
    margin: 0 auto 15px;
  }
  .cnts-wrap .cnts-box table tr th, .cnts-wrap .cnts-box table tr td {
    padding: 7px 3px;
  }
  .cnts-wrap .cnts-box dl.acrd {
    margin-bottom: 15px;
  }
  .cnts-wrap .cnts-box dl.acrd .acrd-btn {
    padding: 15px 15px;
    cursor: pointer;
  }
  .cnts-wrap .cnts-box dl.acrd .acrd-btn::before, .cnts-wrap .cnts-box dl.acrd .acrd-btn::after {
    right: 15px;
    width: 15px;
    height: 2px;
  }
  .cnts-wrap .cnts-box dl.acrd .acrd-panel {
    background: #fff;
    padding: 20px 30px;
  }
  .cnts-wrap .cnts-box .notes {
    padding: 15px 15px;
  }
}
/* ==========================================================================
Page
========================================================================== */
.l-pttl {
  position: relative;
  min-height: 252px;
  background-color: #127ACC;
  background-repeat: no-repeat;
  background-size: cover;
}
.l-pttl .l-inner {
  width: 100%;
  height: 100%;
  min-height: 252px;
  display: flex;
  align-items: center;
}
.l-pttl .ttl span {
  display: block;
  color: #fff;
  font-size: 3.7rem;
  font-weight: bold;
}
.l-pttl .ttl i {
  margin-top: 20px;
  display: block;
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
}
.l-pttl .ttl.ttl-bk span, .l-pttl .ttl.ttl-bk i {
  color: #000;
}
.l-pttl .lead {
  position: absolute;
  right: 0;
  bottom: 0;
  background: #fff;
  padding: 20px 30px;
  font-size: 1.7rem;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .l-pttl {
    min-height: 155px;
  }
  .l-pttl .l-inner {
    min-height: 155px;
  }
  .l-pttl .ttl span {
    font-size: 1.9rem;
  }
  .l-pttl .ttl i {
    font-size: 1.4rem;
  }
  .l-pttl .lead {
    padding: 10px 10px;
    font-size: 1.2rem;
    line-height: 1.4;
  }
}
.l-pnews .pnews-wrap {
  display: flex;
  justify-content: flex-start;
}
.l-pnews .pnews-wrap .pnews-ttl {
  width: 90px;
  padding-right: 30px;
  margin-right: 30px;
  border-right: 1px solid #000;
  font-weight: normal;
  font-size: 2.2rem;
}
.l-pnews .pnews-wrap .pnews-cnts {
  flex: 1;
}
.l-pnews .pnews-wrap .pnews-cnts article {
  margin-bottom: 15px;
}
.l-pnews .pnews-wrap .pnews-cnts article:last-child {
  margin-bottom: 0;
}
.l-pnews .pnews-wrap .pnews-cnts article a {
  display: flex;
}
.l-pnews .pnews-wrap .pnews-cnts article a .date {
  width: 150px;
}
.l-pnews .pnews-wrap .pnews-cnts article a .txt {
  flex: 1;
}
.l-pnews .pnews-wrap .pnews-cnts article a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .l-pnews .pnews-wrap {
    flex-direction: column;
  }
  .l-pnews .pnews-wrap .pnews-ttl {
    width: 100%;
    padding-right: 0;
    margin-right: 0;
    border-right: none;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #000;
  }
  .l-pnews .pnews-wrap .pnews-cnts {
    width: 100%;
  }
  .l-pnews .pnews-wrap .pnews-cnts article {
    margin-bottom: 15px;
  }
  .l-pnews .pnews-wrap .pnews-cnts article:last-child {
    margin-bottom: 0;
  }
  .l-pnews .pnews-wrap .pnews-cnts article a {
    flex-direction: column;
  }
  .l-pnews .pnews-wrap .pnews-cnts article a .date {
    width: 100%;
    margin-bottom: 7px;
  }
  .l-pnews .pnews-wrap .pnews-cnts article a .txt {
    width: 100%;
  }
}
.l-sec-intro .lead {
  font-size: 1.8rem;
  text-align: justify;
  line-height: 1.83;
}

@media screen and (max-width: 768px) {
  .l-sec-intro .lead {
    font-size: 1.6rem;
    line-height: 1.7;
  }
}
.bl-box {
  background: #B8D5EB;
  margin-bottom: 30px;
  display: flex;
}
.bl-box > a {
  display: flex;
  width: 100%;
  position: relative;
}
.bl-box .img {
  position: relative;
  width: 50%;
}
.bl-box .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.bl-box .img .pc img {
  display: block;
}
.bl-box .img .sp img {
  display: none;
}
.bl-box .txt {
  width: 50%;
  padding: 30px 45px;
}
.bl-box .txt p {
  font-size: 1.3rem;
  line-height: 1.6;
  margin-bottom: 20px;
}
.bl-box .txt p:last-child {
  margin-bottom: 0;
}
.bl-box .txt .bar-list {
  width: 100%;
  font-size: 1.3rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.bl-box .txt .bar-list li {
  width: 47.5%;
  margin-bottom: 15px;
}
@media screen and (min-width: 769px) {
  .bl-box .txt .bar-list li a:hover {
    opacity: 0.5;
  }
}

@media screen and (max-width: 768px) {
  .bl-box {
    margin-bottom: 30px;
  }
  .bl-box .img .pc img {
    display: none;
  }
  .bl-box .img .sp img {
    display: block;
  }
  .bl-box .txt {
    width: 100%;
    padding: 20px;
  }
  .bl-box .txt p {
    font-size: 1.3rem;
    line-height: 1.6;
    margin-bottom: 20px;
  }
  .bl-box .txt .bar-list {
    width: 100%;
    font-size: 1.2rem;
    line-height: 1.692;
  }
  .bl-box .txt .bar-list li {
    margin-bottom: 10px;
  }
}
.bl-box.pd-box .img {
  min-height: 192px;
}
.bl-box.pd-box .img.img-height-m {
  max-height: 300px;
}
.bl-box.pd-box .img.img-height-l {
  max-height: 450px;
}
.bl-box.pd-box .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 768px) {
  .bl-box.pd-box .img {
    position: relative;
    width: 100%;
    min-height: inherit;
    height: 126px;
    overflow: hidden;
  }
  .bl-box.pd-box .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    margin: auto auto;
    width: 100%;
  }
}
.box-wide .bl-box.pd-box .img {
  min-height: initial;
  min-height: auto;
  max-height: initial;
  max-height: auto;
}

.l-bnrslide {
  padding: 75px 0;
  background: #E7F3FC;
}
.l-bnrslide .bnrslide-wrap {
  max-width: 1024px;
  position: relative;
  margin: 0 auto;
}
.l-bnrslide .swiper-button-prev {
  left: -50px;
}
.l-bnrslide .swiper-button-next {
  right: -50px;
}

@media screen and (max-width: 768px) {
  .l-bnrslide {
    padding: 35px 0;
  }
  .l-bnrslide .bnrslide-wrap {
    max-width: 80%;
  }
  .l-bnrslide .swiper-button-prev {
    left: -10%;
    zoom: 0.7;
  }
  .l-bnrslide .swiper-button-next {
    right: -10%;
    zoom: 0.7;
  }
}
.openicon-img img {
  display: inline-block;
  vertical-align: middle;
  width: auto;
}

/*
==========================================================================
TOP PAGE
========================================================================== */
.l-kv {
  width: 100%;
  background: url(../images/top/kv-bg-pc.jpg) no-repeat center bottom;
  background-size: 100% auto;
}
.l-kv .kv-inner {
  position: relative;
  width: 100%;
  height: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding-top: 32%;
}
@media screen and (min-width: 1280px) {
  .l-kv .kv-inner {
    padding-top: 525px;
  }
}
.l-kv .kv-inner h2 {
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: 3%;
  margin: auto;
  margin: auto auto;
  width: 40vw;
  height: 4vw;
  max-width: 428px;
  max-height: 42px;
}
@media screen and (min-width: 1280px) {
  .l-kv .kv-inner h2 {
    width: 428px;
    height: 42px;
  }
}
.l-kv .kv-inner h2.en {
  width: 70vw;
  height: 3.8vw;
  max-width: 732px;
  max-height: 40px;
}
@media screen and (min-width: 1280px) {
  .l-kv .kv-inner h2.en {
    max-width: 732px;
    max-height: 40px;
  }
}

@media screen and (max-width: 768px) {
  .l-kv {
    background: none;
  }
  .l-kv .kv-inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding-top: 0;
  }
  .l-kv .kv-inner h2, .l-kv .kv-inner h2.en {
    left: 0;
    position: relative;
    width: auto;
    height: auto;
    max-height: initial;
    max-width: initial;
    width: 100%;
  }
}
.l-sec-news .tab-btn span, .l-sec-news .tab-panel .status span {
  display: block;
  width: 100px;
  padding: 5px;
  text-align: center;
}
.l-sec-news .tab-btn span.cat-update, .l-sec-news .tab-panel .status span.cat-update {
  background: #FFBCBC;
}
.l-sec-news .tab-btn span.cat-com, .l-sec-news .tab-panel .status span.cat-com {
  background: #B2DDFF;
}
.l-sec-news .tab-btn span.cat-ir, .l-sec-news .tab-panel .status span.cat-ir {
  background: #CBD9B8;
}
.l-sec-news .tab-btn span.cat-pd, .l-sec-news .tab-panel .status span.cat-pd {
  background: #FAEDA7;
}
.l-sec-news .tab-btn span.cat-exh, .l-sec-news .tab-panel .status span.cat-exh {
  background: #C2C2CB;
}
.l-sec-news .tab-btn {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
.l-sec-news .tab-btn > li {
  cursor: pointer;
  transition: all 0.25s ease-out;
}
.l-sec-news .tab-btn > li span {
  margin: 0 15px;
}
.l-sec-news .tab-btn > li:hover {
  opacity: 0.6;
}
.l-sec-news .news-list {
  border-top: 1px solid #000;
}
.l-sec-news .news-list li {
  border-bottom: 1px solid #000;
  line-height: 1.4;
}
.l-sec-news .news-list li a {
  display: block;
  color: #000;
}
.l-sec-news .news-list li a:hover {
  background: #E7F3FC;
}
.l-sec-news .news-list article {
  display: flex;
  justify-content: flex-start;
  padding: 25px 0;
}
.l-sec-news .news-list article > div.status {
  width: 240px;
  display: flex;
}
.l-sec-news .news-list article > div.status span {
  display: block;
  padding: 5px;
  width: 100px;
}
.l-sec-news .news-list article > div.status .date {
  text-align: left;
  margin-right: 15px;
}
.l-sec-news .news-list article > div.status .cat {
  text-align: center;
}
.l-sec-news .news-list article > div.txt {
  flex: 1;
  padding: 5px;
}

@media screen and (max-width: 768px) {
  .l-sec-news .tab-btn span, .l-sec-news .tab-panel span {
    width: auto;
    padding: 5px;
  }
  .l-sec-news .tab-btn {
    margin-bottom: 20px;
  }
  .l-sec-news .tab-btn > li {
    width: 25%;
  }
  .l-sec-news .tab-btn > li span {
    margin: 0 5px;
    font-size: 1.2rem;
  }
  .l-sec-news .news-list article {
    display: flex;
    flex-direction: column;
    padding: 15px 2.5%;
  }
  .l-sec-news .news-list article > div {
    font-size: 1.2rem;
  }
  .l-sec-news .news-list article > div.status {
    display: flex;
    margin-bottom: 10px;
  }
  .l-sec-news .news-list article > div.status span {
    width: 80px;
    display: block;
    padding: 5px;
  }
  .l-sec-news .news-list article > div.status .date {
    width: 80px;
  }
  .l-sec-news .news-list article > div.status .cat {
    width: 80px;
  }
  .l-sec-news .news-list article > div.txt {
    padding: 5px;
  }
}
.l-sec-business {
  padding: 40px 0 0;
}
.l-sec-business .business-wrap {
  padding-bottom: 80px;
  background: #E7F3FC;
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 5%, #E7F3FC 5%, #E7F3FC 100%);
}
.l-sec-business .business-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .l-sec-business .business-list::after {
    display: block;
    content: "";
    width: 30%;
  }
}
.l-sec-business .business-list li {
  text-align: center;
  width: 30%;
  margin-bottom: 30px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  background: #fff;
}
.l-sec-business .business-list li img {
  display: block;
}
.l-sec-business .business-list li p {
  text-align: center;
  padding: 30px 15px;
}
.l-sec-business .business-list li p span {
  position: relative;
  font-weight: bold;
  font-size: 1.8rem;
}
.l-sec-business .business-list li p span::after {
  content: "";
  position: absolute;
  display: block;
  position: absolute;
  top: 0;
  right: -30px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 7px;
  height: 7px;
  border-top: 2px solid #127ACC;
  border-right: 2px solid #127ACC;
  transform: rotate(45deg);
}
.l-sec-business .business-list li.btn-search {
  background: #127ACC;
}
.l-sec-business .business-list li.btn-search a {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.l-sec-business .business-list li.btn-search a h4 {
  margin-bottom: 40px;
  color: #fff;
  font-size: 2.6rem;
}

@media screen and (max-width: 768px) {
  .l-sec-business {
    padding: 20px 0 0;
  }
  .l-sec-business .business-wrap {
    padding-bottom: 20px;
    background: #E7F3FC;
    background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 5%, #E7F3FC 5%, #E7F3FC 100%);
  }
  .l-sec-business .business-list li {
    width: 47.5%;
    margin-bottom: 30px;
  }
  .l-sec-business .business-list li p {
    padding: 15px 5px;
  }
  .l-sec-business .business-list li p span {
    position: relative;
    font-weight: bold;
    font-size: 1.4rem;
  }
  .l-sec-business .business-list li p span::after {
    position: absolute;
    top: 0;
    right: -20px;
    bottom: 0;
    left: auto;
    margin: auto;
  }
  .l-sec-business .business-list li.btn-search a h4 {
    margin-bottom: 20px;
    font-size: 1.6rem;
  }
}
.l-sec-special .bnr-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.l-sec-special .bnr-list li {
  width: 30%;
  margin-bottom: 30px;
  text-align: center;
}
.l-sec-special .bnr-list li span {
  display: inline-block;
  margin-top: 15px;
}

@media screen and (max-width: 768px) {
  .l-sec-special .bnr-list li {
    width: 47.5%;
    margin-bottom: 30px;
  }
  .l-sec-special .bnr-list li span {
    margin-top: 10px;
    font-size: 1.3rem;
  }
}
.l-sec-catalog {
  background: #E7F3FC;
}
.l-sec-catalog .searchbox {
  text-align: center;
  margin: 0 auto 40px;
  position: relative;
  max-width: 300px;
}
.l-sec-catalog .searchbox label {
  display: block;
  font-size: 0;
  line-height: 1;
  height: 0;
  width: 0;
  margin: 0;
  padding: 0;
}
.l-sec-catalog .searchbox input {
  margin: 0 auto;
  padding: 10px;
  width: 100%;
  border-radius: 8px;
  font-size: 2rem;
  background-color: #fff;
}
.l-sec-catalog .searchbox .searchmark {
  position: absolute;
  background: url(../images/common/icon-search.png) no-repeat;
  background-size: 22px auto;
  width: 22px;
  height: 22px;
  border: none;
  border-radius: 2px;
  left: auto;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto 0 auto auto;
  cursor: pointer;
}
.l-sec-catalog .searchbox .searchmark:hover {
  opacity: 0.5;
}
.l-sec-catalog .search-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.l-sec-catalog .search-list li {
  min-width: 80px;
  margin: 0 5px 15px;
  text-align: center;
}
.l-sec-catalog .search-list li a {
  display: block;
  padding: 15px 10px;
  background: #127ACC;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  transition: all 0.25s ease-out;
}
.l-sec-catalog .search-list li a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .l-sec-catalog .searchbox {
    margin-bottom: 40px;
  }
  .l-sec-catalog .searchbox input {
    padding: 10px;
    min-width: 240px;
    border-radius: 6px;
    font-size: 1.6rem;
    background-size: 18px auto;
  }
  .l-sec-catalog .search-list {
    justify-content: space-between;
  }
  .l-sec-catalog .search-list li {
    width: 48.5%;
    min-width: 80px;
    margin: 0 0 15px;
  }
  .l-sec-catalog .search-list li a {
    padding: 30px 10px;
    font-size: 1.6rem;
  }
}
.l-sec-about .about-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.l-sec-about .about-list li {
  text-align: center;
  width: 30%;
  margin-bottom: 30px;
  background: #fff;
}
.l-sec-about .about-list li img {
  display: block;
}
.l-sec-about .about-list li p {
  text-align: center;
  padding: 30px 15px;
}
.l-sec-about .about-list li p span {
  position: relative;
  font-weight: bold;
  font-size: 1.8rem;
}
.l-sec-about .about-list li p span::after {
  content: "";
  position: absolute;
  display: block;
  position: absolute;
  top: 0;
  right: -30px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 7px;
  height: 7px;
  border-top: 2px solid #127ACC;
  border-right: 2px solid #127ACC;
  transform: rotate(45deg);
}

@media screen and (max-width: 768px) {
  .l-sec-about .about-list {
    flex-direction: column;
  }
  .l-sec-about .about-list li {
    width: 100%;
  }
  .l-sec-about .about-list li p {
    padding: 15px 5px;
  }
  .l-sec-about .about-list li p span {
    font-size: 1.2rem;
  }
  .l-sec-about .about-list li p span::after {
    position: absolute;
    top: 0;
    right: -20px;
    bottom: 0;
    left: auto;
    margin: auto;
  }
}
.l-sec-bnav {
  padding: 0;
  background: #E7F3FC;
}
.l-sec-bnav .bnav-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.l-sec-bnav .bnav-list-2column li {
  width: 50%;
}
.l-sec-bnav .bnav-list li {
  width: 33.33%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 80px 0;
}
.l-sec-bnav .bnav-list li h4 {
  margin-bottom: 30px;
  font-size: 2.2rem;
}
.l-sec-bnav .bnav-list li.bnav-ir {
  background: #127ACC;
}
.l-sec-bnav .bnav-list li.bnav-ir h4 {
  color: #fff;
}
.l-sec-bnav .bnav-list li.bnav-csr {
  background: #64A8DE;
}
.l-sec-bnav .bnav-list li.bnav-csr h4 {
  color: #fff;
}
.l-sec-bnav .bnav-list li.bnav-career {
  background: #B8D5EB;
}
.l-sec-bnav .bnav-list li.bnav-career h4 {
  color: #000;
}

@media screen and (max-width: 768px) {
  .l-sec-bnav .bnav-list {
    flex-direction: column;
  }
  .l-sec-bnav .bnav-list li {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 80px 0;
  }
  .l-sec-bnav .bnav-list li h4 {
    margin-bottom: 30px;
    font-size: 2.2rem;
  }
  .l-sec-bnav .bnav-list li.bnav-ir {
    background: #127ACC;
  }
  .l-sec-bnav .bnav-list li.bnav-ir h4 {
    color: #fff;
  }
  .l-sec-bnav .bnav-list li.bnav-csr {
    background: #64A8DE;
  }
  .l-sec-bnav .bnav-list li.bnav-csr h4 {
    color: #fff;
  }
  .l-sec-bnav .bnav-list li.bnav-career {
    background: #B8D5EB;
  }
  .l-sec-bnav .bnav-list li.bnav-career h4 {
    color: #000;
  }
}
/* ==========================================================================
BUSINESS PAGE（事業）
========================================================================== */
/* ---------------
油化事業
------------------ */
.l-business-oleo .l-pttl {
  background-image: url(../images/business/oleo-pttl-bg.jpg);
}

.l-sec-product .pd-wrap .pd-box .img::after {
  content: "";
  position: absolute;
  display: block;
}
.l-sec-product .pd-wrap .pd-box:nth-child(odd) .img {
  order: 1;
}
.l-sec-product .pd-wrap .pd-box:nth-child(odd) .img::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 22px 15px 0;
  border-color: transparent #B8D5EB transparent transparent;
}
.l-sec-product .pd-wrap .pd-box:nth-child(odd) .txt {
  order: 2;
}
.l-sec-product .pd-wrap .pd-box:nth-child(even) .img {
  order: 2;
}
.l-sec-product .pd-wrap .pd-box:nth-child(even) .img::after {
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 0 15px 25px;
  border-color: transparent transparent transparent #B8D5EB;
}
.l-sec-product .pd-wrap .pd-box:nth-child(even) .txt {
  order: 1;
}

@media screen and (max-width: 768px) {
  .l-sec-product .pd-wrap .pd-box {
    flex-direction: column;
  }
  .l-sec-product .pd-wrap .pd-box:nth-child(odd) .img,
.l-sec-product .pd-wrap .pd-box:nth-child(even) .img {
    width: 100%;
    order: 1;
  }
  .l-sec-product .pd-wrap .pd-box:nth-child(odd) .img::after,
.l-sec-product .pd-wrap .pd-box:nth-child(even) .img::after {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    border-width: 0 15px 22px 15px;
    border-color: transparent transparent #B8D5EB transparent;
  }
  .l-sec-product .pd-wrap .pd-box:nth-child(odd) .txt,
.l-sec-product .pd-wrap .pd-box:nth-child(even) .txt {
    width: 100%;
    order: 2;
  }
}
@media screen and (max-width: 768px) {
  .l-business-index.l-sec-product .bl-box > a {
    display: flex;
    flex-direction: column;
  }
}
.l-sec-bizlist {
  padding: 0 0 80px;
}
.l-sec-bizlist .l-inner-wide {
  background: #E7EDF5;
}
.l-sec-bizlist .bizlist-intro {
  max-width: 1280px;
  margin: 0 auto 80px;
  display: flex;
  justify-content: space-between;
}
.l-sec-bizlist .bizlist-intro .txt, .l-sec-bizlist .bizlist-intro .img {
  width: 50%;
}
.l-sec-bizlist .bizlist-intro .txt {
  display: flex;
  align-items: center;
  padding: 0 60px;
}
.l-sec-bizlist .bizlist-intro .txt p {
  font-size: 1.8rem;
  line-height: 1.83;
}
.l-sec-bizlist .bizlist-intro .txt a {
  margin-top: 40px;
}
.l-sec-bizlist .bizlist-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.l-sec-bizlist .bizlist-wrap .bizlist-box {
  width: 47.5%;
}
.l-sec-bizlist .bizlist-wrap .bizlist-box .txt {
  width: 100%;
}
.l-sec-bizlist .bizlist-wrap .bizlist-box .txt ul > li > ul {
  padding-top: 1em;
}
.l-sec-bizlist .bizlist-wrap .bizlist-box .txt ul > li > ul li {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .l-sec-bizlist {
    padding: 0 0 40px;
  }
  .l-sec-bizlist .bizlist-intro {
    max-width: 100%;
    margin: 0 auto 30px;
    padding-bottom: 10px;
    flex-direction: column;
  }
  .l-sec-bizlist .bizlist-intro .txt, .l-sec-bizlist .bizlist-intro .img {
    width: 100%;
  }
  .l-sec-bizlist .bizlist-intro .txt {
    padding: 20px;
  }
  .l-sec-bizlist .bizlist-intro .txt p {
    font-size: 1.6rem;
  }
  .l-sec-bizlist .bizlist-intro .txt a {
    margin-top: 20px;
  }
  .l-sec-bizlist .bizlist-wrap {
    flex-direction: column;
  }
  .l-sec-bizlist .bizlist-wrap .bizlist-box {
    width: 100%;
  }
  .l-sec-bizlist .bizlist-wrap .bizlist-box .txt {
    width: 100%;
  }
  .l-sec-bizlist .bizlist-wrap .bizlist-box .txt ul > li > ul {
    padding-top: 1em;
  }
  .l-sec-bizlist .bizlist-wrap .bizlist-box .txt ul > li > ul li {
    width: 100%;
  }
}
/* ---------------
ライフサイエンス事業
------------------ */
.l-business-oleo .l-pttl {
  background-image: url(../images/business/functional-materials/index-pttl-bg.jpg);
}

.life-sublist ul li {
  font-size: 1.3rem;
  position: relative;
  padding-left: 1em;
}

.life-sublist ul li::before {
  content: "・";
  position: absolute;
  left: 0;
}

.life-sublist {
  margin-bottom: 20px;
  line-height: 1.6;
}

/* ---------------
DDS事業
------------------ */
/* ---------------
防錆事業
------------------ */
.coating-box {
  display: block;
}

/* ---------------
物流・不動産他
------------------ */
/* ---------------
追記：business/style.css
------------------ */
.listline-wrap {
  overflow-x: auto;
}

.sec-sub-ttl {
  margin-top: 1.5em;
  margin-bottom: 1em;
  color: #006599;
  font-size: 2.4rem;
  font-weight: 700;
}

.sec-sub-ttl:first-of-type {
  margin-top: 0;
}

.sec-sub-ttl a {
  color: inherit;
}

.sec-sub-ttl a:hover,
.sec-sub-ttl a:focus {
  text-decoration: underline;
}

.text_imgs {
  width: 90px;
  vertical-align: middle;
}

.cnts-main .cnts-wrap .cnts-box table.listline .vertical {
  writing-mode: vertical-rl;
}

.cnts-main .cnts-wrap .cnts-box table.listline .rotate {
  -webkit-transform: rotate(180deg);
  -moz-text-align-last: left;
  display: block;
  transform: rotate(180deg);
  font-weight: inherit;
  text-align-last: left;
}

.cnts-sub nav dl dt a span {
  display: block;
}

.l-breadcrumbs .l-inner ul {
  flex-wrap: wrap;
}

.l-sec-intro ul {
  margin-bottom: 1.5em;
  padding-left: 1.5em;
}

.l-sec-intro ul li {
  list-style: disc;
}

.l-sec-intro ul li {
  margin-bottom: 0.5em;
}

.l-sec-intro ul li:last-child {
  margin-bottom: 0;
}

.l-sec-intro .lead {
  margin-bottom: 1em;
}

.l-sec-intro .lead:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .sec-sub-ttl {
    font-size: 1.8rem;
  }
}
/* ---------------
追記：個別調整takatae
------------------ */
.cnts-main .cnts-wrap .cnts-box .flt-left-2img {
  float: left;
  width: 48%;
  margin-right: 2%;
  margin-bottom: 30px;
}

.cnts-main .cnts-wrap .cnts-box .flt-right-2img {
  float: right;
  width: 48%;
  margin-left: 2%;
  margin-bottom: 30px;
}

.cnts-main .cnts-wrap .cnts-box .flt-left-imgl {
  float: left;
  width: 40%;
  margin-bottom: 30px;
}

.cnts-main .cnts-wrap .cnts-box .flt-right-imgl {
  float: right;
  width: 55%;
  margin-left: 5%;
  margin-bottom: 30px;
}

.cnts-main .cnts-wrap .cnts-box .hikaku {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.cnts-main .cnts-wrap .cnts-box .hikaku_lr {
  width: 45%;
}

.cnts-main .cnts-wrap .cnts-box .hikaku_m {
  width: 5%;
  margin-top: auto;
  margin-bottom: 20px;
}

.cnts-main .cnts-wrap .cnts-box .text_imgl {
  width: 120px;
  vertical-align: middle;
}

.cnts-main .cnts-wrap .cnts-box .text_imgs {
  width: 90px;
  vertical-align: middle;
}

.cnts-main .cnts-wrap .cnts-box .column4 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.cnts-main .cnts-wrap .cnts-box .column4_column {
  width: 24%;
}

.cnts-main .cnts-wrap .cnts-box .dds-bnr {
  width: 180px;
  height: 40px;
}

/* ==========================================================================
製品・カタログ検索
========================================================================== */
/* ---------------
INDEX
------------------ */
.l-product-search-index .l-pttl {
  background-image: url(../images/product-search/index-pttl-bg.jpg);
}

.l-product-search-btns {
  background: #fff;
}

.l-product-search-btns-box {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 30px;
}
.l-product-search-btns-box > div {
  margin-left: 30px;
}
.l-product-search-btns-box p {
  font-size: 1.8rem;
}
.l-product-search-btns-box .searchbox {
  position: relative;
}
.l-product-search-btns-box .searchbox label {
  display: block;
  font-size: 0;
  line-height: 1;
  height: 0;
  width: 0;
  margin: 0;
  padding: 0;
}
.l-product-search-btns-box .searchbox input {
  min-width: 300px;
  padding: 10px 10px;
  border: 1px solid #707070;
  border-radius: 4px;
}
.l-product-search-btns-box .searchbox .searchmark {
  position: absolute;
  background: url(../images/common/icon-search.png) no-repeat;
  background-size: 22px auto;
  width: 22px;
  height: 22px;
  border: none;
  border-radius: 2px;
  left: auto;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto 0 auto auto;
  cursor: pointer;
}
.l-product-search-btns-box .searchbox .searchmark:hover {
  opacity: 0.5;
}
.l-product-search-btns-box .search50on a.btn {
  padding: 0 60px 0 30px;
  height: 38px;
  border-radius: 20px;
  border: 1px solid #000;
}
.l-product-search-btns-box .search50on a.btn:hover {
  border: 1px solid #127ACC;
}
.l-product-search-btns-box .search50on a.btn span {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 36px;
}
.l-product-search-btns-box .search50on a.btn span::after {
  top: -3px;
  right: -32px;
  transform: rotate(135deg);
}
.l-product-search-btns-box .search50on a.btn.is-active span::after {
  top: 3px;
  right: -32px;
  transform: rotate(-45deg);
}

@media screen and (max-width: 768px) {
  .l-product-search-btns-box {
    flex-direction: column;
    justify-content: center;
    margin-bottom: 20px;
  }
  .l-product-search-btns-box > div {
    margin-left: 0;
    margin-bottom: 15px;
    width: 100%;
  }
  .l-product-search-btns-box p {
    max-width: 400px;
    font-size: 1.6rem;
    margin: 0 auto;
  }
  .l-product-search-btns-box .searchbox {
    text-align: center;
  }
  .l-product-search-btns-box .searchbox input {
    text-align: left;
    width: 100%;
    max-width: 400px;
    padding: 10px 10px;
    margin: 0 auto;
  }
  .l-product-search-btns-box .search50on a.btn {
    width: 100%;
    max-width: 400px;
  }
}
.abc-list {
  display: flex;
  justify-content: center;
  border: 1px solid #000;
  border-radius: 10px;
  margin-bottom: 60px;
  padding: 30px;
}
.abc-list ul {
  width: 20%;
  margin: 0 2.5% 0;
}
.abc-list ul li {
  width: 100%;
}
.abc-list ul li a {
  display: inline-block;
  width: 2em;
  padding: 10px 0;
  text-align: center;
}
.abc-list ul li a:hover {
  color: #127ACC;
}

@media screen and (max-width: 768px) {
  .abc-list {
    flex-direction: column;
    border-radius: 10px;
    margin-bottom: 30px;
    padding: 15px;
  }
  .abc-list ul {
    width: 100%;
    margin: 0 auto 0;
  }
  .abc-list ul li {
    width: 100%;
    text-align: center;
  }
  .abc-list ul li a {
    display: inline-block;
    width: 15%;
    padding: 10px 0;
    text-align: center;
  }
  .abc-list ul li a:hover {
    color: #127ACC;
  }
}
.l-product-search-btns-genre ul.genre-list-main {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 60px;
}
@media screen and (min-width: 769px) {
  .l-product-search-btns-genre ul.genre-list-main::after {
    display: block;
    content: "";
    width: 30%;
  }
}
.l-product-search-btns-genre ul.genre-list-main li {
  text-align: center;
  width: 30%;
  margin-bottom: 30px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  background: #fff;
}
.l-product-search-btns-genre ul.genre-list-main li img {
  display: block;
}
.l-product-search-btns-genre ul.genre-list-main li p {
  text-align: center;
  padding: 30px 15px;
}
.l-product-search-btns-genre ul.genre-list-main li p span {
  position: relative;
  font-weight: bold;
  font-size: 1.8rem;
}
.l-product-search-btns-genre ul.genre-list-main li p span::after {
  content: "";
  position: absolute;
  display: block;
  position: absolute;
  top: 0;
  right: -30px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 7px;
  height: 7px;
  border-top: 2px solid #127ACC;
  border-right: 2px solid #127ACC;
  transform: rotate(45deg);
}
.l-product-search-btns-genre ul.genre-list-main li.is-active p {
  background-color: #127ACC;
}
.l-product-search-btns-genre ul.genre-list-main li.is-active p span {
  color: #fff;
  border-bottom: 2px solid #fff;
}
.l-product-search-btns-genre ul.genre-list-main li.is-active p span::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.l-product-search-btns-genre ul.genre-list-sub li .genre-list-sub-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.l-product-search-btns-genre ul.genre-list-sub li .genre-list-sub-menu.genre-list-sub-menu-02 {
  justify-content: center;
}
.l-product-search-btns-genre ul.genre-list-sub li .genre-list-sub-menu.genre-list-sub-menu-02 a {
  margin-left: 2.5%;
  margin-right: 2.5%;
}
.l-product-search-btns-genre ul.genre-list-sub li .genre-list-sub-menu.genre-list-sub-menu-03 {
  min-height: 60px;
}
.l-product-search-btns-genre ul.genre-list-sub li .genre-list-sub-menu a {
  width: 30%;
  position: relative;
  text-align: center;
  min-height: 60px;
  margin-bottom: 45px;
  background: #E7F3FC;
  position: relative;
  display: block;
  padding: 20px 0;
  transition: 0.2s linear;
}
.l-product-search-btns-genre ul.genre-list-sub li .genre-list-sub-menu a span {
  font-weight: bold;
}
.l-product-search-btns-genre ul.genre-list-sub li .genre-list-sub-menu a:hover {
  background: #127ACC;
}
.l-product-search-btns-genre ul.genre-list-sub li .genre-list-sub-menu a:hover span {
  color: #fff;
}
.l-product-search-btns-genre ul.genre-list-sub li .genre-list-sub-menu a.is-active {
  background: #127ACC;
  color: #fff;
}
.l-product-search-btns-genre ul.genre-list-sub li .genre-list-sub-menu a.is-active::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: auto;
  bottom: -22px;
  margin: auto auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 22px 13px 0 13px;
  transition: 0.2s linear;
  border-color: #127ACC transparent transparent transparent;
}

@media screen and (max-width: 768px) {
  .l-product-search-btns-genre ul {
    justify-content: center;
    flex-direction: column;
  }
  .l-product-search-btns-genre ul li {
    width: 100%;
  }
  .l-product-search-btns-genre ul.genre-list-main {
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .l-product-search-btns-genre ul.genre-list-main li {
    width: 100%;
    margin-bottom: 20px;
  }
  .l-product-search-btns-genre ul.genre-list-main li img {
    display: none;
  }
  .l-product-search-btns-genre ul.genre-list-main li p {
    text-align: center;
    padding: 15px 15px;
  }
  .l-product-search-btns-genre ul.genre-list-main li p span {
    font-size: 1.2rem;
  }
  .l-product-search-btns-genre ul.genre-list-main li p span::after {
    width: 5px;
    height: 5px;
  }
  .l-product-search-btns-genre ul.genre-list-sub {
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
  }
  .l-product-search-btns-genre ul.genre-list-sub li {
    width: 100%;
  }
  .l-product-search-btns-genre ul.genre-list-sub li .genre-list-sub-menu.genre-list-sub-menu-03 {
    min-height: 0;
  }
  .l-product-search-btns-genre ul.genre-list-sub li .genre-list-sub-menu a {
    min-height: 30px;
    margin-bottom: 30px;
  }
  .l-product-search-btns-genre ul.genre-list-sub li .genre-list-sub-menu a span {
    font-size: 1.1rem;
  }
  .l-product-search-btns-genre ul.genre-list-sub li .genre-list-sub-menu a.is-active::after {
    bottom: -14px;
    border-width: 14px 8px 0 8px;
  }
}
.l-product-search-results {
  padding: 40px 0 120px;
  background: #E7F3FC;
}
.l-product-search-results a.btn-all {
  display: block;
  width: 224px;
  height: 50px;
  margin: 0 0 40px auto;
  border-radius: 25px;
  border: 1px solid #000;
  background: transparent;
  text-align: center;
}
.l-product-search-results a.btn-all span {
  position: relative;
  line-height: 48px;
}
.l-product-search-results a.btn-all:hover {
  background-color: #127ACC;
  border: 1px solid #127ACC;
}
.l-product-search-results a.btn-all:hover span {
  color: #fff;
}
.l-product-search-results dl.acrd {
  margin-bottom: 30px;
  border: 1px solid #DFE4EB;
}
.l-product-search-results dl.acrd .acrd-btn {
  position: relative;
  background: #DFE4EB;
  padding: 15px 25px;
  cursor: pointer;
}
.l-product-search-results dl.acrd .acrd-btn span {
  display: inline-block;
  font-weight: bold;
  border-left: 4px solid #127ACC;
  padding: 2px 0 2px 10px;
}
.l-product-search-results dl.acrd .acrd-btn::before, .l-product-search-results dl.acrd .acrd-btn::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  width: 20px;
  height: 2px;
  margin: auto 0;
  background: #000;
  transition: all 0.25s ease-out;
}
.l-product-search-results dl.acrd .acrd-btn::before {
  transform: rotate(90deg);
}
.l-product-search-results dl.acrd .acrd-btn.is-active::before {
  transform: rotate(180deg);
}
.l-product-search-results dl.acrd .acrd-panel {
  background: #fff;
  padding: 30px 40px;
}
.l-product-search-results dl.acrd .acrd-panel a {
  color: #127ACC;
}
.l-product-search-results dl.acrd .acrd-panel a:hover {
  color: #64A8DE;
}
.l-product-search-results dl.acrd .acrd-panel a.group-link {
  display: block;
  margin-top: 15px;
  text-align: right;
  margin: 0 15px 0 auto;
}
.l-product-search-results dl.acrd .acrd-panel a.group-link span {
  position: relative;
  font-size: 1.4rem;
  color: #000;
}
.l-product-search-results dl.acrd .acrd-panel a.group-link span::after {
  content: "";
  position: absolute;
  display: block;
  position: absolute;
  top: 0;
  right: -15px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 7px;
  height: 7px;
  border-top: 2px solid #127ACC;
  border-right: 2px solid #127ACC;
  transform: rotate(45deg);
}
.l-product-search-results dl.acrd .acrd-panel a.group-link:hover span {
  color: #127ACC;
}

@media screen and (max-width: 768px) {
  .l-product-search-results {
    padding: 20px 0 60px;
  }
  .l-product-search-results a.btn-all {
    width: 128px;
    height: 40px;
    margin: 0 0 20px auto;
    border-radius: 20px;
  }
  .l-product-search-results a.btn-all span {
    line-height: 38px;
    font-size: 1.2rem;
  }
  .l-product-search-results dl.acrd {
    margin-bottom: 20px;
  }
  .l-product-search-results dl.acrd .acrd-btn {
    padding: 10px 20px;
  }
  .l-product-search-results dl.acrd .acrd-btn span {
    font-size: 1.4rem;
  }
  .l-product-search-results dl.acrd .acrd-btn::before, .l-product-search-results dl.acrd .acrd-btn::after {
    right: 10px;
    width: 15px;
  }
  .l-product-search-results dl.acrd .acrd-panel {
    padding: 20px 20px;
  }
  .l-product-search-results dl.acrd .acrd-panel a {
    font-size: 1.2rem;
  }
  .l-product-search-results dl.acrd .acrd-panel a.group-link {
    margin-top: 20px;
  }
  .l-product-search-results dl.acrd .acrd-panel a.group-link span {
    font-size: 1.2rem;
  }
}
/* ---------------
検索結果一覧
------------------ */
.l-product-search-resultlist .l-breadcrumbs {
  background: #fff;
}
.l-product-search-resultlist .l-breadcrumbs .l-inner {
  margin-bottom: 0;
}

.l-product-search-resultlist .tag-box {
  padding: 35px 0 50px;
  background: #fff;
}
.l-product-search-resultlist .tag-box .tag-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-height: 130px;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .l-product-search-resultlist .tag-box .tag-list::before, .l-product-search-resultlist .tag-box .tag-list::after {
    content: "";
    display: block;
    width: calc(25% - 7px);
  }
  .l-product-search-resultlist .tag-box .tag-list::before {
    order: 1;
  }
}
.l-product-search-resultlist .tag-box .tag-list li {
  position: relative;
  width: calc(25% - 7px);
  border: 1px solid #707070;
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 1rem;
  transition: 0.25s ease-out;
  min-height: 56px;
  display: table;
  overflow: hidden;
}
.l-product-search-resultlist .tag-box .tag-list li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 0.5em;
  display: table-cell;
  vertical-align: middle;
  overflow: hidden;
  max-height: 54px;
}
.l-product-search-resultlist .tag-box .tag-list li:hover {
  background-color: #64A8DE;
  border: 1px solid #64A8DE;
}
.l-product-search-resultlist .tag-box .tag-list li:hover a {
  color: #fff;
}
.l-product-search-resultlist .tag-box .tag-list li.is-active {
  background: #127ACC;
  border: 1px solid #127ACC;
}
.l-product-search-resultlist .tag-box .tag-list li.is-active a {
  color: #fff;
}
.l-product-search-resultlist .tag-box .tag-list.is-active {
  max-height: initial;
}
.l-product-search-resultlist .tag-box .tag-more {
  margin-top: 35px;
  text-align: center;
}
.l-product-search-resultlist .tag-box .tag-more a {
  display: inline-block;
  position: relative;
}
.l-product-search-resultlist .tag-box .tag-more a span {
  position: relative;
  display: block;
}
.l-product-search-resultlist .tag-box .tag-more a span::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-left: 8px;
  margin-top: -5px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #127ACC;
  border-right: 2px solid #127ACC;
  transform: rotate(135deg);
}
.l-product-search-resultlist .tag-box .tag-more.is-active a span::after {
  margin-top: 5px;
  transform: rotate(-45deg);
}

@media screen and (max-width: 768px) {
  .l-product-search-resultlist .tag-box {
    padding: 15px 0 35px;
  }
  .l-product-search-resultlist .tag-box .tag-list {
    max-height: 190px;
  }
  .l-product-search-resultlist .tag-box .tag-list li {
    position: relative;
    width: 47.5%;
    font-size: 1.4rem;
  }
  .l-product-search-resultlist .tag-box .tag-more {
    margin-top: 15px;
  }
}
.l-product-search-resultlist .l-cnts {
  padding-top: 50px;
}

.l-product-search-resultlist .result-data {
  display: flex;
  justify-content: space-between;
}
.l-product-search-resultlist .result-data p {
  width: 50%;
}
.l-product-search-resultlist .result-data p.words {
  text-align: right;
}
.l-product-search-resultlist .result-data .searchbox {
  min-width: 200px;
  padding: 7px 10px;
  background: url(../images/common/icon-search.png) right 10px center transparent no-repeat;
  background-size: 16px auto;
  border: 1px solid #707070;
  border-radius: 4px;
}

@media screen and (max-width: 768px) {
  .l-product-search-resultlist .result-data {
    flex-direction: column;
  }
  .l-product-search-resultlist .result-data p {
    width: 100%;
  }
  .l-product-search-resultlist .result-data p.number {
    margin-bottom: 15px;
  }
  .l-product-search-resultlist .result-data p.words {
    text-align: left;
  }
  .l-product-search-resultlist .result-data .searchbox {
    min-width: 200px;
    width: 100%;
    margin-top: 7px;
  }
}
.l-product-search-resultlist .result-cnts .pagination {
  position: absolute;
}
.l-product-search-resultlist .result-cnts .pagination ul {
  position: relative;
  padding: 20px 20px;
  display: flex;
}
.l-product-search-resultlist .result-cnts .pagination ul li {
  margin-right: 10px;
}
.l-product-search-resultlist .result-cnts .pagination ul li:last-child {
  margin-right: 0;
}
.l-product-search-resultlist .result-cnts .pagination ul li a {
  font-size: 1.4rem;
}
.l-product-search-resultlist .result-cnts .pagination .page-next, .l-product-search-resultlist .result-cnts .pagination .page-prev {
  position: absolute;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  margin: auto;
  top: 0;
  bottom: 0;
  width: 7px;
  height: 7px;
  border-top: 2px solid #127ACC;
  border-right: 2px solid #127ACC;
}
.l-product-search-resultlist .result-cnts .pagination .page-prev {
  left: 0;
  right: auto;
  transform: rotate(-135deg);
}
.l-product-search-resultlist .result-cnts .pagination .page-next {
  right: 0;
  left: auto;
  transform: rotate(45deg);
}
.l-product-search-resultlist .result-cnts.pagenation-btm {
  bottom: 20px;
}
.l-product-search-resultlist .result-cnts .btn-list {
  margin-top: 30px;
}
.l-product-search-resultlist .result-cnts .btn-list li a {
  display: block;
  border: 1px solid #000;
  height: 40px;
  width: 100%;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.2);
  text-align: center;
  transition: all 0.25s ease-out;
}
.l-product-search-resultlist .result-cnts .btn-list li a:hover {
  opacity: 0.5;
}
.l-product-search-resultlist .result-cnts .btn-list li a.btn-pdf {
  font-size: 1.4rem;
  height: 2.2em;
  line-height: 2em;
  padding-right: 1em;
}
.l-product-search-resultlist .result-cnts .btn-list li a.btn-pdf span {
  position: relative;
}
.l-product-search-resultlist .result-cnts .btn-list li a.btn-pdf span::after {
  content: "";
  display: inline-block;
  margin: 2px 0 0 1px;
  vertical-align: middle;
  width: 15px;
  height: 17px;
  background: url(../images/common/icon-pdf.svg) no-repeat;
  background-size: 100% auto;
  right: -20px;
}

@media screen and (max-width: 768px) {
  .l-product-search-resultlist .result-cnts .pagination ul {
    padding: 20px 20px;
  }
  .l-product-search-resultlist .result-cnts .pagination ul li a {
    font-size: 1.2rem;
  }
  .l-product-search-resultlist .result-cnts.pagination-btm {
    bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  .l-product-search-resultlist .cnts-sub {
    display: none;
  }
}
.l-product-search-resultlist .l-product-search-btns {
  padding: 50px 0 35px;
}

@media screen and (max-width: 768px) {
  .l-product-search-resultlist .l-product-search-btns {
    padding: 30px 0 15px;
  }
}
.l-product-search-resultlist .notes-contact {
  background: #E7F3FC;
  padding: 50px 0;
}
.l-product-search-resultlist .notes-contact p {
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .l-product-search-resultlist .notes-contact {
    padding: 30px 0;
  }
  .l-product-search-resultlist .notes-contact p {
    font-size: 1.6rem;
  }
}
.l-product-search-resultlist .result-ttl {
  margin-bottom: 30px;
}

/* ==========================================================================
NEWS
========================================================================== */
/* ---------------
一覧
------------------ */
.l-news .l-main {
  background: #E7F3FC;
}
.l-news .l-news-cnts {
  margin-bottom: 160px;
}
.l-news .l-news-cnts .l-inner {
  display: flex;
  justify-content: space-between;
}
.l-news .l-news-cnts .l-inner .news-main {
  flex: 1;
}
.l-news .l-news-cnts .l-inner .news-sub {
  margin-left: 50px;
  width: 130px;
}

.l-news .l-news-cnts .news-main .lead {
  font-size: 1.8rem;
  margin: 0 0 30px;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-btn {
  display: flex;
  justify-content: flex-start;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-btn li {
  position: relative;
  width: 17%;
  margin-right: 3.7%;
  padding: 20px;
  text-align: center;
  cursor: pointer;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-btn li:last-child {
  margin-right: 0;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-btn li i {
  display: inline-block !important;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.tab-all, .l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.tab-all.is-active::before {
  background: #FFBCBC;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.tab-company, .l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.tab-company.is-active::before {
  background: #64A8DE;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.tab-ir, .l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.tab-ir.is-active::before {
  background: #CBD9B8;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.tab-business, .l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.tab-business.is-active::before {
  background: #FAEDA7;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.tab-exhibition, .l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.tab-exhibition.is-active::before {
  background: #C2C2CB;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.is-active::before, .l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.is-active::after {
  content: "";
  position: absolute;
  display: block;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.is-active::before {
  width: 100%;
  height: 20px;
  position: absolute;
  top: auto;
  right: 0;
  bottom: -20px;
  left: 0;
  margin: auto;
  z-index: 2;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.is-active::after {
  width: 21px;
  height: 21px;
  position: absolute;
  top: auto;
  right: 0;
  bottom: -30px;
  left: 0;
  margin: auto;
  background: url(../images/common/icon-arrow-down.png) no-repeat;
  background-size: 100% 100%;
  z-index: 3;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li {
  background: #fff;
  padding: 60px 40px;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article {
  padding: 35px 0 25px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #707070;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .date {
  width: 15%;
  margin-right: 30px;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .date .icon-new {
  font-size: 1.2rem;
  display: inline-block;
  height: 24px;
  padding: 5px 20px;
  margin-bottom: 10px;
  border: 1px solid #000;
  border-radius: 12px;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt {
  overflow: hidden;
  flex: 1;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt p {
  line-height: 1.692;
  margin-bottom: 20px;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt p a:hover {
  text-decoration: underline;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt ul {
  display: flex;
  font-size: 1.3rem;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt .cat {
  width: 75%;
  float: left;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt .cat li {
  margin-right: 15px;
  height: 26px;
  padding: 5px 20px;
  margin-right: 10px;
  margin-bottom: 10px;
  border: 1px solid #000;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt .cat li a {
  display: inline-block;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt .pdf {
  float: right;
  width: 25%;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt .pdf li a {
  height: 26px;
  display: inline-block;
  padding: 5px 20px;
  margin-right: 10px;
  border: 1px solid #000;
  border-radius: 13px;
}
.l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt .pdf li a:hover {
  background: #127ACC;
  color: #fff;
  border: 1px solid #127ACC;
}
.l-news .l-news-cnts .news-main .news-pager {
  background: #fff;
  padding: 40px 30px 100px;
}
.l-news .l-news-cnts .news-main .news-pager ul {
  display: flex;
  justify-content: space-between;
}
.l-news .l-news-cnts .news-main .news-pager ul li {
  line-height: 21px;
}
.l-news .l-news-cnts .news-main .news-pager ul li.newest {
  width: 20%;
  text-align: left;
}
.l-news .l-news-cnts .news-main .news-pager ul li.oldest {
  width: 20%;
  text-align: right;
}
.l-news .l-news-cnts .news-main .news-pager ul li.current {
  width: 60%;
  text-align: center;
}
.l-news .l-news-cnts .news-main .news-pager ul li.return {
  width: 40%;
}
.l-news .l-news-cnts .news-main .news-pager ul li a img {
  display: inline-block;
  width: 21px;
  height: 21px;
  margin: 0 10px;
}
.l-news .l-news-cnts .news-main .news-pager ul li a:hover {
  opacity: 0.75;
}

.l-news .l-news-cnts .news-sub .news-sub-nav > ul > li dl dt {
  padding: 10px;
  background: #DFE4EB;
}
.l-news .l-news-cnts .news-sub .news-sub-nav > ul > li dl dt span {
  font-weight: bold;
}
.l-news .l-news-cnts .news-sub .news-sub-nav > ul > li dl dt.acrd-btn {
  position: relative;
  background: #DFE4EB;
  padding: 10px 25px 10px 10px;
  cursor: pointer;
}
.l-news .l-news-cnts .news-sub .news-sub-nav > ul > li dl dt.acrd-btn::before, .l-news .l-news-cnts .news-sub .news-sub-nav > ul > li dl dt.acrd-btn::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  width: 15px;
  height: 2px;
  margin: auto 0;
  background: #000;
  transition: 0.2s linear;
}
.l-news .l-news-cnts .news-sub .news-sub-nav > ul > li dl dt.acrd-btn::before {
  transform: rotate(90deg);
}
.l-news .l-news-cnts .news-sub .news-sub-nav > ul > li dl dt.acrd-btn.is-active::before {
  transform: rotate(180deg);
}
.l-news .l-news-cnts .news-sub .news-sub-nav > ul > li dl dd > ul {
  background: #fff;
  padding: 20px 10px 20px 25px;
}
.l-news .l-news-cnts .news-sub .news-sub-nav > ul > li dl dd > ul > li {
  margin-bottom: 20px;
}
.l-news .l-news-cnts .news-sub .news-sub-nav > ul > li dl dd > ul > li:last-child {
  margin-bottom: 0;
}
.l-news .l-news-cnts .news-sub .news-sub-nav > ul > li dl dd > ul > li > a {
  position: relative;
  display: block;
}
.l-news .l-news-cnts .news-sub .news-sub-nav > ul > li dl dd > ul > li > a::before {
  content: "";
  position: absolute;
  display: block;
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: -18px;
  margin: auto;
  width: 7px;
  height: 7px;
  border-top: 2px solid #127ACC;
  border-right: 2px solid #127ACC;
  transform: rotate(45deg);
}

@media screen and (max-width: 768px) {
  .l-news .l-news-cnts {
    margin-bottom: 60px;
  }
  .l-news .l-news-cnts .l-inner {
    flex-direction: column;
  }
  .l-news .l-news-cnts .l-inner .news-main {
    margin-bottom: 30px;
  }
  .l-news .l-news-cnts .l-inner .news-sub {
    margin-left: 0;
    width: 100%;
  }
  .l-news .l-news-cnts .news-main .lead {
    font-size: 1.6rem;
    line-height: 1.83;
    margin: 0 0 20px;
  }
  .l-news .l-news-cnts .news-main .news-tab ul.tab-btn li {
    width: 18.5%;
    padding: 10px 5px;
    font-size: 1rem;
  }
  .l-news .l-news-cnts .news-main .news-tab ul.tab-btn li i.pc {
    display: none !important;
  }
  .l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.is-active::before {
    height: 10px;
    position: absolute;
    top: auto;
    right: 0;
    bottom: -10px;
    left: 0;
    margin: auto;
  }
  .l-news .l-news-cnts .news-main .news-tab ul.tab-btn li.is-active::after {
    width: 15px;
    height: 15px;
    position: absolute;
    top: auto;
    right: 0;
    bottom: -17px;
    left: 0;
    margin: auto;
  }
  .l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li {
    padding: 40px 5%;
  }
  .l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article {
    padding: 30px 0;
    align-items: flex-start;
    flex-direction: column;
  }
  .l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .date {
    width: 100%;
    margin-right: 0;
    margin-bottom: 15px;
  }
  .l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .date .icon-new {
    font-size: 1rem;
    display: inline-block;
    height: 18px;
    padding: 3px 10px;
    margin-bottom: 0;
    margin-right: 10px;
    border-radius: 8px;
  }
  .l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt {
    width: 100%;
  }
  .l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt p {
    font-size: 1.2rem;
    margin-bottom: 20px;
  }
  .l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt ul {
    display: flex;
    font-size: 1rem;
  }
  .l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt .cat {
    width: 100%;
    float: none;
    margin-bottom: 20px;
  }
  .l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt .cat li {
    height: 22px;
    padding: 5px 20px;
    margin-right: 10px;
  }
  .l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt .pdf {
    float: none;
    width: 100%;
  }
  .l-news .l-news-cnts .news-main .news-tab ul.tab-panel > li article .txt .pdf li a {
    height: 22px;
    padding: 5px 20px;
    margin-right: 10px;
    border-radius: 11px;
  }
  .l-news .l-news-cnts .news-main .news-pager {
    padding: 30px 3% 60px;
  }
  .l-news .l-news-cnts .news-main .news-pager ul {
    display: flex;
    justify-content: space-between;
  }
  .l-news .l-news-cnts .news-main .news-pager ul li {
    font-size: 1.2rem;
    line-height: 15px;
  }
  .l-news .l-news-cnts .news-main .news-pager ul li.newest {
    width: 20%;
  }
  .l-news .l-news-cnts .news-main .news-pager ul li.oldest {
    width: 20%;
  }
  .l-news .l-news-cnts .news-main .news-pager ul li.current {
    width: 60%;
  }
  .l-news .l-news-cnts .news-main .news-pager ul li.return {
    width: 40%;
  }
  .l-news .l-news-cnts .news-main .news-pager ul li a {
    width: 15px;
    height: 15px;
    margin: 0 5px;
  }
}
.news-body {
  background: #fff;
  padding: 60px 40px 60px;
}
.news-body article {
  padding-bottom: 60px;
  border-bottom: 1px solid #000;
}

.news-body .news-ttl {
  font-size: 1.8rem;
  line-height: 1.83;
  margin-bottom: 20px;
}

.news-body .news-info {
  display: flex;
  align-items: center;
  padding-bottom: 20px;
  border-bottom: 1px solid #000;
}
.news-body .news-info .date {
  width: 25%;
}
.news-body .news-info .cat {
  flex: 1;
  display: flex;
  justify-content: flex-end;
}
.news-body .news-info .cat li {
  margin-left: 15px;
  height: 26px;
  display: inline-block;
  padding: 5px 20px;
  border: 1px solid #000;
}

.news-body .news-info .pdf,
.news-body .news-info2 .pdf {
  display: flex;
  justify-content: flex-end;
  width: 200px;
}
.news-body .news-info .pdf li a,
.news-body .news-info2 .pdf li a {
  height: 26px;
  display: inline-block;
  padding: 5px 20px;
  margin-right: 10px;
  border: 1px solid #000;
  border-radius: 13px;
}
.news-body .news-info .pdf li a:hover,
.news-body .news-info2 .pdf li a:hover {
  background: #127ACC;
  color: #fff;
  border: 1px solid #127ACC;
}

.news-body .news-info2 {
  padding-top: 20px;
}
.news-body .news-info2 .pdf {
  width: 100%;
}

.news-body .news-txt {
  padding: 0;
}
.news-body .news-txt p {
  font-size: 1.3rem;
  line-height: 1.692;
  margin-bottom: 2.5em;
}
.news-body .news-txt p:last-child {
  margin-bottom: 0;
}
.news-body .news-txt p a {
  text-decoration: underline;
}
.news-body .news-txt p a:hover {
  color: #127ACC;
  text-decoration: none;
}
.news-body .news-txt h2, .news-body .news-txt h3, .news-body .news-txt h4, .news-body .news-txt h5, .news-body .news-txt h6, .news-body .news-txt h7 {
  font-weight: bold;
  margin-bottom: 1.5em;
}

@media screen and (max-width: 768px) {
  .news-body {
    padding: 30px 5%;
  }
  .news-body .news-ttl {
    font-size: 1.6rem;
    line-height: 1.83;
    margin-bottom: 20px;
  }
  .news-body .news-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 20px;
    border-bottom: 1px solid #000;
  }
  .news-body .news-info .date {
    width: 100%;
    font-size: 1.2rem;
    margin-bottom: 15px;
  }
  .news-body .news-info .cat {
    margin-bottom: 15px;
    font-size: 1rem;
    width: 100%;
    justify-content: flex-start;
  }
  .news-body .news-info .cat li {
    margin-left: 0;
    margin-right: 10px;
    height: 22px;
    display: inline-block;
    padding: 4px 20px;
    border: 1px solid #000;
  }
  .news-body .news-info .pdf,
.news-body .news-info2 .pdf {
    font-size: 1rem;
    justify-content: flex-start;
    width: 100%;
  }
  .news-body .news-info .pdf li a,
.news-body .news-info2 .pdf li a {
    height: 22px;
    display: inline-block;
    padding: 4px 20px;
    margin-right: 10px;
    border: 1px solid #000;
    border-radius: 13px;
  }
  .news-body .news-info .pdf li a:hover,
.news-body .news-info2 .pdf li a:hover {
    background: #127ACC;
    color: #fff;
    border: 1px solid #127ACC;
  }
  .news-body .news-txt {
    padding: 0;
    border-bottom: 1px solid #000;
  }
  .news-body .news-txt p {
    font-size: 1.3rem;
    line-height: 1.692;
    margin-bottom: 2.5em;
  }
  .news-body .news-txt p:last-child {
    margin-bottom: 0;
  }
  .news-body .news-txt p a {
    text-decoration: underline;
  }
  .news-body .news-txt p a:hover {
    color: #127ACC;
    text-decoration: none;
  }
  .news-body .news-txt h2, .news-body .news-txt h3, .news-body .news-txt h4, .news-body .news-txt h5, .news-body .news-txt h6, .news-body .news-txt h7 {
    font-weight: bold;
    margin-bottom: 1.5em;
  }
}
/* ==========================================================================
会社情報
========================================================================== */
.l-company-index .l-pttl {
  background-image: url("../images/company/company-pttl-bg.jpg");
}

.l-sec-business.sec-company {
  padding: 0;
}

.btn-company-list li .btn-more {
  width: 100%;
  background-color: #FFFFFF;
}

.l-sec-bizlist .bizlist-intro.sec-company {
  margin: 0 auto;
}

@media screen and (min-width: 769px) {
  .btn-company-list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
  }
  .btn-company-list li {
    width: 50%;
  }
}
@media screen and (max-width: 768px) {
  .l-sec-bizlist .bizlist-intro.sec-company {
    display: block;
    width: 100%;
    justify-content: flex-start;
  }
  .l-sec-bizlist .bizlist-intro.sec-company .img {
    width: 100%;
  }
  .l-sec-bizlist .bizlist-intro.sec-company .txt {
    width: 100%;
    padding: 20px;
  }
  .l-sec-bizlist .bizlist-intro.sec-company .txt .btn-company-list {
    margin-top: 20px;
  }
  .l-sec-bizlist .bizlist-intro.sec-company .txt a {
    margin-top: 10px;
  }
}
.l-company-index .l-bnrslide {
  background: #fff;
}

/* ---------------
会社情報共通
------------------ */
.l-cnts .l-inner .bg-white-none {
  background: inherit;
}

.bg-white-none .side-nav-white {
  background: #fff;
}

.cnts-sub .side-img01 {
  margin: 40px auto 15px;
}

.cnts-sub a .side-img02 {
  margin: 0 auto 15px;
}

.cnts-message .cnts-wrap .cnts-box img {
  margin: 0 auto 30px;
}

.cnts-message .cnts-wrap .cnts-box .top-link {
  text-align: end;
}

.cnts-message .cnts-wrap h4 {
  border-bottom: 1px solid #127ACC;
  margin-bottom: 13px;
  position: relative;
  padding-left: 10px;
}

.cnts-message .cnts-wrap h4:after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  right: auto;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 4px;
  height: 100%;
  background: #127ACC;
}

@media screen and (max-width: 768px) {
  .cnts-message .cnts-wrap .cnts-box img {
    margin: 0 auto 15px;
  }
}
/* ---------------
message
------------------ */
.cnts-message .cnts-wrap .cnts-box .img-right {
  float: right;
  margin: 0 0 0 30px;
  text-align: center;
}

.cnts-message .cnts-wrap .cnts-box .message-ceo {
  margin-bottom: 10px;
}

.cnts-message .cnts-wrap .cnts-box .flt-right {
  margin-bottom: 0px !important;
}

.cnts-message .cnts-wrap .cnts-box .ceo-sign {
  text-align: end;
}

@media screen and (max-width: 768px) {
  .cnts-message .cnts-wrap .cnts-box .img-right {
    display: none;
  }
  .cnts-message .cnts-wrap .cnts-box .sp {
    width: 60%;
    margin: 0 auto;
  }
  .cnts-message .cnts-wrap .cnts-box .sp .ceo-name {
    text-align: center;
    margin-bottom: 15px;
  }
}
/* ---------------
management
------------------ */
.cnts-management .cnts-wrap .cnts-box table tr th {
  width: 6%;
  text-align: justify;
}

.cnts-management .cnts-wrap .cnts-box table tr td {
  text-align: justify;
}

/* ---------------
conduct
------------------ */
.cnts-conduct ul {
  padding: 15px 15px 15px 30px;
  background: rgb(223, 228, 235);
  margin: 0 auto 30px;
}

.cnts-conduct ul li {
  list-style: none;
  position: relative;
  margin-bottom: 3px;
}

.cnts-conduct ul li:last-child {
  margin-bottom: 0px;
}

.cnts-conduct ul li:before {
  content: "";
  width: 13px;
  height: 13px;
  border-radius: 100%;
  background-color: #000;
  position: absolute;
  top: 0.4rem;
  left: -1.9rem;
}

@media screen and (max-width: 768px) {
  .cnts-conduct ul {
    margin: 0 auto 15px;
  }
  .cnts-conduct ul li:before {
    width: 6px;
    height: 6px;
    top: 0.6rem;
    left: -1.3rem;
  }
}
/* ---------------
ethical
------------------ */
.cnts-ethical .cnts-wrap .cnts-box .mb-on {
  margin-bottom: 30px !important;
}

.cnts-ethical .cnts-wrap .cnts-box .image-float {
  float: right;
  width: auto;
  margin: 0 0 0 30px;
}

.cnts-ethical .pdflink-box img {
  margin: inherit !important;
  width: inherit;
  vertical-align: inherit;
}

.cnts-ethical .pdflink-box a {
  display: inline-block;
  margin-right: 5px;
}

.cnts-ethical .pdflink-box span {
  margin-left: 5px;
}

.cnts-ethical .top-link {
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .cnts-ethical .cnts-wrap .cnts-box .mb-on {
    margin-bottom: 15px !important;
  }
  .cnts-ethical .cnts-wrap .cnts-box .image-float {
    margin: 0 0 0 15px;
    width: 50%;
  }
  .cnts-ethical .top-link {
    margin-top: 15px;
  }
}
/* ---------------
outline
------------------ */
.cnts-outline .cnts-wrap .cnts-box table th, .cnts-outline .cnts-wrap .cnts-box table td {
  vertical-align: middle;
}

.cnts-outline .cnts-wrap .cnts-box table th {
  width: 13% !important;
  text-align: justify !important;
}

.cnts-outline .cnts-wrap .cnts-box table .text-box {
  width: 56% !important;
  text-align: justify !important;
}

.cnts-outline .cnts-wrap .cnts-box table .text-box img {
  width: auto !important;
  margin: 0 auto 7px;
}

.cnts-outline .cnts-wrap .cnts-box table .img-box {
  width: 35% !important;
  text-align: center !important;
  color: #800000;
}

.cnts-outline .cnts-wrap .cnts-box table .img-box .building-img {
  margin-bottom: 0px;
  width: 146px;
}

.cnts-outline .cnts-wrap .cnts-box .officer-box {
  margin-bottom: 0px !important;
}

.cnts-outline .cnts-wrap .cnts-box .officer-box tr td {
  border: none;
}

.cnts-outline .cnts-wrap .cnts-box .officer-box .officer-title {
  padding: 0px;
  text-align: justify;
  width: 40%;
}

.cnts-outline .cnts-wrap .cnts-box .officer-box .officer-name {
  padding: 0 0 0 5px;
  text-align: justify;
  vertical-align: baseline;
}

@media screen and (max-width: 768px) {
  .cnts-outline .cnts-wrap .cnts-box table th {
    width: 13% !important;
    text-align: justify !important;
  }
  .cnts-outline .cnts-wrap .cnts-box table .text-box {
    width: 56% !important;
    text-align: justify !important;
  }
  .cnts-outline .cnts-wrap .cnts-box table .text-box img {
    margin: 0 auto;
  }
  .cnts-outline .cnts-wrap .cnts-box table .img-box {
    width: 35% !important;
    text-align: center !important;
  }
  .cnts-outline .cnts-wrap .cnts-box table .img-box .building-img {
    width: inherit;
  }
}
/* ---------------
history
------------------ */
.cnts-history .cnts-wrap .cnts-box .mb-on {
  margin-bottom: 30px !important;
}

.cnts-history .cnts-wrap .cnts-box .image-float-right {
  float: right;
  margin: 0 0 0 30px;
  width: auto;
}

.cnts-history .cnts-wrap .cnts-box .image-float-left {
  float: left;
  margin: 0 30px 0 0;
  width: auto;
}

.cnts-history .cnts-wrap .cnts-box .table-space-adjust {
  letter-spacing: 0px;
}

.cnts-history .cnts-wrap .cnts-box .space-adjust {
  letter-spacing: 0.02rem;
}

.cnts-history .cnts-wrap table .table-first-style {
  width: 100% !important;
  text-align: justify !important;
  font-weight: bold;
}

.cnts-history .cnts-wrap table .table-second-style {
  width: 10.8% !important;
  text-align: justify !important;
  font-weight: bold;
}

.cnts-history .cnts-wrap table td {
  text-align: justify !important;
  word-break: break-word;
}

@media screen and (max-width: 768px) {
  .cnts-history .cnts-wrap .cnts-box .mb-on {
    margin-bottom: 15px !important;
  }
  .cnts-history .cnts-wrap .cnts-box .image-float-right {
    margin: 0 0 0 15px;
    width: 50%;
  }
  .cnts-history .cnts-wrap .cnts-box .image-float-left {
    margin: 0 15px 0 0;
    width: 50%;
  }
}
/* ---------------
plant
------------------ */
.plant .l-main .l-breadcrumbs {
  background-color: #fff;
}

.plant .l-main .l-breadcrumbs .tab-switching-box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 20px;
}

.plant .l-main .l-breadcrumbs .tab-switching-box .tab-switching {
  width: calc(25% - 7px);
  border: 1px solid #707070;
  text-align: center;
  font-size: 1.8rem;
  padding: 1em 0;
  margin-bottom: 1rem;
}

.plant .l-main .l-breadcrumbs .tab-switching-box .active {
  background-color: #127ACC;
  color: #fff;
  border: none;
}

.plant .l-main .l-breadcrumbs .tab-switching-box:after {
  content: "";
  width: calc(25% - 7px);
}

.plant .l-main .l-breadcrumbs .tab-switching-box .tab-switching:hover {
  cursor: pointer;
}

.plant .l-main .cnts-main h2 {
  font-size: 1.8rem;
  line-height: 1.5;
  border-bottom: 1px solid #707070;
  margin-bottom: 30px;
}

.plant .l-main .cnts-main .cnts-wrap {
  margin-bottom: 50px;
}

.plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 15px;
}

.plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top .factory-txt {
  font-size: 1.8rem;
}

.plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top .factory-txt h3 {
  font-size: 1.8rem;
  position: relative;
  margin-bottom: 30px;
}

.plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top .factory-txt h3:before {
  content: "";
  width: 4px;
  height: 100%;
  position: absolute;
  top: 50%;
  left: -10px;
  background-color: #127ACC;
  transform: translate(0, -50%);
}

.plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top .factory-txt a,
.plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top .factory-txt p {
  font-size: 1.8rem;
  display: block;
  position: relative;
  transition: all 0.25s ease-out;
}

.plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top .factory-txt a:hover {
  opacity: 0.5;
}

.plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top .factory-txt a.link-blank::before {
  content: "";
  display: inline-block;
  margin: 0 8px 0 0;
  vertical-align: middle;
  width: 16px;
  height: 16px;
  background: url(../images/common/icon-open.svg) no-repeat;
  background-size: 100% auto;
}

.plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top .factory-txt a.link-blank::after {
  content: none;
}

.plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top .factory-txt a img {
  width: 15px;
  margin: 0 5px 0 0;
}

.plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top img {
  width: 32.7%;
  margin: 0 0 0 15px;
}

.plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top .building-img {
  display: none;
}

.plant .l-main .cnts-main .cnts-wrap .cnts-box .description {
  font-size: 1.3rem;
  padding: 15px 10px;
  background-color: #DFE4EB;
  display: none;
}

.plant .l-main .cnts-main .cnts-box {
  display: none;
}

.plant .l-main .cnts-main #main-office-box {
  display: none;
}

.show {
  display: block !important;
}

.duplicate-factory {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .plant .l-main .l-breadcrumbs .tab-switching-box .tab-switching {
    font-size: 1rem;
    width: calc(33.3333333333% - 3px);
  }
  .plant .l-main .l-breadcrumbs .tab-switching-box:after {
    width: calc(33.3333333333% - 3px);
  }
  .plant .l-main .cnts-main h2 {
    font-size: 1.4rem;
  }
  .plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top {
    flex-wrap: wrap;
  }
  .plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top .factory-txt {
    font-size: 1.3rem;
  }
  .plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top .factory-txt h3 {
    font-size: 1.4rem;
  }
  .plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top .factory-txt a,
.plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top .factory-txt a {
    font-size: 1.3rem;
  }
  .plant .l-main .cnts-main .cnts-wrap .cnts-box .factory-top img {
    width: 100%;
    margin: 15px auto 0;
  }
}
/* ---------------
group-companies
------------------ */
.group-companies .l-main .l-breadcrumbs {
  background-color: #fff;
}

.group-companies .l-main .l-breadcrumbs .tab-switching-box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 20px;
}

.group-companies .l-main .l-breadcrumbs .tab-switching-box li {
  width: calc(25% - 7px);
  border: 1px solid #707070;
  text-align: center;
  margin-bottom: 1rem;
  height: 3em;
  line-height: 3em;
}

.group-companies .l-main .l-breadcrumbs .tab-switching-box li a {
  display: block;
  font-size: 1.8rem;
}

.group-companies .l-main .l-breadcrumbs .tab-switching-box:after {
  content: "";
  width: calc(25% - 7px);
}

.cnts-group-companies .cnts-wrap .cnts-box ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 30px;
  flex-wrap: wrap;
}

.cnts-group-companies .cnts-wrap .cnts-box ul li {
  padding: 0 5px;
  margin-bottom: 0.5rem;
  border-right: 1px solid #000;
  line-height: 1;
}

.cnts-group-companies .cnts-wrap .cnts-box ul li:last-child {
  border-right: none;
}

.cnts-group-companies .cnts-wrap .cnts-box table th {
  text-align: justify !important;
}

.cnts-group-companies .cnts-wrap .cnts-box table th a {
  color: #fff !important;
}

.cnts-group-companies .cnts-wrap .cnts-box table img {
  width: auto;
  margin: 0 auto 7px;
}

.cnts-group-companies .cnts-wrap .cnts-box table td {
  text-align: justify !important;
}

.cnts-group-companies .cnts-wrap .cnts-box .top-link {
  margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
  .group-companies .l-main .l-breadcrumbs .tab-switching-box li {
    font-size: 1.1rem;
    width: calc(33.3333333333% - 3px);
  }
  .group-companies .l-main .l-breadcrumbs .tab-switching-box:after {
    content: "";
    width: calc(33.3333333333% - 3px);
  }
  .group-companies .l-main .l-breadcrumbs .tab-switching-box li a {
    display: block;
    font-size: 1.1rem;
  }
  .cnts-group-companies .cnts-wrap .cnts-box table img {
    margin: 0 auto;
  }
  .cnts-group-companies .cnts-wrap .cnts-box ul {
    margin-bottom: 15px;
  }
  .cnts-group-companies .cnts-wrap .cnts-box table img {
    margin: 0 auto;
  }
  .cnts-group-companies .cnts-wrap .cnts-box .top-link {
    margin-bottom: 30px;
  }
}
/* ---------------
会社情報 グループ紹介
------------------ */
@media screen and (min-width: 769px) {
  .btn-company-list li {
    width: 60%;
    margin: 0 auto;
  }
}
/* ---------------
map別タブ　business-image,ebisu
------------------ */
.modal-page {
  max-width: 1024px;
  margin: 0 auto;
  text-align: center;
}

.modal-page h1 {
  color: #007aff;
  margin: 30px auto;
  font-size: 1.6rem;
  line-height: 1.5;
}

.modal-page .main-image {
  width: 90%;
  margin: 0 auto 15px;
  display: block;
}

.modal-page p {
  margin: 0 auto 15px 0;
  text-align: justify;
  width: 90%;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1.3rem;
  line-height: 1.5;
}

.modal-page .read-box p {
  margin: 0 auto;
}

.modal-page a img {
  width: auto;
  margin: 30px auto;
}

.modal-page ol {
  width: 90%;
  margin: 0 auto;
  text-align: start;
  font-size: 1.3rem;
  line-height: 1.2;
}

.modal-page ol li {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.5;
}

.modal-page ol li .big {
  width: 30%;
  display: inline-block;
}

.modal-page ol li .small {
  width: 20%;
  display: inline-block;
}

.modal-page ol li .flex {
  display: flex;
  justify-content: flex-start;
}

.modal-page ol li p {
  padding: 0;
  text-indent: 0;
}

.modal-page ol li .list-description {
  margin-bottom: 0;
}

.sapporo li:first-child {
  margin-bottom: 15px;
}

.amagasaki ol li:first-child {
  margin-bottom: 15px;
}

.amagasaki ol li p {
  margin: 0;
}

.amagasaki ol li .list-description {
  padding-left: 1em;
}

.oita ol li .flex span {
  width: 80px;
}

.oita-en ol li .flex span {
  width: 30%;
}

.modal-page .attention {
  padding-left: 3.5em;
  text-indent: -3.5em;
}

.aichi ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.aichi ol li {
  flex-basis: 48%;
}

.aichi ol li p {
  margin-bottom: 0;
}

.kawasaki1 span {
  display: block;
  font-size: 1.3rem;
  line-height: 1.5;
}

.kawasaki1 .arr {
  width: 34.13%;
  max-width: 128px;
  margin: 0 auto 15px;
}

.kawasaki1 table {
  border-left: 1px solid #999;
  border-top: 1px solid #999;
  width: 100%;
  margin-bottom: 15px;
}

.kawasaki1 table .center {
  text-align: center;
}

.kawasaki1 table th {
  border-right: 1px solid #999;
  border-bottom: 1px solid #999;
  padding: 3px;
}

.kawasaki1 table td {
  border-right: 1px solid #999;
  border-bottom: 1px solid #999;
  padding: 3px;
}

.nagoya-en ol li span {
  width: 30%;
  margin-right: 10px;
}

@media screen and (max-width: 768px) {
  .modal-page {
    width: 100%;
    box-sizing: border-box;
  }
  .modal-page h1 {
    margin: 30px auto;
  }
  .modal-page .main-image {
    margin: 0 auto 15px;
  }
  .modal-page p {
    margin: 0 auto 15px 0;
    font-size: 1.2rem;
  }
  .modal-page a img {
    margin: 15px auto;
  }
}
@media screen and (max-width: 500px) {
  .modal-page ol li .big {
    font-size: 2.933vw;
    width: 32%;
  }
  .modal-page ol li .small {
    width: 18%;
    font-size: 2.933vw;
  }
  .oita ol li .flex span {
    width: 85px;
  }
}
@media screen and (max-width: 375px) {
  .oita ol li .flex span {
    width: 90px;
  }
}
/* ---------------
officer
------------------ */
.cnts-officer .cnts-box .day {
  text-align: end !important;
}

.cnts-officer .cnts-box .stamp {
  display: block;
  float: right;
}

.cnts-officer .cnts-box table {
  word-break: break-all;
}

.cnts-officer .cnts-box table td {
  text-align: justify !important;
  word-break: break-all;
}

#top .l-business-product .cnts-officer .cnts-box .first-tb th {
  text-align: center !important;
}

@media screen and (max-width: 768px) {
  #top .l-business-product .cnts-officer .cnts-box .first-tb th {
    text-align: center !important;
  }
}
/* ---------------
management-policy
------------------ */
.cnts-management-policy table {
  word-break: break-all;
}

.cnts-management-policy table td {
  text-align: justify !important;
  word-break: break-all;
}

/* ==========================================================================
研究開発共通
========================================================================== */
.l-research-index .l-pttl {
  background-image: url("../images/research/research-pttl-bg.jpg");
}

.l-research-index .l-inner .sec-sab-ttl {
  font-size: 1.8rem;
  border-bottom: 1px solid #707070;
  text-align: justify;
  line-height: 1.5;
  padding-bottom: 10px;
  margin-bottom: 30px;
}

.l-research-index .l-sec-business .business-list li {
  width: 32%;
}

.l-research-index .l-sec-business .business-list li p span {
  width: 32%;
}

.l-research-index .l-sec-development {
  padding: 10px 0 80px;
}

.cnts-research .cnts-wrap h4 {
  border-bottom: 1px solid #127ACC;
  margin-bottom: 13px;
  position: relative;
  padding-left: 10px;
}

.cnts-research .cnts-wrap h4:after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  right: auto;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 4px;
  height: 100%;
  background: #127ACC;
}

.cnts-research .cnts-wrap .cnts-box .top-link {
  text-align: end;
}

@media screen and (max-width: 768px) {
  .l-research-index .l-inner .sec-sab-ttl {
    font-size: 1.6rem;
    margin-bottom: 25px;
  }
  .l-research-index .l-sec-business .business-list li {
    width: 100%;
  }
  .l-research-index .l-sec-business .business-list li:last-child {
    margin-bottom: 0;
  }
  .l-research-index .l-sec-business .business-list li p span {
    font-size: 1.6rem;
  }
  .l-research-index .pd-box .txt {
    padding: 60px 20px;
  }
  .l-research-index .l-sec-development {
    padding: 0px 0 40px;
  }
}
/* ---------------
organization
------------------ */
.cnts-organization .top-link {
  margin-top: 30px;
}

/* ---------------
exploitation
------------------ */
.cnts-exploitation .top-link {
  margin-top: 30px;
}

/* ---------------
guidline
------------------ */
.cnts-guidline .cnts-box table td {
  text-align: justify !important;
}

.cnts-guidline .cnts-box a img {
  margin: 0 5px;
}

.cnts-guidline .cnts-box img {
  width: auto;
  vertical-align: middle;
}

.cnts-guidline .top-link {
  margin-top: 30px;
}

/* ---------------
development-division
------------------ */
.cnts-development-division .cnts-box ul li {
  padding: 30px 0;
  border-bottom: 1px dotted #707070;
}

.cnts-development-division .cnts-box ul li:last-child {
  border-bottom: none;
}

.cnts-development-division .cnts-box ul .list-has {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.cnts-development-division .cnts-box ul .list-has div img {
  width: auto;
  vertical-align: middle;
}

.cnts-development-division .cnts-box ul .list-has img {
  width: 40%;
  margin-left: 5%;
}

@media screen and (max-width: 768px) {
  .cnts-development-division .cnts-box ul .list-has {
    display: block;
  }
  .cnts-development-division .cnts-box ul .list-has div img {
    width: auto;
    margin: 0px;
  }
  .cnts-development-division .cnts-box ul .list-has img {
    width: 100%;
    margin-left: 0px;
    margin-top: 15px;
  }
}
/* ==========================================================================
CSR
========================================================================== */
.l-csr-index .l-pttl {
  background-image: url("../images/csr/csr-pttl-bg.jpg");
}

/* ==========================================================================
IR
========================================================================== */
.l-ir-index .l-pttl {
  background-image: url("../images/ir/ir-pttl-bg.jpg");
}

.ir-wrap .l-inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}

.ir-wrap .l-inner .ir-inner-left {
  width: calc(100% - 370px);
}

.ir-wrap .ir-inner-right {
  width: 310px;
}

.l-pnews.ir-wrap .pnews-wrap .pnews-ttl {
  width: 120px;
}

@media screen and (max-width: 768px) {
  .ir-wrap .l-inner .ir-inner-left {
    width: 100%;
  }
  .ir-wrap .ir-inner-right {
    width: 100%;
    margin-top: 40px;
  }
  .l-pnews.ir-wrap .pnews-wrap .pnews-ttl {
    width: 100%;
  }
}
/* ---------------
下層 takahashi追記
------------------ */
.btn--ir {
  width: auto;
  padding-top: 11px;
  padding-right: 41px;
  padding-bottom: 11px;
  padding-left: 41px;
  border-radius: 100vh;
}

.btn--ir.btn-s {
  display: inline-flex;
  max-width: none;
  height: auto;
  max-height: none;
  line-height: 1.25;
}

.btn--ir.btn-s span {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: inherit;
}

a.btn--ir {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-wrap--right {
  text-align: right;
}

.c-pdf-btn {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  line-height: 1;
  text-transform: uppercase;
}

.c-pdf-btn a {
  display: inline-block;
  height: 26px;
  margin-right: 10px;
  padding: 5px 20px;
  border: 1px solid #000;
  border-radius: 13px;
}

.c-pdf-btn a:hover {
  border: 1px solid #127acc;
  background: #127acc;
  color: #fff;
}

.c-stock-chart {
  box-sizing: border-box;
}

.p-article-item {
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  line-height: 1;
  text-align: center;
  word-break: break-word;
  word-wrap: break-word;
}

.p-article-item__link {
  display: block;
}

.p-article-item__img {
  display: block;
}

.p-article-item__body {
  padding: 30px 15px;
  text-align: center;
}

.p-article-item__text {
  display: inline-block;
  position: relative;
  padding-right: 30px;
  padding-left: 30px;
  font-size: 1.8rem;
  font-weight: bold;
}

.p-article-item__text::after {
  -webkit-transform: rotate(45deg);
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  width: 7px;
  height: 7px;
  margin: auto;
  transform: rotate(45deg);
  border-top: 2px solid #127acc;
  border-right: 2px solid #127acc;
  content: "";
}

/************************************************************************
* 基本形
************************************************************************/
.p-col {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  display: flex;
  flex-wrap: wrap;
}

/************************************************************************
* modifier
************************************************************************/
.p-gray-box {
  margin-bottom: 30px;
  padding: 16px;
  background-color: #c4c4c4;
}

.p-gray-box:last-child {
  margin-bottom: 0;
}

.p-gray-box * {
  margin-bottom: 19px;
}

.p-gray-box *:last-child {
  margin-bottom: 0;
}

.p-gray-box .p-gray-box__title {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
}

.p-gray-box .p-gray-box__text {
  font-size: 1.4rem !important;
  text-align: left !important;
  text-align: initial !important;
}

.p-ir-news-item {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  display: flex;
  align-items: center;
  padding: 35px 0;
}

.p-ir-news-item:first-child {
  padding-top: 0;
}

.p-ir-news-item__meta {
  width: 15%;
  margin-right: 30px;
}

.p-ir-news-item__new {
  display: inline-block;
  height: 24px;
  margin-bottom: 10px;
  padding: 5px 20px;
  border: 1px solid #000;
  border-radius: 12px;
  font-size: 1.2rem;
  line-height: 1;
  text-transform: uppercase;
}

.p-ir-news-item__date {
  font-size: 1.6rem;
}

.p-ir-news-item__body {
  flex: 1;
  overflow: hidden;
}

.p-ir-news-item__text {
  margin-bottom: 20px;
  font-size: 1.6rem;
  line-height: 1.692;
}

.p-ir-news-item__pdf {
  min-width: 25%;
  margin-left: auto;
  float: right;
}

.p-ir-news-list__item {
  border-bottom: 1px solid #707070;
}

.p-post-item {
  display: flex;
}

.p-post-item__text-link {
  margin-right: auto;
  color: #127acc;
}

.p-post-item__text-link::before {
  display: inline-block;
  margin-right: 0.5em;
  content: ">";
}

.p-post-item__text-link:hover {
  text-decoration: underline;
}

.p-tab__heads {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  display: flex;
  justify-content: space-between;
}

.p-tab__head {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 20%;
  padding: 20px;
  text-align: center;
  cursor: pointer;
}

.p-tab__head.is-active::before,
.p-tab__head.is-active::after {
  display: block;
  position: absolute;
  content: "";
}

.p-tab__head.is-active::before {
  z-index: 2;
  top: auto;
  right: 0;
  bottom: -20px;
  left: 0;
  width: 100%;
  height: 20px;
}

.p-tab__head.is-active::after {
  z-index: 3;
  top: auto;
  right: 0;
  bottom: -30px;
  left: 0;
  width: 21px;
  height: 21px;
  margin: auto;
  background: url(/assets/images/common/icon-arrow-down.png) no-repeat;
  background-size: 100% 100%;
}

.p-tab__head--pink {
  background-color: #ffbcbc;
}

.p-tab__head--pink.is-active::before {
  background-color: #ffbcbc;
}

.p-tab__head--blue {
  background-color: #64a8de;
}

.p-tab__head--blue.is-active::before {
  background-color: #64a8de;
}

.p-tab__head--green {
  background-color: #cbd9b8;
}

.p-tab__head--green.is-active::before {
  background-color: #cbd9b8;
}

.p-tab__head--yellow {
  background-color: #faeda7;
}

.p-tab__head--yellow.is-active::before {
  background-color: #faeda7;
}

.p-tab__body {
  padding: 60px 40px;
  background: #fff;
}

.u-text-align-right {
  text-align: right !important;
}

.u-vam {
  vertical-align: middle;
}

.tc_list {
  /************************************************************************
  * accordion
  ************************************************************************/ /* .toggle:checked + .title + .content ~ * {
  max-height: 500px;
  transition: all 1.5s;
} */ /************************************************************************
*
************************************************************************/
}

.tc_list .toggle {
  display: none;
}

.tc_list .title,
.tc_list .content {
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  -webkit-transition: all 0.3s;
  transform: translateZ(0);
  backface-visibility: hidden;
  transition: all 0.3s;
}

.tc_list .title {
  display: block;
  padding: 1em;
  border: solid 1px #ccc;
  background-color: #dfe4eb;
  color: #333;
  font-size: 1.8rem;
  font-weight: bold;
  cursor: pointer;
}

.tc_list .title::after,
.tc_list .title::before {
  -webkit-transition: all 0.3s;
  position: absolute;
  top: 1.25em;
  right: 1.25em;
  width: 2px;
  height: 0.75em;
  background-color: #999;
  content: "";
  transition: all 0.3s;
}

.tc_list .title::after {
  transform: rotate(90deg);
}

.tc_list .content {
  max-height: 0;
  padding-right: 40px;
  padding-left: 40px;
  overflow: hidden;
  background: #fff;
}

.tc_list .option {
  margin: 30px 0;
  border: 1px solid #dfe4eb;
}

.tc_list .toggle:checked + .title ~ .content {
  -webkit-transition: all 0.3s;
  max-height: 100%;
  padding-top: 30px;
  padding-bottom: 30px;
  transition: all 0.3s;
}

.tc_list .toggle:checked + .title::before {
  transform: rotate(90deg) !important;
}

.tc_list ul {
  margin-bottom: 20px;
}

.tc_list ul li {
  margin-bottom: 15px;
  padding: 0.5em 0 0.5em 1.4em;
  line-height: 1.5;
  list-style-type: none !important;
}

.tc_list h3 {
  margin-bottom: 20px;
  font-size: 1.6rem;
  text-decoration: underline;
}

.tc_list .content ul li:last-of-type {
  margin-bottom: 0;
}

.tc_list .content h3::after {
  content: "年度";
}

.cnts-main .cnts-wrap .cnts-box .p-post-item {
  margin-bottom: 15px;
}

.cnts-main .cnts-wrap .cnts-box .p-post-item:last-child {
  margin-bottom: 0;
}

.cnts-sub nav dl dt a span {
  display: inline-block;
}

.cnts-sub nav > ul > li > a span {
  padding-right: 20px;
}

#mini {
  box-sizing: border-box;
}

#mini #g_wrap {
  box-sizing: border-box;
}

#g_wrap {
  box-sizing: border-box;
}

.sub-ttl {
  margin-bottom: 20px;
  font-size: 1.6rem;
  line-height: 1.83;
}

@media only screen and (min-width: 769px) {
  .p-col--col2 .p-col__item {
    width: calc(47.5% - 1px);
  }
  .p-col--col2 .p-col__item:not(:nth-child(2n)) {
    margin-right: 5%;
  }
  .p-col--col2 .p-col__item:nth-child(n+3) {
    margin-top: 30px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1059px) {
  .p-col--col3 > .p-col__item {
    width: calc(47.5% - 1px);
  }
  .p-col--col3 > .p-col__item:not(:nth-child(2n)) {
    margin-right: 5%;
  }
  .p-col--col3 > .p-col__item:nth-child(n+3) {
    margin-top: 4rem;
  }
  .p-col--col4 > .p-col__item {
    width: calc(25% - 31px);
  }
  .p-col--col4 > .p-col__item:not(:nth-child(4n)) {
    margin-right: 40px;
  }
  .p-col--col4 > .p-col__item:nth-child(n+5) {
    margin-top: 40px;
  }
  .p-col--col5 > .p-col__item {
    width: calc(31.76871% - 1px);
  }
  .p-col--col5 > .p-col__item:not(:nth-child(3n)) {
    margin-right: 2.34694%;
  }
  .p-col--col5 > .p-col__item:nth-child(n+4) {
    margin-top: 2.34694%;
  }
}
@media print, screen and (min-width: 1060px) {
  .p-col--col3 > .p-col__item {
    width: calc(30% - 1px);
  }
  .p-col--col3 > .p-col__item:not(:nth-child(3n)) {
    margin-right: 5%;
  }
  .p-col--col3 > .p-col__item:nth-child(n+4) {
    margin-top: 4rem;
  }
  .p-col--col4 > .p-col__item {
    width: calc(25% - 31px);
  }
  .p-col--col4 > .p-col__item:not(:nth-child(4n)) {
    margin-right: 40px;
  }
  .p-col--col4 > .p-col__item:nth-child(n+5) {
    margin-top: 40px;
  }
  .p-col--col5 > .p-col__item {
    width: calc(18.12245% - 1px);
  }
  .p-col--col5 > .p-col__item:not(:nth-child(5n)) {
    margin-right: 2.34694%;
  }
  .p-col--col5 > .p-col__item:nth-child(n+6) {
    margin-top: 2.34694%;
  }
}
@media only screen and (max-width: 768px) {
  a.btn--ir {
    display: inline-flex;
  }
  .c-pdf-btn {
    font-size: 1rem;
  }
  .c-pdf-btn a {
    height: 22px;
    border-radius: 11px;
  }
  .p-article-item__body {
    padding: 15px 5px;
  }
  .p-article-item__text {
    font-size: 1.4rem;
  }
  .p-col--col2 {
    display: block;
  }
  .p-col--col2 .p-col__item {
    display: block;
    max-width: 500px;
    margin-right: auto;
    margin-left: auto;
  }
  .p-col--col2 .p-col__item + .p-col__item {
    margin-top: 30px;
  }
  .p-col--col3 {
    display: block;
  }
  .p-col--col3 > .p-col__item + .p-col__item {
    margin-top: 4rem;
  }
  .p-col--col4 > .p-col__item {
    width: calc(50% - 21px);
  }
  .p-col--col4 > .p-col__item:not(:nth-child(2n)) {
    margin-right: 40px;
  }
  .p-col--col4 > .p-col__item:nth-child(n+3) {
    margin-top: 40px;
  }
  .p-col--col5 > .p-col__item {
    width: calc(48.82653% - 1px);
  }
  .p-col--col5 > .p-col__item:not(:nth-child(2n)) {
    margin-right: 2.34694%;
  }
  .p-col--col5 > .p-col__item:nth-child(n+3) {
    margin-top: 2.34694%;
  }
  .p-ir-news-item {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    flex-direction: column;
    align-items: flex-start;
    padding: 30px 0;
  }
  .p-ir-news-item__meta {
    width: 100%;
    margin-right: 0;
    margin-bottom: 15px;
  }
  .p-ir-news-item__new {
    display: inline-block;
    height: 18px;
    margin-right: 10px;
    margin-bottom: 0;
    padding: 3px 10px;
    border-radius: 8px;
    font-size: 1rem;
  }
  .p-ir-news-item__body {
    width: 100%;
  }
  .p-ir-news-item__text {
    font-size: 1.2rem;
  }
  .p-ir-news-item__pdf {
    width: 100%;
    float: none;
  }
  .p-post-item {
    flex-direction: column;
  }
  .p-post-item__text-link {
    margin-bottom: 10px;
  }
  .p-post-item__pdf {
    margin-left: auto;
  }
  .p-tab__head {
    padding: 10px 5px;
    font-size: 1rem;
  }
  .p-tab__head.is-active::before {
    bottom: -10px;
    height: 10px;
  }
  .p-tab__head.is-active::after {
    bottom: -17px;
    width: 15px;
    height: 15px;
  }
  .p-tab__body {
    padding: 40px 5%;
  }
  .tc_list .content {
    padding-right: 30px;
    padding-left: 30px;
  }
  .tc_list .toggle:checked + .title ~ .content {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .sub-ttl {
    margin-bottom: 10px;
    font-size: 1.4rem;
    line-height: 1.83;
  }
}
/* ==========================================================================
その他・全体
========================================================================== */
/* ---------------
リスト
------------------ */
@media screen and (max-width: 768px) {
  .l-sec-business .business-list.list-wide li {
    width: 100%;
  }
}
/* ---------------
BOX内リンク用リスト
------------------ */
.link-list li {
  position: relative;
  padding-left: 1.2em;
}

.link-list li:last-child {
  margin-bottom: 0;
}

.bl-box .txt .link-list {
  width: 100%;
  font-size: 1.2rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.bl-box .txt .link-list li {
  width: 47.5%;
  margin-bottom: 15px;
}

.bl-box .txt .link-list.list-wide li {
  width: 100%;
}

.link-list li a::after {
  content: "";
  position: absolute;
  display: block;
  top: 2px;
  left: 0;
  bottom: 0;
  width: 5px;
  height: 5px;
  border-top: 2px solid #127ACC;
  border-right: 2px solid #127ACC;
  transform: rotate(45deg);
}

.link-list li a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .bl-box .txt .link-list li {
    width: 100%;
  }
}
/* ---------------
ブロック（背景青）
------------------ */
.pd-blue .bl-box {
  background: #127ACC;
  color: #ffffff;
  text-align: center;
  align-items: center;
}

.pd-blue .bl-box .bl-box-ttl {
  font-size: 2.6rem;
  font-size: bold;
  margin-bottom: 40px;
}

.pd-blue .bl-box .bl-box-ttl span {
  font-size: 1.8rem;
  font-size: normal;
  margin-bottom: 20px;
  display: block;
}

.pd-blue .bl-box p {
  font-size: 1.8rem;
}

.pd-blue .bl-box .btn-more {
  margin: 0 auto;
}

.l-sec-product .pd-wrap.pd-blue .pd-box:nth-child(odd) .img::after {
  border-color: transparent #127ACC transparent transparent;
}

.l-sec-product .pd-wrap.pd-blue .pd-box:nth-child(even) .img::after {
  border-color: transparent transparent transparent #127ACC;
}

@media screen and (max-width: 768px) {
  .pd-blue .bl-box .bl-box-ttl {
    font-size: 1.9rem;
    margin-bottom: 20px;
  }
  .pd-blue .bl-box .bl-box-ttl span {
    font-size: 1.2rem;
  }
  .pd-blue .bl-box p {
    font-size: 1.6rem;
  }
  .box-wide .bl-box {
    display: block;
  }
  .box-wide .bl-box .img, .box-wide .bl-box .txt {
    width: 100%;
  }
  .l-sec-product .pd-wrap.pd-blue .pd-box:nth-child(odd) .img::after {
    border-color: transparent transparent #127ACC transparent;
  }
  .l-sec-product .pd-wrap.pd-blue .pd-box:nth-child(even) .img::after {
    border-color: transparent transparent #127ACC transparent;
  }
}
/* ---------------
ページ下部リンクブロック
------------------ */
.l-company-index .l-sec-bizlist {
  padding: 0 0 40px;
}

@media screen and (min-width: 769px) {
  .l-company-index .l-sec-bizlist {
    padding: 0 0 80px;
  }
}
.l-sec-bnav .bnav-list.bnav-list-wide li:nth-child(even) {
  background-color: #64A8DE;
}

.l-sec-bnav .bnav-list.bnav-list-wide li h4, .l-sec-bnav .bnav-list.bnav-list-short li h4 {
  font-size: 1.9rem;
}

.l-sec-bnav .bnav-list.bnav-list-wide, .l-sec-bnav .bnav-list.bnav-list-short {
  padding: 2.5%;
}

.l-sec-bnav .bnav-list.bnav-list-wide li {
  margin-bottom: 20px;
}

.l-sec-bnav .bnav-list.bnav-list-short li {
  text-align: center;
  padding: 0;
  margin-bottom: 20px;
}

.l-sec-bnav .bnav-list.bnav-list-short li a {
  display: block;
  padding: 40px 0 10px 0;
  width: 100%;
}

.l-sec-bnav .bnav-list.bnav-list-wide li:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 769px) {
  .l-sec-bnav .bnav-list.bnav-list-wide, .l-sec-bnav .bnav-list.bnav-list-short {
    max-width: 1024px;
    margin: 0 auto;
  }
  .l-sec-bnav .bnav-list.bnav-list-wide li {
    width: 49%;
    margin-bottom: 0;
  }
  .l-sec-bnav .bnav-list.bnav-list-short li {
    width: 31.6666666667%;
    margin-right: 2.5%;
    margin-bottom: 0;
  }
  .l-sec-bnav .bnav-list.bnav-list-short li:last-child {
    margin-right: 0;
  }
  .l-sec-bnav .bnav-list.bnav-list-wide li h4 {
    font-size: 2.6rem;
  }
}
/* ---------------
swiper（高さ揃え）
------------------ */
.swipe-wide .swiper-slide {
  height: 100px;
  width: auto !important;
}

.swipe-wide .swiper-slide img {
  height: 100px;
  width: auto;
}

@media screen and (min-width: 769px) {
  .swipe-wide .swiper-wrapper {
    justify-content: center !important;
  }
}
@media screen and (max-width: 768px) {
  .swipe-wide.bnrslide-wrap {
    width: calc(100% - 100px);
  }
}
/* ==========================================================================
採用
========================================================================== */
.l-recruit-index .l-pttl {
  background-image: url("/assets/images/recruit/recruit-01.jpg");
}

.l-recruit-index .ttl-bk .clr-white {
  color: #fff !important;
}

.l-recruit-index .l-section {
  padding: 0 0 40px 0;
}

.l-recruit-index .l-sec-product {
  padding-bottom: 120px;
}

.l-recruit-index .l-section li {
  width: calc(33.3333333333% - 10px);
}

.cnts-research .cnts-wrap .cnts-box .top-link {
  text-align: end;
}

.l-sec-business .business-list li p .long-txt:after {
  right: -20px;
}

@media screen and (max-width: 768px) {
  .l-recruit-index .l-sec-business .business-list li {
    width: 100%;
  }
  .l-recruit-index .l-sec-business .business-list li:last-child {
    margin-bottom: 0;
  }
  .l-recruit-index .l-sec-business .business-list li p span {
    font-size: 1.6rem;
  }
  .l-recruit-index .l-sec-product {
    padding-bottom: 40px;
  }
}
/* ---------------
midway
------------------ */
.l-wrapper-midway .cnts-wrap {
  background-color: #E7F3FC;
}

.l-wrapper-midway .sec-sab-ttl {
  font-size: 1.8rem;
  border-bottom: 1px solid #707070;
  line-height: 1.5;
  padding-bottom: 10px;
  letter-spacing: 1.8px;
  margin-bottom: 30px;
}

.l-wrapper-midway .cnts-box .read {
  margin-bottom: 30px;
}

.l-wrapper-midway .cnts-box ul li {
  display: flex;
  justify-content: flex-start;
}

.l-wrapper-midway .cnts-box ul li p {
  width: 70%;
  line-height: 1.5;
  padding: 20px;
  background-color: #fff;
  margin-bottom: 2px;
}

.l-wrapper-midway .cnts-box ul li .li-ttl {
  width: 30%;
  background-color: #DFE4EB;
  margin: 0 2px 2px 0;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .l-wrapper-midway .cnts-box ul li p {
    padding: 10px;
  }
}
/* ---------------
recruit-privacy-policy
------------------ */
.recruit-privacy-policy .cnts-box strong {
  font-size: 1.6rem;
  display: block;
  margin-bottom: 15px;
}

.recruit-privacy-policy .cnts-box .info-box {
  padding-left: 30px;
}

.recruit-privacy-policy .cnts-box .info-box p {
  margin-bottom: 0;
}

.recruit-privacy-policy .cnts-box .info-box .align-end {
  text-align: end;
  margin: 30px auto;
}

.recruit-privacy-policy .cnts-box .top-link {
  text-align: end;
}

@media screen and (max-width: 768px) {
  .recruit-privacy-policy .cnts-box strong {
    font-size: 1.4rem;
  }
  .recruit-privacy-policy .cnts-box .info-box {
    padding-left: 15px;
  }
  .recruit-privacy-policy .cnts-box .info-box .align-end {
    margin: 15px auto;
  }
}
/* ==========================================================================
お問い合せ
========================================================================== */
.l-contact-index .contact-step-box {
  display: flex;
  justify-content: center;
  align-items: center;
}

.l-contact-index .contact-step-box .step-box {
  display: flex;
  align-items: center;
}

.l-contact-index .contact-step-box .step-box .circle {
  width: 57px;
  height: 57px;
  line-height: 57px;
  font-size: 1.8rem;
  color: #fff;
  border-radius: 50%;
  background-color: #006CFF;
  border: 1px solid #006CFF;
  text-align: center;
  margin-right: 15px;
  font-weight: 600;
}

.l-contact-index .contact-step-box .step-box .off {
  background-color: inherit;
  color: #000;
}

.l-contact-index .contact-step-box .step-box p {
  font-weight: 600;
}

.l-contact-index .contact-step-box .step-box .arrow {
  padding-right: 65px;
  position: relative;
}

.l-contact-index .contact-step-box .step-box .arrow:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #006CFF;
  border-right: 2px solid #006CFF;
  position: absolute;
  top: 50%;
  right: 35%;
  transform: translate(0, -50%) rotate(45deg);
}

.l-contact-index .l-sec-contact {
  padding: 0 0 200px;
}

.l-contact-index .contact-form-box .sub-ttl {
  font-size: 1.8rem;
  padding-bottom: 10px;
  line-height: 1.5;
  border-bottom: 1px solid #707070;
  margin-bottom: 60px;
}

.l-contact-index .contact-form-box form dl {
  padding-left: 40px;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 50px;
}

.l-contact-index .contact-form-box form dl dt {
  flex-basis: 20.9%;
  padding-left: 15px;
  margin-bottom: 50px;
  position: relative;
  font-size: 1.8rem;
  margin-top: 20px;
}

.l-contact-index .contact-form-box form dl dt:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 1em;
  background-color: #127ACC;
}

.l-contact-index .contact-form-box form dl dt p {
  position: relative;
  font-weight: bold;
}

.l-contact-index .contact-form-box form dl dt p span {
  position: absolute;
  right: 0;
  top: 0;
  width: 43px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  background-color: #FF0000;
  color: #fff;
  font-size: 1rem;
  border-radius: 4px;
}

.l-contact-index .contact-form-box form dl dd {
  flex-basis: 79.1%;
  margin-bottom: 50px;
  padding-left: 70px;
  line-height: 1.5;
}

.l-contact-index .contact-form-box form dl dd .select-box {
  position: relative;
  width: 50%;
}

.l-contact-index .contact-form-box form dl dd .select-box::after {
  content: "";
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translate(0, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-right: 2px solid #006CFF;
  border-bottom: 2px solid #006CFF;
}

.l-contact-index .contact-form-box form dl dd select {
  width: 100%;
  font-size: 1.8rem;
  padding: 20px 15px;
  border-radius: 7px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  border: 1px solid #707070;
  color: #000;
}

.l-contact-index .contact-form-box form dl dd input {
  font-size: 1.8rem;
  width: 100%;
  padding: 20px 15px;
  border-radius: 7px;
  border: 1px solid #707070;
}

.l-contact-index .contact-form-box form dl dd textarea {
  font-size: 1.8rem;
  width: 100%;
  padding: 20px 15px;
  min-height: 228px;
  resize: vertical;
  border-radius: 7px;
  border: 1px solid #707070;
}

.l-contact-index .contact-form-box form dl .radio-ttl {
  margin-top: 0;
}

.l-contact-index .contact-form-box form dl dd .radio-area {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}

.l-contact-index .contact-form-box form dl dd .radio-area input {
  width: 20px;
  height: 20px;
}

.l-contact-index .contact-form-box form dl dd .radio-area label {
  margin: 0 30px 0 5px;
  font-size: 1.8rem;
}

.l-contact-index .contact-form-box form dl .tel-box input {
  width: 21%;
}

.l-contact-index .contact-form-box form dl .tel-box .tel-box-2th {
  margin: 0 50px;
}

.l-contact-index .contact-form-box form dl .tel-box div {
  position: relative;
  display: inline;
}

.l-contact-index .contact-form-box form dl .tel-box div::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  width: 25px;
  height: 1px;
  background-color: #707070;
}

.l-contact-index .contact-form-box form dl .tel-box div::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 25px;
  height: 1px;
  background-color: #707070;
}

.l-contact-index .contact-form-box form .check-box-wrap {
  background-color: #DFE4EB;
  padding: 60px 15%;
  margin: 70px auto 130px;
}

.l-contact-index .contact-form-box form .check-box-wrap .check-text {
  font-size: 1.6rem;
  line-height: 1.87;
  margin-bottom: 40px;
}

.l-contact-index .contact-form-box form .check-box-wrap .check-text a {
  color: #127ACC;
}

.l-contact-index .contact-form-box form .check-box-wrap .check-text a:hover {
  text-decoration: underline;
}

.l-contact-index .contact-form-box form .check-box-wrap .check-box {
  text-align: center;
}

.l-contact-index .contact-form-box form .check-box-wrap .check-box input {
  width: 29px;
  height: 29px;
}

.l-contact-index .contact-form-box form .check-box-wrap .check-box label {
  margin-left: 30px;
  font-size: 1.6rem;
}

.l-contact-index .send-btn-box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.l-contact-index .send-btn-box .btn-wrap {
  width: 50%;
}

.l-contact-index .send-btn-box .back {
  display: none;
}

.l-contact-index .btn-s {
  width: 77%;
  max-width: 410px;
  height: 68px;
  border-radius: 34px;
}

.l-contact-index .btn-s span {
  font-size: 1.8rem;
  font-weight: inherit;
}

@media screen and (max-width: 768px) {
  .l-contact-index .l-section {
    padding: 40px 2.5%;
  }
  .l-contact-index .contact-step-box .step-box .circle {
    width: 40px;
    height: 40px;
    margin-right: 5px;
    line-height: 40px;
    font-size: 1.4rem;
  }
  .l-contact-index .contact-step-box .step-box .arrow {
    padding-right: 30px;
    font-size: 1.4rem;
  }
  .l-contact-index .contact-step-box .step-box .arrow:after {
    right: 20%;
  }
  .l-contact-index .contact-form-box .sub-ttl {
    font-size: 1.6rem;
    margin-bottom: 30px;
  }
  .l-contact-index .contact-form-box form dl {
    padding-left: 0;
    margin-bottom: 30px;
  }
  .l-contact-index .contact-form-box form dl dt {
    flex-basis: 100%;
    font-size: 1.6rem;
    margin-top: 0;
    margin-bottom: 15px;
  }
  .l-contact-index .contact-form-box form dl dd {
    flex-basis: 100%;
    padding-left: 0;
    margin-bottom: 30px;
  }
  .l-contact-index .contact-form-box form dl dd input {
    font-size: 1.4rem;
    padding: 10px 15px;
  }
  .l-contact-index .contact-form-box form dl dd textarea {
    font-size: 1.4rem;
    padding: 10px 15px;
  }
  .l-contact-index .contact-form-box form dl dt p {
    display: inline;
  }
  .l-contact-index .contact-form-box form dl dt p span {
    right: -55px;
  }
  .l-contact-index .contact-form-box form dl dd .select-box {
    width: 100%;
  }
  .l-contact-index .contact-form-box form dl dd .select-box::after {
    right: 25px;
  }
  .l-contact-index .contact-form-box form dl dd select {
    font-size: 1.4rem;
    padding: 10px 15px;
  }
  .l-contact-index .contact-form-box form dl dd .radio-area div {
    margin-bottom: 15px;
  }
  .l-contact-index .contact-form-box form dl dd .radio-area label {
    margin: 0 25px 0 5px;
  }
  .l-contact-index .contact-form-box form dl .tel-box input {
    width: 28.8%;
  }
  .l-contact-index .contact-form-box form dl .tel-box .tel-box-2th {
    margin: 0 5.3%;
  }
  .l-contact-index .contact-form-box form dl .tel-box div::before {
    left: 1%;
    width: 9%;
  }
  .l-contact-index .contact-form-box form dl .tel-box div::after {
    right: 1%;
    width: 9%;
  }
  .l-contact-index .contact-form-box form .check-box-wrap {
    padding: 40px 5.83%;
    margin: 0 auto 40px;
  }
  .l-contact-index .send-btn-box {
    flex-direction: column-reverse;
  }
  .l-contact-index .send-btn-box .btn-wrap {
    width: 100%;
  }
  .l-contact-index .contact-form-box form .check-box-wrap .check-text {
    font-size: 1.6rem;
  }
  .l-contact-index .btn-s {
    height: 40px;
  }
  .l-contact-index .btn-s span {
    font-size: 1.2rem;
  }
}
/* ---------------
contact-error
------------------ */
.l-contact-index .error-display {
  max-width: 1024px;
  margin: 60px auto 0;
  background-color: #ffe3e3;
  color: #de1111;
  padding: 30px;
}

.l-contact-index .error-display h3 {
  font-size: 1.8rem;
  font-weight: normal;
  margin-bottom: 15px;
  line-height: 1.5;
}

.l-contact-index .error-display ul {
  padding-left: 1.5em;
}

.l-contact-index .error-display ul li {
  list-style: disc;
  font-size: 1.6rem;
  line-height: 1.5;
}

.l-contact-index .error-text {
  font-size: 1.6rem;
  color: #de1111;
  margin-top: 5px;
  line-height: 1.5;
}

.l-contact-index .error-text-center {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .l-contact-index .error-display {
    margin: 30px auto 0;
    padding: 15px;
  }
  .l-contact-index .error-display h3 {
    font-size: 1.6rem;
  }
  .l-contact-index .error-display ul li {
    font-size: 1.4rem;
  }
  .l-contact-index .error-text {
    font-size: 1.2rem;
  }
}
/* ---------------
contact-confirm
------------------ */
.contact-confirm-index .contact-form-box form dl dt {
  margin-top: 0;
}

.contact-confirm-index .contact-form-box form dl dd .select-box::after {
  display: none;
}

.contact-confirm-index .btn-announce {
  text-align: center;
  font-size: 1.6rem;
}

.contact-confirm-index .send-btn-box .back {
  display: block;
}

@media screen and (max-width: 768px) {
  .contact-confirm-index .btn-announce {
    text-align: justify;
    font-size: 1.4rem;
  }
}
/* ---------------
contact-confirm
------------------ */
.l-sec-contact .finish-ttl {
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 60px;
  line-height: 1.5;
}

.l-sec-contact .finish-read {
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 60px;
  line-height: 1.5;
}

.l-sec-contact .finish-btn-box span {
  line-height: 68px;
}

@media screen and (max-width: 768px) {
  .l-sec-contact .finish-ttl {
    font-size: 2rem;
    margin-bottom: 30px;
  }
  .l-sec-contact .finish-read {
    font-size: 1.4rem;
    margin-bottom: 30px;
  }
  .l-sec-contact .finish-btn-box span {
    line-height: 40px;
  }
}
/* ==========================================================================
404
========================================================================== */
.notfound {
  background-color: #fff !important;
}

.notfound .l-news-cnts {
  background-color: #fff;
}

.notfound .l-news-cnts .l-inner {
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 100px;
}

.notfound .l-news-cnts .l-inner img {
  width: 80%;
  max-width: 450px;
  margin: 0 auto;
}

.notfound .l-news-cnts .l-inner .txt-box {
  width: 100%;
  text-align: center;
}

.notfound .l-news-cnts .l-inner .txt-box h2 {
  font-size: 5rem;
  line-height: 1.5;
  margin-bottom: 20px;
  font-weight: 600;
}

.notfound .l-news-cnts .l-inner .txt-box p {
  line-height: 1.5;
  font-size: 2.2rem;
  margin-bottom: 30px;
}

.notfound .l-news-cnts .l-inner .txt-box a {
  display: inline-block;
  max-width: 350px;
  width: 100%;
  height: 60px;
  border: 1px solid #707070;
  font-size: 1.8rem;
  line-height: 60px;
}

@media screen and (max-width: 768px) {
  .notfound .l-news-cnts .l-inner .txt-box h2 {
    font-size: 4rem;
  }
  .notfound .l-news-cnts .l-inner .txt-box p {
    font-size: 1.4rem;
  }
  .notfound .l-news-cnts .l-inner .txt-box a {
    height: 50px;
    font-size: 1.4rem;
    line-height: 50px;
  }
}
/* ==========================================================================
サイトマップ
========================================================================== */
.l-sec-sitemap {
  padding: 0;
}

.l-sec-sitemap .l-inner .cnts-sub {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.l-sec-sitemap .l-inner .cnts-sub-nav {
  width: calc(33.3333333333% - 8px);
  margin-bottom: 60px;
}

.l-sec-sitemap .l-inner .cnts-sub nav dl {
  border-bottom: none;
}

.l-sec-sitemap .l-inner .cnts-sub nav dl dd {
  display: block;
}

.l-sec-sitemap .cnts-sub nav > ul > li.nav-biz-cat {
  padding: 0 0 0 30px;
}

.l-sec-sitemap .link-clr {
  color: #0C5C98;
}

@media screen and (max-width: 768px) {
  .l-sec-sitemap .l-inner .cnts-sub-nav {
    width: 100%;
  }
  .l-sec-sitemap .l-inner .cnts-sub-nav {
    margin-bottom: 30px;
  }
}
/* ==========================================================================
追記 template-yamada.css
========================================================================== */
/* ---------------
productテンプレート
------------------ */
.cnts-main .cnts-wrap .cnts-box table tr.second-ttl th {
  background: #64a8de;
}

.cnts-main .cnts-wrap .cnts-box table tr td.color-cg {
  background: #e7f3fc;
}

/* ---------------
事業
------------------ */
.cnts-main .cnts-wrap .cnts-box .clear {
  clear: both;
}

/* ---------------
IR　中期経営計画
------------------ */
.cnts-main .cnts-wrap .cnts-box .box-txtr {
  text-align: right;
}

/* ---------------
事業 food
------------------ */
.cnts-main .cnts-wrap .cnts-box ol.num {
  padding-left: 30px;
}

.cnts-main .cnts-wrap .cnts-box ol.num li {
  list-style: decimal;
}

.cnts-main .cnts-wrap .cnts-box ol.disc {
  padding-left: 30px;
}

.cnts-main .cnts-wrap .cnts-box ol.disc li {
  list-style: disc;
}

.botm-20 dl dd {
  padding-bottom: 20px;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.clear {
  clear: both;
}

/* ---------------
事業全般
------------------ */
img.pdfimg {
  width: 7%;
  height: auto;
  margin-left: 10px;
  margin-bottom: 5px;
}

@media screen and (min-width: 769px) {
  img.pdfimg {
    width: 7%;
    height: auto;
    margin-left: 10px;
    margin-bottom: 5px;
  }
}
/* ==========================================================================

英語ページ用調整スタイル

========================================================================== */
/* ---------------
top
------------------ */
.l-main-en .l-sec-news-en .tab-btn span {
  width: 140px;
}

.l-main-en .l-sec-business .business-list li p {
  position: relative;
}

.l-main-en .l-sec-business .business-list li p span {
  position: unset;
}

.l-main-en .l-sec-business .business-list li p span::after {
  right: 20px;
}

@media screen and (max-width: 768px) {
  .l-main-en .l-sec-news-en .tab-btn span {
    width: auto;
    height: 100%;
  }
  .l-main-en .l-sec-catalog-en .search-list li a {
    height: 100%;
  }
  .l-main-en .l-sec-business .business-list li p span::after {
    right: 10px;
  }
}
/* ---------------
company-top
------------------ */
.l-sec-product-en .l-sec-business ul li p .lg-txt::after {
  right: -10px;
}

@media screen and (max-width: 768px) {
  .l-sec-product-en .l-sec-business ul li p .lg-txt::after {
    right: -20px;
  }
}
/* ---------------
management
------------------ */
.cnts-management-en .cnts-wrap table {
  word-break: break-all;
}

/* ---------------
history
------------------ */
.cnts-history-en .cnts-box table {
  word-break: break-all;
}

.cnts-history-en .cnts-box table td {
  word-break: break-all;
}

/* ---------------
conduct
------------------ */
.cnts-conduct-en ul li::before {
  height: 1px;
  top: 1rem;
}

@media screen and (max-width: 768px) {
  .cnts-conduct-en ul li::before {
    height: 1px;
    top: 1rem;
  }
}
/* ---------------
outline
------------------ */
.cnts-outline-en .cnts-wrap .cnts-box table .text-box {
  word-break: break-all;
}

.cnts-outline-en .cnts-wrap .cnts-box .officer-box .officer-title {
  padding-right: 30px;
}

@media screen and (max-width: 768px) {
  .cnts-outline-en .cnts-wrap .cnts-box .officer-box .officer-title {
    padding-right: 10px;
  }
}
/* ---------------
plant
------------------ */
.plant-en .l-main .l-breadcrumbs .tab-switching-box .tab-switching {
  width: calc(33.3333333333% - 7px);
}

.plant-en .l-main .l-breadcrumbs .tab-switching-box:after {
  width: calc(33.3333333333% - 7px);
}

@media screen and (max-width: 768px) {
  .plant-en .l-main .l-breadcrumbs .tab-switching-box .tab-switching {
    width: calc(50% - 3px);
  }
  .plant-en .l-main .l-breadcrumbs .tab-switching-box:after {
    width: calc(50% - 3px);
  }
}
/* ---------------
contact
------------------ */
.l-sec-contact-en .check-box-wrap .check-text {
  text-align: center;
}

.l-contact-index .l-sec-contact-en .contact-form-box form dl dt {
  flex-basis: 27%;
}

.l-contact-index .l-sec-contact-en .contact-form-box form dl dd {
  flex-basis: 73%;
}

.l-contact-index .l-sec-contact-en .contact-form-box form dl dt p span {
  width: 50px;
}

.l-contact-index-en .contact-step-box .step-box .arrow:after {
  right: 25%;
}

@media screen and (max-width: 768px) {
  .l-contact-index .l-sec-contact-en .contact-form-box form dl dt {
    flex-basis: 100%;
  }
  .l-contact-index .l-sec-contact-en .contact-form-box form dl dd {
    flex-basis: 100%;
  }
  .l-contact-index-en .contact-step-box .step-box .arrow:after {
    right: 17%;
  }
}
/* ---------------
group-companies
------------------ */
.group-companies-en .l-main .l-breadcrumbs .tab-switching-box li {
  width: calc(50% - 5px);
}

.group-companies-en .l-main .l-breadcrumbs .tab-switching-box li a {
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .group-companies-en .l-main .l-breadcrumbs .tab-switching-box li {
    width: 100%;
  }
  .group-companies-en .l-main .l-breadcrumbs .tab-switching-box li a {
    font-size: 1.1rem;
  }
}
/* ---------------
privacy
------------------ */
.privacy-en .top-link {
  text-align: end;
}

.privacy-en div.cnts-box p {
  text-align: end !important;
}

/* ---------------
rules
------------------ */
.rules-en .red-clr {
  color: #ff0000;
}

.rules-en .top-link {
  text-align: end;
}

/* ---------------
legal
------------------ */
.legal-en .cnts-box ol li {
  list-style: decimal;
  margin-bottom: 30px;
}

.legal-en .top-link {
  text-align: end;
}

.legal-en .cnts-box .mb-none {
  margin-bottom: 0px !important;
}

.legal-en .cnts-box a {
  color: #127ACC;
}

@media screen and (max-width: 768px) {
  .legal-en .cnts-box ol li {
    margin-bottom: 15px;
  }
}
/* ---------------
追記 btn
------------------ */
.btn-mlink {
  border: 1px solid #000;
  height: 40px;
  width: 100%;
  max-width: 180px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.2);
  text-align: center;
  transition: all 0.25s ease-out;
}

.btn-mlink span {
  position: relative;
  font-size: 1.2rem;
  color: #000;
  line-height: 38px;
}

.btn-mlink span::before {
  position: absolute;
  top: 0;
  right: -40px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 20px;
  height: 20px;
  border-radius: 10px;
  background: #127ACC;
}

.btn-mlink span::after {
  position: absolute;
  top: 0;
  right: -32px;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

@media screen and (min-width: 769px) {
  .btn-mlink-l {
    max-width: 300px;
  }
  .btn-list .btn-list-l {
    width: 40%;
  }
}
@media screen and (max-width: 768px) {
  .btn-mlink {
    max-width: 280px;
  }
}
/* ---------------
  追記 0518
  ------------------ */
.cnts-sub nav .arrow-list > li {
  font-size: 1.3rem;
}

.l-contact-index .l-inner .lead a {
  color: #127ACC;
}

.l-contact-index .contact-form-box form dl dd p.txt-exa {
  padding-top: 17px;
}

@media screen and (max-width: 768px) {
  .l-contact-index .contact-form-box form dl dd p.txt-exa {
    padding-top: 0;
  }
}
/* ---------------
  追記 0523
  ------------------ */
.l-business-chemical .l-pttl {
  background-image: url(../images/business/chemical/index-pttl-bg.jpg);
}

.l-business-explosive .l-pttl {
  background-image: url(../images/business/explosive/index-pttl-bg.jpg);
}

.l-business-food .l-pttl {
  background-image: url(../images/business/food/index-pttl-bg.jpg);
}

.l-business-life .l-pttl {
  background-image: url(../images/business/life/index-pttl-bg.jpg);
}

.l-business-dds .l-pttl {
  background-image: url(../images/business/dds/index-pttl-bg.jpg);
}

.l-business-coating .l-pttl {
  background-image: url(../images/business/coating/index-pttl-bg.jpg);
}

/* ---------------
  追記 0524 bizlist.html
  ------------------ */
.l-sec-bizlist .bizlist-btn .txt a {
  margin-top: 10px;
}

.l-sec-bizlist .bizlist-btn .txt p {
  margin-bottom: 10px;
}

/* ---------------
  追記 0524 history
  ------------------ */
.cnts-history .cnts-wrap .cnts-box img {
  margin-bottom: 0px;
}

/* ---------------
  追記 0524 recruit
  ------------------ */
.recruit-in .l-inner a.link-blank::after {
  content: "";
  display: inline-block;
  margin: -98px -130px 0 -32px;
  vertical-align: middle;
  width: 15px;
  height: 17px;
  background: url(../images/common/icon-open.svg) no-repeat;
  background-size: 100% auto;
}

@media screen and (max-width: 768px) {
  .recruit-in .l-inner a.link-blank::after {
    content: "";
    display: inline-block;
    margin: -58px -130px 0 -52px;
    vertical-align: middle;
    width: 11px;
    height: 13px;
    background: url(../images/common/icon-open.svg) no-repeat;
    background-size: 100% auto;
  }
}
/* ---------------
  追記 0526 bizlist
  ------------------ */
.l-inner-wide .bizlist-intro {
  max-width: 1280px;
  margin: 0 auto 80px;
  display: flex;
  justify-content: space-between;
}

.l-inner-wide .bizlist-btn .txt p {
  margin-bottom: 10px;
}

.l-inner-wide .bizlist-intro .txt p {
  font-size: 1.8rem;
  line-height: 1.83;
}

.l-inner-wide {
  background: none;
}

.biz-inner-wide {
  background: #E7EDF5;
}

.bizlist-intro .img {
  width: 50%;
}

.biz-inner-wide .bizlist-intro .txt {
  padding: 30px 60px;
}

.biz-inner-wide .bizlist-intro .txt ul li {
  margin-bottom: 20px;
}

.biz-inner-wide .bizlist-intro .txt ul li {
  display: flex;
  align-items: center;
  padding: 0 60px;
}

.biz-inner-noimg .bizlist-intro .txt {
  padding: 30px 60px;
  width: 640px;
  margin: 0 auto;
  height: 200px;
}

.biz-inner-solo .bizlist-intro .txt {
  padding: 90px 60px;
  width: 640px;
  margin: 0 auto;
  height: 200px;
}

@media screen and (max-width: 768px) {
  .l-inner-wide .bizlist-intro .img {
    width: 100%;
  }
  .l-inner-wide .bizlist-intro {
    max-width: 100%;
    margin: 0 auto 30px;
    padding-bottom: 10px;
    flex-direction: column;
  }
  .l-inner-wide .bizlist-intro .txt p {
    font-size: 1.6rem;
  }
  .l-inner-wide .bizlist-btn .t::before {
    margin-top: 10px;
  }
  .biz-inner-wide .bizlist-intro .txt {
    padding: 20px;
  }
  .biz-inner-wide .bizlist-intro .txt ul li {
    display: flex;
    align-items: center;
    padding: 0;
  }
  .biz-inner-solo .bizlist-intro .txt {
    padding: 50px 20px;
    width: 420px;
    margin: 0 auto;
    height: 200px;
  }
  .biz-inner-noimg .bizlist-intro .txt {
    padding: 50px 20px;
    width: 420px;
    margin: 0 auto;
    height: 200px;
  }
}
/* ---------------
  追記 0601 bizlist
  ------------------ */
.l-inner-wide .bizlist-intro {
  max-width: 1280px;
  margin: 0 auto 80px;
  display: flex;
  justify-content: space-between;
}

.l-inner-wide .bizlist-btn .txt p {
  margin-bottom: 10px;
}

.l-inner-wide .bizlist-intro .txt p {
  font-size: 1.8rem;
  line-height: 1.83;
}

.l-inner-wide {
  background: none;
}

.biz-inner-wide {
  background: #E7EDF5;
}

.bizlist-intro .img {
  width: 50%;
}

.biz-inner-wide .bizlist-intro .txt {
  padding: 30px 60px;
}

.biz-inner-wide .bizlist-intro .txt ul li {
  margin-bottom: 20px;
}

.biz-inner-wide .bizlist-intro .txt ul li {
  display: flex;
  align-items: center;
  padding: 0 60px;
}

.biz-inner-noimg .bizlist-intro .txt {
  padding: 30px 60px;
  width: 640px;
  margin: 0 auto;
  height: 200px;
}

.biz-inner-solo .bizlist-intro .txt {
  padding: 90px 60px;
  width: 640px;
  margin: 0 auto;
  height: 200px;
}

.bizlist-intro img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 768px) {
  .l-inner-wide .bizlist-intro .img {
    width: 100%;
  }
  .l-inner-wide .bizlist-intro {
    max-width: 100%;
    margin: 0 auto 30px;
    padding-bottom: 10px;
    flex-direction: column;
  }
  .l-inner-wide .bizlist-intro .txt p {
    font-size: 1.6rem;
  }
  .l-inner-wide .bizlist-btn .t::before {
    margin-top: 10px;
  }
  .biz-inner-wide .bizlist-intro .txt {
    padding: 20px;
  }
  .biz-inner-wide .bizlist-intro .txt ul li {
    display: flex;
    align-items: center;
    padding: 0;
  }
  .biz-inner-solo .bizlist-intro .txt {
    padding: 50px 20px;
    width: 420px;
    margin: 0 auto;
    height: 200px;
  }
  .biz-inner-noimg .bizlist-intro .txt {
    padding: 50px 20px;
    width: 420px;
    margin: 0 auto;
    height: 200px;
  }
}
/* ---------------
  追記 0602 header-en
  ------------------ */
@media screen and (min-width: 769px) {
  .l-header-en .logo {
    position: absolute;
    top: 8px;
    right: auto;
    bottom: auto;
    left: 1.5%;
    margin: auto;
    width: 214px;
    height: auto;
    z-index: 12;
  }
}
/* ---------------
  追記 0606 chemical
  ------------------ */
.cnts-box .chem-img-left {
  width: 45%;
  float: left;
}

.cnts-box .chem-img-right {
  width: 45%;
  margin-left: 10%;
  float: right;
  margin-bottom: 10px;
}

/* ---------------
  追記 0615 sidenavi
  ------------------ */
.bg-white-none .side-nav-white {
  background: #fff;
  padding-bottom: 10px;
}

/* ---------------
  追記 0616 plant
  ------------------ */
.plant .l-main .cnts-main #main-office-box {
  display: contents;
}

/* ---------------
  追記 0616 companybanner
  ------------------ */
.swiper-nonbut {
  display: flex;
}

.non-but-slide {
  margin-right: 1%;
}

.last-non-but-slide {
  margin-right: 0%;
}

.bnrslide-csr {
  width: 40%;
}

@media screen and (max-width: 768px) {
  .swiper-nonbut {
    flex-wrap: wrap;
  }
  .non-but-slide {
    margin-right: 1%;
    width: 48%;
    margin-bottom: 10px;
  }
  .bnrslide-csr {
    width: 100%;
  }
}
/* ---------------
  追記 0620 header
  ------------------ */
@media screen and (max-width: 768px) {
  .logo-nof .sp {
    height: 35px;
    width: auto;
  }
}
/* ---------------
  追記 0621 group-company
  ------------------ */
.cnts-group-companies .cnts-wrap .cnts-box table img {
  width: auto;
  margin: 0 auto 4px;
}

/* ---------------
  追記 0628 ethical
  ------------------ */
.cnts-ethical .cnts-wrap .cnts-box .image-float {
  width: 25%;
}

/* ---------------
    追記 0711 swiperbanner
  ------------------ */
.bnrslide-wrap .swiper ul.banner-gallery {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.bnrslide-wrap .swiper ul.banner-gallery li {
  width: 24%;
  margin-bottom: 30px;
}

.bnrslide-wrap .swiper ul.banner-gallery:after {
  content: "";
  display: block;
  width: 50%;
  height: 0;
}

@media screen and (max-width: 768px) {
  .bnrslide-wrap .swiper ul.banner-gallery li {
    width: 47.5%;
    margin-bottom: 15px;
  }
  .l-bnrslide {
    padding: 15px 0 0;
  }
}
/* ---------------
  追記 0711 MV
  ------------------ */
.l-business-oleo .l-pttl {
  background-image: url(../images/business/functional-materials/index-pttl-bg.jpg);
  background-color: rgba(0, 0, 0, 0.2);
  background-blend-mode: darken;
}

.l-business-chemical .l-pttl {
  background-image: url(../images/business/chemical/index-pttl-bg.jpg);
  background-color: rgba(0, 0, 0, 0.2);
  background-blend-mode: darken;
}

.l-business-explosive .l-pttl {
  background-image: url(../images/business/explosive/index-pttl-bg.jpg);
  background-color: rgba(0, 0, 0, 0.2);
  background-blend-mode: darken;
}

.l-business-food .l-pttl {
  background-image: url(../images/business/food/index-pttl-bg.jpg);
  background-color: rgba(0, 0, 0, 0.2);
  background-blend-mode: darken;
}

.l-business-life .l-pttl {
  background-image: url(../images/business/life/index-pttl-bg.jpg);
  background-color: rgba(0, 0, 0, 0.2);
  background-blend-mode: darken;
}

.l-business-dds .l-pttl {
  background-image: url(../images/business/dds/index-pttl-bg.jpg);
  background-color: rgba(0, 0, 0, 0.2);
  background-blend-mode: darken;
}

.l-business-coating .l-pttl {
  background-image: url(../images/business/coating/index-pttl-bg.jpg);
  background-color: rgba(0, 0, 0, 0.2);
  background-blend-mode: darken;
}

.l-ir-index .l-pttl {
  background-image: url(../images/ir/ir-pttl-bg.jpg);
  background-color: rgba(0, 0, 0, 0.2);
  background-blend-mode: darken;
}

.l-csr-index .l-pttl {
  background-image: url(../images/csr/csr-pttl-bg.jpg);
  background-color: rgba(0, 0, 0, 0.2);
  background-blend-mode: darken;
}

.l-company-index .l-pttl {
  background-image: url(../images/company/company-pttl-bg.jpg);
  background-color: rgba(0, 0, 0, 0.2);
  background-blend-mode: darken;
}

.l-research-index .l-pttl {
  background-image: url(../images/research/research-pttl-bg.jpg);
  background-color: rgba(0, 0, 0, 0.2);
  background-blend-mode: darken;
}

.l-product-search-index .l-pttl {
  background-image: url(../images/product-search/index-pttl-bg.jpg);
  background-color: rgba(0, 0, 0, 0.2);
  background-blend-mode: darken;
}

.l-recruit-index .l-pttl {
  background-image: url(/assets/images/recruit/recruit-01.jpg);
  background-color: rgba(0, 0, 0, 0.2);
  background-blend-mode: darken;
}

/* ---------------
  追記 0712 group
  ------------------ */
.biz-inner-wide .bizlist-intro .txt {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .biz-inner-wide .bizlist-intro .txt {
    width: 100%;
  }
}
/* ---------------
  追記 0713
  ------------------ */
.l-sec-news .news-list article > div.status .cat {
  display: flex;
  justify-content: center;
  align-items: center;
}

#tc_list .content h3::after {
  content: none;
}

.cnts-main .cnts-wrap .cnts-box .p-post-ttl {
  width: 68%;
}

@media only screen and (max-width: 768px) {
  .p-post-item__pdf {
    margin-left: auto;
    width: 60%;
  }
}
.main-cap {
  text-align: right;
  padding-top: 30px;
}

@media only screen and (max-width: 768px) {
  .main-cap .main-cap-r {
    color: #FF0004;
    text-align: initial;
    padding-top: 0;
  }
}
.cnts-wrap .cnts-box .right-80 table tr th {
  width: 5%;
}

.cnts-wrap .cnts-box table tr td {
  text-align: initial;
}

.cnts-group-companies .custom-block-wrap .cnts-wrap .cnts-box #oleo, .cnts-group-companies .custom-block-wrap .cnts-wrap .cnts-box #oleo-chemical, .cnts-group-companies .custom-block-wrap .cnts-wrap .cnts-box #explosive, .cnts-group-companies .custom-block-wrap .cnts-wrap .cnts-box #rust, .cnts-group-companies .custom-block-wrap .cnts-wrap .cnts-box #associate, .cnts-group-companies .custom-block-wrap .cnts-wrap .cnts-box #coating, .cnts-group-companies .custom-block-wrap .cnts-wrap .cnts-box #associate {
  padding-top: 150px;
  margin-top: -150px;
}

.cnts-ethical .cnts-box#br-policy,
.cnts-ethical .cnts-box#hr-policy,
.cnts-guidline .cnts-box#fraud-pre {
  padding-top: 150px;
  margin-top: -150px;
}

/* ---------------
追記 0719
------------------ */
.cnts-wrap .cnts-box table.table-life-product05 tr th {
  width: auto;
}
.cnts-wrap .cnts-box table.table-life-product05 tr th:first-child {
  width: 20%;
}
.cnts-wrap .cnts-box table.table-life-product05 tr td {
  text-align: center;
}

.stock-btn {
  margin: 20px 0 20px 0;
}

@media only screen and (max-width: 768px) {
  .stock-btn {
    margin: 10px 0 10px;
  }
}
/* ==========================================================================
追記 Print用 CSS
========================================================================== */
@media print {
  body {
    font-size: 1.2em !important;
  }
  .l-pttl {
    min-height: 150px !important;
    font-size: 15px !important;
  }
  .l-pttl .l-inner {
    min-height: 150px !important;
  }
  .l-pttl .ttl span {
    font-size: 22px;
  }
  .l-pttl .lead {
    font-size: 12px;
  }
  .l-main {
    padding-top: 0 !important;
  }
  .l-inner {
    padding: 0 10px !important;
  }
  .cnts-sub nav dl dt a {
    font-size: 1.2rem;
  }
  .l-header {
    display: none !important;
  }
  .l-footer {
    display: none !important;
  }
  .l-contact {
    display: none !important;
  }
  .l-sec-business .business-list li p span {
    font-size: 1.2rem;
  }
}
/* ---------------
追記 20220804 (coating)
------------------ */
.coating-p {
  padding-top: 150px;
  margin-top: -150px;
}

/* ---------------
追記 20220815
------------------ */
.cnts-sub-research nav dl dd {
  display: block;
}

/* ---------------
追記 20230330　トップバナー
------------------ */
@media screen and (min-width: 769px) {
  .l-sec-special .bnr-list::after {
    content: "";
    display: block;
    width: 30%;
  }
}
/* ---------------
追記 20230517　 GoogleMap
------------------ */
.modal-page .gmap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.modal-page .gmap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 768px) {
  .modal-page .gmap {
    padding-top: 90%;
  }
}
/* ---------------
追記 20230524　 アンカーリンク
改訂 20240709
------------------ */
.l-cnts .anc-sub {
  margin-bottom: 60px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 20px;
}
.l-cnts .anc-sub a {
  margin: 0;
  display: block;
}
.l-cnts .anc-sub a.btn {
  margin: 0;
}
.l-cnts .anc-sub .btn--ir {
  padding: 8px 51px 11px 41px;
}
.l-cnts .anc-sub .btn-s span::after {
  transform: rotate(135deg);
  right: -33px;
  top: -1px;
}

@media screen and (max-width: 768px) {
  .l-cnts .anc-sub {
    text-align: left;
    margin-bottom: 30px;
  }
  .l-cnts .anc-sub a {
    margin: 0;
  }
  .l-cnts .anc-sub a span {
    font-size: 9px;
  }
  .l-cnts .anc-sub .btn--ir {
    padding: 7px 51px 9px 41px;
  }
}
/* ---------------
追記 20230720　NEWS追加
------------------ */
.bl_emergencyNews {
  width: 100%;
  border: 2px solid #999;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .bl_emergencyNews {
    width: calc(100% - 10px);
    margin: 10px auto;
  }
}
.bl_emergencyNews__inner {
  padding: 2rem 1rem;
}

@media screen and (max-width: 768px) {
  .bl_emergencyNews__inner {
    padding: 2rem 2rem;
  }
}
.bl_emergencyNews__heading {
  color: red;
  font-size: 2rem;
  font-weight: bold;
  padding-bottom: 1rem;
  text-align: center;
}

.bl_emergencyNews__title {
  text-align: center;
}

.bl_emergencyNews__title a {
  font-size: 1.8rem;
  color: #127ACC;
  text-decoration: underline;
}

@media screen and (min-width: 769px) {
  .bl_emergencyNews__title a:hover {
    text-decoration: none;
    color: #64A8DE;
  }
}
@media screen and (max-width: 768px) {
  .bl_emergencyNews__title {
    text-align: left;
  }
  .bl_emergencyNews__title a {
    line-height: 3rem;
  }
}
.bl_emergencyNews__title a::after {
  content: url(/assets/images/common/icon_pdf.png);
  vertical-align: middle;
}

/* ---------------
追記 20240408　追加
------------------ */
.business-list .link-blank,
.cnts-sub-nav .link-blank,
.fnav .link-blank {
  color: #000;
}
.business-list .link-blank:hover,
.cnts-sub-nav .link-blank:hover,
.fnav .link-blank:hover {
  text-decoration: none;
}
/*# sourceMappingURL=style.css.map */