@charset "UTF-8";
/*--------------------------------------------
BUILDING
---------------------------------------------*/
#buildingLede{
  overflow: hidden;
}
#buildingLede h2{
    font-weight: 200;
    text-align: center;
    letter-spacing: .05em;
    text-indent: .05em;
  }
#buildingLede p{
    width: 100%;
    position: relative;
    text-align: center;
    letter-spacing: .05em;
    text-indent: .05em;
  }
#buildingLede p span{
      position: absolute;
    }
@media screen and (max-width: 750px){
#buildingLede{
    padding-top: calc( ( 70 - 6 ) var(--remBase) );
    padding-bottom: calc( ( 154 - 13 ) var(--remBase) )
}
    #buildingLede h2{
      font-size: 6rem;
      line-height: 1.2;
    }
    #buildingLede p{
      font-size: calc( 26 var(--remBase) );;
      line-height: 2;
      margin-top: calc( ( 41 - 6 - 13 ) var(--remBase) );
    }
      #buildingLede p span{
        right:calc( -30 var(--percentBase) );
        bottom: calc( ( -113 - 13 ) var(--remBase) );
      }
        #buildingLede p span img{
          height: calc( 120 var(--remBase) );
        }
  }
@media print,screen and (min-width: 750.02px ){
#buildingLede{
    padding-top: calc( 106 var(--remBase) );
    padding-bottom: calc( ( 106 - 11 ) var(--remBase) )
}
    #buildingLede h2{
      font-size: 5rem;
    }
    #buildingLede p{
      font-size: calc( 22 var(--remBase) );;
      line-height: 2;
      margin-top: calc( ( 67 - 11 ) var(--remBase) );
    }
      #buildingLede p span{
        right:calc( 100 var(--percentBase) );
        bottom: calc( ( -67 - 11 ) var(--remBase) );
      }
        #buildingLede p span img{
          height: calc( 120 var(--remBase) );
        }
  }
#buildingRole{
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color:#fff;
}
#buildingRole h2{
    font-weight: 200;
    text-align: center;
    letter-spacing: .05em;
    text-indent: .05em;
  }
#buildingRole dt{
    font-weight: 200;
    letter-spacing: 0.05em;
  }
#buildingRole dd{
    letter-spacing: 0.05em;
  }
#buildingRole picture{
    text-align: center;
    display: block;
  }
@media screen and (max-width: 750px){
#buildingRole{
    background-image: url("../images/whatwedo/building/bg_role_sp.webp");
    padding-top: calc( 85 var(--remBase) );
    padding-bottom: calc( 73 var(--remBase) )
}
    #buildingRole h2{
      font-size: 6rem;
    }
    #buildingRole dl{
      margin-top: calc( ( 83 - 4 ) var(--remBase) );
    }
    #buildingRole dt:not(:first-of-type){
      border-top: solid calc( 2 var(--remBase) ) var(--white);
      margin-top: calc( ( 37 - 13 ) var(--remBase) );
      padding-top: calc( ( 42 - 4 ) var(--remBase) );
    }
    #buildingRole dt{
      font-size: 4rem;
      line-height: 1.2;
    }
    #buildingRole dd{
      font-size: calc( 26 var(--remBase) );;
      line-height: 2;
      margin-top: calc( ( 21 - 4 - 13 ) var(--remBase) );
    }
    #buildingRole picture{
      margin-top: calc( ( 55 - 13 ) var(--remBase) );
    }
      #buildingRole picture img{
        height: calc( 447 var(--remBase) );
      }
  }
@media print,screen and (min-width: 750.02px ){
#buildingRole{
    background-image: url("../images/whatwedo/building/bg_role_pc.webp");
    padding-top: calc( 129 var(--remBase) );
    padding-bottom: calc( 83 var(--remBase) )
}
    #buildingRole h2{
      font-size: 8rem;
    }
    #buildingRole dl{
      margin-top: calc( 60 var(--remBase) );
      display: grid;
      grid-template-columns: calc( 570 * 100% / 1440 ) 1fr;
    }
    #buildingRole :where( dt ,dd ){
      height: calc( 120 var(--remBase) );
      display: grid;
      align-items: center;
    }
    #buildingRole :where( dt , dd ):not(:first-of-type){
      border-top: solid 1px var(--white);
    }
    #buildingRole dt{
      justify-content: center;
      font-size: 5rem;
      text-align: center;
      text-indent: 0.05em;
    }
    #buildingRole dd{
      font-size: 2.2rem;
      justify-content: start;
      position: relative;
    }
      #buildingRole dd:before{
        content:"";
        display: block;
        top: 50%;
        background-color: #fff;
        translate:0 -50%;
        height: calc( 100% - ( 32 var(--remBase) ) );
        width: 1px;
        left:calc( -42 * 100% / 870 );
        position: absolute;
      }
    #buildingRole picture{
      margin-top: calc( 72 var(--remBase) );
    }
      #buildingRole picture img{
        height: calc( 430 var(--remBase) );
      }
  }
#builgingProblem > h2{
    font-weight: 200;
    text-align: center;
    letter-spacing: .02em;
    text-indent: .02em;
  }
#builgingProblem ul{
    font-weight: 500;
  }
#builgingProblem li{
    display: grid;
    justify-content: start;
  }
#builgingProblem li + li{
      border-top-width: 1px;
      border-top-color: #b8b4b4;
    }
#builgingProblem i{
    position: relative;
    letter-spacing: 0.05em;
  }
#builgingProblem i:before{
      content:"";
      display: block;
      background-repeat: no-repeat;
      background-size: contain;
      background-position: 0 0;
      font-size: 0;
    }
#builgingProblem li:nth-child(1) i:before{
        background-image: url("../images/ui/icon/building_cart.svg");
      }
#builgingProblem li:nth-child(2) i:before{
        background-image: url("../images/ui/icon/set_square.svg");
      }
#builgingProblem li:nth-child(3) i:before{
        background-image: url("../images/ui/icon/helmet.svg");
      }
#builgingProblem li span{
    display: grid;
    grid-auto-flow: column;
    justify-content: start;
  }
#builgingProblem li span:before{
      content:"";
      display: block;
      background: url("../images/ui/icon/check01.svg") 0 0 / contain no-repeat;
      font-size: 0;
    }
#builgingProblem .box{
    background-color: #555151;
    position: relative;
    color:#fff;
  }
#builgingProblem .box:before{
      content:"";
      display: block;
      position: absolute;
      left: 50%;
      translate:-50% 0;
      background: url("../images/ui/parts/down01.svg") 0 0 / contain no-repeat;
    }
#builgingProblem .box h2{
      text-align: center;
      letter-spacing: .05em;
      text-indent: .05em;
      font-weight: 500;
    }
#builgingProblem .box p{
      letter-spacing: 0.05em;
    }
