@charset "utf-8";

.c-clm.col-lg-1.col-fit,
.c-clm.col-lg-2.col-fit,
.c-clm.col-lg-3.col-fit,
.c-clm.col-lg-4.col-fit,
.c-clm.col-lg-5.col-fit{
    gap: 0 100px;
}


/* 背景カラー */
.editor-styles-wrapper {}


.is-root-container {
/*  line-height: 2;
  letter-spacing: normal;*/
}


.under table th,
.under table td {
    border-left: 1px solid #e1e1e1;
}


.under table.table-expansion td{
        padding: 1.866em;
}

@media screen and (max-width: 768.8px) {
    .under table.table-expansion td{
        padding: 1.866em 1em;
    }  
}



.is-root-container a {
}
.is-root-container table a {
  text-decoration: underline;
}





.is-root-container a[target="_blank"]:after {
  content: "";
  z-index: 1;
  position: relative;
  background: url(../img/common/ico_blank_b.png) 0 0 no-repeat;
  background-size: 100% auto;
  width: 19px;
  height: 13px;
  top: 2px;
  right: 0;
  margin: 0 4px 0 4px;
  display: inline-block;
}

.is-root-container a[target="_blank"]:has(img):after {
  display: none;
}


.is-root-container a[href$=".pdf" i]::after {
  content: "";
  z-index: 1;
  position: relative;
  background: url(../img/common/ico_pdf_b.png) 0 0 no-repeat;
  background-size: 100% auto;
  width: 36px;
  height: 18px;
  top: 3px;
  right: 0;
  margin: 0 4px 0 4px;
  display: inline-block;
}

.is-root-container a.no-pseudo:after{
  display: none;
}

.is-root-container p {
  margin: 1em 0;
}

.is-root-container p:after {
  display: block;
  content: "";
  clear: both;
}

.is-root-container p .note,
.is-root-container p small {
  font-size: 11px;
}

.is-root-container p:first-child {
  margin-top: 0 !important;
}
.is-root-container p:last-child {
  margin-bottom: 0 !important;
}

/*.is-root-container ul,
.is-root-container ol {
  margin-bottom: 3.125em;
}*/

/*.is-root-container ul {
  padding-left: 0;
}*/

/*.is-root-container ul li {
  position: relative;
  margin-bottom: 0.4em;
  padding-left: 1em;
}*/

/*.is-root-container ul li::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  background: #000;
  border-radius: 1000px;
  top: 0.5em;
  left: 0;
}*/

/*.is-root-container ul li::marker {
  content: none;
}*/


/*
.is-root-container ol li {
  list-style-type: decimal;
  margin-left: 1.2em;
}

.is-root-container ol li::marker {
  font-family: "Helvetica", "Arial", sans-serif;
}

.is-root-container .post-table {
  margin-top: 1em;
  margin-bottom: 3.125em;
}


.is-root-container .post-table table {
  width: auto;
  height: auto;
  border-spacing: 0px;
  border: 1px solid #e1e1e1;
  border-color: #e1e1e1;
  border-bottom: none;
  table-layout: fixed;
}

.is-root-container .post-table tr th {
  background: #e1e1e1;
  border-bottom: 1px solid #fff;
}

.is-root-container .post-table .bg {
  background: #e1e1e1;
  border-bottom: 1px solid #fff;
}*/
/*
.is-root-container table th,
.is-root-container table td {
  vertical-align: middle;
  text-align: center;
  padding: 1.866em 0;
  font-size: 15px;
  border-spacing: 0px;
  border-bottom: 1px solid #e1e1e1;
  word-break: break-word;
}
*/
/*
.is-root-container .post-table table th {
  border-bottom: 1px solid #fff;
}

.is-root-container .post-table table th:not(:first-of-type) {
  border-left: 1px solid #ffffff;
}

.is-root-container .post-table table td:not(:first-of-type) {
  border-left: 1px solid #e1e1e1;
}


.is-root-container .aligncenter {
  text-align: center;
}

.is-root-container .alignleft {
  text-align: left;
}

.is-root-container .alignright {
  text-align: right;
}

.is-root-container .has-text-align-left {
  text-align: left;
}

.is-root-container .has-text-align-center {
  text-align: center;
}

.is-root-container .has-text-align-right {
  text-align: right;
}
*/

