#key .sl-key li{
  height:85vw;	
}  
#key .sl1 {
  background: url(../img/index/key1.jpg) no-repeat center top/cover;
}
#key .sl2 {
  background: url(../img/index/key2.jpg) no-repeat center top/cover;
}
#key .sl3 {
  background: url(../img/index/key3.jpg) no-repeat center top/cover;
}
#key .sl4 {
  background: url(../img/index/key4.jpg) no-repeat center top/cover;
}

#read .set1 {
  position: relative;
}
#read .set1::before {
  content: "";
  background: #ead8d8;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -2;
}
#read .set1 .gr-pt {
  position: relative;
}
#read .set1 .gr-pt .photo {
  margin: 0 -6%;
}
#read .set1 .gr-pt .t {
  position: absolute;
  font-size: 3.5vw;
  color: #101010;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  white-space: nowrap;
}
#read .set1 .gr-pt .t1 {
  top: 12vw;
  right: -1%;
}
#read .set1 .gr-pt .t2 {
  top: 93vw;
  right: 0;
}
#read .set1 .gr-pt .t3 {
  top: 107vw;
  right: 13%;
}
#read .set1 .gr-pt .t4 {
  top: 119vw;
  right: 34%;
}
#read .set1 h2 {
  font-size: 10.5vw;
  letter-spacing: 0.1em;
  line-height: 1.5;
  white-space: nowrap;
  margin: -8vw 0 0 7%;
  position: relative;
  z-index: 2;
}
#read .set1 h2 span {
  letter-spacing: 0.1em;
  margin-top: 11vw;
}
#read .set1 h2 span small {
  font-size: 8vw;
  letter-spacing: 0.1em;
}
#read .set1 .photo2 {
  margin: -21vw 0 0 auto;
  width: 71%;
}
#read .set2 {
  position: relative;
  color: #fff;
  padding: 14vw 0 35vw;
}
#read .set2::before {
  content: "";
  background: #101010;
  position: absolute;
  top: -19vw;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#read .set2 h3{
	font-size: 7vw;
	text-align: right;
	border-bottom: #fff 1px solid;
	padding: 0 0 5vw;
	margin-bottom: 8vw;
}
#read .set2 .photo {
  margin: 28vw 0 0 -6%;
}
#point .set1 {
  padding: 25vw 0 0;
  background: #b19f8e;
}
#point .set1 h2 {
  font-size: 6.5vw;
  line-height: 1.7;
  letter-spacing: 0.16em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  position: relative;
  z-index: 2;
  white-space: nowrap;
}
#point .set1 h2 span {
  font-size: 9.8vw;
  letter-spacing: 0.16em;
}
#point .set1 .box-parallax {
  margin-top: -13vw;
}
#point .set1 .catch {
  width: 33%;
  margin: 0 0 -3vw 25%;
}
#point .set2 {
  padding: 6px 0 25vw;
  position: relative;
}
#point .set2::before {
  content: "";
  border-left: 1px solid #000;
  position: absolute;
  top: 3vw;
  left: 79%;
  height: 33vw;
  transform: rotate(40deg);
  z-index: -1;
}
#point .set2 .js {
  margin-left: -6%;
  width: 78%;
}
#point .set2 .js .slick-dots {
  justify-content: flex-end;
  margin-top: -1vw;
}
#point .set2 .gr-txt h2 {
  position: absolute;
  top: 26vw;
  right: 3%;
  font-size: 6vw;
  letter-spacing: 0.15em;
  line-height: 1.8;
}
#point .set2 .gr-txt .txt {
  margin-top: 18vw;
}
#point .set2 .gr-txt .txt .txt1 {
  width: 69%;
}
#point .set3 .photo {
  margin: 0 -6%;
}
#point .set3 .gr-txt {
  padding: 10vw 0 15vw;
  position: relative;
}
#point .set3 .gr-txt::before {
  content: "";
  border-left: 1px solid #000;
  position: absolute;
  top: -6vw;
  left: 29%;
  height: 30vw;
  transform: rotate(40deg);
}
#point .set3 .gr-txt h2 {
  font-size: 6vw;
  letter-spacing: 0.15em;
  line-height: 1.8;
  text-align: right;
  margin-bottom: 12vw;
}
#point .set3 .gr-txt .txt p:not(:last-child) {
  padding-bottom: 5vw;
}
#recommended {
  padding-bottom: 40vw;
}
#recommended .set1 {
  padding-bottom: 35vw;
}
#recommended .set1 .item1 {
  position: relative;
}
#recommended .set1 .item1 h2 {
  white-space: nowrap;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 95%;
  position: relative;
  z-index: 2;
}
#recommended .set1 .item1 h2 span {
  font-size: 7vw;
  display: inline-block;
  padding: 2vw 4%;
  color: #000;
  font-weight: 600;
  background: #fff;
  letter-spacing: 0.15em;
}
#recommended .set1 .item1 h2 .black {
  background: #000;
  color: #fff;
  margin-top: 31vw;
}
#recommended .set1 .item1 .box-parallax {
  height: 95vw;
  margin-top: -22vw;
}
#recommended .set1 .item1 .static {
  clip: rect(0, auto, auto, 0);
  margin-bottom: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