@media screen and (max-width: 750px){
#builgingProblem{
    padding-top: calc( ( 70 - 4.6 ) var(--remBase) );
    padding-bottom: calc( 133 var(--remBase) )
}
    #builgingProblem > h2{
      font-size: 4.6rem;
      line-height: 1.2;
    }
    #builgingProblem ul{
      margin-top: calc( 46 var(--remBase) );
    }
    #builgingProblem li{
      height: calc( 138 var(--remBase) );
      grid-template-columns: calc( 138 var(--percentBase) ) 1fr;
    }
      #builgingProblem li + li{
        border-top-width: calc( 2 var(--remBase) );
      }
    #builgingProblem i{
      font-size: calc( 22 var(--remBase) );;
      line-height: 2;
      text-align: center;
      text-indent: 0.05em;
      height: 100%;
    }
      #builgingProblem i:before{
        margin-inline: auto;
      }
    #builgingProblem li:nth-child(1){
      padding-top: calc( 4 var(--remBase) );
    }
        #builgingProblem li:nth-child(1) i:before{
          background-position: center bottom;
          width: calc( 76 * 100% / 158 );
          height: calc( 70 var(--remBase) );
          margin-bottom: calc( ( 18 - 11 ) var(--remBase) );
        }
      #builgingProblem li:nth-child(2) i{
        padding-top: calc( 25 var(--remBase) );
      }
        #builgingProblem li:nth-child(2) i:before{
          width: calc( 65 * 100% / 158 );
          height: calc( 42 var(--remBase) );
          margin-bottom: calc( ( 15 - 11 ) var(--remBase) );
        }
      #builgingProblem li:nth-child(3) i{
        padding-top: calc( 27 var(--remBase) );
      }
        #builgingProblem li:nth-child(3) i:before{
          width: calc( 59 * 100% / 158 );
          height: calc( 51 var(--remBase) );
          margin-bottom: 0;
        }
    #builgingProblem li span{
      column-gap: calc( 11 * 100% / 512 );
      grid-template-columns: calc( 43 * 100% / 512 ) 1fr;
      margin-top: calc( ( 32 - 8 ) var(--remBase) );
      font-size: calc( 26 var(--remBase) );;
      line-height: calc( 46 / 26 );;
    }
      #builgingProblem li span:before{
        height: calc( 35 var(--remBase) );
        margin-top: calc( 5.5 var(--remBase) );
      }
    #builgingProblem li:nth-child(3) span{
      margin-top: 0;
      align-items: center;
      height: 100%;
    }
    #builgingProblem .box{
      margin-top: calc( 95 var(--remBase) );
      padding-bottom: calc( ( 70 - 10 ) var(--remBase) );
      padding-top: calc( ( 78 - 5 ) var(--remBase) );
    }
      #builgingProblem .box:before{
        width: calc( 380 var(--percentBase) );
        height: calc( 48 var(--remBase) );
        top: calc( -75 var(--remBase) );
      }
      #builgingProblem .box h2{
        font-size: 5rem;
        line-height: 1.2;
      }
      #builgingProblem .box p{
        padding-inline: calc( 30 var(--percentBase) );
        font-size: calc( 26 var(--remBase) );;
        line-height: calc( 46 / 26 );;
        margin-top: calc( ( 51 - 10 ) var(--remBase) );
      }
  }
@media print,screen and (min-width: 750.02px ){
#builgingProblem{
    padding-top: calc( 107 var(--remBase) );
    padding-bottom: calc( 146 var(--remBase) )
}
    #builgingProblem > h2{
      font-size: 5rem;
    }
    #builgingProblem ul{
      margin-top: calc( 52 var(--remBase) );
      width: calc( 1160 var(--percentBase) );
      margin-inline: auto;
    }
    #builgingProblem li{
      align-items: center;
      height: calc( 88 var(--remBase) );
      grid-template-columns: calc( 236 * 100% / 1160 ) 1fr;
    }
      #builgingProblem li + li{
        border-top-width: 1px;
      }
    #builgingProblem i{
      display: grid;
      align-items: center;
      justify-content: start;
      font-size: calc( 20 var(--remBase) );;
      line-height: 2.2;
    }
      #builgingProblem li i{
        grid-template-columns: calc( 76 * 100% / 236 ) 1fr;
        column-gap: calc( 7 * 100% / 236 );
      }
        #builgingProblem li i:before{
          height: calc( 70 var(--remBase) );
        }
    #builgingProblem li span{
      grid-template-columns: calc( 44 * 100% / 924 ) 1fr;
      column-gap: calc( 11 * 100% / 924 );
      align-items: center;
      font-size: calc( 22 var(--remBase) );;
      line-height: 2;
    }
      #builgingProblem li span:before{
        height: calc( 36 var(--remBase) );
        margin-top: calc( 8 var(--remBase) );
      }
    #builgingProblem .box{
      margin-top: calc( 78 var(--remBase) );
      padding-bottom: calc( ( 81 - 11 ) var(--remBase) );
      margin-inline: auto;
      padding-top: calc( 85 var(--remBase) );
    }
      #builgingProblem .box:before{
        width: calc( 380 var(--percentBase) );
        height: calc( 48 var(--remBase) );
        top: calc( -55 var(--remBase) );
      }
      #builgingProblem .box h2{
        font-size: 5rem;
      }
      #builgingProblem .box p{
        text-indent: 0.05em;
        font-size: calc( 22 var(--remBase) );;
        line-height: 2;
        text-align: center;
        margin-top: calc( ( 56 - 11 ) var(--remBase) );
      }
  }
#buildingAchievement{
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color:var(--white);
}
#buildingAchievement h3{
    text-align: center;
    letter-spacing: .05em;
    text-indent: .05em;
    font-weight: 200;
  }
@media screen and (max-width: 750px){
#buildingAchievement{
    padding-top: calc( 135 var(--remBase) );
    padding-bottom: calc( ( 188 - 2.6 ) var(--remBase) );
    background-image: url("../images/whatwedo/building/bg_archivement_sp.webp")
}
    #buildingAchievement h3{
      font-size: 6rem;
    }
  }
@media print,screen and (min-width: 750.02px ){
#buildingAchievement{
    padding-top: calc( 113 var(--remBase) );
    padding-bottom: calc( 108 var(--remBase) );
    background-image: url("../images/whatwedo/building/bg_archivement_pc.webp")
}
    #buildingAchievement h3{
      font-size: 8rem;
    }
    #buildingAchievement > a{
      margin-inline: auto;
      -webkit-text-decoration: underline;
      text-decoration: underline;
      font-weight: 200;
      text-align: center;
      letter-spacing: .05em;
      text-indent: .05em;
      display: block;
      color:var(--white);
      margin-top: calc( ( 71 - 13 ) var(--remBase) );
      font-size: 2.6rem;
    }
  }
#buildingSwiper picture{
    width: 100%;
  }
#buildingSwiper picture img{
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
#buildingSwiper .swiper-wrapper {
    transition-timing-function: linear;
  }
#buildingSwiper h4{
    letter-spacing: 0.05em;
    color:var(--white);
  }
#buildingSwiper .swiper-slide{
    width: auto;
    display: block;
  }
#buildingSwiper .box{
    display: block;
  }
#buildingSwiper .box > div ul{
      display: flex;
      flex-wrap: wrap;
    }
#buildingSwiper .box > div li{
      display: grid;
      place-items:center;
      color:#fff;
      background-color: #666;
      text-align: center;
      letter-spacing: .05em;
      text-indent: .05em;
    }
#buildingSwiper .box > div p span{
        color:var(--white);
      }
#buildingSwiper .box > div p span + span:before{
        content:"｜";
        white-space: pre;
      }
#buildingSwiper .box > p{
      letter-spacing: 0.05em;
    }
