@charset "UTF-8";
/***************************cmn_ttl****************************/
.f_light_green01 {
  color: rgba(159, 223, 201, 0.3);
}

.bg_gray04 {
  background-color: rgba(226, 226, 226, 0.6);
}

.cmn_ttl_wrap01 .ttl_wrap {
  border-left: 10px solid #2B2B2B;
}
.cmn_ttl_wrap01 .ttl_wrap .fw_enm {
  line-height: 0.8;
}
.cmn_ttl_wrap01 .text_wrap .line {
  width: 180px;
  border-top: 1px dotted #007C81;
  margin-top: 35px;
}

.cmn_ttl_wrap02 {
  background: linear-gradient(to bottom, #F8F8F8 64%, rgba(0, 124, 129, 0.5) 60%);
}
.cmn_ttl_wrap02 .inner .en {
  position: relative;
  bottom: -3px;
}

.cmn_ttl_wrap03 {
  background: linear-gradient(to bottom, #F8F8F8 64%, #007C81 60%);
}
.cmn_ttl_wrap03 .inner .en {
  position: relative;
  bottom: -3px;
}

.cmn_btn02 {
  border: 1px solid #007C81;
  transition: all 0.3s ease;
}
.cmn_btn02:hover {
  background: #007C81;
  color: #fff;
  transition: all 0.3s ease;
}

/***************************cmn_ttl****************************/
/***************************cmn_table****************************/
.cmn_table01 tr th {
  width: 180px;
  border-bottom: 2px solid rgba(0, 124, 129, 0.5);
}
.cmn_table01 tr td {
  border-bottom: 1px solid rgba(43, 43, 43, 0.2);
}

/***************************cmn_table****************************/

main .sub_mv .inner .ttl_wap .fw_enm {
  font-size: 11vw;
}
main .sub_mv .inner .ttl_wap h2 {
  bottom: 10px;
}
main .an_btn_wap ul li a {
  border-bottom: 1px solid #2B2B2B;
  min-width: 320px;
}
main .an_btn_wap ul li a:hover {
  border-bottom: 1px solid #007C81;
}
main .company01 .txt_wrap01 .name_warp .item_box {
  border-bottom: 1px solid #007C81;
}
main .company01 .txt_wrap01 .name_warp .en {
  border-top: 3px solid #007C81;
}
main .company02 .slider-for,
main .company02 .slider-nav {
  position: relative;
  width: min(1200px, 92%);
  margin: 0 auto;
}
main .company02 .slider-for img {
  width: 100%;
  height: auto; /* 画像比率に合わせて調整 */
  object-fit: cover;
  display: block;
}
main .company02 .slider-nav .slider-nav_img_wap {
  padding: 10px;
}
main .company02 .slider-nav img {
  width: 100%;
  height: 110px; /* サムネの背丈 */
  object-fit: cover;
  display: block;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
main .company02 .slider-nav .slick-slide img {
  cursor: pointer;
}
main .company02 .slider-nav .slick-current,
main .company02 .slider-nav .slick-slide:hover {
  opacity: 1;
  transform: translateY(-1px);
}
main .company02 .slider-for .slick-prev,
main .company02 .slider-for .slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  background: none;
  border: 0;
  padding: 0;
  width: 44px;
  height: 44px;
  line-height: 1;
  cursor: pointer;
  color: #2B2B2B;
  outline: none;
}
main .company02 .slider-for .slick-prev {
  left: -60px;
}
main .company02 .slider-for .slick-next {
  right: -60px;
}
main .company02 .slider-for .material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 40;
  font-size: 40px; /* 円アイコンの直径感 */
}
main .company02 .slider-for .slick-prev:before,
main .company02 .slider-for .slick-next:before {
  display: none;
}
main .company02 .slider-for .slide_txt {
  border: 1px solid #2B2B2B;
  width: calc(100% - 1px);
}
main .company04 .txt_wrap .ttl svg {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
main .company04 .txt_wrap .inner03 {
  margin-left: 400px;
}

/***************************************************
 * Generated by SVG Artista on 10/14/2025, 9:56:20 AM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/
.company04_cls-1 {
  fill: #2b2b2b !important;
}

.company04_cls-2 {
  fill: none;
  stroke: #2b2b2b;
  stroke-linecap: round;
  stroke-miterlimit: 10;
}

.company04_circle {
  fill: #000;
}

@-webkit-keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 1216.1022949219px;
    stroke-dasharray: 1216.1022949219px;
  }
  100% {
    stroke-dashoffset: 2432.2045898438px;
    stroke-dasharray: 1216.1022949219px;
  }
}
@keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 1216.1022949219px;
    stroke-dasharray: 1216.1022949219px;
  }
  100% {
    stroke-dashoffset: 2432.2045898438px;
    stroke-dasharray: 1216.1022949219px;
  }
}
.scrollin .company04_svg-elem-1 {
  -webkit-animation: animate-svg-stroke-1 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.3s both, animate-svg-fill-1 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both;
  animation: animate-svg-stroke-1 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.3s both, animate-svg-fill-1 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both;
}

@-webkit-keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 37.6884925448px;
    stroke-dasharray: 37.6884925448px;
  }
  100% {
    stroke-dashoffset: 75.3769850896px;
    stroke-dasharray: 37.6884925448px;
  }
}
@keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 37.6884925448px;
    stroke-dasharray: 37.6884925448px;
  }
  100% {
    stroke-dashoffset: 75.3769850896px;
    stroke-dasharray: 37.6884925448px;
  }
}
@-webkit-keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(43, 43, 43);
  }
}
@keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(43, 43, 43);
  }
}
.scrollin .company04_svg-elem-2 {
  -webkit-animation: animate-svg-stroke-2 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.42s both, animate-svg-fill-2 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both;
  animation: animate-svg-stroke-2 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.42s both, animate-svg-fill-2 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both;
}

main .equipment_list01 .equipment_list01_inner .txt_wrap .en_ttl_wrap {
  background: linear-gradient(to bottom, #F8F8F8 64%, rgba(0, 124, 129, 0.5) 60%);
}
main .equipment_list01 .equipment_list01_inner .txt_wrap .en_ttl_wrap .fw_enm {
  line-height: 1.1;
  font-size: 4vw;
  position: relative;
  top: 5px;
}
main .equipment_list01 .equipment_list01_inner .txt_wrap .txt_wrap_inner ul li {
  border-bottom: 1px solid rgba(43, 43, 43, 0.5);
}
main .information01 .sub_link .banner {
  width: 60%;
}
main .privacy-policy01 .ttl {
  border-bottom: #007C81 1px solid;
}
main .business01 .txt_wrap .ttl01 {
  border-bottom: 3px solid #2B2B2B;
}
main .business01 .txt_wrap .ttl02 {
  border-top: 1px solid #2B2B2B;
  margin-top: 3px;
}
main .business02 .inner {
  border-top: 1px solid rgba(43, 43, 43, 0.5);
}
main .business02 .inner .txt_wrap .ttl_box {
  width: 370px;
}

main .business03 .inner .ttl_wap .ttl_box01 .line {
  border-top: 1px solid #007C81;
  height: 1px;
  width: 100%;
}
main .business03 .inner .txt_wrap {
  gap: 10px 2%;
}
main .business03 .inner .txt_wrap .txt01 {
  width: 32%;
}
main .equipment_single01 .inner {
  gap: 0 4%;
}
main .equipment_single01 .inner .box {
  width: 48%;
}
main .equipment_single01 .inner .box .img_warp img {
  width: 48.5%;
}
main .about01 {
  background-image: url(../img/about/logo01.svg), url(../img/about/bg01.jpg);
  background-repeat: no-repeat, no-repeat;
  background-position: center top 67vh, center;
  background-size: 80%, cover;
  padding-bottom: 600px;
}
main .about01 .txt_wrap {
  width: 640px;
  max-width: 90%;
}
main .about02 .inner .txt_wrap .ttl_wrap .ttl .nam {
  color: rgba(0, 124, 129, 0.2);
}
main .about02 .inner .txt_wrap .ttl_wrap .ttl h4 {
  top: -20px;
}
main .about02 .inner .txt_wrap ul li {
  border-bottom: 1px solid #007C81;
}
main .about02 .inner02 {
  width: 1320px;
  max-width: 90%;
}
main .about02 .inner02 .img_wap {
  top: -50px;
  right: 0;
}
main .about02 .inner02 .img_wap .ttl {
  color: rgba(0, 124, 129, 0.5);
}
main .about02 .inner02 .img_wap .line {
  border-top: 1px solid #007C81;
}
main .about03 .txt_wrap01 .txt_box {
  width: 32%;
}
main .about03 .bg_img {
  background-image: url(../img/about/bg02.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding-bottom: 300px;
}
main .news_s_box_txt p {
  padding: 5px 0;
  word-break: break-all;
}
main .news_s_box_txt p::after {
  content: "";
  display: block;
  clear: both;
}
main .news_s_box_txt img {
  max-width: 100%;
  height: auto;
  margin: 20px 0;
}
main .blocks-gallery-item img {
  margin: 0;
}
main .news_s_box_txt a {
  color: #2452a7; /*←好きな色を入れてください。*/
  transition: 0.3s;
  font-weight: bold;
}
main .news_s_box_txt a:hover {
  opacity: 0.6;
  transition: 0.3s;
}
main .news_s_box_txt p strong span,
main .news_s_box_txt p strong {
  font-weight: bold;
}
main .news_s_box_txt .alignleft {
  float: left;
  margin: 20px 20px 20px 0; /*←好きな余白で*/
}
main .news_s_box_txt .alignright {
  float: right;
  margin: 20px 0px 20px 20px; /*←好きな余白で*/
}
main .news_s_box_txt img.aligncenter {
  display: block;
  margin: auto;
}
main .news_s_box_txt img.alignnone {
  display: block;
}
main .news_s_box_txt ul li {
  list-style-type: disc;
}
main .news_s_box_txt ol li {
  list-style-type: decimal;
}
main .news_s_box_txt iframe {
  max-width: 100%;
}
main .news_s_box_txt p.has-text-align-center {
  text-align: center;
}
main .news_s_box_txt p.has-text-align-right {
  text-align: right;
}
main .news_s_box_txt h1 {
  font-size: 30px; /*←好きな大きさで*/
  margin-bottom: 15px;
  font-weight: 700;
}
main .news_s_box_txt h2 {
  font-size: 26px; /*←好きな大きさで*/
  margin-bottom: 15px;
  font-weight: 700;
  border: solid 1px #007C81; /*←好きな色を入れてください。*/
  position: relative;
  padding: 10px 20px;
  color: #007C81;
}
main .news_s_box_txt h3 {
  font-size: 24px; /*←好きな大きさで*/
  margin-bottom: 15px;
  font-weight: 700;
  border-bottom: solid 1px #007C81; /*←好きな色を入れてください。*/
  padding: 10px;
  color: #007C81;
}
main .news_s_box_txt h4 {
  font-size: 22px; /*←好きな大きさで*/
  margin-bottom: 15px;
  font-weight: 700;
  position: relative;
  color: #007C81;
  border-bottom: dashed 1px #007C81;
  padding: 10px;
}
main .news_s_box_txt h5 {
  font-size: 18px; /*←好きな大きさで*/
  margin-bottom: 15px;
  font-weight: 700;
  color: #007C81;
}
main .news_s_box_txt h6 {
  margin-bottom: 15px;
  font-weight: 700;
  color: #007C81;
}
main .news_wrap .day_wrap {
  border: 1px solid #007C81;
}
main .wp-pagenavi {
  display: flex;
  justify-content: center; /*←左寄せになります。*/
  flex-wrap: wrap;
  width: 100%;
}
main .wp-pagenavi a, main .wp-pagenavi span,
main .page-numbers, main .wp-pagenavi .current, main .wp-pagenavi .page, main .previouspostslink, main .nextpostslink, main #pagenavi a.last, main #pagenavi a.first {
  border: 1px solid #9FDFC9 !important; /*←好きな色を入れてください。*/
  background-color: #9FDFC9; /*←好きな色を入れてください。*/
  padding: 8px 12px;
  font-size: 16px;
  line-height: 16px;
  font-weight: bold;
  margin: 5px;
  font-family: "Barlow", sans-serif; /*←好きなフォントを入れてください。*/
}
main #pagenavi a.last:hover,
main .previouspostslink:hover,
main .nextpostslink:hover,
main .wp-pagenavi .page:hover {
  background: #fff; /*←好きな色を入れてください。*/
  border: 1px solid #2B2B2B !important; /*←好きな色を入れてください。*/
  color: #2B2B2B !important; /*←好きな色を入れてください。*/
}
main .wp-pagenavi .current {
  background: #fff; /*←好きな色を入れてください。*/
  color: #2B2B2B; /*←好きな色を入れてください。*/
}
main .news_single01 .btn_wrap .btn_box {
  width: 225px;
}

