@charset "UTF-8";

/* Custom
============================================= */
/* -- -- */
.h2 {
   text-align: center;
   font-family: 'A-OTF A1 Mincho Std Bold', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
   font-size: 14px;
   line-height: 48px;
}

.h2 .en {
   display: block;
   font-family: 'Trajan Pro', serif;
   font-weight: normal;
   font-size: 60px;
   line-height: 1;
   letter-spacing: 0.131em;
   text-transform: uppercase;
}

.h-22 {
   font-family: 'A-OTF A1 Mincho Std Bold', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
   font-size: 22px;
   line-height: 50px;
   letter-spacing: 0.131em;
}

.h-23 {
   font-family: 'A-OTF A1 Mincho Std Bold', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
   font-size: 23px;
   line-height: 30px;
   letter-spacing: 0;
}

.h-30 {
   font-family: 'A-OTF A1 Mincho Std Bold', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
   font-size: 30px;
   line-height: 42px;
   letter-spacing: 0.131em;
}

.h-50 {
   font-family: 'Trajan Pro', serif;
   font-weight: normal;
   font-size: 50px;
   line-height: 50px;
   letter-spacing: 0.131em;
   text-transform: uppercase;
}

@media screen and (max-width: 991px) {
   .h2 .en {
      font-size: 50px;
      line-height: 50px;
   }

   .h-22 {
      font-size: 20px;
   }

   .h-23 {
      font-size: 20px;
   }

   .h-30 {
      font-size: 26px;
   }

   .h-50 {
      font-size: 40px;
   }
}

@media screen and (max-width: 767px) {
   .h2 .en {
      font-size: 40px;
      line-height: 40px;
   }

   .h-22 {
      font-size: 18px;
      line-height: 35px;
   }

   .h-23 {
      font-size: 18px;
      line-height: 35px;
   }

   .h-30 {
      font-size: 24px;
      line-height: 35px
   }

   .h-50 {
      font-size: 35px;
   }
}

/* -- -- */
.cl-yellow {
   color: #8a6f2e;
}

/* -- -- */
.txt-c {
   text-align: center;
}

.txt-r {
   text-align: right;
}

/* -- -- */
/* HOME
============================================= */
@-webkit-keyframes sdb04 {
   0% {
      -webkit-transform: translate(0, 0);
   }

   20% {
      -webkit-transform: translate(0, -10px);
   }

   40% {
      -webkit-transform: translate(0, 0);
   }
}

@keyframes sdb04 {
   0% {
      transform: translate(0, 0);
   }

   20% {
      transform: translate(0, -10px);
   }

   40% {
      transform: translate(0, 0);
   }
}

/* -- -- */
#top_kv {
   width: 100%;
   height: calc(100vh - 170px);
   position: relative;
}

#top_kv h2 {
   width: 60%;
   position: absolute;
   bottom: 75px;
   left: 0;
}

#top_kv .copyright {
   width: 13px;
   height: 160px;
   color: #fff;
   font-family: 'Trajan Pro', serif;
   font-size: 13px;
   line-height: 13px;
   letter-spacing: 0.131em;
   position: absolute;
   top: 30%;
   left: 30px;
   transform: translateY(-50%);
}

#top_kv .copyright .txt-latin {
   letter-spacing: inherit;
}

#top_kv .scroll {
   width: 13px;
   position: absolute;
   top: 30%;
   right: 30px;
   transform: translateY(-50%);
}

#top_kv .scroll img {
   -webkit-animation: sdb04 2s infinite;
   animation: sdb04 2s infinite;
}

.top_slider {
  width: 100%;
  height: 100vh;  
  position: absolute;
  top: 0;
  left: 0;
}

.top_slider .slick-list,
.top_slider .slick-track,
.top_slider .slick-slide {
  width: 100%;
  height: 100%; 
}


.top_slider .slide01 {
   background: url("../img/index/top_kv01.jpg") no-repeat center/cover;
}

.top_slider .slide02 {
   background: url("../img/index/top_kv02.jpg") no-repeat center/cover;
}

.top_slider .slide03 {
   background: url("../img/index/top_kv03.jpg") no-repeat center/cover;
}

.top_slider .slide04 {
   background: url("../img/index/top_kv04.jpg") no-repeat center/cover;
}

.top_slider .slide05 {
   background: url("../img/index/top_kv05.jpg") no-repeat center/cover;
}

.top_slider .slide06 {
   background: url("../img/index/016_BBB4197 ToLoLo studio.jpg") no-repeat center/cover;
}

.top_slider .slide07 {
   background: url("../img/index/028_BBB4200 ToLoLo studio.jpg") no-repeat center/cover;
}

@media screen and (max-width: 767px) {
   #top_kv {
      height: calc(90vh - 110px);
   }

   #top_kv .copyright {
      width: 10px;
      font-size: 10px;
      line-height: 10px;
      left: 10px;
   }

   #top_kv .scroll {
      width: 10px;
      right: 10px;
   }

   #top_kv h2 {
      width: 90%;
   }
}

