
/* ==========================================================================
    Typograpgy
   ========================================================================== */
   .main_inner * {
    color: #343434;
    font-family: toppan-bunkyu-mincho-pr6n, serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
  }
  
  /* ==========================================================================
     Base
     ========================================================================== */
  .main_inner,
  .main {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  
  .main_inner *,
  .main * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  
  #wrap {
    width: 100%;
    /* background-image: url(../img/pc.jpg); */
    background-size: 1600px;
    background-position-x: center;
    background-position-y: -189px;
    background-repeat: no-repeat;
  }
 
  #wrap .inner {
    width: 100%;
    margin: 3rem auto 0;
  }
  
  .inner img {
    width: 100%;
    /* opacity: 0.5; */
  }
  
  .inner .sp_only {
      display: none!important;
  }

  .inner .txt {
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.1em;
  }

  .inner .prc {
    display: block;
    font-size:1.2rem;
    line-height: 2.17;
    letter-spacing: 0.12em;
    text-align: center;
    margin-top: 2.1rem;
  }

  .inner .ft {
    font-size:2rem;
    letter-spacing: 0.1em;
    font-family: futura-pt, sans-serif;    
    font-weight: 300;    
    font-style: normal;    
  } 

  .inner .ttl {
    font-size: 2.4rem;
    letter-spacing: 0.11em;
  }

  .inner .banner {
    background-color:#dededf ;
    width: 100%;
    padding: 5rem 0 5rem 0;
    position: relative;
  }

  .inner .banner::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 0.3rem;
    top: 48rem;
    background-color: #fff;
  }

  .inner .banner .mvbox {
    width:100rem;
    margin: 0 auto;
    display:  flex;
  }
  
  .inner .banner .box01 {
    margin: 12.8rem 0 0 1rem;
  }

  .inner .banner .box01 h3{
    font-size: 3.4rem;
    line-height:2 ;
    letter-spacing: 0.11em;
  }

  .inner .banner .box01 .txt01 {
    margin-top: 15.3rem;
  }

  .inner .banner .box02 {
    width: 42rem;
    margin-left:7.6rem;
    z-index: 1;
  }

  .inner02 {
    width: 120rem;
    margin: 0 auto;
  }

  /* section01 */
  .inner .sec01 {
    width: 104rem;
    margin: 15rem auto 0;
    text-align: center;
  }
  
  .inner .sec01 .box01 {
    display: flex;
    justify-content: space-between;
  }

  .inner .sec01 .img01 {
    width: 46.1rem;
  }

  .inner .sec01 .it02 {
    width: 50rem;
    padding: 2em 0 0 0;
    position: relative;
  }

  .inner .sec01 .it02::before {
    content: "";
    width: 3rem;
    height: 6rem;
    border-top: 1px solid #999999;
    border-left: 1px solid #999999;
    display: block;
    position: absolute;
    bottom: 20.3rem;
    left: 0;
  }

  .inner .sec01 .it02::after {
    content: "";
    width: 3rem;
    height: 6rem;
    border-bottom: 1px solid #999999;
    border-right: 1px solid #999999;
    display: block;
    position: absolute;
    bottom: 2rem;
    right: 0;
  }

  .inner .sec01 .it02 .icon {
    margin: 3rem  auto 0; 
    width: 2rem;
    height: 2rem;
  }

  .inner .sec01 .it02 .ttl01 {
    margin-top: 2.7rem;
  }

  .inner .sec01 .it02 .line01 {
    width: 0.6rem;
    margin: 2.7rem auto 0;
  }

  .inner .sec01 .it02 .txt01 {
    margin-top: 8.3rem;
  }
  

  .inner .sec01 .box02 {
    width: 66rem;
    margin: 11.9rem auto 0;
    display: flex;
    justify-content: space-between;
  }

  .inner .sec01 .box02 .img01 {
    width: 30rem;
  }

  .inner .sec01 .box02 .txt01 {
    margin-top: 8.4rem;
  }

  .inner .line02 {
    margin-top: 14.2rem;
    width: 100%;
    height: 1px;
    background-color: #999999;
  }
  
  /* section02 */
  .inner .sec02 {
    margin: 12rem auto 0;
  }

  .inner .sec02 .box01 .img01{
    order: 2;    
  }

  .inner .sec02 .box01 .it02{
    order: 1;    
  }

  /* section03*/
  .inner .sec03  {
    margin: 12rem  auto 0;
  }

  .inner .sec03 .it02 {
    padding: 1em  0 0 0;
    position: relative;
  }

  .inner .sec03 .it02::before {
    content: "";
    position: absolute;
    bottom: 19.7rem;
    left: 0;
  }

  .inner .sec03 .it02::after {
    content: "";
    position: absolute;
    bottom: 1.2rem;
    right: 0;
  }

  .inner .sec03 .it02 .icon {
    margin: 3.3rem   auto 0; 
  }

  .inner .sec03 .it02 .ttl01 {
    margin-top: 3rem;
  }

  .inner .sec03 .it02 .line01 {
    width: 0.6rem;
    margin: 3.7rem auto 0;
  }

  .inner .sec03 .it02 .txt01 {
    margin-top: 8.4rem;
  }

  .inner .sec01 .box02 .img01 {
    width: 30.1rem;
  }

  /* section04*/
  .inner .sec04  {
    margin: 11.8rem  auto 0;
  }

  .inner .sec04 .box01 .img01{
    order: 2;    
  }

  .inner .sec04 .box01 .it02{
    order: 1;    
  }

  .inner .sec04 .it02 {
    padding: 2em  0 0 0;
    position: relative;
  }

  .inner .sec04 .it02::before {
    content: "";
    position: absolute;
    bottom: 18.9rem;
    left: 0;
  }

  .inner .sec04 .it02::after {
    content: "";
    position: absolute;
    bottom: 0.5rem;
    right: 0;
  }

  .inner .sec04 .it02 .icon {
    margin: 3.3rem   auto 0; 
  }

  .inner .sec04 .it02 .ttl01 {
    margin-top: 2.8rem;
  }

  .inner .sec04 .it02 .line01 {
    width: 0.6rem;
    margin: 3.7rem auto 0;
  }

  .inner .sec04 .it02 .txt01 {
    margin-top: 8.4rem;
  }

  .inner .sec04 .box02 {
    width: 102rem;
    margin: 12rem auto 0;
    display: flex;
    justify-content: space-between;
  }

  .inner .sec04 .box02 .img01 {
    width: 30.1rem;
  }

  /* section05*/
  .inner .sec05  {
    margin: 11.8rem  auto 0;
  }

  .inner .sec05 .it02 {
    padding: 0.7em 0 0 0;
    position: relative;
  }

  .inner .sec05 .it02::before {
    content: "";
    position: absolute;
    bottom: 20.2rem;
    left: 0;
  }

  .inner .sec05 .it02::after {
    content: "";
    position: absolute;
    bottom: 0.5rem;
    right: 0;
  }

  .inner .sec05 .it02 .icon {
    margin: 3.3rem   auto 0; 
  }

  .inner .sec05 .it02 .ttl01 {
    margin-top: 2.8rem;
  }

  .inner .sec05 .it02 .line01 {
    width: 0.6rem;
    margin: 3.7rem auto 0;
  }

  .inner .sec05 .it02 .txt01 {
    margin-top: 8.5rem;
  }

  .inner .sec05 .box02 {
    width: 102rem;
    margin: 12.2rem auto 0;
    display: flex;
    justify-content: space-between;
  }

  .inner .sec05 .box02 .img01 {
    width: 30rem;
  }

  .inner .view_all {
    width: 46rem;
    margin: 14.4rem auto 0;
  }

  .inner .endimg {
    width: 30.6rem;
    margin: 12rem auto 0;
  }

  .inner .endimg .txt {
    margin-top: 3.5rem;
    text-align: center;
    letter-spacing: 0.15em;
    white-space: nowrap;
  }

  
  



  





  /* ====== TABLET ===== */
  @media screen and (max-width: 1280px) and (min-width:751px){
    html{
      font-size: calc(10*(100vw/1280));
    }
  }



 
 
 
 
 
 
  /* ====== SP ===== */
