@charset "utf-8";

/* 
=================================================================================

▼▼▼　テンプレJS用のCSS。不要なものは削除　▼▼▼

=================================================================================
*/
html {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #000;
}
h1, h2, h3, h4, h5 {
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  /* PC用 */
  html {
    font-size: 10px;
  }
  .inner {
    position: relative;
    max-width: 100%;
    display: block;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  /* SP用 */
  html {
    font-size: calc(10vw / 768 * 100); /* 最大値768px、文字サイズ10pxの場合 */
  }
  .inner {
    width: 100%;
    padding: 0 5rem;
    max-width: 100%;
    margin: auto;
  }
}

/* 
=================================================================================

▼▼▼　文字　▼▼▼

=================================================================================
*/
.go {
  font-family: "Noto Sans JP", sans-serif;
}
.pop {
  font-family: "Poppins", sans-serif;
}
.b {
  font-weight: bold;
}
.m {
  font-weight: 500;
}
.intro{
  font-family: 'Intro', sans-serif;
}

@font-face {
  font-family: 'Intro';
  src: local('Intro Bold Alt'), local('Intro-Bold-Alt'),
      url('https://test.adv-wave.co.jp/assets/fonts/Intro-Bold-Alt.woff2') format('woff2'),
      url('https://test.adv-wave.co.jp/assets/fonts/Intro-Bold-Alt.woff') format('woff'),
      url('https://test.adv-wave.co.jp/assets/fonts/Intro-Bold-Alt.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

/* 
=================================================================================

▼▼▼　ちらつき対策（CSS）　▼▼▼

=================================================================================
*/

.loading {
  position: fixed;
  background: #fff;
  z-index: 9999;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 1s all;
  opacity: 1;
  pointer-events: all;
}

.contents_bg{
  background-color: #fcc800;
}
.header{
  font-size: 1.6rem;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}
.header_inner{
  max-width: 110rem;
  width: 100%;
  padding: 3rem 0;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.logo{
  width: 30rem;
}
.head_menu{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
}


/* .mv_box{
  position: relative;
}
.mv_text_box{
  position: absolute;
  right: 4rem;
  top: 50%; 
  text-align: center;
}
.mv_text_box h1{
  font-size: 5rem;
}
.mv_text_box h2{
  font-size: 1.8rem;
}
.mv_line{
  width: 100%;
  height: 1rem;
  background: linear-gradient(
  to right,
  #cddc39 0%,
  #f0d44b 10%,
  #f0a060 50%,
  #3b6fb6 100%
);
} 
*/

.mv_box{
  position: relative;
}

.mv_text_box{
  position: absolute;
  right: 3.333vw;
  top: 50%; 
  text-align: center;
}

.mv_text_box h1{
  font-size: 4.167vw;
}

.mv_text_box h2{
  font-size: 1.5vw;
}

.mv_line{
  width: 100%;
  height: 0.833vw;
  background: linear-gradient(
    to right,
    #cddc39 0%,   /* 黄緑 */
    #f0d44b 10%,  /* 黄色（10%） */
    #f0a060 50%,  /* オレンジ */
    #3b6fb6 100%  /* 青 */
  );
}


.section_inner{
  max-width: 100rem;
  margin: 8rem auto 0;
  position: relative;
}
.section_title{
  font-size: 4rem;
}

.information_list li{
  display: flex;
  align-items: start;
  justify-content: space-between;
  border-bottom: dotted #150035 0.1rem;
  margin-top: 1rem;
  padding-bottom: 1rem;
}
.informmation_box1{
  flex: 1;
}
.informmation_box1 a{
  display: flex;
  align-items: end;
  justify-content: space-between;
  padding-left: 3rem;
}
.information_list h4 a{
  font-size: 2rem;
  color: #ffffff;
  background-color: #150035;
  padding: 0.25rem 1.5rem;
  border-radius: 0.5rem;
}
.information_box2 time{
  font-size: 2.6rem;
  font-weight: bold;
}
.information_box2 h3{
  font-size: 2.4rem;
}
.information_list li .material-symbols-outlined{
  color: #ffffff;
  background-color: #150035;
  padding: 0.5rem;
  border-radius: 0.5rem;
}
.project_list{
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
  gap: 2rem;
  margin-top: 2rem;
}
.project_list li{
  width: calc(94.5% / 3);
}
.project_list img{
  width: 100%;
  height: 22rem;
  border-radius: 0.5rem;
  margin: auto;
  object-fit: cover;
}
.more_project{
  margin: 2rem auto;
}
.view_icon{
  width: 10rem;
  height: 10rem;
  font-size: 2.8rem;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid #150035 0.1rem;
  border-radius: 50%;
}
.service_box{
  display: flex;
  justify-content: space-between;
}
.service_box img{
  width: 38rem;
  position: relative;
  left: 2rem;
  bottom: -0.4rem;
}
.services_text_box{
  width: 45rem;
}
.services_text_box .section_title{
  text-align: end;
}
.services_text_box p{
  font-size: 1.8rem;
  margin-top: 2rem;
}
.more_service{
  margin-top: 4.5rem;
  margin-left: auto;
}

.outline{
  position: relative;
}
.outline_inner{
  max-width: 100rem;
  margin: auto;
}
.more_outline{
  margin-top: min(6.67vw,8rem); 
}
.outline_box2{
  width: 45rem;
  padding: 12rem 0 7rem;
}
.outline_box2 h2,
.outline_box2 p{
  color: #ffffff;
}
.outline_bg2{
  background-image: url(../img/top_img2.webp);
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  top: -0.4rem;
}

.outline_box{
  position: absolute;
  width: 39rem;
  top: 50%;
  transform: translateY(-50%);
  left: calc(50% - min(38vw,50rem));
}
.outline_box h2,
.outline_box p{
  color: #ffffff;
}


.footer_inner{
  max-width: 100rem;
  margin: auto;
}
.foot1{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5rem 0;
}
.foot_logo{
  width: 27rem;
}
.foot_text_box{
  font-size: 4rem;
}
.foot_text2{
  display: flex;
  gap: 3.5rem;
  padding: 1rem 0;
}
.foot_text2 p:first-child{
  position: relative;
}
.foot_text2 p:first-child::after{
  content: "";
  display: block;
  position: absolute;
  top: -0.5rem;
  left: -1.5rem;
  width: 20rem;
  height: 7.2rem;
  background-image: url(../img/foot_img1.webp);
  background-size: cover;
}
.foot_contact{
  width: 13.5rem;
  height: 13.5rem;
  font-size: 2.6rem;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #150035;
  border-radius: 50%;
}
.foot_company_box h1{
  font-size: 1.6rem;
}
.foot_company_box h1 span{
  font-size: 1.5rem;
}
.foot_address{
  font-size: 1.6rem;
  display: flex;
  gap: 0.5rem;
}
.foot_address p:first-child{
  font-size: 1.4rem;
}
.foot_privacy{
  display: flex;
  align-items: center;
  margin-top: 2.5rem;
}
.foot_privacy p{
  padding-top: 0.3rem;
}
.foot2{
  color: #ffffff;
  background-color: #150035;
  padding: 1.5rem 0;
  text-align: end;
  position: relative;
  bottom: -0.1rem;
}

.sec_contents{
  padding: 8rem 0;
}
.outline h2{
  font-size: 4rem;
}
.sec_outline{
  position: relative;
  width: 39rem;
}
.summary_box{
  max-width: 90rem;
  margin: auto;
}
.summary h3{
  font-size: 3rem;
}
.summary_list{
  max-width: 64rem;
  margin: auto;
}
.summary_list li{
  display: flex;
  align-items: end;
  padding-bottom: 1rem;
  margin-top: 6rem;
  gap: 3rem;
  border-bottom: solid #150035 0.1rem;
}
.summary_list h4{
  font-size: 2rem;
  width: 10rem;
}
.summary_list p{
  font-size: 2rem;
  flex: 1;
}
.business_list{
  font-size: 2rem;
  flex: 1;
}
.business_list p{
  text-indent: -4rem;
  padding-left: 4rem;
}

@media screen and (max-width: 768px) {
 .section_inner{
  max-width: 95%;
 }
 .service_box img {
  left: 0;
 }
}

/* お問合せ */
.sec_title_box h2{
  font-size: 4rem;
}
/* お問合せ */