@charset "utf-8";

body {
    font-family: var(--fontRym);
    font-weight: 400;
    font-style: normal;
    font-optical-sizing: auto;
    font-variant-east-asian: proportional-width;
    text-align:justify;
    font-size: 1rem;
    line-height: 1.6;
    color: #000;
    letter-spacing: .05em;
}
.sp,
.tb {
    display: none;
}

a,
a:link,
a:hover,
a:visited,
a:active {
    color: inherit;
}
a:hover {
    transform: translateY(-1px);
}
a:active {
    transform: translateY(1px);
}

h1 { font-size: 2.25rem; font-weight: 500;}/*36px*/
h2, .map_h3 { font-size: 2.125rem; font-weight: 400;}/*34px*/
.h3_big { font-size: 1.875rem; font-weight: 400;}/*30px*/
h3, .hotel_name, .sightseeing_btn { font-size: 1.25rem;}/*20px*/
h4 { font-size: 1.25rem;}/*20px*/
h5, #QandA h2, .time_required_list li p, p.minits { font-size: 1.125rem;}/*18px*/
.text_l { font-size: 1.125rem;}/*18px*/
p, header, .f_menu_txt { font-size: 1rem;}/*16px*/
.text_s,.lang-list, #CrumbList, .sdgs_txt, .transfer { font-size: 0.875rem;}/*14px*/
figcaption, .annotation, .ann, small { font-size: 0.75rem; letter-spacing: 0;}/*12px*/

.h3_en { font-size: 1.5rem; font-weight: 300; font-family: var(--fontCiz);}/*24px*/
.h3_jp { font-size: 2.5rem; font-weight: 300;}/*40px*/
.intro_item_txt, .time_required_h3 { font-size: 1.5rem; font-weight: 300;}/*24px*/
.h28 { font-size: 1.75rem; font-weight: 300; }/*28px*/

figure {position:relative;}
figure img {width:100%;}
figure figcaption {position:absolute;}
figure figcaption.lb_cap {
    left: .5vw;
  bottom: .7vw;
    color:#000;
    text-shadow: 1px 1px 2px rgba(255, 255, 255, 1),-1px -1px 2px rgba(255, 255, 255, 1);
}
figure figcaption.lw_cap {
  left: .5vw;
  bottom: .7vw;
  color:#fff;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 1),-1px -1px 2px rgba(0, 0, 0, 1);
}
figure figcaption.rb_cap {
  right: .5vw;
  bottom: .7vw;
  color:#000;
  text-shadow: 1px 1px 2px rgba(255, 255, 255, 1),-1px -1px 2px rgba(255, 255, 255, 1);
}
figure figcaption.rw_cap {
  right: .5vw;
  bottom: .7vw;
  color:#fff;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 1),-1px -1px 2px rgba(0, 0, 0, 1);
}

