@charset "UTF-8";


:root {


	--color-white: #fff;
	--color-black:#332B31;

	--color-dialog-menu-btn: #fff;
	--color-dialog-menu-bg: var(--bg-warm, #fdfbfa);
	--color-dialog-menu-link: var(--color-text, #3a2e32);	


	--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-family-LINE-bold:YakuHanJP,"LINE Seed Bold, sans-serif";
	--font-family-LINE-regular:YakuHanJP,"LINE Seed Regular, sans-serif";
	--font-family-LINE-thin:YakuHanJP,"LINE Seed Thin, sans-serif";
	
	--font-size-2xl:clamp(3rem, 1.457rem + 2.38vw, 3.6rem);
 	--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: clamp(1rem, 0.771rem + 0.48vw, 1.2rem);
 	--font-size-xxs:;
	
	--font-lineheight-120:120%;
	--font-lineheight-140:140%;
	--font-lineheight-150:150%;
	--font-lineheight-160:160%;
	--font-lineheight-170:170%;
	--font-lineheight-200:200%;

	--font-weight-primary:400;
	--font-weight-light:300;
	--font-weight-regular 400;
	--font-weight-mdium:500;
	--font-weight-bold:700;
	--font-weight-black:900;

	--align-center:center;
	--align-center-sp:center;
	--align-left:left;
	--align-left-sp:left;
	--align-right:right;
	--align-right-sp:right;

	--layout-space-section:6rem;/*section縦の余白*/
	--layout-space-base-horizontal:2.4rem;/*横の余白*/
	--layout-space-base-horizontal-small:1.6rem;/*横の余白*/
	--layout-space-base-vrtical:4.8rem;/*縦の余白*/
	--layout-space-sp:2rem;
}

/* モバイルファースト設計: PCでもSPレイアウトを維持 
@media screen and (min-width: 1025px) {
	:root {
		--layout-space-sp:0rem;
		--layout-space-section:10rem;
		--layout-space-base-horizontal:4.8rem;
		--layout-space-base-horizontal-small:1.6rem;
		--layout-space-base-vrtical:9.6rem;
	}
}
*/

@charset "UTF-8";
/*************************************

reset

*************************************/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	box-sizing: border-box;
	word-break: break-all;
}
html {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}
q, blockquote {
	quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
	content: "";
	content: none;
}
img, a {
	vertical-align: top;
	max-width: 100%;
}
img[src$=".svg"] {
	width: 100%;
	height: auto;
}
a {
	cursor: pointer;
}
a img {
	border: none;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}
strong {
	font-weight: bold;
}


html {
  font-size: 62.5%;
  height: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
html {
  scroll-behavior: smooth;
}
html {
  line-height: 1;
}

*, :before, :after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

* {
    min-height: 0;
    min-width: 0;
}



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;
  outline: none;
}

budoux-ja {
  /* 句読点や記号以外では改行しないようにする */
  word-break: keep-all;
  /* 画面幅を超える長い単語（URLなど）は、どこでも改行できるようにする */
  overflow-wrap: anywhere;
}