@media only screen and (max-width: 750px) {
 
 
  #Contents {
    width: 100%;
    /* background-image: url(../img/sp.jpg); */
    background-size: 100%;
    background-position-x: center;
    background-position-y:-166px;
    background-repeat: no-repeat;
    color: #343434;
  }
 
  .bredlist.lp {
    line-height: 5.33333vw;
    font-size: 2.66667vw;
    margin: 3.33333vw auto;
    width: 92.592%;
    text-align: left;
    padding: 0;
  }
　.main_inner {
    padding: 0 calc(45 * (100vw / 750));
  }

  #wrap .sp_only {
    display: block!important;
  }
 
  #wrap .pc_only {
    display: none!important;
  }
  
  #wrap .inner {
    width: 100%;
    margin: calc(29 * (100vw / 750)) auto;
    overflow: hidden;
  }  
 
  .inner .txt {
    font-size: calc(22 * (100vw / 750));
    line-height: 2;
    letter-spacing: 0.05em;
  }

  .inner .prc {
    display: block;
    font-size:calc(22 * (100vw / 750));
    line-height: 1.5;
    letter-spacing: 0.12em;
    text-align: center;
    margin-top: calc(19 * (100vw / 750));
  }

  .inner .ft {
    font-size:calc(34 * (100vw / 750));
    letter-spacing: 0.1em;
    font-family: futura-pt, sans-serif;    
    font-weight: 300;    
    font-style: normal;    
  } 

  .inner .ttl {
    font-size: calc(42 * (100vw / 750));
    letter-spacing: 0.11em;
  }

  .inner .banner {
    background-color:#dededf ;
    width: 100%;
    padding: calc(75 * (100vw / 750)) 0 calc(64 * (100vw / 750)) 0;
    position: relative;
    text-align: center;
  }

  .inner .banner::before {
    content: "";
    position: absolute;
    width: 100%;
    height: calc(6 * (100vw / 750));
    top: calc(804 * (100vw / 750));
    left: calc(0* (100vw / 750));
    background-color: #fff;
  }

  .inner .banner .mvbox {
    width:100%;
    margin: 0 auto;
    display:  flex;
    flex-direction: column;
  }
  
  .inner .banner .box01 {
    margin: calc(1* (100vw / 750)) 0 0 0;
  }

  .inner .banner .box01 h3{
    font-size: calc(38* (100vw / 750));
    line-height:1.75;
    letter-spacing: 0.1em;
  }

  .inner .banner .box01 .txt01 {
    margin-top: calc(64* (100vw / 750));
  }

  .inner .banner .box02 {
    margin: calc(34* (100vw / 750)) auto 0;
    width: calc(500* (100vw / 750));
  }

  .inner02 {
    width: 100%;
    margin: 0 auto;
  }

  /* section01 */
  .inner .sec01 {
    width: calc(650* (100vw / 750));
    margin: calc(150* (100vw / 750)) auto 0;
    text-align: center;
  }
  
  .inner .sec01 .box01 {
    flex-direction: column;
    margin-top: calc(50* (100vw / 750));
  }

  .inner .sec01 .img01 {
    width: 100%;
  }

  .inner .sec01 .it02 {
    width: 100%;
    padding: 0;
    position: relative;
  }

  .inner .sec01 .it02 .txt01 {
    margin-top: calc(130* (100vw / 750));
  }

  .inner .sec01 .it02::before {
    content: "";
    width: calc(45* (100vw / 750));
    height: calc(90* (100vw / 750));
    border-top: calc(2* (100vw / 750)) solid #999999;
    border-left: calc(2* (100vw / 750)) solid #999999;
    display: block;
    position: absolute;
    bottom: calc(223* (100vw / 750));
    left: 0;
  }

  .inner .sec01 .it02::after {
    content: "";
    width: calc(45* (100vw / 750));
    height: calc(90* (100vw / 750));
    border-bottom: calc(2* (100vw / 750)) solid #999999;
    border-right: calc(2* (100vw / 750)) solid #999999;
    display: block;
    position: absolute;
    bottom: calc(-50* (100vw / 750));
    right: 0;
  }

  .inner .sec01 .ttlbox .icon {
    margin: calc(43* (100vw / 750))  auto 0; 
    width: calc(40* (100vw / 750));
    height: calc(40* (100vw / 750));
  }

  .inner .sec01 .ttlbox .ttl01 {
    margin-top: calc(39* (100vw / 750));
  }

  .inner .sec01 .ttlbox .line01 {
    width: calc(12* (100vw / 750));
    margin: calc(37* (100vw / 750))  auto 0;
  }

  .inner .sec01 .ttlbox .txt01 {
    margin-top: calc(140* (100vw / 750));
  }
  

  .inner .sec01 .box02 {
    width: 100%;
    margin: calc(128* (100vw / 750)) auto 0;
  }

  .inner .sec01 .box02 .img01 {
    width: calc(300* (100vw / 750));
  }

  .inner .sec01 .box02 .txt01 {
    margin-top: calc(25* (100vw / 750));
  }

  .inner .line02 {
    margin: calc(123* (100vw / 750)) auto 0;
    width: calc(700* (100vw / 750));
    height:calc(2* (100vw / 750));  
  }
  
  /* section02 */
  .inner .sec02 {
    margin: calc(150  * (100vw / 750)) auto 0;
  }

  .inner .sec02 .box01 .img01{
    order: 1;    
  }

  .inner .sec02 .box01 .it02{
    order: 2;    
  }

  .inner .sec02 .it02::before {
    bottom: calc(268 * (100vw / 750));
  }

  .inner .sec02 .box02 {
    margin: calc(108* (100vw / 750)) auto 0;
  }

  /* section03*/
  .inner .sec03  {
    margin: calc(150 * (100vw / 750)) auto 0;
  }

  .inner .sec03 .it02 {
    padding: calc(10 * (100vw / 750))  0 0 0;
    position: relative;
  }

  .inner .sec03 .it02::before {
    content: "";
    position: absolute;
    bottom: calc(267 * (100vw / 750));
    left: 0;
  }

  .inner .sec03 .it02::after {
    content: "";
    position: absolute;
    bottom: calc(-50 * (100vw / 750));
    right: 0;
  }

  .inner .sec03 .it02 .icon {
    margin: calc(30 * (100vw / 750))   auto 0; 
  }

  .inner .sec03 .it02 .ttl01 {
    margin-top: calc(20 * (100vw / 750));
  }

  .inner .sec03 .it02 .line01 {
    margin: calc(37 * (100vw / 750)) auto 0;
  }

  .inner .sec03 .it02 .txt01 {
    margin-top: calc(118 * (100vw / 750));
  }

  /* section04*/
  .inner .sec04  {
    margin: calc(149 * (100vw / 750)) auto 0;
  }

  .inner .sec04 .box01 .img01{
    order: 1;    
  }

  .inner .sec04 .box01 .it02{
    order: 2;    
  }

  .inner .sec04 .it02 {
    padding: calc(21 * (100vw / 750)) 0 0 0;
    position: relative;
  }

  .inner .sec04 .it02::before {
    content: "";
    position: absolute;
    bottom: calc(268 * (100vw / 750));
    left: 0;
  }

  .inner .sec04 .it02::after {
    content: "";
    position: absolute;
    bottom: calc(-50 * (100vw / 750));
    right: 0;
  }

  .inner .sec04 .it02 .icon {
    margin: calc(30 * (100vw / 750))  auto 0; 
  }

  .inner .sec04 .it02 .ttl01 {
    margin-top: calc(30 * (100vw / 750));
  }

  .inner .sec04 .it02 .line01 {
    width: calc(12 * (100vw / 750));
    margin: calc(30 * (100vw / 750)) auto 0;
  }

  .inner .sec04 .it02 .txt01 {
    margin-top: calc(108  * (100vw / 750));
  }

  .inner .sec04 .box02 {
    width: 100%;
    margin: calc(131 * (100vw / 750)) auto 0;
    display: flex;
    justify-content: space-between;
  }

  .inner .sec04 .box02 .img01 {
    width: calc(200 * (100vw / 750));
  }

  /* section05*/
  .inner .sec05  {
    margin: calc(148 * (100vw / 750))  auto 0;
  }

  .inner .sec05 .it02 {
    padding: calc(10 * (100vw / 750)) 0 0 0;
    position: relative;
  }

  .inner .sec05 .it02::before {
    content: "";
    position: absolute;
    bottom: calc(266  * (100vw / 750));
    left: 0;
  }

  .inner .sec05 .it02::after {
    content: "";
    position: absolute;
    bottom: calc(-50 * (100vw / 750));
    right: 0;
  }

  .inner .sec05 .it02 .icon {
    margin: calc(30 * (100vw / 750))  auto 0; 
  }

  .inner .sec05 .it02 .ttl01 {
    margin-top: calc(20 * (100vw / 750))
  }

  .inner .sec05 .it02 .line01 {
    margin: calc(30 * (100vw / 750)) auto 0;
  }

  .inner .sec05 .it02 .txt01 {
    margin-top: calc(119 * (100vw / 750))
  }

  .inner .sec05 .box02 {
    width: 100%;
    margin: calc(130 * (100vw / 750)) auto 0;
    display: flex;
    justify-content: space-between;
  }

  .inner .sec05 .box02 .img01 {
    width: calc(200 * (100vw / 750));
  }

  .inner .view_all {
    width: calc(570* (100vw / 750));
    margin: calc(147 * (100vw / 750)) auto 0;
  }

  .inner .endimg {
    width: calc(590* (100vw / 750));
    margin: calc(120* (100vw / 750)) auto 0;
  }

  .inner .endimg .txt {
    margin-top:calc(-2* (100vw / 750)) ;
    text-align: center;
    font-size:calc(24* (100vw / 750)) ;
    letter-spacing: 0.15em;
  }

  .inner .endimg .txt02 {
    margin-top:calc(27* (100vw / 750)) ;
    font-size:calc(28* (100vw / 750)) ;
    text-align: center;
    letter-spacing: 0.15em;
  }


}



/* fade */
.fade {
  transition-property: opacity, transform;
  transition-duration: 2s;
  opacity: 0;
  transform: translateY(5px);
}

.fade.onView {
  opacity: 1;
  transform: translateY(0);
}


.fade_d {
  transition-property: opacity, transform;
  transition-duration: 2s;
  transition-delay:0.25s;  
  opacity: 0;
  transform: translateY(5px);
  
}

.fade_d.fadedelay {
  opacity: 1;
  transform: translateY(0);
}

.fade_dd {
  transition-property: opacity, transform;
  transition-duration: 2s;
  transition-delay:0.5s;  
  opacity: 0;
  transform: translateY(5px);
  
}

.fade_dd.fadedelay02 {
  opacity: 1;
  transform: translateY(0);
}

 
 

