/*
Theme Name: 株式会社プラス
*/

*{
  font-family: "Montserrat", sans-serif;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  margin: 0;
  padding: 0;
}

body{
  background-color: #F8F8F8;
}

main.top-page {
  position: relative;      /* 擬似要素の背面化を安定させる */
  background: transparent; /* 元の背景は消す（重複防止） */
  min-height: 100vh;       /* 念のため高さを確保 */
  z-index: 0;
}

main.top-page::before {
  content: "";
  position: fixed;
  inset: 0; /* top/right/bottom/left:0 */
  z-index: -1; /* 背面に固定 */
  pointer-events: none;
  background: url("/wp-content/themes/株式会社プラス/img/back.png") center / cover no-repeat;

  /* 描画安定化 */
  transform: translateZ(0);
  will-change: transform;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
  main.top-page::before {
    background: url("/wp-content/themes/株式会社プラス/img/back-sp.png") center / cover no-repeat;
  }
}



p{
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8em;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
}

.en{
  line-height: 1.7em;
  font-size: 12px;
  font-family: "Montserrat", sans-serif;
  color: #00000038;
  margin-top: 16px;
  font-weight: 400;
}

h2{
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
}

h3{
  font-size: 60px;
  font-weight: 700;
  letter-spacing: 1px;
  font-family: "Montserrat", sans-serif;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
h2{
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
}

h3{
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 1px;
  font-family: "Montserrat", sans-serif;
}
}

.hamburger{
  display: none;
}

.nav{
    display: block;
  }

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
  .hamburger{
    display: block;
  }

  .nav{
    display: none;
  }
}

header{
  margin: 40px 6%;
  position: fixed;
  z-index: 100;
  width: 88%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
header{
  margin: 24px 6%;
  position: fixed;
  z-index: 100;
  width: 88%;
}
}


.header-inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo-container img{
  width: 200px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.logo-container img{
  width: 150px;
}
}

.nav-list{
  display: flex;
  align-items: center;
}

.nav-list li{
  list-style: none;
  margin-left: 24px;
}

.nav-list .headermenulist a{
  font-size: 14px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  text-decoration: none;
  color: #000000;
  letter-spacing: 1px;
  padding-bottom: 4px;
  transition: .5s;
}

.nav-list .headermenulist a:hover{
  opacity: .5;
  transition: .5s;
  border-bottom: solid 1px #000000;
}

.nav-list  .headercontact a{
  font-size: 14px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  letter-spacing: 1px;
  text-decoration: none;
  display: inline-block;
  padding: 16px 32px;
  color: #fff;
  text-decoration: none;
  border-radius: 3px;
  background: linear-gradient(
    to right,
    #1B6025 0%,
    rgba(27, 96, 37, 0.5) 100%);
}

.nav-list  .headercontact a:hover{
  background-color: #1B6025;
  opacity: 1;
  transition: .5s;
}

.hamburger-overlay span {
  background: rgb(0, 0, 0);
  transition: background 0.3s ease;
}


.hamburger-overlay {
  z-index: 1000;
  width: 40px;
  height: 50px;
  border: none;
  background: transparent;
  cursor: pointer;
  position: relative;
  margin-right: 8%;
}

.hamburger-overlay__line {
  position: absolute;
  width: 40px;
  height: 1px;
  background-color: #333;
  transition: all .6s;
}


.hamburger-overlay__line:nth-of-type(1) {
   top: 14px; 
   right: 6%;
  }
.hamburger-overlay__line:nth-of-type(2) { display: none; }
.hamburger-overlay__line:nth-of-type(3) { 
  top: 20px;
  right: 6%; 
}

.hamburger-overlay.active .hamburger-overlay__line {
  background-color: #333333;
}

.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(1) {
    transform: translateY(4px) rotate(-8deg);
    background-color: #333333;
  }
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(3) {
    transform: translateY(-2px) rotate(8deg);
    background-color: #333333#333333;
  }


  .nav-overlay {
    position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;

  /* 左30%を半透明の黒、右70%を白にする */
  background: linear-gradient(
    to right,
    rgba(0,0,0,0.5) 0%,      /* 左端 */
    rgba(0,0,0,0.5) 20%,     /* 左30%まで */
    #ffffff 20%,             /* 30%から白 */
    #ffffff 100%             /* 右端まで白 */
  );

  visibility: hidden;
  opacity: 0;
  transition: all .6s;
  z-index: 900;
  overflow: hidden;
  }

