@charset "UTF-8";
*,
*::after,
*::before {
  box-sizing: border-box;
}

a {
  text-decoration: none;
  transition: all 0.3s ease 0s;
  display: inline-block;
}
a:hover {
  opacity: 0.7;
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

@media (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

body {
  font-size: 1.1713030747vw;
  font-family: source-han-sans-japanese, sans-serif;
  line-height: 1.7;
  color: #000;
}
@media (max-width: 767px) {
  body {
    font-size: 12px;
  }
}

.inner {
  padding: 0 10.4685212299vw;
}
@media (max-width: 767px) {
  .inner {
    padding: 0 23px;
  }
}

.ttl-wrap {
  height: 43.9238653001vw;
  text-align: center;
}
@media (max-width: 767px) {
  .ttl-wrap {
    height: 248px;
  }
}

.ttl-en {
  font-size: 2.0497803807vw;
  font-weight: bold;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .ttl-en {
    font-size: 16px;
  }
}
.ttl-en::after {
  position: absolute;
  content: "";
  bottom: -0.7320644217vw;
  left: 50%;
  transform: translateX(-50%);
  width: 13.17715959vw;
  height: 0.8052708638vw;
  background: url(../img/ttl-en-underline.png) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .ttl-en::after {
    bottom: -5px;
    width: 103px;
    height: 6px;
  }
}

/*==========================
共通設定
===============================================================*/
.ttl {
  font-size: 3.513909224vw;
  margin-top: 0.7320644217vw;
}
@media (max-width: 767px) {
  .ttl {
    font-size: 24px;
    margin-top: 10px;
  }
}

.ttl-txt {
  font-size: 2.3426061493vw;
  margin-top: 0.7320644217vw;
}
@media (max-width: 767px) {
  .ttl-txt {
    font-size: 17px;
    margin-top: 0px;
  }
}

.btn {
  width: 34.4070278184vw;
  margin: 0 auto;
  text-align: center;
  margin: 2.196193265vw auto 0;
}
@media (max-width: 767px) {
  .btn {
    width: 140px;
    margin: 10px auto 0;
  }
}
.btn a {
  color: #3c8681;
  width: 100%;
  border-radius: 4.4655929722vw;
  border: 0.2196193265vw solid #3c8681;
  font-size: 2.3426061493vw;
  padding: 0.7320644217vw 0;
  background: #fff;
  font-weight: bold;
}
@media (max-width: 767px) {
  .btn a {
    border-radius: 21px;
    border: 1px solid #3c8681;
    font-size: 16px;
    line-height: 1;
    padding: 6px 0;
  }
}
.btn a:hover {
  background: #3c8681;
  color: #fff;
  opacity: 1;
}

.big-btn {
  width: 65.8857979502vw;
  margin-top: 5.8565153734vw;
}
@media (max-width: 767px) {
  .big-btn {
    width: 283px;
    margin-top: 35px;
  }
}
.big-btn a {
  padding: 1.4641288433vw 0;
}
@media (max-width: 767px) {
  .big-btn a {
    padding: 12px 0;
  }
}

/*==========================
ローディング処理
===============================================================*/
.loading {
  position: fixed;
  background: #fff;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 100;
}

.loading-body {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60%;
}

.loading-img {
  width: 400px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .loading-img {
    width: 200px;
  }
}

.load-bar {
  background: #f1f1f1;
  height: 15px;
  border-radius: 15px;
  margin: 10px auto;
  position: relative;
  overflow: hidden;
}

.bar {
  height: 100%;
  background: #3c8681;
  position: absolute;
  -webkit-animation: progress 3.6s normal;
          animation: progress 3.6s normal;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes progress {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

@keyframes progress {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
/*==========================
header
===============================================================*/
.header {
  height: 8.78477306vw;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 10;
}
@media (max-width: 767px) {
  .header {
    height: 60px;
  }
}

.header-inner {
  height: 6.0029282577vw;
  display: flex;
  align-items: center;
  background: #fff;
  padding-left: 1.9765739385vw;
  padding-right: 5.4172767204vw;
}
@media (max-width: 767px) {
  .header-inner {
    height: 60px;
    padding: 0 16px;
  }
}

.header-logo {
  width: 23.2796486091vw;
}
@media (max-width: 767px) {
  .header-logo {
    width: 200px;
  }
}

.header-btn-list {
  display: flex;
  margin-left: auto;
  align-items: center;
}
@media (max-width: 767px) {
  .header-btn-list {
    display: none;
  }
}
.header-btn-list li {
  width: 18.8872620791vw;
}
.header-btn-list li:last-child {
  margin-left: 2.5622254758vw;
}

.glonavi {
  height: 2.7818448023vw;
  background: #3c8681;
}
@media (max-width: 767px) {
  .glonavi {
    display: none;
  }
}

.glonavi-list {
  display: flex;
  align-items: center;
  justify-content: center;
}

.glonavi-item {
  height: 2.7818448023vw;
  line-height: 2.7818448023vw;
}
@media (max-width: 767px) {
  .glonavi-item {
    height: 16px;
    line-height: 16px;
  }
}
.glonavi-item:not(:first-child) {
  margin-left: 6.588579795vw;
}
@media (max-width: 767px) {
  .glonavi-item:not(:first-child) {
    margin-left: 20px;
  }
}
.glonavi-item a {
  color: #fff;
}
@media (max-width: 767px) {
  .glonavi-item a {
    font-size: 10px;
    display: block;
  }
}

/*==========
drawer
============================*/
.drawer-icon {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 50;
  display: none;
  transition: transform 0.5s ease 0s;
}
@media (max-width: 767px) {
  .drawer-icon {
    display: block;
  }
}
.drawer-icon.is-active .drawer-icon_bar1 {
  transform: rotate(-45deg);
  top: 8px;
}
.drawer-icon.is-active .drawer-icon_bar2 {
  display: none;
}
.drawer-icon.is-active .drawer-icon_bar3 {
  transform: rotate(45deg);
  top: 8px;
}

.drawer-icon-bars {
  width: 30px;
  height: 20px;
  display: block;
  position: relative;
}

.drawer-icon_bar1,
.drawer-icon_bar2,
.drawer-icon_bar3 {
  position: absolute;
  width: 30px;
  height: 4px;
  background: #3c8681;
  top: 0;
  left: 0;
  border-radius: 5px;
  transition: all 0.3s ease 0s;
}

.drawer-icon_bar1 {
  top: 0;
}

.drawer-icon_bar2 {
  top: 8px;
}

.drawer-icon_bar3 {
  top: 16px;
}

.drawer-content {
  width: 100%;
  max-width: 375px;
  height: 100%;
  position: fixed;
  right: 0;
  top: 0;
  background: #FFF;
  z-index: 49;
  transform: translateX(105%);
  transition: all 0.5s ease 0s;
  padding: 10px;
  visibility: hidden;
  opacity: 0;
}
.drawer-content.is-active {
  transform: translateX(0);
  visibility: visible;
  opacity: 1;
}

.drawer-logo {
  width: 260px;
  margin: 50px auto 0;
  padding-bottom: 30px;
  border-bottom: 1px solid #3c8681;
}

.drawer-content_items {
  margin-top: 15px;
  padding: 0 20px;
}

.drawer-content_item {
  text-align: center;
}
.drawer-content_item a {
  display: block;
  color: #3c8681;
  padding: 15px 0;
  font-size: 14px;
}
.drawer-content_item:nth-child(n+6) {
  margin: 0 auto;
  width: 220px;
}

.drawer-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 47;
  display: none;
}
.drawer-background.is-active {
  display: block;
}

/*==========================
mv
===============================================================*/
.mv {
  position: -webkit-sticky;
  position: sticky;
  padding-bottom: 100vh;
  top: 0;
  height: 0;
  z-index: -1;
}

.mv-video {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  height: 100vh;
  overflow: hidden;
}
.mv-video video {
  position: absolute;
  vertical-align: middle;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.video-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  visibility: visible;
  opacity: 1;
  transition: all 0.5s ease 0s;
}
.video-cover.isnt-cover {
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 767px) {
  .video-cover {
    height: 100vh;
  }
}

.video-cover-dark,
.video-coverSP-dark {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  visibility: hidden;
  opacity: 0;
  transition: all 0.5s ease 0s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.video-cover-dark.is-cover,
.video-coverSP-dark.is-cover {
  visibility: visible;
  opacity: 1;
}

.mv-ttl {
  position: absolute;
  left: 6.588579795vw;
  height: 100vh;
  display: flex;
  align-items: center;
  top: 5%;
  color: #fff;
  font-size: 4.2459736457vw;
  line-height: 1.4;
  transition: all 0.5s ease 0s;
  visibility: visible;
  opacity: 1;
  text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.4);
}
.mv-ttl.is-hidden {
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 767px) {
  .mv-ttl {
    font-size: 28px;
    left: 23px;
    transform: none;
    top: 0;
    height: 100%;
  }
}
.mv-ttl h2 {
  font-size: 3.1478770132vw;
}
@media (max-width: 767px) {
  .mv-ttl h2 {
    font-size: 17px;
  }
}
.mv-ttl span {
  color: #3c8681;
}

@media (max-width: 767px) {
  .video-cover-dark,
.pc-mv {
    display: block;
    display: none;
  }
}

.sp-mv {
  display: block;
  display: none;
}
@media (max-width: 767px) {
  .sp-mv {
    display: flex;
  }
}

.video-coverSP-dark {
  display: none;
}
@media (max-width: 767px) {
  .video-coverSP-dark {
    display: block;
  }
}

/*==========================
about
===============================================================*/
.about {
  background: transparent;
  color: #fff;
}
@media (max-width: 767px) {
  .about {
    margin-top: 60px;
  }
}

.about-fadeUp {
  text-align: center;
}

.about-right {
  padding: 8.78477306vw 0 11.7130307467vw;
}
@media (max-width: 767px) {
  .about-right {
    width: 100%;
    padding: 30px 0;
  }
}

.about-right-txt {
  font-size: 1.756954612vw;
}
@media (max-width: 767px) {
  .about-right-txt {
    font-size: 13px;
  }
}
.about-right-txt p {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
}
.about-right-txt p:not(:first-child) {
  margin-top: 2.196193265vw;
}
@media (max-width: 767px) {
  .about-right-txt p:not(:first-child) {
    margin-top: 20px;
  }
}

.about-btn {
  width: 18.5944363104vw;
}
@media (max-width: 767px) {
  .about-btn {
    width: 230px;
    margin-top: 30px;
  }
}
.about-btn a {
  font-size: 1.317715959vw;
  padding: 0.439238653vw 0;
  border: 1.5px solid #3c8681;
}
@media (max-width: 767px) {
  .about-btn a {
    padding: 10px 0;
    font-size: 14px;
  }
}

/*==========================
strong point
===============================================================*/
.company-area {
  background: #fff;
}

.strong .inner {
  padding: 0;
}
.strong .ttl-bg {
  background: url(../img/bg-strong.png) no-repeat center center/cover;
}
.strong .ttl-wrap {
  padding-top: 7.3206442167vw;
}
@media (max-width: 767px) {
  .strong .ttl-wrap {
    width: 100%;
    padding: 40px 0;
  }
}

.strong-list {
  display: flex;
}
.strong-list:nth-child(odd) .strong-left p {
  padding-left: 10.2489019034vw;
}
@media (max-width: 767px) {
  .strong-list:nth-child(odd) .strong-left p {
    padding: 0 20px;
  }
}
.strong-list:nth-child(even) {
  flex-direction: row-reverse;
}
.strong-list:nth-child(even) .strong-left p {
  padding-left: 6.588579795vw;
}
@media (max-width: 767px) {
  .strong-list:nth-child(even) .strong-left p {
    padding: 0 20px;
  }
}

.strong-left {
  width: 50%;
  padding-top: 11.1273792094vw;
  font-size: 2.1229868228vw;
}
@media (max-width: 767px) {
  .strong-left {
    font-size: 12px;
    padding-top: 40px;
  }
}

.strong-btn {
  margin: 10.2489019034vw auto 0;
}
@media (max-width: 767px) {
  .strong-btn {
    margin: 18px auto 0;
  }
}

.strong-right {
  width: 50%;
}

/*==========================
service
===============================================================*/
.service {
  overflow: hidden;
}
.service .inner {
  padding: 0;
}
.service .ttl-wrap {
  padding: 7.3206442167vw 10.4685212299vw 0;
}
@media (max-width: 767px) {
  .service .ttl-wrap {
    padding: 40px 0;
  }
}
.service .ttl {
  color: #3c8681;
}

.service-list {
  display: flex;
  transition: all 0.3s ease 0s;
}
@media (max-width: 767px) {
  .service-list {
    display: block;
  }
}

.service-item {
  width: 66.66667%;
  padding: 0 3.513909224vw;
  color: #fff;
  position: relative;
  height: 43.9238653001vw;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .service-item {
    width: 100%;
  }
}
.service-item:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, rgba(61, 134, 129, 0.7) 45%, rgba(81, 174, 51, 0.7) 100%);
  transition: all 0.6s ease 0s;
}
.service-item::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  transition: all 0.6s ease 0s;
  opacity: 0;
}
.service-item:hover {
  color: #fff;
  opacity: 1;
  transform: scale(1.04);
  z-index: 3;
}
.service-item:hover .service-txt {
  top: 13%;
}
.service-item:hover .service-txt p {
  opacity: 1;
}
.service-item:hover .service-btn {
  bottom: 10%;
}
.service-item:hover::before {
  opacity: 0;
}
.service-item:hover:after {
  opacity: 1;
}

.service-item01 {
  background: url(../img/business01.png) no-repeat center center/cover;
}

.service-item02 {
  background: url(../img/business02.png) no-repeat center center/cover;
}

.service-item03 {
  background: url(../img/business03.png) no-repeat center center/cover;
}
.service-item03 .service-txt {
  text-align: center;
}

.bg-area {
  z-index: 2;
}

.service-heading {
  font-size: 3.513909224vw;
  text-align: center;
  line-height: 1.25;
}

.service-txt {
  position: absolute;
  top: 25%;
  left: 50%;
  transform: translateX(-50%);
  width: 86.5%;
  transition: all 0.6s ease 0s;
  z-index: 2;
}
.service-txt p {
  font-size: 1.6105417277vw;
  margin-top: 2.196193265vw;
  opacity: 0;
  transition: all 0.6s ease 0s;
}

.service-btn {
  position: absolute;
  left: 50%;
  bottom: 25%;
  transform: translateX(-50%);
  width: 80%;
  transition: all 0.6s ease 0s;
  z-index: 1;
}

.sp-service-item {
  color: #000;
}
.sp-service-item:not(:first-child) {
  margin-top: 40px;
}

.sp-service-wrap {
  padding: 0 40px;
}
.sp-service-wrap p {
  font-size: 14px;
}

.sp-service-heading {
  font-size: 24px;
  margin: 15px 0;
  text-align: center;
}

.sp-service-btn {
  width: 200px;
  margin: 20px auto 0;
}

/*==========================
banner
===============================================================*/
.banner-list li {
  margin-top: 5.8565153734vw;
}
@media (max-width: 767px) {
  .banner-list li {
    margin-top: 30px;
  }
}

/*==========================
news
===============================================================*/
.news .ttl-wrap {
  height: auto;
}
.news .ttl-en {
  margin: 6.588579795vw auto 0;
}
@media (max-width: 767px) {
  .news .ttl-en {
    margin: 35px auto 0;
  }
}
.news .ttl {
  text-align: center;
  color: #3c8681;
}

.news-list {
  width: 65.8857979502vw;
  margin: 2.196193265vw auto 0;
  border-top: 0.2196193265vw solid #3c8681;
  border-bottom: 0.2196193265vw solid #3c8681;
  padding: 3.6603221083vw 0;
}
@media (max-width: 767px) {
  .news-list {
    width: 100%;
    margin: 15px auto 0;
    border-top: 1px solid #3c8681;
    border-bottom: 1px solid #3c8681;
    padding: 20px 0;
  }
}
.news-list a {
  display: block;
  color: #000;
  font-size: 1.756954612vw;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .news-list a {
    font-size: 14px;
  }
}
.news-list a:not(:first-child) {
  margin-top: 2.196193265vw;
}
@media (max-width: 767px) {
  .news-list a:not(:first-child) {
    margin-top: 20px;
  }
}
.news-list .news-content {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .news-list .news-content {
    display: block;
  }
}
.news-list .cat {
  width: 16.1054172767vw;
  min-width: 150px;
  font-size: 1.0248901903vw;
  background: #3c8681;
  color: #fff;
  border-radius: 1.4641288433vw;
  text-align: center;
  display: block;
  padding: 0.3660322108vw 0.7320644217vw;
}
@media (max-width: 767px) {
  .news-list .cat {
    width: 25%;
    font-size: 10px;
    border-radius: 15px;
    padding: 2px 4px;
  }
}
.news-list .news-title {
  width: calc(100% - 16.1054172767vw);
  padding-left: 1.4641288433vw;
}
@media (max-width: 767px) {
  .news-list .news-title {
    width: 100%;
    padding-left: 0;
    margin-top: 5px;
  }
}

@media (max-width: 767px) {
  .news-meta {
    display: flex;
    align-items: center;
  }
  .news-meta .info-published {
    width: 80px;
  }
}
.news-meta .cat {
  display: none;
}
@media (max-width: 767px) {
  .news-meta .cat {
    display: block;
    width: 155px;
  }
}

@media (max-width: 767px) {
  .news-list .cat-pc {
    display: none;
  }
}

/*==========================
access
===============================================================*/
.access {
  margin-top: 5.1244509517vw;
}
@media (max-width: 767px) {
  .access {
    margin-top: 40px;
  }
}
.access .ttl-wrap {
  height: auto;
  text-align: center;
}
.access .ttl-en {
  margin: 0 auto;
}

.map {
  margin-top: 3.6603221083vw;
  position: relative;
  padding-top: 60%;
}
@media (max-width: 767px) {
  .map {
    margin-top: 20px;
  }
}
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.cmp-access {
  padding: 5.8565153734vw 0 5.8565153734vw;
  display: flex;
}
@media (max-width: 767px) {
  .cmp-access {
    padding: 25px 0 35px;
    display: block;
  }
}

.cmp-img {
  width: 50%;
}
@media (max-width: 767px) {
  .cmp-img {
    width: 100%;
  }
}

.cmp-wrap {
  width: 50%;
  margin-left: 2.9282576867vw;
}
@media (max-width: 767px) {
  .cmp-wrap {
    width: 100%;
    margin-left: 0;
  }
}

.cmp-logo {
  width: 30.4538799414vw;
}
@media (max-width: 767px) {
  .cmp-logo {
    width: 233px;
  }
}

.cmp-info {
  font-size: 2.1229868228vw;
  margin-top: 0.7320644217vw;
}
@media (max-width: 767px) {
  .cmp-info {
    font-size: 16px;
    margin-top: 10px;
  }
}

/*==========================
footer
===============================================================*/
.footer-inner {
  background: #3c8681;
  padding: 5.8565153734vw 10.4685212299vw 3.2942898975vw;
}
@media (max-width: 767px) {
  .footer-inner {
    padding: 0 45px 40px;
  }
}

.footer-list {
  display: flex;
}
@media (max-width: 767px) {
  .footer-list {
    display: block;
  }
}

.footer-right {
  width: 50%;
}
@media (max-width: 767px) {
  .footer-right {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .footer-right ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.footer-right ul li {
  margin-top: 1.4641288433vw;
}
@media (max-width: 767px) {
  .footer-right ul li {
    margin-top: 10px;
  }
  .footer-right ul li:not(:last-child) {
    padding-right: 10px;
    position: relative;
  }
  .footer-right ul li:not(:last-child)::after {
    position: absolute;
    content: "";
    width: 1px;
    height: 13px;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background: #fff;
  }
  .footer-right ul li:not(:first-child) {
    padding-left: 10px;
  }
}
.footer-right ul li a {
  color: #fff;
  font-size: 1.756954612vw;
}
@media (max-width: 767px) {
  .footer-right ul li a {
    font-size: 12px;
  }
}

.footer-heading {
  font-size: 2.3426061493vw;
  color: #fff;
}
@media (max-width: 767px) {
  .footer-heading {
    font-size: 24px;
    text-align: center;
    padding-top: 35px;
  }
}

.footer-left {
  width: 50%;
}
@media (max-width: 767px) {
  .footer-left {
    width: 100%;
  }
}
.footer-left .footer-grid {
  margin-top: 2.9282576867vw;
  display: grid;
  grid-template-rows: 11.859443631vw 12.5183016105vw;
  grid-template-columns: 13.17715959vw 13.17715959vw 13.17715959vw;
}
@media (max-width: 767px) {
  .footer-left .footer-grid {
    margin: 20px auto 0;
    width: 283px;
    grid-template-rows: 85px 135px 135px;
    grid-template-columns: 50% 50%;
  }
}
.footer-left .footer-grid li:nth-child(1) {
  grid-row: 1/2;
  grid-column: 1/4;
}
@media (max-width: 767px) {
  .footer-left .footer-grid li:nth-child(1) {
    grid-column: 1/3;
  }
}
@media (max-width: 767px) {
  .footer-left .footer-grid li:nth-child(2) {
    grid-row: 2/3;
    grid-column: 1/3;
  }
}
@media (max-width: 767px) {
  .footer-left .footer-grid li:nth-child(3) {
    grid-row: 3/4;
    grid-column: 1/2;
  }
}
@media (max-width: 767px) {
  .footer-left .footer-grid li:nth-child(4) {
    grid-row: 3/4;
    grid-column: 2/3;
  }
}
.footer-left .footer-grid li a {
  color: #000;
  font-size: 1.756954612vw;
}

.footer-banner {
  margin-top: 2.9282576867vw;
  display: flex;
}
@media (max-width: 767px) {
  .footer-banner {
    margin: 40px auto 0;
    width: 283px;
  }
}
.footer-banner li:not(:first-child) {
  margin-left: 2.196193265vw;
}
@media (max-width: 767px) {
  .footer-banner li:not(:first-child) {
    margin-left: 15px;
  }
}

.copyright {
  background: #fff;
  text-align: center;
  font-size: 1.0248901903vw;
  padding: 0.5856515373vw 0;
}
@media (max-width: 767px) {
  .copyright {
    font-size: 10px;
    padding: 8px 0;
  }
}

/*==========================
下層

共通設定
===============================================================*/
.main-content {
  margin: 12.4450951684vw 0 5.8565153734vw;
}
@media (max-width: 767px) {
  .main-content {
    margin: 100px 0;
  }
}

.kasou-ttl {
  font-size: 2.3426061493vw;
  color: #3c8681;
  padding-bottom: 0.7320644217vw;
  border-bottom: 0.2196193265vw solid #3c8681;
  margin: 5.8565153734vw 0 5.1244509517vw;
  text-align: center;
}
@media (max-width: 767px) {
  .kasou-ttl {
    font-size: 21px;
    padding-bottom: 0;
    border-bottom: 1.5px solid #3c8681;
    margin: 30px 0;
  }
}

.fv {
  margin-top: 8.78477306vw;
  padding: 8.78477306vw 10.4685212299vw;
}
@media (max-width: 767px) {
  .fv {
    margin-top: 64px;
    padding: 25px 40px;
  }
}

.fv-ttl {
  font-size: 2.3426061493vw;
  color: #fff;
  text-align: center;
}
@media (max-width: 767px) {
  .fv-ttl {
    font-size: 21px;
  }
}

/*==========================
ノエマについて
===============================================================*/
.ceo-wrap {
  display: flex;
}
@media (max-width: 767px) {
  .ceo-wrap {
    display: block;
  }
}

.ceo-left {
  width: 29.2825768668vw;
}
@media (max-width: 767px) {
  .ceo-left {
    width: 100%;
  }
}

.ceo-right {
  width: calc(100% - 32.9428989751vw);
  margin-left: 3.6603221083vw;
}
@media (max-width: 767px) {
  .ceo-right {
    width: 100%;
    margin-top: 20px;
    margin-left: 0;
  }
}
.ceo-right p {
  font-size: 1.5373352855vw;
  margin-bottom: 1.8301610542vw;
}
@media (max-width: 767px) {
  .ceo-right p {
    font-size: 14px;
    margin-bottom: 25px;
  }
}
.ceo-right .ceo-name {
  text-align: right;
  margin-bottom: 0;
}

/*==========================
philosophy
===============================================================*/
.philosophy .fv {
  margin-top: 4.39238653vw;
  padding: 8.78477306vw 0;
  background: url(../img/about/bg_philosophy.png) no-repeat center center/cover;
}
@media (max-width: 767px) {
  .philosophy .fv {
    margin-top: 40px;
  }
}
.philosophy p {
  font-size: 1.5373352855vw;
}
@media (max-width: 767px) {
  .philosophy p {
    font-size: 14px;
  }
}

.philosophy-heading {
  font-size: 2.0497803807vw;
  line-height: 1.4166666667;
  margin: 5.8565153734vw 0 2.9282576867vw;
}
@media (max-width: 767px) {
  .philosophy-heading {
    font-size: 18px;
    margin: 30px auto;
  }
}

.brush-txt {
  font-family: ta-fuga-fude, sans-serif;
}

/*==========================
history
===============================================================*/
.history-wrap {
  margin-top: 8.0527086384vw;
  background: url(../img/about/history.png) no-repeat bottom right/63% auto;
}
@media (max-width: 767px) {
  .history-wrap {
    display: block;
    background: none;
    margin-top: 30px;
  }
}

.history-left {
  width: calc(100% - 32.9428989751vw);
  margin-right: 2.196193265vw;
}
@media (max-width: 767px) {
  .history-left {
    width: 100%;
    margin-right: 0;
  }
}

.history-list {
  position: relative;
}
.history-list::before {
  position: absolute;
  content: "";
  width: 0.1464128843vw;
  height: 100%;
  top: 0.5124450952vw;
  left: 0.8052708638vw;
  background-image: linear-gradient(to top, #3c8681, #3c8681 0.3660322108vw, transparent 0.3660322108vw); /* 幅2の線を作る */
  background-size: 0.1464128843vw 0.7320644217vw; /* グラデーションの幅・高さを指定 */
  background-position: left bottom; /* 背景の開始位置を指定 */
  background-repeat: repeat-y; /* 横向きにのみ繰り返す */
}
@media (max-width: 767px) {
  .history-list::before {
    width: 1px;
    top: 7px;
    left: 4.5px;
    height: 100%;
    background-image: linear-gradient(to top, #3c8681, #3c8681 3px, transparent 3px); /* 幅2の線を作る */
    background-size: 1px 6px; /* グラデーションの幅・高さを指定 */
  }
}
@media (max-width: 767px) {
  .history-list {
    background: url(../img/about/history.png);
    background-size: 55%;
    background-repeat: no-repeat;
    background-position: right bottom;
  }
}

.history-item {
  font-size: 1.5373352855vw;
  margin-bottom: 3.2942898975vw;
  padding-left: 3.6603221083vw;
  display: flex;
  position: relative;
}
@media (max-width: 767px) {
  .history-item {
    font-size: 13px;
    margin-bottom: 15px;
    padding-left: 23px;
    display: block;
  }
}
.history-item:last-child {
  margin-bottom: 0;
}
.history-item::after {
  position: absolute;
  content: "";
  top: 0.439238653vw;
  left: 0;
  width: 1.756954612vw;
  height: 1.756954612vw;
  background: #3c8681;
}
@media (max-width: 767px) {
  .history-item::after {
    width: 10px;
    height: 10px;
    top: 6px;
  }
}

.history-year {
  width: 13.17715959vw;
}
@media (max-width: 767px) {
  .history-year {
    width: 100%;
  }
}

.history-things {
  width: calc(100% - 14.6412884334vw);
  margin-left: 1.4641288433vw;
}
@media (max-width: 767px) {
  .history-things {
    width: 100%;
    margin-left: 0;
  }
}

.history-btn {
  margin-top: 5.1244509517vw;
  background: url(../img/about/bg_banner01.png) no-repeat center center/cover;
  text-align: center;
}
@media (max-width: 767px) {
  .history-btn {
    margin-top: 40px;
  }
}
.history-btn a {
  font-weight: bold;
  color: #fff;
  font-size: 3.513909224vw;
  padding: 4.39238653vw 0;
  width: 100%;
}
@media (max-width: 767px) {
  .history-btn a {
    font-size: 21px;
    padding: 10px 0;
  }
}

/*==========================
company01
===============================================================*/
.company01-wrap {
  width: 65.8857979502vw;
  margin: 0 auto 3.6603221083vw;
}
@media (max-width: 767px) {
  .company01-wrap {
    width: 100%;
    margin: 0 auto 25px;
  }
}

.cmp01-item {
  display: flex;
  font-size: 1.5373352855vw;
  padding: 2.196193265vw 0;
}
.cmp01-item:first-child {
  padding-top: 0;
}
@media (max-width: 767px) {
  .cmp01-item {
    font-size: 11px;
    padding: 15px 0;
  }
}
.cmp01-item:not(:first-child) {
  border-top: 0.1464128843vw solid rgba(60, 134, 129, 0.4);
}
@media (max-width: 767px) {
  .cmp01-item:not(:first-child) {
    border-top: 1px solid rgba(60, 134, 129, 0.4);
  }
}
.cmp01-item dt {
  width: 24.8901903367vw;
  padding-left: 5.8565153734vw;
}
@media (max-width: 767px) {
  .cmp01-item dt {
    width: 115px;
    padding-left: 5px;
  }
}
.cmp01-item dd {
  width: calc(100% - 24.8901903367vw);
}
@media (max-width: 767px) {
  .cmp01-item dd {
    width: calc(100% - 115px);
  }
}
.cmp01-item dd span {
  display: inline-block;
  width: 11.7130307467vw;
}
@media (max-width: 767px) {
  .cmp01-item dd span {
    width: 76px;
  }
}

/*==========================
strong01
===============================================================*/
.strong01 .fv {
  background: url(../img/strong/fv_strong.png) no-repeat center center/cover;
}
.strong01 .ceo {
  margin-top: 5.8565153734vw;
}
@media (max-width: 767px) {
  .strong01 .ceo {
    margin-top: 40px;
  }
}

.engineer-heading {
  font-size: 2.0497803807vw;
  text-align: center;
}
@media (max-width: 767px) {
  .engineer-heading {
    font-size: 18px;
  }
}

.engineer-txt {
  font-size: 1.5373352855vw;
  margin-top: 2.9282576867vw;
  text-align: center;
}
@media (max-width: 767px) {
  .engineer-txt {
    font-size: 14px;
    margin-top: 30px;
  }
}

.engineer-list {
  margin-top: 4.39238653vw;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .engineer-list {
    margin-top: 40px;
  }
}

.engineer-item {
  width: calc(33.33333% - 3.6115178136vw);
  font-size: 2.0497803807vw;
  text-align: center;
  color: #000;
}
.engineer-item:hover {
  color: #000;
}
.engineer-item:not(:nth-child(3n+1)) {
  margin-left: 5.4172767204vw;
}
@media (max-width: 767px) {
  .engineer-item:not(:nth-child(3n+1)) {
    margin-left: 0;
  }
}
.engineer-item:nth-child(n+4) {
  margin-top: 5.1244509517vw;
}
@media (max-width: 767px) {
  .engineer-item:nth-child(n+4) {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .engineer-item {
    width: calc(50% - 11px);
    font-size: 16px;
  }
  .engineer-item:not(:nth-child(2n+1)) {
    margin-left: 22px;
  }
  .engineer-item:nth-child(n+3) {
    margin-top: 30px;
  }
}
.engineer-item p {
  line-height: 1.3;
}

/*==========================
表彰実績
===============================================================*/
.certificate {
  margin-bottom: 5.8565153734vw;
}
@media (max-width: 767px) {
  .certificate {
    margin-bottom: 40px;
    overflow-x: auto;
  }
}

.table-scroll {
  overflow-x: auto;
}

.certificate-table {
  width: 65.8857979502vw;
  margin: 0 auto;
  text-align: center;
  border-collapse: collapse;
  font-size: 1.317715959vw;
}
@media (max-width: 767px) {
  .certificate-table {
    width: 470px;
    font-size: 11px;
  }
}
.certificate-table tr,
.certificate-table th,
.certificate-table td {
  border: 0.1464128843vw solid #3c8681;
}
@media (max-width: 767px) {
  .certificate-table tr,
.certificate-table th,
.certificate-table td {
    border: 1px solid #3c8681;
  }
}
.certificate-table tr:nth-child(2n+3) {
  background: rgba(60, 130, 135, 0.1);
}
.certificate-table th {
  font-size: 2.0497803807vw;
  background: #3c8681;
  color: #fff;
  padding: 0.5856515373vw;
  border-right: 0.1464128843vw solid #fff;
}
@media (max-width: 767px) {
  .certificate-table th {
    border-right: 1px solid #fff;
  }
}
.certificate-table th.base-border {
  border-right: 0.1464128843vw solid #3c8681;
}
@media (max-width: 767px) {
  .certificate-table th.base-border {
    border-right: 1px solid #3c8681;
  }
}
@media (max-width: 767px) {
  .certificate-table th {
    font-size: 14px;
    padding: 3px;
  }
}
.certificate-table td {
  height: 10.980966325vw;
  padding: 0.5124450952vw 0.7320644217vw;
}

/*==========================
表彰実績　個人
===============================================================*/
.engineer01-list {
  display: flex;
}
@media (max-width: 767px) {
  .engineer01-list {
    display: block;
    padding: 0 23px;
  }
}

.engineer01-item {
  width: 22.6939970717vw;
  text-align: center;
  font-size: 2.0497803807vw;
}
@media (max-width: 767px) {
  .engineer01-item {
    width: 100%;
    font-size: 18px;
  }
}

.engineer01-content {
  width: calc(100% - 26.3543191801vw);
  margin-left: 3.6603221083vw;
}
@media (max-width: 767px) {
  .engineer01-content {
    width: 100%;
    margin-left: 0;
    margin-top: 25px;
  }
}
.engineer01-content .engineer-txt {
  margin: 0 0 1.4641288433vw;
  text-align: left;
}
@media (max-width: 767px) {
  .engineer01-content .engineer-txt {
    margin: 0 0 30px;
  }
}
.engineer01-content .engineer-txt p {
  font-size: 1.756954612vw;
}
@media (max-width: 767px) {
  .engineer01-content .engineer-txt p {
    font-size: 16px;
  }
}
.engineer01-content .engineer-heading {
  font-weight: bold;
  text-align: left;
  font-size: 2.0497803807vw;
}
@media (max-width: 767px) {
  .engineer01-content .engineer-heading {
    font-size: 16px;
  }
}

.to-list-pagination {
  margin: 5.1244509517vw auto;
  width: 30.7467057101vw;
  height: 3.6603221083vw;
  position: relative;
}
@media (max-width: 767px) {
  .to-list-pagination {
    margin-top: 30px;
    width: 235px;
    height: 20px;
  }
}
.to-list-pagination a {
  font-size: 1.756954612vw;
  color: #000;
  position: relative;
  padding: 0 1.4641288433vw;
  /*
  &:not(:first-child) {
      margin-left: vw(100px);
  }
  */
}
@media (max-width: 767px) {
  .to-list-pagination a {
    font-size: 14px;
    padding: 0 15px;
  }
}
.to-list-pagination li {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.to-list-pagination .list-pagination-prev {
  left: 0;
}
.to-list-pagination .list-pagination-list {
  left: 50%;
  transform: translate(-50%, -50%);
}
.to-list-pagination .list-pagination-next {
  right: 0;
}

.list-pagination-prev a::after,
.list-pagination-next a::after {
  position: absolute;
  content: "";
  width: 0.7320644217vw;
  height: 1.4641288433vw;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .list-pagination-prev a::after,
.list-pagination-next a::after {
    width: 7px;
    height: 13px;
  }
}

.list-pagination-prev a::after {
  background: url(../img/strong/arrow-prev.png) no-repeat center center/contain;
  left: 0;
}

.list-pagination-next a::after {
  background: url(../img/strong/arrow-next.png) no-repeat center center/contain;
  right: 0;
}

/*==========================
achievement 施工実績
===============================================================*/
.achievement a,
.achievement span {
  color: #000;
  font-size: 1.5373352855vw;
}
@media (max-width: 767px) {
  .achievement a,
.achievement span {
    font-size: 14px;
  }
}

.gen,
.cat {
  display: flex;
  flex-wrap: wrap;
}

.gen-num,
.cat-item {
  font-weight: bold;
  width: 5.6368960469vw;
  padding: 0 0.7320644217vw;
  display: block;
  text-align: center;
  margin-bottom: 0.7320644217vw;
}
@media (max-width: 767px) {
  .gen-num,
.cat-item {
    width: 47px;
    padding: 0;
    margin-bottom: 10px;
  }
}
.gen-num.current,
.cat-item.current {
  position: relative;
}
.gen-num.current::after,
.cat-item.current::after {
  position: absolute;
  content: "";
  width: 85%;
  height: 0.1464128843vw;
  bottom: -0.2196193265vw;
  left: 50%;
  transform: translateX(-50%);
  background: #000;
}
@media (max-width: 767px) {
  .gen-num.current::after,
.cat-item.current::after {
    height: 1px;
    bottom: 0;
  }
}

.current {
  position: relative;
}
.current::after {
  position: absolute;
  content: "";
  width: 85%;
  height: 0.1464128843vw;
  bottom: -0.2196193265vw;
  left: 50%;
  transform: translateX(-50%);
  background: #000;
}
@media (max-width: 767px) {
  .current::after {
    height: 1px;
    bottom: 0;
  }
}

#achievement .cat {
  margin-top: 1.8301610542vw;
}
@media (max-width: 767px) {
  #achievement .cat {
    margin-top: 5px;
  }
}

.content-list {
  margin-top: 5.1244509517vw;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .content-list {
    margin-top: 45px;
  }
}

.content-item {
  width: calc(33.33333% - 3.6603221083vw);
  text-align: center;
}
.content-item:not(:nth-child(3n+1)) {
  margin-left: 5.4904831625vw;
}
@media (max-width: 767px) {
  .content-item:not(:nth-child(3n+1)) {
    margin-left: 0;
  }
}
.content-item:nth-child(n+4) {
  margin-top: 3.6603221083vw;
}
@media (max-width: 767px) {
  .content-item:nth-child(n+4) {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .content-item {
    width: calc(50% - 8.5px);
  }
  .content-item:not(:nth-child(2n+1)) {
    margin-left: 17px;
  }
  .content-item:nth-child(n+3) {
    margin-top: 20px;
  }
}

.content-img {
  margin-bottom: 0.7320644217vw;
  overflow: hidden;
}
.content-img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 16.9838945827vw;
}
@media (max-width: 767px) {
  .content-img {
    margin-bottom: 5px;
  }
  .content-img img {
    height: 30.7467057101vw;
  }
}

.content .pagination {
  margin-top: 5.8565153734vw;
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  .content .pagination {
    margin: 30px 0;
  }
}
.content .page-numbers {
  width: 3.2210834553vw;
  display: block;
  text-align: center;
  position: relative;
  font-size: 1.1713030747vw;
  color: #000;
}
@media (max-width: 767px) {
  .content .page-numbers {
    width: 30px;
    font-size: 14px;
  }
}
.content .prev {
  padding-left: 0.7320644217vw;
  width: 4.39238653vw;
}
@media (max-width: 767px) {
  .content .prev {
    width: 40px;
    padding-left: 10px;
    margin-right: 10px;
  }
}
.content .next {
  padding-right: 0.7320644217vw;
  width: 4.39238653vw;
}
@media (max-width: 767px) {
  .content .next {
    width: 40px;
    padding-right: 10px;
    margin-left: 10px;
  }
}
.content .pagination .current::after {
  width: calc(100% - 1.4641288433vw);
}
@media (max-width: 767px) {
  .content .pagination .current::after {
    width: calc(100% - 10px);
  }
}

#newsList .prev::after,
#newsList .next::after,
#achievement .prev::after,
#achievement .next::after {
  position: absolute;
  content: "";
  width: 0.7320644217vw;
  height: 1.4641288433vw;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  #newsList .prev::after,
#newsList .next::after,
#achievement .prev::after,
#achievement .next::after {
    width: 7px;
    height: 13px;
  }
}
#newsList .prev::after,
#achievement .prev::after {
  background: url(../img/strong/arrow-prev.png) no-repeat center center/contain;
  left: 0;
}
#newsList .next::after,
#achievement .next::after {
  background: url(../img/strong/arrow-next.png) no-repeat center center/contain;
  right: 0;
}

/*==========================
施工実績　個別ページ
===============================================================*/
.single-achieve {
  margin-bottom: 5.8565153734vw;
}
@media (max-width: 767px) {
  .single-achieve {
    margin-bottom: 40px;
  }
}

.slide-dots {
  margin-top: 1.4641288433vw;
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  .slide-dots {
    margin-top: 10px;
  }
}
.slide-dots li:not(:first-child) {
  margin-left: 2.9282576867vw;
}
@media (max-width: 767px) {
  .slide-dots li:not(:first-child) {
    margin-left: 10px;
  }
}
.slide-dots li button {
  position: relative;
  display: block;
  text-indent: -9999px;
  background: transparent;
  border: none;
}
.slide-dots li button::before {
  position: absolute;
  content: "";
  width: 1.8301610542vw;
  height: 1.8301610542vw;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid #000;
  border-radius: 50%;
  background: #fff;
}
@media (max-width: 767px) {
  .slide-dots li button::before {
    width: 13px;
    height: 13px;
  }
}
.slide-dots li.slick-active button::before {
  background: #000;
}

.slider {
  position: relative;
}
.slider .slick-arrow {
  position: absolute;
  width: 3.7335285505vw;
  height: 7.3938506589vw;
  top: 40%;
  z-index: 2;
}
@media (max-width: 767px) {
  .slider .slick-arrow {
    width: 16px;
    height: 32px;
  }
}
.slider .prev-arrow {
  left: 20px;
}
@media (max-width: 767px) {
  .slider .prev-arrow {
    left: 10px;
  }
}
.slider .next-arrow {
  right: 20px;
}
@media (max-width: 767px) {
  .slider .next-arrow {
    right: 10px;
  }
}

.single-content {
  margin: 5.8565153734vw auto 0;
  width: 65.8857979502vw;
}
@media (max-width: 767px) {
  .single-content {
    margin: 40px auto 0;
    width: 100%;
  }
}

.single-item {
  display: flex;
  font-size: 2.0497803807vw;
  padding: 0.5124450952vw 0;
}
@media (max-width: 767px) {
  .single-item {
    font-size: 14px;
    padding: 5px 0;
  }
}
.single-item dt {
  width: 13.17715959vw;
}
@media (max-width: 767px) {
  .single-item dt {
    width: 80px;
  }
}
.single-item dd {
  width: calc(100% - 13.17715959vw);
  padding-left: 1.9765739385vw;
}
@media (max-width: 767px) {
  .single-item dd {
    width: calc(100% - 80px);
    padding-left: 10px;
  }
}

.slider-img {
  overflow: hidden;
}
.slider-img img {
  height: 59.2972181552vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .slider-img img {
    height: 65.1537335286vw;
  }
}

/*==========================
取り組み efforts
===============================================================*/
.efforts {
  margin-bottom: 5.8565153734vw;
}
@media (max-width: 767px) {
  .efforts {
    margin-bottom: 40px;
  }
}

.efforts-message p {
  font-size: 1.4641288433vw;
  margin-top: 1.4641288433vw;
}
@media (max-width: 767px) {
  .efforts-message p {
    font-size: 14px;
    margin-top: 20px;
  }
}

.efforts-heading {
  font-size: 2.0497803807vw;
  font-weight: bold;
  text-align: center;
  margin: 5.8565153734vw 0 2.9282576867vw;
}
@media (max-width: 767px) {
  .efforts-heading {
    font-size: 18px;
    margin: 30px 0;
  }
}

.sdgs .fv {
  background: url(../img/efforts/fv-sustainable.png) no-repeat center center/cover;
}

.sdgs-logo {
  width: 52.7086383602vw;
  margin: 4.39238653vw auto;
}
@media (max-width: 767px) {
  .sdgs-logo {
    width: 283px;
    margin: 30px auto;
  }
}

.sdgs-list {
  display: flex;
}
@media (max-width: 767px) {
  .sdgs-list {
    display: block;
  }
}
.sdgs-list:not(:first-child) {
  margin-top: 4.39238653vw;
}
@media (max-width: 767px) {
  .sdgs-list:not(:first-child) {
    margin-top: 25px;
  }
}

.sdgs-left {
  width: 39.6778916545vw;
  font-size: 2.0497803807vw;
}
@media (max-width: 767px) {
  .sdgs-left {
    width: 100%;
    font-size: 16px;
  }
}
.sdgs-left li {
  list-style: disc;
  margin-left: 2.0497803807vw;
}
@media (max-width: 767px) {
  .sdgs-left li {
    margin-left: 17px;
  }
}

.sdgs-right {
  width: calc(100% - 39.6778916545vw);
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  .sdgs-right {
    width: 100%;
    justify-content: flex-start;
    margin-top: 10px;
  }
}

.sdgs-img {
  width: calc(33.3333% - 1.7081503172vw);
}
@media (max-width: 767px) {
  .sdgs-img {
    width: calc(33.3333% - 13.3333333333px);
  }
}
.sdgs-img:not(:first-child) {
  margin-left: 2.5622254758vw;
}
@media (max-width: 767px) {
  .sdgs-img:not(:first-child) {
    margin-left: 20px;
  }
}

.promotion {
  margin: 7.3206442167vw 0 4.39238653vw;
}

.promo-wrap {
  width: 43.9238653001vw;
  margin: 2.196193265vw auto 0;
}
@media (max-width: 767px) {
  .promo-wrap {
    width: 300px;
    margin: 20px auto 30px;
  }
}

.promo-left {
  width: 39.5314787701vw;
}
@media (max-width: 767px) {
  .promo-left {
    width: 217px;
    max-width: 100%;
  }
}

.promo-right {
  width: 14.6412884334vw;
  margin-left: 5.1244509517vw;
}
@media (max-width: 767px) {
  .promo-right {
    width: 81px;
    margin-left: 20px;
  }
}

.interview .fv {
  margin: 0;
  padding: 3.6603221083vw 10.3953147877vw;
  background: url(../img/efforts/fv-interview01.png) no-repeat center center/cover;
}
@media (max-width: 767px) {
  .interview .fv {
    padding: 5px 40px;
  }
}

.interview-wrap .efforts-message {
  line-height: 1.7;
  text-align: center;
  margin: 5.1244509517vw 0;
}
@media (max-width: 767px) {
  .interview-wrap .efforts-message {
    margin: 30px 0;
  }
}
.interview-wrap p {
  font-size: 1.5373352855vw;
}
@media (max-width: 767px) {
  .interview-wrap p {
    font-size: 14px;
  }
}

.interview-movie,
.interview-img {
  margin: 5.1244509517vw auto 0.7320644217vw;
  width: 65.8857979502vw;
}
@media (max-width: 767px) {
  .interview-movie,
.interview-img {
    width: 100%;
    margin: 40px auto 10px;
  }
}

.interview-movie {
  position: relative;
  padding-top: 46.9%;
}
@media (max-width: 767px) {
  .interview-movie {
    padding-top: 56.4%;
  }
}
.interview-movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.manager-info {
  font-size: 2.0497803807vw;
  text-align: center;
  line-height: 1.46875;
  margin-bottom: 1.0980966325vw;
}
@media (max-width: 767px) {
  .manager-info {
    font-size: 18px;
    margin-bottom: 40px;
  }
}

.manager-txt {
  margin-top: 5.1244509517vw;
}
@media (max-width: 767px) {
  .manager-txt {
    margin-top: 40px;
  }
}
.manager-txt p {
  margin-top: 2.9282576867vw;
}
@media (max-width: 767px) {
  .manager-txt p {
    margin-top: 20px;
  }
}

.reform .fv {
  background: url(../img/efforts/fv-reform.png) no-repeat center center/cover;
}

.reform-heading {
  font-size: 2.0497803807vw;
}
@media (max-width: 767px) {
  .reform-heading {
    font-size: 14px;
  }
}

.reform-item {
  margin: 5.8565153734vw auto 0;
  width: 65.8857979502vw;
  display: flex;
  font-size: 2.0497803807vw;
}
@media (max-width: 767px) {
  .reform-item {
    margin: 40px auto 0;
    width: 100%;
    padding: 0 23px;
    font-size: 14px;
    display: block;
  }
}

.reform-left {
  width: 22.6939970717vw;
}
@media (max-width: 767px) {
  .reform-left {
    width: 100%;
  }
}

.reform-name {
  text-align: center;
}
@media (max-width: 767px) {
  .reform-name {
    font-size: 18px;
    margin-top: 10px;
  }
}

.reform-txt {
  width: calc(100% - 26.3543191801vw);
  margin-left: 3.6603221083vw;
}
@media (max-width: 767px) {
  .reform-txt {
    width: 100%;
    margin-left: 0;
    margin-top: 20px;
  }
}

/*==========================
お知らせ  newsList
===============================================================*/
#newsList .content-item {
  font-size: 1.5373352855vw;
  color: #000;
}
@media (max-width: 767px) {
  #newsList .content-item {
    font-size: 14px;
  }
}