/* -- -- */
#top_news {
   background-color: #4c4948;
   position: relative;
}

#top_news:before {
   content: '';
   width: calc(50% - 600px);
   height: 100%;
   background-color: #8a6f2e;
   position: absolute;
   top: 0;
   left: 0;
}

#top_news .wrap {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
}

#top_news h2 {
   width: 220px;
   background-color: #8a6f2e;
   color: #000;
   font-weight: 700;
   font-size: 20px;
   line-height: 35px;
   letter-spacing: 0;
   text-align: center;
   padding: 58px 0 57px;
}

#top_news .item {
   width: 480px;
   text-align: left;
   box-sizing: border-box;
   line-height: 35px;
   letter-spacing: 0.06em;
   padding: 28px 50px;
}

#top_news .item+.item {
   border-left: 1px solid #010101;
}

#top_news .item a {
   max-height: 70px;
   overflow: hidden;
   display: block;
   -webkit-line-clamp: 2;
   display: box;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   text-overflow: ellipsis;
   white-space: normal;
}

#top_news .item a:hover {
   text-decoration: underline;
}

@media screen and (max-width: 1440px) {
   #top_news:before {
      width: calc(50% - 480px);
   }

   #top_news h2 {
      width: 20%;
   }

   #top_news .item {
      width: 40%;
      padding: 28px 20px;
   }
}

@media screen and (max-width: 991px) {
   #top_news:before {
      width: calc(50% - 360px);
   }
}

@media screen and (max-width: 767px) {
   #top_news:before {
      display: none;
   }

   #top_news .wrap {
      display: block;
   }

   #top_news h2 {
      width: auto;
      margin: 0 -20px;
      padding: 15px 0;
   }

   #top_news .item {
      width: 100%;
      padding: 10px 0;
   }

   #top_news .item+.item {
      border-top: 1px solid #000;
      border-left: 0;
   }
}

/* -- -- */
#top_about {
   margin-top: 80px;
   position: relative;
   z-index: 1;
}

#top_about:before {
   content: '';
   width: 100%;
   height: 100%;
   background: url("../img/index/top_about_bg.jpg") no-repeat center/cover;
   position: absolute;
   top: 0;
   left: 0;
   opacity: 0.5;
   z-index: -1;
}

#top_about h2 {
   position: absolute;
   top: -30px;
   left: 0;
}

#top_about .box {
   width: 450px;
   margin-left: auto;
   padding: 180px 0;
   position: relative;
}

#top_about .box .desc {
   font-size: 14px;
   padding-top: 40px;
}

#top_about .box .deco {
   width: 507px;
   position: absolute;
   bottom: -125px;
   left: 30px;
}

@media screen and (max-width: 1440px) {
   #top_about .box {
      padding-bottom: 130px;
   }

   #top_about .box .deco {
      width: 420px;
      left: 100px;
   }
}

@media screen and (max-width: 991px) {
   #top_about .box {
      padding-bottom: 180px;
   }

   #top_about .box .deco {
      width: 70%;
      bottom: -20px;
      right: 0;
      left: auto;
   }
}

@media screen and (max-width: 767px) {
   #top_about:before {
      height: 93%;
   }

   #top_about h2 {
      top: -20px;
      left: 20px;
   }

   #top_about .box {
      width: auto;
      margin-left: 0;
      padding: 50px 0 0;
   }

   #top_about .box .desc {
      padding-top: 20px;
   }

   #top_about .box .deco {
      margin: 0 auto;
      padding-top: 10px;
      position: static;
   }
}

/* -- -- */
#top_feature {
   padding: 65px 0 0;
}

#top_feature .desc {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   padding-top: 80px;
}

#top_feature .desc dt {
   width: 480px;
}

#top_feature .desc dt span {
   display: block;
   padding-bottom: 15px;
}

#top_feature .desc dt span:last-child {
   padding-bottom: 0;
}

#top_feature .desc dd {
   width: 540px;
   margin-left: 130px;
}

#top_feature .photo {
   padding-top: 60px;
   padding-bottom: 70px;
}

#top_feature h3 {
   text-align: center;
}

.top_feature-slider {
   margin-top: 50px;
}

.top_feature-slider .sl_photo {
   width: 960px;
   text-align: center;
   margin: 0 10px;
   position: relative;
}

.top_feature-slider .sl_photo .photo_inr {
   width: 100%;
   padding-top: 640px;
}

.top_feature-slider .sl_photo span {
   display: block;
   width: 100%;
   height: 100%;
   color: transparent;
   position: absolute;
   top: 0;
   left: 0;
}

.top_feature-slider .slick-arrow {
   display: block;
   width: 35px;
   height: 70px;
   border: 0;
   color: transparent;
   cursor: pointer;
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   z-index: 1;
}

