@charset "utf-8";

body {
  font-family: 'Noto Sans JP', sans-serif;
  color: #5d627b;
  background-color:  #26262d;
}

/* span {
  display: inline-block;
} */

img {
  height: auto;
  width: 100%;
}

/* ヘッダー */
.head_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 50px 0;
  height: 60px;
  background-color: #26262d;
  color: rgb(255, 255, 255);
}

.head_logo img {
 width: 50%;
}

.lesnav_menu {
  display: none;
}

.nav_menu ul {
  display: flex;
  gap: 30px;
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 2px;
}

.menu-btn {
  display: none;
}

.carousel_inner {
  position: relative;
  width: 100%;
  background-color: #fff;
}

.fv {
  width:100%;
  height: calc(100vh - 60px);  
  object-fit: cover;
  z-index: -1;
  
}

.fv_logo01 {
  position: absolute;
  top: 40px;
  right: 30px;
}

.fv_logo02 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.fv_logo03 {
  position: absolute;
  top: 100px;
  right: 100px;
}

.fv_copy {
  position: absolute;
  bottom: 0px;
  left: 0px;
}

.content_layout {
  display: flex;
}

/* サイドバー */
.side_nav {
  width: 300px;
  height: 100vh;
  padding-top: 30px;
  color: #5d627b;
  background-color: #F2F2F2;
 

}

.side_nav_inner {
  width: 80%;
  margin: 0 auto;
}

.side_nav_menu { 
  padding-top: 30px;

  font-size: 1.2rem;
  font-weight: bold;
} 

.side_nav_menu li {
  padding-bottom: 30px;
  padding-left: 20px;
}

.slick-prev,
.slick-next {
  z-index: 100;
}

.slick-prev {
  left: 0px;
}
.slick-next {
  right: 30px;
}

.slick-prev:before {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 0 10px;
  border-bottom: 2px solid #5d627b;
  border-left: 2px solid #5d627b;
  
  transform: rotate(45deg);
  color: transparent;
}

.slick-next:before {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 0 10px;
  border-top: 2px solid #5d627b;
  border-right: 2px solid #5d627b;
  transform: rotate(45deg);
  color: transparent;

}


.box {
  padding-left: 20px;
  padding-bottom: 20px;
  border-top: 1px solid #ccc;
}

.box p {
  padding: 10px 0;
  font-weight: bold;
}

.fixed {
  position: fixed;
  top: 0px;
  left: 0;
  width: 100%;
  z-index: 10;
  width: 300px;
  padding-top: 50px;
}

.fixed_02 {
  margin-left: 300px;

}

/* フリーワード */

.search-box {
  display: flex;
  width: 100%;
  padding-right: 20px;
}

.search-box input[type="text"] {
  width: 100%;
  padding: 0.3rem 0 0.3rem 0.8rem;
  border: 1px solid #5d627b;
  border-radius: 0.3rem 0 0 0.3rem;
}

.search-box button {
  cursor: pointer;
  padding: .4rem .45rem .4rem .4rem;
  border-radius: 0 0.3rem 0.3rem 0;
  background-color:  #5d627b;
  border: 1px solid #5d627b;
  color: rgb(255, 255, 255);
  font-size: 1rem;
}

.search-box input:focus {
  outline: 0;
  border: 1px solid #adbaed;
}

.search-box  button:hover,.btn_search button:hover {
  color: #5d627b;
  background:  #ffffff;
}


/* チェックボックス */

.checkbox {
  display: grid;
  grid-template-columns: 50% 50%; /*200pxの列トラックを2列表示させる*/
  gap: 5px 0px;
}



.deco-checkbox { display: block; font-size: 1rem; }
.deco-checkbox:hover { cursor: pointer; }
.deco-checkbox input { display: none; }
.deco-checkbox input+.dummy {
    width: 20px;
    height: 20px;
    border: 1px solid #5d627b;
    border-radius: 0.3rem 0.3rem 0.3rem 0.3rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    vertical-align: text-top;
}
.deco-checkbox input:checked+.dummy:after {
    content: "";
    width: 70%;
    height: 70%;
    background-color: #5d627b;
    border-radius: 50%;
}

