@charset "UTF-8";
/* A Modern CSS Reset */

*{
  color:#101010;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight:500;
  font-size: 16px;
  box-sizing: border-box;
  margin: 0;
  list-style: none;
}

.400{
	font-weight:400;
}

.en{
    font-family: futura-pt, sans-serif;
    font-weight:500;
}


.wrapper{
  margin: 0 auto;
}


/*色の指定*/
.white{
  color: #ffffff;
}

.bg_white{
  background-color: #ffffff;
}

.bg_black{
  background-color: #1e1e1e;
}

.bg_gray{
  background-color: #F5F5F5;
}

.gray{
  color:#818181;
}

.bg_darkgray{
  background-color: #89898A;
}

.s{
  font-size: 20px;
}

.m{
  font-size: 24px;
}

.l{
  font-size: 32px;
}

.xl{
  font-size: 40px;
}

.xxl{
  font-size: 64px;
}

h2{
  font-size: 32px;
  font-weight: bold;
}

.border{
  border: solid 1px #101010;
}


.border_bottom{
  border-bottom: solid 1px #101010;
}

.inner{
  max-width: 1200px;
  padding: 80px 40px;
  margin: 0 auto;
}

main{
  overflow: hidden;
}

/*footer*/
footer{
  text-align: center;
  padding: 40px 0;
  width: 100%;
}

.title .en:before {
    background-color: #101010;
    content: "";
    height: 1px;
    width: 40px;
}


.btn{
  width: 840px;
  max-width: 90%;
}

/*fv*/

.fv .text{
  width: 500px;
  padding-left: 80px;
}

.fv img.pc_only{
  width: calc(100% - 480px );
}

.fv .logo{
  width: 220px;
}

.scroll_down{
  position:absolute;
  bottom: 0px;
  left: 50%;
}

.scroll_down a{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 47px;
  color: #818181;
  font-size: 14px;
  letter-spacing: .2em;
}

.scroll_down:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -4px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background:#818181;
  animation:
    circlemove 1.6s ease-in-out infinite,
    cirlemovehide 1.6s ease-out infinite;
}

@keyframes circlemove{
  0%{bottom:40px;}
  100%{bottom:0px;}
}

@keyframes cirlemovehide{
  0%{opacity:0}
  50%{opacity:1;}
  80%{opacity:0.9;}
  100%{opacity:0;}
}

.scroll_down:after{
  content:"";
  position: absolute;
  bottom:0;
  left:0;
  width:1px;
  height: 40px;
  background:#818181;
}


/*corporate indentify*/
.bg1{
  top: 0;
  right: 0;
  width: auto;
  height: 620px;
  z-index:-2;
}

.bg2{
  z-index:-2;
}

.about .bg2{
  bottom:-80px;
  left: 0;
  width: auto;
  height: 620px;
}

.about .parent{
  height: 1280px;
}

.imgbox .child:nth-child(1){
  width: 420px;
  top: 160px;
  left: 0%;
}

.imgbox .child:nth-child(2){
  width: 230px;
  top: 80px;
  right: 30%;
}

.imgbox .child:nth-child(3) {
    width: 216px;
    top: 320px;
    right: 4%;
}

.imgbox .child:nth-child(4) {
    width: 216px;
    bottom: 200px;
    left: 3%;
}

.imgbox .child:nth-child(5){
    width: 230px;
    bottom: 80px;
    left: 32%;
}

.imgbox .child:nth-child(6){
  width: 420px;
  bottom: 150px;
  right: 0;
}

.about2{
  margin-top: -40px;
}