.top_feature-slider .slick-prev {
   background: url('../img/index/top_feature-prev.svg') no-repeat center top / cover;
   left: 35px;
}

.top_feature-slider .slick-next {
   background: url('../img/index/top_feature-next.svg') no-repeat center top / cover;
   right: 35px;
}

#top_feature .row {
   margin-top: 20px;
   position: relative;
}

#top_feature .row .photo-l {
   width: 50%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

#top_feature .row .box {
   width: 37.5%;
   text-align: center;
   margin-left: auto;
   padding: 140px 0 88px;
}

#top_feature .row .box .item_desc {
   padding-top: 80px;
}

@media screen and (max-width: 1440px) {
   #top_feature .desc dt {
      width: 56%;
   }

   #top_feature .desc dd {
      width: 42%;
      margin-left: 2%;
   }

   #top_feature .row .box {
      width: 46%;
   }

   .top_feature-slider .sl_photo .photo_inr {
      padding-top: 66.66%
   }

}


@media screen and (max-width: 991px) {
   #top_feature .box .item h3 {
      font-size: 22px;
   }
}

@media screen and (max-width: 767px) {
   #top_feature .desc {
      display: block;
      padding-top: 40px;
   }

   #top_feature .desc dt {
      width: auto;
      text-align: center;
   }

   #top_feature .desc dt .h-50 {
      font-size: 32px;
   }

   #top_feature .desc dt .h-30 {
      font-size: 20px;
   }

   #top_feature .desc dt span {
      padding-bottom: 0;
   }

   #top_feature .desc dd {
      width: auto;
      margin-left: 0;
      padding-top: 15px;
   }

   #top_feature .photo {
      padding-top: 40px;
   }

   #top_feature .box {
      display: block;
      padding: 10px 0 30px 0;
   }

   #top_feature .box .item {
      width: 100%;
   }

   #top_feature .box .item+.item {
      margin-top: 10px;
      margin-left: 0;
   }

   #top_feature .box .item .item_desc {
      text-align: justify;
      padding-top: 20px;
   }

   #top_feature .row .photo-l {
      width: 100%;
      height: auto;
      padding-top: 110%;
      position: static;
   }

   #top_feature .row .box {
      width: 100%;
      padding: 40px 0 0;
   }

   #top_feature .row .box h3 {
      font-size: 22px;
   }

   .top_feature-slider .slick-arrow {
      width: 20px;
      height: 40px;
   }
   .top_feature-slider .slick-prev {
      left: 2%;
   }
   .top_feature-slider .slick-next {
      right: 2%;
   }
}

/* -- -- */
#top_golf_range {
   padding: 120px 0 170px;
}

#top_golf_range .desc {
   padding: 60px 0;
}

#top_golf_range .desc .txt {
   padding-top: 20px;
}

#top_golf_range .row {
   position: relative;
   z-index: 1;
}

#top_golf_range .row:before {
   content: '';
   width: 50%;
   height: 100%;
   position: absolute;
   top: 0;
   left: -15px;
   z-index: -1;
}

#top_golf_range .row:after {
   content: '';
   width: 50%;
   height: 100%;
   position: absolute;
   top: 0;
   right: -15px;
   z-index: -1;
}

#top_golf_range .row .box {
   display: flex;
   flex-wrap: wrap;
}

#top_golf_range .row .col {
   width: calc(100% - 10px);
   background-color: #1a1a1a;
}

#top_golf_range .row .col .inner {
   width: 100%;
   max-width: 840px;
   box-sizing: border-box;
   margin: 0 auto;
   padding: 70px 20px;
}

#top_golf_range .row .col+.col {
   margin-left: 20px;
}

#top_golf_range .row .col .photo {
   border-bottom: 15px solid #8a6f2e;
}

#top_golf_range .row .col .photo img {
   width: 100%;
   height: auto;
}

#top_golf_range .row .logo1 {
   width: 170px;
   margin: 0 auto;
}

#top_golf_range .row .logo2 {
   width: 340px;
   margin: 0 auto;
}

#top_golf_range .row h3 {
   padding-top: 50px;
}

#top_golf_range .row .col_desc {
   padding-top: 40px;
}

#top_golf_range .row .photo1 {
   width: 100%;
   max-width: 343px;
   margin: 0 auto;
   padding-top: 60px;
}

#top_golf_range .row .photo2 {
   width: 100%;
   max-width: 500px;
   margin: 0 auto;
   padding-top: 60px;
}

#top_golf_range .photo_bottom {
   width: 768px;
   padding-top: 430px;
   margin: 85px auto 0;
   position: relative;
}

#top_golf_range .photo_bottom iframe {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

#top_golf_range .photo_bottom video {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

#top_golf_range .photo-fw {
   margin-bottom: 20px;
}

#top_golf_range .photo-fw img {
   width: 100%;
   height: auto;
}

