@charset "UTF-8";
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,
button,
dl, dt, dd, ol, ul, li,
fieldset, form, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  color: #615959; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

th {
  font-weight: normal; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select, textarea, img {
  vertical-align: middle; }

ul, dl, ol {
  list-style: none; }

*:focus {
  outline: none; }

.col-1 {
  width: 8.333%; }

.col-2 {
  width: 16.666%; }

.col-3 {
  width: 25%; }

.col-4 {
  width: 33.333%; }

.col-5 {
  width: 41.666%; }

.col-6 {
  width: 50%; }

.col-7 {
  width: 58.333%; }

.col-8 {
  width: 66.666%; }

.col-9 {
  width: 75%; }

.col-10 {
  width: 83.333%; }

.col-11 {
  width: 91.666%; }

.col-12 {
  width: 100%; }

.col3-4 {
  margin: 0 auto;
  width: calc((100% / 4 * 3) - 20px); }

.fs70 {
  font-size: 70% !important; }

.fs80 {
  font-size: 80% !important; }

.fs90 {
  font-size: 90% !important; }

.fs100 {
  font-size: 100% !important; }

.fs110 {
  font-size: 110% !important; }

.fs120 {
  font-size: 120% !important; }

.fs130 {
  font-size: 130% !important; }

.fs140 {
  font-size: 140% !important; }

.fs150 {
  font-size: 150% !important; }

.fs160 {
  font-size: 160% !important; }

.fs170 {
  font-size: 170% !important; }

.fs180 {
  font-size: 180% !important; }

.fs190 {
  font-size: 190% !important; }

.fs200 {
  font-size: 200% !important; }

.fs300 {
  font-size: 300% !important; }

.fs400 {
  font-size: 400% !important; }

.b {
  font-weight: 700; }

.u {
  text-decoration: underline; }

.del {
  text-decoration: line-through; }

.black {
  color: #000 !important; }

.red {
  color: #d7535e !important; }

.blue {
  color: #2c3b5b !important; }

.green {
  color: #38bf9e !important; }

.orange {
  color: #e17514 !important; }

.bold {
  font-weight: bold !important; }

.center {
  text-align: center !important; }

.right {
  text-align: right !important; }

.left {
  text-align: left !important; }

.floatR {
  float: right;
  margin: 0 0 1em 2em; }

.floatL {
  float: left;
  margin: 0 2em 1em 0; }

.clear {
  clear: both; }

.floatBox {
  margin-top: 20px; }
  .floatBox::after {
    content: "";
    clear: both;
    display: block; }

@media (min-width: 860px) {
  .col-lg {
    flex: 1 0 0%; } }
@media (max-width: 600px) {
  .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col3-4 {
    width: 100%; }

  .col-4 + .col-4, .col-6 + .col-6 {
    margin-top: 20px; }

  .col-10 + .col-2, .col-2 + .col-10, .col-3 + .col-9, .col-9 + .col-3, .col-4 + .col-8, .col-8 + .col-4 {
    margin-top: 10px; } }
a img.fade {
  background: none !important;
  outline: none;
  -webkit-transition: all .3s;
  transition: all .3s; }

a:hover img.fade {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )";
  background: none !important; }

.att {
  padding-left: 1em;
  text-indent: -1em; }

.att_box {
  margin: 2em 0 2.5em;
  padding: 1em 1.2em;
  line-height: 2.0;
  border: 1px dotted #cccccc;
  background: #fcfcfc;
  box-shadow: 0px 4px 0px 0px #f7f7f7; }

/* テキストボックス */
.mb0em {
  margin-bottom: 0em !important; }

.mb05em {
  margin-bottom: .5em !important; }

.mb1em {
  margin-bottom: 1em !important; }

.mb2em {
  margin-bottom: 2em !important; }

.mb3em {
  margin-bottom: 3em !important; }

.mb4em {
  margin-bottom: 4em !important; }

.mb5em {
  margin-bottom: 5em !important; }

.pt0em {
  padding-top: 0em !important; }

.pt1em {
  padding-top: 1em !important; }

.pt2em {
  padding-top: 2em !important; }

.pt3em {
  padding-top: 3em !important; }

.pt4em {
  padding-top: 4em !important; }

.pt5em {
  padding-top: 5em !important; }

.p3vw {
  padding: 3vw 0 !important; }

.m0 {
  margin: 0 !important; }

.mt0 {
  margin-top: 0 !important; }

.mr0 {
  margin-right: 0 !important; }

.mb0 {
  margin-bottom: 0 !important; }

.ml0 {
  margin-left: 0 !important; }

.m5 {
  margin: 5px !important; }

.mt5 {
  margin-top: 5px !important; }

.mr5 {
  margin-right: 5px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.ml5 {
  margin-left: 5px !important; }

.m10 {
  margin: 10px !important; }

.mt10 {
  margin-top: 10px !important; }

.mr10 {
  margin-right: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.ml10 {
  margin-left: 10px !important; }

.m15 {
  margin: 15px !important; }

.mt15 {
  margin-top: 15px !important; }

.mr15 {
  margin-right: 15px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.ml15 {
  margin-left: 15px !important; }

.m20 {
  margin: 20px !important; }

.mt20 {
  margin-top: 20px !important; }

.mr20 {
  margin-right: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.ml20 {
  margin-left: 20px !important; }

.m25 {
  margin: 25px !important; }

.mt25 {
  margin-top: 25px !important; }

.mr25 {
  margin-right: 25px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.ml25 {
  margin-left: 25px !important; }

.m30 {
  margin: 30px !important; }

.mt30 {
  margin-top: 30px !important; }

.mr30 {
  margin-right: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.ml30 {
  margin-left: 30px !important; }

.m35 {
  margin: 35px !important; }

.mt35 {
  margin-top: 35px !important; }

.mr35 {
  margin-right: 35px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.ml35 {
  margin-left: 35px !important; }

.m40 {
  margin: 40px !important; }

.mt40 {
  margin-top: 40px !important; }

.mr40 {
  margin-right: 40px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.ml40 {
  margin-left: 40px !important; }

.m45 {
  margin: 45px !important; }

.mt45 {
  margin-top: 45px !important; }

.mr45 {
  margin-right: 45px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.ml45 {
  margin-left: 45px !important; }

.m50 {
  margin: 50px !important; }

.mt50 {
  margin-top: 50px !important; }

.mr50 {
  margin-right: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.ml50 {
  margin-left: 50px !important; }

.m55 {
  margin: 55px !important; }

.mt55 {
  margin-top: 55px !important; }

.mr55 {
  margin-right: 55px !important; }

.mb55 {
  margin-bottom: 55px !important; }

.m60 {
  margin: 60px !important; }

.mt60 {
  margin-top: 60px !important; }

.mr60 {
  margin-right: 60px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.ml60 {
  margin-left: 60px !important; }

.m65 {
  margin: 65px !important; }

.mt65 {
  margin-top: 65px !important; }

.mr65 {
  margin-right: 65px !important; }

.mb65 {
  margin-bottom: 65px !important; }

.ml65 {
  margin-left: 65px !important; }

.m70 {
  margin: 70px !important; }

.mr70 {
  margin-right: 70px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.ml70 {
  margin-left: 70px !important; }

.m75 {
  margin: 75px !important; }

.mt75 {
  margin-top: 75px !important; }

.mr75 {
  margin-right: 75px !important; }

.mb75 {
  margin-bottom: 75px !important; }

.ml75 {
  margin-left: 75px !important; }

.m80 {
  margin: 80px !important; }

.mt80 {
  margin-top: 80px !important; }

.mr80 {
  margin-right: 80px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.ml80 {
  margin-left: 80px !important; }

.p0 {
  padding: 0 !important; }

.pt0 {
  padding-top: 0 !important; }

.pr0 {
  padding-right: 0 !important; }

.pb0 {
  padding-bottom: 0 !important; }

.pl0 {
  padding-left: 0 !important; }

.p5 {
  padding: 5px !important; }

.pt5 {
  padding-top: 5px !important; }

.pr5 {
  padding-right: 5px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.pl5 {
  padding-left: 5px !important; }

.p10 {
  padding: 10px !important; }

.pt10 {
  padding-top: 10px !important; }

.pr10 {
  padding-right: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pl10 {
  padding-left: 10px !important; }

.p20 {
  padding: 20px !important; }

.pt20 {
  padding-top: 20px !important; }

.pr20 {
  padding-right: 20px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pl20 {
  padding-left: 20px !important; }

.p40 {
  padding: 40px !important; }

.pt40 {
  padding-top: 40px !important; }

.pr40 {
  padding-right: 40px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.pl40 {
  padding-left: 40px !important; }

.pb65 {
  padding-bottom: 65px !important; }

.w70 {
  width: 70px !important; }

.w290 {
  width: 290px !important; }

.w440 {
  width: 100%;
  max-width: 440px !important; }

.w682 {
  width: 100%;
  max-width: 682px !important; }

.w710 {
  width: 720px !important; }

.w50p {
  width: 50% !important; }

.w60p {
  width: 60% !important; }

.w70p {
  width: 70% !important; }

.w80p {
  width: 80% !important; }

.w90p {
  width: 90% !important; }

.w100p {
  width: 100% !important; }

header {
  width: 100%;
  background: #fff;
  padding: 20px;
  transition: .5s; }
  header h1 img {
    width: 360px; }
  header h1 a:hover {
    opacity: .7; }
  header.clone {
    position: fixed;
    top: 0;
    z-index: 1000;
    animation: clone .5s;
    border-bottom: 1px solid #dedede; }
@keyframes clone {
  0% {
    top: -200px; }
  100% {
    top: 0; } }
  header .inner {
    width: 100%;
    margin: 0 auto;
    background: #fff;
    display: flex;
    font-size: 16px;
    justify-content: space-between;
    align-items: center;
    max-width: 1600px;
    position: relative; }
    header .inner .exlink {
      text-align: right;
      margin-bottom: 15px; }
  header .contactSearch {
    text-align: right;
    padding-bottom: 40px; }
    header .contactSearch .pop_search {
      margin-left: 1.5em; }
      header .contactSearch .pop_search .fa-lg {
        font-size: 16px;
        vertical-align: baseline; }
      header .contactSearch .pop_search:hover {
        cursor: pointer; }
  header ul.gnav {
    display: flex;
    margin: 0;
    justify-content: space-between;
    align-items: center; }
    header ul.gnav > li {
      position: relative;
      margin: 0 10px;
      padding-bottom: 5px; }
      header ul.gnav > li:first-child {
        margin-left: 0; }
      header ul.gnav > li:last-child {
        margin-right: 0; }
      header ul.gnav > li > a {
        position: relative;
        display: inline-block;
        text-decoration: none;
        padding: 5px; }
        header ul.gnav > li > a::before {
          position: absolute;
          bottom: -4px;
          left: 0;
          content: '';
          width: 100%;
          height: 1px;
          background: #076b7a;
          transform: scale(0, 1);
          transform-origin: center top;
          transition: transform .3s; }
        header ul.gnav > li > a:hover::before {
          transform: scale(1, 1); }
      header ul.gnav > li.gnav_list .dropdown_lists {
        display: none;
        width: 100%;
        position: absolute;
        top: 30px;
        left: 0; }
        header ul.gnav > li.gnav_list .dropdown_lists.last {
          left: unset;
          right: -20px; }
        header ul.gnav > li.gnav_list .dropdown_lists .dropdown_list {
          background-color: #fff;
          border-left: solid 1px #dedede;
          border-right: solid 1px #dedede;
          transition: all .3s;
          position: relative; }
          header ul.gnav > li.gnav_list .dropdown_lists .dropdown_list:first-child {
            border-top: solid 1px #dedede; }
          header ul.gnav > li.gnav_list .dropdown_lists .dropdown_list:last-child {
            border-bottom: solid 1px #dedede; }
          header ul.gnav > li.gnav_list .dropdown_lists .dropdown_list a {
            padding: 5px 15px;
            display: flex;
            justify-content: start;
            align-items: center;
            color: #000;
            text-decoration: none;
            position: relative; }
            header ul.gnav > li.gnav_list .dropdown_lists .dropdown_list a::before {
              content: "\f105";
              font-family: "FontAwesome";
              color: #000;
              font-weight: 900;
              font-size: 18px;
              margin-right: 0.5em; }
          header ul.gnav > li.gnav_list .dropdown_lists .dropdown_list:hover {
            background-color: #076b7a; }
            header ul.gnav > li.gnav_list .dropdown_lists .dropdown_list:hover a {
              color: #fff; }
              header ul.gnav > li.gnav_list .dropdown_lists .dropdown_list:hover a::before {
                color: #fff; }
      header ul.gnav > li.gnav_list:hover .dropdown_lists {
        display: block;
        width: 200px;
        padding-top: 20px;
        visibility: visible;
        opacity: 1;
        z-index: 1; }
      header ul.gnav > li.gnav_list .dropdown_lists {
        visibility: hidden;
        opacity: 0;
        transition: all .3s;
        width: 100%;
        position: absolute;
        top: 30px;
        left: 0; }
      header ul.gnav > li.active a::before {
        transform: scale(1, 1);
        transform-origin: unset;
        transition: none; }
  header a {
    color: #000; }
    header a:hover {
      opacity: 1; }

.hamburger-menu {
  display: none; }
  .hamburger-menu .menu-btn {
    display: flex;
    margin: 13px 0;
    float: right;
    height: 58px;
    width: 58px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #fff; }
  .hamburger-menu .menu-btn span,
  .hamburger-menu .menu-btn span:before,
  .hamburger-menu .menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 30px;
    border-radius: 3px;
    background-color: #000;
    position: absolute; }
  .hamburger-menu .menu-btn span:before {
    bottom: 10px; }
  .hamburger-menu .menu-btn span:after {
    top: 10px; }
  .hamburger-menu #menu-btn-check {
    display: none; }
  .hamburger-menu #menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0); }
  .hamburger-menu #menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg); }
  .hamburger-menu #menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg); }

@media (max-width: 1140px) {
  header {
    padding: 0;
    overflow: unset; }
    header .inner {
      display: block;
      padding: 0px; }
      header .inner .leftnav {
        padding: 0;
        overflow: hidden; }
        header .inner .leftnav h1 {
          padding: 1em 0 .5em .5em; }
      header .inner .exlink {
        padding: .5em;
        margin-bottom: 0;
        font-size: 14px; }
    header .hamburger-menu {
      display: block; }
    header a[target^="_blank"]::after {
      content: url(../img/window.png); }
    header h1 {
      float: left; }
      header h1 img {
        max-width: 300px; }
    header .rightNavi {
      display: none;
      position: absolute;
      z-index: 100;
      width: 100%; }
    header .contactSearch {
      background: #fff;
      padding: 0 20px 20px 0; }
    header ul.gnav {
      display: block;
      justify-content: space-around;
      width: 100%;
      left: 0;
      z-index: 900;
      top: 91px;
      margin-top: 0;
      flex-wrap: wrap;
      background: #fff; }
      header ul.gnav > li {
        border-bottom: 1px solid #076b7a; }
        header ul.gnav > li:first-child {
          margin-left: 10px; }
        header ul.gnav > li:last-child {
          margin-right: 10px; }
        header ul.gnav > li + li {
          border-left: none; }
        header ul.gnav > li a {
          padding: 10px;
          font-size: 15px;
          box-sizing: border-box;
          width: 100%; }
          header ul.gnav > li a::after {
            content: "\f105";
            font-family: "FontAwesome";
            color: #076b7a;
            position: absolute;
            right: .5em; }
          header ul.gnav > li a::before {
            display: none; }

  .breadcrumbs-nav ul {
    padding-left: .5em;
    padding-right: .5em; } }
footer {
  width: 100%;
  overflow: hidden;
  background: linear-gradient(135deg, #076b7a 65%, #62c0b4);
  line-height: 1.5;
  text-align: right;
  padding: 60px .5em 40px;
  color: #fff; }
  footer a {
    color: #fff; }
  footer .inner {
    max-width: 1360px; }
  footer .fnav {
    margin-bottom: 80px;
    font-size: 14px; }
    footer .fnav ul {
      text-align: left; }
      footer .fnav ul.col-2 {
        width: 18.666%;
        margin-right: 30px; }
      footer .fnav ul li {
        padding: .5em 0; }
        footer .fnav ul li.icon::after {
          content: "\f105";
          font-family: "FontAwesome";
          color: #fff;
          margin-right: 0;
          font-weight: 900;
          font-size: 18px;
          margin-left: .5em; }
      footer .fnav ul > ul li {
        border-bottom: 1px solid #fff; }
        footer .fnav ul > ul li:first-child {
          border-top: 1px solid #fff; }
  footer .policy {
    font-size: 12px; }
    footer .policy ul {
      display: flex;
      justify-content: center; }
      footer .policy ul li {
        margin-right: 1.2em; }
        footer .policy ul li:last-child {
          margin-right: 0; }
        footer .policy ul li::before {
          content: "\f105";
          font-family: "FontAwesome";
          color: #fff;
          margin-right: 0;
          font-weight: 900;
          font-size: 16px;
          margin-right: .3em; }
  footer .copyright {
    display: block;
    width: 100%;
    text-align: center;
    font-style: normal;
    font-size: 14px;
    border-top: 1px solid #fff;
    margin-top: 5px;
    padding-top: 15px; }

@media (max-width: 1000px) {
  footer {
    padding: 40px .5em 20px; }
    footer .fnav {
      margin-bottom: 50px; }
      footer .fnav ul.col-2 {
        width: 25%;
        margin-right: 0; } }
@media (max-width: 600px) {
  footer {
    padding: 40px .5em 20px; }
    footer .fnav {
      margin-bottom: 50px; }
      footer .fnav ul li.acd-icon {
        position: relative;
        display: block; }
        footer .fnav ul li.acd-icon::before, footer .fnav ul li.acd-icon::after {
          content: '';
          display: block;
          width: 12px;
          height: 2px;
          background: #fff;
          position: absolute;
          left: 7.5em;
          top: 50%;
          transform: translateY(-50%); }
        footer .fnav ul li.acd-icon::after {
          background: #fff;
          transform: translateY(-50%) rotate(90deg);
          transition: 0.3s; }
        footer .fnav ul li.acd-icon.open::after {
          transform: rotate(0);
          transition: 0.3s; }
        footer .fnav ul li.acd-icon.two::before, footer .fnav ul li.acd-icon.two::after {
          left: 4.5em; }
      footer .fnav ul.col-2 {
        width: 100%; }
      footer .fnav ul .acd {
        display: none; }
        footer .fnav ul .acd + .icon {
          margin-top: 1em; }
      footer .fnav ul + ul {
        margin-top: .5em; } }
/* 共通設定
----------------------------- */
body {
  position: relative;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-size: 17px;
  font-weight: normal;
  line-height: 1.2;
  color: #000; }

.min {
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
  font-weight: 100; }

img {
  width: auto;
  max-width: 100%;
  height: auto; }
  img + img {
    margin-top: 10px; }
  img.bland {
    max-width: 500px; }

@media (max-width: 620px) {
  img.bland {
    max-width: 100%;
    width: 100%; } }
sup {
  font-size: 70%;
  display: inline-block;
  vertical-align: top; }

sub {
  font-size: 60%;
  display: inline-block; }

strong {
  font-weight: bold;
  color: #076b7a; }

.lead {
  font-size: 110%;
  font-weight: bold; }
  .lead + .text {
    margin-top: 10px; }
  .lead + h3 {
    margin-top: 40px; }
  .lead + .fig, .lead + .square, .lead + .flexbox {
    margin-top: 20px; }

.text + .text {
  margin-top: 15px; }
.text + .lead, .text + .option-list, .text + .flexbox, .text + .fig, .text + .sub_ttl {
  margin-top: 20px; }
.text + h2, .text + h3, .text + h4 {
  margin-top: 40px; }

.ttl {
  font-size: 20px;
  font-weight: bold;
  color: #076b7a; }
  .ttl + .text {
    margin-top: 5px; }

.sub_ttl {
  font-size: 17px;
  font-weight: bold; }
  .sub_ttl + .text {
    margin-top: 5px; }

.spi, .spb, .spt {
  display: none; }

.pci {
  display: inline; }

.pcb {
  display: block; }

.pct {
  display: table; }

.tb {
  display: table; }
  .tb a {
    display: table-cell;
    vertical-align: middle; }

a {
  color: #076b7a;
  text-decoration: none; }

a:hover {
  opacity: .7; }

hr {
  border: none;
  border-top: 1px solid #62c0b4; }

.fixed {
  position: fixed;
  width: 100%;
  height: 100%; }

.grid {
  margin-left: -10px;
  margin-right: -10px;
  zoom: 1; }

.grid::after {
  clear: both;
  content: "";
  display: table; }

.unit {
  box-sizing: border-box;
  float: left;
  padding-left: 10px;
  padding-right: 10px; }

.flexbox > .unit {
  float: none; }

.txt-indent {
  display: block;
  text-indent: 1em; }

.flexbox {
  display: flex;
  flex-wrap: wrap; }
  .flexbox.col {
    flex-direction: column; }
  .flexbox.center {
    justify-content: center; }
  .flexbox + .flexbox {
    margin-top: 20px; }
  .flexbox + h2, .flexbox + h3, .flexbox + h4 {
    margin-top: 40px; }

.is-absolute {
  position: relative; }
  .is-absolute .w_bottom {
    width: 85%;
    position: absolute;
    bottom: -48%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%); }
  .is-absolute a:hover {
    opacity: .9; }
  .is-absolute .bg-black {
    background: rgba(0, 0, 0, 0.75);
    color: #fff;
    font-size: 19px; }
    .is-absolute .bg-black.half {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      width: 50%;
      padding: 60px 70px;
      text-align: left; }
      .is-absolute .bg-black.half:hover::after {
        animation: arrow-left 0.3s forwards; }
      .is-absolute .bg-black.half::after {
        position: absolute;
        right: 15px;
        bottom: 10px;
        display: block;
        width: 30px;
        height: 15px;
        content: '';
        background-image: url(../img/icon_arrow.png);
        background-size: contain;
        vertical-align: middle;
        animation: arrow-right 0.3s forwards; }
    .is-absolute .bg-black.half-right {
      position: absolute;
      top: 50%;
      right: 0;
      transform: translateY(-50%);
      width: 50%;
      padding: 25px 70px;
      text-align: left; }
    .is-absolute .bg-black.btext {
      height: 200px;
      padding: 15px;
      text-align: left; }
      .is-absolute .bg-black.btext:hover::after {
        animation: arrow-left 0.3s forwards; }
      .is-absolute .bg-black.btext::after {
        position: absolute;
        right: 15px;
        bottom: 10px;
        display: block;
        width: 30px;
        height: 15px;
        content: '';
        background-image: url(../img/icon_arrow.png);
        background-size: contain;
        vertical-align: middle;
        animation: arrow-right 0.3s forwards; }
    .is-absolute .bg-black.btext_pdf {
      height: 200px;
      padding: 15px;
      text-align: left; }
      .is-absolute .bg-black.btext_pdf a {
        display: block;
        color: #fff;
        text-decoration: underline; }
        .is-absolute .bg-black.btext_pdf a.pdf::after {
          content: "\f1c1";
          font-family: "FontAwesome";
          color: #ff2116;
          margin-right: 0;
          font-weight: 900;
          font-size: 18px;
          margin-left: .5em; }

.btnlink_l {
  position: relative;
  display: block;
  color: #000;
  border-bottom: solid 1px #000;
  transition: all .4s ease-in-out; }
  .btnlink_l.current {
    box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
    background: #076b7a;
    color: #fff;
    opacity: 1; }
    .btnlink_l.current div::after {
      color: #fff; }
  .btnlink_l div {
    padding: 15px; }
    .btnlink_l div .link_area-ttl {
      display: block;
      font-size: 22px;
      font-weight: bold; }
    .btnlink_l div::after {
      content: "\f105";
      font-family: "FontAwesome";
      color: #000;
      position: absolute;
      top: 50%;
      transform: translate(0, -50%);
      right: .5em;
      font-size: 40px; }
  .btnlink_l:hover {
    box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
    background: #076b7a;
    color: #fff;
    opacity: 1; }
    .btnlink_l:hover div::after {
      color: #fff; }

section {
  line-height: 1.78; }

.fss {
  font-size: 14px; }

.fsl {
  font-size: 20px; }

.anchor ul {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 45px; }
  .anchor ul li::before {
    content: "\f078";
    font-family: "FontAwesome";
    color: #076b7a;
    margin-right: 0;
    font-weight: 900;
    font-size: 16px;
    font-weight: normal;
    margin-right: .3em; }

.anchor_icon {
  margin-bottom: 70px; }
  .anchor_icon .flexbox {
    justify-content: center; }
    .anchor_icon .flexbox p {
      margin-bottom: 10px;
      text-align: center;
      font-size: 18px; }
      .anchor_icon .flexbox p.anchor_ttl-left {
        color: #339bc0; }
      .anchor_icon .flexbox p.anchor_ttl-right {
        color: #1298a1; }
    .anchor_icon .flexbox ul {
      display: flex;
      flex-wrap: wrap;
      gap: 10px; }
      .anchor_icon .flexbox ul li {
        width: 30%; }
      .anchor_icon .flexbox ul figure {
        position: relative; }
        .anchor_icon .flexbox ul figure img {
          border-radius: 50%; }
      .anchor_icon .flexbox ul.anchor-left figure::after {
        content: "\f078";
        font-family: "FontAwesome";
        color: #339bc0;
        margin-right: 0;
        font-weight: 900;
        position: absolute;
        bottom: -30%;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        font-size: 24px;
        font-weight: normal; }
      .anchor_icon .flexbox ul.anchor-right {
        justify-content: flex-end; }
        .anchor_icon .flexbox ul.anchor-right figure::after {
          content: "\f078";
          font-family: "FontAwesome";
          color: #1298a1;
          margin-right: 0;
          font-weight: 900;
          position: absolute;
          bottom: -30%;
          left: 50%;
          transform: translateX(-50%);
          -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
          font-size: 24px;
          font-weight: normal; }

.workbox {
  display: flex;
  flex-wrap: wrap;
  gap: 60px 25px; }
  .workbox li {
    width: 85%; }
    .workbox li:nth-of-type(odd) {
      width: 11%; }

.panel {
  padding: 30px;
  border: solid 16px #cde1e4; }

.panel-t {
  padding: 30px;
  border: solid 4px #cde1e4;
  border-radius: 10px; }

.tab-list {
  width: 100%;
  display: table; }
  .tab-list .tab-item {
    position: relative;
    width: 50%;
    padding: 17px 0 12px;
    display: table-cell;
    background: #cde1e4;
    border-bottom: 4px solid #076b7a;
    font-size: 28px;
    font-weight: bold;
    color: #076b7a;
    cursor: pointer; }
    .tab-list .tab-item.is-btn-active {
      background: #076b7a;
      color: #fff;
      cursor: auto; }
      .tab-list .tab-item.is-btn-active::after {
        content: "\f078";
        font-family: "FontAwesome";
        color: #fff;
        margin-right: 0;
        font-weight: 900;
        position: absolute;
        top: 50%;
        margin-top: -8px;
        font-size: 20px;
        font-weight: normal;
        margin-left: .5em; }

.tab-contents-wrap {
  position: relative;
  padding-top: 70px; }
  .tab-contents-wrap .dryiceList {
    position: absolute;
    top: 45%;
    left: 5px;
    transform: translateY(-55%);
    -webkit-transform: translateY(-55%);
    -ms-transform: translateY(-55%);
    width: 13vw; }
  .tab-contents-wrap .tab-contents {
    display: none; }
    .tab-contents-wrap .tab-contents.is-contents-active {
      display: block; }

.movie {
  position: relative;
  padding-bottom: 56.25%; }
  .movie iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%; }

.link_list {
  text-indent: -1.8em;
  padding-left: 1.8em; }
  .link_list li {
    padding-top: 10px; }
    .link_list li:first-child {
      padding-top: 0; }
    .link_list li .link_list {
      margin-top: 10px;
      text-indent: -1.8em;
      padding-left: 1.8em; }

.banner {
  display: table;
  margin: 0 auto -40px; }
  .banner figure {
    display: table-cell; }
    .banner figure a {
      -webkit-transition: all .3s;
      transition: all .3s; }
      .banner figure a:hover {
        opacity: 1;
        filter: brightness(110%); }
    .banner figure + figure {
      padding-left: 30px; }
  .banner + footer {
    padding-top: 100px; }

.modal_bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 7777;
  display: none;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7); }

#totop {
  width: 9.375vw;
  height: 9.375vw;
  max-width: 60px;
  max-height: 60px;
  min-width: 40px;
  min-height: 40px;
  position: absolute;
  border: 1px solid #076b7a;
  border-radius: 9.375vw;
  bottom: 0;
  right: 15px;
  z-index: 100;
  background: #fff; }
  #totop a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    text-decoration: none;
    text-align: center; }
    #totop a::after {
      content: "\f106";
      font-family: "FontAwesome";
      color: #076b7a;
      margin-right: 0;
      font-weight: 900;
      font-size: 30px;
      display: block;
      margin-top: -5px; }

#wrap section {
  margin-top: 20px;
  padding: 30px 0;
  overflow: hidden; }
  #wrap section + section {
    margin-top: 60px; }
  #wrap section:last-of-type {
    margin-bottom: 120px; }
  #wrap section.discovery {
    overflow: visible; }
  #wrap section .btnlink a {
    border: 1px solid #076b7a;
    background: #076b7a;
    display: inline-block;
    padding: 0.6em 2em;
    color: #fff;
    font-size: 16px;
    border-radius: 1px;
    -webkit-transition: all .3s;
    transition: all .3s; }
    #wrap section .btnlink a:hover {
      opacity: 1;
      filter: brightness(140%); }
      #wrap section .btnlink a:hover::after {
        animation: arrow-left 0.3s forwards; }
    #wrap section .btnlink a::after {
      display: inline-block;
      width: 20px;
      height: 10px;
      content: '';
      background-image: url(../img/icon_arrow.png);
      background-size: contain;
      margin-left: 0.6em;
      vertical-align: middle;
      animation: arrow-right 0.3s forwards; }
    #wrap section .btnlink a.back:hover::before {
      animation: arrow-right 0.3s forwards; }
    #wrap section .btnlink a.back::before {
      display: inline-block;
      width: 22px;
      height: 12px;
      content: '';
      background-image: url(../img/icon_arrow-left.png);
      background-size: contain;
      margin-right: 0.6em;
      vertical-align: middle;
      animation: arrow-left 0.3s forwards; }
    #wrap section .btnlink a.back::after {
      content: none; }
  #wrap section .icon:hover {
    text-decoration: underline;
    opacity: 1; }
    #wrap section .icon:hover::before {
      animation: arrow-left 0.3s forwards; }
  #wrap section .icon::before {
    display: inline-block;
    width: 20px;
    height: 10px;
    content: '';
    background-image: url(../img/icon_arrow_blue.png);
    background-size: contain;
    margin-right: 0.6em;
    vertical-align: middle;
    animation: arrow-right 0.3s forwards; }
  #wrap section .fig {
    text-align: center; }
    #wrap section .fig + .fig, #wrap section .fig + .text, #wrap section .fig + .lead, #wrap section .fig + .ttl, #wrap section .fig + h2, #wrap section .fig + h3, #wrap section .fig + h4, #wrap section .fig + .flexbox {
      margin-top: 20px; }
    #wrap section .fig figure.frame img {
      box-shadow: 0 2px 4px #ababab; }
    #wrap section .fig figure figcaption {
      font-size: 15px; }
    #wrap section .fig.role_model {
      margin-top: 0; }
  #wrap section .bgCol-2 {
    padding: 60px 0;
    margin-top: 40px; }
    #wrap section .bgCol-2.grbg {
      background-image: url(../img/bg_col.png);
      background-repeat: repeat-y;
      background-position: left top;
      background-size: contain; }
    #wrap section .bgCol-2 .inner {
      position: relative; }
      #wrap section .bgCol-2 .inner .unit {
        padding-right: 18%; }
      #wrap section .bgCol-2 .inner h2 {
        border-bottom: none; }
        #wrap section .bgCol-2 .inner h2 + .btnlink {
          margin-top: 160px; }
      #wrap section .bgCol-2 .inner p {
        margin-bottom: 40px; }
      #wrap section .bgCol-2 .inner .catetop_img {
        position: absolute;
        top: 50%;
        right: 0%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%); }
        #wrap section .bgCol-2 .inner .catetop_img img {
          max-width: 570px;
          box-shadow: 0 3px 4px #858585; }
      #wrap section .bgCol-2 .inner .link_list li {
        padding-top: 20px; }
        #wrap section .bgCol-2 .inner .link_list li:first-child {
          padding-top: 0; }
        #wrap section .bgCol-2 .inner .link_list li a {
          font-size: 22px; }
    #wrap section .bgCol-2 + .inner {
      margin-top: 40px; }
  #wrap section ul li {
    margin-bottom: 10px;
    line-height: 1.78em; }
    #wrap section ul li:last-child {
      margin-bottom: 0; }
    #wrap section ul li a:hover {
      opacity: 1;
      text-decoration: underline; }
    #wrap section ul li a[target^="_blank"]::after {
      content: "\f08e";
      font-family: "FontAwesome";
      color: #076b7a;
      margin-right: 0;
      font-weight: 900;
      font-size: 18px;
      margin-left: .5em; }
    #wrap section ul li a.pdf::after {
      content: "\f1c1";
      font-family: "FontAwesome";
      color: #ff2116;
      margin-right: 0;
      font-weight: 900;
      font-size: 18px;
      margin-left: .5em; }
  #wrap section ul.square {
    list-style-type: square;
    padding-left: 1.5em;
    color: #076b7a; }
  #wrap section ol.option-list {
    display: table; }
    #wrap section ol.option-list li {
      display: table-row; }
      #wrap section ol.option-list li:first-child .marker {
        padding-top: 0; }
      #wrap section ol.option-list li .marker {
        display: table-cell;
        padding-right: .3em;
        word-break: keep-all;
        white-space: nowrap; }
        #wrap section ol.option-list li .marker.officer {
          padding-right: 1.5em; }
      #wrap section ol.option-list li a:hover {
        opacity: 1;
        text-decoration: underline; }
      #wrap section ol.option-list li a[target^="_blank"]::after {
        content: "\f08e";
        font-family: "FontAwesome";
        color: #076b7a;
        margin-right: 0;
        font-weight: 900;
        font-size: 18px;
        margin-left: .5em; }
      #wrap section ol.option-list li a.pdf::after {
        content: "\f1c1";
        font-family: "FontAwesome";
        color: #ff2116;
        margin-right: 0;
        font-weight: 900;
        font-size: 18px;
        margin-left: .5em; }
  #wrap section .news ul {
    margin-bottom: 60px; }
    #wrap section .news ul li {
      width: 100%;
      border-bottom: solid 1px #666;
      padding: 1em 0;
      display: table; }
      #wrap section .news ul li .date {
        width: 14%;
        display: table-cell;
        vertical-align: middle;
        padding-right: 1em; }
      #wrap section .news ul li .status {
        width: 15%;
        display: table-cell;
        vertical-align: middle; }
        #wrap section .news ul li .status p {
          padding: 0 1em;
          color: #fff;
          text-align: center;
          border-radius: 5px;
          text-shadow: 1px 1px 3px #979797; }
          #wrap section .news ul li .status p.technology {
            background: #fca7b9; }
          #wrap section .news ul li .status p.news_release {
            background: #77dad6; }
          #wrap section .news ul li .status p.information {
            background: #076b7a; }
      #wrap section .news ul li .info {
        width: 71%;
        display: table-cell;
        vertical-align: middle;
        padding-left: 1em; }
      #wrap section .news ul li a {
        text-decoration: none;
        color: #000; }
  #wrap section .news .btnlink_news a {
    width: 30%;
    border: 1px solid #076b7a;
    background: #076b7a;
    display: inline-block;
    padding: 0.6em 2em;
    color: #fff;
    font-size: 16px;
    border-radius: 1px;
    -webkit-transition: all .3s;
    transition: all .3s; }
    #wrap section .news .btnlink_news a:hover {
      opacity: 1;
      filter: brightness(140%); }
      #wrap section .news .btnlink_news a:hover::after {
        animation: rotate 0.3s forwards; }
    #wrap section .news .btnlink_news a::after {
      display: inline-block;
      width: 20px;
      height: 20px;
      content: '';
      background-image: url(../img/icon_pius.png);
      background-size: contain;
      margin-left: 0.5em;
      vertical-align: middle;
      animation: rotate-fin 0.3s forwards; }
  #wrap section .accordion-container {
    width: 100%; }
    #wrap section .accordion-container .accordion-list:not(:first-child) {
      margin-top: 30px; }
    #wrap section .accordion-container .accordion-list .accordion-title {
      position: relative;
      padding: 20px 40px;
      background: #cde1e4;
      cursor: pointer;
      border-radius: 3px; }
      #wrap section .accordion-container .accordion-list .accordion-title span {
        display: inline-block;
        width: 40px;
        font-weight: bold; }
      #wrap section .accordion-container .accordion-list .accordion-title::before {
        position: absolute;
        content: '';
        top: 50%;
        right: 25px;
        height: 2px;
        width: 15px;
        background: #333;
        transform: rotate(90deg);
        transition: all .3s ease-in-out; }
      #wrap section .accordion-container .accordion-list .accordion-title::after {
        position: absolute;
        content: '';
        top: 50%;
        right: 25px;
        height: 2px;
        width: 15px;
        background: #333;
        transition: all .3s ease-in-out; }
      #wrap section .accordion-container .accordion-list .accordion-title.open::before {
        transform: rotate(180deg); }
      #wrap section .accordion-container .accordion-list .accordion-title.open::after {
        opacity: 0; }
    #wrap section .accordion-container .accordion-list .accordion-text {
      padding: 20px 40px;
      border-left: 3px solid #cde1e4;
      border-right: 3px solid #cde1e4;
      border-bottom: 3px solid #cde1e4;
      display: none;
      border-radius: 3px; }
      #wrap section .accordion-container .accordion-list .accordion-text span {
        display: inline-block;
        width: 25px;
        font-weight: bold; }
  #wrap section table {
    width: 100%;
    margin-top: 20px; }
    #wrap section table colgroup .cell-w10 {
      width: 10%; }
    #wrap section table colgroup .cell-w15 {
      width: 15%; }
    #wrap section table colgroup .cell-w20 {
      width: 20%; }
    #wrap section table colgroup .cell-w30 {
      width: 30%; }
    #wrap section table colgroup .cell-w40 {
      width: 40%; }
    #wrap section table colgroup .cell-w50 {
      width: 50%; }
    #wrap section table colgroup .cell-w60 {
      width: 60%; }
    #wrap section table colgroup .cell-w70 {
      width: 70%; }
    #wrap section table colgroup .cell-w80 {
      width: 80%; }
    #wrap section table colgroup .cell-w90 {
      width: 90%; }
    #wrap section table .thick {
      border-top: solid 3px #ababab; }
    #wrap section table.table-01, #wrap section table.table-01--noblock {
      border-top: solid 1px #ababab;
      border-bottom: solid 1px #ababab; }
      #wrap section table.table-01 tr, #wrap section table.table-01--noblock tr {
        border-bottom: solid 1px #ababab; }
        #wrap section table.table-01 tr:last-child, #wrap section table.table-01--noblock tr:last-child {
          border-bottom: none; }
        #wrap section table.table-01 tr th, #wrap section table.table-01--noblock tr th {
          padding: 1em;
          vertical-align: middle;
          background: #cee1e5;
          font-weight: bold;
          word-break: break-word;
          text-align: left; }
        #wrap section table.table-01 tr td, #wrap section table.table-01--noblock tr td {
          padding: 1em 3em;
          vertical-align: middle; }
          #wrap section table.table-01 tr td.gray, #wrap section table.table-01--noblock tr td.gray {
            background: #f4f3f3; }
    #wrap section table.table-02 {
      border: solid 1px #ababab; }
      #wrap section table.table-02 thead th {
        padding: .5em;
        vertical-align: middle;
        background: #cee1e5;
        font-weight: bold;
        word-break: break-word;
        border-right: 1px solid #ababab;
        border-bottom: 1px solid #ababab; }
      #wrap section table.table-02 tbody th {
        padding: .5em;
        vertical-align: middle;
        background: #cee1e5;
        font-weight: bold;
        word-break: break-word;
        border-right: 1px solid #ababab;
        border-bottom: 1px solid #ababab; }
      #wrap section table.table-02 tbody td {
        padding: .5em;
        vertical-align: middle;
        border-right: 1px solid #ababab;
        border-bottom: 1px solid #ababab; }
        #wrap section table.table-02 tbody td.gray {
          background: #f4f3f3; }
    #wrap section table.table-03 tr {
      border-bottom: solid 1px #ababab; }
      #wrap section table.table-03 tr td {
        padding: .5em;
        vertical-align: middle; }
    #wrap section table .address {
      margin-right: 1em; }
    #wrap section table a.map {
      display: inline-block;
      border: 1px solid #076b7a;
      padding: 5px 12px;
      border-radius: 50px;
      color: #076b7a;
      line-height: 1em;
      box-shadow: 0 1px 2px #bdbdbd;
      transition: all 0.3s ease; }
      #wrap section table a.map::after {
        content: "\f105";
        font-family: "FontAwesome";
        color: #076b7a;
        margin-right: 0;
        font-weight: 900;
        font-size: 18px;
        margin-left: .3em;
        transition: all 0.3s ease; }
      #wrap section table a.map:hover {
        background: #076b7a;
        color: #fff;
        opacity: 1; }
        #wrap section table a.map:hover::after {
          content: "\f105";
          font-family: "FontAwesome";
          color: #fff;
          margin-right: 0;
          font-weight: 900; }
  #wrap section .discovery--map {
    position: relative;
    text-align: center; }
    #wrap section .discovery--map .icon_lists li {
      position: absolute;
      padding: 0 22px;
      background-color: rgba(195, 111, 47, 0.9);
      border-radius: 40px;
      font-size: 18px;
      color: #fff;
      font-weight: bold; }
      #wrap section .discovery--map .icon_lists li img {
        animation: poyopoyo 2s ease-out infinite;
        opacity: 1; }
    #wrap section .discovery--map .icon_lists .icon01 {
      top: 28%;
      left: 12%; }
    #wrap section .discovery--map .icon_lists .icon02 {
      top: 29%;
      left: 30%; }
    #wrap section .discovery--map .icon_lists .icon03 {
      top: 25%;
      left: 42%; }
    #wrap section .discovery--map .icon_lists .icon04 {
      top: 39%;
      left: 18%; }
    #wrap section .discovery--map .icon_lists .icon05 {
      top: 38%;
      right: 7%; }
    #wrap section .discovery--map .icon_lists .icon06 {
      top: 49%;
      left: 38%; }
    #wrap section .discovery--map .icon_lists .icon07 {
      top: 48%;
      right: 35%; }
    #wrap section .discovery--map .icon_lists .icon08 {
      top: 49%;
      right: 22%; }
    #wrap section .discovery--map .icon_lists .icon09 {
      bottom: 32%;
      right: 22%; }
    #wrap section .discovery--map .icon_lists .icon10 {
      bottom: 26%;
      left: 8%; }
    #wrap section .discovery--map .icon_lists .icon11 {
      bottom: 18%;
      left: 22%; }
    #wrap section .discovery--map .icon_lists .icon12 {
      bottom: 23%;
      left: 55%; }
    #wrap section .discovery--map .icon_lists .icon13 {
      bottom: 19%;
      right: 13%; }
    #wrap section .discovery--map .icon_lists .icon14 {
      top: 48%;
      left: 24%; }
    #wrap section .discovery--map .icon_lists .icon15 {
      top: 50%;
      right: 2%; }
    #wrap section .discovery--map .icon_lists .icon16 {
      bottom: 19%;
      right: 49%; }