/*==========================
お知らせ  個別ページ
===============================================================*/
.single-news-wrap {
  font-size: 2.3426061493vw;
  text-align: center;
  color: #3c8681;
}
@media (max-width: 767px) {
  .single-news-wrap {
    font-size: 18px;
  }
}
.single-news-wrap .info-published {
  font-weight: bold;
}
.single-news-wrap p {
  font-size: 1.756954612vw;
}
@media (max-width: 767px) {
  .single-news-wrap p {
    font-size: 14px;
  }
}
.single-news-wrap h1,
.single-news-wrap h2,
.single-news-wrap h3,
.single-news-wrap h4,
.single-news-wrap h5 {
  font-size: 1.756954612vw;
}
@media (max-width: 767px) {
  .single-news-wrap h1,
.single-news-wrap h2,
.single-news-wrap h3,
.single-news-wrap h4,
.single-news-wrap h5 {
    font-size: 16px;
  }
}
.single-news-wrap p {
  font-size: 1.4641288433vw;
}
@media (max-width: 767px) {
  .single-news-wrap p {
    font-size: 14px;
  }
}

.single-news-wrap .single-news-ttl {
  margin-bottom: 2.196193265vw;
  line-height: 1.4;
  font-size: 2.3426061493vw;
}
@media (max-width: 767px) {
  .single-news-wrap .single-news-ttl {
    margin-bottom: 10px;
    font-size: 18px;
  }
}

