@charset "utf-8";
* {
   box-sizing: border-box;
}
footer{background-color: dimgray;}
#footer{box-sizing: content-box;
        padding-top:0;
        }
.footer-box3{display: block;}
.footer-box3 li{padding-bottom: 3px;}
.footer-box2{width: 70%;
             padding:0;}
body {
   margin: 0;
   padding: 0;
   font-family: "Shippori Mincho", "Helvetica Neue", serif; 
   background-color: #d1dde6;
   letter-spacing : 0.2em;
}
header {
   padding: 30px 4% 10px;
   position: fixed;
   top: 0;
   width: 100%;
   background-color: transparent;
   display: flex;
   align-items: center;
}
h1 {
   margin: 0; padding: 0;
   font-size: 20px;
}
h2{
   margin: 0; padding: 0;
   font-size: 30px;
}
h3{
   margin: 0; padding: 0;
   font-size: 20px;
}
h4{
   margin: 0; padding: 0;
   font-size: 15px;
}
a {   
   text-decoration: none;
   color: #888b8d;
}
nav {
   margin: 0 0 0 auto;
}
ul {
   list-style: none;
   margin: 0;
   display: flex;
}
li {
   margin: 0 0 0 15px;
   font-size: 14px;
}

h2 {
   margin: 0;
   font-size: 30px;
   font-weight: normal;
   color: #888b8d;
   border:0;}

.sp-nav {
   display: none;
}
.top-logo{width: 100%;
          margin: 0 auto;
          }
.top-logo img{width: 10%;
              min-width:200px;
              margin: 0 auto 20px auto;}
.top-logo h3{color:#888b8d;
             font-size: 2em;
             font-weight: 200;
             margin-top:5%;}
.top-logo h4{color: #888b8d;
             margin-top:10px;}
.smalllogo{width: 10%;
           min-width: 150px;}
.smalllogo img{width: 100%;}
.bloc-consept{text-align: center;
              display: block;
              color: #888b8d;}
.bloc-consept p{font-size: 1.5em;
                }
.bloc-consept h2{margin-bottom: 20px;}
.bloc-lineup{width: 90%;}
.bloc-lineup img{
                 max-height: 400px;
                  width: auto;}
@media screen and (max-width: 640px) {
   .bloc-consept{width: 90%;}
   .bloc-consept p{font-size: 1.2em;
                   margin: 0;
                padding: 0;}
   .top-logo img{width: 50%;}
   .top-logo h3{font-size: 1.5em;}
   .pc-nav {
      display: none;
   }
   .sp-nav {
      z-index: 1;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      display: block;
      width: 100%;
      background: rgba(0, 0, 0, .8);
      opacity: 0;
      transform: translateY(-100%);
      transition: all .2s ease-in-out;
   }
   #hamburger {
      position: relative;
      display: block;
      width: 30px;
      height: 25px;
      margin: 0 0 0 auto;
   }
   #hamburger span {
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 100%;
      height: 2px;
      background-color: #888b8d;
      transform: translateY(-50%);
   }
   #hamburger::before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #888b8d;
   }
   #hamburger::after {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 70%;
      height: 2px;
      background-color: #888b8d;
   }
   /*スマホメニュー*/
   .sp-nav ul {
      padding: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      height: 100%;
   }
   .sp-nav li {
      margin: 0;
      padding: 0;
   }
   .sp-nav li span {
      font-size: 15px;
      color: #fff;
   }
   .sp-nav li a, .sp-nav li span {
      display: block;
      padding: 20px 0;
   }
   /*-閉じるアイコンー*/
   .sp-nav .close {
      position: relative;
      padding-left: 20px;
   }
   .sp-nav .close::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 16px;
      height: 1px;
      background: #fff;
      transform: rotate( 45deg );
   }
   .sp-nav .close::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 16px;
      height: 1px;
      background: #fff;
      transform: rotate( -45deg );
   }
   .toggle {
      transform: translateY( 0 );
      opacity: 1;
   }
   .main-visual {
      padding: 0;
   }
   h2 {
      line-height: 1.6;
      text-align: center;
      border:0;
   }
}
.box{
    color: #fff;
    padding: 40px;
  display:flex;
  justify-content: center;
  align-items: center;
  text-align: center;

}
#box1{
    background: #d1dde6;
    flex-direction: column;
}
#box2{
   background: linear-gradient(180deg, rgba(209,221,230,1) 0%, rgba(228,220,222,1) 84%, rgba(255,189,175,1) 100%);
    flex-direction: column;
}
#box3{
    background: linear-gradient(180deg, rgba(209,221,230,1) 0%, rgba(220,228,224,1) 84%, rgba(175,255,228,1) 100%);
    flex-direction: column;
}
#box4{
    background: #d1dde6;}


/*========= ページネーションCSS ===============*/

.pagination {
  position:fixed;
  right:20px;
  top: 50%;
  transform: translateY(-50%);
  font-size:1em;
  z-index: 10;
  list-style: none;
  display: block;
}

.pagination a {
  display:block;
  height:20px;
  margin-bottom:5px;
  color:#917b4c;
  position:relative;
  padding:4px;
}

.pagination a.active:after {
  box-shadow:inset 0 0 0 5px;
}

/*現在地表示のテキストの設定*/
.pagination a .hover-text {
  position:absolute;
  right:15px;
  top:0;
  opacity:0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  padding-right: 15px;
}

.pagination a:hover .hover-text {
  opacity: 1;
}

.pagination a:after {
  -webkit-transition:box-shadow 0.5s ease;
  transition:box-shadow 0.5s ease;
  width:10px;
  height:10px;
  display: block;
  border:1px solid;
  border-radius:50%;
  content:"";
  position: absolute;
  margin:auto;
  top:0;
  right:3px;
  bottom:0;
}

/*768px以下は現在地表示のテキストを非表示*/
@media screen and (max-width:768px) { 
  .pagination a .hover-text{
    display: none;
  } 
}