.home #wrap section.trapezoid {
  padding: 30px 0 150px;
  background-image: url(../img/bg_trapezoid.png);
  background-repeat: no-repeat;
  background-position: left 12% bottom;
  background-size: cover; }
.home #wrap section h2 {
  position: relative;
  color: #076b7a;
  font-size: 46px;
  font-weight: bold;
  text-align: left;
  margin-bottom: 30px; }
  .home #wrap section h2::before {
    position: absolute;
    top: 5px;
    content: '―';
    left: -1.5em;
    font-size: 80%; }
.home #wrap section h3 {
  color: #000;
  font-size: 22px;
  margin-bottom: 35px;
  text-align: left;
  font-weight: bold; }
.home #wrap section .itembox a {
  display: flex;
  flex-direction: column;
  position: relative;
  height: 100%;
  border: solid 2px #076b7a;
  box-shadow: 0 3px 4px #858585;
  box-sizing: border-box; }
  .home #wrap section .itembox a .body {
    padding: 10px;
    background-color: #fff;
    order: 2;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease; }
    .home #wrap section .itembox a .body h3 {
      color: #076b7a;
      font-size: 32px;
      margin-bottom: 0;
      text-align: center; }
  .home #wrap section .itembox a .pic img {
    width: 100%; }
  .home #wrap section .itembox a:hover {
    opacity: .9; }
    .home #wrap section .itembox a:hover .body {
      background-color: #076b7a; }
    .home #wrap section .itembox a:hover h3 {
      color: #fff; }