.flex_center {
    display: flex;
    justify-content: center;
    align-items: center;
}
.flex_start {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}
.flex_between {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.ann {
    font-family: var(--fontJp);
}
sup {
    font-size: 60%;
    vertical-align: text-top;
}
button:hover {
    cursor: pointer;
}

/* --------------------- */
/* 1300 */
/* --------------------- */
@media screen and (max-width: 1300px) {

h1, .h3_jp { font-size: clamp(1.875rem, 0.634rem + 2.59vw, 2.25rem);}/*36px*/
h2, .map_h3 { font-size: clamp(1.75rem, 0.405rem + 2.15vw, 2.125rem);}/*34px*/
.h3_big { font-size: clamp(1.625rem, 1.353rem + 0.43vw, 1.875rem) }
h3, .h3_en, .hotel_name, .sightseeing_btn { font-size: clamp(1.125rem, 0.711rem + 0.86vw, 1.25rem);}/*20px*/
h4 { font-size: clamp(1.125rem, 0.711rem + 0.86vw, 1.25rem);}/*20px*/
h5, #QandA h2, .time_required_list li p, p.minits { font-size: clamp(1rem, 0.586rem + 0.86vw, 1.125rem);}/*18px*/
.text_l { font-size: clamp(1rem, 0.586rem + 0.86vw, 1.125rem);}/*18px*/
p, header, .f_menu_txt { font-size: clamp(0.875rem, 0.461rem + 0.86vw, 1rem);}/*16px*/
.text_s,.lang-list, #CrumbList, .sdgs_txt, .transfer { font-size: clamp(0.75rem, 0.336rem + 0.86vw, 0.875rem);}/*14px*/
figcaption, .annotation, .ann, small { font-size: clamp(0.625rem, 0.211rem + 0.86vw, 0.75rem);}/*12px*/

.intro_item_txt, .time_required_h3 { font-size: clamp(1.375rem, 0.929rem + 0.71vw, 1.5rem);}/*24px*/
.h28 { font-size: clamp(1.5rem, 0.607rem + 1.43vw, 1.75rem); font-weight: 300; }/*28px*/

}


/* --------------------- */
/* 1000 */
/* --------------------- */
@media screen and (max-width: 1000px) {

.tb {
    display: block;
}

h1, .h3_jp { font-size: clamp(1.875rem, 0.634rem + 2.59vw, 2.25rem);}/*36px*/
h2, .map_h3 { font-size: clamp(1.625rem, -0.03rem + 3.45vw, 2.125rem);}/*30px*/
.h3_big { font-size: clamp(1.625rem, 1.211rem + 0.86vw, 1.75rem); }/*28px*/
h3, .h3_en, .hotel_name, .sightseeing_btn { font-size: clamp(1.125rem, 0.711rem + 0.86vw, 1.25rem);}/*20px*/
h4 { font-size: clamp(1.125rem, 0.711rem + 0.86vw, 1.25rem);}/*20px*/
h5, #QandA h2, .time_required_list li p, p.minits { font-size: clamp(1rem, 0.586rem + 0.86vw, 1.125rem);}/*18px*/
.text_l { font-size: clamp(1rem, 0.586rem + 0.86vw, 1.125rem);}/*18px*/
p, header, .f_menu_txt { font-size: clamp(0.875rem, 0.461rem + 0.86vw, 1rem);}/*16px*/
.text_s,.lang-list, #CrumbList, .sdgs_txt, .transfer { font-size: clamp(0.75rem, 0.336rem + 0.86vw, 0.875rem);}/*14px*/
figcaption, .annotation, .ann, small { font-size: clamp(0.625rem, 0.211rem + 0.86vw, 0.75rem);}/*12px*/

.intro_item_txt, .time_required_h3 { font-size: clamp(1.375rem, 0.961rem + 0.86vw, 1.5rem);}/*24px*/
.h28 { font-size: clamp(1.5rem, 0.672rem + 1.72vw, 1.75rem); font-weight: 300; }/*28px*/

}

/* --------------------- */
/* sp */
/* --------------------- */
@media screen and (max-width: 767px) {

.tb {
    display: none;
}
.sp,
.tb.sp {
    display: block;
}
.pc {
    display: none;
}

h1, .h3_jp { font-size: clamp(1.625rem, 1.465rem + 0.85vw, 1.875rem);}/*30px*/
.h3_big { font-size: clamp(1.625rem, 1.211rem + 0.86vw, 1.75rem) }/*28px*/
h2, .map_h3 { font-size: clamp(1.5rem, 1.339rem + 0.86vw, 1.75rem);}/*26px*/
h3, .h3_en, .hotel_name, .sightseeing_btn { font-size: clamp(1.125rem, 0.965rem + 0.85vw, 1.375rem);}/*22px*/
h4 { font-size: clamp(1.125rem, 0.965rem + 0.85vw, 1.375rem);}/*22px*/
h5, #QandA h2, .time_required_list li p, p.minits { font-size: clamp(1rem, 0.84rem + 0.85vw, 1.25rem);}/*20px*/
.text_l { font-size: clamp(1rem, 0.84rem + 0.85vw, 1.25rem);}/*20px*/
p, header { font-size: clamp(0.875rem, 0.715rem + 0.85vw, 1.125rem);}/*18px*/
.text_s,.lang-list, #CrumbList, .sdgs_txt, .transfer, .f_menu_txt { font-size: clamp(0.75rem, 0.59rem + 0.85vw, 1rem);}/*16px*/
figcaption, .annotation, .ann, small { font-size: clamp(0.625rem, 0.465rem + 0.85vw, 0.875rem);}/*14px*/

.intro_item_txt, .time_required_h3 { font-size: clamp(1.25rem, 1.131rem + 0.51vw, 1.375rem);}/*22px*/
.h28 { font-size: clamp(1.25rem, 1.04rem + 0.96vw, 1.5rem); font-weight: 300; }/*24px*/

figure figcaption.lb_cap,
figure figcaption.lw_cap {
  left: .5vw;
  bottom: 2vw;
}
figure figcaption.rb_cap,
figure figcaption.rw_cap {
  right: .5vw;
  bottom: 2vw;
}

}