/*
.is-root-container *:first-child {
  margin-top: 0 !important;
}

.is-root-container *:last-child {
  margin-bottom: 0 !important;
}

.is-root-container h1+*,
.is-root-container h2+*,
.is-root-container h3+*,
.is-root-container h4+*,
.is-root-container h5+*,
.is-root-container h6+* {
  margin-top: 0 !important;
}

@media screen and (max-width: 768.8px) {

  .is-root-container h2 {
    font-size: 22px;
  }

  .is-root-container h3 {
    font-size: 18px;
  }

  .is-root-container h4 {
    font-size: 14px;
  }
}
*/









.clm {
  margin-bottom: 3.125em;
}

.clm figcaption {
  font-size: 11px;
}

.clm.col-1 figure {
  width: 100%;
}

/* col- */
.clm.col-2,
.clm.col-3,
.clm.col-4,
.clm.col-5 {
  width: 100%;
  display: grid;
}

.clm.col-left {
  flex-direction: row-reverse;
}

.clm.col-box p:not(:last-of-type) {
  margin-bottom: 1.5em;
}


/* col-2 */
.clm.col-2 {
  gap: 48px;
  grid-template-columns: 1fr 1fr;
}

.clm.col-2.clm .col-box img {
  width: 100%;
  aspect-ratio: 650 / 400;
  overflow: hidden;
  object-fit: cover;
}

/* col-3 */
.clm.col-3 {
  gap: 24px;
  grid-template-columns: repeat(3, 1fr);
}


.clm.col-3.clm .col-box img {
  width: 100%;
  aspect-ratio: 430 / 280;
  overflow: hidden;
  object-fit: cover;
}

/* col-4 */
.clm.col-4 {
  gap: 25px;
  grid-template-columns: repeat(4, 1fr);
}


.clm.col-4 .col-box img {
  width: 100%;
  aspect-ratio: 320 / 210;
  overflow: hidden;
  object-fit: cover;
}

/* col-5 */
.clm.col-5 {
  gap: 13px;
  grid-template-columns: repeat(5, 1fr);
}

.clm.col-5 .col-box img {
  width: 100%;
  aspect-ratio: 260 / 170;
  overflow: hidden;
  object-fit: cover;
}


/* ====== c-border_block====== */
.border_block {
  padding: 41px 3.6%;
  border: 1px solid #000;
}

.border_block:not(:last-of-type) {
  margin-bottom: 30px;
}

.border_block .border_ttl {
  margin-bottom: 1.66em;
  font-size: 18px;
}

.border_block .border_box {
  line-height: 1.6;
}

.border_block .border_box a {
  text-decoration: underline;
}

@media screen and (max-width: 768.8px) {

  /* col- */

  /* col-2 */
  .clm.col-2 {
    gap: 12px;
    grid-template-columns: repeat(1, 1fr);
  }


  .clm.col-2 .col-box.u-img {
    width: 100%;
    min-width: unset;
  }

  /* col-3 */
  .clm.col-3 {
    gap: 12px;
    grid-template-columns: repeat(1, 1fr);
  }


  /* col-4  */
  .clm.col-4 {
    gap: 13px;
    grid-template-columns: repeat(2, 1fr);
  }

  /* col-5 */
  .clm.col-5 {
    gap: 13px;
    grid-template-columns: repeat(2, 1fr);
  }


  .border_block .border_ttl {
    font-size: 14px;
  }
}



/*　挨拶 =========================  */



.col-lg-2.--message .box-2 {
  width: 33%;
}

.col-lg-2.--message .box-3 {
  width: calc(100% - (33% + 48px));
}

.col-lg-2.--message img {
  aspect-ratio: 3/4;
  overflow: hidden;
  object-fit: cover;
}

.--company .table03 th {
  width: 33.333%;
}









@media screen and (max-width: 768.8px) {
    .col-lg-2.--message .box-2 {
        width: 100%;
    }
    .col-lg-2.--message .box-3 {
        width: 100%;
    }    


}







/*　テーブル =========================  */



/* table01 */
.table01.--teigi th,
.table01.--teigi td {
  width: 200px;
}