@media screen and (max-width: 750px){
#buildingSwiper{
    margin-top: calc( 61 var(--remBase) )
}
    #buildingSwiper .box{
      width: calc( 590 var(--remBase) );
      margin-inline: calc( 15 var(--remBase) );
    }
    #buildingSwiper picture{
      height: calc( 452 var(--remBase) );
    }
    #buildingSwiper h4{
      font-size: 3.4rem;
      line-height: 1.2;
      margin-top: calc( ( 21 - 3.4 ) var(--remBase) );
    }
    #buildingSwiper .box > div{
      margin-top: calc( ( 30 - 3.4 ) var(--remBase) );
      column-gap: calc( 30 var(--remBase) );
    }
      #buildingSwiper .box > div ul{
        column-gap: calc( 10 var(--remBase) );
      }
      #buildingSwiper .box > div li{
        height: calc( 40 var(--remBase) );
        font-size: 2.4rem;
        padding-inline:calc( 21 var(--remBase) );
        min-width: calc( 140 var(--remBase) );
      }
      #buildingSwiper .box > div p{
        font-size: 2.6rem;
        line-height: 1.2;
      }
    #buildingSwiper .box > p{
      margin-top: calc( ( 13 - 2.6 - 2.6 ) var(--remBase) );
      font-size: 2.6rem;
      line-height: 1.2;
    }
  }
@media print,screen and (min-width: 750.02px ){
#buildingSwiper{
    margin-top: calc( 68 var(--remBase) )
}
    #buildingSwiper .box{
      width: calc( 460 var(--remBase) );
      margin-inline: calc( 10 var(--remBase) );
    }
    #buildingSwiper picture{
      height: calc( 360 var(--remBase) );
    }
    #buildingSwiper h4{
      font-size: 3rem;
      line-height: 1.2;
      margin-top: calc( ( 17 - 3 ) var(--remBase) );
    }
    #buildingSwiper .box > div{
      display: flex;
      flex-wrap: wrap;
      margin-top: calc( ( 15 - 3 - 7 ) var(--remBase) );
      column-gap: calc( 15 var(--remBase) );
    }
      #buildingSwiper .box > div ul{
        column-gap: calc( 4 var(--remBase) );
        margin-top: calc( 7 var(--remBase) );
      }
      #buildingSwiper .box > div li{
        height: calc( 30 var(--remBase) );
        font-size: 1.4rem;
        padding-inline:calc( 19 var(--remBase) );
        min-width: calc( 110 var(--remBase) );
      }
      #buildingSwiper .box > div p{
        font-size: calc( 18 var(--remBase) );;
        line-height: calc( 44 / 18 );;
      }
    #buildingSwiper .box > p{
      margin-top: calc( -13 var(--remBase) );
      font-size: calc( 18 var(--remBase) );;
      line-height: calc( 44 / 18 );;
    }
  }
#wwdLinks{
  display: grid;
  align-items: stretch;
  justify-content: center;
  grid-auto-flow: column;
}
#wwdLinks a{
    background-color: #fff;
    border-color: #434343;
    border-style: solid;
    width: 100%;
    height: 100%;
    text-align: center;
    letter-spacing: .05em;
    text-indent: .05em;
    display: grid;
    place-items:center;
    transition: color var(--transitionBase) , background var(--transitionBase);
  }
#wwdLinks a:hover, #wwdLinks a.is-current{
      color:var(--white);
      background-color: #434343;
    }
@media screen and (max-width: 750px){
#wwdLinks{
    grid-auto-columns: calc( 330 var(--percentBase) );
    grid-auto-rows: calc( 80 var(--remBase) );
    column-gap: calc( 30 var(--percentBase) );
    padding-block: calc( 61 var(--remBase) )
}
    #wwdLinks a{
      font-size: 2.2rem;
      border-width: 1px;
    }
  }
@media print,screen and (min-width: 750.02px ){
#wwdLinks{
    grid-auto-columns: calc( 329 var(--percentBase) );
    grid-auto-rows: calc( 80 var(--remBase) );
    column-gap: calc( 34 var(--percentBase) );
    padding-block: calc( 64 var(--remBase) )
}
    #wwdLinks a{
      font-size: 2.2rem;
      border-width: 1px;
    }
  }
/*--------------------------------------------
INTERIOR
---------------------------------------------*/
#interiorLede{
  overflow: hidden;
}
#interiorLede h2{
    font-weight: 200;
    text-align: center;
    letter-spacing: .05em;
    text-indent: .05em;
  }
#interiorLede p{
    width: 100%;
    position: relative;
    text-align: center;
    letter-spacing: .05em;
    text-indent: .05em;
  }
#interiorLede p span{
      position: absolute;
    }
@media screen and (max-width: 750px){
#interiorLede{
    padding-top: calc( ( 70 - 6 ) var(--remBase) );
    padding-bottom: calc( ( 154 - 13 ) var(--remBase) )
}
    #interiorLede h2{
      font-size: 6rem;
      line-height: 1.2;
    }
    #interiorLede p{
      font-size: calc( 26 var(--remBase) );;
      line-height: 2;
      margin-top: calc( ( 41 - 6 - 13 ) var(--remBase) );
    }
      #interiorLede p span{
        right:calc( -30 var(--percentBase) );
        bottom: calc( ( -113 - 13 ) var(--remBase) );
      }
        #interiorLede p span img{
          height: calc( 120 var(--remBase) );
        }
  }
@media print,screen and (min-width: 750.02px ){
#interiorLede{
    padding-top: calc( 106 var(--remBase) );
    padding-bottom: calc( ( 106 - 11 ) var(--remBase) )
}
    #interiorLede h2{
      font-size: 5rem;
    }
    #interiorLede p{
      font-size: calc( 22 var(--remBase) );;
      line-height: 2;
      margin-top: calc( ( 67 - 11 ) var(--remBase) );
    }
      #interiorLede p span{
        right:calc( -98 var(--percentBase) );
        top: calc( ( -118 + 11 ) var(--remBase) );
      }
        #interiorLede p span img{
          height: calc( 120 var(--remBase) );
        }
  }
#interiorRole{
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color:#fff;
}
#interiorRole h2{
    font-weight: 200;
    text-align: center;
    letter-spacing: .05em;
    text-indent: .05em;
  }
#interiorRole dt{
    font-weight: 200;
    letter-spacing: 0.05em;
  }
#interiorRole dd{
    letter-spacing: 0.05em;
  }
#interiorRole picture{
    text-align: center;
    display: block;
  }
@media screen and (max-width: 750px){
#interiorRole{
    background-image: url("../images/whatwedo/interior/bg_role_sp.webp");
    padding-top: calc( 85 var(--remBase) );
    padding-bottom: calc( 73 var(--remBase) )
}
    #interiorRole h2{
      font-size: 6rem;
    }
    #interiorRole dl{
      margin-top: calc( ( 83 - 4 ) var(--remBase) );
    }
    #interiorRole dt:not(:first-of-type){
      border-top: solid calc( 2 var(--remBase) ) var(--white);
      margin-top: calc( ( 37 - 13 ) var(--remBase) );
      padding-top: calc( ( 42 - 4 ) var(--remBase) );
    }
    #interiorRole dt{
      font-size: 4rem;
      line-height: 1.2;
    }
    #interiorRole dd{
      font-size: calc( 26 var(--remBase) );;
      line-height: 2;
      margin-top: calc( ( 21 - 4 - 13 ) var(--remBase) );
    }
    #interiorRole picture{
      margin-top: calc( ( 55 - 13 ) var(--remBase) );
    }
      #interiorRole picture img{
        height: calc( 447 var(--remBase) );
      }
  }