.nav-overlay.active {
  visibility: visible;
  opacity: 1;
}

.nav-overlay__content {
  margin-top: 144px;
  margin-left: 30%;
  margin-right: 10%;
}

.nav-overlay__manu_list li{
  list-style: none;
  margin-top: 16px;
  line-height: 1em;
}

.nav-overlay__manu_list .headermenulist a{
  font-size: 14px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  text-decoration: none;
  color: #000000;
  letter-spacing: 1px;
  transition: .5s;
}


.nav-overlay__manu_list .headercontact a{
  font-size: 14px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  letter-spacing: 1px;
  text-decoration: none;
  display: inline-block;
  padding: 16px 40px;
  color: #fff;
  text-decoration: none;
  border-radius: 3px;
  background: linear-gradient(
    to right,
    #1B6025 0%,
    rgba(27, 96, 37, 0.5) 100%);
}

.nav-overlay__list_contact{
  margin-top: 40px;
}

.nav-overlay__list_contact li{
  list-style: none;
}

.nav-overlay__list_contact h2{
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 16px;
}

.nav-overlay__list_contact p{
  font-size: 12px;
  line-height: 1.5em;
}

.nav-overlay__list_contact a{
  font-size: 12px;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #000000;
}



.nav-overlay.active .nav-overlay__item {
  opacity: 1;
}

.nav-overlay__manu_list li {
  opacity: 0;
  transition: opacity 0.5s ease, transform 0.5s ease;
}

/* activeになったら表示される */
.nav-overlay.active .nav-overlay__manu_list li {
  opacity: 1;
}


.nav-overlay.active .nav-overlay__manu_list li:nth-child(1) { transition-delay: 0.1s; }
.nav-overlay.active .nav-overlay__manu_list li:nth-child(2) { transition-delay: 0.2s; }
.nav-overlay.active .nav-overlay__manu_list li:nth-child(3) { transition-delay: 0.3s; }
.nav-overlay.active .nav-overlay__manu_list li:nth-child(4) { transition-delay: 0.4s; }
.nav-overlay.active .nav-overlay__manu_list li:nth-child(5) { transition-delay: 0.5s; }
.nav-overlay.active .nav-overlay__manu_list li:nth-child(6) { transition-delay: 0.6s; }
.nav-overlay.active .nav-overlay__manu_list li:nth-child(7) { transition-delay: 0.7s; }


.nav-overlay__list_contact{
  opacity: 0;
  transition: opacity 0.5s ease, transform 0.5s ease;
}

/* activeになったら表示される */
.nav-overlay.active .nav-overlay__list_contact {
  opacity: 1;
}


.nav-overlay.active .nav-overlay__list_contact{ transition-delay: 0.6s; }




.top-fv{
  position: relative;
  padding-bottom: 150px;
  max-width: 1600px;
  margin: auto;
}

/* タブレット*/
@media (min-width: 481px) and (max-width: 1024px) {
.top-fv {
    position: relative;
    padding-bottom: 80px;
}
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-fv{
  position: relative;
  padding-bottom: 60px;
}
}

.scrolldown {
  position: absolute;
  writing-mode: vertical-rl; 
  font-size: 10px;
  font-weight: 300;
  color: #1b6025a3;
  display: inline-flex;
  align-items: center;
  font-family: "Montserrat", sans-serif;
  bottom: 0;
  right: 10%;
  letter-spacing: 1px;
}

/* span部分の縦ライン */
.scrolldown span {
  display: inline-block;
  width: 1px;  
  height: 70px;     
  background-color: #1b602549;
  margin-top: 10px;
}

.top-fv img{
  width: 55%;
  margin-left: 45%;
  margin-top: 220px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
  .top-fv img{
  width: 80%;
  margin-left: 20%;
  margin-top: 200px;
}
}

