.ttl02 {
    font-family: 'Montserrat', sans-serif;
    font-size: 115%;
    letter-spacing: 0.2em;
    text-align: center;
    margin-bottom: 40px;
    color: #95a1a4;
}
.ttl02 span {
    padding-left: 2px;
    padding-bottom: 5px;
    border-bottom: 1px solid #eee;
    display: inline-block;
}

.concept-section {
      display: flex;
    flex-direction: row;
    margin-bottom: 180px;
  font-family:'Noto Serif JP', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 500;
}
.concept-section p {
  text-align: center;
  line-height: 1.8;
}
.concept-section .left {
  width: 50%;
  position: relative;
  box-sizing: border-box;
  padding: 10px;
}
.concept-title {
        position: absolute;
    width: 93%;
    transform: rotate(90deg);
    right: -20%;
    bottom: 35%;
}
.concept-img {
  width: 75%;
}
.concept-section .right {
      width: 50%;
  box-sizing: border-box;
  padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  position: relative;
}
.title-text {
      font-size: 23px;
    margin-bottom: 50px;
}

.top-reservation-section {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    margin-bottom: 140px;
    background: #F7F2F2;
}
.top-reservation-title {
    position: absolute;
    top: -53px;
    right: 0;
    width: 90%;
    max-width: 850px;
}
.top-reservation-img {
     width: 50%;
}
.top-reservation-text {
    width: 50%;
    padding: 20px;
}
.top-reservation-section p {
  text-align: center;
  font-family:'Noto Serif JP', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  line-height: 1.8;
}
.top-reservation-link {
  position: relative;
  height: 50px;
  margin-top: 30px;
}
.top-reservation-link p {
      text-align: right;
    padding-right: 15%;
}
.ct-section {
      position: relative;
    background: #F7F2F2;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding: 100px 20px;
}
.ct-section-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.items-title {
        position: absolute;
    width: 43%;
    top: -6vw;
    max-width: 500px;
}
.ct-banner {
  list-style: none;
  text-align: center;
  }
.ct-banner li {
   display: inline-block;
   margin: 1%;
   width: 17%;
  position: relative;
}
.ct-banner img {
  width: 100%;
}

.btnarrow3-wrap {
       position: absolute;
    bottom: 1%;
    /* top: 1px; */
    right: 7%;
}
/*矢印が右に移動する*/
.btnarrow3{
      position: relative;
    display: inline-block;
    padding: 0 41px 0 12px;
    color: #292929;
    text-decoration: none;
    outline: none;
    font-size: 16px;
}

/*矢印と下線の形状*/
.btnarrow3::before{
    content: '';
    /*絶対配置で下線の位置を決める*/
  position: absolute;
    bottom:-8px;
    left:15%;
    /*下線の形状*/    
    width: 85%;
    height: 1px;
  background:#292929;
    /*アニメーションの指定*/
    transition: all .3s;
}

.btnarrow3::after{
    content: '';
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    bottom:-3px;
    right:0;
    /*矢印の形状*/    
    width: 15px;
    height:1px;
  background:#292929;
    transform: rotate(35deg);
    /*アニメーションの指定*/
    transition: all .3s;
}

/*hoverした際の移動*/
.btnarrow3:hover::before{
    left:20%;
}

.btnarrow3:hover::after{
    right:-5%;
}

.btnarrow4-wrap {
      position: absolute;
    bottom: 27px;
    /* top: 1px; */
    right: 12px;
}
/*矢印が右に移動する*/
.btnarrow4{
    /*矢印と下線の基点とするためrelativeを指定*/
  position: relative;
    /*形状*/
    display: inline-block;
  padding: 0 20px;
    color: #292929;
    text-decoration: none;
    outline: none;
}

/*矢印と下線の形状*/
.btnarrow4::before{
    content: '';
    /*絶対配置で下線の位置を決める*/
  position: absolute;
    bottom:-8px;
    left:15%;
    /*下線の形状*/    
    width: 85%;
    height: 1px;
  background:#292929;
    /*アニメーションの指定*/
    transition: all .3s;
}

.btnarrow4::after{
    content: '';
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    bottom:-3px;
    right:0;
    /*矢印の形状*/    
    width: 15px;
    height:1px;
  background:#292929;
    transform: rotate(35deg);
    /*アニメーションの指定*/
    transition: all .3s;
}

/*hoverした際の移動*/
.btnarrow4:hover::before{
    left:20%;
}

.btnarrow4:hover::after{
    right:-5%;
}