@media print,screen and (min-width: 750.02px ){
#interiorRole{
    background-image: url("../images/whatwedo/interior/bg_role_pc.webp");
    padding-top: calc( 129 var(--remBase) );
    padding-bottom: calc( 83 var(--remBase) )
}
    #interiorRole h2{
      font-size: 8rem;
    }
    #interiorRole dl{
      margin-top: calc( 60 var(--remBase) );
      display: grid;
      grid-template-columns: calc( 570 * 100% / 1440 ) 1fr;
    }
    #interiorRole :where( dt ,dd ){
      height: calc( 120 var(--remBase) );
      display: grid;
      align-items: center;
    }
    #interiorRole :where( dt , dd ):not(:first-of-type){
      border-top: solid 1px var(--white);
    }
    #interiorRole dt{
      justify-content: center;
      font-size: 5rem;
      text-align: center;
      text-indent: 0.05em;
    }
    #interiorRole dd{
      font-size: 2.2rem;
      justify-content: start;
      position: relative;
    }
      #interiorRole dd:before{
        content:"";
        display: block;
        top: 50%;
        background-color: #fff;
        translate:0 -50%;
        height: calc( 100% - ( 32 var(--remBase) ) );
        width: 1px;
        left:calc( -42 * 100% / 870 );
        position: absolute;
      }
    #interiorRole picture{
      margin-top: calc( 69 var(--remBase) );
    }
      #interiorRole picture img{
        height: calc( 557 var(--remBase) );
      }
  }
#builgingProblem > h2{
    font-weight: 200;
    text-align: center;
    letter-spacing: .02em;
    text-indent: .02em;
  }
#builgingProblem ul{
    font-weight: 500;
  }
#builgingProblem li{
    display: grid;
    justify-content: start;
  }
#builgingProblem li + li{
      border-top-width: 1px;
      border-top-color: #b8b4b4;
    }
#builgingProblem i{
    position: relative;
    letter-spacing: 0.05em;
  }
#builgingProblem i:before{
      content:"";
      display: block;
      background-repeat: no-repeat;
      background-size: contain;
      background-position: 0 0;
      font-size: 0;
    }
#builgingProblem li:nth-child(1) i:before{
    background-image : url( "../images/ui/icon/building_cart.svg" ) ;
      }
#builgingProblem li.client i::before{
        background-image: url("../images/ui/icon/shops.svg") !important;
  }
#builgingProblem li:nth-child(2) i:before{
        background-image: url("../images/ui/icon/set_square.svg");
      }
#builgingProblem li:nth-child(3) i:before{
        background-image: url("../images/ui/icon/helmet.svg");
      }
#builgingProblem li span{
    display: grid;
    grid-auto-flow: column;
    justify-content: start;
  }
#builgingProblem li span:before{
      content:"";
      display: block;
      background: url("../images/ui/icon/check01.svg") 0 0 / contain no-repeat;
      font-size: 0;
    }
#builgingProblem .box{
    background-color: #555151;
    position: relative;
    color:#fff;
  }
#builgingProblem .box:before{
      content:"";
      display: block;
      position: absolute;
      left: 50%;
      translate:-50% 0;
      background: url("../images/ui/parts/down01.svg") 0 0 / contain no-repeat;
    }
#builgingProblem .box h2{
      text-align: center;
      letter-spacing: .05em;
      text-indent: .05em;
      font-weight: 500;
    }
#builgingProblem .box p{
      letter-spacing: 0.05em;
    }
@media screen and (max-width: 750px){
#builgingProblem{
    padding-top: calc( ( 70 - 4.6 ) var(--remBase) );
    padding-bottom: calc( 133 var(--remBase) )
}
    #builgingProblem > h2{
      font-size: 4.6rem;
      line-height: 1.2;
    }
    #builgingProblem ul{
      margin-top: calc( 46 var(--remBase) );
    }
    #builgingProblem li{
      height: calc( 138 var(--remBase) );
      grid-template-columns: calc( 138 var(--percentBase) ) 1fr;
    }
      #builgingProblem li + li{
        border-top-width: calc( 2 var(--remBase) );
      }
    #builgingProblem i{
      font-size: calc( 22 var(--remBase) );;
      line-height: 2;
      text-align: center;
      text-indent: 0.05em;
      height: 100%;
    }
      #builgingProblem i:before{
        margin-inline: auto;
      }
    #builgingProblem li:nth-child(1){
      padding-top: calc( 4 var(--remBase) );
    }
        #builgingProblem li:nth-child(1) i:before{
          background-position: center bottom;
          width: calc( 76 * 100% / 158 );
          height: calc( 70 var(--remBase) );
          margin-bottom: calc( ( 18 - 11 ) var(--remBase) );
        }
      #builgingProblem li:nth-child(2) i{
        padding-top: calc( 25 var(--remBase) );
      }
        #builgingProblem li:nth-child(2) i:before{
          width: calc( 65 * 100% / 158 );
          height: calc( 42 var(--remBase) );
          margin-bottom: calc( ( 15 - 11 ) var(--remBase) );
        }
      #builgingProblem li:nth-child(3) i{
        padding-top: calc( 27 var(--remBase) );
      }
        #builgingProblem li:nth-child(3) i:before{
          width: calc( 59 * 100% / 158 );
          height: calc( 51 var(--remBase) );
          margin-bottom: 0;
        }
    #builgingProblem li span{
      column-gap: calc( 11 * 100% / 512 );
      grid-template-columns: calc( 43 * 100% / 512 ) 1fr;
      margin-top: calc( ( 32 - 8 ) var(--remBase) );
      font-size: calc( 26 var(--remBase) );;
      line-height: calc( 46 / 26 );;
    }
      #builgingProblem li span:before{
        height: calc( 35 var(--remBase) );
        margin-top: calc( 5.5 var(--remBase) );
      }
    #builgingProblem li:nth-child(3) span{
      margin-top: 0;
      align-items: center;
      height: 100%;
    }
    #builgingProblem .box{
      margin-top: calc( 95 var(--remBase) );
      padding-bottom: calc( ( 70 - 10 ) var(--remBase) );
      padding-top: calc( ( 78 - 5 ) var(--remBase) );
    }
      #builgingProblem .box:before{
        width: calc( 380 var(--percentBase) );
        height: calc( 48 var(--remBase) );
        top: calc( -75 var(--remBase) );
      }
      #builgingProblem .box h2{
        font-size: 5rem;
        line-height: 1.2;
      }
      #builgingProblem .box p{
        padding-inline: calc( 30 var(--percentBase) );
        font-size: calc( 26 var(--remBase) );;
        line-height: calc( 46 / 26 );;
        margin-top: calc( ( 51 - 10 ) var(--remBase) );
      }
  }
