@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: var(--font-gothic);
	line-height: 1.7;
	color: #000;
}

a {
	color: #333;
	text-decoration: none;
}

a:hover {
	color: var(--color-lightblue);
	text-decoration: none;
}

img {
	width: 100%;
}

img, a img {
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

h1, h2, h3, h4, h5 {
  line-height: 1.4;
}

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 */
	--f100-size: clamp(3rem, 1.653rem + 5.75vw, 6.25rem);/* 100px〜48px */
	--f72-size: clamp(2.625rem, 1.848rem + 3.31vw, 4.5rem);/* 72px〜42px */
  --f62-size: clamp(2.25rem, 1.577rem + 2.87vw, 3.875rem);/* 64px〜36x */
	--f48-size: clamp(2.625rem, 2.47rem + 0.66vw, 3rem);/* 48px〜42px */
	--f42-size: clamp(2.25rem, 2.095rem + 0.66vw, 2.625rem);/* 42px〜36px */
  --f36-size: clamp(2rem, 1.896rem + 0.44vw, 2.25rem);/* 36px〜32px */
  --f32-size: clamp(1.875rem, 1.823rem + 0.22vw, 2rem);/* 32px〜30px */
  --f30-size: clamp(1.75rem, 1.698rem + 0.22vw, 1.875rem);/* 30px〜28px */
  --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 */

	/* font-family */
	/* ゴシック対 */
  --font-gothic: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Arial, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Helvetica Neue", sans-serif;
  /* 明朝体 */
	--font-mincho: YakuHanRP, "Shippori Mincho", serif;

	/* Font weight */
	--font-regular: 400;
	--font-medium: 500;
	--font-bold: 700;

	/* カラー */
	--color-yellow: #FFFF00;
	--color-babyblue: #DEEDF5;
	--color-babyblue-rgb: 222,2237,245;
	--color-paleblue: #B4D7E8;
	--color-paleblue-rgb: 180, 215, 232;
	--color-blue: #1D4291;
	--color-lightblue: #0066CC;
	--color-cyan: #14A0DC;
	--color-whitesmoke: #E2E2E2;
	--color-lightgray: #CCCCCC;
	--color-gray: #777777;
	--color-darkgray: #333333;
	--color-black: #000000;
	--color-black-rgb: 0, 0, 0;
	--color-white: #FFFFFF;
	--color-white-rgb: 255, 255, 255;

	--color-gradation: #2CCCDB;
	--color-gradation2: #1E51AD;
	--gradation1: linear-gradient(135deg,var(--color-gradation),var(--color-gradation2));
	--gradation1-rgb: linear-gradient(135deg,rgb(44 204 219 / 100%),rgb(30 81 173 / 100%));
}

h1 {
	font-size: var(--f32-size);
  font-weight: bold;
}

h2 {
	font-size: var(--f24-size);
  font-weight: bold;
}

h3 {
	font-size: var(--f22-size);
  font-weight: bold;
}

h4 {
	font-size: var(--f18-size);
  font-weight: bold;
}

p, li, th, td {
	font-size: var(--f16-size);
  text-align: justify;
}

/* テキスト縮小 */
.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: bold; }

/* 〜767px（スマホ＆タブレット用）
---------------------------*/
@media (max-width: 767px) {
  /* 表示 */
  br.sp, .sp_only {
		display: block;
	}
	/* 非表示 */
	br.pc {
		display: none;
	}
}

/* 768px〜（スマホ＆タブレット用）
---------------------------*/
@media (min-width: 768px) {
	/* 非表示 */
  br.sp, .sp_only {
		display: none;
	}
	/* 表示 */
	br.pc {
		display: block;
	}
}

/* 960px〜（タブレット＆PC用）
---------------------------*/
@media (min-width: 960px) {
  img {
    width: auto;
  }
}