.top-fv-text{
  margin-top: 64px;
  margin-left: 10%;
  margin-right: 10%;
}

.top-fv-text h6{
  font-size: 60px;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
  .top-fv-text{
  margin-top: 40px;
  margin-left: 8%;
  margin-right: 0;
}
  
  .top-fv-text h6{
  font-size: 70px;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  line-height: 1em;
}
}

.top-fv-text h6 span{
  color: #1B6025;
}

.top-fv-text p{
  margin-top: 16px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-fv-text p{
  margin-top: 16px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
}
}

.top-fv-text p span{
  color: #1B6025;
}

.top-section2{
  margin: 150px auto 160px;
  max-width: 1600px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-section2{
  margin: 80px 0 80px;
}
}

.top-section2 h3{
  margin-left: 52%;
}

.top-section2 .h2{
  margin-left: 52%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-section2 h3{
  margin-left: 8%;
}

.top-section2 .h2{
  margin-left: 8%;
}
}

.top-section2 .h2 h1{
  font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    font-family: "Noto Sans JP", sans-serif;
}

@media (min-width: 0px) and (max-width: 480px) {
.top-section2 .h2 h1{
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
}
}

.h2{
  display: flex;
  align-items: center;
}

.h2 img{
  width: 40px;
  margin-right: 8px;
}

