@charset "UTF-8";
/* -----------------------------------------------------------
CSS Information

File name:      style.css
Created:        2020.04.01
Style Info:     バリ島現地ガイド紹介ページ　CSS
----------------------------------------------------------- */



#villa {line-height: 180%; font-size: 16px; font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;}


#villa.content_wrapper {}

#villa a{text-decoration:none;}
#villa a:hover{opacity:.75;text-decoration:none;}
#villa a:active, #villa a:focus{outline:none;text-decoration:none;}
#villa img{vertical-align:bottom;width:100%;height:auto;}



#villa .container {max-width: 1170px; width: 100%; margin: 0 auto; padding: 0 15px;}
#villa .container .fl_l {display: inline; float: left;}
#villa .container .fl_r {display: inline; float: right;}

#villa .visual ,
#villa .sec_point ,
#villa .zoom .zoom_tit,
#villa .sec_reco_villa .sec_tit ,
#villa .sec_reco_villa .bord_tit ,
#villa .sec_reco_villa .box_tit ,
#villa .sec_reco_op .sec_tit {line-height: 180%;font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-weight: bold;}

.Android #villa .visual ,
.Android #villa .sec_point ,
.Android #villa .sec_reco_villa .sec_tit ,
.Android #villa .sec_reco_villa .bord_tit ,
.Android #villa .sec_reco_villa .box_tit ,
.Android #villa .sec_reco_op .sec_tit {line-height: 180%;font-family:'Noto Serif JP', serif; font-weight: 700;}

#villa .link_btn a {display: flex; flex-wrap: wrap; align-items: center;width: 100%; height: 100%; border-radius: 8px; background: #582d1c; position: relative; color: #fff; font-weight: bold; padding: 0 40px 0 20px;word-break: break-all; line-height: 1.2;}
#villa .link_btn a:after {display: inline-block;margin-left: 5px; position: absolute; right: 10px; top: 50%;content:'';background: url(../img/arr_white.svg) center center / 100% auto no-repeat;aspect-ratio: 8 / 14;width:8px;transform: translateY(-50%);}




@media screen and (max-width:767px) {
	#villa .content {background: #f5f3eb; padding: 0;}
	#villa .link_btn a {border-radius: 5px;}
}




/* --------------------------------------------------------- */
/* パンくず文字長調整 */
/* --------------------------------------------------------- */
#villa .breadcrumb_nav {overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}


/* ------------------------------------------------ */
/* 看板 */
/* ------------------------------------------------ */

#villa .visual { width: 100%; position: relative; height: 600px;}
#villa .visual .slider_01 {width: 100%; max-width: 1920px; margin: 0 auto;}
#villa .visual img {width: auto;}
#villa .visual_text {position: absolute; top: 90px; width: 100%;}

#villa .visual_text .text_01 ,
#villa .visual_text .text_02 { display: flex;align-items: center;justify-content: center; margin: 0 auto; text-align: center; color: #fff;text-shadow: 0 0 13px #0e6370;}

#villa .visual_text .text_01 {background: rgba(24,120,141,.75); width: 280px; height: 280px; margin-bottom: 55px; }
#villa .visual_text .text_02 {background: rgba(24,120,141,.6); width: 100%; height: 120px; }

#villa .visual_text .text_01 p {font-size: 30px; line-height: 1.8;}
#villa .visual_text .text_02 .page_tit {font-size: 48px;}

@media screen and (max-width:1000px) {

}


@media screen and (max-width:767px) {
	#villa .visual {height: auto;}
	#villa .visual img {width: 100%;}
	#villa .visual_text {top: 16vw;}
	#villa .visual_text .text_01 {width: 40vw; height: 40vw; margin-bottom: 16vw; }
	#villa .visual_text .text_02 {height: 16vw;}
	#villa .visual_text .text_01 p {font-size: 4.2vw;}
	#villa .visual_text .text_02 .page_tit {font-size: 6.3vw;}

	#villa .visual .slider_02 li.slick-slide { height: auto;}
}


/* ------------------------------------------------ */
/* Point
/* ------------------------------------------------ */
#villa .bg_water{background: url("../img/point_bg.webp") center top; background-size: cover; overflow: hidden;}
#villa .sec_point {padding: 80px 0 30px; color: #fff;}