.home #wrap #hero {
  position: relative; }
  .home #wrap #hero div {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    width: 1300px;
    margin: 0 auto;
    height: calc(100vh - 260px); }
    .home #wrap #hero div .main_lead {
      position: absolute;
      top: 50%;
      left: 5%;
      transform: translateY(-50%);
      color: transparent;
      background: repeating-linear-gradient(3deg, #57ccef 0 40%, #45ee93 47% 53%, #57ccef 60% 100%);
      -webkit-background-clip: text;
      font-size: 66px; }
    .home #wrap #hero div.main02 {
      background-image: url("../img/pic_main01.jpg"); }
      .home #wrap #hero div.main02 .main_lead {
        font-family: "FOT-筑紫オールド明朝 Pro R", "TsukuOldMinPro-R", serif;
        color: #076b7a;
        font-weight: bold;
        text-shadow: 1px 2px 3px #808080; }
    .home #wrap #hero div.main03 {
      background-image: url("../img/pic_main02.jpg"); }
      .home #wrap #hero div.main03 .main_lead {
        font-family: "FOT-筑紫オールド明朝 Pro R", "TsukuOldMinPro-R", serif;
        top: 35%;
        color: #53c4ff;
        font-weight: bold;
        text-shadow: 1px 2px 3px #808080; }
    .home #wrap #hero div.main04 {
      background-image: url("../img/pic_main03.jpg"); }
      .home #wrap #hero div.main04 .main_lead {
        font-family: "FOT-筑紫オールド明朝 Pro R", "TsukuOldMinPro-R", serif;
        color: #ffff00;
        font-weight: bold;
        text-shadow: 1px 2px 3px #808080; }
    .home #wrap #hero div video {
      margin: 0 auto;
      display: block; }