@media print,screen and (min-width: 750.02px ){
#builgingProblem{
    padding-top: calc( 107 var(--remBase) );
    padding-bottom: calc( 146 var(--remBase) )
}
    #builgingProblem > h2{
      font-size: 5rem;
    }
    #builgingProblem ul{
      margin-top: calc( 52 var(--remBase) );
      width: calc( 1160 var(--percentBase) );
      margin-inline: auto;
    }
    #builgingProblem li{
      align-items: center;
      height: calc( 88 var(--remBase) );
      grid-template-columns: calc( 236 * 100% / 1160 ) 1fr;
    }
      #builgingProblem li + li{
        border-top-width: 1px;
      }
    #builgingProblem i{
      display: grid;
      align-items: center;
      justify-content: start;
      font-size: calc( 20 var(--remBase) );;
      line-height: 2.2;
    }
      #builgingProblem li i{
        grid-template-columns: calc( 80 * 100% / 236 ) 1fr;
        column-gap: calc( 4 * 100% / 236 );
      }
        #builgingProblem li i:before{
          height: calc( 78 var(--remBase) );
        }
    #builgingProblem li span{
      grid-template-columns: calc( 44 * 100% / 924 ) 1fr;
      column-gap: calc( 11 * 100% / 924 );
      align-items: center;
      font-size: calc( 22 var(--remBase) );;
      line-height: 2;
    }
      #builgingProblem li span:before{
        height: calc( 36 var(--remBase) );
        margin-top: calc( 8 var(--remBase) );
      }
    #builgingProblem .box{
      margin-top: calc( 78 var(--remBase) );
      padding-bottom: calc( ( 81 - 11 ) var(--remBase) );
      margin-inline: auto;
      padding-top: calc( 85 var(--remBase) );
    }
      #builgingProblem .box:before{
        width: calc( 380 var(--percentBase) );
        height: calc( 48 var(--remBase) );
        top: calc( -55 var(--remBase) );
      }
      #builgingProblem .box h2{
        font-size: 5rem;
      }
      #builgingProblem .box p{
        text-indent: 0.05em;
        font-size: calc( 22 var(--remBase) );;
        line-height: 2;
        text-align: center;
        margin-top: calc( ( 56 - 11 ) var(--remBase) );
      }
  }
#interiorAchievement{
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color:var(--white);
}
#interiorAchievement h3{
    text-align: center;
    letter-spacing: .05em;
    text-indent: .05em;
    font-weight: 200;
  }
@media screen and (max-width: 750px){
#interiorAchievement{
    padding-top: calc( 135 var(--remBase) );
    padding-bottom: calc( ( 188 - 2.6 ) var(--remBase) );
    background-image: url("../images/whatwedo/interior/bg_archivement_sp.webp")
}
    #interiorAchievement h3{
      font-size: 6rem;
    }
  }
@media print,screen and (min-width: 750.02px ){
#interiorAchievement{
    padding-top: calc( 113 var(--remBase) );
    padding-bottom: calc( 108 var(--remBase) );
    background-image: url("../images/whatwedo/interior/bg_archivement_pc.webp")
}
    #interiorAchievement h3{
      font-size: 8rem;
    }
    #interiorAchievement > a{
      margin-inline: auto;
      -webkit-text-decoration: underline;
      text-decoration: underline;
      font-weight: 200;
      text-align: center;
      letter-spacing: .05em;
      text-indent: .05em;
      display: block;
      color:var(--white);
      margin-top: calc( ( 71 - 13 ) var(--remBase) );
      font-size: 2.6rem;
    }
  }
#interiorSwiper picture{
    width: 100%;
  }
#interiorSwiper picture img{
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
#interiorSwiper .swiper-wrapper {
    transition-timing-function: linear;
  }
#interiorSwiper h4{
    letter-spacing: 0.05em;
  }
#interiorSwiper .swiper-slide{
    width: auto;
    display: block;
  }
#interiorSwiper .box > div ul{
      display: flex;
      flex-wrap: wrap;
    }
#interiorSwiper .box > div li{
      display: grid;
      place-items:center;
      color:#fff;
      background-color: #666;
      text-align: center;
      letter-spacing: .05em;
      text-indent: .05em;
    }
#interiorSwiper .box > div p span + span:before{
        content:"｜";
        white-space: pre;
      }
#interiorSwiper .box > p{
      letter-spacing: 0.05em;
    }
@media screen and (max-width: 750px){
#interiorSwiper{
    margin-top: calc( 61 var(--remBase) )
}
    #interiorSwiper .box{
      width: calc( 590 var(--remBase) );
      margin-inline: calc( 15 var(--remBase) );
    }
    #interiorSwiper picture{
      height: calc( 452 var(--remBase) );
    }
    #interiorSwiper h4{
      font-size: 3.4rem;
      line-height: 1.2;
      margin-top: calc( ( 21 - 3.4 ) var(--remBase) );
    }
    #interiorSwiper .box > div{
      margin-top: calc( ( 30 - 3.4 ) var(--remBase) );
      column-gap: calc( 30 var(--remBase) );
    }
      #interiorSwiper .box > div ul{
        column-gap: calc( 10 var(--remBase) );
      }
      #interiorSwiper .box > div li{
        height: calc( 40 var(--remBase) );
        font-size: 2.4rem;
        padding-inline:calc( 21 var(--remBase) );
        min-width: calc( 140 var(--remBase) );
      }
      #interiorSwiper .box > div p{
        font-size: 2.6rem;
        line-height: 1.2;
      }
    #interiorSwiper .box > p{
      margin-top: calc( ( 13 - 2.6 - 2.6 ) var(--remBase) );
      font-size: 2.6rem;
      line-height: 1.2;
    }
  }
@media print,screen and (min-width: 750.02px ){
#interiorSwiper{
    margin-top: calc( 68 var(--remBase) )
}
    #interiorSwiper .box{
      width: calc( 460 var(--remBase) );
      margin-inline: calc( 10 var(--remBase) );
    }
    #interiorSwiper picture{
      height: calc( 360 var(--remBase) );
    }
    #interiorSwiper h4{
      font-size: 3rem;
      line-height: 1.2;
      margin-top: calc( ( 17 - 3 ) var(--remBase) );
    }
    #interiorSwiper .box > div{
      display: flex;
      flex-wrap: wrap;
      margin-top: calc( ( 15 - 3 - 7 ) var(--remBase) );
      column-gap: calc( 15 var(--remBase) );
    }
      #interiorSwiper .box > div ul{
        column-gap: calc( 4 var(--remBase) );
        margin-top: calc( 7 var(--remBase) );
      }
      #interiorSwiper .box > div li{
        height: calc( 30 var(--remBase) );
        font-size: 1.4rem;
        padding-inline:calc( 19 var(--remBase) );
        min-width: calc( 110 var(--remBase) );
      }
      #interiorSwiper .box > div p{
        font-size: calc( 18 var(--remBase) );;
        line-height: calc( 44 / 18 );;
      }
    #interiorSwiper .box > p{
      margin-top: calc( -13 var(--remBase) );
      font-size: calc( 18 var(--remBase) );;
      line-height: calc( 44 / 18 );;
    }
  }
/*--------------------------------------------
CORPORATE
---------------------------------------------*/
#about{
  overflow: hidden;
  position: relative;
}
#about h2{
    font-weight: 200;
    letter-spacing: 0.04em;
  }
#about p{
    letter-spacing: 0.05em;
  }
#about p span{
      position:absolute;
      display: block;
      width: fit-content;
    }
#about dl{
    display: grid;
    align-items: start;
  }
#about dt{
    display: grid;
    align-items: start;
    justify-content: space-between;
    grid-auto-flow: column;
  }
#about dt:after{
      content:"･･････";
    }
#about :where(dt,dd){
    letter-spacing: 0.05em;
  }
