@charset "UTF-8";
/***********************************************************
共通
***********************************************************/
main .sub_mv .bg {
  top: 0;
  right: 0;
  z-index: -1;
}
main .sub_link {
  background-image: url("../img/common/sub/sublink-bg.jpg");
  background-size: cover;
  background-position: center center;
}
main .sub_link .sub_link_inner .col-10 .section_title02 {
  border-bottom: 1px dashed #333333;
}
main .sub_link .sub_link_inner .col-10 .sub_link_row a {
  width: 47%;
}
main .sub_link .sub_link_inner .col-10 .sub_link_row a .img {
  aspect-ratio: 23/11;
  overflow: hidden;
  position: relative;
}
main .sub_link .sub_link_inner .col-10 .sub_link_row a .img::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(59, 78, 97, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
  opacity: 0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
main .sub_link .sub_link_inner .col-10 .sub_link_row a .text_wrap {
  top: 0;
  left: 0;
}
main .sub_link .sub_link_inner .col-10 .sub_link_row a:hover .img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
main .sub_link .sub_link_inner .col-10 .sub_link_row a:hover .img::after {
  opacity: 1;
}
main .anchor_wrap aside ul li {
  width: 46%;
}
main .anchor_wrap aside ul li a {
  width: 100% !important;
  max-width: 100%;
}
main .anchor_wrap aside ul.small li {
  width: 24%;
}
main .company01,
main .company02,
main .company03,
main .company04 {
  scroll-margin-top: 120px;
}

/***********************************************************
選ばれる理由
***********************************************************/
main .reasons01 {
  overflow: hidden;
}
main .reasons01 .reasons01_inner {
  padding-bottom: 16vw;
  z-index: 1;
  position: relative;
}
main .reasons01 .reasons01_inner .col-10 .text_wrap {
  width: 55%;
  z-index: 1;
}
main .reasons01 .reasons01_inner .col-10 .text_wrap::after {
  content: "";
  display: block;
  width: 50vw;
  height: 100%;
  background-color: #FFFFFF;
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
}
main .reasons01 .reasons01_inner .col-10 .img {
  top: 11.4vw;
  z-index: -1;
  left: 0;
}
main .reasons01 .reasons01_inner .col-10 .img img {
  width: 93.75vw;
}
main .reasons01 .reasons01_item_wrap {
  background-image: url("../img/reasons/reasons01_bg.jpg");
  background-size: cover;
  background-position: top center;
}
main .reasons01 .reasons01_item_wrap .contents_line02 .col-10 .title_wrap {
  gap: 2.08vw;
}
main .reasons01 .reasons01_item_wrap .contents_line02 .col-10 .title_wrap h3 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
main .reasons01 .reasons01_item_wrap .contents_line02 p.subtitle {
  gap: 2.08vw;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
main .reasons01 .reasons01_item_wrap .contents_line02 p.subtitle span {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
main .reasons01 .reasons01_item_wrap .contents_line02 p.subtitle.before::before {
  content: "";
  display: block;
  border-top: 1px dashed #FFFFFF;
  width: 100%;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
main .reasons01 .reasons01_item_wrap .contents_line02 p.subtitle.after::after {
  content: "";
  display: block;
  border-top: 1px dashed #FFFFFF;
  width: 100%;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
main .reasons01 .reasons01_item_wrap .contents_line02 .reasons01_row.flex-row-reverse .right {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
main .reasons01 .reasons01_item_wrap .contents_line02 .reasons01_row.flex-row-reverse .left p.f_34 {
  position: relative;
}
main .reasons01 .reasons01_item_wrap .contents_line02 .reasons01_row.flex-row-reverse .left p.f_34::after {
  position: absolute;
  right: 0;
  bottom: 0;
}
main .reasons01 .reasons01_item_wrap .contents_line02 .reasons01_row .left {
  width: 50%;
  z-index: 1;
}
main .reasons01 .reasons01_item_wrap .contents_line02 .reasons01_row .left p.f_34::after {
  content: "";
  display: block;
  width: 70vw;
  height: 1px;
  background-color: #3B4E61;
  margin-top: 1.041vw;
  position: relative;
  z-index: -1;
}
main .reasons01 .reasons01_item_wrap .contents_line02 .reasons01_row .left p.position-absolute {
  bottom: 70%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 0.4;
  color: rgba(255, 255, 255, 0.4);
  white-space: nowrap;
  z-index: -1;
}
main .reasons01 .reasons01_item_wrap .contents_line02 .reasons01_row .right {
  width: 50%;
  -webkit-transform: translateX(3vw);
          transform: translateX(3vw);
  position: relative;
  z-index: 1;
}

/***********************************************************
事業紹介・設備紹介
***********************************************************/
main .factory01 .factory01_inner .img img {
  width: calc(100% + 2.4vw) !important;
}
main .factory01 .factory01_inner .text_wrap {
  background-image: url("../img/factory/factory-bg.jpg");
  background-size: cover;
  background-position: top center;
  margin-top: -6vw;
}
main .factory01 .factory01_inner .text_wrap h2 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
main .factory01 .factory01_inner .text_wrap p {
  width: 60%;
}
main .factory01 .factory01_inner .text_wrap .anchor_wrap aside ul li {
  width: 31%;
}
main .factory01 .factory01_inner .factory01_row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main .factory01 .factory01_inner .factory01_row .left {
  width: 43%;
}
main .factory01 .factory01_inner .factory01_row .left h3 {
  border: 1px solid #93C6CF;
}
main .factory01 .factory01_inner .factory01_row .left h3 span {
  padding-top: 3px;
  padding-bottom: 5px;
}
main .factory01 .factory01_inner .factory01_row .right {
  width: 56%;
}
main .factory01 .factory01_inner .factory01_row .right img {
  -webkit-transform: translateX(2.4vw);
          transform: translateX(2.4vw);
}
main .factory01 .factory01_inner .factory02_item .factory02_item_row .left {
  width: 40%;
}
main .factory01 .factory01_inner .factory02_item .factory02_item_row .left table tr th, main .factory01 .factory01_inner .factory02_item .factory02_item_row .left table tr td {
  border-bottom: 1px dashed #3B4E61;
  padding-top: 0.52vw;
  padding-bottom: 0.52vw;
}
main .factory01 .factory01_inner .factory02_item .factory02_item_row .left table tr th {
  width: 25%;
  padding-right: 2vw;
}
main .factory01 .factory01_inner .factory02_item .factory02_item_row .left table tr td {
  width: 75%;
}
main .factory01 .factory01_inner .factory02_item .factory02_item_row .right {
  width: 55%;
}
main .factory01 .factory01_inner .factory02_item .table_wrap {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
main .factory01 .factory01_inner .factory02_item .table_wrap table {
  width: 46%;
}
main .factory01 .factory01_inner .factory02_item .table_wrap table thead tr {
  border: 1px solid #93C6CF;
}
main .factory01 .factory01_inner .factory02_item .table_wrap table thead tr th {
  padding: 0.7vw 1.56vw;
  background-color: #FFFFFF;
}
main .factory01 .factory01_inner .factory02_item .table_wrap table thead tr th:first-of-type {
  width: 75%;
  padding-right: 2vw;
}
main .factory01 .factory01_inner .factory02_item .table_wrap table thead tr th:last-of-type {
  width: 25%;
}
main .factory01 .factory01_inner .factory02_item .table_wrap table tbody tr:first-child th, main .factory01 .factory01_inner .factory02_item .table_wrap table tbody tr:first-child td {
  padding-top: 2vw;
}
main .factory01 .factory01_inner .factory02_item .table_wrap table tbody tr th, main .factory01 .factory01_inner .factory02_item .table_wrap table tbody tr td {
  padding-top: 0.52vw;
  padding-bottom: 0.52vw;
  border-bottom: 1px dashed #9CA6AF;
}
main .factory01 .factory01_inner .factory02_item .table_wrap table tbody tr th {
  width: 75%;
  padding-right: 2vw;
}
main .factory01 .factory01_inner .factory02_item .table_wrap table tbody tr td {
  width: 25%;
  padding-left: 2vw;
  padding-right: 2vw;
}

/***********************************************************
会社概要
***********************************************************/
main table {
  width: 100%;
}
main table.basic_table tr th, main table.basic_table tr td {
  padding-top: 1.04vw;
  padding-bottom: 1.04vw;
  vertical-align: middle;
}
main table.basic_table tr th {
  padding-right: 2vw;
  border-bottom: 2px solid #93C6CF;
  width: 25%;
}
main table.basic_table tr td {
  border-bottom: 1px dashed #9CA6AF;
  width: 75%;
  padding-left: 2vw;
}
main .company01 .company01_inner .company01_row .table_wrap {
  width: 67%;
}
main .company02 .company02_inner .company02_row .table_wrap table {
  position: relative;
}
main .company02 .company02_inner .company02_row .table_wrap table::after {
  content: "";
  display: block;
  height: calc(100% - 2.04vw);
  top: 2.04vw;
  left: 20%;
  border-right: 1px dashed #93C6CF;
  position: absolute;
}
main .company02 .company02_inner .company02_row .table_wrap table tr th, main .company02 .company02_inner .company02_row .table_wrap table tr td {
  padding: 1.04vw;
  border-bottom: none;
  vertical-align: middle;
}
main .company02 .company02_inner .company02_row .table_wrap table tr th {
  width: 20%;
  position: relative;
}
main .company02 .company02_inner .company02_row .table_wrap table tr th::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 100%;
  background-color: #7BF6FF;
  position: absolute;
  top: 50%;
  left: calc(100% - 4.5px);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
main .company02 .company02_inner .company02_row .table_wrap table tr td {
  padding-left: 4vw;
  width: 80%;
  position: relative;
}
main .company03 .company03_inner .company03_row .left {
  width: 55%;
  -webkit-transform: translateY(-2vw);
          transform: translateY(-2vw);
}
main .company03 .company03_inner .company03_row .right {
  width: 40%;
  position: relative;
}
main .company03 .company03_inner .company03_row .right::after {
  content: "";
  display: block;
  width: 66vw;
  height: 100%;
  position: absolute;
  top: 0;
  right: -10vw;
  background-image: url("../img/company/company02_bg.jpg");
  background-size: cover;
  background-position: center center;
  z-index: -1;
}
main .company04 .company04_inner .company04_item {
  -webkit-transform: translateX(2vw);
          transform: translateX(2vw);
}
main .company04 .company04_inner .company04_item .map iframe {
  height: clammp(200px, 20.83vw, 400px);
}
main .company04 .company04_inner .company04_item .text_wrap .company04_row h4 {
  width: 25%;
}
main .company04 .company04_inner .company04_item .text_wrap .company04_row .table_wrap {
  width: 70%;
}
main .company04 .company04_inner .company04_item .text_wrap .company04_row .table_wrap table tr:first-child th, main .company04 .company04_inner .company04_item .text_wrap .company04_row .table_wrap table tr:first-child td {
  padding-top: 0;
}

/***********************************************************
お問い合わせ
***********************************************************/
main .info01 .info01_inner .form_wrap {
  border: 1px solid #93C6CF;
  border-radius: 20px;
  overflow: hidden;
  max-width: 720px;
}
main .info01 .info01_inner .wrap a {
  display: block;
  border: 1px dashed #3B4E61;
}
main .info01 .info01_inner .wrap a p.d-flex {
  border: 1px solid #3B4E61;
}

/***********************************************************
ブログ
***********************************************************/
main .blog_wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3vw;
}
main .blog_wrap > p {
  grid-column: 1/-1;
}
main .blog_wrap a {
  width: 100%;
  display: block;
}
main .blog_wrap a:hover {
  opacity: 0.6;
}
main .blog_wrap a:hover .img img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
main .blog_wrap a .img {
  overflow: hidden;
}
main .blog_wrap a .title {
  border-bottom: 1px dashed #93C6CF;
}
main .blog_wrap a .d-flex .cat {
  border: 1px solid #3B4E61;
  padding: 0.3vw 0.5vw;
}
main .blog01 .blog01_inner .blog01_row .left .post_link .single-nav a[rel=prev] {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
main .blog01 .blog01_inner .blog01_row .left .post_link .cmn_btn {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
main .blog01 .blog01_inner .blog01_row .right {
  background-image: url("../img/blog/sidebar_bg.jpg");
  background-size: cover;
  background-position: center center;
}
main .blog01 .blog01_inner .blog01_row .right .col-10 .side_content {
  width: 31%;
}
main .blog01 .blog01_inner .blog01_row .right .col-10 .side_content ul.eachYear {
  display: none;
}
main .blog01 .blog01_inner .blog01_row .right .col-10 .side_content ul.newpost li a:hover * {
  color: #7BF6FF;
}
main .blog01 .blog01_inner .blog01_row .right .col-10 .side_content ul.newpost li a .text_wrap .f_18 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
main .blog01 .blog01_inner .blog01_row .right .col-10 .side_content ul li {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 1px;
}
main .blog01 .blog01_inner .blog01_row .right .col-10 .side_content ul li a, main .blog01 .blog01_inner .blog01_row .right .col-10 .side_content ul li .year {
  padding: 0.56vw;
  border-bottom: 1px solid #93C6CF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: clamp(16px, 0.9375vw, 18px);
}
main .blog01 .blog01_inner .blog01_row .right .col-10 .side_content ul li a::after, main .blog01 .blog01_inner .blog01_row .right .col-10 .side_content ul li .year::after {
  content: "\e5cc";
  display: block;
  font-family: "Material Symbols Outlined";
  font-size: clamp(16px, 1.56vw, 30px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
main .blog01 .blog01_inner .blog01_row .right .col-10 .side_content ul li span.year {
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
main .blog01 .blog01_inner .blog01_row .right .col-10 .side_content ul li span.year::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
main .blog01 .blog01_inner .blog01_row .right .col-10 .side_content ul li span.year.active::after {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
main .blog01 .blog01_inner .blog01_row .right .col-10 .side_content ul li span.year:hover {
  color: #7BF6FF;
}
main .blog01 .blog01_inner .blog01_row .right .col-10 .side_content ul li span.year:hover::after {
  color: #7BF6FF;
}