.home #wrap .bg_01 {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
  padding-right: 2em; }
  .home #wrap .bg_01 img {
    border: solid 2px #076b7a; }
  .home #wrap .bg_01 .inner {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%); }
  .home #wrap .bg_01 p {
    width: 50%; }
  .home #wrap .bg_01 h2 {
    margin: 0;
    display: inline-block;
    padding: 10px 40px 18px 40px;
    background: rgba(0, 0, 0, 0.75);
    color: #fff; }
    .home #wrap .bg_01 h2::before {
      content: none; }
  .home #wrap .bg_01 .btnlink {
    width: 40%; }
    .home #wrap .bg_01 .btnlink a {
      width: 180px;
      text-align: center; }
.home #wrap .bg_carbon {
  padding: 50px 100px;
  max-width: 1468px;
  margin: 0 auto;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: left left;
  background-image: url("../../carbon_neutral/img/bg_img01.jpg");
  box-shadow: 0 3px 4px #858585; }
  .home #wrap .bg_carbon .inner {
    max-width: 1468px; }
  .home #wrap .bg_carbon p {
    font-size: 19px; }
.home #wrap .seihin {
  margin-top: 60px; }
.home #wrap .jigyou {
  margin-top: 60px;
  padding-bottom: 230px; }
  .home #wrap .jigyou img {
    box-shadow: 0 3px 4px #858585; }
  .home #wrap .jigyou h3 {
    display: inline-block;
    margin-bottom: 10px;
    padding: 0 3px;
    border-bottom: solid 2px #076b7a;
    color: #076b7a; }