@media screen and (max-width: 750px){
#about{
    padding-top: calc( 72 var(--remBase) );
    padding-bottom: calc( 108 var(--remBase) )
}
    #about:after{
      content:"";
      display: block;
      background: url("../images/corporate/bg_about_sp.webp") 0 0 / contain no-repeat;
      width: 100%;
      height: calc( 500 var(--remBase) );
      margin-top: calc( ( 68 - 13 ) var(--remBase) );
    }
    #about :where( h2 , p , dl ){
      padding-inline:calc( 30 var(--viewportBase) );
    }
    #about h2{
      font-size: 6rem;
    }
    #about :where( p , dt , dd ){
      font-size: calc( 26 var(--remBase) );;
      line-height: 2;
    }
    #about h2 + p{
      margin-top: calc( ( 71 - 13 ) var(--remBase) );
    }
    #about dl{
      grid-template-columns: calc( 211 var(--percentBase) ) 1fr;
      column-gap: calc( 26 var(--percentBase) );
    }
    #about p + dl{
      margin-top: calc( ( 45 - 13 - 13 ) var(--remBase) );
    }
    #about dl + p{
      margin-top: calc( ( 43 - 13 - 13 ) var(--remBase) );
    }
      #about p span{
        left: calc( 290 var(--percentBase) );
        bottom: calc( 526 var(--remBase) );
      }
        #about p span img{
          height: calc( 128 var(--remBase) );
        }
  }
@media print,screen and (min-width: 750.02px ){
    #about:after{
      content:"";
      display: block;
      position: absolute;
      background: url("../images/corporate/bg_about_pc.webp") 0 0 / contain no-repeat;
    }
    #about p{
      line-height: calc( 44 / 22 );
    }
      #about p span{
        bottom: 0;
      }
    #about dl{
      grid-template-columns: calc( 195 * 100% / 1096 ) 1fr;
      column-gap: calc( 28 * 100% / 1096 );
    }
    #about :where(dt,dd){
      line-height: calc( 44 / 22 );
    }
  }
@media print , screen and (min-width: 750.02px ) and (max-width: 1999.98px ){
#about{
    padding-left: calc( 80 var(--designBaseX) );
    padding-right:calc( 824 var(--designBaseX) );
    padding-top: calc( 109 var(--designBaseY) );
    padding-bottom: calc( ( 128 + 33 - 11 ) var(--designBaseY) )
}
    #about:after{
      width: calc( 781 var(--designBaseX) );
      height: calc( 922 var(--designBaseY) );
      top: calc( 37 var(--designBaseY) );
      left:calc( 1233 var(--designBaseX) );
    }
    #about h2{
      font-size: calc( 60 var(--designBaseY) );
    }
    #about p{
      font-size: calc( 22 var(--designBaseY) );
    }
      #about p span{
        left:calc( 739 var(--designBaseX) );
      }
        #about p span img{
          height: calc( 128 var(--designBaseY) );
        }
    #about h2 + p{
      margin-top: calc( ( 41 - 11 ) var(--designBaseY) );
    }
    #about dl{
      margin-top: calc( ( 45 - 11 - 11 ) var(--designBaseY) );
    }
    #about :where(dt,dd){
      font-size: calc( 22 var(--designBaseY) );
    }
    #about dl + p{
      margin-top: calc( ( 46 - 11 - 11 ) var(--designBaseY) );
    }
  }
@media print , screen and (min-width: 2000px ){
#about{
    max-width: 2000px;
    margin-inline: auto;
    padding-left: 80px;
    padding-right: 824px;
    padding-top: 109px;
    padding-bottom: calc( 128px + 33px - 11px )
}
    #about:after{
      width: 781px;
      height: 922px;
      top: 37px;
      left:calc( 50% + 233px );
    }
    #about h2{
      font-size: 60px;
    }
    #about p{
      font-size: 22px;
    }
      #about p span{
        left:calc( 50% - 261px );
      }
        #about p span img{
          height: 128px;
        }
    #about h2 + p{
      margin-top: calc( 41px - 11px );
    }
    #about dl{
      margin-top: calc( 45px - 11px - 11px );
    }
    #about :where(dt,dd){
      font-size: 22px;
    }
    #about dl + p{
      margin-top: calc( 46px - 11px - 11px );
    }
  }
#profile h2{
    display: grid;
    align-items: baseline;
    grid-auto-flow: column;
    justify-content: start;
  }
#profile h2:before{
      letter-spacing: 0.05em;
      font-weight: 200;
      margin-right: .25em;
    }
#profile h2 span{
      letter-spacing: 0.05em;
    }
#profile :where(dt,dd){
    letter-spacing: 0.05em;
  }
#profile .separate li{
      display: inline;
	white-space: nowrap;
    }
#profile .separate li:not(:last-child):after{
      content:"、";
      white-space: pre;
    }
#profile dl dl{
    display: grid;
    grid-template-columns: 3em 1fr;
    align-items: start;
  }
@media screen and (max-width: 750px){
#profile{
    padding-bottom: calc( ( 118 - 5 ) var(--remBase) )
}
      #profile h2:before{
        font-size: 6rem;
      }
      #profile h2 span{
        font-size: 3rem;
      }
    #profile > dl{
      margin-top: calc( ( 52 - 5 ) var(--remBase) );
    }
    #profile >dl >:where(dt,dd){
      font-size: calc( 26 var(--remBase) );;
      line-height: calc( 36 / 26 );;
    }
    #profile > dl > dt{
      font-weight: 500;
    }
    #profile > dl > dd{
      margin-top: calc( ( 10 ) var(--remBase) );
      padding-left: calc( 60 var(--percentBase) );
    }
    #profile > dl > dd + dt{
      margin-top: calc( 30 var(--remBase) );
    }
  }
@media print,screen and (min-width: 750.02px ){
    #profile > dl >:where(dd,dt):not(:first-of-type){
      border-top: solid 1px #eeeaea;
    }
    #profile :where(dt,dd){
      line-height: calc( 33 / 22 );
    }
    #profile > dl{
      display: grid;
      grid-template-columns: calc( 240 * 100% / 1100 ) 1fr;
      align-items: start;
    }
    #profile > dl > dt{
      padding-left: calc( 18 * 100% / 240 );
    }
  }
@media print , screen and (min-width: 750.02px ) and (max-width: 1999.98px ){
#profile{
    padding-left: calc( 74 var(--designBaseX) );
    margin-top: calc( -6 var(--designBaseY) );
    padding-bottom: calc( ( ( 119 - 23 ) ) var(--remBase) )
}
      #profile h2:before{
        font-size: calc( 60 var(--designBaseY) );
      }
      #profile h2 span{
        font-size: calc( 26 var(--designBaseY) );
      }
    #profile > dl{
      margin-top: calc( 21 var(--designBaseY) );
      margin-left: calc( 3 * 100% / 1926 );
      width: calc( 1100 * 100% / 1926 );
    }
    #profile > dl >:where(dt,dd){
      padding-block: calc( 20 var(--remBase) );
      font-size: calc( 22 var(--designBaseY) );
    }
  }
@media print , screen and (min-width: 2000px ){
#profile{
    margin-top: -6px;
    max-width: 2000px;
    margin-inline: auto;
    padding-left: 74px;
    padding-bottom: calc( 119px - 23px )
}
      #profile h2:before{
        font-size: 60px;
      }
      #profile h2 span{
        font-size: 26px;
      }
    #profile > dl{
      margin-left: 3px;
      width: 1100px;
      margin-top: 21px;
    }
    #profile > dl >:where(dt,dd){
      font-size: 22px;
      padding-block: 20px;
    }
  }
/*--------------------------------------------
RECRUIT
---------------------------------------------*/
#recruit > p{
    letter-spacing: 5px;
  }