/* 検索ボタン */
.btn_search a {
  margin-top: 20px;
  border: 1px solid #5d627b;
  border-radius: 2rem ;
  background-color: #5d627b;
  color: rgb(255, 255, 255);
  text-align: center;
  margin-right: 20px;
  display: block;
}

.btn_search a:hover {
  color: #5d627b;
  background:  #ffffff;
}



/* メインコンテンツ */

.content {
  width: calc(100% - 300px);
  background-color: #F9FFE3; 
  padding-top: 80px;
}

.content_title {
  width: 60%;
  margin: 0 auto 30px;
  text-align: center;
}

.content_title h1 {
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
  border-bottom: 2px solid #ccc;
  padding-bottom: 10px;
  letter-spacing: 5px;
  margin-bottom: 10px;
}

.content_title P {
  letter-spacing: 5px;
  font-weight: bold;
  line-height: 25px;
}

/* NEWS */

.topic {
  width: 80%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr ;
  column-gap: 25px;
  row-gap: 25px ;
}

.topic_content {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}

.topic_img  {
  width: 100%;
  height: auto;
  border: 10px solid #BABABA;
  aspect-ratio: 4/3;
}

.topic_img img,.pickup_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.topic_copy {
  width: 100%;
  background-color: #ffffff;
  text-align: left;
  padding: 20px;
}

.topic_copy p {
  font-size: 0.8rem;
}

.topic_copy h3,.pickup_copy h3 {
  font-size: 1.2rem;
  font-weight: bold;
  margin: 10px 0;
}



/* ピックアップ */
.pickup {
  margin-top: 50px;
  padding-top: 50px;
  background-image: url(../img/back01.png);
  background-repeat: no-repeat;
  background-position: center;
  padding-bottom: 80px;
}

.pickup_content {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}

.pickup_img  {
  width: 100%;
  background: white;
  border-top: solid 5px #5d627b;
  padding: 10px;
}

.pickup_copy p {
  font-size: 0.8rem;
  padding-top: 5px;
}

.pickup_copy {
  width: 100%;
  background-color: #ffffff;
  text-align: left;
  padding: 10px 20px 20px;
}

.service {
  margin-top: 50px;
  padding-bottom: 50px;
}

.service_content {
  width: 80%;
  align-items: center;
  text-align: left;
  margin: 0 auto;
}

.service_content img {
  width: 100%;
  padding-bottom: 5px;
}

.service_content h3 {
  font-weight: bold;
}

.footer_menu {
  margin-left: 300px;
  background-color: #26262d;
}

.footer_img {
  text-align: center;
}

.footer_img img {
  width: 10%;
  margin: 30px 0  ;

}

.footer_nav {
  width: 80%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  column-gap: 25px;
}


.footer_nav ul {
  border-left: 1px solid #ffffff;
  padding-left: 30px;
}

.footer_nav li {
  padding-bottom: 10px;
}

.footer_nav_menu {
  font-weight: bold;
  color: #ffffff;
}

.copyright {
  color: #ffffff;
  text-align: center;
  font-size: small;
  padding: 15px 0 ;
}

.nav_menu ul li a {
  position: relative;
}



/* 下線のアニメーション　ヘッダー */

.gnavi li a{
  /*線の基点とするためrelativeを指定*/
position: relative;
}

.gnavi li.current a,
.gnavi li a:hover{
color:#ffffff;
}

.gnavi li a::after {
  content: '';
  /*絶対配置で線の位置を決める*/
  position: absolute;
  bottom: -5px;
  left: 0;
  /*線の形状*/
  width: 100%;
  height: 1px;
  background:#ffffff;
  /*アニメーションの指定*/
  transition: all .3s;
  transform: scale(0, 1);/*X方向0、Y方向1*/
  transform-origin: center top;/*上部中央基点*/
}