#villa .sec_point .sec_tit {font-size: 44px; text-align: center; margin-bottom: 50px;}
#villa .sec_point .sec_tit span {font-size: 55px; margin-left: 10px;}
#villa .sec_point .sec_tit span span {font-size: 72px;}
#villa .sec_point ul {display: flex; flex-wrap: wrap; justify-content: center;}
#villa .sec_point ul li {width: calc((100% - 10%) / 3); margin: 0 5% 50px 0; text-align: left;}
#villa .sec_point ul li:nth-child(3n) {margin-right: 0}
#villa .sec_point ul li figure {margin-bottom: 20px;}
#villa .sec_point ul li .list_tit {font-size: 26px; margin-bottom: 20px; line-height: 1.4;}
#villa .sec_point ul li .list_tit span {font-size: 36px;}
#villa .sec_point ul li .list_tit b {font-size: 28px;display: block;}
#villa .sec_point ul li p {font-size: 16px; line-height: 1.6; font-family:YuGothic, "Yu Gothic", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif; font-weight: 400;}


@media screen and (max-width:767px) {
	#villa .sec_point {padding: 7vw 0 0}
	#villa .sec_point .sec_tit {font-size: 5.3vw; margin-bottom: 4.8vw;}
	#villa .sec_point .sec_tit span {font-size: 7.3vw;}
	#villa .sec_point .sec_tit span span {font-size: 9.5vw;}
	#villa .sec_point ul li {width: 100%; margin: 0 0 9.2vw; display: flex; justify-content: space-around;}
	#villa .sec_point ul li figure ,
	#villa .sec_point ul li .note {width: 41vw; margin-bottom: 0;}
	#villa .sec_point ul li .list_tit {font-size: 5.3vw; margin-bottom: 2.6vw;}
	#villa .sec_point ul li .list_tit span {font-size: 6.7vw;}
  #villa .sec_point ul li .list_tit b {font-size: 5vw;}
	#villa .sec_point ul li p {font-size: 3.8vw; line-height: 1.6;}

}


/* ------------------------------------------------ */
/* zoom
/* ------------------------------------------------ */
#villa .zoom{position: relative;background: rgba(255,255,255,0.85); }
#villa .zoom::before{content: ""; width: 84px; height: 84px; background: url("../img/stuff_icon.png") center center / 100% no-repeat; display: block; position: absolute; top: -42px; left: 50%; transform: translate(-50% , 0);}
#villa .zoom .zoom_tit{color: #18788d; font-size: 40px; line-height: 1.4; margin-bottom: 20px; text-align: center; font-weight: bold;width: 100%;}
#villa .zoom p{width: 100%; padding-bottom: 30px;}
#villa .zoom dl div{flex: 0 0 35%; display: flex; flex-wrap: wrap;}
#villa .zoom dl dt{color: #18788d;}
#villa .zoom dl dd{flex: 1 0 70%;}
#villa .zoom .link_btn{height: 45px; flex: 0 0 40%;}

@media screen and (min-width:769px) {
  #villa .zoom{max-width: 1040px; width: 100%; margin: 40px auto 120px; padding: 50px 100px; display: flex; flex-wrap: wrap; justify-content: space-between;}
  #villa .zoom dl div{flex: 0 0 35%; display: flex; flex-wrap: wrap;}
  #villa .zoom dl dt{color: #18788d;}
  #villa .zoom dl dd{flex: 1 0 70%;}
  #villa .zoom .link_btn{height: 45px; flex: 0 0 40%;}
}
@media screen and (max-width:768px) {
  #villa .zoom{margin: 50px auto 60px; padding:40px 5% 30px; }
  #villa .zoom .zoom_tit{font-size: 4.5vw;}
}
@media screen and (min-width:641px) {
  #villa .zoom{width: 92%; display: flex; flex-wrap: wrap; justify-content: space-between;}
  #villa .zoom p{padding-bottom: 15px;}
  #villa .zoom dl div{flex: 0 0 50%; display: flex; flex-wrap: wrap;}
  #villa .zoom dl dt{color: #18788d;}
  #villa .zoom dl dd{flex: 1 0 70%;}
  #villa .zoom .link_btn{height: 45px; flex: 0 0 45%;}
}

@media screen and (max-width:640px) {
  #villa .zoom{width: 92%; margin: 50px auto 60px; padding:50px 15px 20px;}
  #villa .zoom .zoom_tit{font-size: 7vw;}
  #villa .zoom p{padding-bottom: 15px;}
  #villa .zoom dl {margin-bottom: 20px;}
  #villa .zoom dl dd{flex: 1 0 75%;}

}

/* ------------------------------------------------ */
/* おすすめヴィラ
/* ------------------------------------------------ */

