@charset "UTF-8";
* {
  font-family: "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
* body a, body a:hover, body a:active, body a:focus {
  text-decoration: none;
  outline: none;
  outline: none;
}
/* a:hover {
  color: #fff !important;
} */
* a:focus {
  color: #fff !important;
}
.header {
  position: relative;
  z-index: 100;
  background: #fff;
}
button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
/*pcの場合*/
@media (min-width: 767px) {
  *.contents_wrapper {
    width: 1024px;
    margin: 0 auto;
  }
  .ttl-block .wrapper {
    width: 1024px;
    margin: 0 auto;
  }
  .ttl-block {
    background: url("../img/ttl-bk-img.jpg") right no-repeat;
    background-size: cover;
    height: 480px;
    background-position: 30% 91%;
    /* margin-bottom: 50px; */
  }
  .ttl-block_inner {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  .ttl-block_Patch {
    position: absolute;
    top: -6%;
    left: 6%;
  }
  .ttl-block_Patc_img img {
    width: 106%;
    overflow: hidden;
  }
  .nav_wrap {
    /*background: #3b8716;*/
    background: #3b8716;
    width: 100%;
    height: 80px;
  }
  .ttl-block_decor {
    /* border-left: 310px solid #FFFFFF; */
    padding: 24rem 0;
  }
  .ttl-block_moyou {
    position: absolute;
    content: "";
    bottom: -46px;
    background: url(../img/sakaku.png) bottom repeat-x;
    width: 100%;
    background-size: 161px;
    height: 80px;
    z-index: 10;
    border-bottom: solid 52px #FFF;
  }
  .fixed {
    left: 0;
    position: fixed;
    top: 0;
    z-index: 1000;
  }
  li.nav_wrap-item {
    font-size: 20px;
    color: #fff;
    position: relative;
    display: table;
    width: 205px;
    height: 80px;
    text-align: center;
  }
  .nav_wrap-item:first-child {
    width: 345px;
	color: 
  }
  /* .nav_wrap-item:nth-child(2) {
    width: 260px;
  } */
  .nav_wrap-item a {
    color: #fff;
    display: table-cell;
    vertical-align: middle;
    height: 80px;
    width: 100%;
  }
  .nav_wrap-item a span {
    font-size: 12px;
  }
  .nav_wrap-item a:hover {
    opacity: 0.5;
    transition: 0.5s;
    color: #fff;
  }
  .nav_wrap-item::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 56px;
    background-color: #FDFDFD;
    position: absolute;
    top: 12px;
    bottom: 0;
    left: 0;
  }
  .nav_wrap-item:last-child::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 56px;
    background-color: #FDFDFD;
    position: absolute;
    top: 12px;
    bottom: 0;
    right: 0;
  }
  .nav_inner {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 80px;
  }
  /*アルペンルート説明-ここから	*/
  .alpen_wrap {
    width: 1024px;
    padding-top: 100px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
  }
  .alpen_photo {
    width: 40%;
  }
  .alpen_photo img {
    width: 100%;
	border-radius: 25px;
  }
  .alpen_info {
    width: 56%;
  }
  .alpen_hd {
    font-size: 25px;
    line-height: 1.5;
    font-weight: bold;
    color: #3b8716;
    text-align: center;
    padding-bottom: 20px;
    border-bottom: 1px solid #707070;
  }
  .alpen_hd span {
    font-size: 20px;
  }
  .alpen_txt {
    font-size: 19px;
    margin-top: 20px;
    line-height: 1.8;
  }
  /*アルペンルート説明-ここまで	*/
  /*ダイナミックパッケージとは*/
  .recomm_block {
    text-align: center;
    padding: 3% 5% 3%;
    /*padding: 9% 5% 5%;*/
    /* background: url(../img/sankaku02.png) bottom repeat-x; */
    background-size: 125px;
  }
  .recomm_block_ico {
    padding: 20px 0 25px;
    text-align: center;
  }
  .recomm_block_ttl_eng {
    font-size: 16px;
    color: #3b8716;
    font-weight: bold;
	text-align: center;
	text-shadow: 2px 2px 4px #f7ed89;
	padding-bottom: 15px;
	font-family: OCRB, sans-serif;
  }
  .recomm_block_ttl {
    font-size: 30px;
    color: #4C4C4C;
    font-weight: bold;
  }
  .recomm_block_ttl-sub {
    font-size: 24px;
    line-height: 1.5;
    font-weight: bold;
    color: #4C4C4C;
    text-align: center;
    margin-bottom: 10px;
  }
  .recomm_block_ttl-sub2 {
    font-size: 18px;
    line-height: 1.5;
    font-weight: bold;
    color: #4C4C4C;
    text-align: center;
    margin-top: 13px;
  }
  .recomm_block_item {
    width: 100%;
  }
  .recomm_block_item-ttl {
    font-size: 20px;
    margin: 0 auto 10px;
    color: #4C4C4C;
    font-weight: bold;
    text-align: left;
  }
  .recomm_block_item-ttl h3 {
    font-weight: bold;
	padding: 0 0 6px;
	border-bottom: 2px solid #4C4C4C;
  }
  .recomm_block_item-txt {
    font-size: 16px;
    line-height: 30px;
    text-align: left;
  }
  .recomm_block_contioner {
    display: flex;
    justify-content: space-between;
    width: 1024px;
    margin: 0 auto;
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .recomm_block_item_inner {
    width: 28%;
  }
  .recomm_block_item-icn img {
    width: 100%;
  }
  .pc_no {
    display: none;
  }
  .tour_block {
    text-align: center;
    /*background: #f7eae7;*/
    background: #f7f7cd;
    background-size: 122px;
    padding: 80px 0 100px;
  }
  .tour_block_ttl {
    text-align: center;
    font-size: 30px;
    color: #4C4C4C;
    font-weight: bold;
    margin-bottom: 30px;
  }
  .sale-note {
    text-align: center;
    font-size: 23px;
    color: red;
    font-weight: bold;
    margin: 30px 0 25px;
  }
  .tour_item {
    background: #fff;
    margin: 20px auto 0;
    /*width: 1024px;*/
    border: #bbb8b8 1px solid;
  }
  .tour_item_inner {
    padding: 20px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: space-between;
    align-items: flex-start;
  }
  .tour_item_ttl {
    font-size: 20px;
    font-weight: bold;
    color: #3b8716;
    line-height: 25px;
    margin-bottom: 10px;
  }
  .tour_item_cap {
    font-size: 16px;
    color: #4C4C4C;
    line-height: 20px;
    margin-bottom: 10px;
  }
  .tour_item_subttl {
    font-size: 16px;
    color: #6fa852;
  }
  .tour_item_subttl.bold {
    font-size: 16px;
    color: #ffff;
    font-weight: 500;
    background-color: #03567c;
    display: inline-block;
    padding: 1px 8px;
    margin-bottom: 6px;
  }
  .tour_item_price {
    font-size: 18px;
    color: #FF0000;
    font-weight: bold;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .tour_item_btn {
    background: #FF0000;
    width: 280px;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .tour_item_btn a {
    color: #fff;
    font-size: 16px;
  }
  .tour_item_btn .no-click {
    pointer-events: none;
  }
  .tour_item_btn:hover {
    opacity: 0.5;
    transition: 0.5s;
    color: #fff;
  }
  .tour_item_btn::after {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    margin: 1.5px 10px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
  }
  .tour_item_ph {
    margin-right: 20px;
  }
  .tour_item_text {
    text-align: left;
    position: relative;
  }
  .tour_item_notbox {}
  .block_ph {
    width: 32%;
    /* margin-right: 20px; */
    margin-bottom: 20px;
  }
  .block_ph img {
    max-width: 100%;
    height: auto;
  }
  .slideshow .slick-prev {
    left: 3%;
    z-index: 99;
  }
  .slideshow .slick-next {
    right: 3%;
    z-index: 100;
  }
  .slideshow .slick-prev:before, .slideshow .slick-next:before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
  }
  .slideshow .slick-prev:before {
    transform: rotate(-135deg);
  }
  .slideshow .slick-next:before {
    transform: rotate(45deg);
  }
  .wrap_itinerary_list {
    border: solid 1px #98A6B5;
    background: #fff;
    margin: 10px 0 55px !important
  }
  .wrap_itinerary_list:last-of-type {
    margin-bottom: 0;
  }
  .itinerary_list dt {
    display: table;
    width: 100%;
    position: relative;
    cursor: pointer;
    font-size: 16px;
    color: #fff;
    background-color: #98A6B5;
  }
  .itinerary_list dt:before, .itinerary_list dt:after {
    content: "";
    width: 14px;
    height: 2px;
    display: block;
    background-color: #fff;
    position: absolute;
    right: 17px;
    top: 50%;
    transform-origin: center center;
    z-index: 3;
    transition: transform .4s ease 0s;
  }
  .itinerary_list dt:after {
    transform: translateY(-50%);
  }
  .itinerary_list dt:before {
    transform: translateY(-50%) rotate(90deg);
  }
  .itinerary_list dt.itinerary_open:before {
    transform: translateY(-50%);
  }
  .itinerary_list dt div {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    align-items: center;
    padding: 5px 45px 5px 20px;
  }
  .itinerary_list dd {
    display: table;
    display: none;
    width: 100%;
    background: #fff;
    padding: 0 0.75em;
  }
  .itinerary_list dd p {
    font-size: 14px;
    padding: 0.75em 0;
  }
  .itinerary_list dd p + p {
    border-top: solid 1px #98A6B5;
  }
  .itinerary_list dd p span {
    font-weight: bold;
  }
  .tour_item_text {
    text-align: left;
    width: 66%;
  }
  .mycar_block_btn {
    background: #77A123;
    width: 500px;
    padding: 20px;
    border-radius: 5px;
    text-align: center;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    margin: 60px 0 !important;
  }
  .mycar_block_btn::after {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    margin: 0 10px 0 40px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: translateY(-4px) rotate(135deg);
    vertical-align: middle;
  }
  .mycar_block_btn-link:hover {
    opacity: 0.3;
    transition: 0.5s;
  }
  .tour_block_btn_wrap {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
  }
  .tour_block_btn_wrap a {
    width: calc(100% / 3);
  }
  .tour_block_btn_wrap a + a {
    margin-left: 30px;
  }
  .tour_block_btn {
    border: 1px solid #3b8716;
    background: #fff;
    color: #4C4C4C;
    padding: 13px 0;
    width: 100%;
    font-size: 20px;
    border-radius: 5px;
    font-weight: bold;
    box-shadow: 3px 3px #79bfdf;
    margin: 60px 0 !important;
    display: inline-block;
  }
  .tour_block_btn::after {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    margin: 0 0 0 30px;
    border-top: 1px solid #4C4C4C;
    border-right: 1px solid #4C4C4C;
    transform: rotate(45deg);
    vertical-align: middle;
  }
  .tour_block_btn-link:hover {
    opacity: 0.3;
    transition: 0.5s;
  } 
  .tour_block_btn2 {
    border: 1px solid #114F0F;
    background: #F5F2E9;
    color: #114F0F;
    padding: 12px 0;
    width: 100%;
    font-size: 20px;
    border-radius: 5px;
    font-weight: bold;
    box-shadow: 3px 3px #77A123;
    margin: 50px 0 10px 0 !important;
    display: inline-block;
  }
  .tour_block_btn2::after {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    margin: 0 0 0 30px;
    border-top: 1px solid #114F0F;
    border-right: 1px solid #114F0F;
    transform: rotate(45deg);
    vertical-align: middle;
  }
  .tour_block_btn2-link:hover {
    opacity: 0.3;
    transition: 0.5s;
  }
    

  /*kojiここから*/


  /*kojiここから*/
  #map_list09 {
    margin-top: 60px;
  }
.recomm_block_item-ttl h3 span {
  font-size: 0.5vw;
}
.recomm_block_item-icn img {
  margin-bottom: 10px;
}

}
/*pcの場合*/
/*smpの場合*/
@media only screen and (max-width: 767px) {
  .ttl-block_smp {
    background: url("../img/ttl_jrdp_kiyosato_sp.png") 0 0 no-repeat;
    background-size: cover;
    height: 400px;
    width: 100%;
  }
  .nav_wrap {
    /*background: #3b8716;*/
    background: #3b8716;
    width: 100%;
    height: auto;
  }
  /* .fix-menu-sp {
    position: fixed;
    bottom: 0;
    z-index: 9999;
  } */
  .nav_wrap-item {
    font-size: 4.3vw;
    color: #fff;
    width: 50%;
    text-align: center;
    border: #FFFFFF 1px solid;
  }
  .nav_wrap-item:nth-child(1) {
    width: 100%;
  }
  /*
  .nav_wrap-item:nth-child(3) {
    display: none;
  }
  .nav_wrap-item:nth-child(5) {
    display: none;
  }
  */
  .nav_wrap-item a {
    line-height: 50px;
    height: 50px;
    display: block;
    color: #fff;
  }
  .nav_wrap-item a:active {
    opacity: 0.3;
    transition: 0.2s;
    color: #fff;
  }
  .nav_inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  /*アルペンルート説明-ここから	*/
  .alpen_wrap {
    width: 100%;
    padding: 10% 3% 3%;
    display: flex;
	flex-direction: column-reverse;
    justify-content: space-between;
    margin: 0 auto;
  }
  .alpen_photo {
    width: 95%;
	margin: 0 auto;
  }
  .alpen_photo img {
    width: 100%;
	border-radius: 20px;
	box-shadow: 4px 5px 6px 1px #6fa852;
  }
  .alpen_info {
    width: 95%;
	margin: 0 auto;
	padding-bottom: 27px;
  }
  .alpen_hd {
    font-size: 25px;
    line-height: 1.3;
    font-weight: bold;
    color: #3b8716;
    text-align: left;
    padding-bottom: 5px;
    border-bottom: 1px solid #707070;
  }
  .alpen_hd span {
    font-size: 14px;
  }
  .alpen_txt {
    font-size: 15px;
    margin-top: 10px;
    line-height: 1.7;
  }
  /*アルペンルート説明-ここまで	*/
  .recomm_block {
    text-align: center;
    padding: 10% 5%;
    /* sbackground: url(../img/sankaku02.png) bottom repeat-x #fff; */
    background-size: 122px;
    background-position: 45% 100%;
  }
  .recomm_block ul {
    margin: 10px 0 10px 0;
  }
  .recomm_block_ico {
    margin: 0 auto 2%;
    padding-top: 8%;
    text-align: center;
  }
  .recomm_block_ico img {
    width: 180px;
  }
  .recomm_block_ttl-sub {
    font-size: 5vw;
    margin-top: 5%;
    line-height: 1.5;
    font-weight: bold;
    color: #4C4C4C;
    text-align: center;
  }
  .recomm_block_ttl-sub2 {
    font-size: 3.5vw;
    margin-top: 3%;
    line-height: 1.5;
    font-weight: bold;
    color: #4C4C4C;
    text-align: center;
  }
  .recomm_block_item {
    width: 100%;
    display: flex;
    align-items: center;
    padding-bottom: 3%;
  }
  .recomm_block_item-ttl {
    font-size: 3.7vw;
    width: 100%;
    margin: 7% auto 3%;
    color: #4C4C4C;
    font-weight: bold;
    text-align: left;
  }
  .recomm_block_item-ttl h3 {
    font-weight: bold;
  }
  .recomm_block_item-txt {
    font-size: 3.5vw;
    line-height: 1.5;
    text-align: left;
    width: 100%;
  }
  .recomm_block_item-icn img {
    width: 100%;
  }
  .recomm_block_item_inner {
    width: 100%;
	border-bottom: 1px solid #dedede;
  }
  .recomm_block_item_inner:last-child {
	border-bottom: none;
  }
  .recomm_block_item-rbox {
    float: right;
    width: 640px;
  }
  .smp_no {
    display: none;
  }
  .recomm_block_ttl_eng {
    font-size: 14px;
    color: #3b8716;
    font-weight: bold;
	text-align: center;
	text-shadow: 2px 2px 4px #f7ed89;
	padding-top: 25px;
	font-family: OCRB, sans-serif;
  }
  .tour_block {
    text-align: center;
    background: /* url(../img/sakaku.png) bottom repeat-x */ /*#faf1eb*/ #f7f7cd;
    background-size: 122px;
    padding-bottom: 18%;
  }
  .tour_block_ttl {
    text-align: center;
    font-size: 4.5vw;
    color: #4C4C4C;
    font-weight: bold;
  }
  .sale-note {
    text-align: center;
    font-size: 5vw;
    color: red;
    font-weight: bold;
    margin: 30px 5px 6px;
  }
  .tour_item {
    background: #fff;
    margin: 3% auto;
    width: 95%;
    border: #bbb8b8 1px solid;
  }
  .tour_item_inner {
    padding: 3%;
  }
  .block_ph {
    width: 100%;
    margin-bottom: 30px;
  }
  .block_ph img {
    max-width: 100%;
    height: auto;
  }
  .tour_item_ttl {
    font-size: 4.25vw;
    color: #3b8716;
    line-height: 1.3;
    margin: 1% auto 3%;
    font-weight: bold;
  }
  .tour_item_cap {
    font-size: 3.75vw;
    color: #4C4C4C;
    line-height: 1.4;
    margin-bottom: 3%;
  }
  .tour_item_subttl {
    font-size: 3.75vw;
    color: #6fa852;
  }
  .tour_item_subttl.bold {
    font-size: 16px;
    color: #ffff;
    font-weight: 500;
    background-color: #03567c;
    display: inline-block;
    padding: 1px 8px;
    margin-bottom: 6px;
  }
  .tour_item_price {
    font-size: 4vw;
    color: #FF0000;
    font-weight: bold;
    text-align: right;
    margin-bottom: 3%;
  }
  .tour_item_btn {
    background: #FF0000;
    width: 100%;
    padding: 3%;
    border-radius: 5px;
    text-align: center;
    margin: 3% auto;
  }
  .tour_item_btn a {
    color: #fff;
    font-size: 4.5vw;
    line-height: 1.8;
  }
  .tour_item_btn .no-click {
    pointer-events: none;
  }
  .tour_item_btn:active {
    opacity: 0.3;
    transition: 0.5s;
  }
  /*
  .tour_item_btn::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 3px 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    vertical-align: baseline;
  }
*/
  .btn-2 {
    display: flex;
    justify-content: space-between;
  }
  .btn-2 .tour_item_btn {
    background: #3B8716;
    width: 48%;
    height: 65px;
    border-radius: 5px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
  }
  .btn-2 .tour_item_btn a {
    color: #fff;
    font-size: 4vw;
    line-height: 1.2;
    display: block;
    padding: 0;
    margin-top: 0;
  }
  .tour_item_ph img {
    width: 100%;
  }
  .mycar_block_btn {
    background: #77A123;
    width: 90%;
    padding: 4%;
    border-radius: 5px;
    text-align: center;
    color: #fff;
    font-size: 4vw;
    font-weight: bold;
    margin: 30px 0 15px !important;
    position: relative;
  }
  .mycar_block_btn::after {
    content: "";
    /* display: block; */
    width: 9px;
    height: 9px;
    /* margin: 0 10px 0 40px; */
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(135deg);
    /* vertical-align: middle; */
    position: absolute;
    top: 27px;
    right: 25px;
    /* bottom: 0; */
  }
  .mycar_block_btn-link:hover {
    opacity: 0.3;
    transition: 0.5s;
  }
  .slideshow .slick-prev {
    left: 3%;
    z-index: 99;
  }
  .slideshow .slick-next {
    right: 3%;
    z-index: 100;
  }
  .slideshow .slick-prev:before, .slideshow .slick-next:before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
  }
  .slideshow .slick-prev:before {
    transform: rotate(-135deg);
  }
  .slideshow .slick-next:before {
    transform: rotate(45deg);
  }
  .wrap_itinerary_list {
    border: solid 1px #98A6B5;
    background: #fff;
    margin: 10px 0 10px !important;
  }
  .wrap_itinerary_list:last-of-type {
    margin-bottom: 0;
  }
  .itinerary_list dt {
    display: table;
    width: 100%;
    position: relative;
    cursor: pointer;
    font-size: 16px;
    color: #fff;
    background-color: #98A6B5;
  }
  .itinerary_list dt:before, .itinerary_list dt:after {
    content: "";
    width: 14px;
    height: 2px;
    display: block;
    background-color: #fff;
    position: absolute;
    right: 17px;
    top: 50%;
    transform-origin: center center;
    z-index: 3;
    transition: transform .4s ease 0s;
  }
  .itinerary_list dt:after {
    transform: translateY(-50%);
  }
  .itinerary_list dt:before {
    transform: translateY(-50%) rotate(90deg);
  }
  .itinerary_list dt.itinerary_open:before {
    transform: translateY(-50%);
  }
  .itinerary_list dt div {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    align-items: center;
    padding: 5px 45px 5px 20px;
  }
  .itinerary_list dd {
    display: table;
    display: none;
    width: 100%;
    background: #fff;
    padding: 0 0.75em;
  }
  .itinerary_list dd p {
    font-size: 3.25vw;
    padding: 0.75em 0;
  }
  .itinerary_list dd p + p {
    border-top: solid 1px #98A6B5;
  }
  .itinerary_list dd p span {
    font-weight: bold;
  }
  .tour_item_text {
    text-align: left;
  }
  .tour_block_btn_wrap {
    width: 95%;
    margin: 5% auto 0 !important;
  }
  .tour_block_btn {
    border: 1px solid #3b8716;
    background: #fff;
    color: #4C4C4C;
    padding: 3% 4%;
    font-size: 4vw;
    border-radius: 5px;
    font-weight: bold;
    box-shadow: 3px 3px #79bfdf;
    margin: 5% auto 0;
    line-height: 2;
    width: 100%;
  }
  .tour_block_btn::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 2px 10px 5px 10px;
    border-top: 2px solid #4C4C4C;
    border-right: 2px solid #4C4C4C;
    transform: rotate(45deg);
    vertical-align: middle;
  }
  .tour_block_btn-link:active {
    opacity: 0.3;
    transition: 0.5s;
  }
    
 .tour_block_btn2 {
    border: 1px solid #114F0F;
    background: #F5F2E9;
    color: #114F0F;
    padding: 3% 4%;
    font-size: 4vw;
    border-radius: 5px;
    font-weight: bold;
    box-shadow: 3px 3px #77a123;
    margin: 5% auto 0;
    line-height: 2;
    width: 100%;
  }
  .tour_block_btn2::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 2px 10px 5px 10px;
    border-top: 2px solid #114F0F;
    border-right: 2px solid #114F0F;
    transform: rotate(45deg);
    vertical-align: middle;
  }
  .tour_block_btn2-link:active {
    opacity: 0.3;
    transition: 0.5s;
  }
    
  .hotel_block {
    text-align: center;
    background: url(../img/sankaku02.png) bottom repeat-x #fff;
    background-size: 122px;
    padding-bottom: 18%;
  }
  .hotel_block_ico {
    padding-top: 8%;
  }
  .hotel_block_ttl {
    font-size: 4.5vw;
    margin-bottom: 3%;
    color: #4C4C4C;
    font-weight: bold;
  }
  .hotel_block_subttl-small {
    font-size: 3vw;
    font-weight: normal;
    margin-left: 2%;
  }
  .hotel_block_subttl {
    font-size: 4vw;
    color: #77A123;
    font-weight: bold;
    padding-bottom: 5px;
    border-bottom: 1px #77a123 solid;
    margin: 3% auto;
    width: 90%;
    font-feature-settings: "palt";
  }
  .hotel_block_cap {
    font-size: 3.8vw;
    color: #4C4C4C;
    margin-bottom: 3%;
    text-align: left;
  }
  .hotel_block_address {
    font-size: 3.8vw;
    color: #114F0F;
    margin-bottom: 3%;
    text-align: left;
  }
  .hotel_block_btn {
    background: #3B8716;
    width: 100%;
    padding: 4%;
    border-radius: 5px;
    text-align: center;
    margin: 0 auto;
  }
  .hotel_block_btn > a {
    font-size: 4vw;
    color: #fff;
  }
  .hotel_block_btn a:active {
    opacity: 0.3;
    transition: 0.2s;
  }
  .hotel_block_btn a::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 10px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    vertical-align: middle;
  }
  .hotel_block_ph-inner img {
    width: 100%;
  }
  .hotel_block_item {
    margin: 0 auto 3%;
    margin-bottom: 50px;
  }
  .hotel_block_text {
    width: 90%;
    margin: 5% auto;
  }

  /*みどころ　ここから*/


  /*みどころ　ここまで*/
  /*kojiここから*/
  .sec_point {
    padding: 5% 5% 20%;
	background: linear-gradient(to top, #faf8e8 87%, #FFF);
    /* margin-top: 6%; */
  }
  .sec_point h2 {
    margin: 5% auto;
    font-size: 6vw;
    text-align: center;
    font-weight: bold;
	color: #4C4C4C;
  }
  .point_flex {
    width: 100%;
    padding: 5%;
    margin: 0 auto;
  }
  .point_flex dl {
    margin-bottom: 10%;
  }
  .point_flex dl:nth-child(3) {
    margin-bottom: 0%;
  }
  .point_flex dl dt img {
    width: 100%;
  }
  .point_flex dl dt {
    margin-bottom: 5px;
    font-size: 5.07vw;
  }
  /* .point_flex dl dd {
    margin-top: 5px;
    font-size: 4vw;
    color: #4C4C4C;
    line-height: 1.7;
  } */
  .point_flex dl dd.animal_txt {
    color: #4C4C4C;
    font-size: 5.07vw;
    padding: 2% 0; 
	text-align: left;
	font-weight: bold;
  }
  .point_flex dl dd span {
    font-size: 3.74vw;
    color: #4C4C4C;
    margin-left: 5%;
  }
  .point_flex dl dd span.spblock {
    display: block;
    margin-left: 0;
    border-bottom: 1px solid #98A6B5;
    padding: 0 0 2%;
  }
  .point_flex dl dd.animal_txt2 {
    margin-top: 10px;
    font-size: 4vw;
    color: #4C4C4C;
    line-height: 1.7;
	text-align: left;
  }
  .point_flex dl dd.animal_txt2 span {
	background: linear-gradient(transparent 60%, #f7efae 60%);
  }
  .point_flex2 {
	background: #FFFFFF;
	border-radius: 25px;
	margin-top: 7%;
	padding: 27px 20px 20px;
  }
  .caution_txt_ttl {
    font-size: 5vw;
	text-align: center;
	font-weight: bold;
	margin-bottom: 20px;
  }
  .caution_txt {
    font-size: 4vw;
	line-height: 1.8;
	margin-bottom: 15px;
    border-bottom: 1px dotted #4C4C4C;
    padding-bottom: 4px;
  }
  .caution_txt:last-child {
    border-bottom: none;
  }
  .caution_txt span {
    background: #f2eaa5;
    border-radius: 12px;
    padding: 3px 8px;
    margin-right: 7px;
  }
  .wrapper section {
    border-bottom: none;
  }
  .sec_wear {
    position: static;
    text-align: center;
    padding: 5% 5% 20%;
	margin-top: 50px;
    background: #F5F2E9;
    background-size: 122px;
    background-position: 45% 100%;
  }
  .wear_memo {
    padding: 8px 0px;
	font-size: 15px;
	text-align: center;
  }	
  .wear_wraper {
    position: relative;
    padding: 5%;
    background: #FFFFFF;
    border: 1px solid #3b8716;
	margin-bottom: 13%;
  }
  .wear_wraper:last-child {
	margin-bottom: 0%;
  }
  .sec_qa {
    margin: 0 4%;
  }
  .sec_wear h2, .sec_access h2, .sec_qa h2, .sec_rec h2, .recomm_block_ttl, .tour_block_ttl, .hotel_block_ttl, .highlight_block_ttl, .route_block_ttl, .highlight_block_ttl {
    margin: 5% auto;
    font-size: 6vw;
    text-align: center;
    font-weight: bold;
  }
  .sec_wear h2 span, .sec_access h2 span, .sec_qa h2 span, .recomm_block_ttl span, .tour_block_ttl span, .hotel_block_ttl span, .highlight_block_ttl span {
    display: block;
  }
  .sec_qa {
    padding-bottom: 20%;
  }
  .sec_rec {
	background: linear-gradient(to top, #c7e2ed 20%, #FFF); /* #eef8fcから変更 */
	padding: 30px 0 65px;
  }
  .qa a {
    color: #004BB1;
	 text-decoration: underline;
  }
  .qa a:hover {
    color: #8cb5ed;
  }
  .qa dt {
    position: relative;
    border: 1px solid #ccc;
    padding: 3% 10% 3% 7%;
    font-size: 3.74vw;
    font-weight: 300;
    margin-top: 4%;
  }
  .qa dt.selected {
    border-bottom: none;
  }
  .qa dt::after {
    content: 'Q';
    position: absolute;
    font-size: 3.74vw;
    font-weight: bold;
    color: #0B499D;
    top: 15%;
    left: 3%;
    display: block;
  }
  .qa dd {
    position: relative;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 0 3% 3% 7%;
  }
  .qa dd::after {
    content: 'A';
    position: absolute;
    font-size: 3.74vw;
    font-weight: bold;
    color: #B20000;
    top: 0;
    left: 3%;
    display: block;
  }
  .qa dd p {
    font-size: 3.47vw;
  }
  .wrap_qa dt span.plus {
    position: absolute;
    height: 40px;
    background: #ffffff;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    font-family: "Times", "Times New Roman", "serif";
    font-weight: normal;
    font-size: 28px;
  }
  .wrap_qa dt span.plus_inner {
    position: relative;
    width: 40px;
    height: 40px;
  }
  .wrap_qa dt span.plus_inner::before {
    content: "";
    display: block;
    width: 15px;
    height: 2px;
    background: #98A6B5;
    position: absolute;
    right: -5px;
    top: 17px;
  }
  .wrap_qa dt span.plus_inner::after {
    content: "";
    display: block;
    width: 2px;
    height: 15px;
    background: #98A6B5;
    position: absolute;
    right: 2px;
    top: 10px;
  }
  .wrap_qa dt.selected span.plus_inner::after {
    display: none;
  }

}
/*smpの場合*/

@media (min-width: 767px) {
    .recomm_block_item-ttl h3 span {
        font-size: 1vw;
    }
}


/*=======================================
	避暑旅掲載部分
=======================================*/
/* 全体枠 */
.hisyotabi {
  border-radius: 12px;
  padding: 20px;
  max-width: 1000px; /* 任意の上限幅 */
  margin: 0 auto;   /* 中央寄せ */
  box-sizing: border-box;
}

/* 内部左右配置 */
.hisyotabi_inner {
  border: 3px solid #87CEFA; /* 水色 */
  border-radius: 12px;       /* ← 角を丸くする指定 */
  box-sizing: border-box;
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: flex-start;
}

/* 左画像 */
.hisyotabi_img {
  flex: 0 0 40%;
  max-width: 300px;
}
.hisyotabi_img img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

/* 右テキスト */
.hisyotabi_text {
  flex: 1;
}

/* 避暑旅ボックス */
.hisyotabi_explanation span {
  background-color: #000088; /* 濃い青 */
  color: #ffffff; /* 白文字 */
  padding: 4px 8px;
  border-radius: 4px;
  font-weight: bold;
  margin-right: 6px;
}

/* タイトル太字 */
.jrdp_list-title {
  color: #000088; /* 濃い青 */
  font-weight: bold;
  margin: 0px 0 8px;
  text-align: center;     /* 横方向中央 */
}

.hisyotabi_box {
  background-color: #ebfaff; /* 薄い水色 */
  margin: 10px;
  padding: 10px 10px 20px;
  border-radius: 8px;
  width: 380px;
  height: 150px;
  box-sizing: border-box;
}

/* 温度リストの横並び＆装飾 */
.hisyotabi_list-temperature {
  list-style: none;
  display: flex;
  gap: 1em;
  padding: 0;
  margin: 0;
}

.hisyotabi_list-temperature li {
  position: relative;
  background: #fff;
  padding: 0.5em 1em;
  margin: 10px auto;
  border: 1px solid #009dff;
  border-radius: 8px;
  font-weight: bold;
  white-space: nowrap;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  z-index: 1;
  width: 150px;
  height: 80px;
  text-align: center;     /* 横方向中央 */
  display: flex;          /* ↓以下3つで縦方向中央 */
  justify-content: center;
  align-items: center;
  flex-direction: column; /* テキストが複数行なら縦に並べる */
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);}

/* 擬似要素で「ずらし重ね」 */
.hisyotabi_list-temperature li::after {
  content: '';
  position: absolute;
  top: 6px;    /* 下にずらす */
  left: 6px;   /* 右にずらす */
  width: 100%;
  height: 100%;
  background-color: #abe7ff; /* 薄い水色 */
  border-radius: 8px;
  z-index: -1;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  mix-blend-mode: multiply; /* ← 乗算モードを適用 */
}

/* 温度を大きく */
.hisyotabi_list-temperature li .temp {
  white-space: nowrap;      /* ← 改行させない */
  display: inline-block;
}

.hisyotabi_list-temperature li .temp span {
  font-size: 23px;
  vertical-align: baseline;
}
/* テキスト段落 */
.hisyotabi_text-area {
  line-height: 1.6;
  margin-top: 12px;
}

/* スマホ用：幅767px以下で縦並びに変更 */
@media screen and (max-width: 767px) {
  .hisyotabi_box {
    width: 90%;
    margin: 10px auto;
  }
  .hisyotabi_inner {
    flex-direction: column;
  }
  .hisyotabi_img, .hisyotabi_text {
    flex: 1 1 100%;
    max-width: 100%;
  }

}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

ツアータブのデザイン

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
.area-tabs {
  font-family: sans-serif;
  max-width: 1024px;
  margin: 0 auto;
}

/* タブメニュー */
.tab-menu {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}

/* タブボタン */
.tab-menu li {
  flex: 1 1 0;
  padding: 12px 0;
  cursor: pointer;
  border: 1px solid #ccc;
  border-right: none;
  background-color: #f5f5f5;
  text-align: center;
  font-size: 20px;
  transition: background-color 0.3s ease;
}

/* 最後のタブだけ右の線を残す */
.tab-menu li:last-child {
  border-right: 1px solid #ccc;
}

/* アクティブタブ */
.tab-menu li.active {
  background-color: #ffffff;
  font-weight: bold;
  border-top: 2px solid #007bff;
  border-bottom: none; /* ← 下線を消すことでタブとコンテンツが繋がる */
}

/* タブの下に隙間を作らないように、border-bottomなし */
.tab-content {
  display: none;
  padding: 20px;
  border: 1px solid #ccc;
  border-top: none; /* タブとコンテンツがぴったりくっつく */
  background-color: #fff;
  margin: 0;
}

.tab-content.active {
  display: block;
}

.product-list {
  list-style: disc;
  /*padding-left: 20px;*/
  margin-top: 0;
}

/* スマホでも同じように100%横幅で均等に配置 */
@media screen and (max-width: 600px) {
  .tab-menu {
    flex-wrap: nowrap;
  }

  .tab-menu li {
    font-size: 15px;
  }
}


/*=======================
野辺山のアクセス
=======================*/
.nobeyama_access {
  padding: 3% 3%;
  margin: 3% 0px;
  border-radius: 18px;
  border: 2px solid #007dbe !important;
  background-color: #fff;
}

.nobeyama_access h2 {
  color: #4C4C4C;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  padding-bottom: 20px;
}

.nobeyama_access h3 {
  color: #4C4C4C;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  padding-bottom: 10px;
}

.nobeyama_access p,
.nobeyama_access li,
.nobeyama_access .access_info {
  text-align: left;
  font-size: 16px;
  color: #333;
}

.access_wrap {
  width: 100%;
}

.access_item {
  margin-bottom: 20px;
}

/* テーブル基本設定 */
.bus_timetable {
  width: 100%;
  border-collapse: collapse;
  margin: 10px 0 20px;
  table-layout: fixed;
  border: 1px solid #ccc;
}

/* テーブル内のヘッダー（上部） */
.bus_timetable thead th {
  background-color: #888 !important;
  color: #fff !important;
  font-weight: bold;
  text-align: center;
  padding: 5px;
  border: 1px solid #ccc;
}

/* テーブル内のデータ（本体） */
.bus_timetable tbody td {
  background-color: #fff;
  color: #333;
  text-align: left;
  padding: 5px;
  border: 1px solid #ccc;
  vertical-align: top;
}

/*=======================
清里のポイント
=======================*/

/* .sec_midokoro 全体のスタイル */
.sec_midokoro {
  /* 背景 */
  background: url(../img/sankaku02.png) bottom repeat-x #fff;
  background-size: 122px;
  
  /* 余白 */
  margin-top: 6%;
  
  /* 配置・その他 */
  text-align: center;
  border-bottom: 0px solid #E6E6E6;
}

/* .sec_midokoro h3 のスタイル */
.sec_midokoro h3 {
  /* サイズと配置 */
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  
  /* 余白 */
  padding: 3%;
  
  /* 背景と文字色 */
  background: #3B8716;
  color: #fff;
  
  /* フォント */
  font-size: 23px;
  font-weight: bold;
  text-align: center;
}

/* spborder クラスと animal_txt の組み合わせスタイル */
.spborder .animal_txt {
  border-bottom: 1px solid #98A6B5;
}

/* shokubutsu_txt クラスのスタイル */
.shokubutsu_txt {
  color: #4C4C4C;
  font-size: 3.74vw;
}

/* shokubutsu_txt-yase クラスのスタイル */
.shokubutsu_txt-yase {
  color: #4C4C4C;
  font-size: 3.74vw;
}

/* ------------------------------------- */
/* .midokoro_flex 全体の共通スタイル (モバイルファースト) */
/* ------------------------------------- */
.midokoro_flex {
  position: relative;
  width: 100%;
  padding: 5%;
  margin: 0 auto 30px;
  border: 1px solid #3B8716;
  background: #fff;
}

/* ------------------------------------- */
/* .midokoro_flex の子要素の共通スタイル (モバイルファースト) */
/* ------------------------------------- */
.midokoro_flex dl {
  margin-bottom: 4%;
}

.midokoro_flex dl dt {
  margin-bottom: 5px;
  font-size: 5.07vw;
}

.midokoro_flex dl dt img {
  width: 100%;
}

.midokoro_flex dl dd {
  margin-top: 5px;
  font-size: 4vw;
  color: #4C4C4C;
  line-height: 1.7;
}

.midokoro_flex dl dd.animal_txt {
  color: #3B8716;
  font-size: 5.07vw;
  padding: 2% 0;
}

.midokoro_flex dl dd span {
  font-size: 3.74vw;
  color: #4C4C4C;
  margin-left: 5%;
}

.midokoro_flex dl dd span.spblock {
  display: block;
  margin-left: 0;
  border-bottom: 1px solid #98A6B5;
  padding: 0 0 2%;
}

/* ------------------------------------- */
/* PC/タブレット向けのスタイル (メディアクエリ) */
/* 画面幅が768px以上の場合に適用されるスタイル例 */
/* ------------------------------------- */
@media screen and (min-width: 768px) {
  .midokoro_flex {
    display: flex;
    justify-content: space-between;
    padding: 30px 30px 55px;
  }

  .midokoro_flex dl {
    width: 300px;
    margin-bottom: 0;
  }

  .midokoro_flex dl dt img {
    width: 300px;
  }

  .midokoro_flex dl dd {
    font-size: 16px;
    text-align: left;
  }

  .midokoro_flex dl dd.animal_txt {
    border-bottom: 1px solid #98A6B5;
    font-weight: bold;
    font-size: 18px;
    padding: 0;
  }
  
  .midokoro_flex dl dd.animal_txt span {
    display: block;
    margin: 3px 0;
    color: #4C4C4C;
    font-size: 16px;
    font-weight: normal;
    text-align: left;
  }

  .midokoro_flex dl dd span {
    display: block;
    margin-top: 15px;
    font-size: 15px;
    text-align: right;
    margin-left: 0;
  }
}

  /*よくある質問*/
  .sec_qa {
    padding: 80px 0 70px;
  }
  .sec_rec {
    padding: 100px 0 110px;
	background: linear-gradient(to top, #c7e2ed 5%, #FFF); /* #eef8fcから変更 */
  }
  .qa a {
    color: #004BB1;
	text-decoration: underline;
  }
  .qa a:hover {
    color: #8cb5ed;
  }
  .qa dt {
    position: relative;
    border: 1px solid #ccc;
    padding: 30px 30px 30px 60px;
    font-size: 18px;
    font-weight: 300;
    margin-top: 20px;
  }
  .qa dt.selected {
    border-bottom: none;
  }
  .qa dt::after {
    content: 'Q';
    position: absolute;
    font-size: 22px;
    color: #0B499D;
    top: 30px;
    left: 30px;
    display: block;
  }
  .qa dd {
    position: relative;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 0 30px 30px 60px;
  }
  .qa dd::after {
    content: 'A';
    position: absolute;
    font-size: 22px;
    color: #B20000;
    top: 0;
    left: 30px;
    display: block;
  }
  .qa dd p {
    font-size: 16px;
  }
  .wrap_qa dt span.plus {
    position: absolute;
    width: 40px;
    height: 40px;
    background: #ffffff;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    font-family: "Times", "Times New Roman", "serif";
    font-weight: normal;
    font-size: 28px;
  }
  .wrap_qa dt span.plus_inner {
    position: relative;
    width: 40px;
    height: 40px;
  }
  .wrap_qa dt span.plus_inner::before {
    content: "";
    display: block;
    width: 20px;
    height: 1px;
    background: #333;
    position: absolute;
    right: -8px;
    top: 20px;
  }
  .wrap_qa dt span.plus_inner::after {
    content: "";
    display: block;
    width: 1px;
    height: 20px;
    background: #333;
    position: absolute;
    right: 2px;
    top: 10px;
  }
  .wrap_qa dt.selected span.plus_inner::after {
    display: none;
  }
  .sec_wear h2, .sec_wear h2 span, .sec_access h2, .sec_qa h2, .sec_qa h2 span, .sec_rec h2 {
    font-size: 30px;
    color: #4C4C4C;
    text-align: center;
    font-weight: bold;
  }