.top-section2-info{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.top-section2-info li{
  width: 48%;
  list-style: none;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-section2-info{
  display: block;
  justify-content: space-between;
  align-items: flex-end;
}

.top-section2-info li{
  width: 100%;
  list-style: none;
}

.top-section2-info li:nth-child(1){
  margin-top: 24px;
}
}

.top-section2-info li img{
  width: 100%;
}

.top-section2-info li:nth-child(1) img{
  margin-bottom: 40px;
}

.top-section2-info li p{
  margin-left: 24%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-section2-info li:nth-child(1) img{
  margin-bottom: 24px;
}

.top-section2-info li p{
  margin-left: 8%;
  margin-right: 8%;
}
}

.top-section2-info li .en{
  margin-left: 24%;
}

.top-section2-info li:nth-child(2){
  margin-bottom: 32px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-section2-info li .en{
  margin-left: 8%;
  margin-right: 8%;
  margin-bottom: 24px;
}

.top-section2-info li:nth-child(2){
  margin-bottom: 0;
  text-align: right;
}

.top-section2-info li:nth-child(2) img{
  width: 84%;
}
}

.top-section3{
  margin: 0 8% 160px;
  background-color: #242623;
  padding: 8%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-section3{
  margin: 0 8% 80px;
  background-color: #242623;
  padding: 8%;
  display: block;
  justify-content: space-between;
  align-items: flex-start;
}
}

.top-section3 li{
  color: #fff;
  list-style: none;
}

.top-section3 li:nth-child(2){
  width: 50%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-section3 li:nth-child(2){
  width: 100%;
  margin-top: 24px;
  margin-bottom: 24px;
}
}

.top-section3 li .en{
  color: #ffffff52;
  margin-bottom: 24px;
}

.top-section3 li a{
  color: #fff;
  font-size: 14px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 0 8px 10px;
  text-decoration: none;
  border-bottom: solid 1px #ffffff43;
}

.top-section3 li a:hover{
  color: #ffffff7a;
  transition: .5s;
}


.top-section4{
  margin: 0 auto 160px;
    text-align: center;
    max-width: 1600px;
    padding: 0 14%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-section4{
  margin: 0 auto 80px;
  text-align: center;
  padding: 0 8%;
}
}

.top-section4 .h2{
  justify-content: center;
}

.top-section4-info{
  margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-section4-info{
  margin-top: 40px;
  display: block;
  align-items: center;
  justify-content: space-between;
}
}

.top-section4-info li{
  list-style: none;
}

.top-section4-info li:nth-child(1){
  width: 46%;
}

.top-section4-info li:nth-child(2){
  width: 50%;
  text-align: left;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-section4-info li:nth-child(1){
  width: 80%;
  margin: 0 10%;
  margin-bottom: 24px;
}

.top-section4-info li:nth-child(2){
  width: 100%;
  text-align: left;
}
}

.top-section4-info li img{
  width: 100%;
}

.top-section4-info .en{
  margin-bottom: 24px;
}

.top-section4 li a{
  color: #000000;
  font-size: 14px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 0 8px 10px;
  text-decoration: none;
  border-bottom: solid 1px #00000043;
}

.top-section4 li a:hover{
  color: #0000007a;
  transition: .5s;
}

.top-section5{
  margin: 0 auto 160px;
    padding: 8% 10%;
    background-color: #F2F2F2;
    text-align: right;
    max-width: 1600px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-section5{
  margin: 0 0 80px;
  padding: 80px 8%;
  background-color: #F2F2F2;
  text-align: right;
}
}

.top-section5 h3{
  text-align: left;
}

.newslist{
  margin: 40px 0 24px;
  background-color: #ffffff;
  padding: 6% 8% 4%;
}

.newslist li {
  list-style: none;
  padding-bottom: 24px;
  margin-bottom: 24px;
  border-bottom: solid 1px #0000004b;
}

.newslist li a{
  display: flex;
  align-items: flex-start;
  text-decoration: none;
  color: #000000;
  text-align: left;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.newslist li a{
  display: block;
  align-items: flex-start;
  text-decoration: none;
  color: #000000;
}

}

.newslist li a:hover{
  opacity: .5;
  transition: .5s;
}

.newslist .day{
  margin-right: 40px;
}

.top-section5-link{
  
  color: #000000;
  font-size: 14px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 0 8px 10px;
  text-decoration: none;
  border-bottom: solid 1px #00000043;
}

.top-section5-link:hover{
  color: #0000007a;
  transition: .5s;
}

.top-section6{
  margin: 0 auto 160px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1600px;
    padding: 0 10%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-section6{
  margin: 0 auto 80px;
  display: block;
  justify-content: space-between;
  align-items: center;
  padding: 0 8%;
}
}

.top-section6 li{
  list-style: none;
}

.top-section6 li:nth-child(1){
  width: 60%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-section6 li:nth-child(1){
  width: 100%;
  margin-bottom: 24px;
}
}

.top-section6 li:nth-child(1) img{
  width: 100%;
}

.top-section6 li:nth-child(2){
  width: 32%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-section6 li:nth-child(2){
  width: 100%;
}
}

.top-section6 .h2{
  margin-bottom: 24px; 
} 

.top-section6 li .en{
  margin-bottom: 24px;
}

.top-section6 li a{
  color: #000000;
  font-size: 14px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 0 8px 10px;
  text-decoration: none;
  border-bottom: solid 1px #00000043;
}

.top-section6 li a:hover{
  color: #0000007a;
  transition: .5s;
}

.top-section7{
  margin: 0 12% 160px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #ffffff;
  padding: 6% 8%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-section7{
  margin: 0 8% 80px;
  display: block;
  justify-content: space-between;
  align-items: center;
  background-color: #ffffff;
  padding: 8% 8% 10%;
}

.top-section7 .h2{
  justify-content: center;
  margin-bottom: 24px;
}
}

.top-section7 li{
  list-style: none;
  text-align: center;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
  .top-section7 li:nth-child(2){
  list-style: none;
  text-align: left;
}
}

.top-section7 li .en{
  margin-bottom: 24px;
}

.top-section7 li a{
  color: #000000;
  font-size: 14px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 0 8px 10px;
  text-decoration: none;
  border-bottom: solid 1px #00000043;
}

.top-section7 li a:hover{
  color: #0000007a;
  transition: .5s;
}

footer{
  background-color: #242623;
  padding: 8% 10%;
}

.footer-top{
  display: flex;
  justify-content: space-between;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.footer-top{
  display: block;
  justify-content: space-between;
}
}

.footer-top li{
  list-style: none;
}

.footer-top li img{
  width: 200px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.footer-top li img{
  width: 150px;
}
}

.footer-top li h2{
  margin: 16px 0 8px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8em;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
}

.footer-top li p{
  color: #ffffff;
  font-weight: 300;
  line-height: 1.5em;
}

.footer-top li a{
  color: #ffffff;
  font-weight: 300;
  font-size: 13px;
  font-family: "Noto Sans JP", sans-serif;
}

.footer-top li a:hover{
  opacity: .5;
  transition: .5s;
}

.footer-top li:nth-child(2){
  margin-top: 24px;
}

.footer-top li:nth-child(2) a{
  text-decoration: none;
  font-size: 14px;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  letter-spacing: 1px;
  color: #ffffffc6;
  margin-left: 24px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.footer-top li:nth-child(2) a{
  text-decoration: none;
  font-size: 14px;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  letter-spacing: 1px;
  color: #ffffffc6;
  margin-left: 0;
  display: block;
  margin-bottom: 8px;
}
}

/*251008追記ここから*/
.footer-middle {
  display: flex;
  justify-content: flex-end;
}
.footer-middle a:hover{
  opacity: .5;
  transition: .5s;
}
@media (min-width: 0px) and (max-width: 480px) {
   .footer-middle {
    display: flex;
    justify-content: flex-start;
  } 
}
.footer-middle p a {
  color: #ffffffc6;
  text-decoration: none;
  font-size: 14px;
}
/*251008追記ここまで*/

.footer-bottom{
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}

.footer-bottom p{
  color: #ffffff;
  letter-spacing: 1px;
  font-size: 10px;
  font-weight: 300;
}

.footer-bottom a{
  font-size: 9px;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  color: #ffffff;
  letter-spacing: 1px;
  text-decoration: none;
  padding-bottom: 1px;
  border-bottom: solid 1px #ffffff;
}

.footer-bottom a:hover{
opacity: .5;
  transition: .5s;
}

.company-section1{
  position: fixed;
  z-index: -1;
}

.company-section1 img{
  width: 100%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.company-section1 img{
  width: 100%;
  aspect-ratio: 5 / 3;
    object-fit: cover;
}
}

.company-section1 .companytitle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); 
  text-align: center;            
  color: #000000;                  
}