#top_golf_range .row .col dl {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   font-family: 'Trend Sans One', sans-serif;
   font-size: 25px;
   letter-spacing: 0.02em;
   line-height: 42px;
   color: #8b6f2e;
   border-bottom: 1px solid #8b6f2e;
   padding: 0 35px 15px;
}

#top_golf_range .row .col dl dt {}

#top_golf_range .row .col dl dd {
   font-size: 42px;
}

#top_golf_range .row .col .sub {
   font-family: 'Trend Sans One', sans-serif;
   font-size: 25px;
   letter-spacing: 0.02em;
   line-height: 42px;
   text-align: center;
   color: #8b6f2e;
   padding-top: 10px;
   padding-bottom: 50px;
}

@media screen and (max-width: 1440px) {}

@media screen and (max-width: 767px) {
   #top_golf_range {
      padding: 80px 0;
   }

   #top_golf_range .desc {
      padding: 30px 0;
   }

   #top_golf_range .desc .txt {
      padding-top: 10px;
   }

   #top_golf_range .row:before,
   #top_golf_range .row:after {
      display: none;
   }

   #top_golf_range .row .box {
      display: block;
      padding: 0;
   }

   #top_golf_range .row .col {
      width: 100%;
   }

   #top_golf_range .row .col+.col {
      margin-left: 0;
   }

   #top_golf_range .row .col .inner {
      padding: 40px 20px 80px;
   }

   #top_golf_range .row .logo2 {
      width: 100%;
      text-align: center;
   }

   #top_golf_range .row h3 {
      height: auto !important;
      padding-top: 30px;
   }

   #top_golf_range .row .col_desc {
      height: auto !important;
      padding-top: 20px;
   }

   #top_golf_range .row .photo1 {
      width: 100%;
      padding-top: 20px;
   }

   #top_golf_range .row .photo2 {
      width: 100%;
      padding-top: 20px;
   }

   #top_golf_range .photo_bottom {
      width: 100%;
      padding-top: 60%;
      margin-top: 40px;
   }
}

/* -- -- */
#top_member_fee {
   padding-bottom: 90px;
   position: relative;
}

#top_member_fee:before {
   content: '';
   background-color: #1a1a1a;
   position: absolute;
   top: 27px;
   right: 0;
   bottom: 0;
   left: 0;
}

#top_member_fee .wrap {
   max-width: 1260px;
}

#top_member_fee .price {
   background-color: #000;
   margin-top: 40px;
   padding: 40px 90px;
}

#top_member_fee .price dl {
   display: table;
   width: 100%;
   box-sizing: border-box;
}

#top_member_fee .price dl+dl {
   padding-top: 25px;
}

#top_member_fee .price dl>* {
   display: table-cell;
   vertical-align: middle;
}

#top_member_fee .price dl dt {
   width: 420px;
   font-size: 28px;
   line-height: 50px;
   letter-spacing: 0;
}

#top_member_fee .price dl dt small {
   font-size: 20px;
}

#top_member_fee .price dl .txt1 strong {
   font-weight: inherit;
   font-size: 44px;
   line-height: 52px;
   letter-spacing: 0.08em;
}

#top_member_fee .price dl .txt1 strong small {
   font-size: 28px;
}

#top_member_fee .price dl .txt3 {
   font-size: 27px;
   line-height: 54px;
   letter-spacing: 0.12em;
}

#top_member_fee .box {
   display: flex;
   flex-wrap: wrap;
   padding-top: 30px;
}

#top_member_fee .box .item {
   width: 410px;
   background-color: #000;
   box-sizing: border-box;
   padding: 10px;
   position: relative;
}

#top_member_fee .box .item:before {
   content: '';
   position: absolute;
   top: 10px;
   right: 10px;
   bottom: 10px;
   left: 10px;
}

#top_member_fee .box .item+.item {
   margin-left: 15px;
}

#top_member_fee .box .item h3 {
   text-align: center;
   font-family: 'Trajan Pro', serif;
   font-weight: normal;
   font-size: 37px;
   line-height: 48px;
   letter-spacing: 0.131em;
   padding: 16px 0;
}

#top_member_fee .box .item .item_price {
   text-align: center;
   padding: 40px 0;
}

#top_member_fee .box .item .item_price .number {
   font-family: 'A-OTF A1 Mincho Std Bold', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
   font-size: 44px;
   line-height: 52px;
   letter-spacing: 0.08em;
}

#top_member_fee .box .item .item_price .number small {
   font-size: 28px;
}

#top_member_fee .box .item .item_desc {
   line-height: 28px;
   border-top: 1px solid;
   padding: 20px 30px;
}

#top_member_fee .box .item:nth-child(1):before {
   border: 1px solid #24325d;
}

#top_member_fee .box .item:nth-child(1) h3 {
   background-color: #24325d;
}

#top_member_fee .box .item:nth-child(1) .item_desc {
   border-top-color: #24325d;
}