#villa .sec_reco_villa {background: #a4e3dc url("../img/reco_bg.png") no-repeat top center / 100%; padding: 80px 0 ; color: #582d1c; text-align: center;}
#villa .sec_reco_villa .sec_tit {font-size: 40px; margin-bottom: 60px; color: #27505b;}
#villa .sec_reco_villa .sec_tit span {font-size: 55px;}
#villa .sec_reco_villa .sec_tit span span {font-size: 72px;}
#villa .sec_reco_villa .bord_tit {width: 220px; height: 50px; background: #582d1c; border-radius: 100px; text-align: center; line-height: 50px; font-size: 26px; color: #fff; margin: 0 auto 45px;}

#villa .sec_reco_villa .box_wrap {display: flex; flex-wrap: wrap;}
#villa .sec_reco_villa .box {width: calc((100% - 2.6%) / 2); background: #fff; text-align: left; padding: 20px 30px; margin-bottom: 50px; }
#villa .sec_reco_villa .box:nth-of-type(odd) {margin-right: 2.5%;}
#villa .sec_reco_villa .box_tit {font-size: 26px; line-height: 1.4; margin-bottom: 15px;}
#villa .sec_reco_villa .box_tit span {font-size: 14px; display: block; margin-top: 10px;}

#villa .sec_reco_villa .box figure {text-align: center;}
#villa .sec_reco_villa .box img {margin-bottom: 5px;}
#villa .sec_reco_villa .box figcaption {color: #887169; font-size: 13px;}
#villa .sec_reco_villa .box_slider {margin-bottom: 20px;}
#villa .sec_reco_villa .room_cate{margin-bottom: 15px; display: flex; align-items: stretch;}
#villa .sec_reco_villa .room_cate dt{background: #582d1c; color: #fff; line-height: 1; display: inline-block; padding: 8px 13px 6px; flex-shrink: 0;}
#villa .sec_reco_villa .room_cate dd{background: #dfd0c9; color: #f582d1c; line-height: 1; display: inline-block; font-weight: bold; padding: 8px 13px 6px;}
#villa .sec_reco_villa .box p {margin-bottom: 20px;}


#villa .sec_reco_villa .box .btn_list {width: 100%;}
#villa .sec_reco_villa .box .btn_list li {width: 100%; height: 45px; margin-bottom: 5px;}
#villa .sec_reco_villa .box .btn_list li a {font-size: 14px; line-height: 1.4;}

#villa .sec_reco_villa .box .btn_list li.btn_hotel.link_btn a {background:#d8c5bd; color: #582d1c; margin: 15px 0 0;}
#villa .sec_reco_villa .box .btn_list li.btn_hotel.link_btn a:after {color: #582d1c;}

#villa .sec_reco_villa .bl_btn {width: 565px; height: 80px; margin: 100px auto 0;}

#villa .sec_reco_villa .bl_btn.link_btn a{font-size:30px; justify-content:center;}
#villa .sec_reco_villa .bl_btn.link_btn a:after  {right: 15px;}

#villa .sec_reco_villa .slick-dotted.slick-slider {margin-bottom: 0;}
#villa .sec_reco_villa .slick-prev {left: 10px; z-index: 10;}
#villa .sec_reco_villa .slick-next {right: 10px; z-index: 10;}
#villa .sec_reco_villa .slick-prev::before,
#villa .sec_reco_villa .slick-next::before {opacity:1;content:'';background: url(../img/arr_white.svg) center center / 100% auto no-repeat;aspect-ratio: 8 / 14;width:10px;display: block;margin:0 auto;}
#villa .sec_reco_villa .slick-prev::before {transform: scale(-1,-1);}

#villa .sec_reco_villa .slick-dots {bottom: auto; top: 0; padding-top: 61%;}
#villa .sec_reco_villa .slick-dots li button::before {content: ""; display: inline-block; width: 10px; height: 10px; background:#ffffff; border-radius: 20px; opacity: 1;}
#villa .sec_reco_villa .slick-dots li.slick-active button::before {background: #582d1c;}
#villa .sec_reco_villa li.slick-slide { height: auto;}