.fadeIn_right {
  opacity: 1;
  transform: translate(50%, 0);
  transition: 1s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_left {
  opacity: 1;
  transform: translate(-50%, 0);
  transition: 1s;
}

.fadeIn_left.is-show {
  transform: translate(0, 0); 
  opacity: 1;
}

/*特長*/
.imgbox figure {
  position: relative;
  display: inline-block;
  width: 480px;
}

.imgbox figure::before {
  content: '';
  display: inline-block;
  width: 0;
  height: 100%;
  position: absolute;
  right: -16px;
  top: 16px;
  background: #DBDBDB;
}


@keyframes barAnime{
  0% {
    top: 16px;
    right: -16px;
    width: 0;
  }
  50% {
    top: 16px;
    right: -16px;
    width: 100%;
  }
  51% {
    top: 16px;
    right: -16px;
    width: 100%;
  }
  68% {
    top: 16px;
    right: -16px;
    width: 100%;
  }
  100% {
    right: -16px;
    width: 100%;
  }
}

.imgbox figure img {
  opacity: 0;
  transform: scale(1.1);
}

@keyframes photoAnime{
  0% {
    opacity: 0;
    transform: scale(1.1);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.imgbox.move figure::before {
/*   animation: barAnime forwards 3.5s 1 ease 1.0s normal; */
	-webkit-animation: barAnime 1s cubic-bezier(0, 0.55, 0.45, 1) 0s forwards 1 normal;
    animation: barAnime 1s cubic-bezier(0, 0.55, 0.45, 1) 0s forwards 1 normal;
}
.imgbox.move figure img {
	  animation: photoAnime forwards 3.5s 1 ease 1.0s normal;
  -webkit-animation: photoAnime 2s cubic-bezier(0.61, 1, 0.88, 1) 1s forwards 1 normal;
    animation: photoAnime 2s cubic-bezier(0.61, 1, 0.88, 1) 1s forwards 1 normal;
}

.feature1{
  width: 100%;
  gap:200px;
}

.feature1 .imgbox:first-child figure{
  width: 292px;
}

.feature1 .imgbox:last-child figure{
  width: 233px;
}

.icon1{
  width: 240px;
  top: -40px;
  right: 0px;
}

.point1 .bg1 {
    top: 0;
    right: 0;
    width: auto;
    height: 620px;
    z-index: -1;
}






.point1 .bg2{
  bottom:0px;
  left: 0;
  width: auto;
  height: 620px;
}

.feature2{
  width: 100%;
  gap:120px;
  padding-left: 80px;
}

.feature2 .imgbox:first-child figure{
  width: 280px;
}

.feature2 .imgbox:last-child figure{
  width: 300px;
}

.icon2{
  width: 240px;
  top: -40px;
  right: 80px;
}

.point2 .bg1{
  top: 0px;
  right: 0;
  width: auto;
  height: 620px;
  z-index: -1;
}

.point2 .bg2{
  bottom:0px;
  left: 0;
  width: auto;
  height: 620px;
}

.icon3{
  width: 200px;
  top: -40px;
  right: 0px;
}

.icon4{
  width: 220px;
  top: -80px;
  right: 60px;
}




/*history*/
.history{
  background: linear-gradient(to bottom, #FAFAFA, #D6D6D6);
}

.history img{
  max-width: 80%;
}


/*flow*/
.flow{
  background: url(https://atlas-sign.tokyo/wp-content/uploads/2025/03/flow.png);
  background-size: cover;
}

.flow .cards{
  width: 100%;
  max-width: 840px;
  gap:80px 32px;
}

.flow .cards::before {
    content: "";
    display: block;
    width: 10px;  
    height: 0;
}

.nowrap{
  white-space: nowrap;
}

.flow .child{
  top: -30px;
  left: -30px;
}

.arrow{
  width: 10px;
}

.flow .card{
  width: calc((100% - 190px) / 3);
}

.flow .card img{
  width: 120px;
}
/*company*/
.company table{
  margin: 0 auto 64px;
}

.company tr:nth-of-type(2n+1) th{
  border-top: solid 1px #101010;
  border-bottom: solid 1px #101010;
}

.company tr:last-child th{
  border-bottom: solid 1px #101010;
}

.company tr:nth-of-type(2n+1) td{
  border-top: solid 1px #D4D4D4;
  border-bottom: solid 1px #D4D4D4;
}

.company tr:last-child td{
  border-bottom: solid 1px #D4D4D4;
}

.company th , .company td{
  padding: 24px;
}

.sdgs img{
  width: 45px;
  height:45px;
}

.sdgs .item{
  width: 100%;
  max-width: 580px;
  padding: 16px 32px;
}



/*contact*/
/* .contact{
  background: url(https://atlas-sign.tokyo/wp-content/uploads/2025/03/contact.png);
  background-size: cover;
} */
.contact .bg1 {
    top: 0;
    left: 0;
    width: auto;
    height: 620px;
    z-index: -2;
    transform: scale(-1, 1);
}
.contact .bg2 {
    z-index: -2;
    bottom: 0;
    right: 0;
    transform: scale(-1, 1);
    height: 620px;
    width: auto;
}



#formWrap {
  width: 800px;
  max-width: 100%;
}

.tel img{
  width: 36px;
}

.required{
  margin-left: 4px;
}

.contact table{
  width: 100%;
	table-layout: fixed;
word-break: break-all;
word-wrap: break-all;
}



.contact tr {
   display: flex;
   flex-direction: column;
   width:100%;
}

.contact th {
    text-align: left;
    font-weight: bold;
    width: 100%;
    padding: 4px;
}

.contact td{
  padding: 8px 0px;
}

.selectbox{
  display: flex;
}

input , select , textarea{
  width: 100%;
  padding:8px;
  border:none;
  border-bottom: solid 1px #101010;
}

input[type="file"] {
    background: white;
}

input[type="checkbox"] {
    margin-right: 8px;
    width: auto;
}

input[type="radio"] {
    width: auto;
}

.selectbox label {
    display: flex;
	gap:4px;
    align-items: center;
    white-space: nowrap;
}

span.wpcf7-form-control.wpcf7-radio {
    display: flex;
	gap:16px;
}

.selectbox .wpcf7-list-item{
	margin:0!important;
	    background: white;
    padding: 4px 8px;
}

button {
    border: none;
    background: none;
    width: 280px;
    max-width: 90%;
}

@media screen and (max-width: 1199px) {

  .inner {
    padding: 32px 16px;
}

.sec-title {
    padding: 16px;
}


  .s{
  font-size: 18px;
}

.m{
  font-size: 20px;
}

.l{
  font-size: 24px;
}

.xl{
  font-size: 28px;
}

.xxl{
  font-size: 40px;
}

h2{
  font-size: 28px;
  line-height: 120%;
}

.gap-2 {
        gap: 4px;
    }

    .flexbox{
      display: flex;
      flex-direction: column;
      gap:32px;
    }

    /*fv*/

.fv .text {
    width: 100%;
    padding: 0;
    justify-content: center;
    align-items: center;
}

.fv .text{
  margin-bottom: 32px;
}

.scroll_down a{
  color: white;
  bottom: 100px
}

.scroll_down:after{
  height: 100px;
}
.scroll_down:after , .scroll_down:before{
  background-color: white;
}

@keyframes circlemove{
  0%{bottom:100px;}
  100%{bottom:0px;}
}

/*about*/
.bg1{
  top: 0;
  right: 0;
  width: auto;
  height: 320px;
}

.about .bg2{
  bottom:-80px;
  left: 0;
  width: auto;
  height: 320px;
}

.about .parent{
  height: 1200px;
}

.imgbox .child:nth-child(1){
  width: 200px;
  top: 20px;
  left: 20%;
}

.imgbox .child:nth-child(2){
  width: 140px;
  top: 180px;
  left: 10%;
}

.imgbox .child:nth-child(3) {
    width: 127px;
    top: 180px;
    right: 4%;
}

.imgbox .child:nth-child(4) {
    width: 116px;
    bottom: 220px;
    left: 3%;
}

.imgbox .child:nth-child(5){
    width: 130px;
    bottom: 200px;
    left: 42%;
}

.imgbox .child:nth-child(6){
  width: 200px;
  bottom: 40px;
  right: 32%;
}

.about2{
  margin-top: -40px;
}

.imgbox figure {
  position: relative;
  display: inline-block;
  width: 100%;
}

.feature1{
  width: 100%;
  gap:40px;
}

.feature1 .imgbox:first-child figure{
  width: 240px;
}

.feature1 .imgbox:last-child figure{
  width: 186px;
}

.feature1 .imgbox:last-child{
  display: flex;
  justify-content: flex-end;
  padding-right: 32px;
}

.icon1{
  width: 200px;
  top: -40px;
  right: 0px;
}

.point1 .bg1{
  top: -8px;
  right: 0;
  width: auto;
  height: 320px;
  z-index: -1;
}

.point1 .bg2{
  bottom:0px;
  left: 0;
  width: auto;
  height: 320px;
}

	
.feature2{
  width: 100%;
  gap:40px;
  padding: 16px;
}

.feature2 .imgbox:first-child figure{
  width: 180px;
}

.feature2 .imgbox:last-child figure{
  width: 230px;
}

.feature2 .imgbox:first-child{
  display: flex;
  justify-content: flex-end;
}

.icon2{
  width: 200px;
  top: -40px;
  right: -20px;
}

.point2 .bg1{
  top: 0px;
  right: 0;
  width: auto;
  height: 320px;
  z-index: -1;
}

.point2 .bg2{
  bottom:0px;
  left: 0;
  width: auto;
  height:320px;
}

.icon3{
  width: 120px;
  top: -40px;
  right: 0px;
}

.icon4{
  width: 120px;
  top: -40px;
  right: 20px;
}

.rl{
  font-size: 40px;
  color: rgba(255 , 255 , 255 , 0.47);
  top: 24px;
  left: 16px;
  z-index: 0;
}

.history .title{
  z-index: 2;
}

.history img {
    max-width: 100%;
}

/*company*/
  .company th{
    width: 100px;
    white-space: nowrap;
  }

  .company td{
    width: 80%;
  }

  .company th, .company td{
    padding: 8px;
  }

  /*flow*/
  .flow .cards {
    gap: 40px 8px;
}

.flow .card {
    width: calc((100% - 44px) / 2);
    padding: 8px;
}

.flow .card img{
  width: 100px;
}

.flow .child {
    font-size: 24px;
    top: -20px;
    left: -20px;
}

.flow .card .m.en{
  font-size: 16px;
}

.flow .card p:last-child{
  font-size: 12px;
}
	
	
.sdgs .border_bottom{
	margin-bottom:16px;
}
	
	.sdgs .flexbox{
		gap:16px;
	}
.contact .bg1 {
    top: 0;
    left: 0;
    width: auto;
    height: 320px;
    z-index: -2;
    transform: scale(-1, 1);
}
	
.contact .bg2 {
    z-index: -2;
    bottom: 0;
    right: 0;
    transform: scale(-1, 1);
    height: 320px;
    width: auto;
}

	.contact .pd-5{
		padding:16px;
	}
.contact td , .contact th {
    width: 100%;
    display: block;
  }

  .contact .bg_white{
    padding: 16px;
  }

  footer img{
  width: 120px;
}

  footer .flexboxsp{
    padding-left: 0;
  }

  footer .flexboxsp li{
    width:calc((100% - 80px) / 2 );
  }
}

@media screen and (min-width: 1200px) {
 

  .rl{
  writing-mode: vertical-rl;
  font-size: 110px;
  color: rgba(255 , 255 , 255 , 0.47);
  top: 50%;
  transform: translateY(-50%);
  left: 40px;
  white-space: nowrap;
}

  /*company*/
  .company th{
    width: 200px;
  }

  .company td{
    width: 800px;
  }

  .sdgs .img{
  display: flex;
  flex-direction: column;
  gap:8px;
}

footer img{
  width: 180px;
}

	.point1:first-child .bg1{
  top: -200px;
}

}


