@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
.hov_none:hover {
  opacity: 1 !important;
}

header, footer, .mega {
  display: block;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
  -webkit-overflow-scrolling: touch !important;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.9;
  color: #000;
  /* リンク */
}
header *, footer *, .mega * {
  text-align: left;
}
header a, footer a, .mega a {
  vertical-align: baseline;
  color: initial;
  display: inline-block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
header a:link,
header a:visited,
header a:active, footer a:link,
footer a:visited,
footer a:active, .mega a:link,
.mega a:visited,
.mega a:active {
  color: inherit;
  text-decoration: none;
}
header a:hover, footer a:hover, .mega a:hover {
  color: inherit;
  opacity: 0.7;
  text-decoration: none !important;
}

.light {
  display: none;
}

header {
  background: #fff;
  padding: 26px 20px 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1002;
  display: none;
  height: 75px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
header h1 {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  header h1 {
    width: 165px;
    display: block;
  }
}
header .hum {
  width: 28px;
  height: 30px;
  position: relative;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
header .hum .hum_inner {
  height: 8px;
  position: relative;
  width: 100%;
}
header .hum span {
  height: 1px;
  width: 100%;
  background-color: #00437F;
  display: block;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
header .hum span:first-of-type {
  top: 0;
}
header .hum span:last-of-type {
  bottom: 0;
}
header .hum.open span:first-of-type {
  -webkit-transform: translateY(4px) rotate(20deg);
          transform: translateY(4px) rotate(20deg);
}
header .hum.open span:last-of-type {
  -webkit-transform: translateY(-3px) rotate(-20deg);
          transform: translateY(-3px) rotate(-20deg);
}
header.open {
  background: transparent;
}
header.open h1 {
  opacity: 0;
}
header .lang {
  width: 28px;
  margin: -10px 20px 0 auto;
  font-size: 12px;
  font-weight: 700;
}
header .lang span, header .lang a {
  display: block;
  width: 100%;
  text-align: center;
}
header .lang span {
  color: #00437F;
}
header .lang .ja {
  border-bottom: solid 1px #79A7D1;
}
header .lang a {
  color: #AEB5BC;
}

.mega {
  position: fixed;
  font-size: 14px;
  width: 100%;
  height: 100vh;
  left: 0;
  top: 0;
  z-index: 999;
  background-color: #fff;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  display: none;
}
@media screen and (max-width: 767px) {
  .mega {
    padding: 30px 0;
  }
}
.mega .mega_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .mega .mega_inner {
    display: block;
  }
}
.mega .mega_inner .mega_left {
  width: 360px;
  min-height: 100vh;
  height: 100%;
}
@media screen and (max-width: 1199px) {
  .mega .mega_inner .mega_left {
    width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .mega .mega_inner .mega_left {
    display: none;
  }
}
.mega .mega_inner .mega_left .remove {
  width: 100%;
  min-height: 100vh;
  height: 100%;
  background-image: url(../img/mega_img.jpg);
  background-size: cover;
  background-position: center;
}
.mega .mega_right {
  padding: 90px 130px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 1199px) {
  .mega .mega_right {
    padding: 30px;
  }
}
@media screen and (max-width: 767px) {
  .mega .mega_right {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0;
  }
}
.mega .mega_right > div {
  padding: 0 15px;
}
@media screen and (max-width: 767px) {
  .mega .mega_right > div {
    width: 320px;
  }
}
.mega .mega_right ul li a {
  line-height: 2.8;
}
.mega .mega_right ul li.parent > a {
  color: #00437F;
}
.mega .mega_right ul li.child {
  padding-left: 1em;
}
.mega .mega_right ul li.child > a {
  color: #00437F;
}
.mega .mega_right ul li.grand {
  padding-left: 1em;
}
.mega .mega_right .bnr li {
  margin-top: 15px;
  width: 210px;
}
@media screen and (max-width: 767px) {
  .mega .mega_right .bnr li {
    width: 100%;
  }
}
.mega .mega_right .bnr li a {
  display: block;
}
@media screen and (max-width: 767px) {
  .mega {
    padding-top: 70px;
  }
  .mega .mega_inner {
    padding-bottom: 100px;
  }
  .mega a {
    display: block;
    width: 100%;
    position: relative;
  }
  .mega a:not(.h_open)::before {
    content: "";
    width: 13px;
    height: 5px;
    background-image: url(../img/top/menu_arw.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .mega a:hover {
    text-decoration: none;
  }
  .mega .add_item li.parent {
    padding-left: 1em;
  }
  .mega .h_open {
    position: relative;
  }
  .mega .h_open:before, .mega .h_open.open::before {
    content: "";
    width: 16px;
    height: 16px;
    display: block;
    background-size: cover;
    background-position: center;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .mega .h_open:before {
    background-image: url(../img/menu_plus.svg);
  }
  .mega .h_open.open:before {
    background-image: url(../img/menu_minus.svg);
  }
  .mega .sp_add > ul > li > ul, .mega .sp_add > ul > li > div {
    display: none;
  }
  .mega ul > li > div li.child {
    padding-left: 0 !important;
  }
  .mega .grand a {
    color: initial;
  }
}

footer {
  border-top: solid 1px #DEDEDE;
  background-color: #fff;
  padding: 80px 0 70px;
  font-size: 16px;
  width: 100%;
  clear: both;
  overflow: hidden;
}
footer * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
}
footer > .container {
  max-width: 1090px;
  width: 100%;
  padding: 0 20px;
  margin: 0 auto;
  position: relative;
}
footer .foot_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 -15px;
}
@media screen and (max-width: 767px) {
  footer .foot_menu {
    display: block;
  }
  footer .foot_menu * {
    width: 100%;
  }
}
footer .foot_menu > div {
  margin: 0 15px;
}
footer .foot_menu ul .sp_vis {
  display: none;
}
@media screen and (max-width: 767px) {
  footer .foot_menu ul .sp_vis {
    display: block;
  }
}
footer .foot_menu ul li a {
  font-size: 14px;
  display: block;
  padding: 4px 0;
}
@media screen and (max-width: 767px) {
  footer .foot_menu ul li a {
    padding: 0px 0 4px;
  }
  footer .foot_menu ul li a:not(.open_btn) {
    position: relative;
  }
  footer .foot_menu ul li a:not(.open_btn):before {
    content: "";
    width: 13px;
    height: 5px;
    background-image: url(../img/top/menu_arw.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
footer .foot_menu ul li.li_1 > a, footer .foot_menu ul li.li_3 > a {
  color: #00437F;
}
footer .foot_menu ul li.li_1 > a {
  border-bottom: solid 1px #DEDEDE;
  padding-bottom: 8px;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  footer .foot_menu ul li.li_4 > a {
    padding-left: 1em;
  }
}
@media screen and (max-width: 767px) {
  footer .foot_menu ul li.li_1 > ul, footer .foot_menu ul li.li_1 > div {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  footer .foot_menu ul li.li_2 {
    padding-left: 1em;
  }
}
footer .foot_menu ul li.li_3 + .li_3 {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  footer .foot_menu ul li.li_3 + .li_3 {
    margin-top: 12px;
  }
}
footer .foot_menu .col2_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -6px;
}
@media screen and (max-width: 767px) {
  footer .foot_menu .col2_wrap {
    display: block;
    margin: 0;
  }
}
footer .foot_menu .col2_wrap .col2 {
  margin: 0 6px;
}
@media screen and (max-width: 767px) {
  footer .foot_menu .col2_wrap .col2 {
    padding-left: 1em;
    margin: 0;
  }
}
footer .foot_menu ul + ul {
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  footer .foot_menu ul + ul {
    margin-top: 0;
  }
}
footer .foot_menu .open_btn {
  position: relative;
}
@media screen and (max-width: 767px) {
  footer .foot_menu .open_btn:before {
    content: "";
    width: 16px;
    height: 16px;
    display: block;
    background-image: url(../img/menu_plus.svg);
    background-size: cover;
    background-position: center;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  footer .foot_menu .open_btn.open:before {
    background-image: url(../img/menu_minus.svg);
  }
}
footer .group_wrap {
  margin-top: 60px;
}
footer .group_wrap .ttl {
  font-size: 16px;
  font-weight: bold;
  color: #222222;
  border-bottom: solid 1px #DEDEDE;
  padding-bottom: 5px;
  margin-bottom: 10px;
}
footer .group_wrap ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  footer .group_wrap ul {
    display: block;
  }
}
footer .group_wrap ul li a {
  font-size: 14px;
  padding-right: 15px;
}
footer .bnr_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 40px -7px 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  footer .bnr_wrap {
    display: block;
    margin: 40px auto 0;
  }
}
footer .bnr_wrap a {
  display: block;
  margin: 5px 7px;
  width: 100%;
  max-width: 300px;
}
footer .bnr_wrap a img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  footer .bnr_wrap a {
    margin: 14px auto;
  }
}
footer .sns_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  footer .sns_wrap {
    margin-top: 40px;
  }
}
footer .sns_wrap a {
  display: block;
  margin: 0 12px;
}
footer .copy {
  font-size: 10px;
  color: #AAAAAA;
  text-align: center;
  margin-top: 35px;
}

.sp {
  display: none;
}

@media screen and (max-width: 767px) {
  body * {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-text-size-adjust: 100%;
    max-width: 100%;
  }
  body {
    max-width: 100%;
    overflow: hidden;
    width: 100%;
  }
}
@media screen and (max-width: 767px) and (-ms-high-contrast: none) {
  body {
    overflow-x: hidden;
  }
}
@media screen and (max-width: 767px) {
  img {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .container {
    width: 100%;
    max-width: 1040px;
    padding: 0 20px;
    margin: 0 auto;
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .cf:after {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  img {
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  #screen {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 200;
  }
}
@media screen and (max-width: 767px) {
  #head, #side {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  #pagetop {
    padding-top: 75px;
  }
}
@media screen and (max-width: 767px) {
  #shuffleBannar img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 90% center;
       object-position: 90% center;
    width: 100%;
    height: 100%;
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  #container {
    padding: 30px 4% 0;
  }
}
@media screen and (max-width: 767px) {
  #contents {
    margin-top: 15px;
    word-break: break-all;
  }
}
@media screen and (max-width: 767px) {
  .shipList ul.inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
  }
  .shipList ul.inr li {
    padding: 0;
    margin: 0;
    float: none !important;
  }
  .shipList ul.inr li.link01 {
    background-size: 9px;
    padding-left: 12px;
    margin-bottom: 10px;
    font-size: 0.65rem;
    line-height: 1.3;
  }
  .shipList ul.inr > li {
    padding: 5px;
    width: 30%;
    height: auto;
  }
  .shipList ul.inr > li:nth-child(1) {
    width: 35%;
  }
  .shipList ul.inr > li a ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
  }
  .shipList ul.inr > li .image01, .shipList ul.inr > li .image02, .shipList ul.inr > li .image03 {
    position: static;
    text-align: center;
    margin-top: auto;
  }
  .shipList ul.inr > li .image01, .shipList ul.inr > li .image02 {
    margin-bottom: 5px;
  }
  .shipList ul.inr > li .image01 img, .shipList ul.inr > li .image02 img {
    width: 100%;
  }
  .shipList ul.inr > li .image03 img {
    width: 70%;
  }
}
@media screen and (max-width: 767px) {
  .liw150 li.col,
  .typeList .colBdr01 li.col {
    width: calc(50% - 14px);
  }
}
@media screen and (max-width: 767px) {
  .typeList .colBdr01 {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .typeListWide .colBdr01 {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .typeListWide .colBdr01 li.colBorder {
    clear: both;
    border: none;
    padding: 0;
    margin: 0;
  }
  .typeListWide .colBdr01 li.colBorder ul .col {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .bnr_flex {
    display: block;
  }
  .bnr_flex .bnr_flex_box {
    max-width: 100%;
    width: 100%;
  }
  .bnr_flex .bnr_flex_box:not(:last-child) {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  ul.link02 li, ul.link03 li {
    background-position: 9px 16px;
    background-size: 25px;
    width: 100%;
    height: auto;
    padding: 0;
    margin-bottom: 15px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: none;
  }
  ul.link02 li a, ul.link03 li a {
    display: block;
    padding: 15px 10px 15px 40px;
  }
}
@media screen and (max-width: 767px) {
  .h01 {
    padding: 5px 10px;
    line-height: 1.3;
    height: auto;
    background-size: cover;
  }
}
@media screen and (max-width: 767px) {
  .h04 {
    border: 1px solid #EDEDED;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(11%, rgb(234, 234, 234)), color-stop(32%, rgb(236, 236, 236)), color-stop(62%, rgb(255, 255, 255)));
    background-image: linear-gradient(180deg, rgb(234, 234, 234) 11%, rgb(236, 236, 236) 32%, rgb(255, 255, 255) 62%);
    padding: 11px 20px;
    line-height: 1.3;
  }
}
@media screen and (max-width: 767px) {
  .shipListA, .shipListB, .shipListC {
    width: 100%;
    height: 50vw;
    margin-bottom: 40vw;
    background-size: 100%;
  }
  .shipListA ul, .shipListB ul, .shipListC ul {
    width: 20%;
  }
  .shipListA ul li, .shipListB ul li, .shipListC ul li {
    background: #fff;
    margin: 0;
  }
  .shipListA ul.thumbA, .shipListB ul.thumbA, .shipListC ul.thumbA {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 3%;
    width: 85%;
    padding-top: 51vw;
    margin: 0 auto;
    position: static;
  }
  .shipListA ul.thumbA li, .shipListB ul.thumbA li, .shipListC ul.thumbA li {
    float: none;
    margin: 0;
  }
  .shipListA ul.thumbB, .shipListB ul.thumbB, .shipListC ul.thumbB {
    top: 11%;
    left: 80%;
  }
  .shipListA ul.thumbC, .shipListB ul.thumbC, .shipListC ul.thumbC {
    top: 11%;
    left: 40%;
  }
  .shipListA ul.thumbD, .shipListB ul.thumbD, .shipListC ul.thumbD {
    top: 11%;
  }
}
@media screen and (max-width: 767px) {
  .shipListB {
    margin-bottom: 65vw;
  }
  .shipListB ul.thumbA {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
  }
  .shipListB ul.thumbA li {
    width: 23%;
  }
}
@media screen and (max-width: 767px) {
  .shipListC {
    margin-bottom: 20vw;
  }
  .shipListC ul.thumbA {
    width: 91%;
    padding-top: 30vw;
  }
}
@media screen and (max-width: 767px) {
  .fl01 .left, .fl01 .right, .fl13 .fl13_inner {
    width: 100%;
    float: none;
  }
}
@media screen and (max-width: 767px) {
  .fl03 .right, .fl04 .right, .fl08 .right,
  .fl05 .left, .fl09 .left, .fl10 .left, .fl11 .left {
    float: none;
    margin: 0 auto;
  }
  .fl03 .right p, .fl04 .right p, .fl08 .right p,
  .fl05 .left p, .fl09 .left p, .fl10 .left p, .fl11 .left p {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .fl04 .left {
    float: none;
    margin: 0 auto;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .fl04 .right {
    width: 240px;
  }
  .fl04 .right.sp_full {
    width: 80%;
  }
}
@media screen and (max-width: 767px) {
  .fl12 .left {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  ul.flli01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 5px 0;
  }
  ul.flli01 li {
    float: none;
    margin: 0;
  }
  ul.flli01 li:not(:first-child) {
    margin-left: 10px;
  }
}
@media screen and (max-width: 767px) {
  ul.thumb4, ul.inl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px 4%;
  }
  ul.thumb4 li, ul.inl li {
    float: none;
    width: 48%;
    margin: 0;
  }
  ul.thumb4 li img, ul.inl li img {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .table01 {
    width: 100%;
  }
  .table01 .ul01 .sp.txt_centered {
    margin: 5px 0;
  }
}
@media screen and (max-width: 767px) {
  dl.list04 img {
    max-height: 200px;
  }
}
@media screen and (max-width: 767px) {
  .main_large_title {
    width: 100%;
    height: 100%;
    margin-bottom: 30px;
    background-size: 45%;
  }
}
@media screen and (max-width: 767px) {
  .main_large_title ul.btn {
    top: 4%;
    left: 45%;
  }
  .main_large_title ul.btn li {
    margin-bottom: 2%;
  }
}
@media screen and (max-width: 767px) {
  .main_large_title ul.txt {
    width: 100%;
    padding-top: 53vw;
    position: static;
  }
}
@media screen and (max-width: 767px) {
  .topicpath {
    width: 100%;
    white-space: inherit;
    position: static;
  }
  .topicpath ul {
    position: static;
  }
}
@media screen and (max-width: 767px) {
  #technology .topMenu {
    background: none;
    padding: 0;
    height: 100%;
  }
  #technology .topMenu .sp_wrap {
    position: relative;
    margin-bottom: 35px;
  }
  #technology .topMenu .sp_wrap::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 15px 0 15px;
    border-color: #bebebe transparent transparent transparent;
    position: absolute;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    left: 50%;
    bottom: -30px;
  }
  #technology .topMenu .sp_wrap, #technology .topMenu .menu04 {
    padding: 20px;
    border: 4px solid #E7E7E7;
  }
  #technology .topMenu .menu01, #technology .topMenu .menu02, #technology .topMenu .menu03, #technology .topMenu .menu04 {
    width: 100%;
    position: static;
  }
  #technology .topMenu .menu01 ul li:first-child {
    position: relative;
  }
  #technology .topMenu .menu01 ul li:first-child::after {
    content: "";
    background: url(../../_site/image/contents/img_034_sp1.png) no-repeat right bottom/40%;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 30%;
    right: -20px;
    z-index: -1;
    opacity: 0.6;
  }
  #technology .topMenu .menu02, #technology .topMenu .menu03 {
    background: #F2F2F2;
    padding: 15px;
    margin-top: 30px;
  }
  #technology .topMenu .menu02 strong, #technology .topMenu .menu03 strong {
    margin: 0;
    padding-bottom: 52%;
  }
  #technology .topMenu .menu02 li strong {
    background: url(../../_site/image/contents/img_034_sp2.png) no-repeat center bottom/100%;
  }
  #technology .topMenu .menu03 li strong {
    background: url(../../_site/image/contents/img_034_sp3.png) no-repeat center bottom/100%;
  }
  #technology .topMenu .menu04 ul {
    background: url(../../_site/image/contents/img_034_sp4.png) no-repeat center bottom/100%;
    padding-bottom: 50%;
  }
}
@media screen and (max-width: 767px) {
  ul.thumb3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px 4%;
  }
  ul.thumb3 li {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .fl05 .left.sp_wrap2 {
    width: 100%;
    margin-bottom: 20px;
  }
  .fl05 .left.sp_wrap2 ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 4%;
  }
  .fl05 .left.sp_wrap2 ul li {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .table01 td.tdImage {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .table02 {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
@media screen and (max-width: 767px) {
  .worksList.fl06 .left {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .fl06 .left, .fl06 .right, .fl07 .left, .fl07 .right {
    float: none;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .fl07 .right iframe {
    height: 60vw;
  }
}
@media screen and (max-width: 767px) {
  .naviAnc li {
    background-position: 0px 5px;
  }
}
@media screen and (max-width: 767px) {
  dl.list01 {
    padding: 10px 15px;
  }
  dl.list01 dt {
    width: 7.5em;
  }
  dl.list01 dd {
    margin-left: 7.5em;
  }
}
@media screen and (max-width: 767px) {
  .news_detail .scroll {
    overflow-y: scroll;
    white-space: nowrap;
  }
  .news_detail .scroll img {
    max-width: initial !important;
  }
  .news_detail p img {
    margin: 0 !important;
    width: 100% !important;
    height: auto !important;
  }
  .news_detail p img:not(:last-of-type) {
    margin-bottom: 15px !important;
  }
  .news_detail .bdr02 > p > img, .news_detail .bdr02 > div > img {
    margin: 0 !important;
    width: 100% !important;
    height: auto !important;
  }
  .news_detail .bdr02 > p > img:not(:last-of-type), .news_detail .bdr02 > div > img:not(:last-of-type) {
    margin-bottom: 15px !important;
  }
}
@media screen and (max-width: 767px) {
  #contact .main dl dt {
    width: 100%;
    padding-left: 0;
    position: static;
  }
  #contact .main dl dd {
    padding-left: 0;
  }
  #contact .main dl dd .txt_sub {
    display: block;
    margin-top: 5px;
  }
  #contact .main textarea {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .layEng .shipList ul.inr > li {
    width: 48.5% !important;
  }
  .layEng .shipList ul.inr > li .image01, .layEng .shipList ul.inr > li .image02 {
    margin-bottom: 10px;
  }
  .layEng .shipList ul.inr > li .image01 img, .layEng .shipList ul.inr > li .image02 img {
    width: 75%;
  }
  .layEng #contents {
    word-break: break-word;
  }
}
@media screen and (max-width: 767px) {
  #technology.layEng .topMenu {
    background: none;
    height: auto;
  }
}