.home #wrap .know a {
  -webkit-transition: all .3s;
  transition: all .3s; }
  .home #wrap .know a img {
    width: 100%;
    box-shadow: 0 3px 4px #858585;
    border-radius: 25%; }
  .home #wrap .know a h3 {
    margin-top: 20px;
    text-align: center;
    font-size: 22px;
    color: #076b7a;
    line-height: 1.2em; }
  .home #wrap .know a:hover {
    opacity: 1;
    filter: brightness(110%); }
    .home #wrap .know a:hover h3 {
      text-decoration: underline; }
.home #wrap #hero_carbon .main {
  position: relative; }
  .home #wrap #hero_carbon .main video {
    width: 100%;
    margin: 0 auto;
    display: block; }
  .home #wrap #hero_carbon .main .main_lead {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%); }
    .home #wrap #hero_carbon .main .main_lead .lead01 {
      display: inline-block;
      padding: 0 40px 18px 40px;
      background: rgba(0, 0, 0, 0.75);
      color: #fff;
      font-size: 66px;
      font-weight: 600; }
    .home #wrap #hero_carbon .main .main_lead .lead02 {
      display: inline-block;
      padding: 10px 40px 15px 40px;
      background: rgba(255, 255, 255, 0.75);
      color: #076b7a;
      font-size: 42px;
      font-weight: 600; }

