@charset "utf-8";

/*base*/
#gnavi, #header_box2{
    background-color:#fff;
}
#container{
    position:relative;
    z-index:2;
}
#sa_body {
    background-image: url(images/body_bg.gif);
    margin-top: -38px;
    position: relative;
    z-index: 1;
    width: 100%;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.7;
    font-family:"メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#sa_container {
    max-width: 1024px;
    width: 100%;
    margin: 0 auto;
}
#about, #how_to, #frenchway, #qa, #saiyu_tour{
    background-color: #fff;
    padding: 70px 0;
}
h2,h3,h4,p,span,div{
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
}
h2{
    text-align: center;
    margin-bottom: 30px;
}
.col_940{
    width: 940px;
    margin: 0 auto;
}
.box {
    margin-bottom: 70px;
}
.icn_bg {
    font-weight: bold;
    color: #fff;
    padding: 1px 6px;
    background-color: #d06c46;
    margin-right: 5px;
}
.caption {
    display: block;
    font-size: 11px;
}
a.anchor {
    position: relative;
    top: -100px;
}
.mb0{
    margin-bottom: 0px!important;
}
.mb10{
    margin-bottom: 10px!important;
}
.mb20{
    margin-bottom: 20px!important;
}
.mb30{
    margin-bottom: 30px!important;
}
.mb45{
    margin-bottom: 45px!important;
}
.mb50{
    margin-bottom: 50px!important;
}
.mb60{
    margin-bottom: 60px!important;
}
.ml40 {
    margin-left: 40px!important;
}
.mr40 {
    margin-right: 40px!important;
}
.mt30{
    margin-top: 30px!important;
}
.floatL{
    float: left;
}
.floatR{
    float: right;
}
.clear{
    clear: both;
}
.cf{
    overflow: hidden;
}
.fs16{
    font-size: 16px;
}
.b{
    font-weight: bold;
}

/*main*/
.sa_main {
    max-width: 1024px;
    width: 100%;
    height: 525px;
    margin: 0 auto 40px;
    background: url(images/main_img02.png) no-repeat bottom right;
    position: relative;
}
.main_ttl {
    padding: 80px 0 20px 0;
}
.btn_panf{
    position: absolute;
    top:64%;
    right: 1%;
}
a.btn_panf img{
    -webkit-transition: all 0.7s;
    transition: all 0.7s;
}
a.btn_panf img:hover{
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
}
/*nav*/
#sa_nav, #sa_nav ul{
    width: 940px;
    overflow: hidden;
    z-index: 100;
}
#sa_nav li {
    float: left;
}
#sa_contents {
/*    background: #fff;*/
    margin-top: 30px;
}

.sp_nav {
  top: 0px;
  width: 100%;
  z-index: 1000;
  margin: 0 auto;
}
.sp_nav ul {
  display: flex;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  font-size: 11px;    
}
.sp_nav li:hover {
  opacity: 0.9;
}
.sp_nav li {
  border: 0.1px solid #a39668;
}
.top li {
  display: flex;
  align-items: center;    
  position:relative; 
  width: calc(100% / 3);
  background-color: #928868;
  padding: 10px 6px;  
}
.bottom li {  
  position:relative;     
  width: calc(100% / 2);
  background-color: #928868;
  padding: 10px 8px;  
}
/*
.top li ::after{
   content:"";
   display:inline-block;
   width:1px;
   height:30px;
   background-color:#f0ede5;
   position:absolute;
   top:10px;
   right:0px;
}
.bottom li ::after{
   content:"";
   display:inline-block;
   width:1px;
   height:30px;
   background-color:#f0ede5;
   position:absolute;
   top:10px;
   right:0px;
}
.top li:last-child::after {
    content: none;
}
.bottom li:last-child::after {
    content: none;
}
*/

/*
.bottom li::before{
   content:"";
   display:block;
   width:90%;
   height:1px;
   background-color:#eee;
   position:absolute;
   top:3px;
   left:20px;
}
.top li :last-child::after{
    display: none;
}
*/
.sp_nav a {
  cursor: pointer;
  color: #fff;    
  width: 100%;
  margin: 0;
  display: block;
  text-decoration: none;
  font-weight: 600;    
  text-align: center;
}