/*現在地とhoverの設定*/
.gnavi li.current a::after,
.gnavi li a:hover::after {
  transform: scale(1, 1);/*X方向にスケール拡大*/
}



/* 下線のアニメーション　ヘッダー */

.gnavi01 li a{
  /*線の基点とするためrelativeを指定*/
position: relative;
}

.gnavi01 li.current a,
.gnavi01 li a:hover{
color:#000000;
}

.gnavi01 li a::after {
  content: '';
  /*絶対配置で線の位置を決める*/
  position: absolute;
  bottom: -5px;
  left: 0;
  /*線の形状*/
  width: 100%;
  height: 1px;
  background:#000000;
  /*アニメーションの指定*/
  transition: all .3s;
  transform: scale(0, 1);/*X方向0、Y方向1*/
  transform-origin: center top;/*上部中央基点*/
}

/*現在地とhoverの設定*/
.gnavi01 li.current a::after,
.gnavi01 li a:hover::after {
  transform: scale(1, 1);/*X方向にスケール拡大*/
}

/* フェードイン */

.fadeIn {
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px); 
  transition: opacity 1s, visibility 1s, transform 1s;
}

.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* スマホ表示 */
@media (max-width: 930px) {

  body.noscroll {
    overflow:hidden;
  }
  .head_inner {
    display: block;
    position: fixed;
    background-color: transparent;
    padding: 0;
    top: 13px;
    left: 20px;
    z-index: 888;
    mix-blend-mode: difference;
  }

  .head_menu {
    display: none;
  }

  .gnavi {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 888 ;
  }

  .menu-btn {
    display: block;
    width: 40px;
    height: 40px;
    position: fixed;
    padding: 0;
    top: 10px;
    right: 20px;
    border: none;
    background-color: transparent;
    cursor: pointer;
    justify-content: right;
    font-size: 0.5rem;
    z-index: 999 ;
    mix-blend-mode: difference;
  }

  .lesnav_menu.active{
    display: block;
  }

  .menu-btn span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #fff6b5;
    position: absolute;
    transition: 0.5s;
  }

  .menu-btn span:first-child {
    top: calc(50% - 8px);
  }

  .menu-btn span:last-child {
    top: calc(50% + 8px);
  }

  .menu-btn.active span:first-child {
    transform: rotate(45deg);
    top: calc(50% - 0px);
    background-color: #FEF4E5;
  }
  
  .menu-btn.active span:last-child {
    transform: rotate(-45deg);
    top: calc(50% + 0px);
    background-color: #FEF4E5;
  }

  .menu-btn.active span:nth-child(2) {
    background: transparent;
  }

  .nav_menu {
    display: none;

  }

  .content {
    padding-top: 30px;
  }

  .carousel_inner {
    width: 100%;
    margin-top: 50px;
  }
  

  .lesnav_menu ul {
    display: block;
    font-size: 1.8rem;
    width: 100vw;
    height: 100vh;
    background-color: #26262d;
    opacity: 0.95;
    color: #FEF4E5;
    text-align: center;
    padding: 100px 50px 0;
    z-index: 999;
    text-align: left;
  }

  .lesnav_menu li {
    padding-bottom: 10px;
  }

  .side_nav {
    display: none;
  }

  .content {
    width: 100%;
  }

  .content_title {
    width: 95%;
    margin: 0 auto 20px;
    padding: 0 10px 0 ;
    font-size: 1rem;
  }

  .content_title h1 {
    font-size: 1.5rem;
  }

  

  .fixed_02 {
    margin-left: 0px;  
  }

  .topic {
    width: 95%;
    grid-template-columns: 1fr;
  }

  .service_content {
    font-size: 0.8rem;
    text-align: center;
  }

  .service_content h3 {
    font-size: 1rem;
  }

  .service_content img {
    width: 60%;
  }

  .footer_menu {
    margin-left: 0px;
  }

  .footer_img img {
    width: 50%;
  }

  .copyright p {
    text-align: center;
  }
  
 #rent_menu {
  display: none;
 }

}