@charset "UTF-8";

/*---------------------------
 リセット
---------------------------*/
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;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { display: block; }

body { line-height: 1; }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
	container: '';
	container: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* 全体設定
---------------------------*/
*, *:before, *:after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
}

body {
	/* font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; */
	font-family: "Roboto", sans-serif;
	font-weight: var(--font-regular);
	font-style: normal;
	line-height: 1.4;
	color: #333;
}

a {
	color: #333;
	text-decoration: none;
}

a:hover {
	color: #145AB4;
	text-decoration: none;
}

img {
	width: 100%;
}

img, a img {
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

h1, h2, h3, h4, h5, li {
  line-height: 1.2;
}

h1, h2, h3, h4, h5,
p, li, dt, dd, th, td {
	font-feature-settings: "palt";
	/* word-wrap: break-word; */
}

/* :rootのCSS変数の宣言 */
:root {
	/* VIEWPORT：1280px〜375px */
	
	/* タイトルサイズ VIEWPORT：1280px〜375px */
  --f32-size: clamp(1.5rem, 1.293rem + 0.88vw, 2rem);/* 32px〜24px */
  --f28-size: clamp(1.5rem, 1.396rem + 0.44vw, 1.75rem);/* 28px〜24px */
  --f24-size: clamp(1.25rem, 0.875rem + 0.78vw, 1.5rem);/* 24px〜20px */
  --f22-size: clamp(1.125rem, 0.75rem + 0.78vw, 1.375rem);/* 22px〜18px */
  --f20-size: clamp(1.125rem, 1.073rem + 0.22vw, 1.25rem);/* 20px〜18px */
	
	/* テキストサイズ */
  --f18-size: clamp(1.063rem, 1.037rem + 0.11vw, 1.125rem);/* 18px〜17px */
  --f17-size: clamp(1rem, 0.974rem + 0.11vw, 1.063rem);/* 17px〜16px */
  --f16-size: clamp(0.938rem, 0.912rem + 0.11vw, 1rem);/* 16px〜15px */
  --f15-size: clamp(0.875rem, 0.849rem + 0.11vw, 0.938rem);/* 15px〜14px */
  --f14-size: clamp(0.813rem, 0.787rem + 0.11vw, 0.875rem);/* 14px〜13px */
  --f13-size: clamp(0.75rem, 0.724rem + 0.11vw, 0.813rem);/* 13px〜12px */
	--f12-size: clamp(0.688rem, 0.662rem + 0.11vw, 0.75rem);/* 12px〜11px */
	--f11-size: clamp(0.625rem, 0.599rem + 0.11vw, 0.688rem);/* 11px〜10px */
	
	/* カラー */
	--color-pink: #FF6779;
	--color-hotpink: #D3104B;
	--color-red: #D80012;
	--color-darkred: #BB0019;
	--color-orange: #E0803A;
	--color-skin: #f8E6D0;
	--color-lightyellow: #FFFCDB;
	--color-yellow: #FFFF00;
	--color-ocher: #E9C242;
	--color-green: #06C055;
	--color-forestgreen: #3D9584;
	--color-aliceblue: #EFF4FC;
	--color-babyblue: #C5E1FF;
	--color-blue: #145AB4;
	--color-lightblue: #0066CC;
	--color-cyan: #3498DB;
	--color-whitesmoke: #E2E2E2;
	--color-lightgray: #CCCCCC;
	--color-gray: #777777;
	--color-darkgray: #333333;
	--color-black: #000000;
	--color-white: #FFFFFF;

	/* Font */
	--font-regular: 400;
	--font-medium: 500;
	--font-bold: 700;
}


h1 {
	font-size: var(--f32-size);
  font-weight: var(--font-medium);
}

h2 {
	font-size: var(--f24-size);
  font-weight: var(--font-medium);
}

h3 {
	font-size: var(--f22-size);
  font-weight: var(--font-medium);
}

h4 {
	font-size: var(--f18-size);
  font-weight: var(--font-medium);
}

p, li, th, td {
	font-size: var(--f16-size);
	font-weight: var(--font-regular);
  /* text-align: justify; */
}

/* マージンTtop値 */
.mt-1 { margin-top: 10px; }
.mt-2 { margin-top: 20px; }
.mt-3 { margin-top: 30px; }
.mt-4 { margin-top: 40px; }
.mt-5 { margin-top: 50px; }
.mt-6 { margin-top: 60px; }
.mt-7 { margin-top: 70px; }
.mt-8 { margin-top: 80px; }
.mt-6 { margin-top: 90px; }
.mt-10 { margin-top: 100px; }

/* マージbottom値 */
.mb-1 { margin-bottom: 10px; }
.mb-2 { margin-bottom: 20px; }
.mb-3 { margin-bottom: 30px; }
.mb-4 { margin-bottom: 40px; }
.mb-5 { margin-bottom: 50px; }
.mb-6 { margin-bottom: 60px; }
.mb-7 { margin-bottom: 70px; }
.mb-8 { margin-bottom: 80px; }
.mb-6 { margin-bottom: 90px; }
.mb-10 { margin-bottom: 100px; }

/* テキスト方向 */
.p-center {
  text-align: center;
}

.p-right {
  text-align: right;
}

/* テキスト縮小 */
.f-size90 {
  font-size: 90%;
}

.f-size80 {
  font-size: 80%;
}

.f-size75 {
  font-size: 75%;
}

.f-size70 {
  font-size: 70%;
}

.f-size60 {
  font-size: 60%;
}

.f-bold {
  font-weight: var(--font-medium);
}

/* 〜767px（スマホ＆タブレット用）
---------------------------*/
@media (max-width: 767px) {
  /* 表示 */
  br.sp {
		display: block;
	}
	/* 非表示 */
	br.pc {
		display: none;
	}
}

/* 〜959px（スマホ＆タブレット用）
---------------------------*/
@media (max-width: 959px) {
  /* サイズ縮小 */
  .sp-wid-90 { width: 90%; }
  .sp-wid-80 { width: 80%; }
  .sp-wid-70 { width: 70%; }
  .sp-wid-60 { width: 60%; }
  .sp-wid-50 { width: 50%; }
}

/* 768px〜（スマホ＆タブレット用）
---------------------------*/
@media (min-width: 768px) {
	/* 非表示 */
  br.sp {
		display: none;
	}
	/* 表示 */
	br.pc {
		display: block;
	}
}

/* 960px〜（タブレット＆PC用）
---------------------------*/
@media (min-width: 960px) {
  img {
    width: auto;
  }
}