.category .main {
  width: 100%;
  position: relative; }
  .category .main .hero_img {
    position: relative; }
    .category .main .hero_img img {
      width: 100%; }
    .category .main .hero_img h1 {
      position: absolute;
      top: 45%;
      left: 50%;
      transform: translate(-50%, -55%);
      font-size: 46px;
      color: #fff; }
      .category .main .hero_img h1.ekika {
        width: 65%;
        font-size: 230%; }
      .category .main .hero_img h1.width-l {
        display: table;
        width: 85%;
        left: 54%;
        transform: translate(-46%, -55%); }
        .category .main .hero_img h1.width-l span {
          display: table-cell; }
          .category .main .hero_img h1.width-l span.ttl {
            word-break: keep-all; }
  .category .main .breadcrumbs-nav {
    width: 100%;
    position: absolute;
    bottom: 0;
    margin: 0 auto; }
    .category .main .breadcrumbs-nav ul {
      max-width: 1360px;
      margin: 0 auto;
      padding-left: 20px;
      padding-right: 20px;
      display: flex;
      font-size: 13px; }
      .category .main .breadcrumbs-nav ul li {
        margin-right: 8px;
        font-size: 13px;
        padding-left: 1.2em;
        text-indent: -1.2em; }
        .category .main .breadcrumbs-nav ul li a {
          color: #000; }
          .category .main .breadcrumbs-nav ul li a:hover {
            text-decoration: underline;
            opacity: 1; }
        .category .main .breadcrumbs-nav ul li + li::before {
          content: "\f054";
          font-family: "FontAwesome";
          color: #076b7a;
          margin-right: 0;
          font-weight: 900;
          color: #000;
          font-weight: normal;
          margin-right: 8px;
          font-size: 10px; }
  .category .main .breadcrumbs-nav [aria-current="page"] {
    font-weight: 700; }
  @media (any-hover: hover) {
    .category .main .breadcrumbs-nav [aria-current="page"]:hover {
      text-decoration: none; } }
.category #wrap section h1 {
  position: relative;
  color: #076b7a;
  font-size: 46px;
  font-weight: bold;
  text-align: left;
  margin-bottom: 30px; }
  .category #wrap section h1::before {
    position: absolute;
    top: 5px;
    content: '―';
    left: -1.5em;
    font-size: 80%; }
.category #wrap section h2 {
  color: #076b7a;
  font-size: 36px;
  text-align: left;
  margin-bottom: 30px;
  border-bottom: solid 4px #076b7a; }
  .category #wrap section h2 a:hover {
    text-decoration: underline;
    opacity: .8; }
    .category #wrap section h2 a:hover::after {
      animation: arrow-left 0.3s forwards; }
  .category #wrap section h2 a::after {
    display: inline-block;
    width: 35px;
    height: 18px;
    content: '';
    background-image: url(../img/icon_arrow_blue.png);
    background-size: contain;
    margin-left: 0.2em;
    vertical-align: middle;
    animation: arrow-right 0.3s forwards; }
.category #wrap section h3 {
  color: #000;
  font-size: 30px;
  font-weight: bold;
  text-align: left;
  margin-bottom: 30px;
  border-bottom: solid 2px #076b7a; }
.category #wrap section h4 {
  color: #000;
  font-size: 22px;
  font-weight: bold;
  text-align: left;
  margin-bottom: 15px; }
.category #wrap section .center h2 {
  display: inline-block;
  padding: 0 20px; }
.category #wrap section .top-msg {
  margin-left: 90px; }
.category #wrap section .signature {
  margin: 30px 20px 0 0;
  float: right; }
  .category #wrap section .signature .text .hg-font {
    margin-left: .7em;
    font-family: "HG行書体", monospace;
    font-size: 160%; }
  .category #wrap section .signature .text + .text {
    margin-top: 0; }
.category #wrap section .manufacture dl {
  display: flex;
  flex-wrap: wrap; }
  .category #wrap section .manufacture dl dt {
    width: 4.8em;
    height: 60px;
    margin-right: 10px;
    padding: 0 7px;
    background: #076b7a;
    border-radius: 10px;
    text-align: center;
    color: #fff;
    line-height: 60px; }
  .category #wrap section .manufacture dl dd {
    width: 80%;
    height: 60px;
    margin-bottom: 15px;
    padding: 2px 10px;
    background: #cde1e4;
    line-height: 1.5em; }