/* タブレット*/
@media (min-width: 481px) and (max-width: 1024px) {
.company-section1 .companytitle {
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%); 
  text-align: center;            
  color: #000000;                  
}
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
  .company-section1 .companytitle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); 
  text-align: center;            
  color: #000000;                  
}
}

.companytitle .h2 {
  display: flex;
  justify-content: center;
  align-items: center;
}

.companytitle .h2 img{
  width: 40px;
    margin-right: 8px;
}

.companytitle .h2 h1 {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    font-family: "Noto Sans JP", sans-serif;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.companytitle .h2 img{
  width: 15px;
    margin-right: 8px;
}

.companytitle .h2 h1 {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 1px;
    font-family: "Noto Sans JP", sans-serif;
}
}

.companytitle h3 {
    font-size: 60px;
    font-weight: 700;
    letter-spacing: 1px;
    font-family: "Montserrat", sans-serif;
}
/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.companytitle h3 {
    font-size: 35px;
    font-weight: 700;
    letter-spacing: 1px;
    font-family: "Montserrat", sans-serif;
}
}


.company-section2{
  padding-top: 25%;

}

/* タブレット*/
@media (min-width: 481px) and (max-width: 1024px) {
.company-section2{
  padding-top: 29%;

}
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
  .company-section2{
  padding-top: 45%;

}

}


.company-section2-back{
  background-color: #F8F8F8;
  border-radius: 50px 50px 0 0;
  padding: 8% 10%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.company-section2-back{
  background-color: #F8F8F8;
  border-radius: 30px 30px 0 0;
  padding: 8% 8% 80px;
}
}

.pan{
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.pan li{
  list-style: none;
  margin-left: 8px;
  font-size: 12px;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
}

.pan li a{
  text-decoration: none;
  font-size: 12px;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  color: #000000;
}

.pan li a:hover{
  opacity: .5;
  transition: .5s;
  text-decoration:underline;
}

.company-section2-info{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
  max-width: 1600px;
  margin: 24px auto 0;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.company-section2-info{
  display:block;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
  max-width: 1600px;
  margin: 24px auto 0;
}
}

.company-section2-info li{
  list-style: none;
  width: 46%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.company-section2-info li{
  list-style: none;
  width: 100%;
  margin-bottom: 24px;
}
}

.company-section2-info li img{
  width: 100%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.company-section2-info li img{
  width: 80%;
  margin: 0 10%;
}
}

.pagesubtitle .h3{
  display: flex;
  align-items: center;
}

.pagesubtitle .h3 img{
  width: 15px;
  margin-right: 4px;
  margin-left: 0;
}
/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.pagesubtitle .h3 img{
  width: 12px;
  margin-right: 4px;
  margin-left: 0;
}
}