#recommended .set1 .item1 .static img {
  width: 100%;
  height: 55vh;
  
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 0;
  transform: translateZ(0);
}

#recommended .set1 .item1 .box {
  background: #101010;
  color: #fff;
  padding: 8vw 8% 38vw;
}
#recommended .set1 .item1 .box h3 {
  position: absolute;
  top: 152vw;
  left: 0;
  width: 100%;
  z-index: 2;
}
#recommended .set1 .item1 .box h3 span {
  font-size: 6vw;
  font-weight: 500;
  letter-spacing: 0.1em;
  display: inline-block;
  padding: 2.5vw 6%;
  text-align: center;
  color: #101010;
  background: #fff;
}
#recommended .set1 .item1 .box .price-box {
  font-size: 7vw;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.02em;
  margin-bottom: 6vw;
}
#recommended .set1 .item1 .catch {
  position: absolute;
  top: 49vw;
  left: 5%;
  width: 57%;
}
#recommended .set1 .item2 {
  padding: 0 5%;
}
#recommended .set1 .item2 .movie {
  padding: 10px;
  margin-top: -26vw;
  background: #fff;
  position: relative;
  z-index: 2;
}
#recommended .set1 .item2 .movie .video {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  border: 2px solid #000;
  box-sizing: border-box;
  border-right-width: 3px;
}
#recommended .set1 .item2 .movie .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#recommended .set2 .item1 {
  position: relative;
  padding-bottom: 18vw;
}
#recommended .set2 .item1 .gr-img {
  width: 90%;
  margin-left: -6%;
}
#recommended .set2 .item1 .gr-img .gr-pt {
  position: relative;
}
#recommended .set2 .item1 .gr-img .gr-pt .price-box {
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: -2vw;
  left: 5%;
  right: 5%;
  font-size: 5.7vw;
  letter-spacing: 0.02em;
  color: #000;
  font-weight: 600;
}
#recommended .set2 .item1 .gr-img .gr-pt .price-box dd {
  color: #ce2727;
}
#recommended .set2 .item1 .gr-img .js {
  position: relative;
}
#recommended .set2 .item1 .gr-img .js .slick-dots {
  justify-content: flex-end;
  margin-top: -1vw;
}
#recommended .set2 .item1 .gr-img .js .item {
  will-change: transform;
}
#recommended .set2 .item1 .gr-img .js .item .js-txt {
  font-size: 5.7vw;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: #fff;
  position: absolute;
  left: 5%;
  bottom: 4vw;
  z-index: 2;
  text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.5);
}

#recommended .set2 .item1 .gr-img .item {
  will-change: transform;
}
#recommended .set2 .item1 .gr-img .item .js-txt {
  font-size: 5.7vw;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: #fff;
  position: absolute;
  left: 5%;
  bottom: 4vw;
  z-index: 2;
  text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.5);
}
#recommended .set2 .item2 .item { display: none;}