.category #wrap section .discovery_modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 400; }
  .category #wrap section .discovery_modal .modal__bg {
    background: rgba(0, 0, 0, 0.6);
    height: 100vh;
    position: absolute;
    width: 100%; }
  .category #wrap section .discovery_modal .modal__content {
    background: #fff;
    left: 50%;
    padding: 30px 40px;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    display: table;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: solid 1px #fff;
    background: #cd7838; }
    .category #wrap section .discovery_modal .modal__content button.js-modal-close {
      font-size: 28px;
      margin: 0;
      position: absolute;
      right: 10px;
      top: 5px;
      border: none;
      background: #fff;
      cursor: pointer; }
    .category #wrap section .discovery_modal .modal__content .modal_ttl {
      font-size: 32px;
      border-bottom: none; }
      .category #wrap section .discovery_modal .modal__content .modal_ttl span {
        width: 1.8em;
        display: inline-block; }
.category #wrap section .list-history {
  position: relative;
  padding: 1em 0 1em; }
  .category #wrap section .list-history::before {
    position: absolute;
    top: 10px;
    bottom: 0;
    left: 98px;
    display: block;
    width: 5px;
    content: "";
    background: #cde1e4; }
  .category #wrap section .list-history > div {
    margin-bottom: 60px;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start; }
    .category #wrap section .list-history > div:last-child {
      margin-bottom: 0; }
    .category #wrap section .list-history > div > dt {
      position: relative;
      flex-shrink: 0;
      width: 110px;
      padding-right: 20px;
      font-size: 24px;
      font-weight: bold;
      line-height: 1.5em; }
      .category #wrap section .list-history > div > dt::before {
        position: absolute;
        top: 0.5em;
        right: 0;
        display: block;
        width: 20px;
        height: 20px;
        content: "";
        background-color: #076b7a;
        border-radius: 50%; }
    .category #wrap section .list-history > div > dd {
      padding-left: 20px; }
      .category #wrap section .list-history > div > dd .history_ttl {
        display: block;
        margin-bottom: 10px;
        font-size: 28px;
        line-height: 1.5em;
        font-weight: normal; }
      .category #wrap section .list-history > div > dd img + img {
        margin-top: 0; }
.category #wrap section .lead_history {
  margin-top: 50px;
  text-align: center;
  font-size: 120%;
  font-weight: bold;
  color: #076b7a; }

.inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto; }
  .inner + .inner {
    margin-top: 40px; }

.inner-narrow {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto; }

.slick-slide img {
  margin: 0 auto; }

#search {
  display: none; }
  #search .search_form {
    position: fixed;
    inset: 0;
    top: 50%;
    margin: auto;
    width: 350px;
    z-index: 8888; }
    #search .search_form form.search_container input[type="text"] {
      width: 100%;
      font-size: 16px;
      padding: 0 6px;
      border: none;
      outline: none;
      -webkit-appearance: none;
      border-radius: 0; }
    #search .search_form form table {
      margin-top: 0; }
      #search .search_form form table.gsc-search-box td.gsc-input {
        padding-right: 0; }
      #search .search_form form table td .gsc-search-button {
        margin-left: 0; }
      #search .search_form form table .gsib_a {
        padding: 8px 9px 7px 9px; }
    #search .search_form form button.gsc-search-button {
      padding: 10px 20px;
      font-size: 16px; }

.show {
  display: flex;
  justify-content: center;
  align-items: center; }

#message button {
  display: block;
  margin: 50px auto;
  padding: 10px 20px;
  font-size: 18px; }

.local-nav {
  margin-top: 80px;
  background-color: #f3f3f3; }
  .local-nav .local-nav_inner {
    padding: 100px .5em;
    max-width: 1200px;
    margin: 0 auto; }
    .local-nav .local-nav_inner .local-nav_heading {
      display: flex;
      justify-content: center;
      gap: 0;
      text-align: center; }
      .local-nav .local-nav_inner .local-nav_heading a {
        font-size: 20px;
        font-weight: bold;
        color: #076b7a; }
        .local-nav .local-nav_inner .local-nav_heading a::after {
          display: inline-block;
          width: 20px;
          height: 10px;
          content: '';
          background-image: url(../img/icon_arrow_blue.png);
          background-size: contain;
          margin-left: 0.6em;
          vertical-align: middle; }
    .local-nav .local-nav_inner .local-nav_li {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px 40px;
      margin-top: 44px; }
      .local-nav .local-nav_inner .local-nav_li li.current a {
        font-weight: bold; }
      .local-nav .local-nav_inner .local-nav_li a {
        color: #000; }
        .local-nav .local-nav_inner .local-nav_li a:hover {
          text-decoration: underline;
          opacity: 1; }
        .local-nav .local-nav_inner .local-nav_li a::after {
          content: "\f105";
          font-family: "FontAwesome";
          color: #000;
          margin-right: 0;
          font-weight: 900;
          display: inline-block;
          font-size: 18px;
          margin-left: .5em; }

@media (max-width: 1300px) {
  .home #wrap #hero div {
    width: 100%; }

  .home #wrap section h2 {
    margin-left: 1.5em; }

  .category #wrap section h1 {
    margin-left: 1.5em; } }
@media (max-width: 1280px) {
  .home #wrap section.trapezoid {
    padding: 30px 0.5em; }
  .home #wrap .bg_01 {
    padding-right: 0; } }
@media (max-width: 1200px) {
  .inner {
    padding: 0 .5em; } }
@media (max-width: 1140px) {
  .local-nav {
    margin-top: 40px; }
    .local-nav .local-nav_inner {
      padding: 30px 20px; }

  .is-absolute .w_bottom {
    width: 100%;
    position: static;
    transform: unset; }
  .is-absolute .bg-black {
    font-size: 16px; }
    .is-absolute .bg-black.half, .is-absolute .bg-black.half-right {
      padding: 20px; }
    .is-absolute .bg-black.btext, .is-absolute .bg-black.btext_pdf {
      padding: 10px 10px 20px; }

  .home #wrap .bg_carbon {
    padding: 20px 10px; }
    .home #wrap .bg_carbon p {
      font-size: 16px; }

  #wrap section .bgCol-2 .inner .unit {
    padding-right: 23%; } }
@media (max-width: 1000px) {
  body {
    font-size: 16px;
    color: #000; }

  .tab-list .tab-item {
    font-size: 24px; }
    .tab-list .tab-item.is-btn-active::after {
      font-size: 16px; }

  .workbox {
    gap: 30px 15px; }

  .btnlink_l {
    font-size: 20px; }
    .btnlink_l div {
      padding: 15px 25px; }
      .btnlink_l div::after {
        font-size: 30px;
        right: 0.2em; }

  #wrap section .bgCol-2 {
    padding: 40px 10px; }
    #wrap section .bgCol-2.grbg {
      background-image: none;
      background: #cde1e4; }
    #wrap section .bgCol-2 .inner {
      height: auto !important; }
      #wrap section .bgCol-2 .inner .unit {
        padding-right: 10px; }
      #wrap section .bgCol-2 .inner h2 + .btnlink {
        margin-top: 50px; }
      #wrap section .bgCol-2 .inner .col-8 {
        width: 100%; }
      #wrap section .bgCol-2 .inner .catetop_img {
        margin-top: 20px;
        position: static;
        transform: none;
        text-align: center; }
      #wrap section .bgCol-2 .inner .link_list li {
        padding-top: 15px; }
        #wrap section .bgCol-2 .inner .link_list li a {
          font-size: 18px; }

  .category .main .breadcrumbs-nav {
    position: static; }
    .category .main .breadcrumbs-nav ul {
      padding: 0 .5em; }
  .category .main .hero_img {
    background-position: left 280px bottom; }
    .category .main .hero_img h1 {
      font-size: 32px; }
      .category .main .hero_img h1.ekika {
        font-size: 120%; }
  .category #wrap section {
    padding: 20px 0;
    line-height: 1.5; }
    .category #wrap section h1 {
      font-size: 32px;
      margin-bottom: 20px; }
    .category #wrap section h2 {
      font-size: 26px;
      margin-bottom: 15px; }
      .category #wrap section h2 a::after {
        width: 26px;
        height: 13px; }
    .category #wrap section h3 {
      font-size: 22px;
      margin-bottom: 15px; }
    .category #wrap section h4 {
      font-size: 18px;
      margin-bottom: 15px; }
    .category #wrap section .manufacture .col-6 {
      width: 100%; }
    .category #wrap section .manufacture dl {
      justify-content: center; }
      .category #wrap section .manufacture dl dd {
        width: 85%; }
    .category #wrap section .discovery--map .icon_lists {
      display: none; }
    .category #wrap section .discovery_modal {
      display: block !important;
      height: auto;
      position: static;
      width: 100%; }
      .category #wrap section .discovery_modal .modal__bg {
        display: none; }
      .category #wrap section .discovery_modal .modal__content {
        position: static;
        width: 100%;
        padding: 5px 30px;
        margin: 0 auto;
        transform: unset; }
        .category #wrap section .discovery_modal .modal__content button.js-modal-close {
          display: none; }
        .category #wrap section .discovery_modal .modal__content .modal_ttl {
          font-size: 18px;
          margin-bottom: 0;
          color: #fff; }

  .home #wrap #hero div {
    background-position: left center;
    height: calc(100vh - 40vh); }
  .home #wrap section h2 {
    font-size: 32px;
    margin-bottom: 20px; }
  .home #wrap section h3 {
    font-size: 20px;
    margin-bottom: 15px; }
  .home #wrap section .itembox a .body h3 {
    font-size: 20px; }
  .home #wrap section .know a h3 {
    font-size: 16px; }
  .home #wrap #hero_carbon .main .main_lead .lead01 {
    font-size: 48px; }
  .home #wrap #hero_carbon .main .main_lead .lead02 {
    font-size: 28px; }
  .home #wrap .jigyou {
    padding-bottom: 60px; } }