.pagesubtitle .h3 h3{
  font-size: 14px;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
}

.pagesubtitle h2{
  margin-bottom: 24px;
  margin-top: 8px;
  font-size: 25px;
  font-weight: 700;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.pagesubtitle .h3 h3{
  font-size: 12px;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
}

.pagesubtitle h2{
  margin-bottom: 24px;
  margin-top: 8px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
}
}

.company-section3{
  background-color: #ffffff;
  padding: 8% 20%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.company-section3 {
    background-color: #ffffff;
    padding: 80px 8%;
}
}

.company-section3 .pagesubtitle{
  text-align: center;
}

.company-section3 .pagesubtitle .h3{
  justify-content: center;
}

.company-section3-info{
  margin-top: 64px;
  border-top: solid 1px #00000045;
}

.company-section3-info li{
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
  display: flex;
  list-style: none;
  padding: 4% 0;
  border-bottom: solid 1px #00000045;
  line-height: 1.8em;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.company-section3-info li{
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
  display: flex;
  list-style: none;
  padding: 4% 0;
  border-bottom: solid 1px #00000045;
  line-height: 1.8em;
  justify-content: space-between;
}
}

.company-section3-info li .left{
  width: 30%;
}


/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.company-section3-info li .right{
  width: 68%;
}
}

.company-section4{
  background-color: #F8F8F8;
  padding: 8% 12%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.company-section4{
  background-color: #F8F8F8;
  padding: 12% 8%;
}
}

.company-section4 .top-section7{
  margin: 0;
}

.service-section2-info {
  max-width: 1600px;
  margin: 24px auto 0;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.service-section2-info {
  max-width: 1600px;
  margin: 24px auto 0;
}
}

.service-section2-info .pagesubtitle{
  text-align: left;
}

.service-section2-info-com{
  margin-top: 40px;
}

.service-section2-info-com li{
  list-style: none;
  background-color: #ffffff;
  padding: 4% 6%;
  margin-top: 24px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.service-section2-info-com li{
  list-style: none;
  background-color: #ffffff;
  padding: 8% 6%;
  margin-top: 24px;
}
}

.service-section2-info-com li h6{
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  color: #1B6025;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.service-section2-info-com li h6{
  margin-bottom: 8px;
  display: flex;
  align-items: flex-start;
  color: #1B6025;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8em;
}
}

.service-section2-info-com li h6 span{
  font-size: 30px;
  font-weight: 700;
  opacity: .5;
  font-family: "Montserrat", sans-serif;
}

.service-section2-info-com li h6 b{
  opacity: .5;
  margin: 0 8px;
}

.service-section3{
	background: url("/wp-content/themes/株式会社プラス/img/service2.jpg") center / cover no-repeat;
  padding: 8% 12%;
  text-align: center;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.service-section3 {
    background-attachment: scroll; 
    padding: 80px 8%;
  }
}

.service-section3 .pagesubtitle .h3{
  justify-content: center;
}

.service-section3-info{
  display: flex;
  flex-wrap: nowrap;         
  align-items: stretch;      
  gap: 20px;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 1600px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.service-section3-info{
  display: block;
  flex-wrap: nowrap;         
  align-items: stretch;      
  gap: 20px;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 1600px;
}
}

.service-section3-info li{
  list-style: none;
  width: 48%;
  background-color: #ffffff;
  padding: 4% 6%;
  box-sizing: border-box;
  display: flex;             
  flex-direction: column;  
  flex: 1 1 0;
  text-align: center;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.service-section3-info li{
  list-style: none;
  width: 100%;
  background-color: #ffffff;
  padding: 4% 8%;
  box-sizing: border-box;
  display: flex;             
  flex-direction: column;  
  flex: 1 1 0;
  text-align: center;
}
}