#recommended .set2 .item1 .gr-txt h2 {
  font-size: 7vw;
  font-weight: 600;
  letter-spacing: 0.15em;
  color: #101010;
  position: absolute;
  top: -4vw;
  right: 0;
}
#recommended .set2 .item1 .gr-txt .txt {
  margin-top: 7vw;
}
#other-menu {
  padding: 17vw 0;
  background: #101010;
}
#other-menu .btn-popup a {
  font-size: 5.5vw;
  display: block;
  padding: 5vw 0;
  text-align: center;
  color: #101010;
  background: #fff;
  font-weight: 700;
  letter-spacing: 0.15em;
  position: relative;
}
#other-menu .btn-popup a::before {
  content: "";
  border-left: 3px solid #101010;
  position: absolute;
  top: 10px;
  left: 3%;
  bottom: 10px;
}
#other-menu .btn-popup a::after {
  content: "";
  background: url(../img/shared/btn_arr.png) no-repeat right center/100% auto;
  position: absolute;
  top: 0;
  right: 6%;
  bottom: 0;
  width: 2.5vw;
}
.popup-menu h2 img {
  width: 45%;
}
.popup-menu .note {
  margin: 2vw 0 15vw;
  letter-spacing: 0.05em;
}
.popup-menu .content .row h3 {
  font-family: "Shippori Mincho B1", serif;
  font-size: 5vw;
  font-weight: 600;
  letter-spacing: 0.16em;
  padding: 3vw 0;
  text-align: center;
  background: #23211f;
  color: #fff;
  position: relative;
  margin-bottom: 10vw;
}
.popup-menu .content .row h3::before {
  content: "";
  border-top: 4px solid #23211f;
  position: absolute;
  right: 0;
  bottom: -7px;
  left: 0;
}
.popup-menu .content .row h4 {
  font-family: "Shippori Mincho B1", serif;
  font-size: 6vw;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: left;
  color: #23211f;
  position: relative;
  padding-left: 15px;
  margin: 13vw 0 5vw;
}

