.inner {
    width: 90%;
    max-width: 1300px;
    margin: 0 auto;
}
.visually-hidden {
  position: absolute;
  clip: rect(0 0 0 0);
  width: 1px;
  height: 1px;
  overflow: hidden;
}
header {
    border-bottom: 7px solid #04127c;
}
.header_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
header .logo {
    width: 100%;
    max-width: 260px;
}
.header_right {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    max-width: 734px;
}
.headermenu_List {
    display: flex;
    gap: 5px;
    margin: 4px 3px 0 0;    
    width: 100%;
    max-width: 655px;
    justify-content: flex-end;
}
.headermenu_List li {
    width: 33%;
    text-align: center;
    max-width: 215px;
}
.headermenu_List li a {
    width: 100%;
    background: #eff2f6;
    display: flex;
    justify-content: center;
    padding: 23px 0 28px;
    color: #0f1ed2;
    font-size: 20px;
    align-items: center;
    gap: 10px;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
    height: 0;
    font-weight: 500;
    letter-spacing: 6px;
}
.headermenu_List li a.active {
    background: #0f1ed2;
    color: #fff;
}
.headermenu_info {
    width: 100%;
    max-width: 76px;
}
.mainTop_bnr {
    position: relative;
}
.mainTop_Textbar {
    position: absolute;
    top: 0;
    text-align: center;
    width: 100%;
    display: block;
    background: rgba(0, 0, 0, 0.45);
    color: #fff;
    padding: 10px 0;
    box-sizing: border-box;
    font-size: 18px;
    z-index: 9;
    font-weight: 500;
}
.mainTop_slider li {
    text-align: center;
    position: relative;
    width: 100%;
}
.mainTop_slider li a {
    position: relative;
     width: 100%;
     display: block;
}
.miantop_detail {
    position: absolute;
    top: 50%;
    margin: 0 auto;
    display: block;
    transform: translate(-50%, -50%);
    left: 50%;
    text-align: center;
    width: 100%;
    overflow: hidden;
}
.maintop_ttl{
    margin: 0;
    text-align: center;
    font-weight: 500;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
    font-size: clamp(28px, 4.2vw, 61px);
    line-height: 1.5;
    letter-spacing: .18em;
    color: #fff;
    text-shadow: 0 0 6px rgba(0, 0, 0, .8), 0 0 19px rgba(0, 0, 0, .8), 0 2px 20px rgba(0, 0, 0, .7);
}

.maintop_ttl .em{
  color: #ffe600;
}
.mainTop_slider .slider_linkBtn {
    margin: 30px auto 0;
    background: #eb6e00;
    color: #fff;
    width: 20%;
    padding: 20px 20px;
    font-size: 24px;
    display: block;
    border-radius: 30px;
    position: relative;
    box-sizing: border-box;
}
.mainTop_slider .slider_linkBtn::after {
    position: absolute;
    content: url(/images/btn_arw.png);
    right: 40px;
}
.mainTop_slider .slider_linkBtn_coming {
    margin: 30px auto 0;
    background: #dddddd;
    color: #999999;
    width: 20%;
    padding: 20px 20px;
    font-size: 20px;
    display: block;
    border-radius: 30px;
    position: relative;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック, YuGothic, メイリオ, Meiryo, Arial, sans-serif;
    box-sizing: border-box;
}
.mainTop_slider .slider_linkBtn {
    margin-top: 30px;
}
.mainTop_slider .slider_linkBtn img {
    margin: 0 auto;
}
.mainTop_slider .slick-dots {
    overflow: hidden;
    width: 100%;
    padding: 0;
    margin: 12px 0 0 0;
    list-style: none;
    text-align: center;
    position: initial;
}
.mainTop_slider .slick-dots li {
    left: auto;
    position: relative;
    display: inline-block;
    margin: 0 10px;
    padding: 0;
    width: 80px;
    height: auto;
    border-radius: 5px;
    cursor: pointer;
}
.mainTop_slider .slick-dots li button {
    width: 80px;
    height: 6px;
    cursor: pointer;
    padding: 0;
}
.mainTop_slider .slick-dots li button:before {
    opacity: 1;
    font-size: 0;
    color: #eee;
    background: #eee;
    width: 80px;
    height: 6px;
    border-radius: 5px;
}
.mainTop_slider .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #452202;
    background: #452202;
}
/* ------コンテンツ------- */
.support_sec {
    padding-top: 25px;
}
.topsec_ttl {
    text-align: center;
    font-size: 36px;
    color: #3a3f53;
    font-weight: 500;
    line-height: 1.5;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}