.table01.--teigi th:last-of-type,
.table01.--teigi td:last-of-type {
  width: calc(100% - 200px);
  padding-left: 1em;
  text-align: left;
}


.table02.--teigi th,
.table02.--teigi td {
  width: 240px;
}

.table02.--teigi th:last-of-type,
.table02.--teigi td:last-of-type {
  width: calc(100% - 240px);
  padding-left: 30px;
  padding-right: 30px;
  text-align: left;
}

.table02.--teigi .col {
  align-items: center;
  gap: 46px;
}




.table02.--teigi .col div:first-of-type {
  width: 120px;
}

.table02.--teigi .col div:nth-of-type(2) {
  width: calc(100% - 166px);
}

/* en */
html[lang="en"] .table02.--teigi .col div:first-of-type {
  width: 160px;
}

html[lang="en"] .table02.--teigi .col div:nth-of-type(2) {
  width: calc(100% - 206px);
}




.--company .col-lg-2 .box-2 {
  width: 33%;
}

.--company .col-lg-2 .box-3 {
  width: calc(100% - (33% + 48px));
}


.--company .table03 th {
  width: 33.333%;
}

/* factory_swiper */
.--company .factory_swiper-box {
  position: relative;
  padding-bottom: 30px;
  margin-bottom: 40px;
}

.--company .factory_swiper-box .swiper-slide img {
  overflow: hidden;
  object-fit: cover;
  aspect-ratio: 1350/751;
}

.--company .factory_swiper-box .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 10px;
}

.--company .factory_swiper-box .swiper-pagination-bullet-active {
  background: #000000;
}



.--company .pin-access {
  width: 22px;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}

.--company .col-fit {
  gap: 100px;
}


.--company #intro img {
  aspect-ratio: 3/4;
  overflow: hidden;
  object-fit: cover;
}

@media screen and (max-width: 1023.8px) {

  .table02.--teigi .col {
    gap: 12px;
    flex-direction: column;
    align-items: start;
  }

  .table02.--teigi .col div:first-of-type,
  .table02.--teigi .col div:nth-of-type(2),
  html[lang="en"] .table02.--teigi .col div:first-of-type,
  html[lang="en"] .table02.--teigi .col div:nth-of-type(2) {
    width: 100%;
  }
}

@media screen and (max-width: 768.8px) {

  .table01.--teigi th,
  .table01.--teigi td {
    width: 110px;
  }

  .table01.--teigi th:last-of-type,
  .table01.--teigi td:last-of-type {
    width: calc(100% - 110px);
  }

  .table02.--teigi th,
  .table02.--teigi td {
    width: 110px;
  }

  .table02.--teigi th:last-of-type,
  .table02.--teigi td:last-of-type {
    width: calc(100% - 110px);
    padding-left: 1em;
    padding-right: 1em;
  }

  .--company .col-lg-2 .box-2 {
    width: 100%;
  }

  .--company .col-lg-2 .box-3 {
    width: 100%;
  }
}

/*　アンカー =========================  */
.anc-yohaku{
    padding-top: 100px;  
}

/*　アクセス =========================  */




.--map iframe{
    display: block;
    width: 100%;
    aspect-ratio: 1350 / 635;
}

.c-ttl02 .pin-access{
    width: 22px;
    display: inline-block;
    vertical-align: sub;
    margin-right: 5px;
}


/*================================================
 * --tech
 ================================================*/
.--tech01 table,
.--tech02 table {
  margin-bottom: 3.75em;
}

/* table01 */
.--tech01 table th,
.--tech01 table td {
  width: 13%
}

/* table02 */
.--tech02 table th,
.--tech02 table td {
  width: 16.25%
}

.--tech th:first-of-type,
.--tech td:first-of-type {
  width: 7.4%
}

.--tech th:last-of-type,
.--tech td:last-of-type {
  width: 27.6%;
}

.--tech td:nth-of-type(7) {
  padding-left: 1em;
  text-align: left;
}

.--tech table .block {
  display: block;
  padding-left: 1em;
}




/*================================================
 * プロダクト
 ================================================*/

.--products a.c-cover-link {
    position: relative;
    overflow: hidden;
    display: block;
}