#recruit > dl >:where(dt,dd){
    letter-spacing: 0.05em;
  }
#recruit .horizontal{
    display: flex;
    flex-wrap: wrap;
  }
#recruit .horizontal > li+li:before{
      content:"・";
      white-space: pre;
    }
#recruit .indent > li{
      text-indent: 1em;
    }
@media screen and (max-width: 750px){
#recruit{
    padding-top: calc( ( 85 - 3.4 ) var(--remBase) );
    padding-bottom: calc( ( 212 - 6.5 ) var(--remBase) )
}
    #recruit > p{
      font-size: 3.4rem;
      line-height: 1.2;
    }
    #recruit > dl{
      margin-top: calc( ( 90 - 3.4 - 6.5 ) var(--remBase) );
      row-gap: calc( ( 24 - 5.5 ) var(--remBase) );
    }
    #recruit > dl > dt{
      font-size: calc( 26 var(--remBase) );;
      line-height: 1.5;
    }
    #recruit > dl > dd{
      margin-top: calc( ( 29 - 3.4 - 6.5 ) var(--remBase) );
      font-size: calc( 26 var(--remBase) );;
      line-height: 1.5;
      padding-left: calc( 60 var(--percentBase) );
    }
      #recruit > dl > dd + dt{
        margin-top: calc( ( 43 - 6.5 - 3.4 ) var(--remBase) );
      }
  }
@media print,screen and (min-width: 750.02px ){
#recruit{
    padding-top: calc( 76 var(--remBase) );
    padding-bottom: calc( ( 143 - 5.5 ) var(--remBase) )
}
    #recruit > p{
      text-indent: 0.05em;
      text-align: center;
      font-size: 2.6rem;
    }
    #recruit > dl{
      margin-top: calc( ( 65 - 5.5 ) var(--remBase) );
      display: grid;
      grid-template-columns: calc( 300 var(--percentBase) ) 1fr;
      row-gap: calc( ( 24 - 5.5 ) var(--remBase) );
    }
    #recruit > dl >:where(dt,dd){
      font-size: calc( 22 var(--remBase) );;
      line-height: 1.5;
    }
      #recruit > dl >:where(dt,dd):not(:first-of-type){
        border-top: solid 1px #eeeaea;
        padding-top: calc( ( 24 - 5.5 ) var(--remBase) );
      }
    #recruit > dl > dt{
      padding-left: calc( 20 * 100% / 300 );
    }
  }
#entry > h2{
    text-align: center;
    letter-spacing: .05em;
    text-indent: .05em;
    font-weight: 200;
  }
#entry .birthdays{
    display: grid;
    position: relative;
  }
#entry .birthdays .error{
      position: absolute;
      top: 100%;
    }
@media screen and (max-width: 750px){
#entry{
    padding-bottom: calc( 115 var(--remBase) )
}
    #entry > h2{
      font-size: 6rem;
    }
    #entry form > dl{
      margin-top: calc( 91 var(--remBase) );
    }
  }
@media print,screen and (min-width: 750.02px ){
#entry{
    padding-bottom: calc( 120 var(--remBase) )
}
    #entry > h2{
      font-size: 6rem;
    }
    #entry form > dl{
      margin-top: calc( 72 var(--remBase) );
    }
    #entry .birthdays{
      align-items: center;
    }
  }
#entry :where(.mw_wp_form_input , .mw_wp_form_confirm) .address label{
      letter-spacing: 0.05em;
    }
#entry :where(.mw_wp_form_input , .mw_wp_form_confirm) .address li{
      display: grid;
      justify-content: start;
      align-items: center;
      grid-auto-flow: column;
    }
@media screen and (max-width: 750px){
      #entry :where(.mw_wp_form_input , .mw_wp_form_confirm) .address li:first-child{
        grid-template-columns: calc( 130 * 100% / 600 ) calc( 260 * 100% / 600 );
      }
      #entry :where(.mw_wp_form_input , .mw_wp_form_confirm) .address li + li{
        margin-top: calc( 18 var(--remBase) );
        grid-template-columns: calc( 130 * 100% / 600 ) 1fr;
      }
      #entry :where(.mw_wp_form_input , .mw_wp_form_confirm) .address label{
        font-size: 2.6rem;
      }
  }
@media print,screen and (min-width: 750.02px ){
      #entry :where(.mw_wp_form_input , .mw_wp_form_confirm) .address ul{
        display: grid;
        padding-left: calc( 10 * 100% / 1090 );
        padding-right: calc( 30 * 100% / 1090 );
        grid-template-columns: calc( 488 * 100% / 1050 ) 1fr;
        row-gap: calc( 11 var(--remBase) );
      }
      #entry :where(.mw_wp_form_input , .mw_wp_form_confirm) .address li{
        column-gap: calc( 30 var(--remBase) );
      }
        #entry :where(.mw_wp_form_input , .mw_wp_form_confirm) .address li:last-child{
          grid-column: 1/3;
        }
      #entry :where(.mw_wp_form_input , .mw_wp_form_confirm) .address label{
        font-size: 2.2rem;
      }
  }
@media screen and (max-width: 750px){
   #entry .mw_wp_form_input .birthdays{
      align-items: end;
      grid-template-columns: calc( 180 * 100% / 600 ) calc( 67 * 100% / 600 ) calc( 100 * 100% / 600 ) calc( 65 * 100% / 600 ) calc( 100 * 100% / 600 ) auto 1fr;
    }
      #entry .mw_wp_form_input .birthdays span{
        font-size: calc( 26 var(--remBase) );;
        line-height: 1.5;
        padding-left: calc( 11 var(--remBase) );
      }
    #entry .mw_wp_form_input #entry_freespace{
      width: 100%;
      height: calc( 324 var(--remBase) );
    }
    #entry .mw_wp_form_input #privacies{
      margin-top: calc( 90 var(--remBase) );
    }
  }
@media print,screen and (min-width: 750.02px ){
        #entry .mw_wp_form_input form > dl > dt .required{
          justify-content: space-between;
        }
    #entry .mw_wp_form_input :where( #entry_name , #entry_jname , #entry_email ){
      width: calc( 600 * 100% / 1090 );
    }
    #entry .mw_wp_form_input .birthdays{
      grid-template-columns: calc( 160 * 100% / 1090 ) calc( 103 * 100% / 1090 ) calc( 160 * 100% / 1090 ) calc( 94 * 100% / 1090 ) calc( 160 * 100% / 1090 ) auto 1fr;
    }
      #entry .mw_wp_form_input .birthdays span{
        font-size: 2.2rem;
        padding-left: calc( 17 var(--remBase) );
      }
    #entry .mw_wp_form_input #entry_tel{
      width: calc( 420 * 100% / 1090 );
    }
      #entry .mw_wp_form_input .address li:nth-child(1){
        grid-template-columns: auto calc( 184 * 100% / 488 );
      }
      #entry .mw_wp_form_input .address li:nth-child(2){
        grid-template-columns: auto calc( 275 * 100% / 562 );
      }
      #entry .mw_wp_form_input .address li:nth-child(3){
        grid-template-columns: auto calc( 320 * 100% / 488 );
      }
      #entry .mw_wp_form_input .address li:nth-child(4){
        grid-template-columns: auto 1fr;
      }
      #entry .mw_wp_form_input .address li:nth-child(5){
        grid-template-columns: auto 1fr;
      }
    #entry .mw_wp_form_input #entry_freespace{
      width: calc( 800 * 100% / 1090 );
      height: calc( 250 var(--remBase) );
    }
    #entry .mw_wp_form_input #privacies{
      margin-top: calc( 102 var(--remBase) );
    }
  }