.single-news-img {
  width: 43.9238653001vw;
  margin: 0 auto;
}

.single-news-txt {
  width: 65.8857979502vw;
  margin: 3.6603221083vw auto;
  font-size: 1.756954612vw;
  text-align: left;
  color: #000;
}
@media (max-width: 767px) {
  .single-news-txt {
    width: 100%;
    margin: 30px auto;
    font-size: 14px;
  }
}

.single-news-imgList {
  display: flex;
}

.single-news-img-item {
  width: calc(33.3333% - 3.6603221083vw);
}
@media (max-width: 767px) {
  .single-news-img-item {
    width: calc(33.3333% - 13.3333333333px);
  }
}
.single-news-img-item:not(:first-child) {
  margin-left: 5.4904831625vw;
}
@media (max-width: 767px) {
  .single-news-img-item:not(:first-child) {
    margin-left: 20px;
  }
}

/*==========================
協力会社  collaborator
===============================================================*/
.collabo-img {
  width: 52.7086383602vw;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .collabo-img {
    width: 100%;
  }
}

.collabo-heading {
  margin-top: 4.39238653vw;
  text-align: center;
  font-size: 2.3426061493vw;
}
@media (max-width: 767px) {
  .collabo-heading {
    margin: 30px 0;
    font-size: 18px;
  }
}