#top_member_fee .box .item:nth-child(2):before {
   border: 1px solid #a6a6a6;
}

#top_member_fee .box .item:nth-child(2) h3 {
   background-color: #a6a6a6;
}

#top_member_fee .box .item:nth-child(2) .item_desc {
   border-top-color: #a6a6a6;
}

#top_member_fee .box .item:nth-child(3):before {
   border: 1px solid #8a6f2e;
}

#top_member_fee .box .item:nth-child(3) h3 {
   background-color: #8a6f2e;
}

#top_member_fee .box .item:nth-child(3) .item_desc {
   border-top-color: #8a6f2e;
}

#top_member_fee .box .item:nth-child(3) .item_desc h4 {
   line-height: 1;
   padding-bottom: 20px;
}
#top_member_fee .text-list {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   align-items: center;
   background-color: #fff;
   color: #000;
   margin-top: 40px;
   padding: 20px 40px;
}

#top_member_fee .text-list li:not(:last-child) {
   font-family: 'A-OTF A1 Mincho Std Bold', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
   font-size: 28px;
   line-height: 42px;
   letter-spacing: 0;
}
@media screen and (max-width: 1440px) {
   #top_member_fee .box .item {
      width: 32%;
   }

   #top_member_fee .box .item+.item {
      margin-left: 2%;
   }
}

@media screen and (max-width: 991px) {
   #top_member_fee .price {
      padding: 40px 40px;
   }

   #top_member_fee .price dl dt {
      width: 320px;
   }

   #top_member_fee .price dl .txt2 {
      font-size: 17px;
   }

   #top_member_fee .price dl .txt3 {
      font-size: 20px;
   }

   #top_member_fee .box .item h3 {
      font-size: 32px
   }
	
	#top_member_fee .text-list {
		display: block;
	}
	#top_member_fee .text-list li+li {
		padding-top: 20px;
	}
	#top_member_fee .text-list li br.pc {
		display: none;
	}
}

@media screen and (max-width: 767px) {
   #top_member_fee {
      padding-bottom: 40px;
   }

   #top_member_fee .price {
      padding: 20px 20px;
   }

   #top_member_fee .price dl {
      display: block;
   }

   #top_member_fee .price dl+dl {
      padding-top: 20px;
   }

   #top_member_fee .price dl>* {
      display: block;
   }

   #top_member_fee .price dl dt {
      width: auto;
      font-size: 20px;
      line-height: 36px;
   }

   #top_member_fee .price dl dt small {
      font-size: 15px;
   }

   #top_member_fee .price dl .txt1 strong {
      font-size: 36px;
      line-height: 36px;
   }

   #top_member_fee .price dl .txt1 strong small {
      font-size: 20px;
   }

   #top_member_fee .price dl .txt2 {
      font-size: 15px;
      line-height: 30px;
   }

   #top_member_fee .price dl .txt3 {
      font-size: 18px;
      line-height: 36px;
   }

   #top_member_fee .box {
      display: block;
   }

   #top_member_fee .box .item {
      width: 100%;
   }

   #top_member_fee .box .item+.item {
      margin-top: 40px;
      margin-left: 0;
   }
	#top_member_fee .text-list {
		padding: 20px 20px;
	}
	#top_member_fee .text-list li:not(:last-child) {
		font-size: 20px;
		line-height: 32px;
	}
}

/* -- -- */
#top_access {
   background-color: #1a1a1a;
   padding: 90px 0 125px;
}

#top_access h3 {
   font-size: 31px;
   line-height: 36px;
   letter-spacing: 0.131em;
   padding-top: 80px;
}

#top_access .desc {
   font-size: 18px;
   line-height: 28px;
   letter-spacing: 0.06em;
   padding-top: 10px;
   padding-bottom: 40px;
}

#top_access .map {
   width: 100%;
   padding-top: 490px;
   position: relative;
}

#top_access .map>* {
   display: block;
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

@media screen and (max-width: 767px) {
   #top_access {
      padding: 40px 0;
   }

   #top_access h3 {
      font-size: 24px;
      padding-top: 40px;
   }

   #top_access .desc {
      font-size: 16px;
      padding-bottom: 20px;
   }

   #top_access .map {
      padding-top: 80%;
   }
}

/* -- -- */
#top_news1 {
   background-color: #1a1a1a;
   padding: 100px 0 135px;
}

#top_news1 .box {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   padding-top: 90px;
}

#top_news1 .box dl {
   width: 350px;
}

#top_news1 .box dl+dl {
   margin-left: 50px;
}

#top_news1 .box dl dt a {
   display: block;
   width: 100%;
   padding-top: 68%;
   overflow: hidden;
   position: relative;
}

#top_news1 .box dl dt a span {
   display: block;
   width: 100%;
   height: 100%;
   background-color: #fff;
   position: absolute;
   top: 0;
   left: 0;
   transition: all 0.3s;
}