@media screen and (max-width: 750px){
:where( body.confirm , body.thanks ) #entry{
      padding-top: calc( 80 var(--remBase) )
  }
    }
@media print,screen and (min-width: 750.02px ){
:where( body.confirm , body.thanks ) #entry{
      padding-top: calc( 80 var(--remBase) )
  }
    }
#entry .mw_wp_form_confirm .birthdays{
    grid-auto-flow: column;
    justify-content: start;
  }
/*--------------------------------------------
CONTACT
---------------------------------------------*/
#contact > p{
    letter-spacing: 0.05em;
  }
#contact .birthdays{
    display: grid;
  }
@media screen and (max-width: 750px){
#contact{
    padding-top: calc( ( 85 - 2.6 ) var(--remBase) );
    padding-bottom: calc( 115 var(--remBase) )
}
    #contact > p{
      font-size: 2.6rem;
      line-height: 1.2;
    }
    #contact form > dl{
      margin-top: calc( ( 114 - 2.6 ) var(--remBase) );
    }
  }
@media print,screen and (min-width: 750.02px ){
#contact{
    padding-top: calc( ( 75 - 6.5 ) var(--remBase) );
    padding-bottom: calc( 106 var(--remBase) )
}
    #contact > p{
      font-size: calc( 26 var(--remBase) );;
      line-height: 1.5;
      text-indent: 0.05em;
      text-align: center;
    }
    #contact form > dl{
      margin-top: calc( ( 123 - 6.5 ) var(--remBase) );
    }
  }
@media screen and (max-width: 750px){
    #contact .mw_wp_form_input #contact_content{
      width: 100%;
      height: calc( 324 var(--remBase) );
    }
    #contact .mw_wp_form_input #privacies{
      margin-top: calc( 111 var(--remBase) );
    }
  }
@media print,screen and (min-width: 750.02px ){
        #contact .mw_wp_form_input form > dl > dt .required{
          justify-content: start;
        }
    #contact .mw_wp_form_input :where( #contact_company , #contact_name ){
      width: calc( 600 * 100% / 1090 );
    }
    #contact .mw_wp_form_input #contact_email{
      width: calc( 843 * 100% / 1090 );
    }
    #contact .mw_wp_form_input #contact_tel{
      width: calc( 400 * 100% / 1090 );
    }
    #contact .mw_wp_form_input #contact_content{
      width: calc( 800 * 100% / 1090 );
      height: calc( 250 var(--remBase) );
    }
    #contact .mw_wp_form_input #privacies{
      margin-top: calc( 60 var(--remBase) );
    }
  }
/*--------------------------------------------
PRIVACY
---------------------------------------------*/
#privacy :where( h2 , p , li , h3 ){
    letter-spacing: 0.05em;
  }
#privacy h2{
    border-bottom-color: #ccc;
    border-bottom-style: solid;
    font-weight: 500;
  }
#privacy h3{
    font-weight: 400;
  }
#privacy .list > li, #privacy p[data-before]{
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: auto 1fr;
  }
@media screen and (max-width: 750px){
#privacy{
    padding-top: calc( ( 50 - 4 ) var(--remBase) );
    padding-bottom: calc( ( 74 - 13 ) var(--remBase) )
}
    #privacy h2{
      font-size: 4rem;
      line-height: 1.2;
      border-bottom-width: calc( 8 var(--remBase) );
      padding-bottom: calc( ( 29 - 4 ) var(--remBase) );
    }
      #privacy h2 + p{
        margin-top: calc( ( 29 - 13 ) var(--remBase) );
      }
    #privacy :where(p , li ){
      font-size: calc( 26 var(--remBase) );;
      line-height: 2;
    }
    #privacy > ul, #privacy > ul > li + li{
      margin-top: calc( 52 var(--remBase) );
    }
    #privacy h3{
      font-size: calc( 34 var(--remBase) );;
      line-height: calc( 52 / 34 );;
    }
  }
@media print,screen and (min-width: 750.02px ){
#privacy{
    padding-top: calc( ( 64 - 4 ) var(--remBase) );
    padding-bottom: calc( ( 116 - 11 ) var(--remBase) )
}
    #privacy h2{
      font-size: calc( 34 var(--remBase) );;
      line-height: calc( 42 / 34 );;
      border-bottom-width: calc( 6 var(--remBase) );
      padding-bottom: calc( ( 27 - 8 ) var(--remBase) );
    }
      #privacy h2 + p{
        margin-top: calc( ( 27 - 11 ) var(--remBase) );
      }
    #privacy :where(p , li ){
      font-size: calc( 22 var(--remBase) );;
      line-height: 2;
    }
    #privacy > ul, #privacy > ul > li + li{
      margin-top: calc( 44 var(--remBase) );
    }
    #privacy h3{
      font-size: calc( 32 var(--remBase) );;
      line-height: calc( 44 / 32 );;
    }
  }
/*--------------------------------------------
SECURITY
---------------------------------------------*/
#security :where( h2 , p , li , h3 , time ){
    letter-spacing: 0.05em;
  }
#security h2{
    border-bottom-color: #ccc;
    border-bottom-style: solid;
    font-weight: 500;
  }
#security h3{
    font-weight: 400;
  }
#security .list > li, #security p[data-before]{
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: auto 1fr;
  }
#security footer{
    text-align: right;
  }
@media screen and (max-width: 750px){
#security{
    padding-top: calc( ( 50 - 4 ) var(--remBase) );
    padding-bottom: calc( ( 88 - 13 ) var(--remBase) )
}
    #security h2{
      font-size: 4rem;
      line-height: 1.2;
      border-bottom-width: calc( 8 var(--remBase) );
      padding-bottom: calc( ( 29 - 4 ) var(--remBase) );
    }
      #security h2 + p{
        margin-top: calc( ( 29 - 13 ) var(--remBase) );
      }
    #security :where(p , li , time ){
      font-size: calc( 26 var(--remBase) );;
      line-height: 2;
    }
    #security > ul, #security > ul > li + li, #security footer{
      margin-top: calc( 52 var(--remBase) );
    }
    #security h3{
      font-size: calc( 34 var(--remBase) );;
      line-height: calc( 52 / 34 );;
    }
  }
@media print,screen and (min-width: 750.02px ){
#security{
    padding-top: calc( ( 64 - 4 ) var(--remBase) );
    padding-bottom: calc( ( 95 - 11 ) var(--remBase) )
}
    #security h2{
      font-size: calc( 34 var(--remBase) );;
      line-height: calc( 42 / 34 );;
      border-bottom-width: calc( 6 var(--remBase) );
      padding-bottom: calc( ( 27 - 8 ) var(--remBase) );
    }
      #security h2 + p{
        margin-top: calc( ( 27 - 11 ) var(--remBase) );
      }
    #security :where(p , li , time ){
      font-size: calc( 22 var(--remBase) );;
      line-height: 2;
    }
    #security > ul, #security > ul > li + li, #security footer{
      margin-top: calc( 44 var(--remBase) );
    }
    #security h3{
      font-size: calc( 32 var(--remBase) );;
      line-height: calc( 44 / 32 );;
    }
  }