@media (max-width: 875px) {
  .is-absolute .bg-black.btext, .is-absolute .bg-black.btext_pdf {
    height: 260px; } }
@media (max-width: 860px) {
  .panel-t {
    padding: 15px 10px; }

  #wrap section figure {
    text-align: center; }
    #wrap section figure figcaption {
      font-size: 13px; }
  #wrap section .img-w80 img {
    max-width: 80%; }
  #wrap section .news ul li {
    display: inline-block; }
    #wrap section .news ul li .date {
      width: auto;
      display: inline-block; }
    #wrap section .news ul li .status {
      width: auto;
      display: inline-block; }
    #wrap section .news ul li .info {
      width: 100%;
      display: block;
      margin-top: 0.5em;
      padding-left: 0; }
  #wrap section .news .btnlink a {
    width: 70%; }
  #wrap section table.table-01 colgroup .cell-w10, #wrap section table.table-01 colgroup .cell-w20, #wrap section table.table-01 colgroup .cell-w30, #wrap section table.table-01 colgroup .cell-w40, #wrap section table.table-01 colgroup .cell-w50,
  #wrap section table.table-01 colgroup .cell-w60, #wrap section table.table-01 colgroup .cell-w70, #wrap section table.table-01 colgroup .cell-w80, #wrap section table.table-01 colgroup .cell-w90 {
    width: 100%; }
  #wrap section table.table-01 tbody tr th {
    width: 100%;
    display: block;
    text-align: left; }
  #wrap section table.table-01 tbody tr td {
    width: 100%;
    display: block;
    padding-left: 1em; }
  #wrap section table.table-01--noblock tr td {
    padding: 1em; }
  #wrap section .history-box .col-6 {
    width: 100%; }

  .category #wrap section .bgCol-2 .inner .catetop_img img {
    max-width: 100%; }

  .home #wrap section .inner {
    padding: 0 1em; }
  .home #wrap section.trapezoid {
    padding: 30px 0.5em; }
    .home #wrap section.trapezoid .bg_01 .inner {
      left: 0; }
    .home #wrap section.trapezoid .bg_01 p {
      width: 100%; }

  .local-nav {
    margin-top: 60px; }
    .local-nav .local-nav_inner .local-nav_li {
      grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 780px) {
  .category #wrap section .list-history > div > dd img + img {
    margin-top: 10px; }

  .is-absolute .bg-black.half-right {
    position: static;
    transform: unset;
    width: 100%; } }
@media (max-width: 750px) {
  .home #wrap #hero div {
    background-size: cover;
    background-position: left center; }
    .home #wrap #hero div .main_lead {
      font-size: 48px;
      background: repeating-linear-gradient(3deg, #57ccef 0 20%, #45ee93 27% 73%, #57ccef 80% 100%);
      -webkit-background-clip: text; }
    .home #wrap #hero div.main02 {
      background-image: url("../img/pic_main01_sp.jpg"); }
      .home #wrap #hero div.main02 .main_lead {
        font-size: 38px; }
    .home #wrap #hero div.main03 {
      background-image: url("../img/pic_main02_sp.jpg"); }
      .home #wrap #hero div.main03 .main_lead {
        font-size: 38px; }
    .home #wrap #hero div.main04 {
      background-image: url("../img/pic_main03_sp.jpg"); }
      .home #wrap #hero div.main04 .main_lead {
        top: 35%;
        font-size: 38px; } }
@media (max-width: 700px) {
  .category .main .hero_img h1.width-l {
    font-size: 18px; }
  .category #wrap section .manufacture dl dd {
    width: 75%; } }
@media (max-width: 600px) {
  .pci, .pcb, .pct {
    display: none; }

  .spi {
    display: inline !important; }

  .spb {
    display: block !important; }

  .spt {
    display: table !important; }

  .spl {
    text-align: left; }

  .anchor_icon .flexbox .col-6 + .col-6 {
    margin-top: 60px; }
  .anchor_icon .flexbox ul.anchor-left {
    justify-content: center; }
  .anchor_icon .flexbox ul.anchor-right {
    justify-content: center; }

  .is-absolute .bg-black.half {
    position: static;
    transform: unset;
    width: 100%; }
  .is-absolute .bg-black.btext, .is-absolute .bg-black.btext_pdf {
    height: auto; }

  .workbox {
    gap: unset; }
    .workbox li {
      width: 100%; }
      .workbox li:nth-of-type(odd) {
        width: 100%; }
      .workbox li:nth-of-type(even) {
        margin-bottom: 30px; }
      .workbox li .fig img {
        max-width: 30%; }

  .tab-list .tab-item {
    font-size: 20px; }
    .tab-list .tab-item.is-btn-active::after {
      font-size: 14px; }

  .tab-contents-wrap .dryiceList {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%); }

  .link_list {
    padding-left: 0;
    text-indent: 0; }
    .link_list li {
      padding-top: 0; }
      .link_list li a {
        font-size: 15px; }
      .link_list li .link_list {
        margin-top: 0;
        padding-left: 0;
        text-indent: 1em; }
        .link_list li .link_list li .link_list {
          padding-left: 0;
          text-indent: 2em; }
          .link_list li .link_list li .link_list li .link_list {
            padding-left: 0;
            text-indent: 3em; }

  #wrap section .fig.role_model {
    margin-top: 40px; }

  .category .main .hero_img {
    background-position: left 280px bottom; }
    .category .main .hero_img h1 {
      width: 100%;
      font-size: 24px;
      text-align: center; }
      .category .main .hero_img h1.ekika {
        font-size: 100%; }
  .category #wrap section + section {
    margin-top: 40px; }
  .category #wrap section .icon {
    display: inline-block;
    margin-bottom: 10px; }
  .category #wrap section .accordion-container .accordion-list:not(:first-child) {
    margin-top: 15px; }
  .category #wrap section .accordion-container .accordion-list .accordion-title {
    padding: 20px 35px 20px 20px; }
    .category #wrap section .accordion-container .accordion-list .accordion-title::before {
      right: 20px; }
    .category #wrap section .accordion-container .accordion-list .accordion-title::after {
      right: 20px; }
  .category #wrap section .accordion-container .accordion-list .accordion-text {
    padding: 20px 35px 20px 20px; }
  .category #wrap section .top-msg {
    margin-left: 0; }
  .category #wrap section .manufacture dl dt {
    height: 75px;
    line-height: 75px; }
  .category #wrap section .manufacture dl dd {
    height: 75px; }

  .anchor ul {
    flex-direction: column; }
    .anchor ul li {
      display: block; }

  .floatBox {
    margin-top: 30px; }
    .floatBox .floatR {
      margin: 10px 0;
      float: none;
      text-align: center; }
    .floatBox p {
      margin-top: 20px; }

  .btnlink a {
    margin-bottom: 20px; }

  .home #wrap #hero div {
    height: calc(100vh - 50vh); }
  .home #wrap #hero_carbon .main .main_lead .lead01 {
    padding: 0 10px 5px 10px;
    font-size: 28px; }
  .home #wrap #hero_carbon .main .main_lead .lead02 {
    padding: 5px 10px 7px 10px;
    font-size: 20px; }
  .home #wrap section.trapezoid .bg_01 {
    position: static; }
    .home #wrap section.trapezoid .bg_01 .inner {
      padding: 0;
      margin-top: 20px;
      position: static;
      transform: unset; }
      .home #wrap section.trapezoid .bg_01 .inner b
      h2 {
        padding: 5px 15px 13px 15px;
        font-size: 28px; }
    .home #wrap section.trapezoid .bg_01 .btnlink {
      width: 100%; }
  .home #wrap .know .col-4 {
    width: 50%; }
    .home #wrap .know .col-4:nth-of-type(2) {
      margin-top: 0; }
  .home #wrap .seihin .itembox .col-4 {
    width: 100%;
    margin: 0 auto 40px;
    max-width: 320px; }
    .home #wrap .seihin .itembox .col-4 a .pic img {
      width: auto; } }
@keyframes arrow-left {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(5px); } }
@keyframes arrow-right {
  0% {
    transform: translateX(5px); }
  100% {
    transform: translateX(0); } }
@keyframes rotate {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(90deg); } }
@keyframes rotate-fin {
  0% {
    transform: rotate(90deg); }
  100% {
    transform: rotate(0); } }
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1); }
  50%, 70% {
    transform: scale(0.95); } }

/*# sourceMappingURL=style.css.map */