.popup-menu .content .row h4::before {
  content: "";
  border-left: 8px solid #23211f;
  position: absolute;
  top: 5px;
  bottom: 3px;
  left: 0px;
}
.popup-menu .content .row h4 span {
	font-size: 4vw;
	letter-spacing: 0em;
	background-color: #23211f;
	color: #fff;
	padding: 0.5vw 2vw;
	margin-right: 3vw;
}
.popup-menu .content .row .col .txt-sub {
  padding-bottom: 10px;
}
.popup-menu .content .list dl {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid #dfdcd8;
  font-size: 15px;
  line-height: 25px;
  letter-spacing: 0;
}
.popup-menu .content .list dl.set {
  display:inherit;
}
.popup-menu .content .list dl:first-child {
  border-top: 1px solid #dfdcd8;
}
.popup-menu .content .list dl dt {
  text-align: left;
}
.popup-menu .content .list dl dd {
  text-align: right;
  color: #ce2727;
  white-space: nowrap;
  margin-left: 10px;
}
.popup-menu .content .row .col .item {
  padding-bottom: 12vw;
}
.popup-menu .content .row2 {
  padding-bottom: 12vw;
}
.popup-menu .content .row2 .col dl:last-child {
  border-bottom: 1px solid #dfdcd8 !important;
}
.popup-menu .content .row2 .col .list dl:last-child {
  border: 0;
}
#access {
  padding: 26vw 0 28vw;
}
#access h2 {
  font-size: 8vw;
  font-weight: 600;
  letter-spacing: 0.16em;
  position: relative;
  color: #101010;
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  position: relative;
}
#access h2::before {
  content: "";
  border-left: 1px solid #000;
  position: absolute;
  left: 50%;
  bottom: calc(100% + 6vw);
  height: 20vw;
}
#access .logo {
  margin: 20vw 0 4vw;
}
#access .logo img {
  width: 55%;
}
#access .name {
  font-size: 15px;
  text-align: center;
}
#access .content .info-l {
  padding-bottom: 40vw;
}
#access .content .info-l .tel {
  padding: 5vw 0;
  margin: 10vw 0 11vw;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  text-align: center;
  line-height: 1.2;
}
#access .content .info-l .tel dt {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #101010;
}
#access .content .info-l .tel dd img {
  width: 26px;
  height: auto;
  margin-right: 8px;
  position: relative;
  top: -9px;
}
#access .content .info-l .tel dd span {
  font-size: 40px;
  color: #101010;
  font-weight: 700;
  letter-spacing: 0;
}
#access .content .info-l .tel dd small {
  font-size: 13px;
  letter-spacing: 0;
}
#access .content .info-l .list dl {
  display: flex;
  font-size: 13px;
  padding-bottom: 15px;
}
#access .content .info-l .list dl dt {
  width: 25%;
}
#access .content .info-l .list dl dd {
  flex: 1;
}
#access .content .info-l .btn-link {
  margin-top: 20vw;
}
#access .content .info-l .btn-link a {
  font-size: 5.5vw;
  display: block;
  padding: 5vw 0;
  text-align: center;
  color: #fff;
  background: #000;
  font-weight: 700;
  letter-spacing: 0.16em;
  position: relative;
}
#access .content .info-l .btn-link a::before {
  content: "";
  border-left: 3px solid #fff;
  position: absolute;
  top: 10px;
  left: 3%;
  bottom: 10px;
}
#access .content .info-l .btn-link a::after {
  content: "";
  background: url(../img/shared/btn_arr2.png) no-repeat right center/100% auto;
  position: absolute;
  top: 0;
  right: 6%;
  bottom: 0;
  width: 2.5vw;
}
#access .content .info-r .map {
  height: 480px;
  margin: 0 -6%;
}
#access .content .info-r .map iframe {
  width: 100%;
  height: 100%;
}
#access .content .info-r .gr {
  margin-top: 19vw;
}
#access .content .info-r .gr .link {
  max-width: 70%;
  margin: 0 auto;
}
#access .content .info-r .gr .link li {
  max-width: 100%;
  margin: 0;
}
#access .content .info-r .gr .link li.print_map {
  text-align: center;
  margin: 5vw 0 13vw;
}
#access .content .info-r .gr .link li.print_map a {
  position: relative;
}
#access .content .info-r .gr .link li.print_map a::before {
  content: "";
  border-top: 1px solid #757575;
  position: absolute;
  right: 0;
  bottom: -5px;
  left: 0;
}
@media screen and (min-width: 768px) {
  #read .set1::before {
    right: calc(50% - 115px);
  }
  #read .set1 .gr-pt {
    display: inline-block;
  }
  #read .set1 .gr-pt .photo {
    margin: 0 0 0 -350px;
  }
  #read .set1 .gr-pt .t {
    font-size: 17px;
    line-height: 26px;
    white-space: unset;
  }
  #read .set1 .gr-pt .t1 {
    font-size: 20px;
    top: 125px;
    right: 107px;
  }
  #read .set1 .gr-pt .t2 {
    top: 225px;
    right: -166px;
  }
  #read .set1 .gr-pt .t3 {
    top: 315px;
    right: -165px;
  }
  #read .set1 .gr-pt .t4 {
    top: 443px;
    right: -146px;
  }
  #read .set1 h2 {
    font-size: 57px;
    line-height: 86px;
    margin: 0;
    position: absolute;
    top: 101px;
    right: -15px;
  }
  #read .set1 h2 span {
    margin-top: 63px;
  }
  #read .set1 h2 span small {
    font-size: 38px;
  }
  #read .set1 .photo2 {
    margin: -495px -71px 0 auto;
    width: 481px;
    display: block;
  }
  #read .set2 {
    padding: 0 0 162px;
  }
  #read .set2::before {
    top: -75px;
  }
  #read .set2 h3{
	font-size:34px;
	padding: 0 0 25px;
	margin-bottom: 30px;
}
  #read .set2 .photo {
    margin: 0;
    position: absolute;
    top: -170px;
    left: -146px;
    right: 614px;
    height: 358px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1299px) and (min-width: 768px) {
  #read .set2 .photo {
    left: calc(-50vw + 50% + 8px);
  }
}
@media screen and (min-width: 768px) {
  #read .set2 .gr-txt {
    padding-top: 60px;
  }
  #read .set2 .gr-txt .txt .txt1 {
    width: 552px;
    margin-left: auto;
  }
  #read .set2 .gr-txt .txt p:not(:last-child) {
    margin-bottom: 31px;
  }
  #read .set2 .gr-txt .btn-link {
    margin: 63px 0 0 auto;
  }
}
@media screen and (min-width: 768px) {
  #point {
    padding: 1px 0 114px;
    margin-top: -48px;
  }
  #point .set1 {
    padding: 0;
    position: relative;
    margin-top: 47px;
  }
  #point .set1 h2 {
    font-size: 34px;
    line-height: 90px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: auto;
    position: absolute;
    top: 99px;
    left: 129px;
  }
  #point .set1 h2 span {
    font-size: 52px;
  }
  #point .set1 .box-parallax {
    margin-top: 0;
    height: 650px;
  }
  #point .set1 .catch {
    width: auto;
    margin: 0;
    position: absolute;
    top: -48px;
    left: 57px;
    z-index: 2;
  }
  #point .set2 {
    padding: 4px 0 177px;
  }
  #point .set2::before {
    top: 0px;
    left: calc(50% + 66px);
    height: 260px;
    transform: rotate(45deg);
  }
  #point .set2 .js {
    position: absolute;
    right: 500px;
    left: calc(-50vw + 50%);
    width: auto;
    margin: 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 1500px) {
  #point .set2 .js {
    left: -250px;
  }
}
@media screen and (min-width: 768px) {
  #point .set2 .js .slick-dots {
    margin-top: -7px;
  }
}
@media screen and (min-width: 768px) {
  #point .set2 .js .object-fit-cover {
    height: 610px;
  }
}
@media screen and (min-width: 768px) {
  #point .set2 .gr-txt {
    width: 445px;
    padding-top: 94px;
    margin-left: auto;
  }
  #point .set2 .gr-txt h2 {
    position: static;
    font-size: 30px;
    line-height: 53px;
    text-align: right;
  }
  #point .set2 .gr-txt h2 span {
	  letter-spacing: -8px;
  }
  #point .set2 .gr-txt .txt {
    margin-top: 54px;
  }
  #point .set2 .gr-txt .txt .txt1 {
    width: auto;
  }
}
@media screen and (min-width: 768px) {
  #point .set3 .wrap {
    display: flex;
    max-width: 1500px;
  }
  #point .set3 .photo {
    margin: 0;
    height: 792px;
    flex: 1;
  }
  #point .set3 .gr-txt {
    margin: 0 42px 0 60px;
    padding: 151px 0 0;
    width: 349px;
  }
  #point .set3 .gr-txt::before {
    top: -116px;
    left: auto;
    right: 35px;
    height: 227px;
    transform: rotate(-45deg);
  }
  #point .set3 .gr-txt h2 {
    font-size: 30px;
    line-height: 53px;
    margin-bottom: 0;
    position: absolute;
    top: 6px;
    right: 80px;
    width: 520px;
  }
  #point .set3 .gr-txt .txt p:not(:last-child) {
    padding-bottom: 32px;
  }
}
@media screen and (min-width: 768px) {
  #recommended {
    padding-bottom: 155px;
  }
  #recommended .set1 {
    padding-bottom: 115px;
  }
  #recommended .set1 .item1 {
    padding-top: 74px;
  }
  #recommended .set1 .item1 h2 {
    width: auto;
    position: absolute;
    top: 74px;
    right: 69px;
  }
  #recommended .set1 .item1 h2 span {
    font-size: 44px;
    padding: 99px 25px 27px;
  }
  #recommended .set1 .item1 h2 .black {
    margin-top: 270px;
    padding: 31px 23px 22px;
  }
  #recommended .set1 .item1 .box-parallax {
    height: 1050px;
    margin-top: 0;
  }
  #recommended .set1 .item1 .box {
    position: absolute;
    left: 0;
    bottom: 208px;
    width: 482px;
    padding: 58px 63px 58px 77px;
  }
  #recommended .set1 .item1 .box h3 {
    top: 0;
    left: auto;
    right: 0;
    width: auto;
    z-index: 2;
  }
  #recommended .set1 .item1 .box h3 span {
    font-size: 21px;
    padding: 9px 20px 9px 35px;
  }
  #recommended .set1 .item1 .box .price-box {
    font-size: 30px;
    text-align: left;
    line-height: 41px;
    margin-bottom: 15px;
  }
  #recommended .set1 .item1 .box .price-box dd {
    font-size: 24px;
  }
  #recommended .set1 .item1 .catch {
    top: 0;
    left: 52px;
    width: auto;
  }
  #recommended .set1 .item2 {
    padding: 0;
    width: 866px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
  }
  #recommended .set1 .item2 .movie {
    padding: 12px 12px 12px 0;
    margin-top: -208px;
    width: 614px;
  }
  #recommended .set1 .item2 .btn-link {
    margin: 0 0 13px 0;
  }
  #recommended .set2 .item1 {
    padding-bottom: 0;
    position: relative;
    min-height: 470px;
  }
  #recommended .set2 .item1 .gr-img {
    width: auto;
    margin-left: 0;
    position: absolute;
    top: 0;
    left: calc(-50vw + 50%);
    right: 480px;
  }
  
}
@media screen and (min-width: 768px) and (min-width: 1500px) {
  #recommended .set2 .item1 .gr-img {
    left: -250px;
  }
}
@media screen and (min-width: 768px) {
  #recommended .set2 .item1 .gr-img .photo {
    height: 470px;
    display: block;
  }
}
@media screen and (min-width: 768px) {
  #recommended .set2 .item1 .gr-img .gr-pt .price-box {
    flex-direction: column;
    top: 18px;
    left: 34px;
    right: auto;
    font-size: 24px;
    line-height: 34px;
  }
  #recommended .set2 .item1 .gr-img .gr-pt .price-box dd {
    color: #ce2727;
  }
}
@media screen and (min-width: 768px) {
  #recommended .set2 .item1 .gr-txt {
    width: 630px;
    margin-left: auto;
    padding-top: 49px;
  }
  #recommended .set2 .item1 .gr-txt h2 {
    font-size: 38px;
    position: relative;
    top: auto;
    right: auto;
    padding-bottom: 42px;
  }
  #recommended .set2 .item1 .gr-txt h2::before {
    content: "";
    border-top: 1px solid #000;
    position: absolute;
    left: 0;
    right: -10000px;
    bottom: 0;
  }
  #recommended .set2 .item1 .gr-txt .txt {
    margin: 45px 6px 0 210px;
  }
}
@media screen and (min-width: 768px) {
  #recommended .set2 .item2 {
    display: flex;
    justify-content: space-between;
  }
  #recommended .set2 .item2 .gr-pt {
    width: 462px;
    margin-top: 76px;
  }
  #recommended .set2 .item2 .js {
    position: relative;
    width: 549px;
    margin-right: -70px;
  }
  #recommended .set2 .item2 .js .slick-dots {
    margin-top: -2px;
  }
  #recommended .set2 .item2 .js .item {
    will-change: transform;
  }
  #recommended .set2 .item2 .js .item .js-txt {
    font-size: 24px;
    line-height: 33px;
    color: #fff;
    position: absolute;
    left: 14px;
    bottom: 11px;
    z-index: 2;
    text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.5);
  }

	#recommended .set2 .item2 .item {
      display:block;
    }
  #recommended .set2 .item2 .item {
    will-change: transform;
	  margin-right: -70px;
  }
  #recommended .set2 .item2 .item .js-txt {
    font-size: 24px;
    line-height: 33px;
    color: #fff;
    position: absolute;
    left: 14px;
    bottom: 11px;
    z-index: 2;
    text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.5);
  }
  #recommended .set2 .item1 .item {
      display: none;
    }
	
}
@media screen and (min-width: 768px) {
  #other-menu {
    padding: 71px 0 69px;
  }
  #other-menu .btn-popup a {
    font-size: 18px;
    padding: 24px 0;
  }
  #other-menu .btn-popup a::before {
    border-left: 4px solid #101010;
    top: 19px;
    left: 14px;
    bottom: 19px;
  }
  #other-menu .btn-popup a::after {
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
    bottom: auto;
    width: 10px;
    height: 15px;
  }
  #other-menu .btn-popup a:hover {
    opacity: 0.8;
  }
}
@media screen and (min-width: 768px) {
  .popup-menu h2 img {
    width: auto;
  }
  .popup-menu .note {
    font-size: 15px;
    margin: 14px 0 54px;
  }
  .popup-menu .content {
    max-width: 900px;
    margin: 0 auto;
  }
  .popup-menu .content .row {
    display: flex;
    justify-content: space-between;
	  margin-bottom: 50px;
  }
  .popup-menu .content .row h3 {
    font-size: 21px;
    padding: 10px 0 6px;
    margin-bottom: 31px;
  }
  .popup-menu .content .row h3::before {
    bottom: -6px;
  }
  .popup-menu .content .row h4 {
    font-size: 19px;
    padding-left: 20px;
    margin: 0 0 20px;
  }
  .popup-menu .content .row h4::before {
    top: 5px;
    bottom: 3px;
    left: 0px;
  }
  .popup-menu .content .row h4 span {
      font-size: 15px;
      padding: 2px 10px;
      margin-right:5px;
  }
  .popup-menu .content .row .col .txt-sub {
    padding-bottom: 12px;
  }
  .popup-menu .content .list dl {
    padding: 9px 0;
    font-size: 15px;
    letter-spacing: 0.05em;
  }
	.popup-menu .content .list dl.set {
  display:flex;
}
  .popup-menu .content .list dl:first-child {
    border-top: 1px solid #dfdcd8;
  }
  .popup-menu .content .list dl dt {
    text-align: left;
  }
  .popup-menu .content .list dl dd {
    text-align: right;
    color: #ce2727;
    white-space: nowrap;
    margin-left: 10px;
  }
  .popup-menu .content .row .col .item {
    padding-bottom:0;
  }
  .popup-menu .content .row2 {
    padding-bottom:0;
  }
  .popup-menu .content .row1 .col {
    width: 430px;
  }
  .popup-menu .content .row {
    padding-bottom: 30px;
    display: block;
  }
  .popup-menu .content .row .info {
    display: flex;
    justify-content: space-between;
  }
  .popup-menu .content .row2 .col {
    width: 270px;
  }
  .popup-menu .content .row .col dl:last-child {
    border-bottom: 1px solid #dfdcd8 !important;
  }
  .popup-menu .content .row .col .list dl:last-child {
    border-bottom: 1px solid #dfdcd8;
  }
  .popup-menu .content .row3 .col {
    width: 270px;
  }
  .popup-menu .content .row4 .col {
    width: 900px;
  }
}
@media screen and (min-width: 768px) {
  #access {
    padding: 136px 0 138px;
    position: relative;
  }
  #access h2 {
    font-size: 27px;
    width: auto;
    position: absolute;
    top: 80px;
    left: 34px;
  }
  #access h2::before {
    bottom: calc(100% + 8px);
    height: 72px;
  }
  #access .logo {
    margin: 0 0 14px;
  }
  #access .logo img {
    width: 213px;
    height: auto;
  }
  #access .name {
    font-size: 16px;
  }
  #access .content {
    display: flex;
    justify-content: space-between;
    margin-top: 60px;
  }
  #access .content .info-l {
    padding-bottom: 0;
    width: 477px;
  }
  #access .content .info-l .tel {
    padding: 6px 0;
    margin: 5px auto 31px;
    line-height: 30px;
    max-width: 332px;
  }
  #access .content .info-l .tel dt {
    font-size: 14px;
  }
  #access .content .info-l .tel dd img {
    margin-right: 8px;
    top: -9px;
  }
  #access .content .info-l .tel dd span {
    font-size: 37px;
  }
  #access .content .info-l .tel dd small {
    display: block;
    margin-top: -7px;
  }
  #access .content .info-l .list dl {
    font-size: 16px;
    padding-bottom: 28px;
    line-height: 28px;
  }
  #access .content .info-l .list dl dt {
    width: 115px;
  }
  #access .content .info-l .btn-link {
    margin: 44px 0 0 2px;
    width: 300px;
  }
  #access .content .info-l .btn-link a {
    font-size: 18px;
    padding: 24px 0;
  }
  #access .content .info-l .btn-link a img {
    margin-right: 1px;
    position: relative;
    top: -4px;
    left: -10px;
    display: inline-block !important;
  }
  #access .content .info-l .btn-link a::before {
    border-left: 4px solid #fff;
    top: 19px;
    left: 15px;
    bottom: 19px;
  }
  #access .content .info-l .btn-link a::after {
    top: 50%;
    transform: translateY(-50%);
    right: 21px;
    bottom: auto;
    width: 10px;
    height: 14px;
  }
  #access .content .info-l .btn-link a:hover {
    opacity: 0.8;
  }
  #access .content .info-r {
    width: 500px;
  }
  #access .content .info-r .map {
    height: 700px;
    margin: 0 calc(-50vw + 50%) 0 0;
  }
  #access .content .info-r .gr {
    margin-top: 64px;
  }
  #access .content .info-r .gr .link {
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }
  #access .content .info-r .gr .print_map {
    text-align: center;
    margin-top: 10px;
    width: 237px;
  }
  #access .content .info-r .gr .print_map a {
    position: relative;
    line-height: 28px;
  }
  #access .content .info-r .gr .print_map a::before {
    content: "";
    border-top: 1px solid #757575;
    position: absolute;
    right: 0;
    bottom: -5px;
    left: 0;
  }
  #access .content .info-r .gr .print_map a:hover::before {
    opacity: 0;
    visibility: hidden;
  }
}