.info {
    margin: 0px auto 100px;
}
.info-title {
      width: 43%;
    display: inline-block;
    float: left;
}
.info-list {
      width: 50%;
    margin-top: 30px;
    text-align: left;
    display: inline-block;
}
.info-list__unit {
  margin-bottom: 20px;
}
.info-list__date {
      display: inline-block;
    font-size: 13px;
    margin-bottom: 8px;
    margin-right: 30px;
}
.news-btn {
    width: 200px;
    margin: 40px auto 0px;
}
.news-btn a {
    border-top: 1px solid #aeaeae;
    border-bottom: 1px solid #aeaeae;
    width: 100%;
    display: block;
    color: #292929;
    text-align: center;
    line-height: 30px;
    text-decoration: none;
    font-size: 72%;
    transition: 0.3s;
}
.news-btn a:hover {
  background: #efefef;
transition-duration: 0.3s;
}
.lookbanner-section {
      margin-bottom: 80px;
    padding: 20px 0;
}
.lookbanner-list {
      display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 32px;
}
.look-banner {
      width: 100%;
    max-width: 700px;
    display: block;
    margin: 0 auto;
}
.top-caution-section {
        background: #F7F2F2;
    padding: 32px;
    max-width: 700px;
    margin: 0 auto 80px;
    font-family: 'Noto Serif JP', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    text-align: center;
}
.top-caution-h3 {
      font-size: 14px;
    text-align: center;
    font-weight: 500;
    margin-bottom: 32px;
}
.top-caution-text-head {
      font-size: 14px;
    margin: 24px 0 8px;
}
.about-product-section {
  max-width: 700px;
   margin: 0 auto 40px;
    padding: 20px 0;
  font-family:'Noto Serif JP', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 500;
}
.about-product-title {
      width: 45%;
    margin: 0 auto 40px;
    text-align: center;
}
.about-product-section p {
  text-align: center;
  line-height: 1.8;
}
.director-section {
      display: flex;
    flex-direction: row;
    margin-bottom: 180px;
  font-family:'Noto Serif JP', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 500;
}
.director-section p {
  text-align: center;
  line-height: 1.8;
}
.director-section .left {
      width: 50%;
    position: relative;
    box-sizing: border-box;
    padding: 10px;
}

.director-img {
      width: 70%;
    display: block;
    margin: 0 auto;
}
.director-section .right {
      width: 50%;
  box-sizing: border-box;
  padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  position: relative;
}
.sp-only {
  display: none;
}
@media screen and (max-width:768px) { 
  .sp-only {
  display: block;
}
  .pc-only {
  display: none;
}
   .concept-section {
    display: flex;
    flex-direction: column;
    margin-bottom: 140px;
}
  .concept-section p {
    text-align: center;
  }
  .concept-section .left {
    width: 100%;
    position: relative;
    box-sizing: border-box;
    padding: 10px;
}
  .concept-section .right {
    width: 100%;
    box-sizing: border-box;
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 470px;
    margin: 0 auto;
}
  .btnarrow3-wrap {
    position: absolute;
    bottom: -34px;
    /* top: 1px; */
    right: -3px;
}
  .items-title {
    position: absolute;
    width: 45%;
    top: -10vw;
}
  
  .top-reservation-section {
    justify-content: center;
    flex-direction: column;
    margin-bottom: 80px;
}
  .top-reservation-title {
        position: absolute;
    top: -60px;
    right: 0;
    left: 0;
    margin: auto;
    width: 90%;
    max-width: 850px;
}
  .top-reservation-img {
    width: 86%;
    margin-top: -20px;
}
  .top-reservation-text {
    width: 100%;
    padding: 20px 7px 40px;
    box-sizing: border-box;
}
 .top-reservation-link .btnarrow3-wrap {
    bottom: 0px;
}
  
  .info-list {
    width: 100%;
    margin-top: 30px;
    text-align: left;
    display: inline-block;
}
  .lookbanner-list {
      display: grid;
    grid-template-columns: 1fr;
    grid-gap: 32px;
}
  .top-caution-section {
    padding: 32px 16px;
  }
  .director-section {
    display: flex;
    flex-direction: column;
    margin-bottom: 140px;
}
  .director-section p {
    text-align: center;
  }
  .director-section .left {
    width: 100%;
    position: relative;
    box-sizing: border-box;
    padding: 10px;
}
  .director-section .right {
    width: 100%;
    box-sizing: border-box;
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 470px;
    margin: 0 auto;
}
}
@media screen and (max-width:480px) { 
 
  .title-text {
    font-size: 20px;
    margin-bottom: 25px;
}
  .ct-section {
    position: relative;
    background: #F7F2F2;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding: 55px 10px;
}
  .items-title {
    position: absolute;
    width: 71%;
    top: -50px;
}
    .top-reservation-title {
        position: absolute;
    top: -60px;
    right: 0;
    left: 0;
    margin: auto;
    width: 100%;
    max-width: 850px;
}
  .ct-banner li {
    display: inline-block;
    margin: 3%;
    width: 41%;
    position: relative;
}
  .info-title {
    width: 70%;
    display: inline-block;
    float: left;
}
  .about-product-title {
     width: 79%;
  }
  
}