.collabo-txt {
  font-size: 1.5373352855vw;
  margin-top: 2.9282576867vw;
}
@media (max-width: 767px) {
  .collabo-txt {
    font-size: 14px;
    margin-top: 30px;
  }
}

.document {
  margin-bottom: 5.8565153734vw;
}
@media (max-width: 767px) {
  .document {
    margin-bottom: 40px;
  }
}

.document-txt {
  font-size: 2.0497803807vw;
  text-align: center;
}
@media (max-width: 767px) {
  .document-txt {
    font-size: 14px;
    margin: 0;
    width: 100%;
  }
}

.document-list {
  margin: 5.1244509517vw auto 0;
  width: 65.8857979502vw;
  display: flex;
}
@media (max-width: 767px) {
  .document-list {
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 30px;
    width: 100%;
    padding: 0 23px;
  }
}

.document-item {
  background: rgba(60, 135, 130, 0.1);
  border: 0.1464128843vw solid #3c8681;
  border-radius: 50%;
  width: 13.8360175695vw;
  height: 13.8360175695vw;
  position: relative;
}
.document-item:not(:first-child) {
  margin-left: 3.513909224vw;
}
@media (max-width: 767px) {
  .document-item:not(:first-child) {
    margin-left: 0;
  }
}
@media (max-width: 767px) {
  .document-item {
    width: 33.6749633968vw;
    height: 33.6749633968vw;
  }
  .document-item:not(:nth-child(2n+1)) {
    margin-left: 30px;
  }
  .document-item:nth-child(n+3) {
    margin-top: 20px;
  }
}
.document-item .document-txt {
  font-size: 1.5373352855vw;
  position: absolute;
  text-align: center;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .document-item .document-txt {
    font-size: 12px;
  }
}
.document-item a {
  position: absolute;
  width: 100%;
  height: inherit;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.document-caution {
  margin-top: 5.1244509517vw;
}
@media (max-width: 767px) {
  .document-caution {
    margin-top: 40px;
  }
}
.document-caution .caution-heading {
  font-size: 2.0497803807vw;
  color: #e80732;
  text-align: center;
  font-weight: bold;
}
@media (max-width: 767px) {
  .document-caution .caution-heading {
    font-size: 18px;
  }
}
.document-caution .caution-wrap {
  margin: 1.8301610542vw auto 0;
  font-size: 1.5373352855vw;
  padding: 0 2.5622254758vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 767px) {
  .document-caution .caution-wrap {
    margin-top: 10px;
    font-size: 14px;
    padding: 0;
  }
}
.document-caution .caution-list li {
  list-style: disc;
  margin-left: 2.196193265vw;
}
@media (max-width: 767px) {
  .document-caution .caution-list li {
    margin-left: 17px;
  }
}
.document-caution .caution-cnt {
  margin-top: 3.6603221083vw;
}
@media (max-width: 767px) {
  .document-caution .caution-cnt {
    margin-top: 20px;
  }
}

/*==========================
お問い合わせフォーム
===============================================================*/
.cnt-tel {
  font-size: 2.3426061493vw;
  font-weight: bold;
  color: #000;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  display: block;
  line-height: 1.4;
  position: relative;
}
@media (max-width: 767px) {
  .cnt-tel {
    font-size: 21px;
    padding: 0 26px;
  }
}
.cnt-tel:hover {
  color: #000;
}
.cnt-tel::after {
  position: absolute;
  content: "";
  top: 50%;
  left: -2.9282576867vw;
  transform: translateY(-50%);
  width: 1.9765739385vw;
  height: 3.2942898975vw;
  background: url(../img/cnt_tel.png) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .cnt-tel::after {
    width: 20px;
    height: 33px;
    left: 0;
  }
}

.cnt-tel-small {
  font-size: 1.5373352855vw;
  font-weight: 400;
}
@media (max-width: 767px) {
  .cnt-tel-small {
    font-size: 12px;
  }
}

.cnt-wrap {
  margin: 0 auto;
  width: 65.8857979502vw;
}
@media (max-width: 767px) {
  .cnt-wrap {
    width: 100%;
    padding: 0 23px;
  }
}

.cnt-item {
  display: flex;
  margin-top: 2.7818448023vw;
}
@media (max-width: 767px) {
  .cnt-item {
    display: block;
    margin-top: 15px;
  }
}

.cnt-item-ttl {
  font-size: 1.756954612vw;
  width: 24.1581259151vw;
}
@media (max-width: 767px) {
  .cnt-item-ttl {
    font-size: 14px;
    width: 100%;
  }
}

.cnt-item-input {
  width: calc(100% - 24.1581259151vw);
  font-size: 1.5373352855vw;
}
@media (max-width: 767px) {
  .cnt-item-input {
    width: 100%;
    font-size: 14px;
  }
}
.cnt-item-input input[type=text],
.cnt-item-input input[type=email],
.cnt-item-input input[type=tel],
.cnt-item-input textarea,
.cnt-item-input select {
  width: 100%;
  background: #fff;
  border-radius: 0;
  outline: none;
  border: 1px solid #000;
  font-size: 1.5373352855vw;
  padding: 0.3660322108vw 1.1713030747vw;
  height: 3.2942898975vw;
}
@media (max-width: 767px) {
  .cnt-item-input input[type=text],
.cnt-item-input input[type=email],
.cnt-item-input input[type=tel],
.cnt-item-input textarea,
.cnt-item-input select {
    font-size: 14px;
    padding: 5px;
    height: 28px;
  }
}
.cnt-item-input textarea {
  min-height: 150px;
}
.cnt-item-input select {
  width: 23.4260614934vw;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: url(../img/dropdown.png) no-repeat right 0.7320644217vw center/1.4641288433vw auto;
}
@media (max-width: 767px) {
  .cnt-item-input select {
    width: 211px;
  }
}

.cnt-item-select {
  width: 23.4260614934vw;
}

.radio-content {
  display: flex;
  align-items: center;
}

.mwform-radio-field {
  margin-right: 2.196193265vw;
}
@media (max-width: 767px) {
  .mwform-radio-field {
    margin-right: 10px;
  }
}
.mwform-radio-field input[type=radio] {
  display: none;
}
.mwform-radio-field span {
  font-size: 1.756954612vw;
  padding-left: 2.5622254758vw;
  position: relative;
}
@media (max-width: 767px) {
  .mwform-radio-field span {
    font-size: 14px;
    padding-left: 20px;
  }
}
.mwform-radio-field span::before {
  position: absolute;
  content: "";
  width: 1.8301610542vw;
  height: 1.8301610542vw;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  border-radius: 50%;
  border: 1px solid #000;
  background: #fff;
}
@media (max-width: 767px) {
  .mwform-radio-field span::before {
    width: 15px;
    height: 15px;
  }
}
.mwform-radio-field span::after {
  position: absolute;
  content: "";
  width: 0.9150805271vw;
  height: 0.9150805271vw;
  top: 50%;
  transform: translateY(-50%);
  left: 0.439238653vw;
  background: #000;
  border-radius: 50%;
  display: none;
}
@media (max-width: 767px) {
  .mwform-radio-field span::after {
    width: 7px;
    height: 7px;
    left: 4px;
  }
}
.mwform-radio-field input[type=radio]:checked + span::after {
  display: block;
}

.cnt-footer {
  margin-bottom: 5.8565153734vw;
}
@media (max-width: 767px) {
  .cnt-footer {
    margin-bottom: 40px;
  }
}

.policy-agree {
  margin: 5.1244509517vw auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
@media (max-width: 767px) {
  .policy-agree {
    margin: 30px auto;
  }
}
.policy-agree input[type=checkbox] {
  width: 1.8301610542vw;
  height: 1.8301610542vw;
  background: #fff;
  border-radius: 0;
  border: 1px solid #000;
  position: absolute;
  top: 0.6588579795vw;
  left: 0;
}
@media (max-width: 767px) {
  .policy-agree input[type=checkbox] {
    top: 5px;
    width: 15px;
    height: 15px;
  }
}

.mwform-checkbox-field-text {
  font-size: 1.756954612vw;
  padding-left: 2.5622254758vw;
}
@media (max-width: 767px) {
  .mwform-checkbox-field-text {
    font-size: 14px;
    padding-left: 20px;
  }
}

.cnt-form-submit {
  text-align: center;
}
.cnt-form-submit .btn-submit {
  font-size: 1.9033674963vw;
  background: #fff;
  border-radius: 2.5622254758vw;
  border: 0.1464128843vw solid #3c8681;
  color: #3c8681;
  width: 26.3543191801vw;
  padding: 0.6588579795vw 0;
  font-weight: bold;
  transition: all 0.3s ease 0s;
}
.cnt-form-submit .btn-submit:hover {
  background: #3c8681;
  color: #fff;
}
@media (max-width: 767px) {
  .cnt-form-submit .btn-submit {
    font-size: 14px;
    border-radius: 17px;
    width: 180px;
    border: 1px solid #3c8681;
    padding: 5px 0;
  }
}

#autozip {
  display: none !important;
}

/*==========================
ポリシー
===============================================================*/
.policy .inner {
  position: relative;
}

.declare {
  position: absolute;
  right: 10.4685212299vw;
  top: -2.5622254758vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.317715959vw;
  font-weight: bold;
}
@media (max-width: 767px) {
  .declare {
    top: -20px;
    right: 20px;
  }
}

@media (max-width: 767px) {
  .policy-ttl {
    padding-top: 40px;
  }
}

.policy-wrap {
  font-size: 1.5373352855vw;
}
@media (max-width: 767px) {
  .policy-wrap {
    font-size: 13px;
  }
}

.policy-item {
  margin-bottom: 2.9282576867vw;
}
@media (max-width: 767px) {
  .policy-item {
    margin-bottom: 30px;
  }
}

.policy-heading {
  font-weight: bold;
}

.policy-para {
  margin-bottom: 2.196193265vw;
}
@media (max-width: 767px) {
  .policy-para {
    margin-bottom: 20px;
  }
}

.environment {
  margin-top: 2.196193265vw;
}
@media (max-width: 767px) {
  .environment {
    margin-top: 20px;
  }
}

/*==========================
thanks-txt
===============================================================*/
.thanks-txt {
  text-align: center;
}