@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%;
	scroll-behavior: smooth;
}

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%;
	display: block;
}

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 */
	--f44-size: clamp(1.875rem, 1.512rem + 1.55vw, 2.75rem);/* 30px〜44px */
  --f32-size: clamp(1.375rem, 1.116rem + 1.1vw, 2rem);/* 22px〜32px */	
  --f30-size: clamp(1.25rem, 0.991rem + 1.1vw, 1.875rem);/* 20px〜30px */	
  --f26-size: clamp(1.375rem, 1.271rem + 0.44vw, 1.625rem);/* 22px〜26px */	
  --f24-size: clamp(1.25rem, 1.146rem + 0.44vw, 1.5rem);/* 20px〜24px */	
  --f22-size: clamp(1.125rem, 1.021rem + 0.44vw, 1.375rem);/* 18px〜22px */	
  --f20-size: clamp(1.125rem, 1.073rem + 0.22vw, 1.25rem);/* 18px〜20px */
	
	/* テキストサイズ */
  --f18-size: clamp(1rem, 0.948rem + 0.22vw, 1.125rem);/* 16px〜18px */
  --f16-size: clamp(0.875rem, 0.823rem + 0.22vw, 1rem);/* 16px〜14px */
  --f14-size: clamp(0.75rem, 0.698rem + 0.22vw, 0.875rem);/* 14px〜12px */

	/* font-family */
	/* ゴシック体 */
  --font-gothic: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Arial, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Helvetica Neue", sans-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-green: #008325;	
	--color-bluegreen: #008780;
	--color-orange: #ff8400;
	
	--color-lightblue: #0066CC;
	--color-red: #D20C0C;
	--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%));
}

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

.mar_top10 {margin-top: 10px;}
.mar_top20 {margin-top: 20px;}
.mar_top50 {margin-top: 50px;}
.mar_top80 {margin-top: 80px;}
.mar_top100 {margin-top: 100px;}
.mar_bottom10 {margin-bottom: 10px;}
.mar_bottom20 {margin-bottom: 20px;}
.mar_bottom50 {margin-bottom: 50px;}
.mar_bottom80 {margin-bottom: 80px;}
.mar_bottom100 {margin-bottom: 100px;}

.pad_top10 {padding-top: 10px;}
.pad_top20 {padding-top: 20px;}
.pad_top50 {padding-top: 50px;}
.pad_top80 {padding-top: 80px;}
.pad_top100 {padding-top: 100px;}
.pad_bottom10 {padding-bottom: 10px;}
.pad_bottom20 {padding-bottom: 20px;}
.pad_bottom50 {padding-bottom: 50px;}
.pad_bottom80 {padding-bottom: 80px;}
.pad_bottom100 {padding-bottom: 100px;}

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

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

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