#top_news1 .box dl dt a:hover span {
   transform: scale(1.1, 1.1);
}

#top_news1 .box dl dd {
   line-height: 25px;
   letter-spacing: 0.06em;
   padding-top: 15px;
}

@media screen and (max-width: 1440px) {
   #top_news1 .box dl {
      width: 32%;
   }

   #top_news1 .box dl+dl {
      margin-left: 2%;
   }
}

@media screen and (max-width: 767px) {
   #top_news1 {
      padding: 40px 0;
   }

   #top_news1 .box {
      padding-top: 20px;
   }

   #top_news1 .box dl {
      width: 100%;
   }

   #top_news1 .box dl+dl {
      margin-left: 0;
      padding-top: 30px;
   }

   #top_news1 .box dl dd {
      padding-top: 5px;
   }
}

/* -- -- */
#top_contact {
   background-color: #1a1a1a;
   padding: 135px 0 135px;
}

#top_contact .mail-box {
   width: 100%;
   max-width: 925px;
   margin: 0 auto;
   padding-top: 100px;
}

#top_contact input[type="text"],
#top_contact input[type="tel"],
#top_contact input[type="email"],
#top_contact textarea {
   display: block;
   width: 100%;
   border: 0;
   box-sizing: border-box;
   line-height: 32px;
   border-radius: 0 !important;
   outline: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   box-sizing: border-box;
   padding: 9px 15px;
}

#top_contact textarea {
   height: 200px;
   resize: vertical;
}

#top_contact .form-input dl+dl {
   padding-top: 40px;
}

#top_contact .form-input dl dt {
   font-size: 18px;
   position: relative;
}

#top_contact .form-input dl dt small {
   display: inline-block;
   width: 30px;
   background-color: #CC0000;
   font-size: 11px;
   letter-spacing: 0;
   line-height: 16px;
   color: #fff;
   text-align: center;
   margin-left: 5px;
   padding: 0 0 2px;
   position: relative;
   top: -2px;
}

#top_contact .form-input dl dd {
   word-break: break-all;
   padding-top: 10px;
}

#top_contact .form-btn {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: center;
   padding-top: 40px;
}

#top_contact .form-btn button {
   display: block;
   width: 300px;
   background-color: #8a6f2e;
   border: 1px solid #8a6f2e;
   text-align: center;
   color: #fff;
   border-radius: 0;
   font-weight: 500;
   font-size: 18px;
   letter-spacing: 0.06em;
   line-height: 32px;
   cursor: pointer;
   transition: all 0.3s;
   margin: 10px 5px 0;
   padding: 13px 0;
   position: relative;
}

#top_contact .form-btn button:hover {
   background-color: #fff;
   border-color: #fff;
   color: #0b0c10;
}

#top_contact .form-btn button[name="submitBack"] {
   background-color: #fff;
   border-color: #fff;
   color: #0b0c10;
}

#top_contact .form-btn button[name="submitBack"]:hover {
   opacity: 0.7;
}

#top_contact .mw_wp_form_preview .form-input .email_confirm {
   display: none;
}

@media screen and (max-width: 767px) {
   #top_contact {
      padding: 40px 0;
   }

   #top_contact .mail-box {
      padding-top: 40px;
   }

   #top_contact .form-input dl+dl {
      padding-top: 20px;
   }

   #top_contact .form-input dl dt {
      font-size: 16px;
   }
}

/* -- -- */
#top_company {
   background-color: #1a1a1a;
}

#top_company .info {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   padding-top: 60px;
}

#top_company .info .col {
   width: 465px;
}

#top_company .info dl {
   display: table;
   width: 100%;
   box-sizing: border-box;
   line-height: 36px;
}

#top_company .info dl>* {
   display: table-cell;
   text-align: left;
   vertical-align: top;
}

#top_company .info dl dt {
   width: 110px;
}

@media screen and (max-width: 991px) {
   #top_company .info {
      display: block
   }

   #top_company .info .col {
      width: 100%;
   }

   #top_company .info .col+.col {
      margin-left: 0;
   }
}

@media screen and (max-width: 767px) {


   #top_company .info {
      display: block;
      padding-top: 25px;
   }

   #top_company .info .col {
      width: 100%;
   }

   #top_company .info .col+.col {
      margin-left: 0;
   }

   #top_company .info dl {
      display: block;
      line-height: 24px;
      padding-top: 15px;
   }

   #top_company .info dl>* {
      display: block;
   }

   #top_company .info dl dt {
      width: auto;
   }
}

/* -- -- */
.txt_thanks {
   text-align: center;
   /*padding: 100px 0;*/
}

.txt_thanks p {
   padding-bottom: 40px;
}

.txt_thanks p:last-child {
   padding-bottom: 0;
}