/*map*/
.map {
    max-width: 1024px;
    width: 100%;
    height: 618px;
    margin: 0 auto;
    position: relative;
    background: url(images/map_bg.jpg) no-repeat top center;
}
#about .map h3{
    position: absolute;
    top: 60px;
    left: 75px;
}
.map_info {
    position: absolute;
    top: 270px;
    left: 50px;
    width: 485px;
    height: 329px;;
    background: url(images/map_info_bg.png) no-repeat top left;
}
.info_txt{
    width: 360px;
    padding: 65px 38px;
    position: relative;
}
.bx-wrapper {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
  background: none;
}
.prev {
  background-image: url(images/map_prev_btn.gif);
    position: absolute;
    top: 158px;
    left: 10px;
}
.next{
  background-image: url(images/map_next_btn.gif);
    position: absolute;
    top: 158px;
    right: 10px;
}
.prev .bx-prev {
    filter: alpha(opacity=0);        /* ie 6 7 */
    -ms-filter: "alpha(opacity=0)";  /* ie 8 */
  opacity: 0;
  display: block;
}
.next .bx-next {
    filter: alpha(opacity=0);        /* ie 6 7 */
    -ms-filter: "alpha(opacity=0)";  /* ie 8 */
  opacity: 0;
  display: block;
}
.navi-btn {
  width: 16px;
  height: 26px;
  background-repeat: no-repeat;
  background-position: center center;
}
.info_btn a img.over {
    position: absolute;
    top: 0;
    left: 0;
}
.info_btn .norte{
    position: absolute;
    top: 132px;
    right: 198px;
}
.info_btn .portugues{
    position: absolute;
    top: 235px;
    right: 455px;
}
.info_btn .plata{
    position: absolute;
    top: 414px;
    right: 218px;
}
.info_btn .france{
    position: absolute;
    top: 302px;
    right: 115px;
}
/*about,how_to*/
#about .intro{
    font-size: 16px;
    text-align: center;
}
#about h3, #how_to h3 {
    text-align: center;
    margin-bottom: 30px;
}
#about h4, #how_to h4{
    font-size: 20px;
    color: #d06c46;
    font-weight: bold;
    margin-bottom: 5px;
}
.intro{
    background: url(images/intro_bg.jpg) no-repeat bottom center;
}
.column{
    margin-bottom: 60px;
    overflow: hidden;
    position:relative;
}
.c_imgR, .c_imgL{
    overflow: hidden;
}
.txtL, .txtR{
    float: right;
    width: 450px;
}
.txtL{
    float: left;
}
.c_imgL img{
    float: right;
    margin: 0 40px 8px 0;
}
.c_imgR img{
    float: left;
    margin: 0 0 8px 40px;
}
.icn_spr {
    background-color: #ff7bac;
}
.icn_smr {
    background-color: #46acf5;
}
.icn_atm {
    background-color: #c68643;
}
.icn_wtr {
    background-color: #808080;
}
p.icn_star, .icn_star li{
    background: url(images/icn_list.gif) no-repeat top left;
    padding-left: 24px;
}
.daypack_img{
    position: absolute;
    top: 100px;
    right:30px;
}
.daypack {
    padding: 12px 15px;
    border: 1px solid #b4ae96;
    width: 508px;
    font-size: 12px;
    margin-top: 40px;
}
.fukidashi01 {
    position: absolute;
    top: -14px;
    left: 40px;
}
.must{
    width: 840px;
    height: 481px;
    margin: 0 auto;
    padding-top: 45px;
    background: url(images/must_bg.png) no-repeat top center;
    position: relative;
}
.must h3 {
    margin-bottom: 25px!important;
}
.must_box{
    width: 743px;
    margin: 0 auto;
}
.must_box .txtL{
    width: 385px;
}
.must_box img{
    margin-left: 25px;
}

/*way*/
.section{
    position: relative;
    margin-bottom: 40px;
}
#way01{
    height: 951px;
    background: url(images/way01_bg.jpg) no-repeat bottom center;
}
#way02{
    height: 957px;
    background: url(images/way02_bg.jpg) no-repeat bottom center;
}
#way03{
    height: 947px;
    background: url(images/way03_bg.jpg) no-repeat bottom center;
}
#way04{
    height: 725px;
    background: url(images/way04_bg.jpg) no-repeat bottom center;
}
.section .txtL,.section .txtR{
    width: 420px;
}
.key{
    padding: 15px 10px;
    background-color: #f5efe4;
    overflow: hidden;
    margin-top: 25px;
    font-size: 12px;
}
.key_txt{
    width: 290px;
    margin-right: 8px;
}
.capL{
    position: absolute;
    top:373px;
    left:274px;
}
.capR{
    position: absolute;
    top:373px;
    right:21px;
}
.way05_cap{
    position: absolute;
    top: 284px;
    left: 0;
}
.way05_bg{
    height: 164px;
    margin-top: 24px;
    background: url(images/way05_bg.jpg) no-repeat bottom center;
}