.support_list {
    display: flex;
    justify-content: space-between;
    margin: 60px 0 0;
    gap: 20px;
    flex-wrap: wrap;
}
.support_list .support_item {
    position: relative;
    width: 100%;
    max-width: 417px;
    margin: 0 auto;
}
.support_itemttl {
    position: absolute;
    width: 100%;
    color: #fff;
    padding: 22px 20px;
    border-radius: 6px;
    display: inline-block;
    text-align: center;
    background: url(/images/shadow_bg.png) no-repeat;
    font-size: 34px;
    font-weight: 500;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    line-height: 1.3;
    box-sizing: border-box;
}
.support_boxwrap {
    background: #eff2f6;
    padding: 30px 25px 20px;
    box-sizing: border-box;
}
.support_detailText {
    color: #3b4054;
    font-size: 19px;
    line-height: 1.5;
    font-weight: 500;
    margin-bottom: 20px;
    font-family: 游ゴシック, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
.support_link {
    width: 100%;
    max-width: 266px;
    display: block;
    margin: 0 auto;
    text-align: center;
}
.support_link_coming {
    cursor: default;
    pointer-events: none;
}
.special_sec {
    margin: 80px 0 60px;
}
.special_ttl {
    text-align: center;
    font-size: 38px;
    color: #161d83;
    font-weight: 500;
    line-height: 1.5;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}
.special_mainText {
    font-size: 24px;
    text-align: center;
    line-height: 1.3;
    padding-top: 30px;
    font-weight: 400;
}
.special_mainText span {
    background: linear-gradient(to bottom, rgba(255, 241, 0, 0) 8% 49%, #f7f7e3 -17% 83%, rgba(255, 241, 0, 0) 88% 32%);
}
.special_fig {
    text-align: center;
}
.special_list {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin: -135px 0 0 0;
    gap: 20px;
}
.special_list .special_item {
    width: 100%;
    max-width: 425px;
    background: #f2f6f7;
    padding: 20px 20px;
    box-sizing: border-box;
}
.special_itemTtl {
    text-align: center;
    color: #151d83;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-size: 34px;
    line-height: 1.3;
    font-weight: 500;
}
.special_itemTtl span {
    display: block;
    font-size: 20px;
    font-weight: normal;
}

.special_itemText {
    font-size: 18px;
    color: #393f52;
    padding-top: 20px;
    font-weight: 500;
    line-height: 1.5;
}
.service_sec {
    background: #eff2f6;
    padding: 55px 0 70px;
}
.service_ttl {
    text-align: center;
    font-size: 30px;
    color: #3a3f53;
    font-weight: 500;
    line-height: 1.5;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}
.service_fig {
    text-align: center;
    margin: 30px 0;
}
.service_details {
    max-width: 1085px;
    margin: 0 auto;
    width: 90%;
}
.service_text {
    font-size: 18px;
    line-height: 1.7;
    font-family: 游ゴシック, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
.service_listsec {
    max-width: 1085px;
    margin: 0 auto;
    width: 90%;
    padding: 50px 0;
}
.serviceList {
    display: flex;
    justify-content: space-between;
}
.serviceList li {
    width: 32%;
}
.serviceList li a {
    background: #c7cbd3;
    border-radius: 10px;
    padding: 20px 40px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 24px;
    color: #fff;
    font-weight: bold;
    max-height: 84px;
    height: 100%;
}
.serviceList li a.active {
    background: #eb6e00;
}
.serviceList li a.noactive {
    cursor: default;
    pointer-events: none;
}
.company_inner {
    max-width: 1085px;
    margin: 0 auto;
    width: 90%;
}
.company_valuettl {
    text-align: center;
    font-size: 34px;
    color: #fff;
    font-weight: 400;
    line-height: 1.5;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}
.company_valuetxt {
    color: #fff;
    font-size: 18px;
    line-height: 1.7;
    padding-top: 50px;
}
.company_value {
    background: url(/images/company_fig.png) no-repeat right 10% bottom -5px, #3766bc;
    padding: 50px 0;
}
.footer_menu {
    background: #0f1ed2;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4%;
    padding: 25px 0 20px;
}
.footer_menu a {
    color: #fff;
    text-decoration: underline;
    font-family: 游ゴシック, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
    text-underline-offset: 7px;
    font-size: 16px;
    font-weight: 500;
}
.footer_logo {
    text-align: center;
    padding: 20px 0;
    border-top: 1px solid #ddd;
}

/* --------------------------旅行------------------ */
.breadcrumbs {
    background: #0f1ed2;
    margin: -7px 0 0 0;
}
.breadcrumbs_list {
    display: flex;
    color: #fff;
    font-size: 14px;
    align-items: center;
}
.breadcrumbs_list a {
    color: #fff;
    font-weight: 500;
    font-size: 14px;
    padding: 0 55px 0 0;
}
.breadcrumbs_list span {
    background: url(/images/trip/breadcrumb_bg02.png) no-repeat;
    display: block;
    padding: 13px 50px;
    text-align: center;
    background-size: cover;
}
.trip_mainbnr {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    flex-wrap: wrap;
}
.trip_mainslide {
    max-width: 62.5%;
    width: 100%;
    position: relative;
    z-index: 0;
}
.tripmain_wrap {
    max-width: 42.8%;
    width: 100%;
    text-align: center;
    position: absolute;
    right: 0;
}
.necmember_text {
    margin: 50px 0;
}
.tripmain_reason {
    background: rgba(244, 244, 244, 0.8);
    padding: 3.5vw 2vw 3vw;
}
.tripmain_reason .trip_secttl {
    color: #3c4155;
    font-size: 28px;
    letter-spacing: 0.4vw;
    padding-bottom: 60px;
}
.tripmain_reason .tripreason_text {
    color: #999999;
    font-size: 16px;
    letter-spacing: 2px;
}
.tripmain_detail {
    color: #555555;
    font-size: 20px;
    font-weight: 600;
    line-height: 2;
    margin: 25px 0 30px;
}
.tripmain_booklink {
    background: #ff8c00;
    color: #000;
    width: 30%;
    display: block;
    margin: 0 auto;
    padding: 18px 20px;
    font-weight: 500;
    font-size: 18px;
    border-radius: 30px;
    letter-spacing: 1px;
    position: relative;
}
.tripmain_booklink::after {
    content: "";
    position: absolute;
    background: url(/images/trip/darw_icn_black.png);
    width: 18px;
    height: 9px;
    background-size: cover;
    top: 25px;
    right: 22px;
}
.trip_mainslide .slick-dots {
    position: absolute;
    bottom: 20px;
    display: flex;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    max-width: 339px;
    right: -55%;
    justify-content: space-between;
    transform: translate(-50%, -50%);
}
.trip_mainslide .slick-dots li {
    width: 90px;
    height: 1px;
    left: 0;
}
.trip_mainslide .slick-dots li button {
    width: 90px;
    height: 1px;
}
.trip_mainslide .slick-dots li button:before {
    font-family: 'slick';
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 90px;
    height: 1px;
    content: '•';
    text-align: center;
    opacity: 1;
    color: black;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    border: 2px solid #eeeeee;
    background: #eeeeee;
    border-radius: 3px;
}
.trip_mainslide .slick-dots li.slick-active button:before {
    opacity: 1;
    border: 2px solid #452202;
    background: #452202;
    border-radius: 3px;
}
.trip_anchor {
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}
.trip_anchorlist {
    display: flex;
    width: 100%;
    max-width: 1170px;
    margin: 0 auto;
    padding: 20px 0;
    justify-content: space-between;
}
.trip_anchorlist a {
    color: #444444;
    font-weight: 400;
    font-size: 17px;
}
.trip_anchorlist a img {
    margin: 0 0 0 11px;
}
.visitplace {
    margin: 50px 0 70px;
    border-bottom: 1px solid #ddd;
}
.visitplace .trip_secttl {
    text-align: center;
}
.visitplace_list {
    display: flex;
    flex-wrap: wrap;
    margin: 50px 0 0;
    justify-content: space-between;
    padding-bottom: 20px;
}
.visitplace_item {
    max-width: 31.7%;
    width: 100%;
    border: 1px solid #e8e8e8;
    margin-bottom: 30px;
    position: relative;
}
.js-placelist.is-focus {
  outline: 2px solid #000;
  outline-offset: 2px;
}
.js-placelist.is-focus:focus {
  outline: none;
   border: none;
}
.visitplace_noteText {
    font-size: 18px;
    line-height: 1.7;
    color: #393f52;
    padding-bottom: 20px;
    text-align: center;
    font-weight: bold;
}
.visitplace_detail {
    padding: 20px 15px;
}
.visitplace_pref {
    background: #eeeeee;
    color: #393f52;
    font-size: 13px;
    font-weight: 600;
    padding: 3px 7px;
    line-height: 1;
}
.visititem_ttl {
    margin: 15px 0;
    color: #3b4053;
    font-size: 20px;
    font-weight: 500;
}
.visititem_txt {
    color: #393f52;
    line-height: 1.3;
    font-size: 17px;
}
.visititem_amount {
    display: flex;
    justify-content: flex-end;
    font-weight: 600;
    margin: 20px 0 10px;
    gap: 13px;
    align-items: center;
}
.visititem_amount dt {
    color: #393f52;
    font-size: 14px;
}
.visititem_amount dd em {
    font-style: normal;
    font-weight: 400;
    font-size: 23px;
}
.visititem_amount dd {
    color: #434343;
    font-size: 16px;
    font-weight: 500;
}
.visititem_off {
    color: #434343;
    line-height: 1.3;
    font-size: 18px;
    text-align: center;
    font-weight: 500;
    padding: 15px 0 10px;
}
.visititem_couponcode {
    color: #434343;
    line-height: 1.3;
    font-size: 18px;
    text-align: center;
    font-weight: 500;
}
.visitplace_item_coming {
    position: absolute;
    background: rgba(0, 0, 0, 0.4);
    width: 100%;
    height: 100%;
    cursor: default;
    pointer-events: unset;
    z-index: 8;
}
.visitplace_item_comingText {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    height: 100%;
    text-align: center;
    font-size: 20px;
    line-height: 1.7;
    font-weight: 400;
}
.visitplace_booked {
    border-top: 1px solid #f6f8fa;
}
.visitplace_booked a {
    display: flex;
    justify-content: center;
    padding: 10px;
    color: #333;
    font-weight: bold;
    font-size: 18px;
    align-items: center;
    gap: 35px;
}
.visitplace_booked button {
    display: flex;
    justify-content: center;
    padding: 10px;
    color: #434343;
    font-weight: 500;;
    font-size: 18px;
    align-items: center;
    gap: 35px;
    border: none;
    background: transparent;
    width: 100%;
    cursor: pointer;
}
.popup {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.6);
  z-index: 9;
}
.popup_inner {
    background: #fff;
    padding: 30px 80px;
    width: 90%;
    margin: 75px auto;
    border-radius: 10px;
    text-align: center;
    max-width: 965px;
    border: 2px solid #989898;
    box-sizing: border-box;
}
.modal_ttl {
    color: #393f52;
    font-size: 27px;
    font-weight: 600;
    line-height: 1.2;
    padding-bottom: 20px;
    text-decoration: underline;
    text-underline-offset: 5px;
}
.couponTtl {
    color: #131d83;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
}
.couponTtl img {
    vertical-align: initial;
    margin: 0 15px 0 0;
}
.couponTtl img.popcoupon_img02 {
    margin: 0 0 0 15px;
}
.coupon_maintext {
    font-size: 15px;
    padding: 10px 0 15px;
    color: #393f52;
    font-weight: 500;
    line-height: 1.5;
}
.couponBox {
    text-align: left;
    background: #f6f9fa;
    padding: 15px 25px 45px;
    font-size: 15px;
    color: #393f52;
    line-height: 1.7;
    font-weight: 500;
}
.couponcode_sec {
    display: flex;
    font-size: 20px;
    color: #393f52;
    margin: 10px 0;
    align-items: center;
}
.couponDetail_list li {
    display: flex;
}
.couponDetail_list li em {
    color: #d80000;
    font-weight: bold;
    font-style: normal;
}
.couponcode_sec dt {
    width: 28%;
}
.couponcode_sec dd {
    background: #fff;
    border: 2px solid #aaaaaa;
    width: 68%;
    text-align: center;
    padding: 1px 0;
    color: #d90000;
    font-size: 28px;
    font-weight: 400;
    max-width: 400px;
}
.couponCheck {
    font-size: 22px;
    margin-top: 22px;
    line-height: 1.3;
}
.couponLink {
    background: #222;
    display: flex;
    max-width: 265px;
    margin: 25px auto 0;
    justify-content: space-between;
    padding: 15px 20px;
    color: #fff;
    align-items: center;
    font-size: 19px;
    border-radius: 50px;
}
.trip_purpose {
    display: flex;
    justify-content: flex-end;
    position: relative;
    flex-wrap: wrap;
}
.purpose_fig {
    position: relative;
    width: 100%;
    max-width: 63%;
}
.purpose_detailsLeft {
    position: absolute;
    width: 100%;
    max-width: 49.4%;
    left: 0;
    text-align: center;
    padding: 50px 0 0;
}
.trip_secttl.trip_purposettl {
    color: #3c4155;
    letter-spacing: 5px;
}
.purpose_detail {
    background: #f6f9fa;
    margin: 80px 0 0 0;
    padding: 80px 0 170px;
}
.purpose_list {
    width:45%;
    margin: 0 auto 100px;
}
.purpose_list li {
    width: 100%;
    text-align: left;
    color: #393f52;
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 25px;
}
.purpose_link {
    background: #464637;
    color: #fff;
    padding: 15px 45px;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 1px;
    border-radius: 27px;
    position: relative;
}
.purpose_link::after {
    content: "";
    position: absolute;
    background: url(/images/trip/rarw_purpose.png);
    width: 11px;
    height: 18px;
    right: 18px;
}
.benefit_sec {
    margin: 150px 0 0 0;
    background: #eff2f7;
    padding: 60px 0;
}
.benefit_ttl.trip_secttl{
    color: #3c4155;
    text-align: center;
    font-size: 30px;
}
.benefit_list {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
    flex-wrap: wrap;
}
.benefit_list .benefit_item {
    width: 31%;
}
.benefit_item_head {
    display: flex;
    justify-content: space-between;
}
.benefit_itemttl {
    color: #0f1ed2;
    font-size: 30px;
    font-weight: 500;
    width: 300px;
    line-height: 1.4;
}
.benefit_item_head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 15px;
}
.benefit_itemText {
    color: #3b3f4b;
    line-height: 1.5;
    font-size: 18px;
    font-weight: 400;
    padding-right: 59px;
}
.benefit_itemnum {
    max-width: 100px;
    width: 100%;
}
.benefit_list .benefit_item:first-child .benefit_itemfig {
    margin-top: -10px;
}
.benefit_itemfig {
    text-align: right;
    margin-top: 15px;
}
.select_hotel {
    display: flex;
    justify-content: space-between;
    margin-top: 100px;
    flex-wrap: wrap;
}
.select_hotel_fig {
    position: relative;
    z-index: 9;
}
.hotel_detailsRight {
    position: absolute;
    width: 100%;
    max-width: 960px;
    right: 0;
    text-align: center;
    padding: 50px 0 0;
    z-index: 1;
}
.selecthotel_text {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    line-height: 1.7;
    font-size: 20px;
    padding-left: 16%;
    color: #393f52;
    font-weight: 400;
}
.reservation {
    margin: 150px 0 0;
}
.trip_secttl {
    text-align: center;
    color: #444444;
    font-size: 30px;
    font-weight: 400;
}
.reservation_text {
    color: #393f52;
    text-align: center;
    font-size: 20px;
    line-height: 1.7;
    margin: 50px 0 0;
    border-bottom: 1px solid #eee;
    padding-bottom: 70px;
    font-weight: 400;
}
.makereserve {
    margin: 50px 0 130px;
}
.makereserve_text {
    text-align: center;
    color: #393f52;
    line-height: 1.6;
    font-size: 20px;
    margin: 30px 0;
}
.reservepattern_list {
    display: flex;
    justify-content: space-between;
}
.reservepattern_item {
    width: 32%;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
}
.pattern_top {
    background: #f4f6f9;
    text-align: center;
    padding: 30px 15px;
}
.pattern_text {
    color: #0f1ed2;
    font-size: 23px;
    font-weight: 500;
    padding: 10px 0;
}
.pattern_ttl {
    text-align: center;
    color: #333949;
    line-height: 1.4;
    font-size: 22px;
    font-weight: 500;
}
.pattern_ttl span {
    color: #e51e8c;
}
.pattern_bottom {
    padding: 22px;
    background: #fbfcfe;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
.pattern_details {
    font-size: 16px;
    letter-spacing: -1px;
    line-height: 1.5;
    color: #3c4250;
    font-weight: 500;
}
.hotel_inns {
    background: #eff2f7;
    padding: 70px 0;
}
.hotelinns_list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5%;
    margin-top: 40px;
}

.hotelinns_item {
    width: 100%;
    max-width: 240px;
    border: 1px solid #e5e6e6;
    margin-bottom: 35px;
    background: #fff;
    flex-wrap: wrap;
    position: relative;
}
.hotelinns_up {
    padding: 20px 15px;
}
.hotelinns_pref {
    background: #eeeeee;
    padding: 5px 20px;
    color: #3c3e4a;
    font-weight: 900;
    font-size: 13px;
}
.hotelinns_ttl {
    padding: 15px 0 13px;
    color: #100f49;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
}
.hotelinns_text {
    color: #444444;
    line-height: 1.3;
    font-size: 14px;
}
.hotelinns_info {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    text-align: right;
    font-size: 13px;
    margin-top: 20px;
    align-items: baseline;
    line-height: 1.3;
}
.hotelinns_info dt {
    color: #393f52;
    font-weight: 500;
    padding-bottom: 5px;
    font-size: 14px;
    margin-right: 10px;
}
.hotelinns_info dd {
    color: #3f3f3f;
    font-weight: 500;
    text-align: right;
}
.hotelinns_info dd em {
    font-weight: 500;
    font-style: normal;
    font-size: 18px;
}
.hotelinns_info dd span {
    font-size: 16px;
}
.hotelinns_off {
    text-align: right;
    color: #393f52;
    font-weight: 500;
    font-size: 14px;
    padding: 15px 0 10px;
}
.hotelinns_couponcode {
    text-align: left;
    color: #393f52;
    font-weight: 500;
    font-size: 14px;
}
.hotelinns_item_coming {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(25, 25, 25, 0.5);
    pointer-events: unset;
    cursor: default;
    z-index: 8;
}
.hotelinns_item_comingText {
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    line-height: 1.7;
    text-align: center;
}
.hotelinns_detail {
    border-top: 1px solid #dddd;
    margin: 0 15px;
}
.hotelinns_detail a {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    color: #393f52;
    align-items: center;
    font-weight: bold;
    font-size: 16px;
}
.hotelinns_detail button {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    color: #393f52;
    align-items: center;
    font-weight: 500;
    font-size: 16px;
   border: none;
   background: transparent;
   width: 100%;
   cursor: pointer;
}








.faq_sec {
    padding: 80px 0;
}
.faq_sec .trip_secttl {
    color: #3c4155;
}
.faq_sec .faq {
    margin: 60px 0 50px;
}
.faq_sec .faq dt {
    width: 100%;
    background: #f6f9fa;
    padding: 18px 20px;
    text-align: left;
    font-size: 22px;
    color: #3a3f53;
    position: relative;
    cursor: pointer;
    box-sizing: border-box;
    margin-bottom: 10px;
}
.faq_sec .faq dt::before {
    content: "";
    background: url(/images/trip/faq_q.png);
    position: absolute;
    width: 22px;
    height: 33px;
    left: 20px;
    top: 10px;
}
.faq_sec .faq dt::after {
    content: "";
    background: url(/images/trip/faq_open.png);
    position: absolute;
    width: 22px;
    height: 22px;
    right: 20px;
    top: 20px;
    border: 1px solid #ddd;
    background-size: cover;
}
.faq_sec .faq dt.open::after {
    content: "";
    background: url(/images/trip/faq_close.png);
    width: 22px;
    height: 22px;
    right: 20px;
    top: 20px;
    border: 1px solid #ddd;
    background-size: cover;
}
.faq_sec .faq .faq_icn {
    width: 45px;
    display: flex;
    text-align: center;
    position: absolute;
    justify-content: center;
}
.faq_sec .faq_text {
    margin: 0 0 0 75px;
    display: inline-flex;
}
.faq_sec .faq dd {
    text-align: left;
    font-size: 22px;
    color: #393f52;
    position: relative;
    padding: 18px 20px;
    line-height: 1.5;
    display: none;
    box-sizing: border-box;
}
.faq_sec .faq dd::before {
    content: "";
    background: url(/images/trip/faq_a.png);
    position: absolute;
    width: 23px;
    height: 30px;
    left: 20px;
    top: 14px;
}
.faq_sec .faq dd .faq_icn {
    top: 27px;
}
.booked_search {
    text-align: center;
    margin: 0 auto;
    width: 100%;
    max-width: 558px;
}
.booked_search_ttl {
    color: #222222;
    font-size: 28px;
    position: relative;
    line-height: 1.2;
    width: max-content;
    margin: 0 auto;
    font-weight: 400;
}
.booked_search_ttl::before {
    content: "";
    position: absolute;
    background: url(/images/trip/title_leftbg.png) no-repeat;
    left: -80px;
    width: 34px;
    height: 56px;
    top: -10px;
}
.booked_search_ttl::after {
    content: "";
    position: absolute;
    background: url(/images/trip/title_rightbg.png) no-repeat;
    right: -80px;
    width: 34px;
    height: 56px;
    top: -10px;
}
.booked_search a {
    background: #ff8c00;
    width: 100%;
    display: flex;
    color: #222222;
    font-size: 26px;
    font-weight: 400;
    padding: 16px 35px;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    border-radius: 30px;
    margin: 35px 0 0 0;
    position: relative;
}
.booked_search a::after {
    content: "";
    position: absolute;
    background: url(/images/trip/uparw_icn_black.png) no-repeat;
    right: 26px;
    width: 18px;
    height: 9px;
    top: 22px;
}

/* --------------------------体験------------------ */
.exp_mainbnr {
    position: relative;
}
.exp_mainbnr picture img {
    width: 100%;
    object-fit: cover;
    height: 792px;
}
.exp_mainoverlay {
    position: absolute;
    width: 100%;
    top: 47%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 0 20px;
    box-sizing: border-box;
}
.exp_maintop_txt {
    color: #fff;
    text-align: center;
    font-size: 34px;
    line-height: 1.5;
    font-weight: 400;
    text-shadow: 0 0 20px rgba(0, 0, 0, 1);
    font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    letter-spacing: 9px;
    padding-bottom: 35px;
}
.exp_maintop_ttl {
    font-size: 3.2rem;
    color: #fff;
    text-shadow: 0 0 20px rgba(0, 0, 0, 1);
    line-height: 1.5;
    font-weight: 600;
    text-align: center;
    letter-spacing: 14px;
}
.exp_introsec {
    margin: 50px 0 0;
}
.expsec_ttl {
    text-align: center;
    font-size: 33px;
    color: #393f52;
    line-height: 1.5;
    font-weight: 550;
}
.expintro_list {
    display: flex;
    justify-content: space-between;
    margin: 45px 0;
    gap: 20px;
}
.expintro_list li {
    background: #eff2f6;
    width: 100%;
    max-width: 414px;
    box-sizing: border-box;
}
.exp_intro {
    padding: 20px 22px;
    line-height: 1.7;
    font-size: 19px;
    color: #393f52;
}
.exp_details {
    margin-bottom: 40px;
}
.exp_details .booked_search_btn {
    background: #eb6e00;
    width: 42%;
    color: #fff;
    font-size: 28px;
    font-weight: 500;
    padding: 18px 35px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    border-radius: 30px;
    margin: 20px auto 0;
}


/* --------------------------体験------------------ */
.product_mainbnr {
    position: relative;
}
.product_mainbnr picture img {
    object-fit: cover;
    height: 797px;
    max-height: 100%;
}
.product_mainoverlay {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 0 20px;
    box-sizing: border-box;
}
.product_maintop_ttl {
    font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-size: 50px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-align: center;
    color: #fff;
}
.productmain_link {
    margin: 50px auto 0;
    display: block;
    width: max-content;
}
a:focus {
  outline: none;
}
a:focus-visible{
  outline: 2px solid #000;
  outline-offset: 3px;
}

@media only screen and (max-width: 1700px) {
    .select_hotel_fig {
        max-width: 60%;
        width: 100%;
    }
    .hotel_detailsRight {
        max-width: 50%;
    }
}
@media only screen and (max-width: 1600px) {
    .tripmain_reason {
        padding: 2.5vw 1vw 2vw;
    }
    .tripmain_reason .trip_secttl {
        font-size: 25px;
        letter-spacing: 0.2vw;
        padding-bottom: 30px;
    }
    .trip_mainslide {
        max-width: 55%;
    }
    .tripmain_wrap {
        max-width: 50%;
    }
    .tripmain_detail {
        font-size: 16px;
        margin: 15px 0;
    }
    .necmember_text {
        margin: 2% auto;
        width: 190px;
    }
    .tripmain_detail {
        font-size: 16px;
        margin: 2% 0;
    }
    .tripmain_booklink {
        width: 40%;
        display: block;
        margin: 0 auto;
    }
    .trip_mainslide .slick-dots {
        bottom: -5%;
        width: 100%;
        max-width: 50%;
        right: -90%;
    }
    .trip_mainslide .slick-dots li {
        width: 100%;
    }
    .purpose_detailsLeft {
        position: initial;
        width: 100%;
        max-width: 100%;
        padding: 0;
    }
    .purpose_fig {
        max-width: 100%;
        text-align: center;
    }
    .purpose_detail {
        margin: 50px 0;
        padding: 80px 0;
    }
    .select_hotel_fig {
        max-width: 100%;
        order: 2;
        text-align: center;
    }
    .hotel_detailsRight {
        position: initial;
        width: 100%;
        max-width: 100%;
        z-index: 0;
        order: 1;
    }
    .selecthotel_text {
        width: 100%;
        max-width: 90%;
        margin: 0 auto;
        font-size: 21px;
        padding-left: 0;
    }
    .reservation {
        margin: 70px 0 0;
    }
}

@media only screen and (max-width: 980px) {
    .mainTop_slider .slider_linkBtn,
    .mainTop_slider .slider_linkBtn_coming {
        width: 50%;
    }
    .mainTop_Textbar {
        font-size: 15px;
    }
    .booked_list {
        gap: 20px;
    }
    .booked_list .booked_item {
        width: 100%;
    }
    .expintro_list {
        flex-wrap: wrap;
        justify-content: center;
    }
    .company_value {
        background-image: none;
    }
    .booked_head {
        justify-content: center;
    }
    .serviceList li a {
        padding: 20px 20px;
        font-size: 18px;
    }
    .trip_mainslide {
        max-width: 100%;
    }
    .tripmain_wrap {
        max-width: 90%;
        position: initial;
        margin: 20px auto 50px;
    }
    .trip_main_slider .slick-dots {
        right: auto;
        left: 50%;
        width: 100%;
        max-width: max-content;  
    }
    .trip_main_slider .slick-dots li {
        width: 80px;
        margin: 0 10px;
    }
    .trip_main_slider .slick-dots li button {
        width: 80px;
    }
    .trip_main_slider .slick-dots li button:before {
        width: 80px;
    }
    .necmember_text {
        margin: 10px auto 20px;
    }
    .trip_anchorlist {
        max-width: 90%;
        margin: 0 auto;
        justify-content: center;
        flex-wrap: wrap;
        gap: 20px;
    }
    .trip_secttl {
        font-size: 20px;
        line-height: 1.5;
        font-weight: 500;
    }
    .benefit_list .benefit_item {
        width: 48%;
        margin-bottom: 20px;
    }
    .visitplace_item {
        max-width: 49%;
    }
    .bookedList li {
        max-width: 48%;
    }
    .bookedList li .booked_fig img {
        width: 100%;
    }
    .hotelinns_item {
        max-width: 32%;
    }
    .hotelinns_item picture {
        display: block;
        text-align: center;
    }
    .hotelinns_item picture img {
       width: 100%;
    }
    .purpose_list {
        width: 50%;
    }
    .makereserve {
        margin: 50px 0 50px;
    }
    .pattern_ttl {
        font-size: 18px;
    }
    .pattern_ttl .pc {
        display: none;
    }
}
@media only screen and (max-width: 767px) {
    .header_wrap {
        gap: 25px;
        flex-wrap: wrap;
        position: relative;
    }
    header .logo {
        max-width: 240px;
        padding-top: 10px;
    }
    .headermenu_info {
        max-width: 70px;
        position: absolute;
        top: 5px;
        right: 5px;
    }
    .headermenu_List {
        margin: 0;
    }
    .headermenu_List li a {
        font-size: 16px;
    }
    .headermenu_List li a img {
        height: 20px;
    }
    .breadcrumbs_list {
        justify-content: space-between;
        font-size: 12px;
    }
    .breadcrumbs_list a {
        font-size: 12px;
        padding: 0 0 0 0;
    }
    .mainTop_Textbar {
        padding: 6px 10px;
        font-size: 12px;
        line-height: 1.5;
    }
    .mainTop_bnr .slick-slide img {
        height: 400px;
        object-fit: cover;
        max-height: 100%;
    }
    .miantop_detail {
        transform: translate(0, -50%);
        left: initial;
        width: -webkit-fill-available;
        margin: 0 20px;
    }
    .maintop_ttl {
        font-size: clamp(20px, 4.2vw, 56px);
        text-shadow: 0 0 3px rgba(0, 0, 0, .8), 0 0 11px rgba(0, 0, 0, .8), 0 2px 17px rgba(0, 0, 0, .7);
    }
    .mainTop_slider .slider_linkBtn_coming, .mainTop_slider .slider_linkBtn {
        width: 100%;
        font-size: 18px;
    }
    .topsec_ttl {
        font-size: 5.5vw;
    }
    .support_sec .topsec_ttl br {
        display: none;
    }
    .support_list {
        margin: 40px 0 0;
        flex-wrap: wrap;
    }
    .support_itemttl {
        padding: 12px 20px;
        font-size: 24px;
    }
    .support_boxwrap {
        padding: 20px;
    }
    .support_detailText {
        font-size: 16px;
    }
    .support_link {
        max-width: 245px;
        font-size: 20px;
        padding: 15px 0;
    }
    .special_sec {
        margin: 50px 0;
    }
    .special_ttl {
        font-size: 5vw;
    }
    .special_mainText {
        font-size: 18px;
        line-height: 1.5;
        padding-top: 20px;
    }
    .special_list {
        flex-wrap: wrap;
        margin: -20px 0 0 0;
    }
    .special_list .special_item {
        max-width: 100%;
    }
    .special_itemTtl {
        font-size: 26px;
    }
    .special_itemTtl span {
        font-size: 18px;
    }
    .special_itemText {
        font-size: 16px;
        line-height: 1.5;
    }
    .service_ttl {
        font-size: 17px;
    }
    .service_ttl br {
        display: none;
    }
    .service_listsec {
        padding: 35px 0;
    }
    .serviceList {
        flex-wrap: wrap;
        gap: 13px;
    }
    .serviceList li {
        width: 100%;
    }
    .company_valuettl {
        font-size: 26px;
    }
    .company_valuetxt {
        font-size: 16px;
    }
    .company_value {
        background-image: none;
    }
    .tripmain_booklink {
        width: 75%;
        display: block;
        margin: 0 auto;
    }
    .visititem_txt {
        font-size: 15px;
        text-align: left;
    }
    .visititem_amount {
        flex-wrap: wrap;
    }
    .visitplace_item {
        max-width: 100%;
        text-align: center;
    }
    .visitplace_noteText {
        font-size: 16px;
        text-align: left;
    }
    .visititem_off, .visititem_couponcode {
        font-size: 16px;
    }
    .visitplace_booked a {
        font-size: 14px;
    }
    .recommend {
        padding: 50px 0;
    }
    .recommend_list {
        flex-wrap: wrap;
    }
    .recommend_list .recommend_item {
        max-width: 100%;
        margin: 0 auto;
    }
    .recommend_list .recommend_item picture img {
        width: 100%;
    }
    .recommend_ttl {
        padding: 12px 20px;
        font-size: 18px;
    }
    .recommend_txt {
        font-size: 16px;
    }
    .recommend_link {
        font-size: 16px;
    }
    .trip_blog {
        padding: 50px 0 10px;
    }
    .blog_list {
        flex-wrap: wrap;
    }
    .blog_item {
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
        padding-top: 25px;
    }
    .blog_wrap {
        flex-wrap: wrap;
    }
    .blog_fullfig {
        max-width: 100%;
        margin: 0 auto;
        text-align: center;
    }
    .blogitem_fulldetail {
        padding: 30px;
    }
    .blogitem_fullttl {
        font-size: 24px;
        padding-top: 0;
        line-height: 1.5;
    }
    .trip_secTtl em {
        font-size: 2.5rem;
    }
    .booked_ttl {
        font-size: 22px;
    }
    .booked_text {
        font-size: 16px;
    }
    .booked_head {
        margin-right: 0;
    }
    .booked_head picture {
        padding: 0 0 0 22%;
        width: 50px;
    }
    .booked_search_ttl {
        font-size: 24px;
    }
    /* .booked_search_ttl br {
        display: none;
    } */
    .booked_search_ttl::before {
        left: -55px;
        width: 24px;
        height: 41px;
        top: -5px;
        background-size: cover;
    }
    .booked_search_ttl::after {
        right: -55px;
        width: 24px;
        height: 41px;
        top: -5px;
        background-size: cover;
    }
    .booked_search a {
        font-size: 18px;
        margin: 20px 0 0 0;
    }
    .booked_num {
        width: 45px;
    }
    .pickup .trip_secTtl {
        font-size: 22px;
        line-height: 1.5;
    }
    .pickup .trip_secTtl em {
        font-size: 28px;
        display: block;
    }
    .pickup_text {
        font-size: 18px;
        padding: 20px 20px 0;
        text-align: left;
    }
    .pickup_list {
        justify-content: center;
        flex-wrap: wrap;
    }
    .bookedList {
        gap: 0;
        justify-content: space-between;
    }
    .bookedList li {
        width: 49%;
        margin-bottom: 12px;
    }
    .booked_fig img {
        width: 100%;
    }
    .reservation_text {
        font-size: 16px;
        padding: 30px 0;
        margin: 0;
        text-align: left;
    }
    .booked_detailLink {
        font-size: 16px;
    }
    .tripmain_reason {
        padding: 30px 20px 35px;
    }
    .tripmain_reason .trip_secttl {
        font-size: 5vw;
    }
    .tripmain_reason img {
        display: none;
    }
    .faq_sec {
        padding: 50px 0;
    }
    .faq_sec .faq {
        margin: 30px 0 50px;
    }
    .faq_sec .faq dt {
        padding: 18px 55px 18px 20px;
        font-size: 18px;
    }
    .faq_sec .faq dd {
        font-size: 18px;
        padding: 18px 50px 18px 20px;
    }
    .faq_sec .faq .faq_icn {
        width: 35px;
    }
    .faq_sec .faq_text {
        margin: 0 0 0 55px;
    }
    .exp_mainbnr picture img {
        height: 500px;
    }
    .exp_maintop_ttl {
        font-size: 5.5vw;
        letter-spacing: 10px;
    }
    .exp_maintop_txt {
        font-size: 22px;
        padding-bottom: 25px;
    }
    
    .expsec_ttl {
        font-size: 4.7vw;
    }
    .exp_intro {
        font-size: 14px;
    }
    .exp_details .booked_search_btn {
        width: 100%;
        font-size: 20px;
    }
    .product_mainbnr picture img {
        height: 450px;
    }
    .productmain_link {
        width: 80%;
        font-size: 18px;
    }
    .product_maintop_ttl {
        font-size: 24px;
    }
    .benefit_sec {
        margin: 50px 0 0;
        padding: 60px 0 30px;
    }
    .benefit_list .benefit_item {
        width: 100%;
        margin-bottom: 20px;
        border-bottom: 1px solid #ddd;
        padding-bottom: 10px;
    }
    .benefit_itemttl {
        font-size: 20px;
        width: 100%;
        line-height: 1.5;
    }
    .benefit_itemnum {
        max-width: 60px;
    }
    .benefit_itemText {
        font-size: 17px;
    }
    .benefit_list .benefit_item:first-child .benefit_itemfig {
        margin-top: 15px;
    }
    .select_hotel {
        margin-top: 50px;
    }
    .reservepattern_list {
        flex-wrap: wrap;
        gap: 20px;
    }
    .reservepattern_item {
        width: 100%;
    }
    .hotelinns_item {
        max-width: 48.5%;
    }
    .hotelinns_item picture {
        width: 100%;
        display: block;
        text-align: center;
    }
    .hotelinns_item picture img {
        width: 100%;
    }
    .purpose_list {
        width: 80%;
    }
    .purpose_list li {
        margin-bottom: 20px;
        font-size: 18px;
    }
    .purpose_link {
        font-size: 16px;
    }
    .benefit_ttl.trip_secttl {
        font-size: 20px;
    }
    .benefit_item_head {
        gap: 20px;
    }
    .pattern_text {
        font-size: 20px;
    }
    .pattern_ttl {
        font-size: 17px;
    }
    .hotelinns_info dd em {
        font-size: 18px;
    }

    /* モデル画面 */
    .popup_inner {
        width: 80%;
        padding: 30px 30px;
        height: 80%;
        overflow-y: auto;
        margin: 50px auto 0;
    }
    .modal_ttl {
        font-size: 18px;
    }
    .couponTtl {
        font-size: 20px;
    }
    .couponcode_sec {
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
    }
    .couponcode_sec02 {
        font-size: 16px;
    }
    .couponcode_sec dt {
        width: 100%;
        font-size: 18px;
    }
    .couponcode_sec dd {
        width: 100%;
        font-size: 22px;
    }
    .couponcode_sec02 dd {
        font-size: 18px;
    }
    .couponCheck {
        font-size: 16px;
    }
    .couponLink {
        font-size: 16px;
    }
}