.service-section3-info li img{
  width: 200px;
  display: block;  
  margin: 0 auto;   
}

.service-section3-info li:nth-child(1){
  text-align: left;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.service-section3-info li:nth-child(1){
  text-align: left;
  margin-bottom: 24px;
}

}

.service-section3-info li:nth-child(2){
  display: flex;
  align-items: center;     
  justify-content: center; 
  text-align: center;      
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.service-section3-info li:nth-child(2){
  display: flex;
  align-items: center;     
  justify-content: center; 
  text-align: center;    
  padding: 80px 0;
}
}

.service-section3-info li:nth-child(2) p{
  font-size: 20px;
  font-weight: 600;
  opacity: .2;
  letter-spacing: 0;
  font-family: "Montserrat", sans-serif;
}

.page-section1{
  padding: 200px 10% 24px;
    max-width: 1600px;
    margin: 0 auto;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.page-section1{
  padding: 160px 8% 24px;
  max-width: 1600px;
  margin: 0 auto;
}
}

.page-section1 .companytitle{
  margin-top: 24px;
}

.page-section1 .companytitle .h2{
  justify-content: flex-start;
}

.newslist-section1{
  margin: 0 10% 10%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.newslist-section1{
  margin: 0 8% 10%;
}
}

.news-section1{
  margin: 24px 10% 10%;
  padding: 6% 8%;
  background-color: #ffffff;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.news-section1{
  margin: 24px 8%  104px;
  padding: 10% 6%;
  background-color: #ffffff;
}

.newslist-section1 .newslist{
  margin: 0 0 40px;
}

}


.pagination{
	text-align:center;
	margin-bottom: 80px;
}

.pagination a{
	color:#000000;
	font-size: 14px;
    font-weight: 400;
    line-height: 1.8em;
    letter-spacing: 1px;
    font-family: "Noto Sans JP", sans-serif;
	margin:0 4px;
}

.newsday{
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.newsday img{
  width: 30px;
  margin-right: 8px;
}

.newsday p{
  font-size: 12px;
  opacity: .5;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
}

.newstitle{
  margin: 24px 0;
  font-size: 14px;
  line-height: 1.8em;
  font-weight: 500;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
}

.newscontents img{
  width: 100%;
}

.newscontents p{
  font-size: 14px;
}

.newscontents h1{
  font-size: 25px;
  font-weight: 700;
}

.newscontents h2{
  font-size: 23px;
  font-weight: 700;
}

.newscontents h3{
  font-size: 21px;
  font-weight: 700;
}

.newscontents h4{
  font-size: 19px;
  font-weight: 600;
}

.newscontents h5{
  font-size: 17px;
  font-weight: 600;
}

.newscontents h6{
  font-size: 15px;
  font-weight: 600;
}

.newscontents hb{
  font-weight: 700;
}

.newscontents a{
  font-size: 14px;
  font-weight: 400;
  color: #000000;
}

.recruit-section1{
  margin: 0 10% 24px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.recruit-section1{
  margin: 0 8% 104px;
}
}

.recruit-section1-info{
  margin: 24px 0 10%;
  background-color: #ffffff;
  padding: 6%;
}

.contact-section1 {
    padding: 200px 10% 24px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.contact-section1 {
    padding: 160px 8% 24px;
}
}

.contact-section1 .companytitle {
  margin-top: 40px;
}

.contact-section1 .companytitle h3{
  text-align: center;
}

.contactpage-section1{
  text-align: center;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.contactpage-section1{
  text-align: left;
  margin: 0 8%;
}
}

.contactpage-section1-info{
  margin: 24px 25%;
  background-color: #ffffff;
  padding: 4%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* タブレット*/
@media (min-width: 481px) and (max-width: 1024px) {
.contactpage-section1-info{
  margin: 24px 16%;
  background-color: #ffffff;
  padding: 4%;
  display: flex;
  align-items: center;
  justify-content: center;
}
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.contactpage-section1-info{
  margin: 24px 0;
  background-color: #ffffff;
  padding: 8% 1%;
  display: flex;
  align-items: center;
  justify-content: center;
}
}

.contactpage-section1-info li{
  margin: 0 16px;
  list-style: none;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
  padding: 0 4px;
  padding-bottom: 8px;
  color: #0000006e;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.contactpage-section1-info li{
  margin: 0 4px;
  list-style: none;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
  padding: 0;
  padding-bottom: 8px;
  color: #0000006e;
}
}

.contactpage-section1-info .activepage{
  border-bottom: solid 1px #000000;
  color: #000000;
}

.contactpage-section2{
  padding: 40px 24% 10%;
    max-width: 1600px;
    margin: 0 auto;
}

/* タブレット*/
@media (min-width: 481px) and (max-width: 1024px) {
 .contactpage-section2{
  padding: 40px 20% 10%;
    max-width: 1600px;
    margin: 0 auto;
}

}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.contactpage-section2{
  padding: 32px 8% 80px;
    max-width: 1600px;
    margin: 0 auto;
}
}