main .news_single01 .btn_wrap .btn_box a{
display: flex;
align-items: center;
}
main .contact01 {
  max-width: 90%;
}
main .recruit_mv .txt_wrap {
  top: 90px;
  right: 5%;
}
main .recruit_mv .banner {
  margin-top: -140px;
  max-width: 90%;
  width: 700px;
}
main .recruit_cmn_ttl01 .en {
  line-height: 0.9;
}
main .recruit_cmn_ttl01 h3 {
  margin-top: -20px;
}
main .recruit_cmn_ttl01 .img_mimosa {
  top: -30px;
  left: -145px;
}
main .recruit01 .txt_wrap .left_warp .ring {
  width: 230px;
  height: 230px;
  top: -50px;
  right: -30px;
}
main .an_btn_wap .an_btn {
  width: 30%;
  border-bottom: 1px solid #2B2B2B;
}
main .index_wrap {
  position: absolute;
  left: 0;
  top: 120px;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  z-index: 10;
  border: 2px solid #2B2B2B;
}
main .index_wrap.is_fixed {
  -webkit-transition: 0.6s;
  transition: 0.6s;
  position: fixed;
  top: 120px;
}
main .index_wrap.active {
  -webkit-transition: 0.6s;
  transition: 0.6s;
  position: fixed;
  top: -60%;
}
main .index_wrap {
  width: 12vw;
  min-width: 180px;
  max-width: 220px;
}
main .index_wrap ul li a {
  opacity: 0.5;
  border-bottom: 1px solid #2B2B2B;
  background-image: none;
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
}
main .index_wrap ul li a.toc_highlight {
  opacity: 1;
  background-image: url(../img/recruit/mimosa03.png);
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
}
main .index_wrap ul li a {
  display: block;
  overflow: hidden;
  position: relative;
  padding-bottom: 2px;
  font-size: clamp(14px, 0.9vw, 18px);
}
main .index_wrap ul li a::before {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: -100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
main .container_left_an_btn {
  max-width: calc(92% - 12vw);
  width: 1460px;
  margin-left: calc(12vw + 3%);
}
main .recruit03 .ttl_wrap .ttl_box .fukidashi {
  background-color: rgba(226, 226, 226, 0.6);
  border: 1px solid #007C81;
  position: relative;
  overflow: initial;
}
main .recruit03 .ttl_wrap .ttl_box .fukidashi::before {
  background-image: url(../img/recruit/arrow01.svg);
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
}
main .recruit03 .txt_wrap .txt_box {
  background-color: #f2f2f2;
}
main .recruit03 .txt_wrap .txt_box .nam {
  top: -80px;
  left: 20px;
}
main .recruit03 .txt_wrap .img_box {
  height: 600px;
}
main .recruit03 .txt_wrap .img_box img {
  object-fit: cover;
  height: 600px;
}
main .recruit04 .box_wrap .box {
  width: 30%;
}
main .recruit04 .box_wrap .box .txt_box .nam {
  top: -5px;
  left: 50%;
  transform: translateX(-50%);
}
main .recruit04 .box_wrap .box .txt_box h4 {
  position: relative;
}
main .recruit05 {
  background-image: url(../img/recruit/message_bg.jpg);
  background-size: cover;
  background-position: center;
  padding-bottom: 700px;
}
main .recruit05 .recruit_cmn_ttl01 .en {
  color: rgba(255, 255, 255, 0.3);
}
main .recruit06 .ttl01 {
  border: 1px solid #007C81;
  position: relative;
  overflow: initial;
}
main .recruit06 .ttl01::before {
  background-image: url(../img/recruit/arrow02.svg);
  content: "";
  display: block;
  width: 28px;
  height: 20px;
  position: absolute;
  bottom: -20px;
  right: 50%;
  background-repeat: no-repeat;
}
main .recruit06 .ttl02 {
  position: relative;
  border-bottom: 3px solid #007C81;
}
main .recruit06 .ttl02::before {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: -8px;
  left: 0;
  background-color: #007C81;
}
main .recruit06 .box_wrap .txt_box .ttl_box .ring {
  width: 120px;
  height: 120px;
  right: 10%;
  top: 50px;
}
main .recruit06 .box_wrap .img_box img {
  height: 100%;
  object-fit: cover;
}
main .recruit07 .inner .box_wrap .w_img_01 {
  width: 42.2%;
}
main .recruit07 .inner .box_wrap .w_img_02 {
  width: 56%;
}
main .recruit07 .inner .box_wrap .w_img_03 {
  width: 47.6%;
}
main .recruit07 .inner .box_wrap .w_img_04 {
  width: 51%;
}
main .recruit07 .inner .box_wrap .w_img_05 {
  width: 42.6%;
}
main .recruit07 .inner .box_wrap .w_img_06 {
  width: 56%;
}
main .recruit08 .box_wrap {
  gap: 0 5%;
}
main .recruit08 .box_wrap .box {
  width: 30%;
}
main .recruit09 .txt_wrap .img03 {
  max-width: 22%;
}
main .recruit09 .txt_wrap .img04 {
  max-width: 22%;
}
main .recruit09 .txt_wrap .mimosa02 {
  max-width: 22%;
}
main .recruit09 .txt_wrap .txt_box .ring {
  width: 230px;
  height: 230px;
  left: 10%;
}
main .recruit09 .banner_wrap .banner {
  width: 48%;
}
main .slider_wrap .slick-dots li button:before {
  font-size: 50px;
}
main .slider_wrap .slick-next:before {
  font-family: "Material Icons Outlined";
  content: "arrow_forward_ios";
  font-size: 20px;
  color: #2B2B2B;
}
main .slider_wrap .slick-prev:before {
  font-family: "Material Icons Outlined";
  content: "arrow_back_ios";
  font-size: 20px;
  color: #2B2B2B;
}