.--products .c-cover-link_txt {
    position: absolute;
    top: 40px;
    right: 40px;
    left: 40px;
    color: #fff;
    z-index: 1;
    margin: 0;
    line-height: 1;
    text-align: left;
    word-break: normal;
}
.--products .c-clm{
  margin-bottom: 0;
}

.--products{
    gap: 24px;
    display: flex;
    flex-direction: column;  
}
.--products + .--products{
  margin-top: 24px;  
}
.--products a.c-cover-link::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #023f73;
    opacity: 0.3;
}
.--products .col-lg-1 a.c-cover-link {
    aspect-ratio: 1350 / 420;
}

.--products a img {
  vertical-align: middle;
}

.--products > *:has(a.c-cover-link) {
    gap: 24px;
}
.--products .col-lg-2:has(a.c-cover-link) .box-1 {
    width: calc((100% - 24px) / 2);
}

.products_list .col-lg-2 {
    gap: 3.5%;
}

.products_list .col-lg-2 .box-1 {
  width: calc((100% - 48px) / 2);
}

.products_list .u-list {
  margin-top: 2.33em;
}

.products_list .u-list .u-list_ttl {
  width: 30%;
}

.products_list .u-list .u-list_txt {
  width: 70%;
}

.products_list .p_txt {
  min-height: 5em;
}


@media screen and (max-width: 768.8px) {
    .--products .col-lg-1 a.c-cover-link, .--products .col-lg-1 a.c-cover-link img {
        aspect-ratio: 660 / 414;
    }

    .--products .c-cover-link_txt {
        top: 20px;
        right: 20px;
        font-size: 14px;
        text-align: right;
    }
    .--products .col-lg-2:has(a.c-cover-link) .box-1, .products_list .col-lg-2 .box-1 {
        width: 100%;
    }
}

/* 船使用  */
.products_spec {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.products_spec .spec_link {
    display: block;
    width: 9vw;
    height: 2vw;
    position: absolute;
    /* background: #023f73; */
    /* max-height: 25px; */
    max-width: 140px;
}

.products_spec .spec_link span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}


/*　ポリシー =========================  */

.--privacy a{
  text-decoration: underline;
}
.--privacy p + .c-dot_list03{
  margin-top: -12px;
}

/*　流れ =========================  */

.flow-sec{

    position: relative;
    padding-bottom: 50px;

}
.flow-sec:before {
    position: absolute;
    content: "";
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    display: inline-block;
    background-image: url(../img/common/c-flow-arrow.png);
    width: 26px;
    height: 13px;
    bottom: 50px;
    left: 21.5%;
}

.flow-sec .c-clm + .c-clm{
  margin-top: -3.125em;  
}

@media screen and (max-width: 768.8px) {
  .flow-sec .c-clm + .c-clm{
    margin-top: 0;  
  }

}
/*　リスト =========================  */

ol.wp-block-list,
ul.wp-block-list{
  padding-left: 0;
}

ol.wp-block-list li,
ul.wp-block-list li{
    position: relative;
    margin-bottom: 0.4em;
    font-size: 15px;
}

ul.wp-block-list li:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    background: #000;
    border: 1px solid;
    border-radius: 1000px;
    top: 0.5em;
    left: 0;
}

ul.wp-block-list li{
    padding-left: 1em;    
    list-style: none;    
}

ol.wp-block-list li {
  list-style-type: decimal;
  margin-left: 1.2em;
}

ol.wp-block-list li::marker {
  font-size: 1em;
}
.wp-block-list a{
  text-decoration: underline;
}

ul.wp-block-list.dotto-off li:before{
  display: none;
}
ul.wp-block-list.dotto-off li{
    padding-left: 0;    
    list-style: none;    
}


/* テーブル高さ =========================  */

.under table.first-column-s tr:nth-child(1) th,
.under table.first-column-s tr:nth-child(1) td{
  padding-top: .6em;
  padding-bottom: .6em;
}

.under table.column-middle-m tr:nth-child(n+2) th,
.under table.column-middle-m tr:nth-child(n+2) td{
  padding-top: 1em;
  padding-bottom: 1em;
}

.under table.column-middle-s tr:nth-child(n+2) th,
.under table.column-middle-s tr:nth-child(n+2) td{
  padding-top: .6em;
  padding-bottom: .6em;
}



/*　マージン =========================  */

.mb0{
  margin-bottom: 0;
}