.txt_thanks .btn-s a {
   display: inline-block;
   width: 100%;
   max-width: 300px;
   background-color: #8a6f2e;
   border: 1px solid #8a6f2e;
   text-align: center;
   color: #fff;
   font-size: 18px;
   letter-spacing: 0.06em;
   line-height: 32px;
   cursor: pointer;
   transition: all 0.3s;
   padding: 13px 0;
   position: relative;
}

@media screen and (max-width: 767px) {
   .txt_thanks {
      /*padding: 50px 0;*/
   }

   .txt_thanks .desc {
      text-align: left;
      padding-bottom: 20px;
   }

   .txt_thanks .desc:last-child {
      padding-bottom: 0
   }
}

/* -- -- */
/*
* detail
*=============================================*/
#cpt-detail {
   padding: 100px 0;
}

#cpt-detail .ttl {
   border-bottom: 1px solid #fff;
   padding-bottom: 30px;
}

#cpt-detail .ttl dt {
   font-size: 24px;
   line-height: 40px;
   letter-spacing: 0.2em;
}

#cpt-detail .ttl dd {
   font-size: 14px;
   line-height: 30px;
   letter-spacing: 0.2em;
   padding-top: 20px;
}

#cpt-detail .the_content {
   font-size: 16px;
   line-height: 30px;
   letter-spacing: 0.06em;
   padding-top: 50px;
}

#cpt-detail .the_content h2 {
   font-size: 24px;
   margin: 40px 0 20px;
}

#cpt-detail .the_content h3 {
   font-size: 22px;
   margin: 40px 0 20px;
}

#cpt-detail .the_content h4 {
   font-size: 20px;
   margin: 40px 0 20px;
}

#cpt-detail .the_content img {
   vertical-align: top;
   margin-right: 10px;
}

#cpt-detail .the_content img:last-child {
   margin-right: 0;
}

#cpt-detail .the_content img.aligncenter {
   display: block;
   margin: 0 auto;
}

#cpt-detail .the_content img.alignright {
   display: block;
   margin-left: auto;
}

#cpt-detail .the_content a {
   text-decoration: underline;
}

#cpt-detail .the_content a:hover {
   text-decoration: none;
}

#cpt-detail .the_content table td {
   line-height: 30px;
   border: 1px solid #fff;
   padding: 5px 15px;
}

.post-pagination {
   text-align: center;
   padding-top: 55px;
}

.post-pagination ul {
   width: 210px;
   margin: 0 auto;
   position: relative;
}

.post-pagination li:nth-child(2) {
   font-size: 18px;
   line-height: 30px;
   letter-spacing: 0.1em;
}

.post-pagination li:nth-child(2) a {
   text-decoration: underline;
}

.post-pagination .prev a {
   display: block;
   width: 31px;
   height: 30px;
   background: url("../img/post-prev.png") no-repeat center top/cover;
   position: absolute;
   top: 0;
   left: 0;
}

.post-pagination .next a {
   display: block;
   width: 31px;
   height: 30px;
   background: url("../img/post-next.png") no-repeat center top/cover;
   position: absolute;
   top: 0;
   right: 0;
}

@media screen and (max-width: 767px) {
   #cpt-detail {
      padding: 70px 0;
   }

   #cpt-detail .ttl {
      padding-bottom: 20px;
   }

   #cpt-detail .ttl dt {
      font-size: 20px;
      line-height: 35px;
   }

   #cpt-detail .ttl dd {
      padding-top: 0;
   }

   #cpt-detail .the_content {
      font-size: 14px;
      line-height: 24px;
      padding-top: 20px;
   }

   #cpt-detail .the_content h2 {
      font-size: 20px;
      margin: 30px 0 15px;
   }

   #cpt-detail .the_content h3 {
      font-size: 18px;
      margin: 30px 0 15px;
   }

   #cpt-detail .the_content h4 {
      font-size: 16px;
      margin: 30px 0 15px;
   }

   #cpt-detail .the_content table td {
      line-height: 24px;
      padding: 5px;
   }

   #cpt-detail .the_content img {
      display: block;
      margin: 0 auto 20px;
   }

   #cpt-detail .the_content img:last-child {
      margin: 0 auto;
   }

   #cpt-detail .the_content img.aligncenter {
      margin: 0 auto 20px;
   }

   #cpt-detail .the_content img.aligncenter:last-child {
      margin: 0 auto;
   }

   #cpt-detail .the_content img.alignright {
      margin: 0 auto 20px;
   }

   #cpt-detail .the_content img.alignright:last-child {
      margin: 0 auto;
   }

   .post-pagination {
      padding-top: 40px;
   }

   .post-pagination ul li:nth-child(2) {
      font-size: 16px;
   }
}

.social {
   padding-top: 20px;
   margin-top: 30px;
   border-top: 1px solid #fff;
}

.social p {
   display: inline-block;
   vertical-align: middle;
   font-size: 20px;
   font-weight: 600;
   margin-right: 30px;
   letter-spacing: 3px;
   color: #fff;
   padding-top: 10px;
   padding-bottom: 10px;
}

