@charset "UTF-8";

:root {
	--font-family-Zen-Go:YakuHanJP,"Zen Kaku Gothic New", sans-serif;
	--font-family-Zen-Maru-Go: YakuHanJP, "Zen Maru Gothic", sans-serif;
	--font-family-Zen-Mi:YakuHanMP,"Zen Old Mincho", serif;
	--font-family-Jost:YakuHanJP,"Jost", sans-serif;	
	--font-family-Noto-Sans:YakuHanJP, "Noto Sans JP", sans-serif;
	--font-family-Noto-Serif:YakuHanMP ,"Noto Serif JP", serif;	
	

 	--font-size-xl: clamp(2.4rem, 1.943rem + 0.95vw, 2.8rem);
 	--font-size-lg: clamp(2rem, 1.114rem + 1.43vw, 2.4rem);
 	--font-size-md :clamp(1.6rem, 1.143rem + 0.95vw, 2rem);
	--font-size-base:clamp(1.4rem, 1.171rem + 0.48vw, 1.6rem);
 	--font-size-sm: clamp(1.3rem, 1.186rem + 0.24vw, 1.4rem);
 	--font-size-xs:;
 	--font-size-xxs:;

	--color-orange:#FF5611;
	--color-green:#2EB6AA;
	--color-sand:#FFFCEB;
	--color-beige:#F0ECCD;
	--color-navy:#0B2E5E;
	--color-miffy:#FFC80B;
	--color-white: #fff;
	--color-black:#000;
	--color-dialog-menu-btn: #fff;	
	--color-dialog-menu-bg:#fff;	
	--color-dialog-menu-link:#fff;	

	--color-htb-ticket:#ff5611;
	--color-htb-enjoy:#42ab6a;
	--color-htb-event:#3399cc;
	--color-htb-gourmet:;	
	--color-htb-shopping:;
	--color-htb-hotels:#2eb6aa;
	--color-htb-background:#fbf9ef;

	/*--align--*/
	--align-center:center;
	--align-center-sp:center;
	--align-left:left;
	--align-left-sp:left;

	--layout-space-section:6rem;/*section縦の余白*/
	--layout-space-base-horizontal:2.4rem;/*横の余白*/
	--layout-space-base-vrtical:4.8rem;/*縦の余白*/
	--layout-space:1.2rem;
}

@media screen and (min-width: 1025px) {
	:root {
		--layout-space:2.4rem;
		--layout-space-base-horizontal:4.8rem;
	}
}


/* ======================================================================
   Minimal Reset (safe & practical)
   - 余計に壊さず、UA差分が出やすい所だけ整える
   - フォーム/画像/タイポ/レイアウトの最低限
   ====================================================================== */

/* 1) Box sizing */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* 2) Remove default margin */
html, body,
h1, h2, h3, h4, h5, h6,
p, figure, blockquote,
dl, dd,
ul, ol,
pre {
  margin: 0;
}

/* 3) Base typography & rendering */
html {
  -webkit-text-size-adjust: 100%; /* iOSで勝手に文字拡大を抑制 */
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* 4) List reset (必要ならclassで戻せる前提) */
ul, ol {
  padding: 0;
  list-style: none;
}

/* 5) Media elements */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* 6) Links */
a {
  color: inherit;
  text-decoration: none;
}


/* 7) Form elements (フォント/サイズ差分を潰す) */
button, input, textarea, select {
  font: inherit;
  color: inherit;
}
button, select {
  cursor: pointer;
}
button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  cursor: not-allowed;
}

/* 8) Text overflow safety (フォームや長文で崩れにくく) */
textarea {
  resize: vertical;
}

/* 9) Table */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* 10) Reduce motion (アクセシビリティ) */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* 11)  button */
button{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  cursor: pointer;
    border: 0;
    outline: none;
}