/*Q&A, saiyu_tour*/
#qa, #point, #tour, .point_col, .point_wrap {
    overflow: hidden;
}
#saiyu_tour{
    position: relative;
}
#saiyu_tour .btn_panf{
    top: 1%;
    right: 1%;
}
.col2{
    width: 48%;
}
.qa_col, .point_col{
    margin-bottom: 30px;
}
.question, .tour.tour_box h3 {
    font-size: 17px;
    padding-bottom: 5px;
    font-weight: bold;
    color: #615010;
    border-bottom: 1px dashed #615010;
    margin-bottom: 10px;
    background: none;
    padding-left: 0;
}

#sa_body .info-list{
    line-height: 100%;
}


.h3_kanren{
    font-size: 24px !important;
    text-align: center;
}

.icn_q {
    background-color: #615010;
    padding:0px 4px;
    margin-bottom: 3px;
}
.point_box{
/*
    height: 833px;
    background: url(images/point_bg.png) no-repeat top center;
*/
    background-color: #fffcdc;
}
.point_wrap {
    width: 860px;
    margin: 0 auto;
    padding: 50px 0 40px;
    position: relative;
}
.point_wrap h3{
    font-size: 20px;
    font-weight: bold;
    color: #615010;
    background: url(images/icn_point.gif) no-repeat top left ;
    padding-left: 75px;
    margin-bottom: 10px;
    line-height: 1.5;
}
.point_col span{
    font-size: 12px;
}
.side img{
   width: 179px;
}
.point_col.L p, .point_col.L p{
    float: left;
    width: 217px;
    margin-right: 15px;
}
.point_col.ss p{
    width: 255px;
}
#point .middle, #tour {
    clear: both;
}
#point .middle p{
    width: 525px;
    margin-right: 25px;
}
.tour.tour_box h3{
    font-size: 20px;
    margin-bottom: 20px;
}
.tour_box a img:hover{opacity:0.7;}

.tour ul li {
    width: 270px;
    float: left;
}
.tour ul li + li {
    margin-left: 25px;
}
.tour ul{
    overflow: hidden;
    margin-bottom: 20px;
}
.tour_txt{
    font-size: 12px;
    padding-top: 4px;

}
.tour_txt h4{
    font-size: 14px;
}
.icn_tour{
    padding: 0 5px;
}
.tour_txt .detail{
    margin-top: 3px;
    font-weight: bold;
}
.mannaka{
    width: 860px;
    margin: 0 auto;
}
header .box {
    margin-bottom: 0;
}
body.feature main a.bx-prev{
    text-decoration: none;
}
body.feature main a.bx-next{
    text-decoration: none;
}


/***スマホcss by nishi***/

@media screen and (max-width: 767px) {
    
a.anchor {
    top: 20px;
} 
#sa_container {
    width: 100%;
}
#sa_contents {    
    margin-top: 0px;
}
h2{  padding: 20px;
     margin-bottom: 0px;
}    
.mb60{
    margin-bottom: 10px!important;
}
.col_940 {
    width: 100%;
}  
.col_940 p{
    margin:0px; 
}  
.colh3 {
  height: 16px;
  margin: 0 10px;
}   
.colh3  img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sa_main {
    max-width: 767px;
    height: 500px;
    margin: 0 auto;
    background: url(images/main_img_sp.png) no-repeat bottom right;
    background-size: 100%;
} 
.main_ttl {
    padding: 50px 10px 0 0;
}  
.btn_panf{
    top:63%;
    right: 0;
}  
.btn_panf img{
    width:180px;
    height:149px;   
}
#about .map h3 {
    width: 250px;
    top: 30px;
}   
.map {
    max-width: 680px;
    height: 900px;
    background: url(images/map_bg_sp.jpg) no-repeat top center;
    background-size: 110%;
}  
.map_info {
    top: 530px;
    left:0;
    height: 329px;
    background: none;
}  
.info_btn .norte{
    top: 150px;
    right: 200px;
}  
.info_btn .portugues{
    top: 400px;
    right: 500px;
}  
.info_btn .plata{
    top: 550px;
    right: 200px;
}  
.info_btn .france{
    top: 400px;
    right: 120px;
}
#about .intro{
    margin-top: 0px;
    padding: 0 20px;
    text-align: left;
}    
#about h4, #how_to h4{
    margin-left:20px;
 }
.column{
    margin-bottom: 0px;
    }    