.social a {
   display: inline-block;
   vertical-align: middle;
   color: #fff;
   font-size: 24px;
   margin-right: 20px;
}

@media screen and (max-width: 768px) {
   .social {
      padding-top: 40px;
      margin-top: 40px;
   }

   .social p {
      margin-right: 20px;
   }

   .social a {
      font-size: 20px;
   }
}

/* -- -- */
/*
* Privacy Policy
*=============================================*/
/* -- -- */
#privacy_policy {
   font-size: 14px;
   line-height: 34px;
   letter-spacing: 0.06em;
   padding: 50px 0 200px;
}

#privacy_policy h2 .en {
   font-size: 50px;
   line-height: 50px;
}

#privacy_policy .box {
   padding-top: 150px;
}

#privacy_policy .box .h-20 {
   font-weight: 500;
   font-size: 20px;
}

#privacy_policy .box h3 {
   padding-bottom: 50px;
}

#privacy_policy .box dl {
   padding-top: 50px;
}

#privacy_policy .box dl.pt0 {
   padding-top: 0;
}

#privacy_policy .box dl.pt100 {
   padding-top: 100px;
}

#privacy_policy .box .txt_last {
   padding-top: 50px;
}

#privacy_policy .box ol {}

#privacy_policy .box ol li {
   text-indent: -28px;
   padding-left: 28px;
}

#privacy_policy .box ol.ol1 li {
   text-indent: -44px;
   padding-left: 44px;
}

#privacy_policy .box ol.ol2 li {
   text-indent: -19px;
   padding-left: 19px;
}

#privacy_policy .box ol.ol3 li {
   text-indent: -15px;
   padding-left: 15px;
}

@media screen and (max-width: 767px) {
   #privacy_policy {
      padding: 50px 0 70px;
   }

   #privacy_policy h2 .en {
      font-size: 30px;
      line-height: 40px;
   }

   #privacy_policy .box {
      padding-top: 70px;
   }

   #privacy_policy .box h3 {
      padding-bottom: 20px;
   }

   #privacy_policy .box dl {
      padding-top: 20px;
   }

   #privacy_policy .box dl.pt100 {
      padding-top: 50px;
   }

   #privacy_policy .box .txt_last {
      padding-top: 20px;
   }
}

/* -- -- */
#commerce01 {
   font-size: 14px;
   line-height: 34px;
   letter-spacing: 0.06em;
   padding: 50px 0 200px;
}

#commerce01 h2 .en {
   font-size: 50px;
   line-height: 50px;
}

#commerce01 table {
   width: 100%;
   margin-top: 50px;
}

#commerce01 table th,
#commerce01 table td {
   border: 1px solid #fff;
   padding: 15px 15px;
}

#commerce01 table td:first-child {
   width: 220px;
}

#commerce01 table ol li {
   text-indent: -45px;
   padding-left: 45px;
}

@media screen and (max-width: 767px) {
   #commerce01 {
      padding-bottom: 100px;
   }

   #commerce01 h2 .en {
      font-size: 30px;
      line-height: 40px;
   }

   #commerce01 table,
   #commerce01 table tr {
      display: block
   }

   #commerce01 table tr {
      border-bottom: 1px solid #fff;
      padding-bottom: 10px;
   }

   #commerce01 table tr+tr {
      padding-top: 10px
   }

   #commerce01 table th,
   #commerce01 table td {
      display: block;
      border: 0;
      padding: 0 0;
   }

   #commerce01 table td:first-child {
      width: auto;
   }

   #commerce01 table td+td {}

   #commerce01 table ol li {
      text-indent: -45px;
      padding-left: 45px;
   }
}

/* -- -- */
.line_wallper {
   margin: -20px auto 60px auto;
   text-align: left;
}

.line {
   width: 660px;
   display: flex;
   margin: 0 auto;
   text-align: left;
   padding-left: 120px;
}

.line img {
   width: 180px !important;
   height: auto !important;
   margin-right: 20px;
}

.line p {
   margin-top: -4px;
}


@media screen and (max-width: 767px) {

   /* -- -- */
   .line_wallper {
      margin: 0px auto 60px auto;
      text-align: left;
   }

   .line {
      width: 100%;
      display: block;
      margin: 0 auto;
      text-align: center;
      padding-left: 0px;
   }

   .line img {
      width: 130px !important;
      height: auto !important;
      margin-right: 0px;
      margin: 0 auto 10px auto;
   }

   .line p {
      margin-top: 4px;
   }

   .line p br {
      display: none;
   }

}



.adh3 {
   font-size: 26px !important;
   letter-spacing: 1px;
}

@media screen and (max-width: 767px) {
   .adddd {
      padding-top: 15px;
   }
}

@media screen and (max-width:420px) {
   .adh3 {
      font-size: 21px !important;
      letter-spacing: 1px;
   }
}