@media screen and (max-width:767px) {
	#villa .sec_reco_villa {padding: 10vw 0;}
	#villa .sec_reco_villa .sec_tit {font-size: 5.3vw; margin-bottom: 4.2vw;}
	#villa .sec_reco_villa .sec_tit span {font-size: 7vw;}
	#villa .sec_reco_villa .sec_tit span span {font-size: 9.5vw;}
	#villa .sec_reco_villa .villa_nav {margin-bottom: 8vw;}
	#villa .sec_reco_villa .villa_nav ul {display: flex; justify-content: space-around; padding: 0 15px;}
	#villa .sec_reco_villa .villa_nav ul li a {position: relative; padding-right: 20px; display: flex; align-items: center;}
	#villa .sec_reco_villa .villa_nav ul li a span {color: #582d1c; text-decoration: underline;}
	#villa .sec_reco_villa .villa_nav ul li a:after {content: "";display: block;border-radius: 20px; color: #fff; width: 15px; height: 15px;position: absolute; right: 0px;background: #582d1c url(../img/arr_white.svg) center center / 40% auto no-repeat;}
	#villa .sec_reco_villa .bord_tit {height: 40px; line-height: 43px; margin-bottom: 6.3vw; font-size: 18px}
	#villa .sec_reco_villa .box {width: 100%; padding: 15px; margin-bottom: 15px;}
	#villa .sec_reco_villa .box_tit {margin-bottom: 10px; font-size: 22px; line-height: 1.4;}
	#villa .sec_reco_villa .box_tit span {color: #b79e94; margin-top: 0;}
	#villa .sec_reco_villa .box_slider {margin-bottom: 15px;}
	#villa .sec_reco_villa .box .btn_list li.btn_hotel {height: 45px;}
	#villa .sec_reco_villa .box .btn_list li.btn_hotel.link_btn a {margin: 15px 0;}
  #villa .sec_reco_villa .room_cate{font-size: 1.4rem;}

	#villa .sec_reco_villa .bl_btn {width: 100%; height: 60px; margin:12vw 0 0;}
	#villa .sec_reco_villa .bl_btn.link_btn a {font-size: 4.4vw;}

}

@media screen and (max-width:420px) {
	#villa .sec_reco_villa .villa_nav ul li a {padding-right: 15px;}
	#villa .sec_reco_villa .villa_nav ul li a span {font-size: 12px;}
	#villa .sec_reco_villa .villa_nav ul li a:after {width: 12px; height: 12px; font-size: 7px;}
	#villa .sec_reco_villa .slick-prev ,
	#villa .sec_reco_villa .slick-next {top: 28vw;}
	#villa .sec_reco_villa .slick-prev {left: 5px; z-index: 10;}
	#villa .sec_reco_villa .slick-next {right: 5px; z-index: 10;}
	#villa .sec_reco_villa .slick-dots {padding-top: 49vw;}

}

/* ------------------------------------------------ */
/* LINE
/* ------------------------------------------------ */
#villa .sec_line {background: #a4e3dc; padding: 0 0 130px;}
#villa .sec_line .line_wrap{border: 10px solid #00b900; background: #fff; }
#villa .sec_line .line_txt_wrap{flex: 0 0 70%; line-height: 1.6;}
#villa .sec_line .line_tit{color: #00b900; font-size: 36px; font-weight: bold; padding: 10px 0 20px; width: 100%; line-height: 1.4;}
#villa .sec_line .line_txt{padding-bottom: 15px;}

@media screen and (min-width:768px) {
  #villa .sec_line .line_wrap{padding: 25px 50px; display: flex; flex-wrap: wrap; justify-content: space-between;}
  #villa .sec_line .line_txt_wrap{flex: 0 0 70%;}
  #villa .sec_line .line_qr{flex: 0 0 25%;}
}
@media screen and (max-width:767px) {
  #villa .sec_line { padding: 0 0 70px;}
  #villa .sec_line .line_wrap{display: block; padding: 20px;border: 5px solid #00b900;}
  #villa .sec_line .line_tit{font-size: 26px; padding: 0px 0 20px;}
  #villa .sec_line .line_qr{display: none;}
  #villa .sec_line .link_btn{height: 45px;}
  #villa .sec_line .link_btn a{background: #00b900; padding: 0 26px 0 13px;}
}


/* ------------------------------------------------ */
/* おすすめオプショナルツアー
/* ------------------------------------------------ */
#villa .sec_reco_op {background: #d5efec url("../img/reco_bg.png") no-repeat top center / 100%; padding: 80px 0 100px; color: #582d1c; text-align: center;}

#villa .sec_reco_op .sec_tit {font-size: 40px; margin-bottom: 80px;}

#villa .sec_reco_op .box_wrap {display: flex; justify-content: space-between; flex-wrap: wrap;}
#villa .sec_reco_op .box {width: calc((100% - 2.6%) / 2); border: solid 2px #582d1c; padding: 20px; display: flex; justify-content: space-between; background: #fff; margin-bottom: 20px;}
#villa .sec_reco_op figure {width: 48%;}
#villa .sec_reco_op .note {width: 48%; text-align: left; position: relative; padding-bottom: 55px;}
#villa .sec_reco_op .note p {font-size: 18px; font-weight: bold;}
#villa .sec_reco_op .note p br {display: none;}
#villa .sec_reco_op .bl_btn {width: 100%; height: 50px; position: absolute; bottom: 0; right: 0;}
#villa .sec_reco_op .bl_btn.link_btn a {padding: 0 50px 0 20px; }