.contact-section1 .privacy-title {
  margin-top: 40px;
  text-align: center;
}

.contact-section1 .privacy-title h1{
  font-size: 12px;
}

.contact-section1 .privacy-title h3{
  font-size: 30px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.contact-section1 .privacy-title h2{
  font-size: 10px;
}

.contact-section1 .privacy-title h3{
  font-size: 25px;
}
}

.privacy-section1{
  margin: 40px auto 10%;
    padding: 0 20%;
    max-width: 1600px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.privacy-section1{
  margin: 40px auto 104px;
    padding: 0 8%;
    max-width: 1600px;
}
}

.privacy-section1 h6{
  padding-top: 32px;
  border-top: solid 1px #0000001b;
  margin-top: 32px;
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
  font-family: "Noto Sans JP", sans-serif;
}

.privacy-section1 a{
  font-size: 13px;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  letter-spacing: 0;
}


.wpcf7-previous {
   width:100%;
  display:block;
  border:none;
  border-radius:0;
  background:#F8F8F8;
  color:#333;
	letter-spacing:2px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.05em;
  padding:12px 16px;
  cursor:pointer;
  transition:opacity .2s;
	border:solid 1px #333;
}

.wpcf7-previous:hover{
	transition:.5s; 
	background:#3333332b;
}


/*アニメーション*/
/* 文字アニメーション用 */
.top-fv .top-fv-text .char {
  opacity: 0;
  transition: opacity .45s ease;
  color: inherit;        
}
.top-fv .top-fv-text .char.is-shown {
  opacity: 1;
}


.top-fv .top-fv-text .char {
  color: inherit;
  font-weight: inherit; 
  font-family: "Montserrat", sans-serif;
}

/* 画像 & スクロールダウンのフェード用 */
.top-fv img,
.top-fv .scrolldown {
  opacity: 0;
  transition: opacity .5s ease;
}
.top-fv img.is-visible,
.top-fv .scrolldown.is-visible {
  opacity: 1;
}

.header {
  opacity: 0;
  transition: opacity 2s ease;
}
.header.visible {
  opacity: 1;
}


.fade-in-block {
  opacity: 0;
  transform: translateY(60px);
  transition: opacity 1s ease, transform 1s ease;
  will-change: transform, opacity;
}

.fade-in-block.visible {
  opacity: 1;
  transform: translateY(0);
}


/*フェードイン*/
.fade-in {
  opacity: 0; /* 初期状態では透明 */
  transform: translateY(10px); /* 少し下から出てくるように設定 */
  transition: opacity 0.5s ease, transform 0.5s ease; /* フェードインとスライドのトランジション */
}

/* 画面に入ったら透明度が1になり、位置が元に戻る */
.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

.fade-in2 {
  opacity: 0; /* 初期状態では透明 */
  transform: translateY(50px); /* 少し下から出てくるように設定 */
  transition: opacity 0.7s ease, transform 0.7s ease; /* フェードインとスライドのトランジション */
}

/* 画面に入ったら透明度が1になり、位置が元に戻る */
.fade-in2.visible {
  opacity: 1;
  transform: translateY(0);
}