.column .ml40{
    margin-left: 0px;
}
.column ul{
    margin-left: 10px;
 }
 .c_imgR, .c_imgL{
    overflow: visible;
    float: none;
}
.c_imgR img{
    width: 90%;
    margin: 20px;
} 
.c_imgL img{
    width: 90%;
    margin: 20px;
}    
.txtL, .txtR{
    width: 100%;
}
 .must{
     padding-top: 80px;
   }
 .must,.must_box{
    width: 100%;
    height: 800px;
    background-image: none;
}
.must_box .txtL {
    width: auto;
}    
.fukidashi01{
    left: 0;
}  
.daypack{
    width: 90%;
    margin: 0 auto;
    margin-top: 10px;
}
.section{
    margin-bottom: 20px;
}    
.section h3{
    margin-left:20px;
    margin-bottom:20px; 
}
.ml40{
    margin-left: 0px; 
}
#way02,#way03,#way04{
    height:1250px;
    background: url(images/path_bg.jpg) no-repeat bottom center;
}
#way01{
    height:1400px;
    background: url(images/path_bg.jpg) no-repeat bottom center;
}
#way04{
    height: 700px;
    background: url(images/path_bg.jpg) no-repeat bottom center;
}      
.way05_bg{
    background: url(images/path_bg.jpg) no-repeat bottom center;
}    
.section .txtL,.section .txtR{
    width: 100%;
}
.key{
    margin:0 10px;
}  
.key p{
    margin:0 10px;
}  
.key_txt{
    float: left;
    width: 60%;
    margin:0 10px;
}  
.capL,.capR{
    position: relative;
    top: 0px;
    left: 10px;
    right: 0px;
}
.way05_cap{
    position: relative;
    top: 0;
    left: 10px;
}
.imgR{
    margin: 0 10px !important;
    }  
video{
   width: 100%;
}
 .point_box{
    background-color: #fff;
}    
 .point_wrap {
    width: 100%;
    overflow: hidden;
    padding: 40px 0; 
}
.point_col img{
    margin: 10px 20px;
    width: 90%;
}  
.col2{
    width: 100%;
}    
.col2 img{
    margin: 10px 20px;
    width: 90%;
}    
.point_col.L p, .point_col.R p{
    width: 90%;
    margin: 0 20px;
}    
.point_wrap h3{
    margin: 0 0 0 20px;
    font-size: 16px;
}
#point .middle p{
    width: 90%;
    margin-right: 0px;
}
.icn_bg {
    margin-left: 0px;
} 
.qa_col.mb0{
    margin-bottom: 30px!important;
} 
p.answer {
    margin-top: 10px;
}
.tour.tour_box{
    width: 100%;
}
.tour.tour_box h3{
   margin-left:20px;
   border-bottom: none;
   margin-bottom: 0px;
}
.tour ul li {
    width: 90%;
    overflow: hidden;
    margin: 0 20px;
    border-top: 1px dashed gray; /* 上端に「灰色1pxの破線」を引く */
    padding-top: 1em;            /* コンテンツ上端と枠線までの余白量 */
    margin-top: 1em;             /* 上側の枠線より外側の余白量 */
} 
.tour ul li + li {
    margin-left: 20px;
}
.tour_txt h4{
    margin-top: 5px;
}
.tour_txt p{
    margin: 0px;
}  
.tour_txt .detail{
    margin-bottom: 0px;
}
#about, #how_to, #frenchway, #qa, #saiyu_tour {
    background-color: #fff;
    padding: 20px 0;    
}
.floatL{
        float: none;
}    
}
body.feature main .box_960 {
  width:84% !important;
  margin: 0 auto;
  padding: 20px;
}

@media only screen and (max-width: 767px) {
  .recommended-list .list li .text span.title,
  .recommended-list .tour-sub-list li .text span.title {
    /*width: calc(100% - 140px);  */
    /*height: 96px;*/
      margin: -16px 0px 4px 0px;
  }
	.recommended-list .list li .img,
	.recommended-list .tour-sub-list li .img{
			position: absolute;
			top: 16px;
			right: 0;
			width: 140px;
	}
	.recommended-list .list li:first-of-type .img {
			top: 0px;
	}
	.recommended-list .list.yokoku li:first-of-type .img,
	.recommended-list .tour-sub-list.yokoku li:first-of-type .img {
			top: 16px;
	}
}


@media screen and (max-width: 414px) {
    
#about .map h3 {
    width: 160px;
    top: 0px;
    left: 180px;
}  
.map {
    max-width: 680px;
    height: 700px;
    background: url(images/map_bg_sp.jpg) no-repeat top center;
    background-size: 110%;
} 
.map_info {
    top: 360px;
    height: 350px;
    background: none;
}
.info_btn .norte{
    top: 70px;
    right: 200px;
}  
.info_btn .portugues{
    top: 250px;
    right: 200px;
}  
.info_btn .plata{
    top: 300px;
    right: 50px;
}  
.info_btn .france{
    top: 200px;
    right: 0px;
}  
.info_txt{
    width: 300px;
}  
.navi-btn {
  width: 16px;
  height: 20px;
}
}

/*
.pc { display: block !important; }
.sp { display: none !important; }
 
@media only screen and (max-width: 767px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}
*/