@media screen and (min-width:1180px) {
  #villa .sec_reco_op .note p br {display: block;}
}

@media screen and (max-width:767px) {
	#villa .sec_reco_op {padding: 8.1vw 0 10vw;}
	#villa .sec_reco_op .sec_tit {font-size: 5.3vw; margin-bottom: 6.4vw; line-height: 1.4;}
	#villa .sec_reco_op .box {width: 100%; margin-bottom: 15px; padding: 15px;}

	#villa .sec_reco_op figure {width: 43%;}
	#villa .sec_reco_op .note {width: 53%;}
	#villa .sec_reco_op .note p {font-size: 16px; line-height: 1.4;}
	#villa .sec_reco_op .bl_btn {height: 40px;}
  #villa .sec_reco_op .bl_btn.link_btn a {padding: 0 10px; }
}

/* -------------------------------------------------------- */
/* フリーオーダー (共通記述) */
/* -------------------------------------------------------- */
#villa .contact_box {overflow:hidden;max-width:960px;margin:55px auto 0;padding:35px 40px 28px 40px;border:solid 1px #c8c8c8; display: flex; justify-content: space-around; flex-wrap: wrap; text-align: left; background: #fff;}
#villa .contact_box p {font-size:15px;line-height:1.6;color:#787878;}
#villa .contact_box .tit {font-size:20px;font-weight:bold;margin:0 0 10px;}
#villa .contact_box .btn_wrap {display:none;}
#villa .contact_box .link_btn {margin-top:10px;}
#villa .contact_box .link_btn a {font-size:16px; height:40px;padding:0; justify-content: center;}
#villa .contact_box .contact_tel {font-family:'arial',sans-serif;font-size:50px;font-weight:bold;line-height:1;margin:0 auto;letter-spacing:-.02em;color:#582d1c;}
#villa .contact_box .contact_tel::before {display:inline-block;margin-right:10px;aspect-ratio: 1 / 1;background: url(../img/icon_tel_brown.svg) center center / auto 100% no-repeat;content:"";width:38px;}
@media (min-width: 769px), print {
  #villa .contact_box .wrap_01 {float:left;width:calc(100% - 400px);}
  #villa .contact_box .wrap_02 {float:right;width:370px;}
}
@media screen and (max-width: 768px) {
  #villa .contact_box {max-width:640px; width: 100%; margin:10vw auto 0;padding:30px 20px;text-align:center;}
  #villa .contact_box p {font-size:14px;margin-bottom:20px;}
  #villa .contact_box .tit {font-size:20px;}
  #villa .contact_box .wrap_02 {max-width:400px;margin:0 auto;}
  #villa .contact_box .contact_tel {display:inline-block;}
}
@media screen and (max-width: 640px) {
  #villa .contact_box {margin-bottom:0;padding:20px 25px 10px;border:0;border:1px solid #582d1c;}
  #villa .contact_box .wrap_02 {display:none;}
  #villa .contact_box .tit {font-size:18px;}
  #villa .contact_box .btn_wrap {display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-align:stretch;align-items:stretch;-ms-flex-align:stretch;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin:15px 0;}
  #villa .contact_box .btn_wrap li {width:49%;}
  #villa .contact_box .btn_wrap li a {font-size:14px;font-weight:bold;line-height:42px;position:relative;display:block;height:44px;text-align:center;text-decoration:none;border-radius:5px;}
  #villa .contact_box .btn_wrap li.tel a {padding-left:10px;color:#582d1c;border:2px solid #582d1c;background:#fff;}
  #villa .contact_box .btn_wrap li.tel a::before {aspect-ratio: 1 / 1;background: url(../img/icon_tel_brown.svg) center center / auto 100% no-repeat;content:"";width:38px;position:absolute;left:5px;top: 50%;width:18px;margin-right: 5px;transform: translateY(-50%);}
  #villa .contact_box .btn_wrap li.order a {padding-right:10px;color:#fff;border:2px solid #582d1c;background:#582d1c;}
  #villa .contact_box .btn_wrap li.order a::before {position:absolute;top:50%;right:10px;content:'';background: url(../img/arr_white.svg) center center / 100% auto no-repeat;aspect-ratio: 8 / 14;width:8px;transform: translateY(-50%);}
}

